@imgly/plugin-ai-apps-web 0.2.4 → 0.2.5
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/CHANGELOG.md +12 -0
- package/dist/index.mjs +46 -46
- package/dist/index.mjs.map +4 -4
- package/package.json +1 -2
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var Ag=typeof global=="object"&&global&&global.Object===Object&&global,Ml=Ag,Mg=typeof self=="object"&&self&&self.Object===Object&&self,jg=Ml||Mg||Function("return this")(),B=jg,Sg=B.Symbol,De=Sg,jl=Object.prototype,_g=jl.hasOwnProperty,$g=jl.toString,sr=De?De.toStringTag:void 0;function Eg(e){var t=_g.call(e,sr),r=e[sr];try{e[sr]=void 0;var i=!0}catch{}var n=$g.call(e);return i&&(t?e[sr]=r:delete e[sr]),n}var Lg=Eg,Tg=Object.prototype,Og=Tg.toString;function Ng(e){return Og.call(e)}var Dg=Ng,Pg="[object Null]",zg="[object Undefined]",pl=De?De.toStringTag:void 0;function Ug(e){return e==null?e===void 0?zg:Pg:pl&&pl in Object(e)?Lg(e):Dg(e)}var pr=Ug;function Rg(e){return e!=null&&typeof e=="object"}var Bn=Rg,QQ=Array.isArray;function Fg(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Sl=Fg,Vg="[object AsyncFunction]",Bg="[object Function]",Gg="[object GeneratorFunction]",qg="[object Proxy]";function Yg(e){if(!Sl(e))return!1;var t=pr(e);return t==Bg||t==Gg||t==Vg||t==qg}var Hg=Yg,Zg=B["__core-js_shared__"],Dn=Zg,gl=function(){var e=/[^.]+$/.exec(Dn&&Dn.keys&&Dn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qg(e){return!!gl&&gl in e}var Wg=Qg,Kg=Function.prototype,Jg=Kg.toString;function Xg(e){if(e!=null){try{return Jg.call(e)}catch{}try{return e+""}catch{}}return""}var be=Xg,ey=/[\\^$.*+?()[\]{}|]/g,ty=/^\[object .+?Constructor\]$/,ry=Function.prototype,iy=Object.prototype,ny=ry.toString,oy=iy.hasOwnProperty,ay=RegExp("^"+ny.call(oy).replace(ey,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ly(e){if(!Sl(e)||Wg(e))return!1;var t=Hg(e)?ay:ty;return t.test(be(e))}var sy=ly;function uy(e,t){return e?.[t]}var cy=uy;function dy(e,t){var r=cy(e,t);return sy(r)?r:void 0}var Pe=dy,py=Pe(B,"WeakMap"),zn=py;function gy(e,t){return e===t||e!==e&&t!==t}var yy=gy,fy=9007199254740991;function my(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=fy}var hy=my;var WQ=Object.prototype;var by="[object Arguments]";function vy(e){return Bn(e)&&pr(e)==by}var yl=vy,_l=Object.prototype,wy=_l.hasOwnProperty,ky=_l.propertyIsEnumerable,KQ=yl(function(){return arguments}())?yl:function(e){return Bn(e)&&wy.call(e,"callee")&&!ky.call(e,"callee")};var $l=typeof exports=="object"&&exports&&!exports.nodeType&&exports,fl=$l&&typeof module=="object"&&module&&!module.nodeType&&module,xy=fl&&fl.exports===$l,ml=xy?B.Buffer:void 0,JQ=ml?ml.isBuffer:void 0;var Iy="[object Arguments]",Cy="[object Array]",Ay="[object Boolean]",My="[object Date]",jy="[object Error]",Sy="[object Function]",_y="[object Map]",$y="[object Number]",Ey="[object Object]",Ly="[object RegExp]",Ty="[object Set]",Oy="[object String]",Ny="[object WeakMap]",Dy="[object ArrayBuffer]",Py="[object DataView]",zy="[object Float32Array]",Uy="[object Float64Array]",Ry="[object Int8Array]",Fy="[object Int16Array]",Vy="[object Int32Array]",By="[object Uint8Array]",Gy="[object Uint8ClampedArray]",qy="[object Uint16Array]",Yy="[object Uint32Array]",M={};M[zy]=M[Uy]=M[Ry]=M[Fy]=M[Vy]=M[By]=M[Gy]=M[qy]=M[Yy]=!0;M[Iy]=M[Cy]=M[Dy]=M[Ay]=M[Py]=M[My]=M[jy]=M[Sy]=M[_y]=M[$y]=M[Ey]=M[Ly]=M[Ty]=M[Oy]=M[Ny]=!1;function Hy(e){return Bn(e)&&hy(e.length)&&!!M[pr(e)]}var Zy=Hy;function Qy(e){return function(t){return e(t)}}var Wy=Qy,El=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ur=El&&typeof module=="object"&&module&&!module.nodeType&&module,Ky=ur&&ur.exports===El,Pn=Ky&&Ml.process,Jy=function(){try{var e=ur&&ur.require&&ur.require("util").types;return e||Pn&&Pn.binding&&Pn.binding("util")}catch{}}(),hl=Jy,bl=hl&&hl.isTypedArray,XQ=bl?Wy(bl):Zy;var Xy=Object.prototype,eW=Xy.hasOwnProperty;function ef(e,t){return function(r){return e(t(r))}}var tf=ef,tW=tf(Object.keys,Object);var rf=Object.prototype,rW=rf.hasOwnProperty;var nf=Pe(Object,"create"),cr=nf;function of(){this.__data__=cr?cr(null):{},this.size=0}var af=of;function lf(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var sf=lf,uf="__lodash_hash_undefined__",cf=Object.prototype,df=cf.hasOwnProperty;function pf(e){var t=this.__data__;if(cr){var r=t[e];return r===uf?void 0:r}return df.call(t,e)?t[e]:void 0}var gf=pf,yf=Object.prototype,ff=yf.hasOwnProperty;function mf(e){var t=this.__data__;return cr?t[e]!==void 0:ff.call(t,e)}var hf=mf,bf="__lodash_hash_undefined__";function vf(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=cr&&t===void 0?bf:t,this}var wf=vf;function ze(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ze.prototype.clear=af;ze.prototype.delete=sf;ze.prototype.get=gf;ze.prototype.has=hf;ze.prototype.set=wf;var vl=ze;function kf(){this.__data__=[],this.size=0}var xf=kf;function If(e,t){for(var r=e.length;r--;)if(yy(e[r][0],t))return r;return-1}var Vi=If,Cf=Array.prototype,Af=Cf.splice;function Mf(e){var t=this.__data__,r=Vi(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Af.call(t,r,1),--this.size,!0}var jf=Mf;function Sf(e){var t=this.__data__,r=Vi(t,e);return r<0?void 0:t[r][1]}var _f=Sf;function $f(e){return Vi(this.__data__,e)>-1}var Ef=$f;function Lf(e,t){var r=this.__data__,i=Vi(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Tf=Lf;function Ue(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ue.prototype.clear=xf;Ue.prototype.delete=jf;Ue.prototype.get=_f;Ue.prototype.has=Ef;Ue.prototype.set=Tf;var Bi=Ue,Of=Pe(B,"Map"),dr=Of;function Nf(){this.size=0,this.__data__={hash:new vl,map:new(dr||Bi),string:new vl}}var Df=Nf;function Pf(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var zf=Pf;function Uf(e,t){var r=e.__data__;return zf(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Gi=Uf;function Rf(e){var t=Gi(this,e).delete(e);return this.size-=t?1:0,t}var Ff=Rf;function Vf(e){return Gi(this,e).get(e)}var Bf=Vf;function Gf(e){return Gi(this,e).has(e)}var qf=Gf;function Yf(e,t){var r=Gi(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Hf=Yf;function Re(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Re.prototype.clear=Df;Re.prototype.delete=Ff;Re.prototype.get=Bf;Re.prototype.has=qf;Re.prototype.set=Hf;var Ll=Re;function Zf(){this.__data__=new Bi,this.size=0}var Qf=Zf;function Wf(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Kf=Wf;function Jf(e){return this.__data__.get(e)}var Xf=Jf;function em(e){return this.__data__.has(e)}var tm=em,rm=200;function im(e,t){var r=this.__data__;if(r instanceof Bi){var i=r.__data__;if(!dr||i.length<rm-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ll(i)}return r.set(e,t),this.size=r.size,this}var nm=im;function gr(e){var t=this.__data__=new Bi(e);this.size=t.size}gr.prototype.clear=Qf;gr.prototype.delete=Kf;gr.prototype.get=Xf;gr.prototype.has=tm;gr.prototype.set=nm;var om=Object.prototype,iW=om.propertyIsEnumerable;var am=Pe(B,"DataView"),Un=am,lm=Pe(B,"Promise"),Rn=lm,sm=Pe(B,"Set"),Fn=sm,wl="[object Map]",um="[object Object]",kl="[object Promise]",xl="[object Set]",Il="[object WeakMap]",Cl="[object DataView]",cm=be(Un),dm=be(dr),pm=be(Rn),gm=be(Fn),ym=be(zn),Ne=pr;(Un&&Ne(new Un(new ArrayBuffer(1)))!=Cl||dr&&Ne(new dr)!=wl||Rn&&Ne(Rn.resolve())!=kl||Fn&&Ne(new Fn)!=xl||zn&&Ne(new zn)!=Il)&&(Ne=function(e){var t=pr(e),r=t==um?e.constructor:void 0,i=r?be(r):"";if(i)switch(i){case cm:return Cl;case dm:return wl;case pm:return kl;case gm:return xl;case ym:return Il}return t});var nW=B.Uint8Array;var fm="__lodash_hash_undefined__";function mm(e){return this.__data__.set(e,fm),this}var hm=mm;function bm(e){return this.__data__.has(e)}var vm=bm;function Vn(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Ll;++t<r;)this.add(e[t])}Vn.prototype.add=Vn.prototype.push=hm;Vn.prototype.has=vm;var Al=De?De.prototype:void 0,oW=Al?Al.valueOf:void 0;var wm=Object.prototype,aW=wm.hasOwnProperty;var km=Object.prototype,lW=km.hasOwnProperty;var sW=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),uW=new RegExp(/[A-Fa-f0-9]{1}/,"g"),cW=new RegExp(/[A-Fa-f0-9]{2}/,"g");function xm(e){return e!==void 0}var Tl=xm;var Im=typeof global=="object"&&global&&global.Object===Object&&global,Zl=Im,Cm=typeof self=="object"&&self&&self.Object===Object&&self,Am=Zl||Cm||Function("return this")(),G=Am,Mm=G.Symbol,Ve=Mm,Ql=Object.prototype,jm=Ql.hasOwnProperty,Sm=Ql.toString,yr=Ve?Ve.toStringTag:void 0;function _m(e){var t=jm.call(e,yr),r=e[yr];try{e[yr]=void 0;var i=!0}catch{}var n=Sm.call(e);return i&&(t?e[yr]=r:delete e[yr]),n}var $m=_m,Em=Object.prototype,Lm=Em.toString;function Tm(e){return Lm.call(e)}var Om=Tm,Nm="[object Null]",Dm="[object Undefined]",Ol=Ve?Ve.toStringTag:void 0;function Pm(e){return e==null?e===void 0?Dm:Nm:Ol&&Ol in Object(e)?$m(e):Om(e)}var br=Pm;function zm(e){return e!=null&&typeof e=="object"}var Jn=zm,pW=Array.isArray;function Um(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Wl=Um,Rm="[object AsyncFunction]",Fm="[object Function]",Vm="[object GeneratorFunction]",Bm="[object Proxy]";function Gm(e){if(!Wl(e))return!1;var t=br(e);return t==Fm||t==Vm||t==Rm||t==Bm}var qm=Gm,Ym=G["__core-js_shared__"],Gn=Ym,Nl=function(){var e=/[^.]+$/.exec(Gn&&Gn.keys&&Gn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Hm(e){return!!Nl&&Nl in e}var Zm=Hm,Qm=Function.prototype,Wm=Qm.toString;function Km(e){if(e!=null){try{return Wm.call(e)}catch{}try{return e+""}catch{}}return""}var ve=Km,Jm=/[\\^$.*+?()[\]{}|]/g,Xm=/^\[object .+?Constructor\]$/,eh=Function.prototype,th=Object.prototype,rh=eh.toString,ih=th.hasOwnProperty,nh=RegExp("^"+rh.call(ih).replace(Jm,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function oh(e){if(!Wl(e)||Zm(e))return!1;var t=qm(e)?nh:Xm;return t.test(ve(e))}var ah=oh;function lh(e,t){return e?.[t]}var sh=lh;function uh(e,t){var r=sh(e,t);return ah(r)?r:void 0}var Be=uh,ch=Be(G,"WeakMap"),Hn=ch;function dh(e,t){return e===t||e!==e&&t!==t}var ph=dh,gh=9007199254740991;function yh(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=gh}var fh=yh,gW=Object.prototype,mh="[object Arguments]";function hh(e){return Jn(e)&&br(e)==mh}var Dl=hh,Kl=Object.prototype,bh=Kl.hasOwnProperty,vh=Kl.propertyIsEnumerable,yW=Dl(function(){return arguments}())?Dl:function(e){return Jn(e)&&bh.call(e,"callee")&&!vh.call(e,"callee")},Jl=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pl=Jl&&typeof module=="object"&&module&&!module.nodeType&&module,wh=Pl&&Pl.exports===Jl,zl=wh?G.Buffer:void 0,fW=zl?zl.isBuffer:void 0,kh="[object Arguments]",xh="[object Array]",Ih="[object Boolean]",Ch="[object Date]",Ah="[object Error]",Mh="[object Function]",jh="[object Map]",Sh="[object Number]",_h="[object Object]",$h="[object RegExp]",Eh="[object Set]",Lh="[object String]",Th="[object WeakMap]",Oh="[object ArrayBuffer]",Nh="[object DataView]",Dh="[object Float32Array]",Ph="[object Float64Array]",zh="[object Int8Array]",Uh="[object Int16Array]",Rh="[object Int32Array]",Fh="[object Uint8Array]",Vh="[object Uint8ClampedArray]",Bh="[object Uint16Array]",Gh="[object Uint32Array]",j={};j[Dh]=j[Ph]=j[zh]=j[Uh]=j[Rh]=j[Fh]=j[Vh]=j[Bh]=j[Gh]=!0;j[kh]=j[xh]=j[Oh]=j[Ih]=j[Nh]=j[Ch]=j[Ah]=j[Mh]=j[jh]=j[Sh]=j[_h]=j[$h]=j[Eh]=j[Lh]=j[Th]=!1;function qh(e){return Jn(e)&&fh(e.length)&&!!j[br(e)]}var Yh=qh;function Hh(e){return function(t){return e(t)}}var Zh=Hh,Xl=typeof exports=="object"&&exports&&!exports.nodeType&&exports,fr=Xl&&typeof module=="object"&&module&&!module.nodeType&&module,Qh=fr&&fr.exports===Xl,qn=Qh&&Zl.process,Wh=function(){try{var e=fr&&fr.require&&fr.require("util").types;return e||qn&&qn.binding&&qn.binding("util")}catch{}}(),Ul=Wh,Rl=Ul&&Ul.isTypedArray,mW=Rl?Zh(Rl):Yh,Kh=Object.prototype,hW=Kh.hasOwnProperty;function Jh(e,t){return function(r){return e(t(r))}}var Xh=Jh,bW=Xh(Object.keys,Object),eb=Object.prototype,vW=eb.hasOwnProperty,tb=Be(Object,"create"),mr=tb;function rb(){this.__data__=mr?mr(null):{},this.size=0}var ib=rb;function nb(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ob=nb,ab="__lodash_hash_undefined__",lb=Object.prototype,sb=lb.hasOwnProperty;function ub(e){var t=this.__data__;if(mr){var r=t[e];return r===ab?void 0:r}return sb.call(t,e)?t[e]:void 0}var cb=ub,db=Object.prototype,pb=db.hasOwnProperty;function gb(e){var t=this.__data__;return mr?t[e]!==void 0:pb.call(t,e)}var yb=gb,fb="__lodash_hash_undefined__";function mb(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=mr&&t===void 0?fb:t,this}var hb=mb;function Ge(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ge.prototype.clear=ib;Ge.prototype.delete=ob;Ge.prototype.get=cb;Ge.prototype.has=yb;Ge.prototype.set=hb;var Fl=Ge;function bb(){this.__data__=[],this.size=0}var vb=bb;function wb(e,t){for(var r=e.length;r--;)if(ph(e[r][0],t))return r;return-1}var qi=wb,kb=Array.prototype,xb=kb.splice;function Ib(e){var t=this.__data__,r=qi(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():xb.call(t,r,1),--this.size,!0}var Cb=Ib;function Ab(e){var t=this.__data__,r=qi(t,e);return r<0?void 0:t[r][1]}var Mb=Ab;function jb(e){return qi(this.__data__,e)>-1}var Sb=jb;function _b(e,t){var r=this.__data__,i=qi(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var $b=_b;function qe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}qe.prototype.clear=vb;qe.prototype.delete=Cb;qe.prototype.get=Mb;qe.prototype.has=Sb;qe.prototype.set=$b;var Yi=qe,Eb=Be(G,"Map"),hr=Eb;function Lb(){this.size=0,this.__data__={hash:new Fl,map:new(hr||Yi),string:new Fl}}var Tb=Lb;function Ob(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Nb=Ob;function Db(e,t){var r=e.__data__;return Nb(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Hi=Db;function Pb(e){var t=Hi(this,e).delete(e);return this.size-=t?1:0,t}var zb=Pb;function Ub(e){return Hi(this,e).get(e)}var Rb=Ub;function Fb(e){return Hi(this,e).has(e)}var Vb=Fb;function Bb(e,t){var r=Hi(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Gb=Bb;function Ye(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ye.prototype.clear=Tb;Ye.prototype.delete=zb;Ye.prototype.get=Rb;Ye.prototype.has=Vb;Ye.prototype.set=Gb;var es=Ye;function qb(){this.__data__=new Yi,this.size=0}var Yb=qb;function Hb(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Zb=Hb;function Qb(e){return this.__data__.get(e)}var Wb=Qb;function Kb(e){return this.__data__.has(e)}var Jb=Kb,Xb=200;function e0(e,t){var r=this.__data__;if(r instanceof Yi){var i=r.__data__;if(!hr||i.length<Xb-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new es(i)}return r.set(e,t),this.size=r.size,this}var t0=e0;function vr(e){var t=this.__data__=new Yi(e);this.size=t.size}vr.prototype.clear=Yb;vr.prototype.delete=Zb;vr.prototype.get=Wb;vr.prototype.has=Jb;vr.prototype.set=t0;var r0=Object.prototype,wW=r0.propertyIsEnumerable,i0=Be(G,"DataView"),Zn=i0,n0=Be(G,"Promise"),Qn=n0,o0=Be(G,"Set"),Wn=o0,Vl="[object Map]",a0="[object Object]",Bl="[object Promise]",Gl="[object Set]",ql="[object WeakMap]",Yl="[object DataView]",l0=ve(Zn),s0=ve(hr),u0=ve(Qn),c0=ve(Wn),d0=ve(Hn),Fe=br;(Zn&&Fe(new Zn(new ArrayBuffer(1)))!=Yl||hr&&Fe(new hr)!=Vl||Qn&&Fe(Qn.resolve())!=Bl||Wn&&Fe(new Wn)!=Gl||Hn&&Fe(new Hn)!=ql)&&(Fe=function(e){var t=br(e),r=t==a0?e.constructor:void 0,i=r?ve(r):"";if(i)switch(i){case l0:return Yl;case s0:return Vl;case u0:return Bl;case c0:return Gl;case d0:return ql}return t});var kW=G.Uint8Array,p0="__lodash_hash_undefined__";function g0(e){return this.__data__.set(e,p0),this}var y0=g0;function f0(e){return this.__data__.has(e)}var m0=f0;function Kn(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new es;++t<r;)this.add(e[t])}Kn.prototype.add=Kn.prototype.push=y0;Kn.prototype.has=m0;var Hl=Ve?Ve.prototype:void 0,xW=Hl?Hl.valueOf:void 0,h0=Object.prototype,IW=h0.hasOwnProperty,b0=Object.prototype,CW=b0.hasOwnProperty,AW=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),MW=new RegExp(/[A-Fa-f0-9]{1}/,"g"),jW=new RegExp(/[A-Fa-f0-9]{2}/,"g");var Zi=class ts{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new ts),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}};var v0="ly.img.ai";function rs(e){return`${v0}.${e}`}function is(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
1
|
+
var Kg=typeof global=="object"&&global&&global.Object===Object&&global,ts=Kg,Jg=typeof self=="object"&&self&&self.Object===Object&&self,Xg=ts||Jg||Function("return this")(),G=Xg,ef=G.Symbol,Ue=ef,rs=Object.prototype,tf=rs.hasOwnProperty,rf=rs.toString,cr=Ue?Ue.toStringTag:void 0;function nf(e){var t=tf.call(e,cr),r=e[cr];try{e[cr]=void 0;var i=!0}catch{}var n=rf.call(e);return i&&(t?e[cr]=r:delete e[cr]),n}var of=nf,af=Object.prototype,lf=af.toString;function sf(e){return lf.call(e)}var uf=sf,cf="[object Null]",df="[object Undefined]",Fl=Ue?Ue.toStringTag:void 0;function pf(e){return e==null?e===void 0?df:cf:Fl&&Fl in Object(e)?of(e):uf(e)}var fr=pf;function gf(e){return e!=null&&typeof e=="object"}var bo=gf,PW=Array.isArray;function ff(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var is=ff,yf="[object AsyncFunction]",mf="[object Function]",hf="[object GeneratorFunction]",bf="[object Proxy]";function vf(e){if(!is(e))return!1;var t=fr(e);return t==mf||t==hf||t==yf||t==bf}var wf=vf,kf=G["__core-js_shared__"],co=kf,Vl=function(){var e=/[^.]+$/.exec(co&&co.keys&&co.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xf(e){return!!Vl&&Vl in e}var If=xf,Cf=Function.prototype,Af=Cf.toString;function Mf(e){if(e!=null){try{return Af.call(e)}catch{}try{return e+""}catch{}}return""}var me=Mf,jf=/[\\^$.*+?()[\]{}|]/g,Sf=/^\[object .+?Constructor\]$/,_f=Function.prototype,Ef=Object.prototype,$f=_f.toString,Lf=Ef.hasOwnProperty,Tf=RegExp("^"+$f.call(Lf).replace(jf,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Of(e){if(!is(e)||If(e))return!1;var t=wf(e)?Tf:Sf;return t.test(me(e))}var Nf=Of;function Df(e,t){return e?.[t]}var Pf=Df;function zf(e,t){var r=Pf(e,t);return Nf(r)?r:void 0}var Re=zf,Uf=Re(G,"WeakMap"),go=Uf;function Rf(e,t){return e===t||e!==e&&t!==t}var Ff=Rf,Vf=9007199254740991;function Bf(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Vf}var Gf=Bf;var zW=Object.prototype;var qf="[object Arguments]";function Yf(e){return bo(e)&&fr(e)==qf}var Bl=Yf,ns=Object.prototype,Hf=ns.hasOwnProperty,Zf=ns.propertyIsEnumerable,UW=Bl(function(){return arguments}())?Bl:function(e){return bo(e)&&Hf.call(e,"callee")&&!Zf.call(e,"callee")};var os=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gl=os&&typeof module=="object"&&module&&!module.nodeType&&module,Qf=Gl&&Gl.exports===os,ql=Qf?G.Buffer:void 0,RW=ql?ql.isBuffer:void 0;var Wf="[object Arguments]",Kf="[object Array]",Jf="[object Boolean]",Xf="[object Date]",ey="[object Error]",ty="[object Function]",ry="[object Map]",iy="[object Number]",ny="[object Object]",oy="[object RegExp]",ay="[object Set]",ly="[object String]",sy="[object WeakMap]",uy="[object ArrayBuffer]",cy="[object DataView]",dy="[object Float32Array]",py="[object Float64Array]",gy="[object Int8Array]",fy="[object Int16Array]",yy="[object Int32Array]",my="[object Uint8Array]",hy="[object Uint8ClampedArray]",by="[object Uint16Array]",vy="[object Uint32Array]",S={};S[dy]=S[py]=S[gy]=S[fy]=S[yy]=S[my]=S[hy]=S[by]=S[vy]=!0;S[Wf]=S[Kf]=S[uy]=S[Jf]=S[cy]=S[Xf]=S[ey]=S[ty]=S[ry]=S[iy]=S[ny]=S[oy]=S[ay]=S[ly]=S[sy]=!1;function wy(e){return bo(e)&&Gf(e.length)&&!!S[fr(e)]}var ky=wy;function xy(e){return function(t){return e(t)}}var Iy=xy,as=typeof exports=="object"&&exports&&!exports.nodeType&&exports,dr=as&&typeof module=="object"&&module&&!module.nodeType&&module,Cy=dr&&dr.exports===as,po=Cy&&ts.process,Ay=function(){try{var e=dr&&dr.require&&dr.require("util").types;return e||po&&po.binding&&po.binding("util")}catch{}}(),Yl=Ay,Hl=Yl&&Yl.isTypedArray,FW=Hl?Iy(Hl):ky;var My=Object.prototype,VW=My.hasOwnProperty;function jy(e,t){return function(r){return e(t(r))}}var Sy=jy,BW=Sy(Object.keys,Object);var _y=Object.prototype,GW=_y.hasOwnProperty;var Ey=Re(Object,"create"),pr=Ey;function $y(){this.__data__=pr?pr(null):{},this.size=0}var Ly=$y;function Ty(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Oy=Ty,Ny="__lodash_hash_undefined__",Dy=Object.prototype,Py=Dy.hasOwnProperty;function zy(e){var t=this.__data__;if(pr){var r=t[e];return r===Ny?void 0:r}return Py.call(t,e)?t[e]:void 0}var Uy=zy,Ry=Object.prototype,Fy=Ry.hasOwnProperty;function Vy(e){var t=this.__data__;return pr?t[e]!==void 0:Fy.call(t,e)}var By=Vy,Gy="__lodash_hash_undefined__";function qy(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=pr&&t===void 0?Gy:t,this}var Yy=qy;function Fe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Fe.prototype.clear=Ly;Fe.prototype.delete=Oy;Fe.prototype.get=Uy;Fe.prototype.has=By;Fe.prototype.set=Yy;var Zl=Fe;function Hy(){this.__data__=[],this.size=0}var Zy=Hy;function Qy(e,t){for(var r=e.length;r--;)if(Ff(e[r][0],t))return r;return-1}var Qi=Qy,Wy=Array.prototype,Ky=Wy.splice;function Jy(e){var t=this.__data__,r=Qi(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ky.call(t,r,1),--this.size,!0}var Xy=Jy;function em(e){var t=this.__data__,r=Qi(t,e);return r<0?void 0:t[r][1]}var tm=em;function rm(e){return Qi(this.__data__,e)>-1}var im=rm;function nm(e,t){var r=this.__data__,i=Qi(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var om=nm;function Ve(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ve.prototype.clear=Zy;Ve.prototype.delete=Xy;Ve.prototype.get=tm;Ve.prototype.has=im;Ve.prototype.set=om;var Wi=Ve,am=Re(G,"Map"),gr=am;function lm(){this.size=0,this.__data__={hash:new Zl,map:new(gr||Wi),string:new Zl}}var sm=lm;function um(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var cm=um;function dm(e,t){var r=e.__data__;return cm(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Ki=dm;function pm(e){var t=Ki(this,e).delete(e);return this.size-=t?1:0,t}var gm=pm;function fm(e){return Ki(this,e).get(e)}var ym=fm;function mm(e){return Ki(this,e).has(e)}var hm=mm;function bm(e,t){var r=Ki(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var vm=bm;function Be(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Be.prototype.clear=sm;Be.prototype.delete=gm;Be.prototype.get=ym;Be.prototype.has=hm;Be.prototype.set=vm;var ls=Be;function wm(){this.__data__=new Wi,this.size=0}var km=wm;function xm(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Im=xm;function Cm(e){return this.__data__.get(e)}var Am=Cm;function Mm(e){return this.__data__.has(e)}var jm=Mm,Sm=200;function _m(e,t){var r=this.__data__;if(r instanceof Wi){var i=r.__data__;if(!gr||i.length<Sm-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new ls(i)}return r.set(e,t),this.size=r.size,this}var Em=_m;function yr(e){var t=this.__data__=new Wi(e);this.size=t.size}yr.prototype.clear=km;yr.prototype.delete=Im;yr.prototype.get=Am;yr.prototype.has=jm;yr.prototype.set=Em;var $m=Object.prototype,qW=$m.propertyIsEnumerable;var Lm=Re(G,"DataView"),fo=Lm,Tm=Re(G,"Promise"),yo=Tm,Om=Re(G,"Set"),mo=Om,Ql="[object Map]",Nm="[object Object]",Wl="[object Promise]",Kl="[object Set]",Jl="[object WeakMap]",Xl="[object DataView]",Dm=me(fo),Pm=me(gr),zm=me(yo),Um=me(mo),Rm=me(go),ze=fr;(fo&&ze(new fo(new ArrayBuffer(1)))!=Xl||gr&&ze(new gr)!=Ql||yo&&ze(yo.resolve())!=Wl||mo&&ze(new mo)!=Kl||go&&ze(new go)!=Jl)&&(ze=function(e){var t=fr(e),r=t==Nm?e.constructor:void 0,i=r?me(r):"";if(i)switch(i){case Dm:return Xl;case Pm:return Ql;case zm:return Wl;case Um:return Kl;case Rm:return Jl}return t});var YW=G.Uint8Array;var Fm="__lodash_hash_undefined__";function Vm(e){return this.__data__.set(e,Fm),this}var Bm=Vm;function Gm(e){return this.__data__.has(e)}var qm=Gm;function ho(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ls;++t<r;)this.add(e[t])}ho.prototype.add=ho.prototype.push=Bm;ho.prototype.has=qm;var es=Ue?Ue.prototype:void 0,HW=es?es.valueOf:void 0;var Ym=Object.prototype,ZW=Ym.hasOwnProperty;var Hm=Object.prototype,QW=Hm.hasOwnProperty;var WW=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),KW=new RegExp(/[A-Fa-f0-9]{1}/,"g"),JW=new RegExp(/[A-Fa-f0-9]{2}/,"g");function Zm(e){return e!==void 0}var ss=Zm;var Qm=typeof global=="object"&&global&&global.Object===Object&&global,Is=Qm,Wm=typeof self=="object"&&self&&self.Object===Object&&self,Km=Is||Wm||Function("return this")(),q=Km,Jm=q.Symbol,qe=Jm,Cs=Object.prototype,Xm=Cs.hasOwnProperty,eh=Cs.toString,mr=qe?qe.toStringTag:void 0;function th(e){var t=Xm.call(e,mr),r=e[mr];try{e[mr]=void 0;var i=!0}catch{}var n=eh.call(e);return i&&(t?e[mr]=r:delete e[mr]),n}var rh=th,ih=Object.prototype,nh=ih.toString;function oh(e){return nh.call(e)}var ah=oh,lh="[object Null]",sh="[object Undefined]",us=qe?qe.toStringTag:void 0;function uh(e){return e==null?e===void 0?sh:lh:us&&us in Object(e)?rh(e):ah(e)}var wr=uh;function ch(e){return e!=null&&typeof e=="object"}var jo=ch,eK=Array.isArray;function dh(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var As=dh,ph="[object AsyncFunction]",gh="[object Function]",fh="[object GeneratorFunction]",yh="[object Proxy]";function mh(e){if(!As(e))return!1;var t=wr(e);return t==gh||t==fh||t==ph||t==yh}var hh=mh,bh=q["__core-js_shared__"],vo=bh,cs=function(){var e=/[^.]+$/.exec(vo&&vo.keys&&vo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function vh(e){return!!cs&&cs in e}var wh=vh,kh=Function.prototype,xh=kh.toString;function Ih(e){if(e!=null){try{return xh.call(e)}catch{}try{return e+""}catch{}}return""}var he=Ih,Ch=/[\\^$.*+?()[\]{}|]/g,Ah=/^\[object .+?Constructor\]$/,Mh=Function.prototype,jh=Object.prototype,Sh=Mh.toString,_h=jh.hasOwnProperty,Eh=RegExp("^"+Sh.call(_h).replace(Ch,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $h(e){if(!As(e)||wh(e))return!1;var t=hh(e)?Eh:Ah;return t.test(he(e))}var Lh=$h;function Th(e,t){return e?.[t]}var Oh=Th;function Nh(e,t){var r=Oh(e,t);return Lh(r)?r:void 0}var Ye=Nh,Dh=Ye(q,"WeakMap"),xo=Dh;function Ph(e,t){return e===t||e!==e&&t!==t}var zh=Ph,Uh=9007199254740991;function Rh(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Uh}var Fh=Rh,tK=Object.prototype,Vh="[object Arguments]";function Bh(e){return jo(e)&&wr(e)==Vh}var ds=Bh,Ms=Object.prototype,Gh=Ms.hasOwnProperty,qh=Ms.propertyIsEnumerable,rK=ds(function(){return arguments}())?ds:function(e){return jo(e)&&Gh.call(e,"callee")&&!qh.call(e,"callee")},js=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ps=js&&typeof module=="object"&&module&&!module.nodeType&&module,Yh=ps&&ps.exports===js,gs=Yh?q.Buffer:void 0,iK=gs?gs.isBuffer:void 0,Hh="[object Arguments]",Zh="[object Array]",Qh="[object Boolean]",Wh="[object Date]",Kh="[object Error]",Jh="[object Function]",Xh="[object Map]",eb="[object Number]",tb="[object Object]",rb="[object RegExp]",ib="[object Set]",nb="[object String]",ob="[object WeakMap]",ab="[object ArrayBuffer]",lb="[object DataView]",sb="[object Float32Array]",ub="[object Float64Array]",cb="[object Int8Array]",db="[object Int16Array]",pb="[object Int32Array]",gb="[object Uint8Array]",fb="[object Uint8ClampedArray]",yb="[object Uint16Array]",mb="[object Uint32Array]",_={};_[sb]=_[ub]=_[cb]=_[db]=_[pb]=_[gb]=_[fb]=_[yb]=_[mb]=!0;_[Hh]=_[Zh]=_[ab]=_[Qh]=_[lb]=_[Wh]=_[Kh]=_[Jh]=_[Xh]=_[eb]=_[tb]=_[rb]=_[ib]=_[nb]=_[ob]=!1;function hb(e){return jo(e)&&Fh(e.length)&&!!_[wr(e)]}var bb=hb;function vb(e){return function(t){return e(t)}}var wb=vb,Ss=typeof exports=="object"&&exports&&!exports.nodeType&&exports,hr=Ss&&typeof module=="object"&&module&&!module.nodeType&&module,kb=hr&&hr.exports===Ss,wo=kb&&Is.process,xb=function(){try{var e=hr&&hr.require&&hr.require("util").types;return e||wo&&wo.binding&&wo.binding("util")}catch{}}(),fs=xb,ys=fs&&fs.isTypedArray,nK=ys?wb(ys):bb,Ib=Object.prototype,oK=Ib.hasOwnProperty;function Cb(e,t){return function(r){return e(t(r))}}var Ab=Cb,aK=Ab(Object.keys,Object),Mb=Object.prototype,lK=Mb.hasOwnProperty,jb=Ye(Object,"create"),br=jb;function Sb(){this.__data__=br?br(null):{},this.size=0}var _b=Sb;function Eb(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var $b=Eb,Lb="__lodash_hash_undefined__",Tb=Object.prototype,Ob=Tb.hasOwnProperty;function Nb(e){var t=this.__data__;if(br){var r=t[e];return r===Lb?void 0:r}return Ob.call(t,e)?t[e]:void 0}var Db=Nb,Pb=Object.prototype,zb=Pb.hasOwnProperty;function Ub(e){var t=this.__data__;return br?t[e]!==void 0:zb.call(t,e)}var Rb=Ub,Fb="__lodash_hash_undefined__";function Vb(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=br&&t===void 0?Fb:t,this}var Bb=Vb;function He(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}He.prototype.clear=_b;He.prototype.delete=$b;He.prototype.get=Db;He.prototype.has=Rb;He.prototype.set=Bb;var ms=He;function Gb(){this.__data__=[],this.size=0}var qb=Gb;function Yb(e,t){for(var r=e.length;r--;)if(zh(e[r][0],t))return r;return-1}var Ji=Yb,Hb=Array.prototype,Zb=Hb.splice;function Qb(e){var t=this.__data__,r=Ji(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Zb.call(t,r,1),--this.size,!0}var Wb=Qb;function Kb(e){var t=this.__data__,r=Ji(t,e);return r<0?void 0:t[r][1]}var Jb=Kb;function Xb(e){return Ji(this.__data__,e)>-1}var e0=Xb;function t0(e,t){var r=this.__data__,i=Ji(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var r0=t0;function Ze(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ze.prototype.clear=qb;Ze.prototype.delete=Wb;Ze.prototype.get=Jb;Ze.prototype.has=e0;Ze.prototype.set=r0;var Xi=Ze,i0=Ye(q,"Map"),vr=i0;function n0(){this.size=0,this.__data__={hash:new ms,map:new(vr||Xi),string:new ms}}var o0=n0;function a0(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var l0=a0;function s0(e,t){var r=e.__data__;return l0(t)?r[typeof t=="string"?"string":"hash"]:r.map}var en=s0;function u0(e){var t=en(this,e).delete(e);return this.size-=t?1:0,t}var c0=u0;function d0(e){return en(this,e).get(e)}var p0=d0;function g0(e){return en(this,e).has(e)}var f0=g0;function y0(e,t){var r=en(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var m0=y0;function Qe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Qe.prototype.clear=o0;Qe.prototype.delete=c0;Qe.prototype.get=p0;Qe.prototype.has=f0;Qe.prototype.set=m0;var _s=Qe;function h0(){this.__data__=new Xi,this.size=0}var b0=h0;function v0(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var w0=v0;function k0(e){return this.__data__.get(e)}var x0=k0;function I0(e){return this.__data__.has(e)}var C0=I0,A0=200;function M0(e,t){var r=this.__data__;if(r instanceof Xi){var i=r.__data__;if(!vr||i.length<A0-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new _s(i)}return r.set(e,t),this.size=r.size,this}var j0=M0;function kr(e){var t=this.__data__=new Xi(e);this.size=t.size}kr.prototype.clear=b0;kr.prototype.delete=w0;kr.prototype.get=x0;kr.prototype.has=C0;kr.prototype.set=j0;var S0=Object.prototype,sK=S0.propertyIsEnumerable,_0=Ye(q,"DataView"),Io=_0,E0=Ye(q,"Promise"),Co=E0,$0=Ye(q,"Set"),Ao=$0,hs="[object Map]",L0="[object Object]",bs="[object Promise]",vs="[object Set]",ws="[object WeakMap]",ks="[object DataView]",T0=he(Io),O0=he(vr),N0=he(Co),D0=he(Ao),P0=he(xo),Ge=wr;(Io&&Ge(new Io(new ArrayBuffer(1)))!=ks||vr&&Ge(new vr)!=hs||Co&&Ge(Co.resolve())!=bs||Ao&&Ge(new Ao)!=vs||xo&&Ge(new xo)!=ws)&&(Ge=function(e){var t=wr(e),r=t==L0?e.constructor:void 0,i=r?he(r):"";if(i)switch(i){case T0:return ks;case O0:return hs;case N0:return bs;case D0:return vs;case P0:return ws}return t});var uK=q.Uint8Array,z0="__lodash_hash_undefined__";function U0(e){return this.__data__.set(e,z0),this}var R0=U0;function F0(e){return this.__data__.has(e)}var V0=F0;function Mo(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new _s;++t<r;)this.add(e[t])}Mo.prototype.add=Mo.prototype.push=R0;Mo.prototype.has=V0;var xs=qe?qe.prototype:void 0,cK=xs?xs.valueOf:void 0,B0=Object.prototype,dK=B0.hasOwnProperty,G0=Object.prototype,pK=G0.hasOwnProperty,gK=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),fK=new RegExp(/[A-Fa-f0-9]{1}/,"g"),yK=new RegExp(/[A-Fa-f0-9]{2}/,"g");var tn=class Es{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Es),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}};var q0="ly.img.ai";function $s(e){return`${q0}.${e}`}function Ls(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
2
2
|
Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
|
|
3
3
|
This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
|
|
4
|
-
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}var
|
|
4
|
+
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}var ko="@imgly/plugin-ai-generation",mK=`
|
|
5
5
|
<svg>
|
|
6
6
|
<symbol
|
|
7
7
|
fill="none"
|
|
@@ -19,7 +19,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
19
19
|
fill="none"
|
|
20
20
|
xmlns="http://www.w3.org/2000/svg"
|
|
21
21
|
viewBox="0 0 24 24"
|
|
22
|
-
id="${
|
|
22
|
+
id="${ko}/image"
|
|
23
23
|
>
|
|
24
24
|
<path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
|
|
25
25
|
<path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
|
|
@@ -31,7 +31,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
31
31
|
fill="none"
|
|
32
32
|
xmlns="http://www.w3.org/2000/svg"
|
|
33
33
|
viewBox="0 0 24 24"
|
|
34
|
-
id="${
|
|
34
|
+
id="${ko}/video"
|
|
35
35
|
>
|
|
36
36
|
<path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
|
|
37
37
|
<path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
|
|
@@ -42,7 +42,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
42
42
|
fill="none"
|
|
43
43
|
xmlns="http://www.w3.org/2000/svg"
|
|
44
44
|
viewBox="0 0 24 24"
|
|
45
|
-
id="${
|
|
45
|
+
id="${ko}/audio"
|
|
46
46
|
>
|
|
47
47
|
<path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
|
|
48
48
|
<path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
|
|
@@ -62,10 +62,10 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
62
62
|
|
|
63
63
|
</symbol>
|
|
64
64
|
</svg>
|
|
65
|
-
`;var w0=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,s)=>{let c=e.locale??"en",d="",p=[];s.label!=null&&typeof s.label=="object"&&s.label[c]&&(d=s.label[c]),s.tags!=null&&typeof s.tags=="object"&&s.tags[c]&&(p=s.tags[c]);let y={...s,label:d,tags:p};return this.filterAsset(y,e)&&u.push(y),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),l=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:l,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Qe(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Qe(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let l=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?l-u:u-l}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Qe(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Qe(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),l=e.label?.toLowerCase()??"",u=e.tags?.map(s=>s.toLowerCase())??[];if(!o.every(s=>l.includes(s)||u.some(c=>c.includes(s))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(l=>e.tags?.includes(l))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,l)=>{let u,s;return i==="id"?(u=o.id,s=l.id):(u=o.meta?.[i]??null,s=l.meta?.[i]??null),u==null?r==="Ascending"?-1:1:s==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof s=="string"?r==="Ascending"?u.localeCompare(s):s.localeCompare(u):r==="Ascending"?u<s?-1:u>s?1:0:u>s?-1:u<s?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,l)=>o.active&&!l.active?-1:!o.active&&l.active?1:0)),a}};function Qe(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Qe(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Qe(n,t,a)}return e}var k0=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let p=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,l=o+a,u=i.slice(o,l),s=l<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:s,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},x0=class{constructor(e,t){this.engine=e,this.key=t}hasData(e){return this.engine.block.isValid(e)&&this.engine.block.hasMetadata(e,this.key)}get(e){if(this.hasData(e))return JSON.parse(this.engine.block.getMetadata(e,this.key))}set(e,t){this.engine.block.setMetadata(e,this.key,JSON.stringify(t))}clear(e){this.engine.block.hasMetadata(e,this.key)&&this.engine.block.removeMetadata(e,this.key)}},zs=x0,I0=typeof global=="object"&&global&&global.Object===Object&&global,Us=I0,C0=typeof self=="object"&&self&&self.Object===Object&&self,A0=Us||C0||Function("return this")(),H=A0,M0=H.Symbol,We=M0,Rs=Object.prototype,j0=Rs.hasOwnProperty,S0=Rs.toString,wr=We?We.toStringTag:void 0;function _0(e){var t=j0.call(e,wr),r=e[wr];try{e[wr]=void 0;var i=!0}catch{}var n=S0.call(e);return i&&(t?e[wr]=r:delete e[wr]),n}var $0=_0,E0=Object.prototype,L0=E0.toString;function T0(e){return L0.call(e)}var O0=T0,N0="[object Null]",D0="[object Undefined]",ns=We?We.toStringTag:void 0;function P0(e){return e==null?e===void 0?D0:N0:ns&&ns in Object(e)?$0(e):O0(e)}var Lr=P0;function z0(e){return e!=null&&typeof e=="object"}var vo=z0,$W=Array.isArray;function U0(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Fs=U0,R0="[object AsyncFunction]",F0="[object Function]",V0="[object GeneratorFunction]",B0="[object Proxy]";function G0(e){if(!Fs(e))return!1;var t=Lr(e);return t==F0||t==V0||t==R0||t==B0}var q0=G0,Y0=H["__core-js_shared__"],Xn=Y0,os=function(){var e=/[^.]+$/.exec(Xn&&Xn.keys&&Xn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function H0(e){return!!os&&os in e}var Z0=H0,Q0=Function.prototype,W0=Q0.toString;function K0(e){if(e!=null){try{return W0.call(e)}catch{}try{return e+""}catch{}}return""}var ke=K0,J0=/[\\^$.*+?()[\]{}|]/g,X0=/^\[object .+?Constructor\]$/,e2=Function.prototype,t2=Object.prototype,r2=e2.toString,i2=t2.hasOwnProperty,n2=RegExp("^"+r2.call(i2).replace(J0,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function o2(e){if(!Fs(e)||Z0(e))return!1;var t=q0(e)?n2:X0;return t.test(ke(e))}var a2=o2;function l2(e,t){return e?.[t]}var s2=l2;function u2(e,t){var r=s2(e,t);return a2(r)?r:void 0}var Je=u2,c2=Je(H,"WeakMap"),lo=c2;function d2(e,t){return e===t||e!==e&&t!==t}var p2=d2,g2=9007199254740991;function y2(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=g2}var f2=y2,EW=Object.prototype,m2="[object Arguments]";function h2(e){return vo(e)&&Lr(e)==m2}var as=h2,Vs=Object.prototype,b2=Vs.hasOwnProperty,v2=Vs.propertyIsEnumerable,LW=as(function(){return arguments}())?as:function(e){return vo(e)&&b2.call(e,"callee")&&!v2.call(e,"callee")},Bs=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ls=Bs&&typeof module=="object"&&module&&!module.nodeType&&module,w2=ls&&ls.exports===Bs,ss=w2?H.Buffer:void 0,TW=ss?ss.isBuffer:void 0,k2="[object Arguments]",x2="[object Array]",I2="[object Boolean]",C2="[object Date]",A2="[object Error]",M2="[object Function]",j2="[object Map]",S2="[object Number]",_2="[object Object]",$2="[object RegExp]",E2="[object Set]",L2="[object String]",T2="[object WeakMap]",O2="[object ArrayBuffer]",N2="[object DataView]",D2="[object Float32Array]",P2="[object Float64Array]",z2="[object Int8Array]",U2="[object Int16Array]",R2="[object Int32Array]",F2="[object Uint8Array]",V2="[object Uint8ClampedArray]",B2="[object Uint16Array]",G2="[object Uint32Array]",S={};S[D2]=S[P2]=S[z2]=S[U2]=S[R2]=S[F2]=S[V2]=S[B2]=S[G2]=!0;S[k2]=S[x2]=S[O2]=S[I2]=S[N2]=S[C2]=S[A2]=S[M2]=S[j2]=S[S2]=S[_2]=S[$2]=S[E2]=S[L2]=S[T2]=!1;function q2(e){return vo(e)&&f2(e.length)&&!!S[Lr(e)]}var Y2=q2;function H2(e){return function(t){return e(t)}}var Z2=H2,Gs=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mr=Gs&&typeof module=="object"&&module&&!module.nodeType&&module,Q2=Mr&&Mr.exports===Gs,eo=Q2&&Us.process,W2=function(){try{var e=Mr&&Mr.require&&Mr.require("util").types;return e||eo&&eo.binding&&eo.binding("util")}catch{}}(),us=W2,cs=us&&us.isTypedArray,OW=cs?Z2(cs):Y2,K2=Object.prototype,NW=K2.hasOwnProperty;function J2(e,t){return function(r){return e(t(r))}}var X2=J2,DW=X2(Object.keys,Object),e4=Object.prototype,PW=e4.hasOwnProperty,t4=Je(Object,"create"),Sr=t4;function r4(){this.__data__=Sr?Sr(null):{},this.size=0}var i4=r4;function n4(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var o4=n4,a4="__lodash_hash_undefined__",l4=Object.prototype,s4=l4.hasOwnProperty;function u4(e){var t=this.__data__;if(Sr){var r=t[e];return r===a4?void 0:r}return s4.call(t,e)?t[e]:void 0}var c4=u4,d4=Object.prototype,p4=d4.hasOwnProperty;function g4(e){var t=this.__data__;return Sr?t[e]!==void 0:p4.call(t,e)}var y4=g4,f4="__lodash_hash_undefined__";function m4(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Sr&&t===void 0?f4:t,this}var h4=m4;function Xe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Xe.prototype.clear=i4;Xe.prototype.delete=o4;Xe.prototype.get=c4;Xe.prototype.has=y4;Xe.prototype.set=h4;var ds=Xe;function b4(){this.__data__=[],this.size=0}var v4=b4;function w4(e,t){for(var r=e.length;r--;)if(p2(e[r][0],t))return r;return-1}var Ji=w4,k4=Array.prototype,x4=k4.splice;function I4(e){var t=this.__data__,r=Ji(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():x4.call(t,r,1),--this.size,!0}var C4=I4;function A4(e){var t=this.__data__,r=Ji(t,e);return r<0?void 0:t[r][1]}var M4=A4;function j4(e){return Ji(this.__data__,e)>-1}var S4=j4;function _4(e,t){var r=this.__data__,i=Ji(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var $4=_4;function et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}et.prototype.clear=v4;et.prototype.delete=C4;et.prototype.get=M4;et.prototype.has=S4;et.prototype.set=$4;var Xi=et,E4=Je(H,"Map"),_r=E4;function L4(){this.size=0,this.__data__={hash:new ds,map:new(_r||Xi),string:new ds}}var T4=L4;function O4(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var N4=O4;function D4(e,t){var r=e.__data__;return N4(t)?r[typeof t=="string"?"string":"hash"]:r.map}var en=D4;function P4(e){var t=en(this,e).delete(e);return this.size-=t?1:0,t}var z4=P4;function U4(e){return en(this,e).get(e)}var R4=U4;function F4(e){return en(this,e).has(e)}var V4=F4;function B4(e,t){var r=en(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var G4=B4;function tt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}tt.prototype.clear=T4;tt.prototype.delete=z4;tt.prototype.get=R4;tt.prototype.has=V4;tt.prototype.set=G4;var qs=tt;function q4(){this.__data__=new Xi,this.size=0}var Y4=q4;function H4(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Z4=H4;function Q4(e){return this.__data__.get(e)}var W4=Q4;function K4(e){return this.__data__.has(e)}var J4=K4,X4=200;function e5(e,t){var r=this.__data__;if(r instanceof Xi){var i=r.__data__;if(!_r||i.length<X4-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new qs(i)}return r.set(e,t),this.size=r.size,this}var t5=e5;function Tr(e){var t=this.__data__=new Xi(e);this.size=t.size}Tr.prototype.clear=Y4;Tr.prototype.delete=Z4;Tr.prototype.get=W4;Tr.prototype.has=J4;Tr.prototype.set=t5;var r5=Object.prototype,zW=r5.propertyIsEnumerable,i5=Je(H,"DataView"),so=i5,n5=Je(H,"Promise"),uo=n5,o5=Je(H,"Set"),co=o5,ps="[object Map]",a5="[object Object]",gs="[object Promise]",ys="[object Set]",fs="[object WeakMap]",ms="[object DataView]",l5=ke(so),s5=ke(_r),u5=ke(uo),c5=ke(co),d5=ke(lo),He=Lr;(so&&He(new so(new ArrayBuffer(1)))!=ms||_r&&He(new _r)!=ps||uo&&He(uo.resolve())!=gs||co&&He(new co)!=ys||lo&&He(new lo)!=fs)&&(He=function(e){var t=Lr(e),r=t==a5?e.constructor:void 0,i=r?ke(r):"";if(i)switch(i){case l5:return ms;case s5:return ps;case u5:return gs;case c5:return ys;case d5:return fs}return t});var UW=H.Uint8Array,p5="__lodash_hash_undefined__";function g5(e){return this.__data__.set(e,p5),this}var y5=g5;function f5(e){return this.__data__.has(e)}var m5=f5;function po(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new qs;++t<r;)this.add(e[t])}po.prototype.add=po.prototype.push=y5;po.prototype.has=m5;var hs=We?We.prototype:void 0,RW=hs?hs.valueOf:void 0,h5=Object.prototype,FW=h5.hasOwnProperty,b5=Object.prototype,VW=b5.hasOwnProperty,BW=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),GW=new RegExp(/[A-Fa-f0-9]{1}/,"g"),qW=new RegExp(/[A-Fa-f0-9]{2}/,"g");function v5(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function Ys(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function go(e,t){let r=await Ys(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function w5(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Ys(i,t)}function k5(e){return e!==void 0}var tn=k5,Hs=class Zs{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Zs),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},Qs=class Ws{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Ws),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function x5(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=s=>{a.push(s)},l=async(s,c,d)=>{if(s>=t.length)return r(c,d);let p=t[s],y=async(b,v)=>l(s+1,b,v),g={...d,addDisposer:o};return p(c,g,y)},u={...n,addDisposer:o};return{result:await l(0,i,u),dispose:async()=>{for(let s=a.length-1;s>=0;s--)try{await a[s]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function I5({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var C5=I5,to="ly.img.ai.temp";async function A5(e,t){return e.engine.asset.findAllSources().includes(to)||e.engine.asset.addLocalSource(to),e.engine.asset.apply(to,t)}function M5(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function Ks(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function j5(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let l=document.createElement("canvas");l.width=o.videoWidth,l.height=o.videoHeight;let u=l.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,l.width,l.height);try{let s=l.toDataURL(r,i);document.body.removeChild(o),n(s)}catch(s){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${s instanceof Error?s.message:String(s)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function S5(e){return e?e.replace(/[_-]/g," ").replace(/([A-Z])/g," $1").trim().split(" ").filter(t=>t.length>0).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" "):""}function _5(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function wo(e){return e instanceof Error&&e.name==="AbortError"}function $5(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function E5(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
65
|
+
`;var Y0=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,l)=>{let c=e.locale??"en",d="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[c]&&(d=l.label[c]),l.tags!=null&&typeof l.tags=="object"&&l.tags[c]&&(g=l.tags[c]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&u.push(p),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Je(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Je(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-u:u-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Je(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Je(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",u=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||u.some(c=>c.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let u,l;return i==="id"?(u=o.id,l=s.id):(u=o.meta?.[i]??null,l=s.meta?.[i]??null),u==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof l=="string"?r==="Ascending"?u.localeCompare(l):l.localeCompare(u):r==="Ascending"?u<l?-1:u>l?1:0:u>l?-1:u<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function Je(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Je(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Je(n,t,a)}return e}var H0=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let g=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});let{page:n,perPage:a}=e,o=n*a,s=o+a,u=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},Z0=class{constructor(e,t){this.engine=e,this.key=t}hasData(e){return this.engine.block.isValid(e)&&this.engine.block.hasMetadata(e,this.key)}get(e){if(this.hasData(e))return JSON.parse(this.engine.block.getMetadata(e,this.key))}set(e,t){this.engine.block.setMetadata(e,this.key,JSON.stringify(t))}clear(e){this.engine.block.hasMetadata(e,this.key)&&this.engine.block.removeMetadata(e,this.key)}},wu=Z0,Q0=typeof global=="object"&&global&&global.Object===Object&&global,ku=Q0,W0=typeof self=="object"&&self&&self.Object===Object&&self,K0=ku||W0||Function("return this")(),Y=K0,J0=Y.Symbol,Xe=J0,xu=Object.prototype,X0=xu.hasOwnProperty,e2=xu.toString,xr=Xe?Xe.toStringTag:void 0;function t2(e){var t=X0.call(e,xr),r=e[xr];try{e[xr]=void 0;var i=!0}catch{}var n=e2.call(e);return i&&(t?e[xr]=r:delete e[xr]),n}var r2=t2,i2=Object.prototype,n2=i2.toString;function o2(e){return n2.call(e)}var a2=o2,l2="[object Null]",s2="[object Undefined]",Ts=Xe?Xe.toStringTag:void 0;function u2(e){return e==null?e===void 0?s2:l2:Ts&&Ts in Object(e)?r2(e):a2(e)}var Nr=u2;function c2(e){return e!=null&&typeof e=="object"}var Qo=c2,bK=Array.isArray;function d2(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Iu=d2,p2="[object AsyncFunction]",g2="[object Function]",f2="[object GeneratorFunction]",y2="[object Proxy]";function m2(e){if(!Iu(e))return!1;var t=Nr(e);return t==g2||t==f2||t==p2||t==y2}var h2=m2,b2=Y["__core-js_shared__"],So=b2,Os=function(){var e=/[^.]+$/.exec(So&&So.keys&&So.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function v2(e){return!!Os&&Os in e}var w2=v2,k2=Function.prototype,x2=k2.toString;function I2(e){if(e!=null){try{return x2.call(e)}catch{}try{return e+""}catch{}}return""}var we=I2,C2=/[\\^$.*+?()[\]{}|]/g,A2=/^\[object .+?Constructor\]$/,M2=Function.prototype,j2=Object.prototype,S2=M2.toString,_2=j2.hasOwnProperty,E2=RegExp("^"+S2.call(_2).replace(C2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $2(e){if(!Iu(e)||w2(e))return!1;var t=h2(e)?E2:A2;return t.test(we(e))}var L2=$2;function T2(e,t){return e?.[t]}var O2=T2;function N2(e,t){var r=O2(e,t);return L2(r)?r:void 0}var tt=N2,D2=tt(Y,"WeakMap"),Po=D2;function P2(e,t){return e===t||e!==e&&t!==t}var z2=P2,U2=9007199254740991;function R2(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=U2}var F2=R2,vK=Object.prototype,V2="[object Arguments]";function B2(e){return Qo(e)&&Nr(e)==V2}var Ns=B2,Cu=Object.prototype,G2=Cu.hasOwnProperty,q2=Cu.propertyIsEnumerable,wK=Ns(function(){return arguments}())?Ns:function(e){return Qo(e)&&G2.call(e,"callee")&&!q2.call(e,"callee")},Au=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ds=Au&&typeof module=="object"&&module&&!module.nodeType&&module,Y2=Ds&&Ds.exports===Au,Ps=Y2?Y.Buffer:void 0,kK=Ps?Ps.isBuffer:void 0,H2="[object Arguments]",Z2="[object Array]",Q2="[object Boolean]",W2="[object Date]",K2="[object Error]",J2="[object Function]",X2="[object Map]",e4="[object Number]",t4="[object Object]",r4="[object RegExp]",i4="[object Set]",n4="[object String]",o4="[object WeakMap]",a4="[object ArrayBuffer]",l4="[object DataView]",s4="[object Float32Array]",u4="[object Float64Array]",c4="[object Int8Array]",d4="[object Int16Array]",p4="[object Int32Array]",g4="[object Uint8Array]",f4="[object Uint8ClampedArray]",y4="[object Uint16Array]",m4="[object Uint32Array]",E={};E[s4]=E[u4]=E[c4]=E[d4]=E[p4]=E[g4]=E[f4]=E[y4]=E[m4]=!0;E[H2]=E[Z2]=E[a4]=E[Q2]=E[l4]=E[W2]=E[K2]=E[J2]=E[X2]=E[e4]=E[t4]=E[r4]=E[i4]=E[n4]=E[o4]=!1;function h4(e){return Qo(e)&&F2(e.length)&&!!E[Nr(e)]}var b4=h4;function v4(e){return function(t){return e(t)}}var w4=v4,Mu=typeof exports=="object"&&exports&&!exports.nodeType&&exports,_r=Mu&&typeof module=="object"&&module&&!module.nodeType&&module,k4=_r&&_r.exports===Mu,_o=k4&&ku.process,x4=function(){try{var e=_r&&_r.require&&_r.require("util").types;return e||_o&&_o.binding&&_o.binding("util")}catch{}}(),zs=x4,Us=zs&&zs.isTypedArray,xK=Us?w4(Us):b4,I4=Object.prototype,IK=I4.hasOwnProperty;function C4(e,t){return function(r){return e(t(r))}}var A4=C4,CK=A4(Object.keys,Object),M4=Object.prototype,AK=M4.hasOwnProperty,j4=tt(Object,"create"),$r=j4;function S4(){this.__data__=$r?$r(null):{},this.size=0}var _4=S4;function E4(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var $4=E4,L4="__lodash_hash_undefined__",T4=Object.prototype,O4=T4.hasOwnProperty;function N4(e){var t=this.__data__;if($r){var r=t[e];return r===L4?void 0:r}return O4.call(t,e)?t[e]:void 0}var D4=N4,P4=Object.prototype,z4=P4.hasOwnProperty;function U4(e){var t=this.__data__;return $r?t[e]!==void 0:z4.call(t,e)}var R4=U4,F4="__lodash_hash_undefined__";function V4(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=$r&&t===void 0?F4:t,this}var B4=V4;function rt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}rt.prototype.clear=_4;rt.prototype.delete=$4;rt.prototype.get=D4;rt.prototype.has=R4;rt.prototype.set=B4;var Rs=rt;function G4(){this.__data__=[],this.size=0}var q4=G4;function Y4(e,t){for(var r=e.length;r--;)if(z2(e[r][0],t))return r;return-1}var pn=Y4,H4=Array.prototype,Z4=H4.splice;function Q4(e){var t=this.__data__,r=pn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Z4.call(t,r,1),--this.size,!0}var W4=Q4;function K4(e){var t=this.__data__,r=pn(t,e);return r<0?void 0:t[r][1]}var J4=K4;function X4(e){return pn(this.__data__,e)>-1}var e5=X4;function t5(e,t){var r=this.__data__,i=pn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var r5=t5;function it(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}it.prototype.clear=q4;it.prototype.delete=W4;it.prototype.get=J4;it.prototype.has=e5;it.prototype.set=r5;var gn=it,i5=tt(Y,"Map"),Lr=i5;function n5(){this.size=0,this.__data__={hash:new Rs,map:new(Lr||gn),string:new Rs}}var o5=n5;function a5(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var l5=a5;function s5(e,t){var r=e.__data__;return l5(t)?r[typeof t=="string"?"string":"hash"]:r.map}var fn=s5;function u5(e){var t=fn(this,e).delete(e);return this.size-=t?1:0,t}var c5=u5;function d5(e){return fn(this,e).get(e)}var p5=d5;function g5(e){return fn(this,e).has(e)}var f5=g5;function y5(e,t){var r=fn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var m5=y5;function nt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}nt.prototype.clear=o5;nt.prototype.delete=c5;nt.prototype.get=p5;nt.prototype.has=f5;nt.prototype.set=m5;var ju=nt;function h5(){this.__data__=new gn,this.size=0}var b5=h5;function v5(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var w5=v5;function k5(e){return this.__data__.get(e)}var x5=k5;function I5(e){return this.__data__.has(e)}var C5=I5,A5=200;function M5(e,t){var r=this.__data__;if(r instanceof gn){var i=r.__data__;if(!Lr||i.length<A5-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new ju(i)}return r.set(e,t),this.size=r.size,this}var j5=M5;function Dr(e){var t=this.__data__=new gn(e);this.size=t.size}Dr.prototype.clear=b5;Dr.prototype.delete=w5;Dr.prototype.get=x5;Dr.prototype.has=C5;Dr.prototype.set=j5;var S5=Object.prototype,MK=S5.propertyIsEnumerable,_5=tt(Y,"DataView"),zo=_5,E5=tt(Y,"Promise"),Uo=E5,$5=tt(Y,"Set"),Ro=$5,Fs="[object Map]",L5="[object Object]",Vs="[object Promise]",Bs="[object Set]",Gs="[object WeakMap]",qs="[object DataView]",T5=we(zo),O5=we(Lr),N5=we(Uo),D5=we(Ro),P5=we(Po),We=Nr;(zo&&We(new zo(new ArrayBuffer(1)))!=qs||Lr&&We(new Lr)!=Fs||Uo&&We(Uo.resolve())!=Vs||Ro&&We(new Ro)!=Bs||Po&&We(new Po)!=Gs)&&(We=function(e){var t=Nr(e),r=t==L5?e.constructor:void 0,i=r?we(r):"";if(i)switch(i){case T5:return qs;case O5:return Fs;case N5:return Vs;case D5:return Bs;case P5:return Gs}return t});var jK=Y.Uint8Array,z5="__lodash_hash_undefined__";function U5(e){return this.__data__.set(e,z5),this}var R5=U5;function F5(e){return this.__data__.has(e)}var V5=F5;function Fo(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ju;++t<r;)this.add(e[t])}Fo.prototype.add=Fo.prototype.push=R5;Fo.prototype.has=V5;var Ys=Xe?Xe.prototype:void 0,SK=Ys?Ys.valueOf:void 0,B5=Object.prototype,_K=B5.hasOwnProperty,G5=Object.prototype,EK=G5.hasOwnProperty,$K=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),LK=new RegExp(/[A-Fa-f0-9]{1}/,"g"),TK=new RegExp(/[A-Fa-f0-9]{2}/,"g");function q5(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function Su(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function Vo(e,t){let r=await Su(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function Y5(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Su(i,t)}function H5(e){return e!==void 0}var yn=H5,_u=class Eu{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Eu),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},$u=class Lu{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Lu),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function Z5(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,c,d)=>{if(l>=t.length)return r(c,d);let g=t[l],p=async(y,h)=>s(l+1,y,h),f={...d,addDisposer:o};return g(c,f,p)},u={...n,addDisposer:o};return{result:await s(0,i,u),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function Q5({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var W5=Q5,Eo="ly.img.ai.temp";async function K5(e,t){return e.engine.asset.findAllSources().includes(Eo)||e.engine.asset.addLocalSource(Eo),e.engine.asset.apply(Eo,t)}function J5(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function Tu(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function X5(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let u=s.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function e9(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function Wo(e){return e instanceof Error&&e.name==="AbortError"}function t9(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function r9(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
66
66
|
Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
|
|
67
67
|
This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
|
|
68
|
-
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function L5(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var T5=L5;function O5(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var Or=O5;function N5(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),D5(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:M5(e)})}function D5(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var bs=N5,P5="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",ko=P5;function z5(e,t,r){switch(t){case"image":return U5(e,r[t]);case"video":return R5(e,r[t]);case"sticker":return F5(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function U5(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:ko,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function R5(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:ko,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function F5(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:ko,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var V5=z5;async function B5(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return G5(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return q5(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return Y5(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return H5(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function G5(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function q5(e,t,r){let i=t.width,n=t.height,a=await j5(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function Y5(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function H5(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Js=B5;function Z5(e){switch(e.userFlow){case"placeholder":return W5(e);case"generation-only":return Q5(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function Q5(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ue(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ue(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(ue(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let l=Ks(),u=await Js(l,n,a,o.output),s={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,s)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function W5(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ue(t,r))return{status:"aborted"};let l=Ks(),u=V5(l,a,o);if(i=await A5(t,u),ue(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),y=t.engine.block.duplicate(i);t.engine.block.setPositionX(y,d),t.engine.block.setPositionY(y,p),t.engine.block.destroy(i),i=y}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let s=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ue(t,r,i))return{status:"aborted"};if(s.status!=="success")return s;if(s.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await Js(l,a,o,s.output);if(ue(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),ue(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),s}catch(a){return i!=null&&t.engine.block.isValid(i)&&(wo(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function ue(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var K5=Z5;function xo(e){return`${e}.generating`}function J5(e){return`${e}.abort`}function X5(e,t,r,i,n,a,o){let{builder:l,experimental:u}=e,{cesdk:s,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:p}}=t,y=u.global(J5(d),()=>{}),g=u.global(xo(d),!1),b,v=g.value&&p,m=()=>{v&&(y.value(),g.setValue(!1),y.setValue(()=>{}))},w;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let h=i();w=a.requiredInputs.every(f=>!h.input[f])}let k=u.global(`${d}.confirmationDialogId`,void 0);l.Section(`${d}.generate.section`,{children:()=>{l.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:g.value,color:"accent",isDisabled:w,suffix:v?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let h=s.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:f})=>{s.ui.closeDialog(f),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:f})=>{m(),s.ui.closeDialog(f),k.setValue(void 0)}}});k.setValue(h)}}:void 0,onClick:async()=>{b=new AbortController;let h=b.signal;await(async()=>{try{g.setValue(!0),y.setValue(()=>{o.debug&&console.log("Aborting generation"),b?.abort()});let f=await K5({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:h,cesdk:s,debug:o.debug,dryRun:o.dryRun})(i().input);if(f.status==="aborted")return;if(f.status==="error"){bs(f.message,{cesdk:s,provider:t,getInput:i});return}if(f.status==="success"&&f.type==="sync"){let x=t.output.notification;e9(s,x,()=>({input:i().input,output:f.output}))}}catch(f){if(wo(f))return;bs(f,{cesdk:s,provider:t,getInput:i})}finally{b=void 0,g.setValue(!1),y.setValue(()=>{}),k.value!=null&&(s.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&l.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&l.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function e9(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var Xs=X5;async function t9({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,l=r.render;return u=>{let{state:s}=u,c=s(xo(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=l(u,{cesdk:a,isGenerating:c});return Xs(u,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var r9=t9;function eu(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function Ar(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=eu(e,t.$ref),n={...Ar(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Ar(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Ar(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Ar(e,t[n],r));return i}return t}function i9(e){return Ar(e,{...e})}function n9(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let l of i.type)if(typeof l!="string"||!o.includes(l))return r(`Array of types contains invalid value: ${l}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let l=0;l<i[o].length;l++){let u=i[o][l];if(typeof u!="object"||u===null)return r(`Item ${l} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let l=i.required[o];if(typeof l!="string")return r(`Item ${o} in required array must be a string, got ${typeof l}`)}}return!0}function o9(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return a9(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function a9(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=l9(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function l9(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var tu=o9;function ru(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let l=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?s9(e,l,r,i,n,a,o):nu(e,l,r,i,n,a,o);case"boolean":return ou(e,l,r,i,n,a,o);case"number":case"integer":return au(e,l,r,i,n,a,o);case"object":return iu(e,l,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return u9(e,l,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function iu(e,t,r,i,n,a,o){let l=tu(t.schema??{},i).reduce((u,s)=>{let c=ru(e,s,r,i,n,a,o);return c!=null&&(u[s.id]=c()),u},{});return()=>({id:t.id,type:"object",value:l})}function nu(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=u(c,t.schema.default??""),y=c9(t.schema),g=y?.component!=null&&y?.component==="TextArea"?"TextArea":"TextInput";return l[g](c,{inputLabel:d,placeholder:n.i18n?.prompt,...p}),()=>({id:t.id,type:"string",value:p.value})}function s9(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{},y="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},g=(t.schema.enum??[]).map(m=>({id:m,label:[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.property.${t.id}.${m}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}.${m}`],icon:p[m]})),b=t.schema.default!=null?g.find(m=>m.id===t.schema.default)??g[0]:g[0],v=u(c,b);return l.Select(c,{inputLabel:d,values:g,...v}),()=>({id:t.id,type:"string",value:v.value.id})}function ou(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=!!t.schema.default,y=u(c,p);return l.Checkbox(c,{inputLabel:d,...y}),()=>({id:t.id,type:"boolean",value:y.value})}function au(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.minimum,y=t.schema.maximum,g=t.schema.default;g==null&&(p!=null?g=p:y!=null?g=y:g=0);let b=u(c,g);if(p!=null&&y!=null){let v=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(v=t.schema["x-imgly-step"]),l.Slider(c,{inputLabel:d,min:p,max:y,step:v,...b})}else l.NumberInput(c,{inputLabel:d,min:p,max:y,...b});return()=>({id:t.id,type:"integer",value:b.value})}function u9(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.anyOf??[],y=[],g={},b={};p.forEach((w,k)=>{let h=w.title??"common.custom",f=`${r.id}.${s}.anyOf[${k}]`,x="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},I="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{};w.type==="string"?w.enum!=null?w.enum.forEach(C=>{y.push({id:C,label:x[C]??S5(C),icon:I[C]})}):(g[f]=()=>nu(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="boolean"?(g[f]=()=>ou(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="integer"?(g[f]=()=>au(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="array"||w.type==="object"&&(g[f]=()=>iu(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]}))});let v=t.schema.default!=null?y.find(w=>w.id===t.schema.default)??y[0]:y[0],m=u(c,v);if(l.Select(c,{inputLabel:d,values:y,...m}),m.value.id in g){let w=g[m.value.id]();b[m.value.id]=w}return()=>{let w=b[m.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:m.value.id}}}function c9(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var d9=ru,p9={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function vs(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function g9(e,t,r,i){let n={};e.forEach(o=>{if(o.schema?.title&&(n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}`]=o.schema.title),o.schema?.enum){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.enum.forEach(u=>{let s=String(u),c=l[s]||vs(s);n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}.${s}`]=c})}if(o.schema?.anyOf&&Array.isArray(o.schema.anyOf)){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.anyOf.forEach(u=>{let s=u;s.enum&&Array.isArray(s.enum)&&s.enum.forEach(c=>{let d=String(c),p=l[d]||vs(d);n[`ly.img.plugin-ai-${i}-generation-web.defaults.property.${t.id}.${o.id}.${d}`]=p})})}});let a={...p9,...n};Object.keys(a).length>0&&r.cesdk.i18n.setTranslations({en:a})}async function y9({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=i9(r.document),l=eu(o,r.inputReference);if(!n9(l,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=l,s=tu(u,r);return g9(s,t,e,t.kind),c=>{let{builder:d}=c,p=[];d.Section(`${a}.schema.section`,{children:()=>{s.forEach(v=>{let m=d9(c,v,t,r,e,i,t.kind);m!=null&&(Array.isArray(m)?p.push(...m):p.push(m))})}});let y=p.map(v=>v()),g=v=>v.type==="object"?Object.entries(v.value).reduce((m,[w,k])=>(m[w]=g(k),m),{}):v.value,b=y.reduce((v,m)=>(v[m.id]=g(m),v),{});Xs(c,t,n,()=>({input:b}),()=>r.getBlockInput(b),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var f9=y9;async function m9(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return r9(e,t);case"schema":return f9(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var h9=m9;function b9(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new w0(o,r)),o}return i}var v9=b9;function w9(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var k9=w9,ro="@imgly/plugin-ai-generation",x9=`
|
|
68
|
+
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function i9(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var n9=i9;function o9(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var Pr=o9;function a9(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),l9(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:J5(e)})}function l9(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Hs=a9,s9="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Ko=s9;function u9(e,t,r){switch(t){case"image":return c9(e,r[t]);case"video":return d9(e,r[t]);case"sticker":return p9(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function c9(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ko,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function d9(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Ko,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function p9(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ko,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var g9=u9;async function f9(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return y9(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return m9(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return h9(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return b9(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function y9(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function m9(e,t,r){let i=t.width,n=t.height,a=await X5(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function h9(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function b9(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Ou=f9;function v9(e){switch(e.userFlow){case"placeholder":return k9(e);case"generation-only":return w9(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function w9(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(se(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(se(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(se(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=Tu(),u=await Ou(s,n,a,o.output),l={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function k9(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(se(t,r))return{status:"aborted"};let s=Tu(),u=g9(s,a,o);if(i=await K5(t,u),se(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(se(t,r,i))return{status:"aborted"};if(l.status!=="success")return l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await Ou(s,a,o,l.output);if(se(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),se(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(Wo(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function se(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var x9=v9;function Jo(e){return`${e}.generating`}function I9(e){return`${e}.abort`}function C9(e,t,r,i,n,a,o){let{builder:s,experimental:u}=e,{cesdk:l,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:g}}=t,p=u.global(I9(d),()=>{}),f=u.global(Jo(d),!1),y,h=f.value&&g,b=()=>{h&&(p.value(),f.setValue(!1),p.setValue(()=>{}))},I;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let w=i();I=a.requiredInputs.every(v=>!w.input[v])}let x=u.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:f.value,color:"accent",isDisabled:I,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let w=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:v})=>{l.ui.closeDialog(v),x.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:v})=>{b(),l.ui.closeDialog(v),x.setValue(void 0)}}});x.setValue(w)}}:void 0,onClick:async()=>{y=new AbortController;let w=y.signal;await(async()=>{try{f.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),y?.abort()});let v=await x9({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:w,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(v.status==="aborted")return;if(v.status==="error"){Hs(v.message,{cesdk:l,provider:t,getInput:i});return}if(v.status==="success"&&v.type==="sync"){let k=t.output.notification;A9(l,k,()=>({input:i().input,output:v.output}))}}catch(v){if(Wo(v))return;Hs(v,{cesdk:l,provider:t,getInput:i})}finally{y=void 0,f.setValue(!1),p.setValue(()=>{}),x.value!=null&&(l.ui.closeDialog(x.value),x.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function A9(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var Nu=C9;async function M9({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,s=r.render;return u=>{let{state:l}=u,c=l(Jo(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(u,{cesdk:a,isGenerating:c});return Nu(u,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var j9=M9;function Du(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function jr(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=Du(e,t.$ref),n={...jr(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=jr(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>jr(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=jr(e,t[n],r));return i}return t}function S9(e){return jr(e,{...e})}function _9(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let u=i[o][s];if(typeof u!="object"||u===null)return r(`Item ${s} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function E9(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return $9(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function $9(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=L9(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function L9(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var Pu=E9;function ve(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`;return[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`]}function zu(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function Uu(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let s=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?T9(e,s,r,i,n,a,o):Ru(e,s,r,i,n,a,o);case"boolean":return Fu(e,s,r,i,n,a,o);case"number":case"integer":return Vu(e,s,r,i,n,a,o);case"object":return Bo(e,s,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return O9(e,s,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function Bo(e,t,r,i,n,a,o){let s=Pu(t.schema??{},i).reduce((u,l)=>{let c=Uu(e,l,r,i,n,a,o);return c!=null&&(u[l.id]=c()),u},{});return()=>({id:t.id,type:"object",value:s})}function Ru(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=ve(t,r,o),g=u(c,t.schema.default??""),p=N9(t.schema),f=p?.component!=null&&p?.component==="TextArea"?"TextArea":"TextInput";return s[f](c,{inputLabel:d,placeholder:n.i18n?.prompt,...g}),()=>({id:t.id,type:"string",value:g.value})}function T9(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=ve(t,r,o),{labels:g,icons:p}=zu(t.schema),f=(t.schema.enum??[]).map(b=>({id:b,label:ve(t,r,o,b),icon:p[b]})),y=t.schema.default!=null?f.find(b=>b.id===t.schema.default)??f[0]:f[0],h=u(c,y);return s.Select(c,{inputLabel:d,values:f,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function Fu(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=ve(t,r,o),g=!!t.schema.default,p=u(c,g);return s.Checkbox(c,{inputLabel:d,...p}),()=>({id:t.id,type:"boolean",value:p.value})}function Vu(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=ve(t,r,o),g=t.schema.minimum,p=t.schema.maximum,f=t.schema.default;f==null&&(g!=null?f=g:p!=null?f=p:f=0);let y=u(c,f);if(g!=null&&p!=null){let h=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(h=t.schema["x-imgly-step"]),s.Slider(c,{inputLabel:d,min:g,max:p,step:h,...y})}else s.NumberInput(c,{inputLabel:d,min:g,max:p,...y});return()=>({id:t.id,type:"integer",value:y.value})}function O9(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=ve(t,r,o),g=t.schema.anyOf??[],p=[],f={},y={},{labels:h,icons:b}=zu(t.schema),I={string:Ru,boolean:Fu,integer:Vu,object:Bo},x=(m,A)=>m.$ref?m.$ref.split("/").pop():A.split(".").pop()??A,w=(m,A)=>({id:m,label:ve(t,r,o,A),icon:b[A]??b[m]});g.forEach((m,A)=>{let C=`${r.id}.${l}.anyOf[${A}]`;if(m.$ref||m.title){let M=m.$ref?m.$ref.split("/").pop():m.title;f[C]=()=>Bo(e,{id:C,schema:{...m,title:h[M]||M}},r,i,n,a,o),p.push(w(C,M))}else if(m.type==="string"&&m.enum)m.enum.forEach(M=>{p.push(w(M,M))});else if(m.type&&I[m.type]){let M=I[m.type];f[C]=()=>M(e,{id:C,schema:{...m,title:m.title}},r,i,n,a,o);let j=x(m,C);p.push(m.type==="string"&&!m.enum?{id:C,label:m.title||j,icon:m.title&&b[m.title]||b[j]}:w(C,j))}});let v=t.schema.default!=null?p.find(m=>m.id===t.schema.default)??p[0]:p[0],k=u(c,v);if(s.Select(c,{inputLabel:d,values:p,...k}),k.value.id in f){let m=f[k.value.id]();y[k.value.id]=m}return()=>{let m=y[k.value.id];return m!=null?{...m(),id:t.id}:{id:t.id,type:"string",value:k.value.id}}}function N9(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var D9=Uu,P9={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function Zs(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function z9(e,t,r,i){let n={},a=(l,c)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${c?`.${c}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,c,d)=>{l.forEach(g=>{let p=String(g),f=d[p]||Zs(p);n[a(c,p)]=f})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let c=o(l.schema);s(l.schema.enum,l.id,c)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let c=o(l.schema);l.schema.anyOf.forEach(d=>{let g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,c);else if(g.$ref){let p=g.$ref.split("/").pop();p&&c[p]&&(n[a(l.id,p)]=c[p])}else if(g.title){let p=g.title,f=c[p]||Zs(p);n[a(l.id,p)]=f}})}});let u={...P9,...n};Object.keys(u).length>0&&r.cesdk.i18n.setTranslations({en:u})}async function U9({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=S9(r.document),s=Du(o,r.inputReference);if(!_9(s,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=s,l=Pu(u,r);return z9(l,t,e,t.kind),c=>{let{builder:d}=c,g=[];d.Section(`${a}.schema.section`,{children:()=>{l.forEach(h=>{let b=D9(c,h,t,r,e,i,t.kind);b!=null&&(Array.isArray(b)?g.push(...b):g.push(b))})}});let p=g.map(h=>h()),f=h=>h.type==="object"?Object.entries(h.value).reduce((b,[I,x])=>(b[I]=f(x),b),{}):h.value,y=p.reduce((h,b)=>(h[b.id]=f(b),h),{});Nu(c,t,n,()=>({input:y}),()=>r.getBlockInput(y),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var R9=U9;async function F9(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return j9(e,t);case"schema":return R9(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var V9=F9;function B9(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new Y0(o,r)),o}return i}var G9=B9;function q9(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var Y9=q9,$o="@imgly/plugin-ai-generation",H9=`
|
|
69
69
|
<svg>
|
|
70
70
|
<symbol
|
|
71
71
|
fill="none"
|
|
@@ -83,7 +83,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
83
83
|
fill="none"
|
|
84
84
|
xmlns="http://www.w3.org/2000/svg"
|
|
85
85
|
viewBox="0 0 24 24"
|
|
86
|
-
id="${
|
|
86
|
+
id="${$o}/image"
|
|
87
87
|
>
|
|
88
88
|
<path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
|
|
89
89
|
<path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
|
|
@@ -95,7 +95,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
95
95
|
fill="none"
|
|
96
96
|
xmlns="http://www.w3.org/2000/svg"
|
|
97
97
|
viewBox="0 0 24 24"
|
|
98
|
-
id="${
|
|
98
|
+
id="${$o}/video"
|
|
99
99
|
>
|
|
100
100
|
<path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
|
|
101
101
|
<path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
|
|
@@ -106,7 +106,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
106
106
|
fill="none"
|
|
107
107
|
xmlns="http://www.w3.org/2000/svg"
|
|
108
108
|
viewBox="0 0 24 24"
|
|
109
|
-
id="${
|
|
109
|
+
id="${$o}/audio"
|
|
110
110
|
>
|
|
111
111
|
<path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
|
|
112
112
|
<path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
|
|
@@ -126,8 +126,8 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
126
126
|
|
|
127
127
|
</symbol>
|
|
128
128
|
</svg>
|
|
129
|
-
`,
|
|
130
|
-
`,"+")}`}}async function j9(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function S9(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,l=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);l&&l[1]&&(i=l[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=kr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=kr(n,o)}else"customPrompt"in e?a=kr(n,"custom"):a=kr(n,"improved");else a=kr(n,"generated");return _9(a,r.abortSignal)}async function*_9(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await lu(100)}return{kind:"text",text:e}}function kr(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,l="";if(n<=o.length)l=o.substring(0,n);else{l=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],s=0;for(;l.length<n;){let c=u[s%u.length];if(l.length+c.length<=n)l+=c;else{l+=c.substring(0,n-l.length);break}s++}}return r+l}async function $9(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:E9(220,i),duration:i,thumbnailUrl:void 0}}function E9(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return L9(i,44100)}function L9(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,l=r*i,u=44+l,s=new ArrayBuffer(u),c=new DataView(s),d=(b,v)=>{for(let m=0;m<v.length;m++)c.setUint8(b+m,v.charCodeAt(m))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,l,!0);let p=44;for(let b=0;b<r;b++){let v=Math.max(-1,Math.min(1,e[b])),m=Math.round(v*32767);c.setInt16(p,m,!0),p+=2}let y=new Uint8Array(s),g="";for(let b=0;b<y.length;b++)g+=String.fromCharCode(y[b]);return`data:audio/wav;base64,${btoa(g)}`}async function lu(e){return new Promise(t=>{setTimeout(t,e)})}var T9=C9,su="USER_CANCEL";function O9(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=x5([...e.provider.output.middleware??[],...r?.middlewares??[],C5({enable:r?.debug}),T9({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:_5(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return wo(n)?{status:"aborted",message:n.message}:n===su?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var N9=O9;async function D9(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=v9(a),l=k9(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=l;let u=N9({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),s=await h9(a,u);$5(r.cesdk,"@imgly/plugin-ai-generation",I9);let c={provider:t,panel:{builderRenderFunction:s},history:{assetSourceId:o,assetLibraryEntryId:l},generate:u};return Qs.get().register(c),c}var io=D9;function P9(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new k0(n,r,i);return r.engine.asset.addSource(a),a.id}var z9=P9;async function U9(e,t,r,i){let n,a=[];if(Array.isArray(t)){let u=await Promise.all(t.map(s=>io(e,s,r,i)));a.push(...u),n=F9({prefix:e,providerInitializationResults:a})}else{let u=await Promise.all(t.fromText.map(c=>io(e,c,r,i)));a.push(...u);let s=await Promise.all(t.fromImage.map(c=>io(e,c,r,i)));a.push(...s),n=R9({prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:u,initializedFromImageProviders:s})}let o=z9({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(u=>u.history?.assetSourceId).filter(tn)}),l;return o!=null&&(l=o,r.cesdk.ui.addAssetLibraryEntry({id:l,sourceIds:[o],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:n},history:{assetSourceId:o,assetLibraryEntryId:l},providerInitializationResults:a}}function R9({prefix:e,initializedFromTextProviders:t,initializedFromImageProviders:r}){let i=t.length>0&&r.length>0;return n=>{let{builder:a,experimental:o}=n,l=o.global(`${e}.fromType`,i?"fromText":void 0),u=[];l.value==="fromText"?u.push(...t):l.value==="fromImage"?u.push(...r):u.push(...t,...r);let s=t.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),c=r.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),d=n.experimental.global(`${e}.selectedProvider.fromText`,s[0]),p=n.experimental.global(`${e}.selectedProvider.fromImage`,c[0]),y=l.value==="fromText"?d:l.value==="fromImage"?p:void 0;if((i||u.length>1)&&a.Section(`${e}.providerSelection.section`,{children:()=>{if(i&&a.ButtonGroup(`${e}.fromType.buttonGroup`,{inputLabel:"Input",children:()=>{a.Button(`${e}.fromType.buttonGroup.fromText`,{label:"Text",icon:l.value!=="fromText"&&ws(t,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromText",onClick:()=>{l.setValue("fromText")}}),a.Button(`${e}.fromType.buttonGroup.fromImage`,{label:"Image",icon:l.value!=="fromImage"&&ws(r,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromImage",onClick:()=>{l.setValue("fromImage")}})}}),u.length>1){let g=l.value==="fromText"?s:l.value==="fromImage"?c:[...s,...c];y!=null&&a.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:g,...y})}}}),u.length>1)y?.value.builderRenderFunction?.(n);else{let g=u[0];g&&g.panel?.builderRenderFunction?.(n)}}}function F9({prefix:e,providerInitializationResults:t}){return r=>{let{builder:i}=r;if(t.length===0)return;let n=t.map(({provider:o,panel:l})=>({id:o.id,label:o.name??o.id,builderRenderFunction:l?.builderRenderFunction})),a=r.state(`${e}.selectedProvider`,n[0]);t.length>1&&a!=null&&i.Section(`${e}.providerSelection.section`,{children:()=>{i.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:n,...a})}}),a.value.builderRenderFunction?.(r)}}function ws(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(xo(r.id),!1).value)}var V9=U9,rn="ly.img.ai.editMode",uu="ly.img.ai.metadata";async function B9(e){let t=`ly.img.ai.${e.kind}.confirmation`;e.cesdk?.i18n.setTranslations({en:{"ly.img.ai.processing":"Generating...",[`${t}.cancel`]:"Cancel Generation",[`${t}.apply`]:"Apply Generation",[`${t}.before`]:"Before",[`${t}.after`]:"After"}});let r=i=>{let{engine:n,builder:a,state:o,payload:l}=i;if(l==null)return;let u=n.block.findAllSelected();if(u.length===0)return null;let s=new zs(n,uu),c=s.get(u[0]);if(c==null)return null;let d=()=>{u.forEach(p=>{s.clear(p)})};switch(c.status){case"processing":{a.Button(`${t}.spinner`,{label:[`ly.img.ai.${c.quickActionId}.processing`,"ly.img.ai.processing"],isLoading:!0}),a.Separator(`${t}.separator`),a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{l.onCancelGeneration?.(),d()}});break}case"confirmation":{let p=o(`${t}.comparing`,"after"),y=l.applyCallbacks?.onCancel;y!=null&&a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{y(),d()}});let g=l.applyCallbacks?.onBefore,b=l.applyCallbacks?.onAfter;g!=null&&b!=null&&a.ButtonGroup(`${t}.compare`,{children:()=>{a.Button(`${t}.compare.before`,{label:`${t}.before`,variant:"regular",isActive:p.value==="before",onClick:()=>{g(),p.setValue("before")}}),a.Button(`${t}.compare.after`,{label:`${t}.after`,variant:"regular",isActive:p.value==="after",onClick:()=>{b(),p.setValue("after")}})}});let v=l.applyCallbacks?.onApply;v!=null&&a.Button(`${t}.apply`,{icon:"@imgly/Checkmark",tooltip:`${t}.apply`,color:"accent",isDisabled:p.value!=="after",onClick:()=>{d();let m=e.cesdk.engine.editor;typeof m._update=="function"&&m._update(),v()}});break}default:}};return Promise.resolve(r)}var G9=B9;function q9(e){if(e.length===0)return[];let t=[...e];for(;t.length>0&&t[0]==="ly.img.separator";)t.shift();for(;t.length>0&&t[t.length-1]==="ly.img.separator";)t.pop();return t.reduce((r,i)=>(i==="ly.img.separator"&&r.length>0&&r[r.length-1]==="ly.img.separator"||r.push(i),r),[])}var Y9=q9;function H9(e){return`ly.img.ai.${e}.canvasMenu`}var Z9=H9;function Q9(e){let{kind:t,cesdk:r,payload:i,defaultOrder:n}=e,a=Z9(t);if(i==null||!Array.isArray(i.children)){let o=r.ui.getCanvasMenuOrder().find(({id:l})=>l===a);return o!=null&&Array.isArray(o.children)?o.children:n??[]}return i.children.filter(o=>typeof o=="string")}var W9=Q9;function K9(e,t){if(t.blockIds.some(r=>!t.cesdk.engine.block.isValid(r)))return Promise.resolve({applyCallbacks:{onBefore:()=>{},onAfter:()=>{},onCancel:()=>{},onApply:()=>{}}});switch(t.kind){case"text":return J9(e,t);case"image":return X9(e,t);case"video":return e3(e,t);case"audio":return t3(e,t);default:throw new Error(`Unsupported output kind for quick actions: ${t.kind}`)}}async function J9(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t,a=i.map(s=>r.engine.block.getString(s,"text/text")),o;if(e.type==="async"){let s="";for await(let c of e.output){if(n?.aborted)break;typeof c=="string"?s=c:c.kind==="text"&&(s=c.text),i.forEach(d=>{r.engine.block.setString(d,"text/text",s)}),o={kind:"text",text:s}}}else o=e.output;if(o==null||o.kind!=="text")throw new Error("Output kind from generation is not text");e.type==="sync"&&i.forEach(s=>{r.engine.block.setString(s,"text/text",o.text)});let l=()=>{t.blockIds.forEach(s=>{t.cesdk.engine.block.setString(s,"text/text",o.text)})},u=()=>{t.blockIds.forEach((s,c)=>{t.cesdk.engine.block.setString(s,"text/text",a[c])})};return{applyCallbacks:{onBefore:u,onAfter:l,onCancel:u,onApply:()=>{l(),t.cesdk.engine.editor.addUndoStep()}}}}async function X9(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t;if(i.length!==1)throw new Error("Only one block is supported for image generation");let[a]=i,o=r.engine.block.getFill(a),l=r.engine.block.getSourceSet(o,"fill/image/sourceSet"),[u]=l,s;u==null&&(s=r.engine.block.getString(o,"fill/image/imageFileURI"));let c=await r.engine.editor.getMimeType(u?.uri??s),d=await go(u?.uri??s,t.cesdk.engine),p=d.width/d.height;if(n?.throwIfAborted(),c==="image/svg+xml")throw new Error("SVG images are not supported");let y=r.engine.block.getCropScaleX(a),g=r.engine.block.getCropScaleY(a),b=r.engine.block.getCropTranslationX(a),v=r.engine.block.getCropTranslationY(a),m=r.engine.block.getCropRotation(a),w=()=>{r.engine.block.setCropScaleX(a,y),r.engine.block.setCropScaleY(a,g),r.engine.block.setCropTranslationX(a,b),r.engine.block.setCropTranslationY(a,v),r.engine.block.setCropRotation(a,m)};if(e.type==="async")throw new Error("Streaming generation is not supported yet from a panel");if(e.output.kind!=="image"||typeof e.output.url!="string")throw new Error("Output kind from generation is not an image");let k=e.output.url,h=await r.engine.editor.getMimeType(k),f=await r3(r,k,h),x=await go(f,t.cesdk.engine),I=x.width/x.height,C=Math.abs(p-I)>.001,A=u?[{uri:f,width:x.width,height:x.height}]:void 0,he=f;A==null?r.engine.block.setString(o,"fill/image/imageFileURI",he):(r.engine.block.setString(o,"fill/image/imageFileURI",""),r.engine.block.setSourceSet(o,"fill/image/sourceSet",A)),await r.engine.block.forceLoadResources([o]),C?r.engine.block.setContentFillMode(a,"Cover"):w();let ar=()=>{if(l==null||l.length===0){if(s==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",s)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",l);w()},lr=()=>{if(A==null){if(he==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",he)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",A);C?r.engine.block.setContentFillMode(a,"Cover"):w()};return{applyCallbacks:{onBefore:ar,onAfter:lr,onCancel:()=>{ar()},onApply:()=>{lr(),t.cesdk.engine.editor.addUndoStep()}}}}async function e3(e,t){throw new Error("Function not implemented.")}async function t3(e,t){throw new Error("Function not implemented.")}async function r3(e,t,r){let i=await(await fetch(t)).blob(),n=new File([i],`image.${v5(r)}`,{type:r}),a=await e.unstable_upload(n,()=>{});return a?.meta?.uri??(console.warn("Failed to upload image:",a),t)}var i3=K9;function n3(e){let{engine:t,blockIdsToLock:r,editModeToLockTo:i}=e;function n(){let u=t.block.findAllSelected();return r.some(s=>u.includes(s))}let a=t.editor.onStateChanged(()=>{t.editor.getEditMode()!==i&&n()&&t.editor.setEditMode(i)}),o=t.block.onSelectionChanged(()=>{n()?t.editor.setEditMode(i):t.editor.setEditMode("Transform")});n()&&t.editor.setEditMode(i);let l=!1;return()=>{l||(o(),a(),t.editor.setEditMode("Transform"),l=!0)}}var o3=n3,a3=class cu{constructor(){this.actions=new Map}static get(){let t="__imgly_callbacks_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new cu),r[t]}register(t,r){let i=this.actions.get(t)??{};this.actions.set(t,{...i,...r})}get(t){return this.actions.get(t)??{}}},we=a3;function l3(e){return async(t,r)=>{let i=r?.blockIds??e.blockIds;if(e.providerInitializationResult==null)return e.debug&&console.warn("[Generate] No provider initialization result found for quick action. Returning abortion status."),{status:"aborted"};let n=e.providerInitializationResult?.provider.input?.quickActions?.supported?.[e.quickAction.id];if(n==null)throw new Error("[Generate] Quick action input mapping failed. Ensure the provider supports this quick action.");let a=typeof n=="object"&&n!==null&&"mapInput"in n?n.mapInput:c=>c;e.close();let o=new AbortController,l=AbortSignal.any([e.abortSignal,o.signal].filter(tn)),u=new zs(e.cesdk.engine,uu),s=e.lock??!0?o3({engine:e.cesdk.engine,editModeToLockTo:rn,blockIdsToLock:i}):()=>{};i.forEach(c=>{we.get().register(c,{onCancelGeneration:()=>{o.abort(su),s(),e.cesdk.engine.block.isValid(c)&&(e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"}),u.clear(c))}})}),i?.forEach(c=>{u.set(c,{status:"processing",quickActionId:e.quickAction.id})}),i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Pending",progress:0})});try{let c=await e.providerInitializationResult.generate(a(t),{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:l}),d=c.status;switch(d){case"success":{let{applyCallbacks:p}=await i3(c,{kind:e.providerInitializationResult.provider.kind,blockIds:i,cesdk:e.cesdk,abortSignal:l});if(i.forEach(y=>{e.cesdk.engine.block.isValid(y)&&e.cesdk.engine.block.setState(y,{type:"Ready"})}),e.confirmation){i.forEach(g=>{u.set(g,{status:"confirmation",quickActionId:e.quickAction.id})});let y={...p,onApply:async()=>{p.onApply(),s()},onCancel:()=>{p.onCancel(),s()}};i.forEach(g=>{we.get().register(g,{applyCallbacks:y})})}else i.forEach(y=>{e.cesdk.engine.block.isValid(y)&&u.clear(y)}),p.onApply(),s();return c}case"aborted":return e.debug&&console.log("Generation was aborted"),s(),i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&u.clear(p)}),c;case"error":return s(),i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&u.clear(p)}),console.error(`[Generate]: ${c.message}`),c;default:throw new Error(`[Generate] Unknown result status ${d}.`)}}catch(c){throw e.cesdk.ui.showNotification({type:"error",message:"A technical issue has occurred."}),s(),i.forEach(d=>{e.cesdk.engine.block.isValid(d)&&u.clear(d)}),c}finally{i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"})})}}}var ks=l3;function s3(e){let t=`ly.img.ai.${e.kind}}`;e.cesdk.i18n.setTranslations({en:{[`${t}.quickActionMenu.providerSelect.label`]:"Provider"}});let r=i=>{if(i.engine.editor.getEditMode()===rn)return;let n=i.engine.block.findAllSelected();if(n.length===0)return;let{payload:a}=i,o=W9({kind:e.kind,cesdk:e.cesdk,payload:a,defaultOrder:e.defaultOrder})??[];if(o.length===0)return;let l=u3(o).filter(h=>{if(h==="ly.img.separator")return!0;let f=h.scopes;if(f!=null&&f.length>0&&!n.every(x=>f.every(I=>e.engine.block.isAllowedByScope(x,I))))return!1;if(h.enable!=null){if(typeof h.enable=="function")return h.enable({engine:e.engine});if(typeof h.enable=="boolean")return h.enable}return!0}),u=[],s=e.providerInitializationResults.reduce((h,f)=>{if(f.provider.kind!==e.kind)return h;let x=l.map(I=>{if(I==="ly.img.separator")return I;if(f.provider.input?.quickActions?.supported?.[I.id]!=null)return{definition:I};{let C=Qs.get().getAll().filter(A=>A.provider.kind!==e.kind&&A.provider.id!==f.provider.id).find(A=>A.provider.input?.quickActions?.supported?.[I.id]!=null);if(C!=null){let A={definition:I,providerInitializationResult:C};return u.push(A),A}else return}}).filter(tn);return x=Y9(x),x.length===0||x.every(I=>I==="ly.img.separator")||x.every(I=>I==="ly.img.separator"||I.providerInitializationResult!=null)||h.push({providerInitializationResult:f,quickActions:x}),h},[]);if(s.length===0)if(u.length>0){let h=new Map;u.forEach(x=>{let I=x.definition.id;h.has(I)||h.set(I,x)});let f=Array.from(h.values());s.push({providerInitializationResult:f[0].providerInitializationResult??e.providerInitializationResults[0],quickActions:f})}else return;let c=s.map(({providerInitializationResult:h})=>({id:h.provider.id,label:h.provider.name??h.provider.id})),d=i.experimental.global(`${t}.currentProvider`,c[0]),p=s.find(({providerInitializationResult:{provider:{id:h}}})=>h===d.value?.id),y=n.every(h=>i.engine.block.getState(h).type==="Ready"),{builder:g,experimental:b,state:v}=i,m=v(`${t}.isGenerating`,!1),w=v(`${t}.toggleExpandedState`,void 0),k=async(h,f,x)=>{m.setValue(!0);try{return await x(h,f)}finally{m.setValue(!1)}};b.builder.Popover(`${t}.popover`,{icon:"@imgly/Sparkle",variant:"plain",isDisabled:!y,isLoading:m.value,trailingIcon:null,children:({close:h})=>{if(w.value!==void 0){let f=p?.quickActions.find(I=>I!=="ly.img.separator"&&I.definition.id===w.value);if(f==null||f.definition.render==null)return;let x=s.filter(({quickActions:I})=>I.some(C=>C!=="ly.img.separator"&&C.definition.id===f.definition.id)).map(({providerInitializationResult:I})=>({id:I.provider.id,label:I.provider.name??I.provider.id}));x.length>1&&g.Section(`${t}.popover.expanded.header`,{children:()=>{g.Select(`${t}.expanded.providerSelect.select`,{inputLabel:`${t}.quickActionMenu.providerSelect.label`,values:x,...d})}}),g.Section(`${t}.popover.expanded.section`,{children:()=>f.definition.render({...i,toggleExpand:()=>{w.setValue(void 0)},isExpanded:!0,generate:ks({blockIds:n,providerInitializationResult:f.providerInitializationResult??p?.providerInitializationResult,quickAction:f.definition,middlewares:[k],confirmation:f.definition.defaults?.confirmation??!0,lock:f.definition.defaults?.lock??!0,close:h,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:h,providerId:d.value.id})})}else c.length>1&&g.Section(`${t}.popover.header`,{children:()=>{g.Select(`${t}.providerSelect.select`,{inputLabel:`${t}.quickActionMenu.providerSelect.label`,values:c,...d})}}),g.Section(`${t}.popover.section`,{children:()=>{b.builder.Menu(`${t}.menu`,{children:()=>{p?.quickActions.forEach(f=>{if(f==="ly.img.separator"){g.Separator(`${t}.separator.${Math.random().toString()}`);return}f.definition.render!=null&&f.definition.render({...i,toggleExpand:()=>{w.setValue(f.definition.id)},isExpanded:!1,generate:ks({blockIds:n,providerInitializationResult:f.providerInitializationResult??p?.providerInitializationResult,quickAction:f.definition,middlewares:[k],confirmation:f.definition.defaults?.confirmation??!0,close:h,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:h,providerId:d.value.id})})}})}})}})};return Promise.resolve(r)}function u3(e){return e.map(t=>t==="ly.img.separator"?t:Hs.get().getBy({id:t,type:"quick"})[0]).filter(tn)}var c3=s3;async function d3(e){let t=await c3({kind:e.kind,providerInitializationResults:e.providerInitializationResults,cesdk:e.cesdk,engine:e.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:e.defaultOrder}),r=await G9({kind:e.kind,cesdk:e.cesdk});return{renderFunction:i=>{let{engine:n}=i;if(n.editor.getEditMode()===rn){let a=i.engine.block.findAllSelected();r({...i,payload:{...i.payload??{},applyCallbacks:{onBefore:()=>{a.forEach(o=>{we.get().get(o).applyCallbacks?.onBefore?.()})},onAfter:()=>{a.forEach(o=>{we.get().get(o).applyCallbacks?.onAfter?.()})},onCancel:()=>{a.forEach(o=>{we.get().get(o).applyCallbacks?.onCancel?.()})},onApply:()=>{a.forEach(o=>{we.get().get(o).applyCallbacks?.onApply?.()})}},onCancelGeneration:()=>{a.forEach(o=>{we.get().get(o).onCancelGeneration?.()})}}});return}t(i)}}}var p3=d3,g3="@imgly/plugin-ai-image-generation",y3=`
|
|
129
|
+
`,Z9=H9;function Q9(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await Bu(2e3),await W9(t,e,r)):i(t,r)}async function W9(e,t,r){switch(t.kind){case"image":return K9(e,t,r);case"video":return J9(e,t,r);case"text":return X9(e,t,r);case"audio":return t3(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function K9(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,u=await Y5(s,r),l=await Vo(u,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
|
|
130
|
+
`,"+")}`}}async function J9(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function X9(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=Ir(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Ir(n,o)}else"customPrompt"in e?a=Ir(n,"custom"):a=Ir(n,"improved");else a=Ir(n,"generated");return e3(a,r.abortSignal)}async function*e3(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await Bu(100)}return{kind:"text",text:e}}function Ir(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let c=u[l%u.length];if(s.length+c.length<=n)s+=c;else{s+=c.substring(0,n-s.length);break}l++}}return r+s}async function t3(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:r3(220,i),duration:i,thumbnailUrl:void 0}}function r3(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return i3(i,44100)}function i3(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,u=44+s,l=new ArrayBuffer(u),c=new DataView(l),d=(y,h)=>{for(let b=0;b<h.length;b++)c.setUint8(y+b,h.charCodeAt(b))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,s,!0);let g=44;for(let y=0;y<r;y++){let h=Math.max(-1,Math.min(1,e[y])),b=Math.round(h*32767);c.setInt16(g,b,!0),g+=2}let p=new Uint8Array(l),f="";for(let y=0;y<p.length;y++)f+=String.fromCharCode(p[y]);return`data:audio/wav;base64,${btoa(f)}`}async function Bu(e){return new Promise(t=>{setTimeout(t,e)})}var n3=Q9,Gu="USER_CANCEL";function o3(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Z5([...e.provider.output.middleware??[],...r?.middlewares??[],W5({enable:r?.debug}),n3({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:e9(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return Wo(n)?{status:"aborted",message:n.message}:n===Gu?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var a3=o3;async function l3(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=G9(a),s=Y9(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let u=a3({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await V9(a,u);t9(r.cesdk,"@imgly/plugin-ai-generation",Z9);let c={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:u};return $u.get().register(c),c}var Lo=l3;function s3(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new H0(n,r,i);return r.engine.asset.addSource(a),a.id}var u3=s3;function Sr(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function c3(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(Array.isArray(t)){let l=await Promise.all(t.map(c=>Lo(e,c,r,i)));o.push(...l),a=p3({kind:e,prefix:e,providerInitializationResults:o})}else{let l=await Promise.all(t.fromText.map(d=>Lo(e,d,r,i)));o.push(...l);let c=await Promise.all(t.fromImage.map(d=>Lo(e,d,r,i)));o.push(...c),a=d3({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:c})}let s=u3({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(yn)}),u;return s!=null&&(u=s,r.cesdk.ui.addAssetLibraryEntry({id:u,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:u},providerInitializationResults:o}}function d3({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i}){let n=r.length>0&&i.length>0;return a=>{let{builder:o,experimental:s}=a,u=s.global(`${t}.fromType`,n?"fromText":void 0),l=[];u.value==="fromText"?l.push(...r):u.value==="fromImage"?l.push(...i):l.push(...r,...i);let c=r.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),d=i.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),g=a.experimental.global(`${t}.selectedProvider.fromText`,c[0]),p=a.experimental.global(`${t}.selectedProvider.fromImage`,d[0]),f=u.value==="fromText"?g:u.value==="fromImage"?p:void 0;if((n||l.length>1)&&o.Section(`${t}.providerSelection.section`,{children:()=>{if(n&&o.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:Sr(e,"fromType.label"),children:()=>{o.Button(`${t}.fromType.buttonGroup.fromText`,{label:Sr(e,"fromText.label"),icon:u.value!=="fromText"&&Qs(r,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromText",onClick:()=>{u.setValue("fromText")}}),o.Button(`${t}.fromType.buttonGroup.fromImage`,{label:Sr(e,"fromImage.label"),icon:u.value!=="fromImage"&&Qs(i,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromImage",onClick:()=>{u.setValue("fromImage")}})}}),l.length>1){let y=u.value==="fromText"?c:u.value==="fromImage"?d:[...c,...d];f!=null&&o.Select(`${t}.providerSelect.select`,{inputLabel:Sr(e,"providerSelect.label"),values:y,...f})}}}),l.length>1)f?.value.builderRenderFunction?.(a);else{let y=l[0];y&&y.panel?.builderRenderFunction?.(a)}}}function p3({kind:e,prefix:t,providerInitializationResults:r}){return i=>{let{builder:n}=i;if(r.length===0)return;let a=r.map(({provider:s,panel:u})=>({id:s.id,label:s.name??s.id,builderRenderFunction:u?.builderRenderFunction})),o=i.state(`${t}.selectedProvider`,a[0]);r.length>1&&o!=null&&n.Section(`${t}.providerSelection.section`,{children:()=>{n.Select(`${t}.providerSelect.select`,{inputLabel:Sr(e,"providerSelect.label"),values:a,...o})}}),o.value.builderRenderFunction?.(i)}}function Qs(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Jo(r.id),!1).value)}var g3=c3,mn="ly.img.ai.editMode",qu="ly.img.ai.metadata";async function f3(e){let t=`ly.img.ai.${e.kind}.confirmation`;e.cesdk?.i18n.setTranslations({en:{"ly.img.ai.processing":"Generating...",[`${t}.cancel`]:"Cancel Generation",[`${t}.apply`]:"Apply Generation",[`${t}.before`]:"Before",[`${t}.after`]:"After"}});let r=i=>{let{engine:n,builder:a,state:o,payload:s}=i;if(s==null)return;let u=n.block.findAllSelected();if(u.length===0)return null;let l=new wu(n,qu),c=l.get(u[0]);if(c==null)return null;let d=()=>{u.forEach(g=>{l.clear(g)})};switch(c.status){case"processing":{a.Button(`${t}.spinner`,{label:[`ly.img.ai.${c.quickActionId}.processing`,"ly.img.ai.processing"],isLoading:!0}),a.Separator(`${t}.separator`),a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{s.onCancelGeneration?.(),d()}});break}case"confirmation":{let g=o(`${t}.comparing`,"after"),p=s.applyCallbacks?.onCancel;p!=null&&a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{p(),d()}});let f=s.applyCallbacks?.onBefore,y=s.applyCallbacks?.onAfter;f!=null&&y!=null&&a.ButtonGroup(`${t}.compare`,{children:()=>{a.Button(`${t}.compare.before`,{label:`${t}.before`,variant:"regular",isActive:g.value==="before",onClick:()=>{f(),g.setValue("before")}}),a.Button(`${t}.compare.after`,{label:`${t}.after`,variant:"regular",isActive:g.value==="after",onClick:()=>{y(),g.setValue("after")}})}});let h=s.applyCallbacks?.onApply;h!=null&&a.Button(`${t}.apply`,{icon:"@imgly/Checkmark",tooltip:`${t}.apply`,color:"accent",isDisabled:g.value!=="after",onClick:()=>{d();let b=e.cesdk.engine.editor;typeof b._update=="function"&&b._update(),h()}});break}default:}};return Promise.resolve(r)}var y3=f3;function m3(e){if(e.length===0)return[];let t=[...e];for(;t.length>0&&t[0]==="ly.img.separator";)t.shift();for(;t.length>0&&t[t.length-1]==="ly.img.separator";)t.pop();return t.reduce((r,i)=>(i==="ly.img.separator"&&r.length>0&&r[r.length-1]==="ly.img.separator"||r.push(i),r),[])}var h3=m3;function b3(e){return`ly.img.ai.${e}.canvasMenu`}var v3=b3;function w3(e){let{kind:t,cesdk:r,payload:i,defaultOrder:n}=e,a=v3(t);if(i==null||!Array.isArray(i.children)){let o=r.ui.getCanvasMenuOrder().find(({id:s})=>s===a);return o!=null&&Array.isArray(o.children)?o.children:n??[]}return i.children.filter(o=>typeof o=="string")}var k3=w3;function x3(e,t){if(t.blockIds.some(r=>!t.cesdk.engine.block.isValid(r)))return Promise.resolve({applyCallbacks:{onBefore:()=>{},onAfter:()=>{},onCancel:()=>{},onApply:()=>{}}});switch(t.kind){case"text":return I3(e,t);case"image":return C3(e,t);case"video":return A3(e,t);case"audio":return M3(e,t);default:throw new Error(`Unsupported output kind for quick actions: ${t.kind}`)}}async function I3(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t,a=i.map(l=>r.engine.block.getString(l,"text/text")),o;if(e.type==="async"){let l="";for await(let c of e.output){if(n?.aborted)break;typeof c=="string"?l=c:c.kind==="text"&&(l=c.text),i.forEach(d=>{r.engine.block.setString(d,"text/text",l)}),o={kind:"text",text:l}}}else o=e.output;if(o==null||o.kind!=="text")throw new Error("Output kind from generation is not text");e.type==="sync"&&i.forEach(l=>{r.engine.block.setString(l,"text/text",o.text)});let s=()=>{t.blockIds.forEach(l=>{t.cesdk.engine.block.setString(l,"text/text",o.text)})},u=()=>{t.blockIds.forEach((l,c)=>{t.cesdk.engine.block.setString(l,"text/text",a[c])})};return{applyCallbacks:{onBefore:u,onAfter:s,onCancel:u,onApply:()=>{s(),t.cesdk.engine.editor.addUndoStep()}}}}async function C3(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t;if(i.length!==1)throw new Error("Only one block is supported for image generation");let[a]=i,o=r.engine.block.getFill(a),s=r.engine.block.getSourceSet(o,"fill/image/sourceSet"),[u]=s,l;u==null&&(l=r.engine.block.getString(o,"fill/image/imageFileURI"));let c=await r.engine.editor.getMimeType(u?.uri??l),d=await Vo(u?.uri??l,t.cesdk.engine),g=d.width/d.height;if(n?.throwIfAborted(),c==="image/svg+xml")throw new Error("SVG images are not supported");let p=r.engine.block.getCropScaleX(a),f=r.engine.block.getCropScaleY(a),y=r.engine.block.getCropTranslationX(a),h=r.engine.block.getCropTranslationY(a),b=r.engine.block.getCropRotation(a),I=()=>{r.engine.block.setCropScaleX(a,p),r.engine.block.setCropScaleY(a,f),r.engine.block.setCropTranslationX(a,y),r.engine.block.setCropTranslationY(a,h),r.engine.block.setCropRotation(a,b)};if(e.type==="async")throw new Error("Streaming generation is not supported yet from a panel");if(e.output.kind!=="image"||typeof e.output.url!="string")throw new Error("Output kind from generation is not an image");let x=e.output.url,w=await r.engine.editor.getMimeType(x),v=await j3(r,x,w),k=await Vo(v,t.cesdk.engine),m=k.width/k.height,A=Math.abs(g-m)>.001,C=u?[{uri:v,width:k.width,height:k.height}]:void 0,M=v;C==null?r.engine.block.setString(o,"fill/image/imageFileURI",M):(r.engine.block.setString(o,"fill/image/imageFileURI",""),r.engine.block.setSourceSet(o,"fill/image/sourceSet",C)),await r.engine.block.forceLoadResources([o]),A?r.engine.block.setContentFillMode(a,"Cover"):I();let j=()=>{if(s==null||s.length===0){if(l==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",l)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",s);I()},ur=()=>{if(C==null){if(M==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",M)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",C);A?r.engine.block.setContentFillMode(a,"Cover"):I()};return{applyCallbacks:{onBefore:j,onAfter:ur,onCancel:()=>{j()},onApply:()=>{ur(),t.cesdk.engine.editor.addUndoStep()}}}}async function A3(e,t){throw new Error("Function not implemented.")}async function M3(e,t){throw new Error("Function not implemented.")}async function j3(e,t,r){let i=await(await fetch(t)).blob(),n=new File([i],`image.${q5(r)}`,{type:r}),a=await e.unstable_upload(n,()=>{});return a?.meta?.uri??(console.warn("Failed to upload image:",a),t)}var S3=x3;function _3(e){let{engine:t,blockIdsToLock:r,editModeToLockTo:i}=e;function n(){let u=t.block.findAllSelected();return r.some(l=>u.includes(l))}let a=t.editor.onStateChanged(()=>{t.editor.getEditMode()!==i&&n()&&t.editor.setEditMode(i)}),o=t.block.onSelectionChanged(()=>{n()?t.editor.setEditMode(i):t.editor.setEditMode("Transform")});n()&&t.editor.setEditMode(i);let s=!1;return()=>{s||(o(),a(),t.editor.setEditMode("Transform"),s=!0)}}var E3=_3,$3=class Yu{constructor(){this.actions=new Map}static get(){let t="__imgly_callbacks_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Yu),r[t]}register(t,r){let i=this.actions.get(t)??{};this.actions.set(t,{...i,...r})}get(t){return this.actions.get(t)??{}}},be=$3;function L3(e){return async(t,r)=>{let i=r?.blockIds??e.blockIds;if(e.providerInitializationResult==null)return e.debug&&console.warn("[Generate] No provider initialization result found for quick action. Returning abortion status."),{status:"aborted"};let n=e.providerInitializationResult?.provider.input?.quickActions?.supported?.[e.quickAction.id];if(n==null)throw new Error("[Generate] Quick action input mapping failed. Ensure the provider supports this quick action.");let a=typeof n=="object"&&n!==null&&"mapInput"in n?n.mapInput:c=>c;e.close();let o=new AbortController,s=AbortSignal.any([e.abortSignal,o.signal].filter(yn)),u=new wu(e.cesdk.engine,qu),l=e.lock??!0?E3({engine:e.cesdk.engine,editModeToLockTo:mn,blockIdsToLock:i}):()=>{};i.forEach(c=>{be.get().register(c,{onCancelGeneration:()=>{o.abort(Gu),l(),e.cesdk.engine.block.isValid(c)&&(e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"}),u.clear(c))}})}),i?.forEach(c=>{u.set(c,{status:"processing",quickActionId:e.quickAction.id})}),i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Pending",progress:0})});try{let c=await e.providerInitializationResult.generate(a(t),{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:s}),d=c.status;switch(d){case"success":{let{applyCallbacks:g}=await S3(c,{kind:e.providerInitializationResult.provider.kind,blockIds:i,cesdk:e.cesdk,abortSignal:s});if(i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&e.cesdk.engine.block.setState(p,{type:"Ready"})}),e.confirmation){i.forEach(f=>{u.set(f,{status:"confirmation",quickActionId:e.quickAction.id})});let p={...g,onApply:async()=>{g.onApply(),l()},onCancel:()=>{g.onCancel(),l()}};i.forEach(f=>{be.get().register(f,{applyCallbacks:p})})}else i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&u.clear(p)}),g.onApply(),l();return c}case"aborted":return e.debug&&console.log("Generation was aborted"),l(),i.forEach(g=>{e.cesdk.engine.block.isValid(g)&&u.clear(g)}),c;case"error":return l(),i.forEach(g=>{e.cesdk.engine.block.isValid(g)&&u.clear(g)}),console.error(`[Generate]: ${c.message}`),c;default:throw new Error(`[Generate] Unknown result status ${d}.`)}}catch(c){throw e.cesdk.ui.showNotification({type:"error",message:"A technical issue has occurred."}),l(),i.forEach(d=>{e.cesdk.engine.block.isValid(d)&&u.clear(d)}),c}finally{i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"})})}}}var Ws=L3;function T3(e){let t=`ly.img.ai.${e.kind}}`;e.cesdk.i18n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.quickAction.providerSelect.label":"Provider"}});let r=i=>{if(i.engine.editor.getEditMode()===mn)return;let n=i.engine.block.findAllSelected();if(n.length===0)return;let{payload:a}=i,o=k3({kind:e.kind,cesdk:e.cesdk,payload:a,defaultOrder:e.defaultOrder})??[];if(o.length===0)return;let s=O3(o).filter(w=>{if(w==="ly.img.separator")return!0;let v=w.scopes;if(v!=null&&v.length>0&&!n.every(k=>v.every(m=>e.engine.block.isAllowedByScope(k,m))))return!1;if(w.enable!=null){if(typeof w.enable=="function")return w.enable({engine:e.engine});if(typeof w.enable=="boolean")return w.enable}return!0}),u=[],l=e.providerInitializationResults.reduce((w,v)=>{if(v.provider.kind!==e.kind)return w;let k=s.map(m=>{if(m==="ly.img.separator")return m;if(v.provider.input?.quickActions?.supported?.[m.id]!=null)return{definition:m};{let A=$u.get().getAll().filter(C=>C.provider.kind!==e.kind&&C.provider.id!==v.provider.id).find(C=>C.provider.input?.quickActions?.supported?.[m.id]!=null);if(A!=null){let C={definition:m,providerInitializationResult:A};return u.push(C),C}else return}}).filter(yn);return k=h3(k),k.length===0||k.every(m=>m==="ly.img.separator")||k.every(m=>m==="ly.img.separator"||m.providerInitializationResult!=null)||w.push({providerInitializationResult:v,quickActions:k}),w},[]);if(l.length===0)if(u.length>0){let w=new Map;u.forEach(k=>{let m=k.definition.id;w.has(m)||w.set(m,k)});let v=Array.from(w.values());l.push({providerInitializationResult:v[0].providerInitializationResult??e.providerInitializationResults[0],quickActions:v})}else return;let c=l.map(({providerInitializationResult:w})=>({id:w.provider.id,label:w.provider.name??w.provider.id})),d=i.experimental.global(`${t}.currentProvider`,c[0]),g=l.find(({providerInitializationResult:{provider:{id:w}}})=>w===d.value?.id),p=n.every(w=>i.engine.block.getState(w).type==="Ready"),{builder:f,experimental:y,state:h}=i,b=h(`${t}.isGenerating`,!1),I=h(`${t}.toggleExpandedState`,void 0),x=async(w,v,k)=>{b.setValue(!0);try{return await k(w,v)}finally{b.setValue(!1)}};y.builder.Popover(`${t}.popover`,{icon:"@imgly/Sparkle",variant:"plain",isDisabled:!p,isLoading:b.value,trailingIcon:null,children:({close:w})=>{if(I.value!==void 0){let v=g?.quickActions.find(m=>m!=="ly.img.separator"&&m.definition.id===I.value);if(v==null||v.definition.render==null)return;let k=l.filter(({quickActions:m})=>m.some(A=>A!=="ly.img.separator"&&A.definition.id===v.definition.id)).map(({providerInitializationResult:m})=>({id:m.provider.id,label:m.provider.name??m.provider.id}));k.length>1&&f.Section(`${t}.popover.expanded.header`,{children:()=>{f.Select(`${t}.expanded.providerSelect.select`,{inputLabel:[`ly.img.plugin-ai-${e.kind}-generation-web.quickAction.providerSelect.label`,"ly.img.plugin-ai-generation-web.defaults.quickAction.providerSelect.label"],values:k,...d})}}),f.Section(`${t}.popover.expanded.section`,{children:()=>v.definition.render({...i,toggleExpand:()=>{I.setValue(void 0)},isExpanded:!0,generate:Ws({blockIds:n,providerInitializationResult:v.providerInitializationResult??g?.providerInitializationResult,quickAction:v.definition,middlewares:[x],confirmation:v.definition.defaults?.confirmation??!0,lock:v.definition.defaults?.lock??!0,close:w,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:w,providerId:d.value.id})})}else c.length>1&&f.Section(`${t}.popover.header`,{children:()=>{f.Select(`${t}.providerSelect.select`,{inputLabel:[`ly.img.plugin-ai-${e.kind}-generation-web.quickAction.providerSelect.label`,"ly.img.plugin-ai-generation-web.defaults.quickAction.providerSelect.label"],values:c,...d})}}),f.Section(`${t}.popover.section`,{children:()=>{y.builder.Menu(`${t}.menu`,{children:()=>{g?.quickActions.forEach(v=>{if(v==="ly.img.separator"){f.Separator(`${t}.separator.${Math.random().toString()}`);return}v.definition.render!=null&&v.definition.render({...i,toggleExpand:()=>{I.setValue(v.definition.id)},isExpanded:!1,generate:Ws({blockIds:n,providerInitializationResult:v.providerInitializationResult??g?.providerInitializationResult,quickAction:v.definition,middlewares:[x],confirmation:v.definition.defaults?.confirmation??!0,close:w,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:w,providerId:d.value.id})})}})}})}})};return Promise.resolve(r)}function O3(e){return e.map(t=>t==="ly.img.separator"?t:_u.get().getBy({id:t,type:"quick"})[0]).filter(yn)}var N3=T3;async function D3(e){let t=await N3({kind:e.kind,providerInitializationResults:e.providerInitializationResults,cesdk:e.cesdk,engine:e.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:e.defaultOrder}),r=await y3({kind:e.kind,cesdk:e.cesdk});return{renderFunction:i=>{let{engine:n}=i;if(n.editor.getEditMode()===mn){let a=i.engine.block.findAllSelected();r({...i,payload:{...i.payload??{},applyCallbacks:{onBefore:()=>{a.forEach(o=>{be.get().get(o).applyCallbacks?.onBefore?.()})},onAfter:()=>{a.forEach(o=>{be.get().get(o).applyCallbacks?.onAfter?.()})},onCancel:()=>{a.forEach(o=>{be.get().get(o).applyCallbacks?.onCancel?.()})},onApply:()=>{a.forEach(o=>{be.get().get(o).applyCallbacks?.onApply?.()})}},onCancelGeneration:()=>{a.forEach(o=>{be.get().get(o).onCancelGeneration?.()})}}});return}t(i)}}}var P3=D3,z3="@imgly/plugin-ai-image-generation",U3=`
|
|
131
131
|
<svg>
|
|
132
132
|
<symbol
|
|
133
133
|
fill="none"
|
|
@@ -141,10 +141,10 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
141
141
|
|
|
142
142
|
</symbol>
|
|
143
143
|
</svg>
|
|
144
|
-
`,f3=y3,m3=typeof global=="object"&&global&&global.Object===Object&&global,du=m3,h3=typeof self=="object"&&self&&self.Object===Object&&self,b3=du||h3||Function("return this")(),Z=b3,v3=Z.Symbol,Ke=v3,pu=Object.prototype,w3=pu.hasOwnProperty,k3=pu.toString,xr=Ke?Ke.toStringTag:void 0;function x3(e){var t=w3.call(e,xr),r=e[xr];try{e[xr]=void 0;var i=!0}catch{}var n=k3.call(e);return i&&(t?e[xr]=r:delete e[xr]),n}var I3=x3,C3=Object.prototype,A3=C3.toString;function M3(e){return A3.call(e)}var j3=M3,S3="[object Null]",_3="[object Undefined]",xs=Ke?Ke.toStringTag:void 0;function $3(e){return e==null?e===void 0?_3:S3:xs&&xs in Object(e)?I3(e):j3(e)}var Nr=$3;function E3(e){return e!=null&&typeof e=="object"}var Io=E3,YW=Array.isArray;function L3(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var gu=L3,T3="[object AsyncFunction]",O3="[object Function]",N3="[object GeneratorFunction]",D3="[object Proxy]";function P3(e){if(!gu(e))return!1;var t=Nr(e);return t==O3||t==N3||t==T3||t==D3}var z3=P3,U3=Z["__core-js_shared__"],no=U3,Is=function(){var e=/[^.]+$/.exec(no&&no.keys&&no.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function R3(e){return!!Is&&Is in e}var F3=R3,V3=Function.prototype,B3=V3.toString;function G3(e){if(e!=null){try{return B3.call(e)}catch{}try{return e+""}catch{}}return""}var xe=G3,q3=/[\\^$.*+?()[\]{}|]/g,Y3=/^\[object .+?Constructor\]$/,H3=Function.prototype,Z3=Object.prototype,Q3=H3.toString,W3=Z3.hasOwnProperty,K3=RegExp("^"+Q3.call(W3).replace(q3,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function J3(e){if(!gu(e)||F3(e))return!1;var t=z3(e)?K3:Y3;return t.test(xe(e))}var X3=J3;function e7(e,t){return e?.[t]}var t7=e7;function r7(e,t){var r=t7(e,t);return X3(r)?r:void 0}var rt=r7,i7=rt(Z,"WeakMap"),yo=i7;function n7(e,t){return e===t||e!==e&&t!==t}var o7=n7,a7=9007199254740991;function l7(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=a7}var s7=l7,HW=Object.prototype,u7="[object Arguments]";function c7(e){return Io(e)&&Nr(e)==u7}var Cs=c7,yu=Object.prototype,d7=yu.hasOwnProperty,p7=yu.propertyIsEnumerable,ZW=Cs(function(){return arguments}())?Cs:function(e){return Io(e)&&d7.call(e,"callee")&&!p7.call(e,"callee")},fu=typeof exports=="object"&&exports&&!exports.nodeType&&exports,As=fu&&typeof module=="object"&&module&&!module.nodeType&&module,g7=As&&As.exports===fu,Ms=g7?Z.Buffer:void 0,QW=Ms?Ms.isBuffer:void 0,y7="[object Arguments]",f7="[object Array]",m7="[object Boolean]",h7="[object Date]",b7="[object Error]",v7="[object Function]",w7="[object Map]",k7="[object Number]",x7="[object Object]",I7="[object RegExp]",C7="[object Set]",A7="[object String]",M7="[object WeakMap]",j7="[object ArrayBuffer]",S7="[object DataView]",_7="[object Float32Array]",$7="[object Float64Array]",E7="[object Int8Array]",L7="[object Int16Array]",T7="[object Int32Array]",O7="[object Uint8Array]",N7="[object Uint8ClampedArray]",D7="[object Uint16Array]",P7="[object Uint32Array]",_={};_[_7]=_[$7]=_[E7]=_[L7]=_[T7]=_[O7]=_[N7]=_[D7]=_[P7]=!0;_[y7]=_[f7]=_[j7]=_[m7]=_[S7]=_[h7]=_[b7]=_[v7]=_[w7]=_[k7]=_[x7]=_[I7]=_[C7]=_[A7]=_[M7]=!1;function z7(e){return Io(e)&&s7(e.length)&&!!_[Nr(e)]}var U7=z7;function R7(e){return function(t){return e(t)}}var F7=R7,mu=typeof exports=="object"&&exports&&!exports.nodeType&&exports,jr=mu&&typeof module=="object"&&module&&!module.nodeType&&module,V7=jr&&jr.exports===mu,oo=V7&&du.process,B7=function(){try{var e=jr&&jr.require&&jr.require("util").types;return e||oo&&oo.binding&&oo.binding("util")}catch{}}(),js=B7,Ss=js&&js.isTypedArray,WW=Ss?F7(Ss):U7,G7=Object.prototype,KW=G7.hasOwnProperty;function q7(e,t){return function(r){return e(t(r))}}var Y7=q7,JW=Y7(Object.keys,Object),H7=Object.prototype,XW=H7.hasOwnProperty,Z7=rt(Object,"create"),$r=Z7;function Q7(){this.__data__=$r?$r(null):{},this.size=0}var W7=Q7;function K7(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var J7=K7,X7="__lodash_hash_undefined__",e8=Object.prototype,t8=e8.hasOwnProperty;function r8(e){var t=this.__data__;if($r){var r=t[e];return r===X7?void 0:r}return t8.call(t,e)?t[e]:void 0}var i8=r8,n8=Object.prototype,o8=n8.hasOwnProperty;function a8(e){var t=this.__data__;return $r?t[e]!==void 0:o8.call(t,e)}var l8=a8,s8="__lodash_hash_undefined__";function u8(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=$r&&t===void 0?s8:t,this}var c8=u8;function it(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}it.prototype.clear=W7;it.prototype.delete=J7;it.prototype.get=i8;it.prototype.has=l8;it.prototype.set=c8;var _s=it;function d8(){this.__data__=[],this.size=0}var p8=d8;function g8(e,t){for(var r=e.length;r--;)if(o7(e[r][0],t))return r;return-1}var nn=g8,y8=Array.prototype,f8=y8.splice;function m8(e){var t=this.__data__,r=nn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():f8.call(t,r,1),--this.size,!0}var h8=m8;function b8(e){var t=this.__data__,r=nn(t,e);return r<0?void 0:t[r][1]}var v8=b8;function w8(e){return nn(this.__data__,e)>-1}var k8=w8;function x8(e,t){var r=this.__data__,i=nn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var I8=x8;function nt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}nt.prototype.clear=p8;nt.prototype.delete=h8;nt.prototype.get=v8;nt.prototype.has=k8;nt.prototype.set=I8;var on=nt,C8=rt(Z,"Map"),Er=C8;function A8(){this.size=0,this.__data__={hash:new _s,map:new(Er||on),string:new _s}}var M8=A8;function j8(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var S8=j8;function _8(e,t){var r=e.__data__;return S8(t)?r[typeof t=="string"?"string":"hash"]:r.map}var an=_8;function $8(e){var t=an(this,e).delete(e);return this.size-=t?1:0,t}var E8=$8;function L8(e){return an(this,e).get(e)}var T8=L8;function O8(e){return an(this,e).has(e)}var N8=O8;function D8(e,t){var r=an(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var P8=D8;function ot(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ot.prototype.clear=M8;ot.prototype.delete=E8;ot.prototype.get=T8;ot.prototype.has=N8;ot.prototype.set=P8;var hu=ot;function z8(){this.__data__=new on,this.size=0}var U8=z8;function R8(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var F8=R8;function V8(e){return this.__data__.get(e)}var B8=V8;function G8(e){return this.__data__.has(e)}var q8=G8,Y8=200;function H8(e,t){var r=this.__data__;if(r instanceof on){var i=r.__data__;if(!Er||i.length<Y8-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new hu(i)}return r.set(e,t),this.size=r.size,this}var Z8=H8;function Dr(e){var t=this.__data__=new on(e);this.size=t.size}Dr.prototype.clear=U8;Dr.prototype.delete=F8;Dr.prototype.get=B8;Dr.prototype.has=q8;Dr.prototype.set=Z8;var Q8=Object.prototype,eK=Q8.propertyIsEnumerable,W8=rt(Z,"DataView"),fo=W8,K8=rt(Z,"Promise"),mo=K8,J8=rt(Z,"Set"),ho=J8,$s="[object Map]",X8="[object Object]",Es="[object Promise]",Ls="[object Set]",Ts="[object WeakMap]",Os="[object DataView]",ev=xe(fo),tv=xe(Er),rv=xe(mo),iv=xe(ho),nv=xe(yo),Ze=Nr;(fo&&Ze(new fo(new ArrayBuffer(1)))!=Os||Er&&Ze(new Er)!=$s||mo&&Ze(mo.resolve())!=Es||ho&&Ze(new ho)!=Ls||yo&&Ze(new yo)!=Ts)&&(Ze=function(e){var t=Nr(e),r=t==X8?e.constructor:void 0,i=r?xe(r):"";if(i)switch(i){case ev:return Os;case tv:return $s;case rv:return Es;case iv:return Ls;case nv:return Ts}return t});var tK=Z.Uint8Array,ov="__lodash_hash_undefined__";function av(e){return this.__data__.set(e,ov),this}var lv=av;function sv(e){return this.__data__.has(e)}var uv=sv;function bo(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new hu;++t<r;)this.add(e[t])}bo.prototype.add=bo.prototype.push=lv;bo.prototype.has=uv;var Ns=Ke?Ke.prototype:void 0,rK=Ns?Ns.valueOf:void 0,cv=Object.prototype,iK=cv.hasOwnProperty,dv=Object.prototype,nK=dv.hasOwnProperty,oK=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),aK=new RegExp(/[A-Fa-f0-9]{1}/,"g"),lK=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function pv(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function at(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return pv(i,t)}function gv(e){return e==null?[]:Array.isArray(e)?e:[e]}var Ds=gv,Ki="@imgly/plugin-ai-image-generation-web",yv=["ly.img.gpt-image-1.changeStyleLibrary","ly.img.styleTransfer","ly.img.artistTransfer","ly.img.separator","ly.img.editImage","ly.img.swapBackground","ly.img.createVariant","ly.img.combineImages","ly.img.separator","ly.img.remixPage","ly.img.separator","ly.img.createVideo"],bu="editImage",ie=`ly.img.${bu}`,R=`ly.img.plugin-ai-image-generation-web.quickAction.${bu}`,fv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${R}`]:"Edit Image...",[`${R}.description`]:"Change image based on description",[`${R}.prompt`]:"Edit Image...",[`${R}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${R}.apply`]:"Change"}}),{id:ie,type:"quick",kind:"image",label:`${R}`,enable:Or(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:l,close:u})=>{if(i){let s=l(`${ie}.prompt`,"");t.TextArea(`${ie}.prompt`,{inputLabel:`${R}.prompt`,placeholder:`${R}.prompt.placeholder`,...s}),t.Separator(`${ie}.separator`),r.builder.ButtonRow(`${ie}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ie}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ie}.footer.apply`,{label:`${R}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:s.value.length===0,onClick:async()=>{try{let c=s.value;if(!c)return;let[d]=o.block.findAllSelected(),p=await at(d,o,{throwErrorIfSvg:!0});await a({prompt:c,uri:p}),n(),u()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to edit image. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ie}.button`,{label:`${R}`,icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),mv=fv,vu="swapBackground",ne=`ly.img.${vu}`,F=`ly.img.plugin-ai-image-generation-web.quickAction.${vu}`,hv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${F}`]:"Swap Background...",[`${F}.description`]:"Change the background of the image",[`${F}.prompt`]:"Swap Background...",[`${F}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${F}.apply`]:"Change"}}),{id:ne,type:"quick",kind:"image",label:`${F}`,enable:Or(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:l,close:u})=>{if(i){let s=l(`${ne}.prompt`,"");t.TextArea(`${ne}.prompt`,{inputLabel:`${F}.prompt`,placeholder:`${F}.prompt.placeholder`,...s}),t.Separator(`${ne}.separator`),r.builder.ButtonRow(`${ne}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ne}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ne}.footer.apply`,{label:`${F}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:s.value.length===0,onClick:async()=>{try{let c=s.value;if(!c)return;let[d]=o.block.findAllSelected(),p=await at(d,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${c}`,uri:p}),n(),u()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to swap background. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ne}.button`,{label:`${F}`,icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),bv=hv,wu="styleTransfer",Ir=`ly.img.${wu}`,Qi=`ly.img.plugin-ai-image-generation-web.quickAction.${wu}`,vv=[{id:"water",label:"Watercolor Painting",prompt:"Convert to watercolor painting."},{id:"oil",label:"Oil Painting",prompt:"Render in oil painting style."},{id:"charcoal",label:"Charcoal Sketch",prompt:"Transform into a charcoal sketch."},{id:"pencil",label:"Pencil Drawing",prompt:"Apply pencil drawing effect."},{id:"pastel",label:"Pastel Artwork",prompt:"Make it look like a pastel artwork."},{id:"ink",label:"Ink Wash",prompt:"Turn into a classic ink wash painting."},{id:"stained-glass",label:"Stained Glass Window",prompt:"Stylize as a stained glass window."},{id:"japanese",label:"Japanese Woodblock Print",prompt:"Repaint as a traditional Japanese woodblock print."}],wv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${Qi}`]:"Change Art Style",[`${Qi}.description`]:"Transform image into different art styles"}}),{id:Ir,type:"quick",kind:"image",label:`${Qi}`,enable:Or(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a})=>{r.builder.Popover(`${Ir}.popover`,{label:`${Qi}`,icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Ir}.popover.section`,{children:()=>{r.builder.Menu(`${Ir}.popover.menu`,{children:()=>{vv.forEach(o=>{t.Button(`${Ir}.popover.menu.${o.id}`,{label:o.label,labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[l]=n.block.findAllSelected(),u=await at(l,n,{throwErrorIfSvg:!0});await i({style:o.prompt,uri:u}),a()}catch(l){console.error("Generation error:",l),e.ui.showNotification({type:"error",message:l.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),kv=wv,ku="artistTransfer",Cr=`ly.img.${ku}`,Wi=`ly.img.plugin-ai-image-generation-web.quickAction.${ku}`,xv=[{id:"van-gogh",label:"Van Gogh",prompt:"Render this image in the style of Vincent van Gogh, using expressive brushstrokes and swirling motion."},{id:"monet",label:"Monet",prompt:"Transform this image into the soft, impressionistic style of Claude Monet with natural light and delicate color blending."},{id:"picasso",label:"Picasso",prompt:"Apply a Pablo Picasso cubist style with abstract geometry and fragmented shapes."},{id:"dali",label:"Dal\xED",prompt:"Make this image resemble Salvador Dal\xED's surrealist style, with dreamlike distortion and soft shadows."},{id:"matisse",label:"Matisse",prompt:"Stylize the image using Henri Matisse's bold colors and simplified, flowing shapes."},{id:"warhol",label:"Warhol",prompt:"Convert this image into Andy Warhol's pop art style with flat colors, repetition, and bold outlines."},{id:"michelangelo",label:"Michelangelo",prompt:"Render the image in the classical Renaissance style of Michelangelo, with dramatic anatomy and fresco-like detail."},{id:"da-vinci",label:"Da Vinci",prompt:"Make this image look like a Leonardo da Vinci painting, using soft transitions, balanced composition, and natural tones."},{id:"rembrandt",label:"Rembrandt",prompt:"Apply Rembrandt's style with rich contrast, warm tones, and dramatic use of light and shadow."},{id:"mondrian",label:"Mondrian",prompt:"Transform the image into Piet Mondrian's abstract geometric style with grids and primary colors."},{id:"kahlo",label:"Frida Kahlo",prompt:"Stylize this image in the expressive, symbolic style of Frida Kahlo with vivid colors and surreal framing."},{id:"hokusai",label:"Hokusai",prompt:"Render the image in the style of Hokusai, using bold outlines, flat color, and traditional Japanese woodblock aesthetics."}],Iv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${Wi}`]:"Painted By",[`${Wi}.description`]:"Transform image in the style of famous artists"}}),{id:Cr,type:"quick",kind:"image",label:`${Wi}`,enable:Or(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a})=>{r.builder.Popover(`${Cr}.popover`,{label:`${Wi}`,icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Cr}.popover.section`,{children:()=>{r.builder.Menu(`${Cr}.popover.menu`,{children:()=>{xv.forEach(o=>{t.Button(`${Cr}.popover.menu.${o.id}`,{label:o.label,labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[l]=n.block.findAllSelected(),u=await at(l,n,{throwErrorIfSvg:!0});await i({artist:o.prompt,uri:u}),a()}catch(l){console.error("Generation error:",l),e.ui.showNotification({type:"error",message:l.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),Cv=Iv,xu="createVariant",oe=`ly.img.${xu}`,V=`ly.img.plugin-ai-image-generation-web.quickAction.${xu}`,Av=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${V}`]:"Create Variant...",[`${V}.description`]:"Create a variation of the image",[`${V}.prompt`]:"Create Variant...",[`${V}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${V}.apply`]:"Create"}}),{id:oe,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${V}`,enable:t=>{if(!Or()(t))return!1;let[r]=t.engine.block.findAllSelected();return!(!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(r,"lifecycle/duplicate"))},scopes:["fill/change","lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:l,close:u})=>{if(i){let s=l(`${oe}.prompt`,"");t.TextArea(`${oe}.prompt`,{inputLabel:`${V}.prompt`,placeholder:`${V}.prompt.placeholder`,...s}),t.Separator(`${oe}.separator`),r.builder.ButtonRow(`${oe}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${oe}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${oe}.footer.apply`,{label:`${V}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:s.value.length===0,onClick:async()=>{try{let c=s.value;if(!c)return;let[d]=o.block.findAllSelected(),p=o.block.getType(d),y=o.block.duplicate(d);p==="//ly.img.ubq/page"&&o.block.getChildren(y).forEach(v=>{o.block.destroy(v)}),o.block.setSelected(d,!1),o.block.setSelected(y,!0);let g=o.block.getParent(y);if(g==null)throw new Error("Parent not found");if(!(g!=null&&o.block.getType(g)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(g))&&p!=="//ly.img.ubq/page"){let v=o.block.getWidth(g),m=o.block.getHeight(g),w=.02*Math.min(v,m)*1;o.block.setPositionX(y,o.block.getPositionX(y)+w),o.block.setPositionY(y,o.block.getPositionY(y)+w)}let b=await at(y,o,{throwErrorIfSvg:!0});await a({prompt:c,uri:b},{blockIds:[y]}),n(),u()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to create variant. Please try again.",duration:"medium"})}}})}})}else t.Button(`${oe}.button`,{label:`${V}`,icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),Mv=Av,Iu="combineImages",ae=`ly.img.${Iu}`,q=`ly.img.plugin-ai-image-generation-web.quickAction.${Iu}`,jv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${q}.apply`]:"Combine",[`${q}`]:"Combine Images...",[`${q}.prompt`]:"Image Combination Instructions",[`${q}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:ae,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${q}`,enable:t=>{let r=t.engine.block.findAllSelected();return r==null||r.length<2?!1:r.every(i=>{if(t.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!t.engine.block.supportsFill(i))return!1;let n=t.engine.block.getFill(i);if(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))return!1;let a=t.engine.block.getParent(i);return!(a!=null&&t.engine.block.getType(a)==="//ly.img.ubq/track"&&t.engine.block.isPageDurationSource(a)||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:l,close:u})=>{if(i){let s=l(`${ae}.prompt`,"");t.TextArea(`${ae}.prompt`,{inputLabel:`${q}.prompt`,placeholder:`${q}.prompt.placeholder`,...s}),t.Separator(`${ae}.separator`),r.builder.ButtonRow(`${ae}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ae}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ae}.footer.apply`,{label:`${q}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:s.value.length===0,onClick:async()=>{try{let c=s.value;if(!c)return;let d=o.block.findAllSelected(),p=o.block.duplicate(d[0]);d.forEach(k=>{o.block.setSelected(k,!1)}),o.block.setSelected(p,!0);let y=o.block.getParent(p);if(y==null)throw new Error("Parent not found");let g=1,b=o.block.getWidth(y),v=o.block.getHeight(y),m=.02*Math.min(b,v)*g;o.block.setPositionX(p,o.block.getPositionX(p)+m),o.block.setPositionY(p,o.block.getPositionY(p)+m);let w=await Promise.all(d.map(k=>at(k,o,{throwErrorIfSvg:!0})));await a({prompt:c,uris:w,exportFromBlockIds:d},{blockIds:[p]}),n(),u()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to combine images. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ae}.button`,{label:`${q}`,icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),Sv=jv,Cu="remixPage",Ps=`ly.img.${Cu}`,ao=`ly.img.plugin-ai-image-generation-web.quickAction.${Cu}`,_v=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${ao}`]:"Turn Page into Image"}}),{id:Ps,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${ao}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,generate:r,engine:i,close:n})=>{t.Button(`${Ps}.button`,{label:`${ao}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=i.block.findAllSelected(),o=await i.block.export(a),l=URL.createObjectURL(o),u=i.block.duplicate(a);i.block.getChildren(u).forEach(v=>{i.block.destroy(v)}),i.block.setSelected(a,!1);let s=i.block.getFrameWidth(a),c=i.block.getFrameHeight(a),d=i.block.getPositionX(a),p=i.block.getPositionY(a),y=i.block.createShape("rect"),g=i.block.create("graphic");i.block.setShape(g,y),i.block.appendChild(u,g),i.block.setWidth(g,s),i.block.setHeight(g,c),i.block.setPositionX(g,d),i.block.setPositionY(g,p);let b=i.block.createFill("image");i.block.setFill(g,b),i.block.setString(b,"fill/image/imageFileURI",l),i.block.setSelected(g,!0),i.scene.zoomToBlock(g),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:l},{blockIds:[g]}),n()}catch(a){console.error("Generation error:",a),e.ui.showNotification({type:"error",message:a.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),$v=_v,Au="remixPageWithPrompt",le=`ly.img.${Au}`,Y=`ly.img.plugin-ai-image-generation-web.quickAction.${Au}`,Ev=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${Y}`]:"Remix Page...",[`${Y}.prompt`]:"Remix Page Prompt",[`${Y}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${Y}.apply`]:"Remix"}}),{id:le,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Y}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:l,close:u})=>{if(i){let s=l(`${le}.prompt`,"");t.TextArea(`${le}.prompt`,{inputLabel:`${Y}.prompt`,placeholder:`${Y}.prompt.placeholder`,...s}),t.Separator(`${le}.separator`),r.builder.ButtonRow(`${le}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${le}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${le}.footer.apply`,{label:`${Y}.apply`,icon:"@imgly/MagicWand",color:"accent",isDisabled:s.value.length===0,onClick:async()=>{try{let c=s.value;if(!c)return;let[d]=o.block.findAllSelected(),p=await o.block.export(d),y=URL.createObjectURL(p),g=o.block.duplicate(d);o.block.getChildren(g).forEach(x=>{o.block.destroy(x)}),o.block.setSelected(d,!1);let b=o.block.getFrameWidth(d),v=o.block.getFrameHeight(d),m=o.block.getPositionX(d),w=o.block.getPositionY(d),k=o.block.createShape("rect"),h=o.block.create("graphic");o.block.setShape(h,k),o.block.appendChild(g,h),o.block.setWidth(h,b),o.block.setHeight(h,v),o.block.setPositionX(h,m),o.block.setPositionY(h,w);let f=o.block.createFill("image");o.block.setFill(h,f),o.block.setString(f,"fill/image/imageFileURI",y),o.block.setSelected(h,!0),o.scene.zoomToBlock(h),await a({prompt:c,uri:y},{blockIds:[h]}),n(),u()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}})}else t.Button(`${le}.button`,{label:`${Y}`,icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),Lv=Ev,se="ly.img.ai.image-generation";function Tv(e){return{async initialize({cesdk:t}){if(t==null)return;E5(t,Ki,"0.2.4");let r=Hs.get(),i=r.register({type:"plugin",sceneMode:"Design",id:Ki,pluginId:Ki,label:"Generate Image",meta:{panelId:se},execute:()=>{t.ui.isPanelOpen(se)?t.ui.closePanel(se):t.ui.openPanel(se)}});t.ui.addIconSet(g3,f3),t.i18n.setTranslations({en:{[`panel.${se}`]:"Image Generation",[`${se}.dock.label`]:"AI Image"}}),Ov(e),r.register(mv({cesdk:t})),r.register(bv({cesdk:t})),r.register(kv({cesdk:t})),r.register(Cv({cesdk:t})),r.register(Mv({cesdk:t})),r.register(Sv({cesdk:t})),r.register($v({cesdk:t})),r.register(Lv({cesdk:t}));let n=e.providers?.text2image??e.text2image,a=e.providers?.image2image??e.image2image,o=await Promise.all(Ds(n).map(c=>c({cesdk:t}))),l=await Promise.all(Ds(a).map(c=>c({cesdk:t})));if(!(o.length>0||l.length>0)){i();return}let u=await V9("image",{fromText:o,fromImage:l},{cesdk:t},e),s=await p3({kind:"image",providerInitializationResults:u.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:yv});u.history?.assetSourceId!=null,s.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",s.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:rn})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(se,u.panel.builderRenderFunction),T5({cesdk:t,panelId:se})):i()}}}function Ov(e){e.debug&&(e.providers?.text2image!=null&&e.text2image!=null&&console.warn("[ImageGeneration]: Both `providers.text2image` and `text2image` configuration is provided. Since `text2image` is deprecated, only `providers.text2image` will be used."),e.providers?.image2image!=null&&e.image2image!=null&&console.warn("[ImageGeneration]: Both `providers.image2image` and `image2image` configuration is provided. Since `image2image` is deprecated, only `providers.image2image` will be used."))}var Nv=Tv,Dv=e=>({name:Ki,version:"0.2.4",...Nv(e)}),Mu=Dv;var Pv=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,s)=>{let c=e.locale??"en",d="",p=[];s.label!=null&&typeof s.label=="object"&&s.label[c]&&(d=s.label[c]),s.tags!=null&&typeof s.tags=="object"&&s.tags[c]&&(p=s.tags[c]);let y={...s,label:d,tags:p};return this.filterAsset(y,e)&&u.push(y),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),l=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:l,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;ut(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{ut(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let l=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?l-u:u-l}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return ut(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),ut(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),l=e.label?.toLowerCase()??"",u=e.tags?.map(s=>s.toLowerCase())??[];if(!o.every(s=>l.includes(s)||u.some(c=>c.includes(s))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(l=>e.tags?.includes(l))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,l)=>{let u,s;return i==="id"?(u=o.id,s=l.id):(u=o.meta?.[i]??null,s=l.meta?.[i]??null),u==null?r==="Ascending"?-1:1:s==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof s=="string"?r==="Ascending"?u.localeCompare(s):s.localeCompare(u):r==="Ascending"?u<s?-1:u>s?1:0:u>s?-1:u<s?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,l)=>o.active&&!l.active?-1:!o.active&&l.active?1:0)),a}};function ut(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=ut(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=ut(n,t,a)}return e}var zv=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let p=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,l=o+a,u=i.slice(o,l),s=l<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:s,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},Uv=typeof global=="object"&&global&&global.Object===Object&&global,lc=Uv,Rv=typeof self=="object"&&self&&self.Object===Object&&self,Fv=lc||Rv||Function("return this")(),Q=Fv,Vv=Q.Symbol,ct=Vv,sc=Object.prototype,Bv=sc.hasOwnProperty,Gv=sc.toString,Pr=ct?ct.toStringTag:void 0;function qv(e){var t=Bv.call(e,Pr),r=e[Pr];try{e[Pr]=void 0;var i=!0}catch{}var n=Gv.call(e);return i&&(t?e[Pr]=r:delete e[Pr]),n}var Yv=qv,Hv=Object.prototype,Zv=Hv.toString;function Qv(e){return Zv.call(e)}var Wv=Qv,Kv="[object Null]",Jv="[object Undefined]",ju=ct?ct.toStringTag:void 0;function Xv(e){return e==null?e===void 0?Jv:Kv:ju&&ju in Object(e)?Yv(e):Wv(e)}var Hr=Xv;function e6(e){return e!=null&&typeof e=="object"}var Fo=e6,pK=Array.isArray;function t6(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var uc=t6,r6="[object AsyncFunction]",i6="[object Function]",n6="[object GeneratorFunction]",o6="[object Proxy]";function a6(e){if(!uc(e))return!1;var t=Hr(e);return t==i6||t==n6||t==r6||t==o6}var l6=a6,s6=Q["__core-js_shared__"],Co=s6,Su=function(){var e=/[^.]+$/.exec(Co&&Co.keys&&Co.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function u6(e){return!!Su&&Su in e}var c6=u6,d6=Function.prototype,p6=d6.toString;function g6(e){if(e!=null){try{return p6.call(e)}catch{}try{return e+""}catch{}}return""}var Ie=g6,y6=/[\\^$.*+?()[\]{}|]/g,f6=/^\[object .+?Constructor\]$/,m6=Function.prototype,h6=Object.prototype,b6=m6.toString,v6=h6.hasOwnProperty,w6=RegExp("^"+b6.call(v6).replace(y6,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function k6(e){if(!uc(e)||c6(e))return!1;var t=l6(e)?w6:f6;return t.test(Ie(e))}var x6=k6;function I6(e,t){return e?.[t]}var C6=I6;function A6(e,t){var r=C6(e,t);return x6(r)?r:void 0}var pt=A6,M6=pt(Q,"WeakMap"),Eo=M6;function j6(e,t){return e===t||e!==e&&t!==t}var S6=j6,_6=9007199254740991;function $6(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_6}var E6=$6,gK=Object.prototype,L6="[object Arguments]";function T6(e){return Fo(e)&&Hr(e)==L6}var _u=T6,cc=Object.prototype,O6=cc.hasOwnProperty,N6=cc.propertyIsEnumerable,yK=_u(function(){return arguments}())?_u:function(e){return Fo(e)&&O6.call(e,"callee")&&!N6.call(e,"callee")},dc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$u=dc&&typeof module=="object"&&module&&!module.nodeType&&module,D6=$u&&$u.exports===dc,Eu=D6?Q.Buffer:void 0,fK=Eu?Eu.isBuffer:void 0,P6="[object Arguments]",z6="[object Array]",U6="[object Boolean]",R6="[object Date]",F6="[object Error]",V6="[object Function]",B6="[object Map]",G6="[object Number]",q6="[object Object]",Y6="[object RegExp]",H6="[object Set]",Z6="[object String]",Q6="[object WeakMap]",W6="[object ArrayBuffer]",K6="[object DataView]",J6="[object Float32Array]",X6="[object Float64Array]",ew="[object Int8Array]",tw="[object Int16Array]",rw="[object Int32Array]",iw="[object Uint8Array]",nw="[object Uint8ClampedArray]",ow="[object Uint16Array]",aw="[object Uint32Array]",$={};$[J6]=$[X6]=$[ew]=$[tw]=$[rw]=$[iw]=$[nw]=$[ow]=$[aw]=!0;$[P6]=$[z6]=$[W6]=$[U6]=$[K6]=$[R6]=$[F6]=$[V6]=$[B6]=$[G6]=$[q6]=$[Y6]=$[H6]=$[Z6]=$[Q6]=!1;function lw(e){return Fo(e)&&E6(e.length)&&!!$[Hr(e)]}var sw=lw;function uw(e){return function(t){return e(t)}}var cw=uw,pc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Fr=pc&&typeof module=="object"&&module&&!module.nodeType&&module,dw=Fr&&Fr.exports===pc,Ao=dw&&lc.process,pw=function(){try{var e=Fr&&Fr.require&&Fr.require("util").types;return e||Ao&&Ao.binding&&Ao.binding("util")}catch{}}(),Lu=pw,Tu=Lu&&Lu.isTypedArray,mK=Tu?cw(Tu):sw,gw=Object.prototype,hK=gw.hasOwnProperty;function yw(e,t){return function(r){return e(t(r))}}var fw=yw,bK=fw(Object.keys,Object),mw=Object.prototype,vK=mw.hasOwnProperty,hw=pt(Object,"create"),Br=hw;function bw(){this.__data__=Br?Br(null):{},this.size=0}var vw=bw;function ww(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var kw=ww,xw="__lodash_hash_undefined__",Iw=Object.prototype,Cw=Iw.hasOwnProperty;function Aw(e){var t=this.__data__;if(Br){var r=t[e];return r===xw?void 0:r}return Cw.call(t,e)?t[e]:void 0}var Mw=Aw,jw=Object.prototype,Sw=jw.hasOwnProperty;function _w(e){var t=this.__data__;return Br?t[e]!==void 0:Sw.call(t,e)}var $w=_w,Ew="__lodash_hash_undefined__";function Lw(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Br&&t===void 0?Ew:t,this}var Tw=Lw;function gt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}gt.prototype.clear=vw;gt.prototype.delete=kw;gt.prototype.get=Mw;gt.prototype.has=$w;gt.prototype.set=Tw;var Ou=gt;function Ow(){this.__data__=[],this.size=0}var Nw=Ow;function Dw(e,t){for(var r=e.length;r--;)if(S6(e[r][0],t))return r;return-1}var un=Dw,Pw=Array.prototype,zw=Pw.splice;function Uw(e){var t=this.__data__,r=un(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():zw.call(t,r,1),--this.size,!0}var Rw=Uw;function Fw(e){var t=this.__data__,r=un(t,e);return r<0?void 0:t[r][1]}var Vw=Fw;function Bw(e){return un(this.__data__,e)>-1}var Gw=Bw;function qw(e,t){var r=this.__data__,i=un(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Yw=qw;function yt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}yt.prototype.clear=Nw;yt.prototype.delete=Rw;yt.prototype.get=Vw;yt.prototype.has=Gw;yt.prototype.set=Yw;var cn=yt,Hw=pt(Q,"Map"),Gr=Hw;function Zw(){this.size=0,this.__data__={hash:new Ou,map:new(Gr||cn),string:new Ou}}var Qw=Zw;function Ww(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Kw=Ww;function Jw(e,t){var r=e.__data__;return Kw(t)?r[typeof t=="string"?"string":"hash"]:r.map}var dn=Jw;function Xw(e){var t=dn(this,e).delete(e);return this.size-=t?1:0,t}var ek=Xw;function tk(e){return dn(this,e).get(e)}var rk=tk;function ik(e){return dn(this,e).has(e)}var nk=ik;function ok(e,t){var r=dn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var ak=ok;function ft(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ft.prototype.clear=Qw;ft.prototype.delete=ek;ft.prototype.get=rk;ft.prototype.has=nk;ft.prototype.set=ak;var gc=ft;function lk(){this.__data__=new cn,this.size=0}var sk=lk;function uk(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ck=uk;function dk(e){return this.__data__.get(e)}var pk=dk;function gk(e){return this.__data__.has(e)}var yk=gk,fk=200;function mk(e,t){var r=this.__data__;if(r instanceof cn){var i=r.__data__;if(!Gr||i.length<fk-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new gc(i)}return r.set(e,t),this.size=r.size,this}var hk=mk;function Zr(e){var t=this.__data__=new cn(e);this.size=t.size}Zr.prototype.clear=sk;Zr.prototype.delete=ck;Zr.prototype.get=pk;Zr.prototype.has=yk;Zr.prototype.set=hk;var bk=Object.prototype,wK=bk.propertyIsEnumerable,vk=pt(Q,"DataView"),Lo=vk,wk=pt(Q,"Promise"),To=wk,kk=pt(Q,"Set"),Oo=kk,Nu="[object Map]",xk="[object Object]",Du="[object Promise]",Pu="[object Set]",zu="[object WeakMap]",Uu="[object DataView]",Ik=Ie(Lo),Ck=Ie(Gr),Ak=Ie(To),Mk=Ie(Oo),jk=Ie(Eo),lt=Hr;(Lo&<(new Lo(new ArrayBuffer(1)))!=Uu||Gr&<(new Gr)!=Nu||To&<(To.resolve())!=Du||Oo&<(new Oo)!=Pu||Eo&<(new Eo)!=zu)&&(lt=function(e){var t=Hr(e),r=t==xk?e.constructor:void 0,i=r?Ie(r):"";if(i)switch(i){case Ik:return Uu;case Ck:return Nu;case Ak:return Du;case Mk:return Pu;case jk:return zu}return t});var kK=Q.Uint8Array,Sk="__lodash_hash_undefined__";function _k(e){return this.__data__.set(e,Sk),this}var $k=_k;function Ek(e){return this.__data__.has(e)}var Lk=Ek;function No(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new gc;++t<r;)this.add(e[t])}No.prototype.add=No.prototype.push=$k;No.prototype.has=Lk;var Ru=ct?ct.prototype:void 0,xK=Ru?Ru.valueOf:void 0,Tk=Object.prototype,IK=Tk.hasOwnProperty,Ok=Object.prototype,CK=Ok.hasOwnProperty,AK=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),MK=new RegExp(/[A-Fa-f0-9]{1}/,"g"),jK=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function yc(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function Nk(e,t){let r=await yc(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function Dk(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return yc(i,t)}function Pk(e){return e!==void 0}var zk=Pk,Fu=class fc{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new fc),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},Uk=class mc{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new mc),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function Rk(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=s=>{a.push(s)},l=async(s,c,d)=>{if(s>=t.length)return r(c,d);let p=t[s],y=async(b,v)=>l(s+1,b,v),g={...d,addDisposer:o};return p(c,g,y)},u={...n,addDisposer:o};return{result:await l(0,i,u),dispose:async()=>{for(let s=a.length-1;s>=0;s--)try{await a[s]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function Fk({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var Vk=Fk,Mo="ly.img.ai.temp";async function Bk(e,t){return e.engine.asset.findAllSources().includes(Mo)||e.engine.asset.addLocalSource(Mo),e.engine.asset.apply(Mo,t)}function Gk(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function hc(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function qk(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let l=document.createElement("canvas");l.width=o.videoWidth,l.height=o.videoHeight;let u=l.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,l.width,l.height);try{let s=l.toDataURL(r,i);document.body.removeChild(o),n(s)}catch(s){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${s instanceof Error?s.message:String(s)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function Yk(e){return e?e.replace(/[_-]/g," ").replace(/([A-Z])/g," $1").trim().split(" ").filter(t=>t.length>0).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" "):""}function Hk(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function Vo(e){return e instanceof Error&&e.name==="AbortError"}function Zk(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function Qk(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
144
|
+
`,R3=U3,F3=typeof global=="object"&&global&&global.Object===Object&&global,Hu=F3,V3=typeof self=="object"&&self&&self.Object===Object&&self,B3=Hu||V3||Function("return this")(),H=B3,G3=H.Symbol,et=G3,Zu=Object.prototype,q3=Zu.hasOwnProperty,Y3=Zu.toString,Cr=et?et.toStringTag:void 0;function H3(e){var t=q3.call(e,Cr),r=e[Cr];try{e[Cr]=void 0;var i=!0}catch{}var n=Y3.call(e);return i&&(t?e[Cr]=r:delete e[Cr]),n}var Z3=H3,Q3=Object.prototype,W3=Q3.toString;function K3(e){return W3.call(e)}var J3=K3,X3="[object Null]",e7="[object Undefined]",Ks=et?et.toStringTag:void 0;function t7(e){return e==null?e===void 0?e7:X3:Ks&&Ks in Object(e)?Z3(e):J3(e)}var zr=t7;function r7(e){return e!=null&&typeof e=="object"}var Xo=r7,OK=Array.isArray;function i7(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Qu=i7,n7="[object AsyncFunction]",o7="[object Function]",a7="[object GeneratorFunction]",l7="[object Proxy]";function s7(e){if(!Qu(e))return!1;var t=zr(e);return t==o7||t==a7||t==n7||t==l7}var u7=s7,c7=H["__core-js_shared__"],To=c7,Js=function(){var e=/[^.]+$/.exec(To&&To.keys&&To.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function d7(e){return!!Js&&Js in e}var p7=d7,g7=Function.prototype,f7=g7.toString;function y7(e){if(e!=null){try{return f7.call(e)}catch{}try{return e+""}catch{}}return""}var ke=y7,m7=/[\\^$.*+?()[\]{}|]/g,h7=/^\[object .+?Constructor\]$/,b7=Function.prototype,v7=Object.prototype,w7=b7.toString,k7=v7.hasOwnProperty,x7=RegExp("^"+w7.call(k7).replace(m7,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function I7(e){if(!Qu(e)||p7(e))return!1;var t=u7(e)?x7:h7;return t.test(ke(e))}var C7=I7;function A7(e,t){return e?.[t]}var M7=A7;function j7(e,t){var r=M7(e,t);return C7(r)?r:void 0}var ot=j7,S7=ot(H,"WeakMap"),Go=S7;function _7(e,t){return e===t||e!==e&&t!==t}var E7=_7,$7=9007199254740991;function L7(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=$7}var T7=L7,NK=Object.prototype,O7="[object Arguments]";function N7(e){return Xo(e)&&zr(e)==O7}var Xs=N7,Wu=Object.prototype,D7=Wu.hasOwnProperty,P7=Wu.propertyIsEnumerable,DK=Xs(function(){return arguments}())?Xs:function(e){return Xo(e)&&D7.call(e,"callee")&&!P7.call(e,"callee")},Ku=typeof exports=="object"&&exports&&!exports.nodeType&&exports,eu=Ku&&typeof module=="object"&&module&&!module.nodeType&&module,z7=eu&&eu.exports===Ku,tu=z7?H.Buffer:void 0,PK=tu?tu.isBuffer:void 0,U7="[object Arguments]",R7="[object Array]",F7="[object Boolean]",V7="[object Date]",B7="[object Error]",G7="[object Function]",q7="[object Map]",Y7="[object Number]",H7="[object Object]",Z7="[object RegExp]",Q7="[object Set]",W7="[object String]",K7="[object WeakMap]",J7="[object ArrayBuffer]",X7="[object DataView]",e8="[object Float32Array]",t8="[object Float64Array]",r8="[object Int8Array]",i8="[object Int16Array]",n8="[object Int32Array]",o8="[object Uint8Array]",a8="[object Uint8ClampedArray]",l8="[object Uint16Array]",s8="[object Uint32Array]",$={};$[e8]=$[t8]=$[r8]=$[i8]=$[n8]=$[o8]=$[a8]=$[l8]=$[s8]=!0;$[U7]=$[R7]=$[J7]=$[F7]=$[X7]=$[V7]=$[B7]=$[G7]=$[q7]=$[Y7]=$[H7]=$[Z7]=$[Q7]=$[W7]=$[K7]=!1;function u8(e){return Xo(e)&&T7(e.length)&&!!$[zr(e)]}var c8=u8;function d8(e){return function(t){return e(t)}}var p8=d8,Ju=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Er=Ju&&typeof module=="object"&&module&&!module.nodeType&&module,g8=Er&&Er.exports===Ju,Oo=g8&&Hu.process,f8=function(){try{var e=Er&&Er.require&&Er.require("util").types;return e||Oo&&Oo.binding&&Oo.binding("util")}catch{}}(),ru=f8,iu=ru&&ru.isTypedArray,zK=iu?p8(iu):c8,y8=Object.prototype,UK=y8.hasOwnProperty;function m8(e,t){return function(r){return e(t(r))}}var h8=m8,RK=h8(Object.keys,Object),b8=Object.prototype,FK=b8.hasOwnProperty,v8=ot(Object,"create"),Tr=v8;function w8(){this.__data__=Tr?Tr(null):{},this.size=0}var k8=w8;function x8(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var I8=x8,C8="__lodash_hash_undefined__",A8=Object.prototype,M8=A8.hasOwnProperty;function j8(e){var t=this.__data__;if(Tr){var r=t[e];return r===C8?void 0:r}return M8.call(t,e)?t[e]:void 0}var S8=j8,_8=Object.prototype,E8=_8.hasOwnProperty;function $8(e){var t=this.__data__;return Tr?t[e]!==void 0:E8.call(t,e)}var L8=$8,T8="__lodash_hash_undefined__";function O8(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Tr&&t===void 0?T8:t,this}var N8=O8;function at(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}at.prototype.clear=k8;at.prototype.delete=I8;at.prototype.get=S8;at.prototype.has=L8;at.prototype.set=N8;var nu=at;function D8(){this.__data__=[],this.size=0}var P8=D8;function z8(e,t){for(var r=e.length;r--;)if(E7(e[r][0],t))return r;return-1}var hn=z8,U8=Array.prototype,R8=U8.splice;function F8(e){var t=this.__data__,r=hn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():R8.call(t,r,1),--this.size,!0}var V8=F8;function B8(e){var t=this.__data__,r=hn(t,e);return r<0?void 0:t[r][1]}var G8=B8;function q8(e){return hn(this.__data__,e)>-1}var Y8=q8;function H8(e,t){var r=this.__data__,i=hn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Z8=H8;function lt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}lt.prototype.clear=P8;lt.prototype.delete=V8;lt.prototype.get=G8;lt.prototype.has=Y8;lt.prototype.set=Z8;var bn=lt,Q8=ot(H,"Map"),Or=Q8;function W8(){this.size=0,this.__data__={hash:new nu,map:new(Or||bn),string:new nu}}var K8=W8;function J8(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var X8=J8;function ev(e,t){var r=e.__data__;return X8(t)?r[typeof t=="string"?"string":"hash"]:r.map}var vn=ev;function tv(e){var t=vn(this,e).delete(e);return this.size-=t?1:0,t}var rv=tv;function iv(e){return vn(this,e).get(e)}var nv=iv;function ov(e){return vn(this,e).has(e)}var av=ov;function lv(e,t){var r=vn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var sv=lv;function st(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}st.prototype.clear=K8;st.prototype.delete=rv;st.prototype.get=nv;st.prototype.has=av;st.prototype.set=sv;var Xu=st;function uv(){this.__data__=new bn,this.size=0}var cv=uv;function dv(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var pv=dv;function gv(e){return this.__data__.get(e)}var fv=gv;function yv(e){return this.__data__.has(e)}var mv=yv,hv=200;function bv(e,t){var r=this.__data__;if(r instanceof bn){var i=r.__data__;if(!Or||i.length<hv-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Xu(i)}return r.set(e,t),this.size=r.size,this}var vv=bv;function Ur(e){var t=this.__data__=new bn(e);this.size=t.size}Ur.prototype.clear=cv;Ur.prototype.delete=pv;Ur.prototype.get=fv;Ur.prototype.has=mv;Ur.prototype.set=vv;var wv=Object.prototype,VK=wv.propertyIsEnumerable,kv=ot(H,"DataView"),qo=kv,xv=ot(H,"Promise"),Yo=xv,Iv=ot(H,"Set"),Ho=Iv,ou="[object Map]",Cv="[object Object]",au="[object Promise]",lu="[object Set]",su="[object WeakMap]",uu="[object DataView]",Av=ke(qo),Mv=ke(Or),jv=ke(Yo),Sv=ke(Ho),_v=ke(Go),Ke=zr;(qo&&Ke(new qo(new ArrayBuffer(1)))!=uu||Or&&Ke(new Or)!=ou||Yo&&Ke(Yo.resolve())!=au||Ho&&Ke(new Ho)!=lu||Go&&Ke(new Go)!=su)&&(Ke=function(e){var t=zr(e),r=t==Cv?e.constructor:void 0,i=r?ke(r):"";if(i)switch(i){case Av:return uu;case Mv:return ou;case jv:return au;case Sv:return lu;case _v:return su}return t});var BK=H.Uint8Array,Ev="__lodash_hash_undefined__";function $v(e){return this.__data__.set(e,Ev),this}var Lv=$v;function Tv(e){return this.__data__.has(e)}var Ov=Tv;function Zo(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Xu;++t<r;)this.add(e[t])}Zo.prototype.add=Zo.prototype.push=Lv;Zo.prototype.has=Ov;var cu=et?et.prototype:void 0,GK=cu?cu.valueOf:void 0,Nv=Object.prototype,qK=Nv.hasOwnProperty,Dv=Object.prototype,YK=Dv.hasOwnProperty,HK=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),ZK=new RegExp(/[A-Fa-f0-9]{1}/,"g"),QK=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Pv(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function ut(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Pv(i,t)}function zv(e){return e==null?[]:Array.isArray(e)?e:[e]}var du=zv,dn="@imgly/plugin-ai-image-generation-web",Uv=["ly.img.gpt-image-1.changeStyleLibrary","ly.img.styleTransfer","ly.img.artistTransfer","ly.img.separator","ly.img.editImage","ly.img.swapBackground","ly.img.createVariant","ly.img.combineImages","ly.img.separator","ly.img.remixPage","ly.img.separator","ly.img.createVideo"],wn="editImage",re=`ly.img.${wn}`,pu=`ly.img.plugin-ai-image-generation-web.quickAction.${wn}`,rn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${wn}`;function nn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${wn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Rv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${rn}`]:"Edit Image...",[`${rn}.description`]:"Change image based on description",[`${rn}.prompt`]:"Edit Image...",[`${pu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${rn}.apply`]:"Change"}}),{id:re,type:"quick",kind:"image",label:`${pu}`,enable:Pr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:u,providerId:l})=>{if(i){let c=s(`${re}.prompt`,"");t.TextArea(`${re}.prompt`,{inputLabel:nn(l,"prompt"),placeholder:nn(l,"prompt.placeholder")[1],...c}),t.Separator(`${re}.separator`),r.builder.ButtonRow(`${re}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${re}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${re}.footer.apply`,{label:nn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:c.value.length===0,onClick:async()=>{try{let d=c.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await ut(g,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:p}),n(),u()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to edit image. Please try again.",duration:"medium"})}}})}})}else t.Button(`${re}.button`,{label:nn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),Fv=Rv,kn="swapBackground",ie=`ly.img.${kn}`,gu=`ly.img.plugin-ai-image-generation-web.quickAction.${kn}`,on=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${kn}`;function an(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${kn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Vv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${on}`]:"Swap Background...",[`${on}.description`]:"Change the background of the image",[`${on}.prompt`]:"Swap Background...",[`${gu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${on}.apply`]:"Change"}}),{id:ie,type:"quick",kind:"image",label:`${gu}`,enable:Pr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:u,providerId:l})=>{if(i){let c=s(`${ie}.prompt`,"");t.TextArea(`${ie}.prompt`,{inputLabel:an(l,"prompt"),placeholder:an(l,"prompt.placeholder")[1],...c}),t.Separator(`${ie}.separator`),r.builder.ButtonRow(`${ie}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ie}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ie}.footer.apply`,{label:an(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:c.value.length===0,onClick:async()=>{try{let d=c.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await ut(g,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:p}),n(),u()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to swap background. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ie}.button`,{label:an(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),Bv=Vv,xn="styleTransfer",Ar=`ly.img.${xn}`,Gv=`ly.img.plugin-ai-image-generation-web.quickAction.${xn}`,B=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${xn}`;function fu(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${xn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var qv=[{id:"water",prompt:"Convert to watercolor painting."},{id:"oil",prompt:"Render in oil painting style."},{id:"charcoal",prompt:"Transform into a charcoal sketch."},{id:"pencil",prompt:"Apply pencil drawing effect."},{id:"pastel",prompt:"Make it look like a pastel artwork."},{id:"ink",prompt:"Turn into a classic ink wash painting."},{id:"stained-glass",prompt:"Stylize as a stained glass window."},{id:"japanese",prompt:"Repaint as a traditional Japanese woodblock print."}],Yv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${B}`]:"Change Art Style",[`${B}.description`]:"Transform image into different art styles",[`${B}.water`]:"Watercolor Painting",[`${B}.oil`]:"Oil Painting",[`${B}.charcoal`]:"Charcoal Sketch",[`${B}.pencil`]:"Pencil Drawing",[`${B}.pastel`]:"Pastel Artwork",[`${B}.ink`]:"Ink Wash",[`${B}.stained-glass`]:"Stained Glass Window",[`${B}.japanese`]:"Japanese Woodblock Print"}}),{id:Ar,type:"quick",kind:"image",label:`${Gv}`,enable:Pr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Ar}.popover`,{label:fu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Ar}.popover.section`,{children:()=>{r.builder.Menu(`${Ar}.popover.menu`,{children:()=>{qv.forEach(s=>{t.Button(`${Ar}.popover.menu.${s.id}`,{label:fu(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[u]=n.block.findAllSelected(),l=await ut(u,n,{throwErrorIfSvg:!0});await i({style:s.prompt,uri:l}),a()}catch(u){console.error("Generation error:",u),e.ui.showNotification({type:"error",message:u.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),Hv=Yv,In="artistTransfer",Mr=`ly.img.${In}`,Zv=`ly.img.plugin-ai-image-generation-web.quickAction.${In}`,R=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${In}`;function yu(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${In}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Qv=[{id:"van-gogh",prompt:"Render this image in the style of Vincent van Gogh, using expressive brushstrokes and swirling motion."},{id:"monet",prompt:"Transform this image into the soft, impressionistic style of Claude Monet with natural light and delicate color blending."},{id:"picasso",prompt:"Apply a Pablo Picasso cubist style with abstract geometry and fragmented shapes."},{id:"dali",prompt:"Make this image resemble Salvador Dal\xED's surrealist style, with dreamlike distortion and soft shadows."},{id:"matisse",prompt:"Stylize the image using Henri Matisse's bold colors and simplified, flowing shapes."},{id:"warhol",prompt:"Convert this image into Andy Warhol's pop art style with flat colors, repetition, and bold outlines."},{id:"michelangelo",prompt:"Render the image in the classical Renaissance style of Michelangelo, with dramatic anatomy and fresco-like detail."},{id:"da-vinci",prompt:"Make this image look like a Leonardo da Vinci painting, using soft transitions, balanced composition, and natural tones."},{id:"rembrandt",prompt:"Apply Rembrandt's style with rich contrast, warm tones, and dramatic use of light and shadow."},{id:"mondrian",prompt:"Transform the image into Piet Mondrian's abstract geometric style with grids and primary colors."},{id:"kahlo",prompt:"Stylize this image in the expressive, symbolic style of Frida Kahlo with vivid colors and surreal framing."},{id:"hokusai",prompt:"Render the image in the style of Hokusai, using bold outlines, flat color, and traditional Japanese woodblock aesthetics."}],Wv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${R}`]:"Painted By",[`${R}.description`]:"Transform image in the style of famous artists",[`${R}.van-gogh`]:"Van Gogh",[`${R}.monet`]:"Monet",[`${R}.picasso`]:"Picasso",[`${R}.dali`]:"Dal\xED",[`${R}.matisse`]:"Matisse",[`${R}.warhol`]:"Warhol",[`${R}.michelangelo`]:"Michelangelo",[`${R}.da-vinci`]:"Da Vinci",[`${R}.rembrandt`]:"Rembrandt",[`${R}.mondrian`]:"Mondrian",[`${R}.kahlo`]:"Frida Kahlo",[`${R}.hokusai`]:"Hokusai"}}),{id:Mr,type:"quick",kind:"image",label:`${Zv}`,enable:Pr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Mr}.popover`,{label:yu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Mr}.popover.section`,{children:()=>{r.builder.Menu(`${Mr}.popover.menu`,{children:()=>{Qv.forEach(s=>{t.Button(`${Mr}.popover.menu.${s.id}`,{label:yu(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[u]=n.block.findAllSelected(),l=await ut(u,n,{throwErrorIfSvg:!0});await i({artist:s.prompt,uri:l}),a()}catch(u){console.error("Generation error:",u),e.ui.showNotification({type:"error",message:u.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),Kv=Wv,Cn="createVariant",ne=`ly.img.${Cn}`,mu=`ly.img.plugin-ai-image-generation-web.quickAction.${Cn}`,ln=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Cn}`;function sn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Cn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Jv=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${ln}`]:"Create Variant...",[`${ln}.description`]:"Create a variation of the image",[`${ln}.prompt`]:"Create Variant...",[`${mu}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${ln}.apply`]:"Create"}}),{id:ne,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${mu}`,enable:t=>{if(!Pr()(t))return!1;let[r]=t.engine.block.findAllSelected();return!(!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(r,"lifecycle/duplicate"))},scopes:["fill/change","lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:u,providerId:l})=>{if(i){let c=s(`${ne}.prompt`,"");t.TextArea(`${ne}.prompt`,{inputLabel:sn(l,"prompt"),placeholder:sn(l,"prompt.placeholder")[1],...c}),t.Separator(`${ne}.separator`),r.builder.ButtonRow(`${ne}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ne}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ne}.footer.apply`,{label:sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:c.value.length===0,onClick:async()=>{try{let d=c.value;if(!d)return;let[g]=o.block.findAllSelected(),p=o.block.getType(g),f=o.block.duplicate(g);p==="//ly.img.ubq/page"&&o.block.getChildren(f).forEach(b=>{o.block.destroy(b)}),o.block.setSelected(g,!1),o.block.setSelected(f,!0);let y=o.block.getParent(f);if(y==null)throw new Error("Parent not found");if(!(y!=null&&o.block.getType(y)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(y))&&p!=="//ly.img.ubq/page"){let b=o.block.getWidth(y),I=o.block.getHeight(y),x=.02*Math.min(b,I)*1;o.block.setPositionX(f,o.block.getPositionX(f)+x),o.block.setPositionY(f,o.block.getPositionY(f)+x)}let h=await ut(f,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:h},{blockIds:[f]}),n(),u()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to create variant. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ne}.button`,{label:sn(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),Xv=Jv,An="combineImages",oe=`ly.img.${An}`,hu=`ly.img.plugin-ai-image-generation-web.quickAction.${An}`,No=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${An}`;function un(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${An}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var e6=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${No}.apply`]:"Combine",[`${No}`]:"Combine Images...",[`${No}.prompt`]:"Image Combination Instructions",[`${hu}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:oe,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${hu}`,enable:t=>{let r=t.engine.block.findAllSelected();return r==null||r.length<2?!1:r.every(i=>{if(t.engine.block.getType(i)!=="//ly.img.ubq/graphic"&&!t.engine.block.supportsFill(i))return!1;let n=t.engine.block.getFill(i);if(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||!e.feature.isEnabled("ly.img.duplicate",{engine:t.engine})||!t.engine.block.isAllowedByScope(i,"lifecycle/duplicate"))return!1;let a=t.engine.block.getParent(i);return!(a!=null&&t.engine.block.getType(a)==="//ly.img.ubq/track"&&t.engine.block.isPageDurationSource(a)||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:["lifecycle/duplicate","fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:u,providerId:l})=>{if(i){let c=s(`${oe}.prompt`,"");t.TextArea(`${oe}.prompt`,{inputLabel:un(l,"prompt"),placeholder:un(l,"prompt.placeholder")[1],...c}),t.Separator(`${oe}.separator`),r.builder.ButtonRow(`${oe}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${oe}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${oe}.footer.apply`,{label:un(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:c.value.length===0,onClick:async()=>{try{let d=c.value;if(!d)return;let g=o.block.findAllSelected(),p=o.block.duplicate(g[0]);g.forEach(w=>{o.block.setSelected(w,!1)}),o.block.setSelected(p,!0);let f=o.block.getParent(p);if(f==null)throw new Error("Parent not found");let y=1,h=o.block.getWidth(f),b=o.block.getHeight(f),I=.02*Math.min(h,b)*y;o.block.setPositionX(p,o.block.getPositionX(p)+I),o.block.setPositionY(p,o.block.getPositionY(p)+I);let x=await Promise.all(g.map(w=>ut(w,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:x,exportFromBlockIds:g},{blockIds:[p]}),n(),u()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to combine images. Please try again.",duration:"medium"})}}})}})}else t.Button(`${oe}.button`,{label:un(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),t6=e6,Mn="remixPage",bu=`ly.img.${Mn}`,r6=`ly.img.plugin-ai-image-generation-web.quickAction.${Mn}`,i6=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Mn}`;function n6(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Mn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var o6=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${i6}`]:"Turn Page into Image"}}),{id:bu,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${r6}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${bu}.button`,{label:n6(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=await i.block.export(o),u=URL.createObjectURL(s),l=i.block.duplicate(o);i.block.getChildren(l).forEach(b=>{i.block.destroy(b)}),i.block.setSelected(o,!1);let c=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),g=i.block.getPositionX(o),p=i.block.getPositionY(o),f=i.block.createShape("rect"),y=i.block.create("graphic");i.block.setShape(y,f),i.block.appendChild(l,y),i.block.setWidth(y,c),i.block.setHeight(y,d),i.block.setPositionX(y,g),i.block.setPositionY(y,p);let h=i.block.createFill("image");i.block.setFill(y,h),i.block.setString(h,"fill/image/imageFileURI",u),i.block.setSelected(y,!0),i.scene.zoomToBlock(y),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:u},{blockIds:[y]}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}}),a6=o6,jn="remixPageWithPrompt",ae=`ly.img.${jn}`,vu=`ly.img.plugin-ai-image-generation-web.quickAction.${jn}`,Do=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${jn}`;function cn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${jn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var l6=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${Do}`]:"Remix Page...",[`${Do}.prompt`]:"Remix Page Prompt",[`${vu}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${Do}.apply`]:"Remix"}}),{id:ae,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${vu}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r.length!==1)return!1;let i=r[0];return t.block.getType(i)==="//ly.img.ubq/page"},scopes:["lifecycle/duplicate"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:u,providerId:l})=>{if(i){let c=s(`${ae}.prompt`,"");t.TextArea(`${ae}.prompt`,{inputLabel:cn(l,"prompt"),placeholder:cn(l,"prompt.placeholder")[1],...c}),t.Separator(`${ae}.separator`),r.builder.ButtonRow(`${ae}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ae}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ae}.footer.apply`,{label:cn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:c.value.length===0,onClick:async()=>{try{let d=c.value;if(!d)return;let[g]=o.block.findAllSelected(),p=await o.block.export(g),f=URL.createObjectURL(p),y=o.block.duplicate(g);o.block.getChildren(y).forEach(m=>{o.block.destroy(m)}),o.block.setSelected(g,!1);let h=o.block.getFrameWidth(g),b=o.block.getFrameHeight(g),I=o.block.getPositionX(g),x=o.block.getPositionY(g),w=o.block.createShape("rect"),v=o.block.create("graphic");o.block.setShape(v,w),o.block.appendChild(y,v),o.block.setWidth(v,h),o.block.setHeight(v,b),o.block.setPositionX(v,I),o.block.setPositionY(v,x);let k=o.block.createFill("image");o.block.setFill(v,k),o.block.setString(k,"fill/image/imageFileURI",f),o.block.setSelected(v,!0),o.scene.zoomToBlock(v),await a({prompt:d,uri:f},{blockIds:[v]}),n(),u()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to remix page. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ae}.button`,{label:cn(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),s6=l6,le="ly.img.ai.image-generation";function u6(e){return{async initialize({cesdk:t}){if(t==null)return;r9(t,dn,"0.2.5");let r=_u.get(),i=r.register({type:"plugin",sceneMode:"Design",id:dn,pluginId:dn,label:"Generate Image",meta:{panelId:le},execute:()=>{t.ui.isPanelOpen(le)?t.ui.closePanel(le):t.ui.openPanel(le)}});t.ui.addIconSet(z3,R3),t.i18n.setTranslations({en:{[`panel.${le}`]:"Image Generation",[`${le}.dock.label`]:"AI Image"}}),c6(e),r.register(Fv({cesdk:t})),r.register(Bv({cesdk:t})),r.register(Hv({cesdk:t})),r.register(Kv({cesdk:t})),r.register(Xv({cesdk:t})),r.register(t6({cesdk:t})),r.register(a6({cesdk:t})),r.register(s6({cesdk:t}));let n=e.providers?.text2image??e.text2image,a=e.providers?.image2image??e.image2image,o=await Promise.all(du(n).map(c=>c({cesdk:t}))),s=await Promise.all(du(a).map(c=>c({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let u=await g3("image",{fromText:o,fromImage:s},{cesdk:t},e),l=await P3({kind:"image",providerInitializationResults:u.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:Uv});u.history?.assetSourceId!=null,l.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",l.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:mn})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(le,u.panel.builderRenderFunction),n9({cesdk:t,panelId:le})):i()}}}function c6(e){e.debug&&(e.providers?.text2image!=null&&e.text2image!=null&&console.warn("[ImageGeneration]: Both `providers.text2image` and `text2image` configuration is provided. Since `text2image` is deprecated, only `providers.text2image` will be used."),e.providers?.image2image!=null&&e.image2image!=null&&console.warn("[ImageGeneration]: Both `providers.image2image` and `image2image` configuration is provided. Since `image2image` is deprecated, only `providers.image2image` will be used."))}var d6=u6,p6=e=>({name:dn,version:"0.2.5",...d6(e)}),ec=p6;var g6=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,l)=>{let c=e.locale??"en",d="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[c]&&(d=l.label[c]),l.tags!=null&&typeof l.tags=="object"&&l.tags[c]&&(g=l.tags[c]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&u.push(p),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;pt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{pt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-u:u-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return pt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),pt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",u=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||u.some(c=>c.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let u,l;return i==="id"?(u=o.id,l=s.id):(u=o.meta?.[i]??null,l=s.meta?.[i]??null),u==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof l=="string"?r==="Ascending"?u.localeCompare(l):l.localeCompare(u):r==="Ascending"?u<l?-1:u>l?1:0:u>l?-1:u<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function pt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=pt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=pt(n,t,a)}return e}var f6=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let g=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});let{page:n,perPage:a}=e,o=n*a,s=o+a,u=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},y6=typeof global=="object"&&global&&global.Object===Object&&global,Dc=y6,m6=typeof self=="object"&&self&&self.Object===Object&&self,h6=Dc||m6||Function("return this")(),Z=h6,b6=Z.Symbol,gt=b6,Pc=Object.prototype,v6=Pc.hasOwnProperty,w6=Pc.toString,Rr=gt?gt.toStringTag:void 0;function k6(e){var t=v6.call(e,Rr),r=e[Rr];try{e[Rr]=void 0;var i=!0}catch{}var n=w6.call(e);return i&&(t?e[Rr]=r:delete e[Rr]),n}var x6=k6,I6=Object.prototype,C6=I6.toString;function A6(e){return C6.call(e)}var M6=A6,j6="[object Null]",S6="[object Undefined]",tc=gt?gt.toStringTag:void 0;function _6(e){return e==null?e===void 0?S6:j6:tc&&tc in Object(e)?x6(e):M6(e)}var Kr=_6;function E6(e){return e!=null&&typeof e=="object"}var ba=E6,eJ=Array.isArray;function $6(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var zc=$6,L6="[object AsyncFunction]",T6="[object Function]",O6="[object GeneratorFunction]",N6="[object Proxy]";function D6(e){if(!zc(e))return!1;var t=Kr(e);return t==T6||t==O6||t==L6||t==N6}var P6=D6,z6=Z["__core-js_shared__"],ea=z6,rc=function(){var e=/[^.]+$/.exec(ea&&ea.keys&&ea.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function U6(e){return!!rc&&rc in e}var R6=U6,F6=Function.prototype,V6=F6.toString;function B6(e){if(e!=null){try{return V6.call(e)}catch{}try{return e+""}catch{}}return""}var Ie=B6,G6=/[\\^$.*+?()[\]{}|]/g,q6=/^\[object .+?Constructor\]$/,Y6=Function.prototype,H6=Object.prototype,Z6=Y6.toString,Q6=H6.hasOwnProperty,W6=RegExp("^"+Z6.call(Q6).replace(G6,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function K6(e){if(!zc(e)||R6(e))return!1;var t=P6(e)?W6:q6;return t.test(Ie(e))}var J6=K6;function X6(e,t){return e?.[t]}var ew=X6;function tw(e,t){var r=ew(e,t);return J6(r)?r:void 0}var yt=tw,rw=yt(Z,"WeakMap"),la=rw;function iw(e,t){return e===t||e!==e&&t!==t}var nw=iw,ow=9007199254740991;function aw(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ow}var lw=aw,tJ=Object.prototype,sw="[object Arguments]";function uw(e){return ba(e)&&Kr(e)==sw}var ic=uw,Uc=Object.prototype,cw=Uc.hasOwnProperty,dw=Uc.propertyIsEnumerable,rJ=ic(function(){return arguments}())?ic:function(e){return ba(e)&&cw.call(e,"callee")&&!dw.call(e,"callee")},Rc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nc=Rc&&typeof module=="object"&&module&&!module.nodeType&&module,pw=nc&&nc.exports===Rc,oc=pw?Z.Buffer:void 0,iJ=oc?oc.isBuffer:void 0,gw="[object Arguments]",fw="[object Array]",yw="[object Boolean]",mw="[object Date]",hw="[object Error]",bw="[object Function]",vw="[object Map]",ww="[object Number]",kw="[object Object]",xw="[object RegExp]",Iw="[object Set]",Cw="[object String]",Aw="[object WeakMap]",Mw="[object ArrayBuffer]",jw="[object DataView]",Sw="[object Float32Array]",_w="[object Float64Array]",Ew="[object Int8Array]",$w="[object Int16Array]",Lw="[object Int32Array]",Tw="[object Uint8Array]",Ow="[object Uint8ClampedArray]",Nw="[object Uint16Array]",Dw="[object Uint32Array]",L={};L[Sw]=L[_w]=L[Ew]=L[$w]=L[Lw]=L[Tw]=L[Ow]=L[Nw]=L[Dw]=!0;L[gw]=L[fw]=L[Mw]=L[yw]=L[jw]=L[mw]=L[hw]=L[bw]=L[vw]=L[ww]=L[kw]=L[xw]=L[Iw]=L[Cw]=L[Aw]=!1;function Pw(e){return ba(e)&&lw(e.length)&&!!L[Kr(e)]}var zw=Pw;function Uw(e){return function(t){return e(t)}}var Rw=Uw,Fc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,qr=Fc&&typeof module=="object"&&module&&!module.nodeType&&module,Fw=qr&&qr.exports===Fc,ta=Fw&&Dc.process,Vw=function(){try{var e=qr&&qr.require&&qr.require("util").types;return e||ta&&ta.binding&&ta.binding("util")}catch{}}(),ac=Vw,lc=ac&&ac.isTypedArray,nJ=lc?Rw(lc):zw,Bw=Object.prototype,oJ=Bw.hasOwnProperty;function Gw(e,t){return function(r){return e(t(r))}}var qw=Gw,aJ=qw(Object.keys,Object),Yw=Object.prototype,lJ=Yw.hasOwnProperty,Hw=yt(Object,"create"),Hr=Hw;function Zw(){this.__data__=Hr?Hr(null):{},this.size=0}var Qw=Zw;function Ww(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Kw=Ww,Jw="__lodash_hash_undefined__",Xw=Object.prototype,ek=Xw.hasOwnProperty;function tk(e){var t=this.__data__;if(Hr){var r=t[e];return r===Jw?void 0:r}return ek.call(t,e)?t[e]:void 0}var rk=tk,ik=Object.prototype,nk=ik.hasOwnProperty;function ok(e){var t=this.__data__;return Hr?t[e]!==void 0:nk.call(t,e)}var ak=ok,lk="__lodash_hash_undefined__";function sk(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Hr&&t===void 0?lk:t,this}var uk=sk;function mt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}mt.prototype.clear=Qw;mt.prototype.delete=Kw;mt.prototype.get=rk;mt.prototype.has=ak;mt.prototype.set=uk;var sc=mt;function ck(){this.__data__=[],this.size=0}var dk=ck;function pk(e,t){for(var r=e.length;r--;)if(nw(e[r][0],t))return r;return-1}var _n=pk,gk=Array.prototype,fk=gk.splice;function yk(e){var t=this.__data__,r=_n(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():fk.call(t,r,1),--this.size,!0}var mk=yk;function hk(e){var t=this.__data__,r=_n(t,e);return r<0?void 0:t[r][1]}var bk=hk;function vk(e){return _n(this.__data__,e)>-1}var wk=vk;function kk(e,t){var r=this.__data__,i=_n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var xk=kk;function ht(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ht.prototype.clear=dk;ht.prototype.delete=mk;ht.prototype.get=bk;ht.prototype.has=wk;ht.prototype.set=xk;var En=ht,Ik=yt(Z,"Map"),Zr=Ik;function Ck(){this.size=0,this.__data__={hash:new sc,map:new(Zr||En),string:new sc}}var Ak=Ck;function Mk(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var jk=Mk;function Sk(e,t){var r=e.__data__;return jk(t)?r[typeof t=="string"?"string":"hash"]:r.map}var $n=Sk;function _k(e){var t=$n(this,e).delete(e);return this.size-=t?1:0,t}var Ek=_k;function $k(e){return $n(this,e).get(e)}var Lk=$k;function Tk(e){return $n(this,e).has(e)}var Ok=Tk;function Nk(e,t){var r=$n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Dk=Nk;function bt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}bt.prototype.clear=Ak;bt.prototype.delete=Ek;bt.prototype.get=Lk;bt.prototype.has=Ok;bt.prototype.set=Dk;var Vc=bt;function Pk(){this.__data__=new En,this.size=0}var zk=Pk;function Uk(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Rk=Uk;function Fk(e){return this.__data__.get(e)}var Vk=Fk;function Bk(e){return this.__data__.has(e)}var Gk=Bk,qk=200;function Yk(e,t){var r=this.__data__;if(r instanceof En){var i=r.__data__;if(!Zr||i.length<qk-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Vc(i)}return r.set(e,t),this.size=r.size,this}var Hk=Yk;function Jr(e){var t=this.__data__=new En(e);this.size=t.size}Jr.prototype.clear=zk;Jr.prototype.delete=Rk;Jr.prototype.get=Vk;Jr.prototype.has=Gk;Jr.prototype.set=Hk;var Zk=Object.prototype,sJ=Zk.propertyIsEnumerable,Qk=yt(Z,"DataView"),sa=Qk,Wk=yt(Z,"Promise"),ua=Wk,Kk=yt(Z,"Set"),ca=Kk,uc="[object Map]",Jk="[object Object]",cc="[object Promise]",dc="[object Set]",pc="[object WeakMap]",gc="[object DataView]",Xk=Ie(sa),ex=Ie(Zr),tx=Ie(ua),rx=Ie(ca),ix=Ie(la),ct=Kr;(sa&&ct(new sa(new ArrayBuffer(1)))!=gc||Zr&&ct(new Zr)!=uc||ua&&ct(ua.resolve())!=cc||ca&&ct(new ca)!=dc||la&&ct(new la)!=pc)&&(ct=function(e){var t=Kr(e),r=t==Jk?e.constructor:void 0,i=r?Ie(r):"";if(i)switch(i){case Xk:return gc;case ex:return uc;case tx:return cc;case rx:return dc;case ix:return pc}return t});var uJ=Z.Uint8Array,nx="__lodash_hash_undefined__";function ox(e){return this.__data__.set(e,nx),this}var ax=ox;function lx(e){return this.__data__.has(e)}var sx=lx;function da(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Vc;++t<r;)this.add(e[t])}da.prototype.add=da.prototype.push=ax;da.prototype.has=sx;var fc=gt?gt.prototype:void 0,cJ=fc?fc.valueOf:void 0,ux=Object.prototype,dJ=ux.hasOwnProperty,cx=Object.prototype,pJ=cx.hasOwnProperty,gJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),fJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),yJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Bc(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function dx(e,t){let r=await Bc(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function px(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Bc(i,t)}function gx(e){return e!==void 0}var fx=gx,yc=class Gc{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Gc),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},yx=class qc{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new qc),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function mx(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,c,d)=>{if(l>=t.length)return r(c,d);let g=t[l],p=async(y,h)=>s(l+1,y,h),f={...d,addDisposer:o};return g(c,f,p)},u={...n,addDisposer:o};return{result:await s(0,i,u),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function hx({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var bx=hx,ra="ly.img.ai.temp";async function vx(e,t){return e.engine.asset.findAllSources().includes(ra)||e.engine.asset.addLocalSource(ra),e.engine.asset.apply(ra,t)}function wx(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function Yc(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function kx(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let u=s.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function xx(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function va(e){return e instanceof Error&&e.name==="AbortError"}function Ix(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function Cx(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
145
145
|
Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
|
|
146
146
|
This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
|
|
147
|
-
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function Wk(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var Kk=Wk;function Jk(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var Xk=Jk;function ex(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),tx(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:Gk(e)})}function tx(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Vu=ex,rx="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Bo=rx;function ix(e,t,r){switch(t){case"image":return nx(e,r[t]);case"video":return ox(e,r[t]);case"sticker":return ax(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function nx(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Bo,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function ox(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Bo,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function ax(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Bo,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var lx=ix;async function sx(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return ux(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return cx(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return dx(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return px(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function ux(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function cx(e,t,r){let i=t.width,n=t.height,a=await qk(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function dx(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function px(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var bc=sx;function gx(e){switch(e.userFlow){case"placeholder":return fx(e);case"generation-only":return yx(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function yx(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(de(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(de(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(de(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let l=hc(),u=await bc(l,n,a,o.output),s={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,s)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function fx(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(de(t,r))return{status:"aborted"};let l=hc(),u=lx(l,a,o);if(i=await Bk(t,u),de(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),y=t.engine.block.duplicate(i);t.engine.block.setPositionX(y,d),t.engine.block.setPositionY(y,p),t.engine.block.destroy(i),i=y}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let s=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(de(t,r,i))return{status:"aborted"};if(s.status!=="success")return s;if(s.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await bc(l,a,o,s.output);if(de(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),de(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),s}catch(a){return i!=null&&t.engine.block.isValid(i)&&(Vo(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function de(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var mx=gx;function Go(e){return`${e}.generating`}function hx(e){return`${e}.abort`}function bx(e,t,r,i,n,a,o){let{builder:l,experimental:u}=e,{cesdk:s,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:p}}=t,y=u.global(hx(d),()=>{}),g=u.global(Go(d),!1),b,v=g.value&&p,m=()=>{v&&(y.value(),g.setValue(!1),y.setValue(()=>{}))},w;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let h=i();w=a.requiredInputs.every(f=>!h.input[f])}let k=u.global(`${d}.confirmationDialogId`,void 0);l.Section(`${d}.generate.section`,{children:()=>{l.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:g.value,color:"accent",isDisabled:w,suffix:v?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let h=s.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:f})=>{s.ui.closeDialog(f),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:f})=>{m(),s.ui.closeDialog(f),k.setValue(void 0)}}});k.setValue(h)}}:void 0,onClick:async()=>{b=new AbortController;let h=b.signal;await(async()=>{try{g.setValue(!0),y.setValue(()=>{o.debug&&console.log("Aborting generation"),b?.abort()});let f=await mx({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:h,cesdk:s,debug:o.debug,dryRun:o.dryRun})(i().input);if(f.status==="aborted")return;if(f.status==="error"){Vu(f.message,{cesdk:s,provider:t,getInput:i});return}if(f.status==="success"&&f.type==="sync"){let x=t.output.notification;vx(s,x,()=>({input:i().input,output:f.output}))}}catch(f){if(Vo(f))return;Vu(f,{cesdk:s,provider:t,getInput:i})}finally{b=void 0,g.setValue(!1),y.setValue(()=>{}),k.value!=null&&(s.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&l.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&l.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function vx(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var vc=bx;async function wx({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,l=r.render;return u=>{let{state:s}=u,c=s(Go(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=l(u,{cesdk:a,isGenerating:c});return vc(u,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var kx=wx;function wc(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function Rr(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=wc(e,t.$ref),n={...Rr(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Rr(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Rr(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Rr(e,t[n],r));return i}return t}function xx(e){return Rr(e,{...e})}function Ix(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let l of i.type)if(typeof l!="string"||!o.includes(l))return r(`Array of types contains invalid value: ${l}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let l=0;l<i[o].length;l++){let u=i[o][l];if(typeof u!="object"||u===null)return r(`Item ${l} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let l=i.required[o];if(typeof l!="string")return r(`Item ${o} in required array must be a string, got ${typeof l}`)}}return!0}function Cx(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return Ax(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function Ax(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=Mx(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function Mx(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var kc=Cx;function xc(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let l=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?jx(e,l,r,i,n,a,o):Cc(e,l,r,i,n,a,o);case"boolean":return Ac(e,l,r,i,n,a,o);case"number":case"integer":return Mc(e,l,r,i,n,a,o);case"object":return Ic(e,l,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return Sx(e,l,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function Ic(e,t,r,i,n,a,o){let l=kc(t.schema??{},i).reduce((u,s)=>{let c=xc(e,s,r,i,n,a,o);return c!=null&&(u[s.id]=c()),u},{});return()=>({id:t.id,type:"object",value:l})}function Cc(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=u(c,t.schema.default??""),y=_x(t.schema),g=y?.component!=null&&y?.component==="TextArea"?"TextArea":"TextInput";return l[g](c,{inputLabel:d,placeholder:n.i18n?.prompt,...p}),()=>({id:t.id,type:"string",value:p.value})}function jx(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{},y="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},g=(t.schema.enum??[]).map(m=>({id:m,label:[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.property.${t.id}.${m}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}.${m}`],icon:p[m]})),b=t.schema.default!=null?g.find(m=>m.id===t.schema.default)??g[0]:g[0],v=u(c,b);return l.Select(c,{inputLabel:d,values:g,...v}),()=>({id:t.id,type:"string",value:v.value.id})}function Ac(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=!!t.schema.default,y=u(c,p);return l.Checkbox(c,{inputLabel:d,...y}),()=>({id:t.id,type:"boolean",value:y.value})}function Mc(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.minimum,y=t.schema.maximum,g=t.schema.default;g==null&&(p!=null?g=p:y!=null?g=y:g=0);let b=u(c,g);if(p!=null&&y!=null){let v=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(v=t.schema["x-imgly-step"]),l.Slider(c,{inputLabel:d,min:p,max:y,step:v,...b})}else l.NumberInput(c,{inputLabel:d,min:p,max:y,...b});return()=>({id:t.id,type:"integer",value:b.value})}function Sx(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.anyOf??[],y=[],g={},b={};p.forEach((w,k)=>{let h=w.title??"common.custom",f=`${r.id}.${s}.anyOf[${k}]`,x="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},I="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{};w.type==="string"?w.enum!=null?w.enum.forEach(C=>{y.push({id:C,label:x[C]??Yk(C),icon:I[C]})}):(g[f]=()=>Cc(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="boolean"?(g[f]=()=>Ac(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="integer"?(g[f]=()=>Mc(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="array"||w.type==="object"&&(g[f]=()=>Ic(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]}))});let v=t.schema.default!=null?y.find(w=>w.id===t.schema.default)??y[0]:y[0],m=u(c,v);if(l.Select(c,{inputLabel:d,values:y,...m}),m.value.id in g){let w=g[m.value.id]();b[m.value.id]=w}return()=>{let w=b[m.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:m.value.id}}}function _x(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var $x=xc,Ex={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function Bu(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function Lx(e,t,r,i){let n={};e.forEach(o=>{if(o.schema?.title&&(n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}`]=o.schema.title),o.schema?.enum){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.enum.forEach(u=>{let s=String(u),c=l[s]||Bu(s);n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}.${s}`]=c})}if(o.schema?.anyOf&&Array.isArray(o.schema.anyOf)){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.anyOf.forEach(u=>{let s=u;s.enum&&Array.isArray(s.enum)&&s.enum.forEach(c=>{let d=String(c),p=l[d]||Bu(d);n[`ly.img.plugin-ai-${i}-generation-web.defaults.property.${t.id}.${o.id}.${d}`]=p})})}});let a={...Ex,...n};Object.keys(a).length>0&&r.cesdk.i18n.setTranslations({en:a})}async function Tx({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=xx(r.document),l=wc(o,r.inputReference);if(!Ix(l,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=l,s=kc(u,r);return Lx(s,t,e,t.kind),c=>{let{builder:d}=c,p=[];d.Section(`${a}.schema.section`,{children:()=>{s.forEach(v=>{let m=$x(c,v,t,r,e,i,t.kind);m!=null&&(Array.isArray(m)?p.push(...m):p.push(m))})}});let y=p.map(v=>v()),g=v=>v.type==="object"?Object.entries(v.value).reduce((m,[w,k])=>(m[w]=g(k),m),{}):v.value,b=y.reduce((v,m)=>(v[m.id]=g(m),v),{});vc(c,t,n,()=>({input:b}),()=>r.getBlockInput(b),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var Ox=Tx;async function Nx(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return kx(e,t);case"schema":return Ox(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var Dx=Nx;function Px(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new Pv(o,r)),o}return i}var zx=Px;function Ux(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var Rx=Ux,jo="@imgly/plugin-ai-generation",Fx=`
|
|
147
|
+
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function Ax(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var Mx=Ax;function jx(){return({engine:e})=>{let t=e.block.findAllSelected();if(t==null||t.length!==1)return!1;let[r]=t;if(!e.block.supportsFill(r)||e.block.getKind(r)==="sticker"||!["//ly.img.ubq/graphic","//ly.img.ubq/page"].includes(e.block.getType(r)))return!1;let i=e.block.getFill(r);return e.block.getType(i)==="//ly.img.ubq/fill/image"}}var Sx=jx;function _x(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),Ex(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:wx(e)})}function Ex(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var mc=_x,$x="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",wa=$x;function Lx(e,t,r){switch(t){case"image":return Tx(e,r[t]);case"video":return Ox(e,r[t]);case"sticker":return Nx(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function Tx(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:wa,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function Ox(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:wa,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function Nx(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:wa,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var Dx=Lx;async function Px(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return zx(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return Ux(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return Rx(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return Fx(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function zx(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function Ux(e,t,r){let i=t.width,n=t.height,a=await kx(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function Rx(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function Fx(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Hc=Px;function Vx(e){switch(e.userFlow){case"placeholder":return Gx(e);case"generation-only":return Bx(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function Bx(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ce(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ce(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(ce(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=Yc(),u=await Hc(s,n,a,o.output),l={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function Gx(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ce(t,r))return{status:"aborted"};let s=Yc(),u=Dx(s,a,o);if(i=await vx(t,u),ce(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ce(t,r,i))return{status:"aborted"};if(l.status!=="success")return l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await Hc(s,a,o,l.output);if(ce(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),ce(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(va(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function ce(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var qx=Vx;function ka(e){return`${e}.generating`}function Yx(e){return`${e}.abort`}function Hx(e,t,r,i,n,a,o){let{builder:s,experimental:u}=e,{cesdk:l,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:g}}=t,p=u.global(Yx(d),()=>{}),f=u.global(ka(d),!1),y,h=f.value&&g,b=()=>{h&&(p.value(),f.setValue(!1),p.setValue(()=>{}))},I;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let w=i();I=a.requiredInputs.every(v=>!w.input[v])}let x=u.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:f.value,color:"accent",isDisabled:I,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let w=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:v})=>{l.ui.closeDialog(v),x.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:v})=>{b(),l.ui.closeDialog(v),x.setValue(void 0)}}});x.setValue(w)}}:void 0,onClick:async()=>{y=new AbortController;let w=y.signal;await(async()=>{try{f.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),y?.abort()});let v=await qx({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:w,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(v.status==="aborted")return;if(v.status==="error"){mc(v.message,{cesdk:l,provider:t,getInput:i});return}if(v.status==="success"&&v.type==="sync"){let k=t.output.notification;Zx(l,k,()=>({input:i().input,output:v.output}))}}catch(v){if(va(v))return;mc(v,{cesdk:l,provider:t,getInput:i})}finally{y=void 0,f.setValue(!1),p.setValue(()=>{}),x.value!=null&&(l.ui.closeDialog(x.value),x.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function Zx(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var Zc=Hx;async function Qx({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,s=r.render;return u=>{let{state:l}=u,c=l(ka(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(u,{cesdk:a,isGenerating:c});return Zc(u,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var Wx=Qx;function Qc(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function Br(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=Qc(e,t.$ref),n={...Br(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Br(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Br(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Br(e,t[n],r));return i}return t}function Kx(e){return Br(e,{...e})}function Jx(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let u=i[o][s];if(typeof u!="object"||u===null)return r(`Item ${s} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function Xx(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return eI(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function eI(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=tI(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function tI(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var Wc=Xx;function xe(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`;return[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`]}function Kc(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function Jc(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let s=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?rI(e,s,r,i,n,a,o):Xc(e,s,r,i,n,a,o);case"boolean":return ed(e,s,r,i,n,a,o);case"number":case"integer":return td(e,s,r,i,n,a,o);case"object":return pa(e,s,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return iI(e,s,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function pa(e,t,r,i,n,a,o){let s=Wc(t.schema??{},i).reduce((u,l)=>{let c=Jc(e,l,r,i,n,a,o);return c!=null&&(u[l.id]=c()),u},{});return()=>({id:t.id,type:"object",value:s})}function Xc(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=xe(t,r,o),g=u(c,t.schema.default??""),p=nI(t.schema),f=p?.component!=null&&p?.component==="TextArea"?"TextArea":"TextInput";return s[f](c,{inputLabel:d,placeholder:n.i18n?.prompt,...g}),()=>({id:t.id,type:"string",value:g.value})}function rI(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=xe(t,r,o),{labels:g,icons:p}=Kc(t.schema),f=(t.schema.enum??[]).map(b=>({id:b,label:xe(t,r,o,b),icon:p[b]})),y=t.schema.default!=null?f.find(b=>b.id===t.schema.default)??f[0]:f[0],h=u(c,y);return s.Select(c,{inputLabel:d,values:f,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function ed(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=xe(t,r,o),g=!!t.schema.default,p=u(c,g);return s.Checkbox(c,{inputLabel:d,...p}),()=>({id:t.id,type:"boolean",value:p.value})}function td(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=xe(t,r,o),g=t.schema.minimum,p=t.schema.maximum,f=t.schema.default;f==null&&(g!=null?f=g:p!=null?f=p:f=0);let y=u(c,f);if(g!=null&&p!=null){let h=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(h=t.schema["x-imgly-step"]),s.Slider(c,{inputLabel:d,min:g,max:p,step:h,...y})}else s.NumberInput(c,{inputLabel:d,min:g,max:p,...y});return()=>({id:t.id,type:"integer",value:y.value})}function iI(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=xe(t,r,o),g=t.schema.anyOf??[],p=[],f={},y={},{labels:h,icons:b}=Kc(t.schema),I={string:Xc,boolean:ed,integer:td,object:pa},x=(m,A)=>m.$ref?m.$ref.split("/").pop():A.split(".").pop()??A,w=(m,A)=>({id:m,label:xe(t,r,o,A),icon:b[A]??b[m]});g.forEach((m,A)=>{let C=`${r.id}.${l}.anyOf[${A}]`;if(m.$ref||m.title){let M=m.$ref?m.$ref.split("/").pop():m.title;f[C]=()=>pa(e,{id:C,schema:{...m,title:h[M]||M}},r,i,n,a,o),p.push(w(C,M))}else if(m.type==="string"&&m.enum)m.enum.forEach(M=>{p.push(w(M,M))});else if(m.type&&I[m.type]){let M=I[m.type];f[C]=()=>M(e,{id:C,schema:{...m,title:m.title}},r,i,n,a,o);let j=x(m,C);p.push(m.type==="string"&&!m.enum?{id:C,label:m.title||j,icon:m.title&&b[m.title]||b[j]}:w(C,j))}});let v=t.schema.default!=null?p.find(m=>m.id===t.schema.default)??p[0]:p[0],k=u(c,v);if(s.Select(c,{inputLabel:d,values:p,...k}),k.value.id in f){let m=f[k.value.id]();y[k.value.id]=m}return()=>{let m=y[k.value.id];return m!=null?{...m(),id:t.id}:{id:t.id,type:"string",value:k.value.id}}}function nI(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var oI=Jc,aI={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function hc(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function lI(e,t,r,i){let n={},a=(l,c)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${c?`.${c}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,c,d)=>{l.forEach(g=>{let p=String(g),f=d[p]||hc(p);n[a(c,p)]=f})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let c=o(l.schema);s(l.schema.enum,l.id,c)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let c=o(l.schema);l.schema.anyOf.forEach(d=>{let g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,c);else if(g.$ref){let p=g.$ref.split("/").pop();p&&c[p]&&(n[a(l.id,p)]=c[p])}else if(g.title){let p=g.title,f=c[p]||hc(p);n[a(l.id,p)]=f}})}});let u={...aI,...n};Object.keys(u).length>0&&r.cesdk.i18n.setTranslations({en:u})}async function sI({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=Kx(r.document),s=Qc(o,r.inputReference);if(!Jx(s,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=s,l=Wc(u,r);return lI(l,t,e,t.kind),c=>{let{builder:d}=c,g=[];d.Section(`${a}.schema.section`,{children:()=>{l.forEach(h=>{let b=oI(c,h,t,r,e,i,t.kind);b!=null&&(Array.isArray(b)?g.push(...b):g.push(b))})}});let p=g.map(h=>h()),f=h=>h.type==="object"?Object.entries(h.value).reduce((b,[I,x])=>(b[I]=f(x),b),{}):h.value,y=p.reduce((h,b)=>(h[b.id]=f(b),h),{});Zc(c,t,n,()=>({input:y}),()=>r.getBlockInput(y),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var uI=sI;async function cI(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return Wx(e,t);case"schema":return uI(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var dI=cI;function pI(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new g6(o,r)),o}return i}var gI=pI;function fI(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var yI=fI,ia="@imgly/plugin-ai-generation",mI=`
|
|
148
148
|
<svg>
|
|
149
149
|
<symbol
|
|
150
150
|
fill="none"
|
|
@@ -162,7 +162,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
162
162
|
fill="none"
|
|
163
163
|
xmlns="http://www.w3.org/2000/svg"
|
|
164
164
|
viewBox="0 0 24 24"
|
|
165
|
-
id="${
|
|
165
|
+
id="${ia}/image"
|
|
166
166
|
>
|
|
167
167
|
<path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
|
|
168
168
|
<path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
|
|
@@ -174,7 +174,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
174
174
|
fill="none"
|
|
175
175
|
xmlns="http://www.w3.org/2000/svg"
|
|
176
176
|
viewBox="0 0 24 24"
|
|
177
|
-
id="${
|
|
177
|
+
id="${ia}/video"
|
|
178
178
|
>
|
|
179
179
|
<path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
|
|
180
180
|
<path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
|
|
@@ -185,7 +185,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
185
185
|
fill="none"
|
|
186
186
|
xmlns="http://www.w3.org/2000/svg"
|
|
187
187
|
viewBox="0 0 24 24"
|
|
188
|
-
id="${
|
|
188
|
+
id="${ia}/audio"
|
|
189
189
|
>
|
|
190
190
|
<path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
|
|
191
191
|
<path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
|
|
@@ -205,11 +205,11 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
205
205
|
|
|
206
206
|
</symbol>
|
|
207
207
|
</svg>
|
|
208
|
-
`,
|
|
209
|
-
`,"+")}`}}async function Yx(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function Hx(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,l=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);l&&l[1]&&(i=l[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=zr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=zr(n,o)}else"customPrompt"in e?a=zr(n,"custom"):a=zr(n,"improved");else a=zr(n,"generated");return Zx(a,r.abortSignal)}async function*Zx(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await jc(100)}return{kind:"text",text:e}}function zr(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,l="";if(n<=o.length)l=o.substring(0,n);else{l=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],s=0;for(;l.length<n;){let c=u[s%u.length];if(l.length+c.length<=n)l+=c;else{l+=c.substring(0,n-l.length);break}s++}}return r+l}async function Qx(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:Wx(220,i),duration:i,thumbnailUrl:void 0}}function Wx(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return Kx(i,44100)}function Kx(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,l=r*i,u=44+l,s=new ArrayBuffer(u),c=new DataView(s),d=(b,v)=>{for(let m=0;m<v.length;m++)c.setUint8(b+m,v.charCodeAt(m))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,l,!0);let p=44;for(let b=0;b<r;b++){let v=Math.max(-1,Math.min(1,e[b])),m=Math.round(v*32767);c.setInt16(p,m,!0),p+=2}let y=new Uint8Array(s),g="";for(let b=0;b<y.length;b++)g+=String.fromCharCode(y[b]);return`data:audio/wav;base64,${btoa(g)}`}async function jc(e){return new Promise(t=>{setTimeout(t,e)})}var Jx=Bx,Xx="USER_CANCEL";function eI(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Rk([...e.provider.output.middleware??[],...r?.middlewares??[],Vk({enable:r?.debug}),Jx({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:Hk(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return Vo(n)?{status:"aborted",message:n.message}:n===Xx?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var tI=eI;async function rI(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=zx(a),l=Rx(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=l;let u=tI({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),s=await Dx(a,u);Zk(r.cesdk,"@imgly/plugin-ai-generation",Vx);let c={provider:t,panel:{builderRenderFunction:s},history:{assetSourceId:o,assetLibraryEntryId:l},generate:u};return Uk.get().register(c),c}var So=rI;function iI(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new zv(n,r,i);return r.engine.asset.addSource(a),a.id}var nI=iI;async function oI(e,t,r,i){let n,a=[];if(Array.isArray(t)){let u=await Promise.all(t.map(s=>So(e,s,r,i)));a.push(...u),n=lI({prefix:e,providerInitializationResults:a})}else{let u=await Promise.all(t.fromText.map(c=>So(e,c,r,i)));a.push(...u);let s=await Promise.all(t.fromImage.map(c=>So(e,c,r,i)));a.push(...s),n=aI({prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:u,initializedFromImageProviders:s})}let o=nI({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(u=>u.history?.assetSourceId).filter(zk)}),l;return o!=null&&(l=o,r.cesdk.ui.addAssetLibraryEntry({id:l,sourceIds:[o],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:n},history:{assetSourceId:o,assetLibraryEntryId:l},providerInitializationResults:a}}function aI({prefix:e,initializedFromTextProviders:t,initializedFromImageProviders:r}){let i=t.length>0&&r.length>0;return n=>{let{builder:a,experimental:o}=n,l=o.global(`${e}.fromType`,i?"fromText":void 0),u=[];l.value==="fromText"?u.push(...t):l.value==="fromImage"?u.push(...r):u.push(...t,...r);let s=t.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),c=r.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),d=n.experimental.global(`${e}.selectedProvider.fromText`,s[0]),p=n.experimental.global(`${e}.selectedProvider.fromImage`,c[0]),y=l.value==="fromText"?d:l.value==="fromImage"?p:void 0;if((i||u.length>1)&&a.Section(`${e}.providerSelection.section`,{children:()=>{if(i&&a.ButtonGroup(`${e}.fromType.buttonGroup`,{inputLabel:"Input",children:()=>{a.Button(`${e}.fromType.buttonGroup.fromText`,{label:"Text",icon:l.value!=="fromText"&&Gu(t,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromText",onClick:()=>{l.setValue("fromText")}}),a.Button(`${e}.fromType.buttonGroup.fromImage`,{label:"Image",icon:l.value!=="fromImage"&&Gu(r,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromImage",onClick:()=>{l.setValue("fromImage")}})}}),u.length>1){let g=l.value==="fromText"?s:l.value==="fromImage"?c:[...s,...c];y!=null&&a.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:g,...y})}}}),u.length>1)y?.value.builderRenderFunction?.(n);else{let g=u[0];g&&g.panel?.builderRenderFunction?.(n)}}}function lI({prefix:e,providerInitializationResults:t}){return r=>{let{builder:i}=r;if(t.length===0)return;let n=t.map(({provider:o,panel:l})=>({id:o.id,label:o.name??o.id,builderRenderFunction:l?.builderRenderFunction})),a=r.state(`${e}.selectedProvider`,n[0]);t.length>1&&a!=null&&i.Section(`${e}.providerSelection.section`,{children:()=>{i.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:n,...a})}}),a.value.builderRenderFunction?.(r)}}function Gu(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Go(r.id),!1).value)}var sI=oI,uI=typeof global=="object"&&global&&global.Object===Object&&global,Sc=uI,cI=typeof self=="object"&&self&&self.Object===Object&&self,dI=Sc||cI||Function("return this")(),W=dI,pI=W.Symbol,dt=pI,_c=Object.prototype,gI=_c.hasOwnProperty,yI=_c.toString,Ur=dt?dt.toStringTag:void 0;function fI(e){var t=gI.call(e,Ur),r=e[Ur];try{e[Ur]=void 0;var i=!0}catch{}var n=yI.call(e);return i&&(t?e[Ur]=r:delete e[Ur]),n}var mI=fI,hI=Object.prototype,bI=hI.toString;function vI(e){return bI.call(e)}var wI=vI,kI="[object Null]",xI="[object Undefined]",qu=dt?dt.toStringTag:void 0;function II(e){return e==null?e===void 0?xI:kI:qu&&qu in Object(e)?mI(e):wI(e)}var Qr=II;function CI(e){return e!=null&&typeof e=="object"}var qo=CI,SK=Array.isArray;function AI(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var $c=AI,MI="[object AsyncFunction]",jI="[object Function]",SI="[object GeneratorFunction]",_I="[object Proxy]";function $I(e){if(!$c(e))return!1;var t=Qr(e);return t==jI||t==SI||t==MI||t==_I}var EI=$I,LI=W["__core-js_shared__"],_o=LI,Yu=function(){var e=/[^.]+$/.exec(_o&&_o.keys&&_o.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function TI(e){return!!Yu&&Yu in e}var OI=TI,NI=Function.prototype,DI=NI.toString;function PI(e){if(e!=null){try{return DI.call(e)}catch{}try{return e+""}catch{}}return""}var Ce=PI,zI=/[\\^$.*+?()[\]{}|]/g,UI=/^\[object .+?Constructor\]$/,RI=Function.prototype,FI=Object.prototype,VI=RI.toString,BI=FI.hasOwnProperty,GI=RegExp("^"+VI.call(BI).replace(zI,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function qI(e){if(!$c(e)||OI(e))return!1;var t=EI(e)?GI:UI;return t.test(Ce(e))}var YI=qI;function HI(e,t){return e?.[t]}var ZI=HI;function QI(e,t){var r=ZI(e,t);return YI(r)?r:void 0}var mt=QI,WI=mt(W,"WeakMap"),Do=WI;function KI(e,t){return e===t||e!==e&&t!==t}var JI=KI,XI=9007199254740991;function eC(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=XI}var tC=eC,_K=Object.prototype,rC="[object Arguments]";function iC(e){return qo(e)&&Qr(e)==rC}var Hu=iC,Ec=Object.prototype,nC=Ec.hasOwnProperty,oC=Ec.propertyIsEnumerable,$K=Hu(function(){return arguments}())?Hu:function(e){return qo(e)&&nC.call(e,"callee")&&!oC.call(e,"callee")},Lc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Zu=Lc&&typeof module=="object"&&module&&!module.nodeType&&module,aC=Zu&&Zu.exports===Lc,Qu=aC?W.Buffer:void 0,EK=Qu?Qu.isBuffer:void 0,lC="[object Arguments]",sC="[object Array]",uC="[object Boolean]",cC="[object Date]",dC="[object Error]",pC="[object Function]",gC="[object Map]",yC="[object Number]",fC="[object Object]",mC="[object RegExp]",hC="[object Set]",bC="[object String]",vC="[object WeakMap]",wC="[object ArrayBuffer]",kC="[object DataView]",xC="[object Float32Array]",IC="[object Float64Array]",CC="[object Int8Array]",AC="[object Int16Array]",MC="[object Int32Array]",jC="[object Uint8Array]",SC="[object Uint8ClampedArray]",_C="[object Uint16Array]",$C="[object Uint32Array]",E={};E[xC]=E[IC]=E[CC]=E[AC]=E[MC]=E[jC]=E[SC]=E[_C]=E[$C]=!0;E[lC]=E[sC]=E[wC]=E[uC]=E[kC]=E[cC]=E[dC]=E[pC]=E[gC]=E[yC]=E[fC]=E[mC]=E[hC]=E[bC]=E[vC]=!1;function EC(e){return qo(e)&&tC(e.length)&&!!E[Qr(e)]}var LC=EC;function TC(e){return function(t){return e(t)}}var OC=TC,Tc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vr=Tc&&typeof module=="object"&&module&&!module.nodeType&&module,NC=Vr&&Vr.exports===Tc,$o=NC&&Sc.process,DC=function(){try{var e=Vr&&Vr.require&&Vr.require("util").types;return e||$o&&$o.binding&&$o.binding("util")}catch{}}(),Wu=DC,Ku=Wu&&Wu.isTypedArray,LK=Ku?OC(Ku):LC,PC=Object.prototype,TK=PC.hasOwnProperty;function zC(e,t){return function(r){return e(t(r))}}var UC=zC,OK=UC(Object.keys,Object),RC=Object.prototype,NK=RC.hasOwnProperty,FC=mt(Object,"create"),qr=FC;function VC(){this.__data__=qr?qr(null):{},this.size=0}var BC=VC;function GC(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var qC=GC,YC="__lodash_hash_undefined__",HC=Object.prototype,ZC=HC.hasOwnProperty;function QC(e){var t=this.__data__;if(qr){var r=t[e];return r===YC?void 0:r}return ZC.call(t,e)?t[e]:void 0}var WC=QC,KC=Object.prototype,JC=KC.hasOwnProperty;function XC(e){var t=this.__data__;return qr?t[e]!==void 0:JC.call(t,e)}var eA=XC,tA="__lodash_hash_undefined__";function rA(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=qr&&t===void 0?tA:t,this}var iA=rA;function ht(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ht.prototype.clear=BC;ht.prototype.delete=qC;ht.prototype.get=WC;ht.prototype.has=eA;ht.prototype.set=iA;var Ju=ht;function nA(){this.__data__=[],this.size=0}var oA=nA;function aA(e,t){for(var r=e.length;r--;)if(JI(e[r][0],t))return r;return-1}var pn=aA,lA=Array.prototype,sA=lA.splice;function uA(e){var t=this.__data__,r=pn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():sA.call(t,r,1),--this.size,!0}var cA=uA;function dA(e){var t=this.__data__,r=pn(t,e);return r<0?void 0:t[r][1]}var pA=dA;function gA(e){return pn(this.__data__,e)>-1}var yA=gA;function fA(e,t){var r=this.__data__,i=pn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var mA=fA;function bt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}bt.prototype.clear=oA;bt.prototype.delete=cA;bt.prototype.get=pA;bt.prototype.has=yA;bt.prototype.set=mA;var gn=bt,hA=mt(W,"Map"),Yr=hA;function bA(){this.size=0,this.__data__={hash:new Ju,map:new(Yr||gn),string:new Ju}}var vA=bA;function wA(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var kA=wA;function xA(e,t){var r=e.__data__;return kA(t)?r[typeof t=="string"?"string":"hash"]:r.map}var yn=xA;function IA(e){var t=yn(this,e).delete(e);return this.size-=t?1:0,t}var CA=IA;function AA(e){return yn(this,e).get(e)}var MA=AA;function jA(e){return yn(this,e).has(e)}var SA=jA;function _A(e,t){var r=yn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var $A=_A;function vt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}vt.prototype.clear=vA;vt.prototype.delete=CA;vt.prototype.get=MA;vt.prototype.has=SA;vt.prototype.set=$A;var Oc=vt;function EA(){this.__data__=new gn,this.size=0}var LA=EA;function TA(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var OA=TA;function NA(e){return this.__data__.get(e)}var DA=NA;function PA(e){return this.__data__.has(e)}var zA=PA,UA=200;function RA(e,t){var r=this.__data__;if(r instanceof gn){var i=r.__data__;if(!Yr||i.length<UA-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Oc(i)}return r.set(e,t),this.size=r.size,this}var FA=RA;function Wr(e){var t=this.__data__=new gn(e);this.size=t.size}Wr.prototype.clear=LA;Wr.prototype.delete=OA;Wr.prototype.get=DA;Wr.prototype.has=zA;Wr.prototype.set=FA;var VA=Object.prototype,DK=VA.propertyIsEnumerable,BA=mt(W,"DataView"),Po=BA,GA=mt(W,"Promise"),zo=GA,qA=mt(W,"Set"),Uo=qA,Xu="[object Map]",YA="[object Object]",ec="[object Promise]",tc="[object Set]",rc="[object WeakMap]",ic="[object DataView]",HA=Ce(Po),ZA=Ce(Yr),QA=Ce(zo),WA=Ce(Uo),KA=Ce(Do),st=Qr;(Po&&st(new Po(new ArrayBuffer(1)))!=ic||Yr&&st(new Yr)!=Xu||zo&&st(zo.resolve())!=ec||Uo&&st(new Uo)!=tc||Do&&st(new Do)!=rc)&&(st=function(e){var t=Qr(e),r=t==YA?e.constructor:void 0,i=r?Ce(r):"";if(i)switch(i){case HA:return ic;case ZA:return Xu;case QA:return ec;case WA:return tc;case KA:return rc}return t});var PK=W.Uint8Array,JA="__lodash_hash_undefined__";function XA(e){return this.__data__.set(e,JA),this}var eM=XA;function tM(e){return this.__data__.has(e)}var rM=tM;function Ro(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Oc;++t<r;)this.add(e[t])}Ro.prototype.add=Ro.prototype.push=eM;Ro.prototype.has=rM;var nc=dt?dt.prototype:void 0,zK=nc?nc.valueOf:void 0,iM=Object.prototype,UK=iM.hasOwnProperty,nM=Object.prototype,RK=nM.hasOwnProperty,FK=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),VK=new RegExp(/[A-Fa-f0-9]{1}/,"g"),BK=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function oM(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function aM(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return oM(i,t)}function lM(e){return e==null?[]:Array.isArray(e)?e:[e]}var oc=lM,sn="@imgly/plugin-ai-video-generation-web";var Nc="createVideo",ac=`ly.img.${Nc}`,ln=`ly.img.plugin-ai-video-generation-web.quickAction.${Nc}`,sM=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${ln}`]:"Create Video...",[`${ln}.description`]:"Create a video from the image"}}),{id:ac,type:"quick",kind:"image",label:`${ln}`,enable:Xk(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${ac}.button`,{label:`${ln}`,icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await aM(a,r,{throwErrorIfSvg:!0});e.ui.openPanel("ly.img.ai.video-generation"),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue(`${n}.image_url`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),uM=sM,ce="ly.img.ai.video-generation";function cM(e){return{async initialize({cesdk:t}){if(t==null)return;Qk(t,sn,"0.2.4"),t.setTranslations({en:{[`panel.${ce}`]:"Video Generation",[`${ce}.dock.label`]:"AI Video"}}),dM(e);let r=Fu.get().register({type:"plugin",sceneMode:"Video",id:sn,pluginId:sn,label:"Generate Video",meta:{panelId:ce},execute:()=>{t.ui.isPanelOpen(ce)?t.ui.closePanel(ce):t.ui.openPanel(ce)}}),i=e.providers?.text2video??e.text2video,n=e.providers?.image2video??e.image2video,a=await Promise.all(oc(i).map(u=>u({cesdk:t}))),o=await Promise.all(oc(n).map(u=>u({cesdk:t})));if(!(a.length>0||o.length>0)){r();return}let l=await sI("video",{fromText:a,fromImage:o},{cesdk:t},e);Fu.get().register(uM({cesdk:t})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(ce,l.panel.builderRenderFunction),Kk({cesdk:t,panelId:ce})):r()}}}function dM(e){e.debug&&(e.providers?.text2video!=null&&e.text2video!=null&&console.warn("[VideoGeneration]: Both `providers.text2video` and `text2video` configuration is provided. Since `text2video` is deprecated, only `providers.text2video` will be used."),e.providers?.image2video!=null&&e.image2video!=null&&console.warn("[VideoGeneration]: Both `providers.image2video` and `image2video` configuration is provided. Since `image2video` is deprecated, only `providers.image2video` will be used."))}var pM=cM,gM=e=>({name:sn,version:"0.2.4",...pM(e)}),Dc=gM;var yM=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,s)=>{let c=e.locale??"en",d="",p=[];s.label!=null&&typeof s.label=="object"&&s.label[c]&&(d=s.label[c]),s.tags!=null&&typeof s.tags=="object"&&s.tags[c]&&(p=s.tags[c]);let y={...s,label:d,tags:p};return this.filterAsset(y,e)&&u.push(y),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),l=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:l,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;It(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{It(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let l=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?l-u:u-l}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return It(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),It(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),l=e.label?.toLowerCase()??"",u=e.tags?.map(s=>s.toLowerCase())??[];if(!o.every(s=>l.includes(s)||u.some(c=>c.includes(s))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(l=>e.tags?.includes(l))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,l)=>{let u,s;return i==="id"?(u=o.id,s=l.id):(u=o.meta?.[i]??null,s=l.meta?.[i]??null),u==null?r==="Ascending"?-1:1:s==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof s=="string"?r==="Ascending"?u.localeCompare(s):s.localeCompare(u):r==="Ascending"?u<s?-1:u>s?1:0:u>s?-1:u<s?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,l)=>o.active&&!l.active?-1:!o.active&&l.active?1:0)),a}};function It(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=It(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=It(n,t,a)}return e}var fM=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let p=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,l=o+a,u=i.slice(o,l),s=l<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:s,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},mM=typeof global=="object"&&global&&global.Object===Object&&global,hd=mM,hM=typeof self=="object"&&self&&self.Object===Object&&self,bM=hd||hM||Function("return this")(),K=bM,vM=K.Symbol,Ct=vM,bd=Object.prototype,wM=bd.hasOwnProperty,kM=bd.toString,Kr=Ct?Ct.toStringTag:void 0;function xM(e){var t=wM.call(e,Kr),r=e[Kr];try{e[Kr]=void 0;var i=!0}catch{}var n=kM.call(e);return i&&(t?e[Kr]=r:delete e[Kr]),n}var IM=xM,CM=Object.prototype,AM=CM.toString;function MM(e){return AM.call(e)}var jM=MM,SM="[object Null]",_M="[object Undefined]",Pc=Ct?Ct.toStringTag:void 0;function $M(e){return e==null?e===void 0?_M:SM:Pc&&Pc in Object(e)?IM(e):jM(e)}var li=$M;function EM(e){return e!=null&&typeof e=="object"}var ua=EM,HK=Array.isArray;function LM(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var vd=LM,TM="[object AsyncFunction]",OM="[object Function]",NM="[object GeneratorFunction]",DM="[object Proxy]";function PM(e){if(!vd(e))return!1;var t=li(e);return t==OM||t==NM||t==TM||t==DM}var zM=PM,UM=K["__core-js_shared__"],Yo=UM,zc=function(){var e=/[^.]+$/.exec(Yo&&Yo.keys&&Yo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function RM(e){return!!zc&&zc in e}var FM=RM,VM=Function.prototype,BM=VM.toString;function GM(e){if(e!=null){try{return BM.call(e)}catch{}try{return e+""}catch{}}return""}var je=GM,qM=/[\\^$.*+?()[\]{}|]/g,YM=/^\[object .+?Constructor\]$/,HM=Function.prototype,ZM=Object.prototype,QM=HM.toString,WM=ZM.hasOwnProperty,KM=RegExp("^"+QM.call(WM).replace(qM,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function JM(e){if(!vd(e)||FM(e))return!1;var t=zM(e)?KM:YM;return t.test(je(e))}var XM=JM;function ej(e,t){return e?.[t]}var tj=ej;function rj(e,t){var r=tj(e,t);return XM(r)?r:void 0}var Mt=rj,ij=Mt(K,"WeakMap"),Xo=ij;function nj(e,t){return e===t||e!==e&&t!==t}var oj=nj,aj=9007199254740991;function lj(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=aj}var sj=lj,ZK=Object.prototype,uj="[object Arguments]";function cj(e){return ua(e)&&li(e)==uj}var Uc=cj,wd=Object.prototype,dj=wd.hasOwnProperty,pj=wd.propertyIsEnumerable,QK=Uc(function(){return arguments}())?Uc:function(e){return ua(e)&&dj.call(e,"callee")&&!pj.call(e,"callee")},kd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Rc=kd&&typeof module=="object"&&module&&!module.nodeType&&module,gj=Rc&&Rc.exports===kd,Fc=gj?K.Buffer:void 0,WK=Fc?Fc.isBuffer:void 0,yj="[object Arguments]",fj="[object Array]",mj="[object Boolean]",hj="[object Date]",bj="[object Error]",vj="[object Function]",wj="[object Map]",kj="[object Number]",xj="[object Object]",Ij="[object RegExp]",Cj="[object Set]",Aj="[object String]",Mj="[object WeakMap]",jj="[object ArrayBuffer]",Sj="[object DataView]",_j="[object Float32Array]",$j="[object Float64Array]",Ej="[object Int8Array]",Lj="[object Int16Array]",Tj="[object Int32Array]",Oj="[object Uint8Array]",Nj="[object Uint8ClampedArray]",Dj="[object Uint16Array]",Pj="[object Uint32Array]",L={};L[_j]=L[$j]=L[Ej]=L[Lj]=L[Tj]=L[Oj]=L[Nj]=L[Dj]=L[Pj]=!0;L[yj]=L[fj]=L[jj]=L[mj]=L[Sj]=L[hj]=L[bj]=L[vj]=L[wj]=L[kj]=L[xj]=L[Ij]=L[Cj]=L[Aj]=L[Mj]=!1;function zj(e){return ua(e)&&sj(e.length)&&!!L[li(e)]}var Uj=zj;function Rj(e){return function(t){return e(t)}}var Fj=Rj,xd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ti=xd&&typeof module=="object"&&module&&!module.nodeType&&module,Vj=ti&&ti.exports===xd,Ho=Vj&&hd.process,Bj=function(){try{var e=ti&&ti.require&&ti.require("util").types;return e||Ho&&Ho.binding&&Ho.binding("util")}catch{}}(),Vc=Bj,Bc=Vc&&Vc.isTypedArray,KK=Bc?Fj(Bc):Uj,Gj=Object.prototype,JK=Gj.hasOwnProperty;function qj(e,t){return function(r){return e(t(r))}}var Yj=qj,XK=Yj(Object.keys,Object),Hj=Object.prototype,eJ=Hj.hasOwnProperty,Zj=Mt(Object,"create"),ii=Zj;function Qj(){this.__data__=ii?ii(null):{},this.size=0}var Wj=Qj;function Kj(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Jj=Kj,Xj="__lodash_hash_undefined__",eS=Object.prototype,tS=eS.hasOwnProperty;function rS(e){var t=this.__data__;if(ii){var r=t[e];return r===Xj?void 0:r}return tS.call(t,e)?t[e]:void 0}var iS=rS,nS=Object.prototype,oS=nS.hasOwnProperty;function aS(e){var t=this.__data__;return ii?t[e]!==void 0:oS.call(t,e)}var lS=aS,sS="__lodash_hash_undefined__";function uS(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ii&&t===void 0?sS:t,this}var cS=uS;function jt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}jt.prototype.clear=Wj;jt.prototype.delete=Jj;jt.prototype.get=iS;jt.prototype.has=lS;jt.prototype.set=cS;var Gc=jt;function dS(){this.__data__=[],this.size=0}var pS=dS;function gS(e,t){for(var r=e.length;r--;)if(oj(e[r][0],t))return r;return-1}var fn=gS,yS=Array.prototype,fS=yS.splice;function mS(e){var t=this.__data__,r=fn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():fS.call(t,r,1),--this.size,!0}var hS=mS;function bS(e){var t=this.__data__,r=fn(t,e);return r<0?void 0:t[r][1]}var vS=bS;function wS(e){return fn(this.__data__,e)>-1}var kS=wS;function xS(e,t){var r=this.__data__,i=fn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var IS=xS;function St(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}St.prototype.clear=pS;St.prototype.delete=hS;St.prototype.get=vS;St.prototype.has=kS;St.prototype.set=IS;var mn=St,CS=Mt(K,"Map"),ni=CS;function AS(){this.size=0,this.__data__={hash:new Gc,map:new(ni||mn),string:new Gc}}var MS=AS;function jS(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var SS=jS;function _S(e,t){var r=e.__data__;return SS(t)?r[typeof t=="string"?"string":"hash"]:r.map}var hn=_S;function $S(e){var t=hn(this,e).delete(e);return this.size-=t?1:0,t}var ES=$S;function LS(e){return hn(this,e).get(e)}var TS=LS;function OS(e){return hn(this,e).has(e)}var NS=OS;function DS(e,t){var r=hn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var PS=DS;function _t(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}_t.prototype.clear=MS;_t.prototype.delete=ES;_t.prototype.get=TS;_t.prototype.has=NS;_t.prototype.set=PS;var Id=_t;function zS(){this.__data__=new mn,this.size=0}var US=zS;function RS(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var FS=RS;function VS(e){return this.__data__.get(e)}var BS=VS;function GS(e){return this.__data__.has(e)}var qS=GS,YS=200;function HS(e,t){var r=this.__data__;if(r instanceof mn){var i=r.__data__;if(!ni||i.length<YS-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Id(i)}return r.set(e,t),this.size=r.size,this}var ZS=HS;function si(e){var t=this.__data__=new mn(e);this.size=t.size}si.prototype.clear=US;si.prototype.delete=FS;si.prototype.get=BS;si.prototype.has=qS;si.prototype.set=ZS;var QS=Object.prototype,tJ=QS.propertyIsEnumerable,WS=Mt(K,"DataView"),ea=WS,KS=Mt(K,"Promise"),ta=KS,JS=Mt(K,"Set"),ra=JS,qc="[object Map]",XS="[object Object]",Yc="[object Promise]",Hc="[object Set]",Zc="[object WeakMap]",Qc="[object DataView]",e_=je(ea),t_=je(ni),r_=je(ta),i_=je(ra),n_=je(Xo),wt=li;(ea&&wt(new ea(new ArrayBuffer(1)))!=Qc||ni&&wt(new ni)!=qc||ta&&wt(ta.resolve())!=Yc||ra&&wt(new ra)!=Hc||Xo&&wt(new Xo)!=Zc)&&(wt=function(e){var t=li(e),r=t==XS?e.constructor:void 0,i=r?je(r):"";if(i)switch(i){case e_:return Qc;case t_:return qc;case r_:return Yc;case i_:return Hc;case n_:return Zc}return t});var rJ=K.Uint8Array,o_="__lodash_hash_undefined__";function a_(e){return this.__data__.set(e,o_),this}var l_=a_;function s_(e){return this.__data__.has(e)}var u_=s_;function ia(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Id;++t<r;)this.add(e[t])}ia.prototype.add=ia.prototype.push=l_;ia.prototype.has=u_;var Wc=Ct?Ct.prototype:void 0,iJ=Wc?Wc.valueOf:void 0,c_=Object.prototype,nJ=c_.hasOwnProperty,d_=Object.prototype,oJ=d_.hasOwnProperty,aJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),lJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),sJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Cd(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function p_(e,t){let r=await Cd(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function g_(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Cd(i,t)}function y_(e){return e!==void 0}var f_=y_,m_=class Ad{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Ad),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},h_=class Md{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Md),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function b_(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=s=>{a.push(s)},l=async(s,c,d)=>{if(s>=t.length)return r(c,d);let p=t[s],y=async(b,v)=>l(s+1,b,v),g={...d,addDisposer:o};return p(c,g,y)},u={...n,addDisposer:o};return{result:await l(0,i,u),dispose:async()=>{for(let s=a.length-1;s>=0;s--)try{await a[s]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function v_({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var w_=v_,Zo="ly.img.ai.temp";async function k_(e,t){return e.engine.asset.findAllSources().includes(Zo)||e.engine.asset.addLocalSource(Zo),e.engine.asset.apply(Zo,t)}function x_(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function jd(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function I_(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let l=document.createElement("canvas");l.width=o.videoWidth,l.height=o.videoHeight;let u=l.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,l.width,l.height);try{let s=l.toDataURL(r,i);document.body.removeChild(o),n(s)}catch(s){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${s instanceof Error?s.message:String(s)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function C_(e){return e?e.replace(/[_-]/g," ").replace(/([A-Z])/g," $1").trim().split(" ").filter(t=>t.length>0).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" "):""}function A_(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function ca(e){return e instanceof Error&&e.name==="AbortError"}function M_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function j_(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
208
|
+
`,hI=mI;function bI(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await rd(2e3),await vI(t,e,r)):i(t,r)}async function vI(e,t,r){switch(t.kind){case"image":return wI(e,t,r);case"video":return kI(e,t,r);case"text":return xI(e,t,r);case"audio":return CI(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function wI(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,u=await px(s,r),l=await dx(u,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
|
|
209
|
+
`,"+")}`}}async function kI(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function xI(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=Fr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Fr(n,o)}else"customPrompt"in e?a=Fr(n,"custom"):a=Fr(n,"improved");else a=Fr(n,"generated");return II(a,r.abortSignal)}async function*II(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await rd(100)}return{kind:"text",text:e}}function Fr(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let c=u[l%u.length];if(s.length+c.length<=n)s+=c;else{s+=c.substring(0,n-s.length);break}l++}}return r+s}async function CI(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:AI(220,i),duration:i,thumbnailUrl:void 0}}function AI(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return MI(i,44100)}function MI(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,u=44+s,l=new ArrayBuffer(u),c=new DataView(l),d=(y,h)=>{for(let b=0;b<h.length;b++)c.setUint8(y+b,h.charCodeAt(b))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,s,!0);let g=44;for(let y=0;y<r;y++){let h=Math.max(-1,Math.min(1,e[y])),b=Math.round(h*32767);c.setInt16(g,b,!0),g+=2}let p=new Uint8Array(l),f="";for(let y=0;y<p.length;y++)f+=String.fromCharCode(p[y]);return`data:audio/wav;base64,${btoa(f)}`}async function rd(e){return new Promise(t=>{setTimeout(t,e)})}var jI=bI,SI="USER_CANCEL";function _I(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=mx([...e.provider.output.middleware??[],...r?.middlewares??[],bx({enable:r?.debug}),jI({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:xx(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return va(n)?{status:"aborted",message:n.message}:n===SI?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var EI=_I;async function $I(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=gI(a),s=yI(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let u=EI({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await dI(a,u);Ix(r.cesdk,"@imgly/plugin-ai-generation",hI);let c={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:u};return yx.get().register(c),c}var na=$I;function LI(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new f6(n,r,i);return r.engine.asset.addSource(a),a.id}var TI=LI;function Gr(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function OI(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(Array.isArray(t)){let l=await Promise.all(t.map(c=>na(e,c,r,i)));o.push(...l),a=DI({kind:e,prefix:e,providerInitializationResults:o})}else{let l=await Promise.all(t.fromText.map(d=>na(e,d,r,i)));o.push(...l);let c=await Promise.all(t.fromImage.map(d=>na(e,d,r,i)));o.push(...c),a=NI({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:c})}let s=TI({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(fx)}),u;return s!=null&&(u=s,r.cesdk.ui.addAssetLibraryEntry({id:u,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:u},providerInitializationResults:o}}function NI({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i}){let n=r.length>0&&i.length>0;return a=>{let{builder:o,experimental:s}=a,u=s.global(`${t}.fromType`,n?"fromText":void 0),l=[];u.value==="fromText"?l.push(...r):u.value==="fromImage"?l.push(...i):l.push(...r,...i);let c=r.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),d=i.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),g=a.experimental.global(`${t}.selectedProvider.fromText`,c[0]),p=a.experimental.global(`${t}.selectedProvider.fromImage`,d[0]),f=u.value==="fromText"?g:u.value==="fromImage"?p:void 0;if((n||l.length>1)&&o.Section(`${t}.providerSelection.section`,{children:()=>{if(n&&o.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:Gr(e,"fromType.label"),children:()=>{o.Button(`${t}.fromType.buttonGroup.fromText`,{label:Gr(e,"fromText.label"),icon:u.value!=="fromText"&&bc(r,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromText",onClick:()=>{u.setValue("fromText")}}),o.Button(`${t}.fromType.buttonGroup.fromImage`,{label:Gr(e,"fromImage.label"),icon:u.value!=="fromImage"&&bc(i,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromImage",onClick:()=>{u.setValue("fromImage")}})}}),l.length>1){let y=u.value==="fromText"?c:u.value==="fromImage"?d:[...c,...d];f!=null&&o.Select(`${t}.providerSelect.select`,{inputLabel:Gr(e,"providerSelect.label"),values:y,...f})}}}),l.length>1)f?.value.builderRenderFunction?.(a);else{let y=l[0];y&&y.panel?.builderRenderFunction?.(a)}}}function DI({kind:e,prefix:t,providerInitializationResults:r}){return i=>{let{builder:n}=i;if(r.length===0)return;let a=r.map(({provider:s,panel:u})=>({id:s.id,label:s.name??s.id,builderRenderFunction:u?.builderRenderFunction})),o=i.state(`${t}.selectedProvider`,a[0]);r.length>1&&o!=null&&n.Section(`${t}.providerSelection.section`,{children:()=>{n.Select(`${t}.providerSelect.select`,{inputLabel:Gr(e,"providerSelect.label"),values:a,...o})}}),o.value.builderRenderFunction?.(i)}}function bc(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(ka(r.id),!1).value)}var PI=OI,zI=typeof global=="object"&&global&&global.Object===Object&&global,id=zI,UI=typeof self=="object"&&self&&self.Object===Object&&self,RI=id||UI||Function("return this")(),Q=RI,FI=Q.Symbol,ft=FI,nd=Object.prototype,VI=nd.hasOwnProperty,BI=nd.toString,Vr=ft?ft.toStringTag:void 0;function GI(e){var t=VI.call(e,Vr),r=e[Vr];try{e[Vr]=void 0;var i=!0}catch{}var n=BI.call(e);return i&&(t?e[Vr]=r:delete e[Vr]),n}var qI=GI,YI=Object.prototype,HI=YI.toString;function ZI(e){return HI.call(e)}var QI=ZI,WI="[object Null]",KI="[object Undefined]",vc=ft?ft.toStringTag:void 0;function JI(e){return e==null?e===void 0?KI:WI:vc&&vc in Object(e)?qI(e):QI(e)}var Xr=JI;function XI(e){return e!=null&&typeof e=="object"}var xa=XI,mJ=Array.isArray;function eC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var od=eC,tC="[object AsyncFunction]",rC="[object Function]",iC="[object GeneratorFunction]",nC="[object Proxy]";function oC(e){if(!od(e))return!1;var t=Xr(e);return t==rC||t==iC||t==tC||t==nC}var aC=oC,lC=Q["__core-js_shared__"],oa=lC,wc=function(){var e=/[^.]+$/.exec(oa&&oa.keys&&oa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function sC(e){return!!wc&&wc in e}var uC=sC,cC=Function.prototype,dC=cC.toString;function pC(e){if(e!=null){try{return dC.call(e)}catch{}try{return e+""}catch{}}return""}var Ce=pC,gC=/[\\^$.*+?()[\]{}|]/g,fC=/^\[object .+?Constructor\]$/,yC=Function.prototype,mC=Object.prototype,hC=yC.toString,bC=mC.hasOwnProperty,vC=RegExp("^"+hC.call(bC).replace(gC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wC(e){if(!od(e)||uC(e))return!1;var t=aC(e)?vC:fC;return t.test(Ce(e))}var kC=wC;function xC(e,t){return e?.[t]}var IC=xC;function CC(e,t){var r=IC(e,t);return kC(r)?r:void 0}var vt=CC,AC=vt(Q,"WeakMap"),ga=AC;function MC(e,t){return e===t||e!==e&&t!==t}var jC=MC,SC=9007199254740991;function _C(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=SC}var EC=_C,hJ=Object.prototype,$C="[object Arguments]";function LC(e){return xa(e)&&Xr(e)==$C}var kc=LC,ad=Object.prototype,TC=ad.hasOwnProperty,OC=ad.propertyIsEnumerable,bJ=kc(function(){return arguments}())?kc:function(e){return xa(e)&&TC.call(e,"callee")&&!OC.call(e,"callee")},ld=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xc=ld&&typeof module=="object"&&module&&!module.nodeType&&module,NC=xc&&xc.exports===ld,Ic=NC?Q.Buffer:void 0,vJ=Ic?Ic.isBuffer:void 0,DC="[object Arguments]",PC="[object Array]",zC="[object Boolean]",UC="[object Date]",RC="[object Error]",FC="[object Function]",VC="[object Map]",BC="[object Number]",GC="[object Object]",qC="[object RegExp]",YC="[object Set]",HC="[object String]",ZC="[object WeakMap]",QC="[object ArrayBuffer]",WC="[object DataView]",KC="[object Float32Array]",JC="[object Float64Array]",XC="[object Int8Array]",eA="[object Int16Array]",tA="[object Int32Array]",rA="[object Uint8Array]",iA="[object Uint8ClampedArray]",nA="[object Uint16Array]",oA="[object Uint32Array]",T={};T[KC]=T[JC]=T[XC]=T[eA]=T[tA]=T[rA]=T[iA]=T[nA]=T[oA]=!0;T[DC]=T[PC]=T[QC]=T[zC]=T[WC]=T[UC]=T[RC]=T[FC]=T[VC]=T[BC]=T[GC]=T[qC]=T[YC]=T[HC]=T[ZC]=!1;function aA(e){return xa(e)&&EC(e.length)&&!!T[Xr(e)]}var lA=aA;function sA(e){return function(t){return e(t)}}var uA=sA,sd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yr=sd&&typeof module=="object"&&module&&!module.nodeType&&module,cA=Yr&&Yr.exports===sd,aa=cA&&id.process,dA=function(){try{var e=Yr&&Yr.require&&Yr.require("util").types;return e||aa&&aa.binding&&aa.binding("util")}catch{}}(),Cc=dA,Ac=Cc&&Cc.isTypedArray,wJ=Ac?uA(Ac):lA,pA=Object.prototype,kJ=pA.hasOwnProperty;function gA(e,t){return function(r){return e(t(r))}}var fA=gA,xJ=fA(Object.keys,Object),yA=Object.prototype,IJ=yA.hasOwnProperty,mA=vt(Object,"create"),Qr=mA;function hA(){this.__data__=Qr?Qr(null):{},this.size=0}var bA=hA;function vA(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var wA=vA,kA="__lodash_hash_undefined__",xA=Object.prototype,IA=xA.hasOwnProperty;function CA(e){var t=this.__data__;if(Qr){var r=t[e];return r===kA?void 0:r}return IA.call(t,e)?t[e]:void 0}var AA=CA,MA=Object.prototype,jA=MA.hasOwnProperty;function SA(e){var t=this.__data__;return Qr?t[e]!==void 0:jA.call(t,e)}var _A=SA,EA="__lodash_hash_undefined__";function $A(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Qr&&t===void 0?EA:t,this}var LA=$A;function wt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}wt.prototype.clear=bA;wt.prototype.delete=wA;wt.prototype.get=AA;wt.prototype.has=_A;wt.prototype.set=LA;var Mc=wt;function TA(){this.__data__=[],this.size=0}var OA=TA;function NA(e,t){for(var r=e.length;r--;)if(jC(e[r][0],t))return r;return-1}var Ln=NA,DA=Array.prototype,PA=DA.splice;function zA(e){var t=this.__data__,r=Ln(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():PA.call(t,r,1),--this.size,!0}var UA=zA;function RA(e){var t=this.__data__,r=Ln(t,e);return r<0?void 0:t[r][1]}var FA=RA;function VA(e){return Ln(this.__data__,e)>-1}var BA=VA;function GA(e,t){var r=this.__data__,i=Ln(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var qA=GA;function kt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}kt.prototype.clear=OA;kt.prototype.delete=UA;kt.prototype.get=FA;kt.prototype.has=BA;kt.prototype.set=qA;var Tn=kt,YA=vt(Q,"Map"),Wr=YA;function HA(){this.size=0,this.__data__={hash:new Mc,map:new(Wr||Tn),string:new Mc}}var ZA=HA;function QA(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var WA=QA;function KA(e,t){var r=e.__data__;return WA(t)?r[typeof t=="string"?"string":"hash"]:r.map}var On=KA;function JA(e){var t=On(this,e).delete(e);return this.size-=t?1:0,t}var XA=JA;function eM(e){return On(this,e).get(e)}var tM=eM;function rM(e){return On(this,e).has(e)}var iM=rM;function nM(e,t){var r=On(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var oM=nM;function xt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}xt.prototype.clear=ZA;xt.prototype.delete=XA;xt.prototype.get=tM;xt.prototype.has=iM;xt.prototype.set=oM;var ud=xt;function aM(){this.__data__=new Tn,this.size=0}var lM=aM;function sM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var uM=sM;function cM(e){return this.__data__.get(e)}var dM=cM;function pM(e){return this.__data__.has(e)}var gM=pM,fM=200;function yM(e,t){var r=this.__data__;if(r instanceof Tn){var i=r.__data__;if(!Wr||i.length<fM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new ud(i)}return r.set(e,t),this.size=r.size,this}var mM=yM;function ei(e){var t=this.__data__=new Tn(e);this.size=t.size}ei.prototype.clear=lM;ei.prototype.delete=uM;ei.prototype.get=dM;ei.prototype.has=gM;ei.prototype.set=mM;var hM=Object.prototype,CJ=hM.propertyIsEnumerable,bM=vt(Q,"DataView"),fa=bM,vM=vt(Q,"Promise"),ya=vM,wM=vt(Q,"Set"),ma=wM,jc="[object Map]",kM="[object Object]",Sc="[object Promise]",_c="[object Set]",Ec="[object WeakMap]",$c="[object DataView]",xM=Ce(fa),IM=Ce(Wr),CM=Ce(ya),AM=Ce(ma),MM=Ce(ga),dt=Xr;(fa&&dt(new fa(new ArrayBuffer(1)))!=$c||Wr&&dt(new Wr)!=jc||ya&&dt(ya.resolve())!=Sc||ma&&dt(new ma)!=_c||ga&&dt(new ga)!=Ec)&&(dt=function(e){var t=Xr(e),r=t==kM?e.constructor:void 0,i=r?Ce(r):"";if(i)switch(i){case xM:return $c;case IM:return jc;case CM:return Sc;case AM:return _c;case MM:return Ec}return t});var AJ=Q.Uint8Array,jM="__lodash_hash_undefined__";function SM(e){return this.__data__.set(e,jM),this}var _M=SM;function EM(e){return this.__data__.has(e)}var $M=EM;function ha(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ud;++t<r;)this.add(e[t])}ha.prototype.add=ha.prototype.push=_M;ha.prototype.has=$M;var Lc=ft?ft.prototype:void 0,MJ=Lc?Lc.valueOf:void 0,LM=Object.prototype,jJ=LM.hasOwnProperty,TM=Object.prototype,SJ=TM.hasOwnProperty,_J=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),EJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),$J=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function OM(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function NM(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return OM(i,t)}function DM(e){return e==null?[]:Array.isArray(e)?e:[e]}var Tc=DM,Sn="@imgly/plugin-ai-video-generation-web";var Nn="createVideo",Oc=`ly.img.${Nn}`,PM=`ly.img.plugin-ai-video-generation-web.quickAction.${Nn}`,Nc=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${Nn}`;function zM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${Nn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var UM=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${Nc}`]:"Create Video...",[`${Nc}.description`]:"Create a video from the image"}}),{id:Oc,type:"quick",kind:"image",label:`${PM}`,enable:Sx(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${Oc}.button`,{label:zM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await NM(a,r,{throwErrorIfSvg:!0});e.ui.openPanel("ly.img.ai.video-generation"),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue(`${n}.image_url`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),RM=UM,ue="ly.img.ai.video-generation";function FM(e){return{async initialize({cesdk:t}){if(t==null)return;Cx(t,Sn,"0.2.5"),t.setTranslations({en:{[`panel.${ue}`]:"Video Generation",[`${ue}.dock.label`]:"AI Video"}}),VM(e);let r=yc.get().register({type:"plugin",sceneMode:"Video",id:Sn,pluginId:Sn,label:"Generate Video",meta:{panelId:ue},execute:()=>{t.ui.isPanelOpen(ue)?t.ui.closePanel(ue):t.ui.openPanel(ue)}}),i=e.providers?.text2video??e.text2video,n=e.providers?.image2video??e.image2video,a=await Promise.all(Tc(i).map(u=>u({cesdk:t}))),o=await Promise.all(Tc(n).map(u=>u({cesdk:t})));if(!(a.length>0||o.length>0)){r();return}let s=await PI("video",{fromText:a,fromImage:o},{cesdk:t},e);yc.get().register(RM({cesdk:t})),s.panel.builderRenderFunction!=null?(t.ui.registerPanel(ue,s.panel.builderRenderFunction),Mx({cesdk:t,panelId:ue})):r()}}}function VM(e){e.debug&&(e.providers?.text2video!=null&&e.text2video!=null&&console.warn("[VideoGeneration]: Both `providers.text2video` and `text2video` configuration is provided. Since `text2video` is deprecated, only `providers.text2video` will be used."),e.providers?.image2video!=null&&e.image2video!=null&&console.warn("[VideoGeneration]: Both `providers.image2video` and `image2video` configuration is provided. Since `image2video` is deprecated, only `providers.image2video` will be used."))}var BM=FM,GM=e=>({name:Sn,version:"0.2.5",...BM(e)}),cd=GM;var qM=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,l)=>{let c=e.locale??"en",d="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[c]&&(d=l.label[c]),l.tags!=null&&typeof l.tags=="object"&&l.tags[c]&&(g=l.tags[c]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&u.push(p),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Mt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Mt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-u:u-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Mt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Mt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",u=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||u.some(c=>c.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let u,l;return i==="id"?(u=o.id,l=s.id):(u=o.meta?.[i]??null,l=s.meta?.[i]??null),u==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof l=="string"?r==="Ascending"?u.localeCompare(l):l.localeCompare(u):r==="Ascending"?u<l?-1:u>l?1:0:u>l?-1:u<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function Mt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Mt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Mt(n,t,a)}return e}var YM=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let g=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});let{page:n,perPage:a}=e,o=n*a,s=o+a,u=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},HM=typeof global=="object"&&global&&global.Object===Object&&global,qd=HM,ZM=typeof self=="object"&&self&&self.Object===Object&&self,QM=qd||ZM||Function("return this")(),W=QM,WM=W.Symbol,jt=WM,Yd=Object.prototype,KM=Yd.hasOwnProperty,JM=Yd.toString,ti=jt?jt.toStringTag:void 0;function XM(e){var t=KM.call(e,ti),r=e[ti];try{e[ti]=void 0;var i=!0}catch{}var n=JM.call(e);return i&&(t?e[ti]=r:delete e[ti]),n}var ej=XM,tj=Object.prototype,rj=tj.toString;function ij(e){return rj.call(e)}var nj=ij,oj="[object Null]",aj="[object Undefined]",dd=jt?jt.toStringTag:void 0;function lj(e){return e==null?e===void 0?aj:oj:dd&&dd in Object(e)?ej(e):nj(e)}var pi=lj;function sj(e){return e!=null&&typeof e=="object"}var Fa=sj,NJ=Array.isArray;function uj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Hd=uj,cj="[object AsyncFunction]",dj="[object Function]",pj="[object GeneratorFunction]",gj="[object Proxy]";function fj(e){if(!Hd(e))return!1;var t=pi(e);return t==dj||t==pj||t==cj||t==gj}var yj=fj,mj=W["__core-js_shared__"],Ia=mj,pd=function(){var e=/[^.]+$/.exec(Ia&&Ia.keys&&Ia.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function hj(e){return!!pd&&pd in e}var bj=hj,vj=Function.prototype,wj=vj.toString;function kj(e){if(e!=null){try{return wj.call(e)}catch{}try{return e+""}catch{}}return""}var Se=kj,xj=/[\\^$.*+?()[\]{}|]/g,Ij=/^\[object .+?Constructor\]$/,Cj=Function.prototype,Aj=Object.prototype,Mj=Cj.toString,jj=Aj.hasOwnProperty,Sj=RegExp("^"+Mj.call(jj).replace(xj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _j(e){if(!Hd(e)||bj(e))return!1;var t=yj(e)?Sj:Ij;return t.test(Se(e))}var Ej=_j;function $j(e,t){return e?.[t]}var Lj=$j;function Tj(e,t){var r=Lj(e,t);return Ej(r)?r:void 0}var _t=Tj,Oj=_t(W,"WeakMap"),Ea=Oj;function Nj(e,t){return e===t||e!==e&&t!==t}var Dj=Nj,Pj=9007199254740991;function zj(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pj}var Uj=zj,DJ=Object.prototype,Rj="[object Arguments]";function Fj(e){return Fa(e)&&pi(e)==Rj}var gd=Fj,Zd=Object.prototype,Vj=Zd.hasOwnProperty,Bj=Zd.propertyIsEnumerable,PJ=gd(function(){return arguments}())?gd:function(e){return Fa(e)&&Vj.call(e,"callee")&&!Bj.call(e,"callee")},Qd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,fd=Qd&&typeof module=="object"&&module&&!module.nodeType&&module,Gj=fd&&fd.exports===Qd,yd=Gj?W.Buffer:void 0,zJ=yd?yd.isBuffer:void 0,qj="[object Arguments]",Yj="[object Array]",Hj="[object Boolean]",Zj="[object Date]",Qj="[object Error]",Wj="[object Function]",Kj="[object Map]",Jj="[object Number]",Xj="[object Object]",eS="[object RegExp]",tS="[object Set]",rS="[object String]",iS="[object WeakMap]",nS="[object ArrayBuffer]",oS="[object DataView]",aS="[object Float32Array]",lS="[object Float64Array]",sS="[object Int8Array]",uS="[object Int16Array]",cS="[object Int32Array]",dS="[object Uint8Array]",pS="[object Uint8ClampedArray]",gS="[object Uint16Array]",fS="[object Uint32Array]",O={};O[aS]=O[lS]=O[sS]=O[uS]=O[cS]=O[dS]=O[pS]=O[gS]=O[fS]=!0;O[qj]=O[Yj]=O[nS]=O[Hj]=O[oS]=O[Zj]=O[Qj]=O[Wj]=O[Kj]=O[Jj]=O[Xj]=O[eS]=O[tS]=O[rS]=O[iS]=!1;function yS(e){return Fa(e)&&Uj(e.length)&&!!O[pi(e)]}var mS=yS;function hS(e){return function(t){return e(t)}}var bS=hS,Wd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ai=Wd&&typeof module=="object"&&module&&!module.nodeType&&module,vS=ai&&ai.exports===Wd,Ca=vS&&qd.process,wS=function(){try{var e=ai&&ai.require&&ai.require("util").types;return e||Ca&&Ca.binding&&Ca.binding("util")}catch{}}(),md=wS,hd=md&&md.isTypedArray,UJ=hd?bS(hd):mS,kS=Object.prototype,RJ=kS.hasOwnProperty;function xS(e,t){return function(r){return e(t(r))}}var IS=xS,FJ=IS(Object.keys,Object),CS=Object.prototype,VJ=CS.hasOwnProperty,AS=_t(Object,"create"),si=AS;function MS(){this.__data__=si?si(null):{},this.size=0}var jS=MS;function SS(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _S=SS,ES="__lodash_hash_undefined__",$S=Object.prototype,LS=$S.hasOwnProperty;function TS(e){var t=this.__data__;if(si){var r=t[e];return r===ES?void 0:r}return LS.call(t,e)?t[e]:void 0}var OS=TS,NS=Object.prototype,DS=NS.hasOwnProperty;function PS(e){var t=this.__data__;return si?t[e]!==void 0:DS.call(t,e)}var zS=PS,US="__lodash_hash_undefined__";function RS(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=si&&t===void 0?US:t,this}var FS=RS;function Et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Et.prototype.clear=jS;Et.prototype.delete=_S;Et.prototype.get=OS;Et.prototype.has=zS;Et.prototype.set=FS;var bd=Et;function VS(){this.__data__=[],this.size=0}var BS=VS;function GS(e,t){for(var r=e.length;r--;)if(Dj(e[r][0],t))return r;return-1}var Dn=GS,qS=Array.prototype,YS=qS.splice;function HS(e){var t=this.__data__,r=Dn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():YS.call(t,r,1),--this.size,!0}var ZS=HS;function QS(e){var t=this.__data__,r=Dn(t,e);return r<0?void 0:t[r][1]}var WS=QS;function KS(e){return Dn(this.__data__,e)>-1}var JS=KS;function XS(e,t){var r=this.__data__,i=Dn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var e_=XS;function $t(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}$t.prototype.clear=BS;$t.prototype.delete=ZS;$t.prototype.get=WS;$t.prototype.has=JS;$t.prototype.set=e_;var Pn=$t,t_=_t(W,"Map"),ui=t_;function r_(){this.size=0,this.__data__={hash:new bd,map:new(ui||Pn),string:new bd}}var i_=r_;function n_(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var o_=n_;function a_(e,t){var r=e.__data__;return o_(t)?r[typeof t=="string"?"string":"hash"]:r.map}var zn=a_;function l_(e){var t=zn(this,e).delete(e);return this.size-=t?1:0,t}var s_=l_;function u_(e){return zn(this,e).get(e)}var c_=u_;function d_(e){return zn(this,e).has(e)}var p_=d_;function g_(e,t){var r=zn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var f_=g_;function Lt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Lt.prototype.clear=i_;Lt.prototype.delete=s_;Lt.prototype.get=c_;Lt.prototype.has=p_;Lt.prototype.set=f_;var Kd=Lt;function y_(){this.__data__=new Pn,this.size=0}var m_=y_;function h_(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var b_=h_;function v_(e){return this.__data__.get(e)}var w_=v_;function k_(e){return this.__data__.has(e)}var x_=k_,I_=200;function C_(e,t){var r=this.__data__;if(r instanceof Pn){var i=r.__data__;if(!ui||i.length<I_-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Kd(i)}return r.set(e,t),this.size=r.size,this}var A_=C_;function gi(e){var t=this.__data__=new Pn(e);this.size=t.size}gi.prototype.clear=m_;gi.prototype.delete=b_;gi.prototype.get=w_;gi.prototype.has=x_;gi.prototype.set=A_;var M_=Object.prototype,BJ=M_.propertyIsEnumerable,j_=_t(W,"DataView"),$a=j_,S_=_t(W,"Promise"),La=S_,__=_t(W,"Set"),Ta=__,vd="[object Map]",E_="[object Object]",wd="[object Promise]",kd="[object Set]",xd="[object WeakMap]",Id="[object DataView]",$_=Se($a),L_=Se(ui),T_=Se(La),O_=Se(Ta),N_=Se(Ea),It=pi;($a&&It(new $a(new ArrayBuffer(1)))!=Id||ui&&It(new ui)!=vd||La&&It(La.resolve())!=wd||Ta&&It(new Ta)!=kd||Ea&&It(new Ea)!=xd)&&(It=function(e){var t=pi(e),r=t==E_?e.constructor:void 0,i=r?Se(r):"";if(i)switch(i){case $_:return Id;case L_:return vd;case T_:return wd;case O_:return kd;case N_:return xd}return t});var GJ=W.Uint8Array,D_="__lodash_hash_undefined__";function P_(e){return this.__data__.set(e,D_),this}var z_=P_;function U_(e){return this.__data__.has(e)}var R_=U_;function Oa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Kd;++t<r;)this.add(e[t])}Oa.prototype.add=Oa.prototype.push=z_;Oa.prototype.has=R_;var Cd=jt?jt.prototype:void 0,qJ=Cd?Cd.valueOf:void 0,F_=Object.prototype,YJ=F_.hasOwnProperty,V_=Object.prototype,HJ=V_.hasOwnProperty,ZJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),QJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),WJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Jd(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function B_(e,t){let r=await Jd(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function G_(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Jd(i,t)}function q_(e){return e!==void 0}var Y_=q_,H_=class Xd{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Xd),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},Z_=class ep{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new ep),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function Q_(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,c,d)=>{if(l>=t.length)return r(c,d);let g=t[l],p=async(y,h)=>s(l+1,y,h),f={...d,addDisposer:o};return g(c,f,p)},u={...n,addDisposer:o};return{result:await s(0,i,u),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function W_({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var K_=W_,Aa="ly.img.ai.temp";async function J_(e,t){return e.engine.asset.findAllSources().includes(Aa)||e.engine.asset.addLocalSource(Aa),e.engine.asset.apply(Aa,t)}function X_(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function tp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function eE(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let u=s.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function tE(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function Va(e){return e instanceof Error&&e.name==="AbortError"}function rE(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function iE(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
210
210
|
Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
|
|
211
211
|
This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
|
|
212
|
-
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function S_(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var Kc=S_;function __(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),$_(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:x_(e)})}function $_(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Jc=__,E_="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",da=E_;function L_(e,t,r){switch(t){case"image":return T_(e,r[t]);case"video":return O_(e,r[t]);case"sticker":return N_(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function T_(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:da,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function O_(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:da,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function N_(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:da,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var D_=L_;async function P_(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return z_(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return U_(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return R_(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return F_(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function z_(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function U_(e,t,r){let i=t.width,n=t.height,a=await I_(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function R_(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function F_(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Sd=P_;function V_(e){switch(e.userFlow){case"placeholder":return G_(e);case"generation-only":return B_(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function B_(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(pe(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(pe(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(pe(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let l=jd(),u=await Sd(l,n,a,o.output),s={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,s)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function G_(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(pe(t,r))return{status:"aborted"};let l=jd(),u=D_(l,a,o);if(i=await k_(t,u),pe(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),y=t.engine.block.duplicate(i);t.engine.block.setPositionX(y,d),t.engine.block.setPositionY(y,p),t.engine.block.destroy(i),i=y}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let s=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(pe(t,r,i))return{status:"aborted"};if(s.status!=="success")return s;if(s.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await Sd(l,a,o,s.output);if(pe(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),pe(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),s}catch(a){return i!=null&&t.engine.block.isValid(i)&&(ca(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function pe(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var q_=V_;function pa(e){return`${e}.generating`}function Y_(e){return`${e}.abort`}function H_(e,t,r,i,n,a,o){let{builder:l,experimental:u}=e,{cesdk:s,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:p}}=t,y=u.global(Y_(d),()=>{}),g=u.global(pa(d),!1),b,v=g.value&&p,m=()=>{v&&(y.value(),g.setValue(!1),y.setValue(()=>{}))},w;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let h=i();w=a.requiredInputs.every(f=>!h.input[f])}let k=u.global(`${d}.confirmationDialogId`,void 0);l.Section(`${d}.generate.section`,{children:()=>{l.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:g.value,color:"accent",isDisabled:w,suffix:v?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let h=s.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:f})=>{s.ui.closeDialog(f),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:f})=>{m(),s.ui.closeDialog(f),k.setValue(void 0)}}});k.setValue(h)}}:void 0,onClick:async()=>{b=new AbortController;let h=b.signal;await(async()=>{try{g.setValue(!0),y.setValue(()=>{o.debug&&console.log("Aborting generation"),b?.abort()});let f=await q_({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:h,cesdk:s,debug:o.debug,dryRun:o.dryRun})(i().input);if(f.status==="aborted")return;if(f.status==="error"){Jc(f.message,{cesdk:s,provider:t,getInput:i});return}if(f.status==="success"&&f.type==="sync"){let x=t.output.notification;Z_(s,x,()=>({input:i().input,output:f.output}))}}catch(f){if(ca(f))return;Jc(f,{cesdk:s,provider:t,getInput:i})}finally{b=void 0,g.setValue(!1),y.setValue(()=>{}),k.value!=null&&(s.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&l.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&l.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function Z_(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var _d=H_;async function Q_({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,l=r.render;return u=>{let{state:s}=u,c=s(pa(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=l(u,{cesdk:a,isGenerating:c});return _d(u,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var W_=Q_;function $d(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function ei(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=$d(e,t.$ref),n={...ei(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=ei(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>ei(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=ei(e,t[n],r));return i}return t}function K_(e){return ei(e,{...e})}function J_(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let l of i.type)if(typeof l!="string"||!o.includes(l))return r(`Array of types contains invalid value: ${l}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let l=0;l<i[o].length;l++){let u=i[o][l];if(typeof u!="object"||u===null)return r(`Item ${l} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let l=i.required[o];if(typeof l!="string")return r(`Item ${o} in required array must be a string, got ${typeof l}`)}}return!0}function X_(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return e$(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function e$(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=t$(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function t$(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var Ed=X_;function Ld(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let l=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?r$(e,l,r,i,n,a,o):Od(e,l,r,i,n,a,o);case"boolean":return Nd(e,l,r,i,n,a,o);case"number":case"integer":return Dd(e,l,r,i,n,a,o);case"object":return Td(e,l,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return i$(e,l,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function Td(e,t,r,i,n,a,o){let l=Ed(t.schema??{},i).reduce((u,s)=>{let c=Ld(e,s,r,i,n,a,o);return c!=null&&(u[s.id]=c()),u},{});return()=>({id:t.id,type:"object",value:l})}function Od(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=u(c,t.schema.default??""),y=n$(t.schema),g=y?.component!=null&&y?.component==="TextArea"?"TextArea":"TextInput";return l[g](c,{inputLabel:d,placeholder:n.i18n?.prompt,...p}),()=>({id:t.id,type:"string",value:p.value})}function r$(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{},y="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},g=(t.schema.enum??[]).map(m=>({id:m,label:[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.property.${t.id}.${m}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}.${m}`],icon:p[m]})),b=t.schema.default!=null?g.find(m=>m.id===t.schema.default)??g[0]:g[0],v=u(c,b);return l.Select(c,{inputLabel:d,values:g,...v}),()=>({id:t.id,type:"string",value:v.value.id})}function Nd(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=!!t.schema.default,y=u(c,p);return l.Checkbox(c,{inputLabel:d,...y}),()=>({id:t.id,type:"boolean",value:y.value})}function Dd(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.minimum,y=t.schema.maximum,g=t.schema.default;g==null&&(p!=null?g=p:y!=null?g=y:g=0);let b=u(c,g);if(p!=null&&y!=null){let v=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(v=t.schema["x-imgly-step"]),l.Slider(c,{inputLabel:d,min:p,max:y,step:v,...b})}else l.NumberInput(c,{inputLabel:d,min:p,max:y,...b});return()=>({id:t.id,type:"integer",value:b.value})}function i$(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.anyOf??[],y=[],g={},b={};p.forEach((w,k)=>{let h=w.title??"common.custom",f=`${r.id}.${s}.anyOf[${k}]`,x="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},I="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{};w.type==="string"?w.enum!=null?w.enum.forEach(C=>{y.push({id:C,label:x[C]??C_(C),icon:I[C]})}):(g[f]=()=>Od(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="boolean"?(g[f]=()=>Nd(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="integer"?(g[f]=()=>Dd(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="array"||w.type==="object"&&(g[f]=()=>Td(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]}))});let v=t.schema.default!=null?y.find(w=>w.id===t.schema.default)??y[0]:y[0],m=u(c,v);if(l.Select(c,{inputLabel:d,values:y,...m}),m.value.id in g){let w=g[m.value.id]();b[m.value.id]=w}return()=>{let w=b[m.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:m.value.id}}}function n$(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var o$=Ld,a$={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function Xc(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function l$(e,t,r,i){let n={};e.forEach(o=>{if(o.schema?.title&&(n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}`]=o.schema.title),o.schema?.enum){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.enum.forEach(u=>{let s=String(u),c=l[s]||Xc(s);n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}.${s}`]=c})}if(o.schema?.anyOf&&Array.isArray(o.schema.anyOf)){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.anyOf.forEach(u=>{let s=u;s.enum&&Array.isArray(s.enum)&&s.enum.forEach(c=>{let d=String(c),p=l[d]||Xc(d);n[`ly.img.plugin-ai-${i}-generation-web.defaults.property.${t.id}.${o.id}.${d}`]=p})})}});let a={...a$,...n};Object.keys(a).length>0&&r.cesdk.i18n.setTranslations({en:a})}async function s$({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=K_(r.document),l=$d(o,r.inputReference);if(!J_(l,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=l,s=Ed(u,r);return l$(s,t,e,t.kind),c=>{let{builder:d}=c,p=[];d.Section(`${a}.schema.section`,{children:()=>{s.forEach(v=>{let m=o$(c,v,t,r,e,i,t.kind);m!=null&&(Array.isArray(m)?p.push(...m):p.push(m))})}});let y=p.map(v=>v()),g=v=>v.type==="object"?Object.entries(v.value).reduce((m,[w,k])=>(m[w]=g(k),m),{}):v.value,b=y.reduce((v,m)=>(v[m.id]=g(m),v),{});_d(c,t,n,()=>({input:b}),()=>r.getBlockInput(b),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var u$=s$;async function c$(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return W_(e,t);case"schema":return u$(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var d$=c$;function p$(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new yM(o,r)),o}return i}var g$=p$;function y$(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var f$=y$,Qo="@imgly/plugin-ai-generation",m$=`
|
|
212
|
+
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function nE(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var Ad=nE;function oE(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),aE(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:X_(e)})}function aE(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Md=oE,lE="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Ba=lE;function sE(e,t,r){switch(t){case"image":return uE(e,r[t]);case"video":return cE(e,r[t]);case"sticker":return dE(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function uE(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ba,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function cE(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Ba,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function dE(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ba,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var pE=sE;async function gE(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return fE(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return yE(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return mE(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return hE(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function fE(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function yE(e,t,r){let i=t.width,n=t.height,a=await eE(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function mE(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function hE(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var rp=gE;function bE(e){switch(e.userFlow){case"placeholder":return wE(e);case"generation-only":return vE(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function vE(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(de(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(de(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(de(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=tp(),u=await rp(s,n,a,o.output),l={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function wE(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(de(t,r))return{status:"aborted"};let s=tp(),u=pE(s,a,o);if(i=await J_(t,u),de(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(de(t,r,i))return{status:"aborted"};if(l.status!=="success")return l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await rp(s,a,o,l.output);if(de(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),de(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(Va(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function de(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var kE=bE;function Ga(e){return`${e}.generating`}function xE(e){return`${e}.abort`}function IE(e,t,r,i,n,a,o){let{builder:s,experimental:u}=e,{cesdk:l,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:g}}=t,p=u.global(xE(d),()=>{}),f=u.global(Ga(d),!1),y,h=f.value&&g,b=()=>{h&&(p.value(),f.setValue(!1),p.setValue(()=>{}))},I;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let w=i();I=a.requiredInputs.every(v=>!w.input[v])}let x=u.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:f.value,color:"accent",isDisabled:I,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let w=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:v})=>{l.ui.closeDialog(v),x.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:v})=>{b(),l.ui.closeDialog(v),x.setValue(void 0)}}});x.setValue(w)}}:void 0,onClick:async()=>{y=new AbortController;let w=y.signal;await(async()=>{try{f.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),y?.abort()});let v=await kE({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:w,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(v.status==="aborted")return;if(v.status==="error"){Md(v.message,{cesdk:l,provider:t,getInput:i});return}if(v.status==="success"&&v.type==="sync"){let k=t.output.notification;CE(l,k,()=>({input:i().input,output:v.output}))}}catch(v){if(Va(v))return;Md(v,{cesdk:l,provider:t,getInput:i})}finally{y=void 0,f.setValue(!1),p.setValue(()=>{}),x.value!=null&&(l.ui.closeDialog(x.value),x.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function CE(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var ip=IE;async function AE({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,s=r.render;return u=>{let{state:l}=u,c=l(Ga(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(u,{cesdk:a,isGenerating:c});return ip(u,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var ME=AE;function np(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function ni(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=np(e,t.$ref),n={...ni(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=ni(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>ni(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=ni(e,t[n],r));return i}return t}function jE(e){return ni(e,{...e})}function SE(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let u=i[o][s];if(typeof u!="object"||u===null)return r(`Item ${s} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function _E(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return EE(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function EE(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=$E(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function $E(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var op=_E;function je(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`;return[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`]}function ap(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function lp(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let s=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?LE(e,s,r,i,n,a,o):sp(e,s,r,i,n,a,o);case"boolean":return up(e,s,r,i,n,a,o);case"number":case"integer":return cp(e,s,r,i,n,a,o);case"object":return Na(e,s,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return TE(e,s,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function Na(e,t,r,i,n,a,o){let s=op(t.schema??{},i).reduce((u,l)=>{let c=lp(e,l,r,i,n,a,o);return c!=null&&(u[l.id]=c()),u},{});return()=>({id:t.id,type:"object",value:s})}function sp(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=je(t,r,o),g=u(c,t.schema.default??""),p=OE(t.schema),f=p?.component!=null&&p?.component==="TextArea"?"TextArea":"TextInput";return s[f](c,{inputLabel:d,placeholder:n.i18n?.prompt,...g}),()=>({id:t.id,type:"string",value:g.value})}function LE(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=je(t,r,o),{labels:g,icons:p}=ap(t.schema),f=(t.schema.enum??[]).map(b=>({id:b,label:je(t,r,o,b),icon:p[b]})),y=t.schema.default!=null?f.find(b=>b.id===t.schema.default)??f[0]:f[0],h=u(c,y);return s.Select(c,{inputLabel:d,values:f,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function up(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=je(t,r,o),g=!!t.schema.default,p=u(c,g);return s.Checkbox(c,{inputLabel:d,...p}),()=>({id:t.id,type:"boolean",value:p.value})}function cp(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=je(t,r,o),g=t.schema.minimum,p=t.schema.maximum,f=t.schema.default;f==null&&(g!=null?f=g:p!=null?f=p:f=0);let y=u(c,f);if(g!=null&&p!=null){let h=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(h=t.schema["x-imgly-step"]),s.Slider(c,{inputLabel:d,min:g,max:p,step:h,...y})}else s.NumberInput(c,{inputLabel:d,min:g,max:p,...y});return()=>({id:t.id,type:"integer",value:y.value})}function TE(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=je(t,r,o),g=t.schema.anyOf??[],p=[],f={},y={},{labels:h,icons:b}=ap(t.schema),I={string:sp,boolean:up,integer:cp,object:Na},x=(m,A)=>m.$ref?m.$ref.split("/").pop():A.split(".").pop()??A,w=(m,A)=>({id:m,label:je(t,r,o,A),icon:b[A]??b[m]});g.forEach((m,A)=>{let C=`${r.id}.${l}.anyOf[${A}]`;if(m.$ref||m.title){let M=m.$ref?m.$ref.split("/").pop():m.title;f[C]=()=>Na(e,{id:C,schema:{...m,title:h[M]||M}},r,i,n,a,o),p.push(w(C,M))}else if(m.type==="string"&&m.enum)m.enum.forEach(M=>{p.push(w(M,M))});else if(m.type&&I[m.type]){let M=I[m.type];f[C]=()=>M(e,{id:C,schema:{...m,title:m.title}},r,i,n,a,o);let j=x(m,C);p.push(m.type==="string"&&!m.enum?{id:C,label:m.title||j,icon:m.title&&b[m.title]||b[j]}:w(C,j))}});let v=t.schema.default!=null?p.find(m=>m.id===t.schema.default)??p[0]:p[0],k=u(c,v);if(s.Select(c,{inputLabel:d,values:p,...k}),k.value.id in f){let m=f[k.value.id]();y[k.value.id]=m}return()=>{let m=y[k.value.id];return m!=null?{...m(),id:t.id}:{id:t.id,type:"string",value:k.value.id}}}function OE(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var NE=lp,DE={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function jd(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function PE(e,t,r,i){let n={},a=(l,c)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${c?`.${c}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,c,d)=>{l.forEach(g=>{let p=String(g),f=d[p]||jd(p);n[a(c,p)]=f})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let c=o(l.schema);s(l.schema.enum,l.id,c)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let c=o(l.schema);l.schema.anyOf.forEach(d=>{let g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,c);else if(g.$ref){let p=g.$ref.split("/").pop();p&&c[p]&&(n[a(l.id,p)]=c[p])}else if(g.title){let p=g.title,f=c[p]||jd(p);n[a(l.id,p)]=f}})}});let u={...DE,...n};Object.keys(u).length>0&&r.cesdk.i18n.setTranslations({en:u})}async function zE({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=jE(r.document),s=np(o,r.inputReference);if(!SE(s,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=s,l=op(u,r);return PE(l,t,e,t.kind),c=>{let{builder:d}=c,g=[];d.Section(`${a}.schema.section`,{children:()=>{l.forEach(h=>{let b=NE(c,h,t,r,e,i,t.kind);b!=null&&(Array.isArray(b)?g.push(...b):g.push(b))})}});let p=g.map(h=>h()),f=h=>h.type==="object"?Object.entries(h.value).reduce((b,[I,x])=>(b[I]=f(x),b),{}):h.value,y=p.reduce((h,b)=>(h[b.id]=f(b),h),{});ip(c,t,n,()=>({input:y}),()=>r.getBlockInput(y),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var UE=zE;async function RE(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return ME(e,t);case"schema":return UE(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var FE=RE;function VE(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new qM(o,r)),o}return i}var BE=VE;function GE(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var qE=GE,Ma="@imgly/plugin-ai-generation",YE=`
|
|
213
213
|
<svg>
|
|
214
214
|
<symbol
|
|
215
215
|
fill="none"
|
|
@@ -227,7 +227,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
227
227
|
fill="none"
|
|
228
228
|
xmlns="http://www.w3.org/2000/svg"
|
|
229
229
|
viewBox="0 0 24 24"
|
|
230
|
-
id="${
|
|
230
|
+
id="${Ma}/image"
|
|
231
231
|
>
|
|
232
232
|
<path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
|
|
233
233
|
<path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
|
|
@@ -239,7 +239,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
239
239
|
fill="none"
|
|
240
240
|
xmlns="http://www.w3.org/2000/svg"
|
|
241
241
|
viewBox="0 0 24 24"
|
|
242
|
-
id="${
|
|
242
|
+
id="${Ma}/video"
|
|
243
243
|
>
|
|
244
244
|
<path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
|
|
245
245
|
<path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
|
|
@@ -250,7 +250,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
250
250
|
fill="none"
|
|
251
251
|
xmlns="http://www.w3.org/2000/svg"
|
|
252
252
|
viewBox="0 0 24 24"
|
|
253
|
-
id="${
|
|
253
|
+
id="${Ma}/audio"
|
|
254
254
|
>
|
|
255
255
|
<path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
|
|
256
256
|
<path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
|
|
@@ -270,8 +270,8 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
270
270
|
|
|
271
271
|
</symbol>
|
|
272
272
|
</svg>
|
|
273
|
-
`,
|
|
274
|
-
`,"+")}`}}async function k$(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function x$(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,l=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);l&&l[1]&&(i=l[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=Jr(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Jr(n,o)}else"customPrompt"in e?a=Jr(n,"custom"):a=Jr(n,"improved");else a=Jr(n,"generated");return I$(a,r.abortSignal)}async function*I$(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await Pd(100)}return{kind:"text",text:e}}function Jr(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,l="";if(n<=o.length)l=o.substring(0,n);else{l=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],s=0;for(;l.length<n;){let c=u[s%u.length];if(l.length+c.length<=n)l+=c;else{l+=c.substring(0,n-l.length);break}s++}}return r+l}async function C$(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:A$(220,i),duration:i,thumbnailUrl:void 0}}function A$(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return M$(i,44100)}function M$(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,l=r*i,u=44+l,s=new ArrayBuffer(u),c=new DataView(s),d=(b,v)=>{for(let m=0;m<v.length;m++)c.setUint8(b+m,v.charCodeAt(m))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,l,!0);let p=44;for(let b=0;b<r;b++){let v=Math.max(-1,Math.min(1,e[b])),m=Math.round(v*32767);c.setInt16(p,m,!0),p+=2}let y=new Uint8Array(s),g="";for(let b=0;b<y.length;b++)g+=String.fromCharCode(y[b]);return`data:audio/wav;base64,${btoa(g)}`}async function Pd(e){return new Promise(t=>{setTimeout(t,e)})}var j$=b$,S$="USER_CANCEL";function _$(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=b_([...e.provider.output.middleware??[],...r?.middlewares??[],w_({enable:r?.debug}),j$({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:A_(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return ca(n)?{status:"aborted",message:n.message}:n===S$?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var $$=_$;async function E$(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=g$(a),l=f$(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=l;let u=$$({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),s=await d$(a,u);M_(r.cesdk,"@imgly/plugin-ai-generation",h$);let c={provider:t,panel:{builderRenderFunction:s},history:{assetSourceId:o,assetLibraryEntryId:l},generate:u};return h_.get().register(c),c}var Wo=E$;function L$(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new fM(n,r,i);return r.engine.asset.addSource(a),a.id}var T$=L$;async function O$(e,t,r,i){let n,a=[];if(Array.isArray(t)){let u=await Promise.all(t.map(s=>Wo(e,s,r,i)));a.push(...u),n=D$({prefix:e,providerInitializationResults:a})}else{let u=await Promise.all(t.fromText.map(c=>Wo(e,c,r,i)));a.push(...u);let s=await Promise.all(t.fromImage.map(c=>Wo(e,c,r,i)));a.push(...s),n=N$({prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:u,initializedFromImageProviders:s})}let o=T$({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(u=>u.history?.assetSourceId).filter(f_)}),l;return o!=null&&(l=o,r.cesdk.ui.addAssetLibraryEntry({id:l,sourceIds:[o],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:n},history:{assetSourceId:o,assetLibraryEntryId:l},providerInitializationResults:a}}function N$({prefix:e,initializedFromTextProviders:t,initializedFromImageProviders:r}){let i=t.length>0&&r.length>0;return n=>{let{builder:a,experimental:o}=n,l=o.global(`${e}.fromType`,i?"fromText":void 0),u=[];l.value==="fromText"?u.push(...t):l.value==="fromImage"?u.push(...r):u.push(...t,...r);let s=t.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),c=r.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),d=n.experimental.global(`${e}.selectedProvider.fromText`,s[0]),p=n.experimental.global(`${e}.selectedProvider.fromImage`,c[0]),y=l.value==="fromText"?d:l.value==="fromImage"?p:void 0;if((i||u.length>1)&&a.Section(`${e}.providerSelection.section`,{children:()=>{if(i&&a.ButtonGroup(`${e}.fromType.buttonGroup`,{inputLabel:"Input",children:()=>{a.Button(`${e}.fromType.buttonGroup.fromText`,{label:"Text",icon:l.value!=="fromText"&&ed(t,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromText",onClick:()=>{l.setValue("fromText")}}),a.Button(`${e}.fromType.buttonGroup.fromImage`,{label:"Image",icon:l.value!=="fromImage"&&ed(r,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromImage",onClick:()=>{l.setValue("fromImage")}})}}),u.length>1){let g=l.value==="fromText"?s:l.value==="fromImage"?c:[...s,...c];y!=null&&a.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:g,...y})}}}),u.length>1)y?.value.builderRenderFunction?.(n);else{let g=u[0];g&&g.panel?.builderRenderFunction?.(n)}}}function D$({prefix:e,providerInitializationResults:t}){return r=>{let{builder:i}=r;if(t.length===0)return;let n=t.map(({provider:o,panel:l})=>({id:o.id,label:o.name??o.id,builderRenderFunction:l?.builderRenderFunction})),a=r.state(`${e}.selectedProvider`,n[0]);t.length>1&&a!=null&&i.Section(`${e}.providerSelection.section`,{children:()=>{i.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:n,...a})}}),a.value.builderRenderFunction?.(r)}}function ed(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(pa(r.id),!1).value)}var td=O$,P$=typeof global=="object"&&global&&global.Object===Object&&global,zd=P$,z$=typeof self=="object"&&self&&self.Object===Object&&self,U$=zd||z$||Function("return this")(),J=U$,R$=J.Symbol,At=R$,Ud=Object.prototype,F$=Ud.hasOwnProperty,V$=Ud.toString,Xr=At?At.toStringTag:void 0;function B$(e){var t=F$.call(e,Xr),r=e[Xr];try{e[Xr]=void 0;var i=!0}catch{}var n=V$.call(e);return i&&(t?e[Xr]=r:delete e[Xr]),n}var G$=B$,q$=Object.prototype,Y$=q$.toString;function H$(e){return Y$.call(e)}var Z$=H$,Q$="[object Null]",W$="[object Undefined]",rd=At?At.toStringTag:void 0;function K$(e){return e==null?e===void 0?W$:Q$:rd&&rd in Object(e)?G$(e):Z$(e)}var ui=K$;function J$(e){return e!=null&&typeof e=="object"}var ga=J$,uJ=Array.isArray;function X$(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Rd=X$,eE="[object AsyncFunction]",tE="[object Function]",rE="[object GeneratorFunction]",iE="[object Proxy]";function nE(e){if(!Rd(e))return!1;var t=ui(e);return t==tE||t==rE||t==eE||t==iE}var oE=nE,aE=J["__core-js_shared__"],Ko=aE,id=function(){var e=/[^.]+$/.exec(Ko&&Ko.keys&&Ko.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function lE(e){return!!id&&id in e}var sE=lE,uE=Function.prototype,cE=uE.toString;function dE(e){if(e!=null){try{return cE.call(e)}catch{}try{return e+""}catch{}}return""}var Se=dE,pE=/[\\^$.*+?()[\]{}|]/g,gE=/^\[object .+?Constructor\]$/,yE=Function.prototype,fE=Object.prototype,mE=yE.toString,hE=fE.hasOwnProperty,bE=RegExp("^"+mE.call(hE).replace(pE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vE(e){if(!Rd(e)||sE(e))return!1;var t=oE(e)?bE:gE;return t.test(Se(e))}var wE=vE;function kE(e,t){return e?.[t]}var xE=kE;function IE(e,t){var r=xE(e,t);return wE(r)?r:void 0}var $t=IE,CE=$t(J,"WeakMap"),na=CE;function AE(e,t){return e===t||e!==e&&t!==t}var ME=AE,jE=9007199254740991;function SE(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jE}var _E=SE,cJ=Object.prototype,$E="[object Arguments]";function EE(e){return ga(e)&&ui(e)==$E}var nd=EE,Fd=Object.prototype,LE=Fd.hasOwnProperty,TE=Fd.propertyIsEnumerable,dJ=nd(function(){return arguments}())?nd:function(e){return ga(e)&&LE.call(e,"callee")&&!TE.call(e,"callee")},Vd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,od=Vd&&typeof module=="object"&&module&&!module.nodeType&&module,OE=od&&od.exports===Vd,ad=OE?J.Buffer:void 0,pJ=ad?ad.isBuffer:void 0,NE="[object Arguments]",DE="[object Array]",PE="[object Boolean]",zE="[object Date]",UE="[object Error]",RE="[object Function]",FE="[object Map]",VE="[object Number]",BE="[object Object]",GE="[object RegExp]",qE="[object Set]",YE="[object String]",HE="[object WeakMap]",ZE="[object ArrayBuffer]",QE="[object DataView]",WE="[object Float32Array]",KE="[object Float64Array]",JE="[object Int8Array]",XE="[object Int16Array]",eL="[object Int32Array]",tL="[object Uint8Array]",rL="[object Uint8ClampedArray]",iL="[object Uint16Array]",nL="[object Uint32Array]",T={};T[WE]=T[KE]=T[JE]=T[XE]=T[eL]=T[tL]=T[rL]=T[iL]=T[nL]=!0;T[NE]=T[DE]=T[ZE]=T[PE]=T[QE]=T[zE]=T[UE]=T[RE]=T[FE]=T[VE]=T[BE]=T[GE]=T[qE]=T[YE]=T[HE]=!1;function oL(e){return ga(e)&&_E(e.length)&&!!T[ui(e)]}var aL=oL;function lL(e){return function(t){return e(t)}}var sL=lL,Bd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Bd&&typeof module=="object"&&module&&!module.nodeType&&module,uL=ri&&ri.exports===Bd,Jo=uL&&zd.process,cL=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Jo&&Jo.binding&&Jo.binding("util")}catch{}}(),ld=cL,sd=ld&&ld.isTypedArray,gJ=sd?sL(sd):aL,dL=Object.prototype,yJ=dL.hasOwnProperty;function pL(e,t){return function(r){return e(t(r))}}var gL=pL,fJ=gL(Object.keys,Object),yL=Object.prototype,mJ=yL.hasOwnProperty,fL=$t(Object,"create"),oi=fL;function mL(){this.__data__=oi?oi(null):{},this.size=0}var hL=mL;function bL(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var vL=bL,wL="__lodash_hash_undefined__",kL=Object.prototype,xL=kL.hasOwnProperty;function IL(e){var t=this.__data__;if(oi){var r=t[e];return r===wL?void 0:r}return xL.call(t,e)?t[e]:void 0}var CL=IL,AL=Object.prototype,ML=AL.hasOwnProperty;function jL(e){var t=this.__data__;return oi?t[e]!==void 0:ML.call(t,e)}var SL=jL,_L="__lodash_hash_undefined__";function $L(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=oi&&t===void 0?_L:t,this}var EL=$L;function Et(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Et.prototype.clear=hL;Et.prototype.delete=vL;Et.prototype.get=CL;Et.prototype.has=SL;Et.prototype.set=EL;var ud=Et;function LL(){this.__data__=[],this.size=0}var TL=LL;function OL(e,t){for(var r=e.length;r--;)if(ME(e[r][0],t))return r;return-1}var bn=OL,NL=Array.prototype,DL=NL.splice;function PL(e){var t=this.__data__,r=bn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():DL.call(t,r,1),--this.size,!0}var zL=PL;function UL(e){var t=this.__data__,r=bn(t,e);return r<0?void 0:t[r][1]}var RL=UL;function FL(e){return bn(this.__data__,e)>-1}var VL=FL;function BL(e,t){var r=this.__data__,i=bn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var GL=BL;function Lt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Lt.prototype.clear=TL;Lt.prototype.delete=zL;Lt.prototype.get=RL;Lt.prototype.has=VL;Lt.prototype.set=GL;var vn=Lt,qL=$t(J,"Map"),ai=qL;function YL(){this.size=0,this.__data__={hash:new ud,map:new(ai||vn),string:new ud}}var HL=YL;function ZL(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var QL=ZL;function WL(e,t){var r=e.__data__;return QL(t)?r[typeof t=="string"?"string":"hash"]:r.map}var wn=WL;function KL(e){var t=wn(this,e).delete(e);return this.size-=t?1:0,t}var JL=KL;function XL(e){return wn(this,e).get(e)}var eT=XL;function tT(e){return wn(this,e).has(e)}var rT=tT;function iT(e,t){var r=wn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nT=iT;function Tt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Tt.prototype.clear=HL;Tt.prototype.delete=JL;Tt.prototype.get=eT;Tt.prototype.has=rT;Tt.prototype.set=nT;var Gd=Tt;function oT(){this.__data__=new vn,this.size=0}var aT=oT;function lT(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var sT=lT;function uT(e){return this.__data__.get(e)}var cT=uT;function dT(e){return this.__data__.has(e)}var pT=dT,gT=200;function yT(e,t){var r=this.__data__;if(r instanceof vn){var i=r.__data__;if(!ai||i.length<gT-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Gd(i)}return r.set(e,t),this.size=r.size,this}var fT=yT;function ci(e){var t=this.__data__=new vn(e);this.size=t.size}ci.prototype.clear=aT;ci.prototype.delete=sT;ci.prototype.get=cT;ci.prototype.has=pT;ci.prototype.set=fT;var mT=Object.prototype,hJ=mT.propertyIsEnumerable,hT=$t(J,"DataView"),oa=hT,bT=$t(J,"Promise"),aa=bT,vT=$t(J,"Set"),la=vT,cd="[object Map]",wT="[object Object]",dd="[object Promise]",pd="[object Set]",gd="[object WeakMap]",yd="[object DataView]",kT=Se(oa),xT=Se(ai),IT=Se(aa),CT=Se(la),AT=Se(na),kt=ui;(oa&&kt(new oa(new ArrayBuffer(1)))!=yd||ai&&kt(new ai)!=cd||aa&&kt(aa.resolve())!=dd||la&&kt(new la)!=pd||na&&kt(new na)!=gd)&&(kt=function(e){var t=ui(e),r=t==wT?e.constructor:void 0,i=r?Se(r):"";if(i)switch(i){case kT:return yd;case xT:return cd;case IT:return dd;case CT:return pd;case AT:return gd}return t});var bJ=J.Uint8Array,MT="__lodash_hash_undefined__";function jT(e){return this.__data__.set(e,MT),this}var ST=jT;function _T(e){return this.__data__.has(e)}var $T=_T;function sa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Gd;++t<r;)this.add(e[t])}sa.prototype.add=sa.prototype.push=ST;sa.prototype.has=$T;var fd=At?At.prototype:void 0,vJ=fd?fd.valueOf:void 0,ET=Object.prototype,wJ=ET.hasOwnProperty,LT=Object.prototype,kJ=LT.hasOwnProperty,xJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),IJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),CJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");function TT(e){return e==null?[]:Array.isArray(e)?e:[e]}var md=TT,xt="@imgly/plugin-ai-audio-generation-web",Ae="ly.img.ai.audio-generation.speech",Me="ly.img.ai.audio-generation.sound";function OT(e){return{async initialize({cesdk:t}){if(t==null)return;j_(t,xt,"0.2.4"),t.setTranslations({en:{[`panel.${Ae}`]:"AI Voice",[`panel.${Me}`]:"Sound Generation"}}),NT(e);let r=m_.get(),i=r.register({type:"plugin",sceneMode:"Video",id:`${xt}/sound`,pluginId:xt,label:"Generate Sound",meta:{panelId:Me},execute:()=>{t.ui.isPanelOpen(Me)?t.ui.closePanel(Me):t.ui.openPanel(Me)}}),n=r.register({type:"plugin",sceneMode:"Video",id:`${xt}/speech`,pluginId:xt,label:"AI Voice",meta:{panelId:Ae},execute:()=>{t.ui.isPanelOpen(Ae)?t.ui.closePanel(Ae):t.ui.openPanel(Ae)}}),a=e.providers?.text2speech??e.text2speech,o=e.providers?.text2sound??e.text2sound,l=await Promise.all(md(a).map(y=>y({cesdk:t}))),u=await Promise.all(md(o).map(y=>y({cesdk:t}))),s=l.length>0,c=u.length>0;if(!s&&!c){i(),n();return}c||i(),s||n();let d=await td("audio",l,{cesdk:t},e),p=await td("audio",u,{cesdk:t},e);p.panel.builderRenderFunction!=null?(t.ui.registerPanel(Me,p.panel.builderRenderFunction),Kc({cesdk:t,panelId:Me})):i(),d.panel.builderRenderFunction!=null?(t.ui.registerPanel(Ae,d.panel.builderRenderFunction),Kc({cesdk:t,panelId:Ae})):n()}}}function NT(e){e.debug&&(e.providers?.text2speech!=null&&e.text2speech!=null&&console.warn("[AudioGeneration]: Both `providers.text2speech` and `text2speech` configuration is provided. Since `text2speech` is deprecated, only `providers.text2speech` will be used."),e.providers?.text2sound!=null&&e.text2sound!=null&&console.warn("[AudioGeneration]: Both `providers.text2sound` and `text2sound` configuration is provided. Since `text2sound` is deprecated, only `providers.text2sound` will be used."))}var DT=OT,PT=e=>({name:xt,version:"0.2.4",...DT(e)}),qd=PT;var zT="@imgly/plugin-ai-text-generation",UT=`
|
|
273
|
+
`,HE=YE;function ZE(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await dp(2e3),await QE(t,e,r)):i(t,r)}async function QE(e,t,r){switch(t.kind){case"image":return WE(e,t,r);case"video":return KE(e,t,r);case"text":return JE(e,t,r);case"audio":return e$(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function WE(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,u=await G_(s,r),l=await B_(u,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
|
|
274
|
+
`,"+")}`}}async function KE(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function JE(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=ri(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=ri(n,o)}else"customPrompt"in e?a=ri(n,"custom"):a=ri(n,"improved");else a=ri(n,"generated");return XE(a,r.abortSignal)}async function*XE(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await dp(100)}return{kind:"text",text:e}}function ri(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let c=u[l%u.length];if(s.length+c.length<=n)s+=c;else{s+=c.substring(0,n-s.length);break}l++}}return r+s}async function e$(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:t$(220,i),duration:i,thumbnailUrl:void 0}}function t$(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return r$(i,44100)}function r$(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,u=44+s,l=new ArrayBuffer(u),c=new DataView(l),d=(y,h)=>{for(let b=0;b<h.length;b++)c.setUint8(y+b,h.charCodeAt(b))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,s,!0);let g=44;for(let y=0;y<r;y++){let h=Math.max(-1,Math.min(1,e[y])),b=Math.round(h*32767);c.setInt16(g,b,!0),g+=2}let p=new Uint8Array(l),f="";for(let y=0;y<p.length;y++)f+=String.fromCharCode(p[y]);return`data:audio/wav;base64,${btoa(f)}`}async function dp(e){return new Promise(t=>{setTimeout(t,e)})}var i$=ZE,n$="USER_CANCEL";function o$(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Q_([...e.provider.output.middleware??[],...r?.middlewares??[],K_({enable:r?.debug}),i$({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:tE(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return Va(n)?{status:"aborted",message:n.message}:n===n$?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var a$=o$;async function l$(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=BE(a),s=qE(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let u=a$({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await FE(a,u);rE(r.cesdk,"@imgly/plugin-ai-generation",HE);let c={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:u};return Z_.get().register(c),c}var ja=l$;function s$(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new YM(n,r,i);return r.engine.asset.addSource(a),a.id}var u$=s$;function oi(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function c$(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(Array.isArray(t)){let l=await Promise.all(t.map(c=>ja(e,c,r,i)));o.push(...l),a=p$({kind:e,prefix:e,providerInitializationResults:o})}else{let l=await Promise.all(t.fromText.map(d=>ja(e,d,r,i)));o.push(...l);let c=await Promise.all(t.fromImage.map(d=>ja(e,d,r,i)));o.push(...c),a=d$({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:c})}let s=u$({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(Y_)}),u;return s!=null&&(u=s,r.cesdk.ui.addAssetLibraryEntry({id:u,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:u},providerInitializationResults:o}}function d$({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i}){let n=r.length>0&&i.length>0;return a=>{let{builder:o,experimental:s}=a,u=s.global(`${t}.fromType`,n?"fromText":void 0),l=[];u.value==="fromText"?l.push(...r):u.value==="fromImage"?l.push(...i):l.push(...r,...i);let c=r.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),d=i.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),g=a.experimental.global(`${t}.selectedProvider.fromText`,c[0]),p=a.experimental.global(`${t}.selectedProvider.fromImage`,d[0]),f=u.value==="fromText"?g:u.value==="fromImage"?p:void 0;if((n||l.length>1)&&o.Section(`${t}.providerSelection.section`,{children:()=>{if(n&&o.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:oi(e,"fromType.label"),children:()=>{o.Button(`${t}.fromType.buttonGroup.fromText`,{label:oi(e,"fromText.label"),icon:u.value!=="fromText"&&Sd(r,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromText",onClick:()=>{u.setValue("fromText")}}),o.Button(`${t}.fromType.buttonGroup.fromImage`,{label:oi(e,"fromImage.label"),icon:u.value!=="fromImage"&&Sd(i,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromImage",onClick:()=>{u.setValue("fromImage")}})}}),l.length>1){let y=u.value==="fromText"?c:u.value==="fromImage"?d:[...c,...d];f!=null&&o.Select(`${t}.providerSelect.select`,{inputLabel:oi(e,"providerSelect.label"),values:y,...f})}}}),l.length>1)f?.value.builderRenderFunction?.(a);else{let y=l[0];y&&y.panel?.builderRenderFunction?.(a)}}}function p$({kind:e,prefix:t,providerInitializationResults:r}){return i=>{let{builder:n}=i;if(r.length===0)return;let a=r.map(({provider:s,panel:u})=>({id:s.id,label:s.name??s.id,builderRenderFunction:u?.builderRenderFunction})),o=i.state(`${t}.selectedProvider`,a[0]);r.length>1&&o!=null&&n.Section(`${t}.providerSelection.section`,{children:()=>{n.Select(`${t}.providerSelect.select`,{inputLabel:oi(e,"providerSelect.label"),values:a,...o})}}),o.value.builderRenderFunction?.(i)}}function Sd(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Ga(r.id),!1).value)}var _d=c$,g$=typeof global=="object"&&global&&global.Object===Object&&global,pp=g$,f$=typeof self=="object"&&self&&self.Object===Object&&self,y$=pp||f$||Function("return this")(),K=y$,m$=K.Symbol,St=m$,gp=Object.prototype,h$=gp.hasOwnProperty,b$=gp.toString,ii=St?St.toStringTag:void 0;function v$(e){var t=h$.call(e,ii),r=e[ii];try{e[ii]=void 0;var i=!0}catch{}var n=b$.call(e);return i&&(t?e[ii]=r:delete e[ii]),n}var w$=v$,k$=Object.prototype,x$=k$.toString;function I$(e){return x$.call(e)}var C$=I$,A$="[object Null]",M$="[object Undefined]",Ed=St?St.toStringTag:void 0;function j$(e){return e==null?e===void 0?M$:A$:Ed&&Ed in Object(e)?w$(e):C$(e)}var fi=j$;function S$(e){return e!=null&&typeof e=="object"}var qa=S$,KJ=Array.isArray;function _$(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var fp=_$,E$="[object AsyncFunction]",$$="[object Function]",L$="[object GeneratorFunction]",T$="[object Proxy]";function O$(e){if(!fp(e))return!1;var t=fi(e);return t==$$||t==L$||t==E$||t==T$}var N$=O$,D$=K["__core-js_shared__"],Sa=D$,$d=function(){var e=/[^.]+$/.exec(Sa&&Sa.keys&&Sa.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function P$(e){return!!$d&&$d in e}var z$=P$,U$=Function.prototype,R$=U$.toString;function F$(e){if(e!=null){try{return R$.call(e)}catch{}try{return e+""}catch{}}return""}var _e=F$,V$=/[\\^$.*+?()[\]{}|]/g,B$=/^\[object .+?Constructor\]$/,G$=Function.prototype,q$=Object.prototype,Y$=G$.toString,H$=q$.hasOwnProperty,Z$=RegExp("^"+Y$.call(H$).replace(V$,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Q$(e){if(!fp(e)||z$(e))return!1;var t=N$(e)?Z$:B$;return t.test(_e(e))}var W$=Q$;function K$(e,t){return e?.[t]}var J$=K$;function X$(e,t){var r=J$(e,t);return W$(r)?r:void 0}var Tt=X$,eL=Tt(K,"WeakMap"),Da=eL;function tL(e,t){return e===t||e!==e&&t!==t}var rL=tL,iL=9007199254740991;function nL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=iL}var oL=nL,JJ=Object.prototype,aL="[object Arguments]";function lL(e){return qa(e)&&fi(e)==aL}var Ld=lL,yp=Object.prototype,sL=yp.hasOwnProperty,uL=yp.propertyIsEnumerable,XJ=Ld(function(){return arguments}())?Ld:function(e){return qa(e)&&sL.call(e,"callee")&&!uL.call(e,"callee")},mp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Td=mp&&typeof module=="object"&&module&&!module.nodeType&&module,cL=Td&&Td.exports===mp,Od=cL?K.Buffer:void 0,eX=Od?Od.isBuffer:void 0,dL="[object Arguments]",pL="[object Array]",gL="[object Boolean]",fL="[object Date]",yL="[object Error]",mL="[object Function]",hL="[object Map]",bL="[object Number]",vL="[object Object]",wL="[object RegExp]",kL="[object Set]",xL="[object String]",IL="[object WeakMap]",CL="[object ArrayBuffer]",AL="[object DataView]",ML="[object Float32Array]",jL="[object Float64Array]",SL="[object Int8Array]",_L="[object Int16Array]",EL="[object Int32Array]",$L="[object Uint8Array]",LL="[object Uint8ClampedArray]",TL="[object Uint16Array]",OL="[object Uint32Array]",N={};N[ML]=N[jL]=N[SL]=N[_L]=N[EL]=N[$L]=N[LL]=N[TL]=N[OL]=!0;N[dL]=N[pL]=N[CL]=N[gL]=N[AL]=N[fL]=N[yL]=N[mL]=N[hL]=N[bL]=N[vL]=N[wL]=N[kL]=N[xL]=N[IL]=!1;function NL(e){return qa(e)&&oL(e.length)&&!!N[fi(e)]}var DL=NL;function PL(e){return function(t){return e(t)}}var zL=PL,hp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,li=hp&&typeof module=="object"&&module&&!module.nodeType&&module,UL=li&&li.exports===hp,_a=UL&&pp.process,RL=function(){try{var e=li&&li.require&&li.require("util").types;return e||_a&&_a.binding&&_a.binding("util")}catch{}}(),Nd=RL,Dd=Nd&&Nd.isTypedArray,tX=Dd?zL(Dd):DL,FL=Object.prototype,rX=FL.hasOwnProperty;function VL(e,t){return function(r){return e(t(r))}}var BL=VL,iX=BL(Object.keys,Object),GL=Object.prototype,nX=GL.hasOwnProperty,qL=Tt(Object,"create"),ci=qL;function YL(){this.__data__=ci?ci(null):{},this.size=0}var HL=YL;function ZL(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var QL=ZL,WL="__lodash_hash_undefined__",KL=Object.prototype,JL=KL.hasOwnProperty;function XL(e){var t=this.__data__;if(ci){var r=t[e];return r===WL?void 0:r}return JL.call(t,e)?t[e]:void 0}var eT=XL,tT=Object.prototype,rT=tT.hasOwnProperty;function iT(e){var t=this.__data__;return ci?t[e]!==void 0:rT.call(t,e)}var nT=iT,oT="__lodash_hash_undefined__";function aT(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ci&&t===void 0?oT:t,this}var lT=aT;function Ot(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ot.prototype.clear=HL;Ot.prototype.delete=QL;Ot.prototype.get=eT;Ot.prototype.has=nT;Ot.prototype.set=lT;var Pd=Ot;function sT(){this.__data__=[],this.size=0}var uT=sT;function cT(e,t){for(var r=e.length;r--;)if(rL(e[r][0],t))return r;return-1}var Un=cT,dT=Array.prototype,pT=dT.splice;function gT(e){var t=this.__data__,r=Un(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():pT.call(t,r,1),--this.size,!0}var fT=gT;function yT(e){var t=this.__data__,r=Un(t,e);return r<0?void 0:t[r][1]}var mT=yT;function hT(e){return Un(this.__data__,e)>-1}var bT=hT;function vT(e,t){var r=this.__data__,i=Un(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var wT=vT;function Nt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Nt.prototype.clear=uT;Nt.prototype.delete=fT;Nt.prototype.get=mT;Nt.prototype.has=bT;Nt.prototype.set=wT;var Rn=Nt,kT=Tt(K,"Map"),di=kT;function xT(){this.size=0,this.__data__={hash:new Pd,map:new(di||Rn),string:new Pd}}var IT=xT;function CT(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var AT=CT;function MT(e,t){var r=e.__data__;return AT(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Fn=MT;function jT(e){var t=Fn(this,e).delete(e);return this.size-=t?1:0,t}var ST=jT;function _T(e){return Fn(this,e).get(e)}var ET=_T;function $T(e){return Fn(this,e).has(e)}var LT=$T;function TT(e,t){var r=Fn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var OT=TT;function Dt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Dt.prototype.clear=IT;Dt.prototype.delete=ST;Dt.prototype.get=ET;Dt.prototype.has=LT;Dt.prototype.set=OT;var bp=Dt;function NT(){this.__data__=new Rn,this.size=0}var DT=NT;function PT(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var zT=PT;function UT(e){return this.__data__.get(e)}var RT=UT;function FT(e){return this.__data__.has(e)}var VT=FT,BT=200;function GT(e,t){var r=this.__data__;if(r instanceof Rn){var i=r.__data__;if(!di||i.length<BT-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new bp(i)}return r.set(e,t),this.size=r.size,this}var qT=GT;function yi(e){var t=this.__data__=new Rn(e);this.size=t.size}yi.prototype.clear=DT;yi.prototype.delete=zT;yi.prototype.get=RT;yi.prototype.has=VT;yi.prototype.set=qT;var YT=Object.prototype,oX=YT.propertyIsEnumerable,HT=Tt(K,"DataView"),Pa=HT,ZT=Tt(K,"Promise"),za=ZT,QT=Tt(K,"Set"),Ua=QT,zd="[object Map]",WT="[object Object]",Ud="[object Promise]",Rd="[object Set]",Fd="[object WeakMap]",Vd="[object DataView]",KT=_e(Pa),JT=_e(di),XT=_e(za),eO=_e(Ua),tO=_e(Da),Ct=fi;(Pa&&Ct(new Pa(new ArrayBuffer(1)))!=Vd||di&&Ct(new di)!=zd||za&&Ct(za.resolve())!=Ud||Ua&&Ct(new Ua)!=Rd||Da&&Ct(new Da)!=Fd)&&(Ct=function(e){var t=fi(e),r=t==WT?e.constructor:void 0,i=r?_e(r):"";if(i)switch(i){case KT:return Vd;case JT:return zd;case XT:return Ud;case eO:return Rd;case tO:return Fd}return t});var aX=K.Uint8Array,rO="__lodash_hash_undefined__";function iO(e){return this.__data__.set(e,rO),this}var nO=iO;function oO(e){return this.__data__.has(e)}var aO=oO;function Ra(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new bp;++t<r;)this.add(e[t])}Ra.prototype.add=Ra.prototype.push=nO;Ra.prototype.has=aO;var Bd=St?St.prototype:void 0,lX=Bd?Bd.valueOf:void 0,lO=Object.prototype,sX=lO.hasOwnProperty,sO=Object.prototype,uX=sO.hasOwnProperty,cX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),dX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),pX=new RegExp(/[A-Fa-f0-9]{2}/,"g");function uO(e){return e==null?[]:Array.isArray(e)?e:[e]}var Gd=uO,At="@imgly/plugin-ai-audio-generation-web",Ae="ly.img.ai.audio-generation.speech",Me="ly.img.ai.audio-generation.sound";function cO(e){return{async initialize({cesdk:t}){if(t==null)return;iE(t,At,"0.2.5"),t.setTranslations({en:{[`panel.${Ae}`]:"AI Voice",[`panel.${Me}`]:"Sound Generation"}}),dO(e);let r=H_.get(),i=r.register({type:"plugin",sceneMode:"Video",id:`${At}/sound`,pluginId:At,label:"Generate Sound",meta:{panelId:Me},execute:()=>{t.ui.isPanelOpen(Me)?t.ui.closePanel(Me):t.ui.openPanel(Me)}}),n=r.register({type:"plugin",sceneMode:"Video",id:`${At}/speech`,pluginId:At,label:"AI Voice",meta:{panelId:Ae},execute:()=>{t.ui.isPanelOpen(Ae)?t.ui.closePanel(Ae):t.ui.openPanel(Ae)}}),a=e.providers?.text2speech??e.text2speech,o=e.providers?.text2sound??e.text2sound,s=await Promise.all(Gd(a).map(p=>p({cesdk:t}))),u=await Promise.all(Gd(o).map(p=>p({cesdk:t}))),l=s.length>0,c=u.length>0;if(!l&&!c){i(),n();return}c||i(),l||n();let d=await _d("audio",s,{cesdk:t},e),g=await _d("audio",u,{cesdk:t},e);g.panel.builderRenderFunction!=null?(t.ui.registerPanel(Me,g.panel.builderRenderFunction),Ad({cesdk:t,panelId:Me})):i(),d.panel.builderRenderFunction!=null?(t.ui.registerPanel(Ae,d.panel.builderRenderFunction),Ad({cesdk:t,panelId:Ae})):n()}}}function dO(e){e.debug&&(e.providers?.text2speech!=null&&e.text2speech!=null&&console.warn("[AudioGeneration]: Both `providers.text2speech` and `text2speech` configuration is provided. Since `text2speech` is deprecated, only `providers.text2speech` will be used."),e.providers?.text2sound!=null&&e.text2sound!=null&&console.warn("[AudioGeneration]: Both `providers.text2sound` and `text2sound` configuration is provided. Since `text2sound` is deprecated, only `providers.text2sound` will be used."))}var pO=cO,gO=e=>({name:At,version:"0.2.5",...pO(e)}),vp=gO;var fO="@imgly/plugin-ai-text-generation",yO=`
|
|
275
275
|
<svg>
|
|
276
276
|
<symbol
|
|
277
277
|
fill="none"
|
|
@@ -347,10 +347,10 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
347
347
|
<path d="M3.72318 6.44728C3.63105 6.26302 3.3681 6.26302 3.27597 6.44728L3.03684 6.92554C3.01265 6.97392 2.97343 7.01314 2.92505 7.03733L2.44677 7.27652C2.26252 7.36866 2.26254 7.63161 2.44681 7.72373L2.92503 7.9628C2.97342 7.98699 3.01266 8.02622 3.03685 8.07461L3.27597 8.55285C3.3681 8.73711 3.63105 8.73711 3.72318 8.55285L3.96231 8.0746C3.9865 8.02622 4.02573 7.98699 4.07411 7.9628L4.55236 7.72367C4.73663 7.63154 4.73663 7.36859 4.55236 7.27646L4.07411 7.03733C4.02573 7.01314 3.9865 6.97391 3.96231 6.92553L3.72318 6.44728Z" fill="currentColor"/>
|
|
348
348
|
</symbol>
|
|
349
349
|
</svg>
|
|
350
|
-
`,RT=UT,FT=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,s)=>{let c=e.locale??"en",d="",p=[];s.label!=null&&typeof s.label=="object"&&s.label[c]&&(d=s.label[c]),s.tags!=null&&typeof s.tags=="object"&&s.tags[c]&&(p=s.tags[c]);let y={...s,label:d,tags:p};return this.filterAsset(y,e)&&u.push(y),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),l=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:l,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Dt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Dt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let l=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?l-u:u-l}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Dt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Dt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),l=e.label?.toLowerCase()??"",u=e.tags?.map(s=>s.toLowerCase())??[];if(!o.every(s=>l.includes(s)||u.some(c=>c.includes(s))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(l=>e.tags?.includes(l))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,l)=>{let u,s;return i==="id"?(u=o.id,s=l.id):(u=o.meta?.[i]??null,s=l.meta?.[i]??null),u==null?r==="Ascending"?-1:1:s==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof s=="string"?r==="Ascending"?u.localeCompare(s):s.localeCompare(u):r==="Ascending"?u<s?-1:u>s?1:0:u>s?-1:u<s?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,l)=>o.active&&!l.active?-1:!o.active&&l.active?1:0)),a}};function Dt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Dt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Dt(n,t,a)}return e}var VT=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let p=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,l=o+a,u=i.slice(o,l),s=l<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:s,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},BT=class{constructor(e,t){this.engine=e,this.key=t}hasData(e){return this.engine.block.isValid(e)&&this.engine.block.hasMetadata(e,this.key)}get(e){if(this.hasData(e))return JSON.parse(this.engine.block.getMetadata(e,this.key))}set(e,t){this.engine.block.setMetadata(e,this.key,JSON.stringify(t))}clear(e){this.engine.block.hasMetadata(e,this.key)&&this.engine.block.removeMetadata(e,this.key)}},Sp=BT,GT=typeof global=="object"&&global&&global.Object===Object&&global,_p=GT,qT=typeof self=="object"&&self&&self.Object===Object&&self,YT=_p||qT||Function("return this")(),X=YT,HT=X.Symbol,Pt=HT,$p=Object.prototype,ZT=$p.hasOwnProperty,QT=$p.toString,di=Pt?Pt.toStringTag:void 0;function WT(e){var t=ZT.call(e,di),r=e[di];try{e[di]=void 0;var i=!0}catch{}var n=QT.call(e);return i&&(t?e[di]=r:delete e[di]),n}var KT=WT,JT=Object.prototype,XT=JT.toString;function eO(e){return XT.call(e)}var tO=eO,rO="[object Null]",iO="[object Undefined]",Yd=Pt?Pt.toStringTag:void 0;function nO(e){return e==null?e===void 0?iO:rO:Yd&&Yd in Object(e)?KT(e):tO(e)}var Ii=nO;function oO(e){return e!=null&&typeof e=="object"}var Pa=oO,SJ=Array.isArray;function aO(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ep=aO,lO="[object AsyncFunction]",sO="[object Function]",uO="[object GeneratorFunction]",cO="[object Proxy]";function dO(e){if(!Ep(e))return!1;var t=Ii(e);return t==sO||t==uO||t==lO||t==cO}var pO=dO,gO=X["__core-js_shared__"],ya=gO,Hd=function(){var e=/[^.]+$/.exec(ya&&ya.keys&&ya.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function yO(e){return!!Hd&&Hd in e}var fO=yO,mO=Function.prototype,hO=mO.toString;function bO(e){if(e!=null){try{return hO.call(e)}catch{}try{return e+""}catch{}}return""}var Ee=bO,vO=/[\\^$.*+?()[\]{}|]/g,wO=/^\[object .+?Constructor\]$/,kO=Function.prototype,xO=Object.prototype,IO=kO.toString,CO=xO.hasOwnProperty,AO=RegExp("^"+IO.call(CO).replace(vO,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function MO(e){if(!Ep(e)||fO(e))return!1;var t=pO(e)?AO:wO;return t.test(Ee(e))}var jO=MO;function SO(e,t){return e?.[t]}var _O=SO;function $O(e,t){var r=_O(e,t);return jO(r)?r:void 0}var Ut=$O,EO=Ut(X,"WeakMap"),Ma=EO;function LO(e,t){return e===t||e!==e&&t!==t}var TO=LO,OO=9007199254740991;function NO(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=OO}var DO=NO,_J=Object.prototype,PO="[object Arguments]";function zO(e){return Pa(e)&&Ii(e)==PO}var Zd=zO,Lp=Object.prototype,UO=Lp.hasOwnProperty,RO=Lp.propertyIsEnumerable,$J=Zd(function(){return arguments}())?Zd:function(e){return Pa(e)&&UO.call(e,"callee")&&!RO.call(e,"callee")},Tp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Qd=Tp&&typeof module=="object"&&module&&!module.nodeType&&module,FO=Qd&&Qd.exports===Tp,Wd=FO?X.Buffer:void 0,EJ=Wd?Wd.isBuffer:void 0,VO="[object Arguments]",BO="[object Array]",GO="[object Boolean]",qO="[object Date]",YO="[object Error]",HO="[object Function]",ZO="[object Map]",QO="[object Number]",WO="[object Object]",KO="[object RegExp]",JO="[object Set]",XO="[object String]",eN="[object WeakMap]",tN="[object ArrayBuffer]",rN="[object DataView]",iN="[object Float32Array]",nN="[object Float64Array]",oN="[object Int8Array]",aN="[object Int16Array]",lN="[object Int32Array]",sN="[object Uint8Array]",uN="[object Uint8ClampedArray]",cN="[object Uint16Array]",dN="[object Uint32Array]",O={};O[iN]=O[nN]=O[oN]=O[aN]=O[lN]=O[sN]=O[uN]=O[cN]=O[dN]=!0;O[VO]=O[BO]=O[tN]=O[GO]=O[rN]=O[qO]=O[YO]=O[HO]=O[ZO]=O[QO]=O[WO]=O[KO]=O[JO]=O[XO]=O[eN]=!1;function pN(e){return Pa(e)&&DO(e.length)&&!!O[Ii(e)]}var gN=pN;function yN(e){return function(t){return e(t)}}var fN=yN,Op=typeof exports=="object"&&exports&&!exports.nodeType&&exports,hi=Op&&typeof module=="object"&&module&&!module.nodeType&&module,mN=hi&&hi.exports===Op,fa=mN&&_p.process,hN=function(){try{var e=hi&&hi.require&&hi.require("util").types;return e||fa&&fa.binding&&fa.binding("util")}catch{}}(),Kd=hN,Jd=Kd&&Kd.isTypedArray,LJ=Jd?fN(Jd):gN,bN=Object.prototype,TJ=bN.hasOwnProperty;function vN(e,t){return function(r){return e(t(r))}}var wN=vN,OJ=wN(Object.keys,Object),kN=Object.prototype,NJ=kN.hasOwnProperty,xN=Ut(Object,"create"),vi=xN;function IN(){this.__data__=vi?vi(null):{},this.size=0}var CN=IN;function AN(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var MN=AN,jN="__lodash_hash_undefined__",SN=Object.prototype,_N=SN.hasOwnProperty;function $N(e){var t=this.__data__;if(vi){var r=t[e];return r===jN?void 0:r}return _N.call(t,e)?t[e]:void 0}var EN=$N,LN=Object.prototype,TN=LN.hasOwnProperty;function ON(e){var t=this.__data__;return vi?t[e]!==void 0:TN.call(t,e)}var NN=ON,DN="__lodash_hash_undefined__";function PN(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=vi&&t===void 0?DN:t,this}var zN=PN;function Rt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Rt.prototype.clear=CN;Rt.prototype.delete=MN;Rt.prototype.get=EN;Rt.prototype.has=NN;Rt.prototype.set=zN;var Xd=Rt;function UN(){this.__data__=[],this.size=0}var RN=UN;function FN(e,t){for(var r=e.length;r--;)if(TO(e[r][0],t))return r;return-1}var kn=FN,VN=Array.prototype,BN=VN.splice;function GN(e){var t=this.__data__,r=kn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():BN.call(t,r,1),--this.size,!0}var qN=GN;function YN(e){var t=this.__data__,r=kn(t,e);return r<0?void 0:t[r][1]}var HN=YN;function ZN(e){return kn(this.__data__,e)>-1}var QN=ZN;function WN(e,t){var r=this.__data__,i=kn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var KN=WN;function Ft(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ft.prototype.clear=RN;Ft.prototype.delete=qN;Ft.prototype.get=HN;Ft.prototype.has=QN;Ft.prototype.set=KN;var xn=Ft,JN=Ut(X,"Map"),wi=JN;function XN(){this.size=0,this.__data__={hash:new Xd,map:new(wi||xn),string:new Xd}}var eD=XN;function tD(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var rD=tD;function iD(e,t){var r=e.__data__;return rD(t)?r[typeof t=="string"?"string":"hash"]:r.map}var In=iD;function nD(e){var t=In(this,e).delete(e);return this.size-=t?1:0,t}var oD=nD;function aD(e){return In(this,e).get(e)}var lD=aD;function sD(e){return In(this,e).has(e)}var uD=sD;function cD(e,t){var r=In(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var dD=cD;function Vt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Vt.prototype.clear=eD;Vt.prototype.delete=oD;Vt.prototype.get=lD;Vt.prototype.has=uD;Vt.prototype.set=dD;var Np=Vt;function pD(){this.__data__=new xn,this.size=0}var gD=pD;function yD(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var fD=yD;function mD(e){return this.__data__.get(e)}var hD=mD;function bD(e){return this.__data__.has(e)}var vD=bD,wD=200;function kD(e,t){var r=this.__data__;if(r instanceof xn){var i=r.__data__;if(!wi||i.length<wD-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Np(i)}return r.set(e,t),this.size=r.size,this}var xD=kD;function Ci(e){var t=this.__data__=new xn(e);this.size=t.size}Ci.prototype.clear=gD;Ci.prototype.delete=fD;Ci.prototype.get=hD;Ci.prototype.has=vD;Ci.prototype.set=xD;var ID=Object.prototype,DJ=ID.propertyIsEnumerable,CD=Ut(X,"DataView"),ja=CD,AD=Ut(X,"Promise"),Sa=AD,MD=Ut(X,"Set"),_a=MD,ep="[object Map]",jD="[object Object]",tp="[object Promise]",rp="[object Set]",ip="[object WeakMap]",np="[object DataView]",SD=Ee(ja),_D=Ee(wi),$D=Ee(Sa),ED=Ee(_a),LD=Ee(Ma),Ot=Ii;(ja&&Ot(new ja(new ArrayBuffer(1)))!=np||wi&&Ot(new wi)!=ep||Sa&&Ot(Sa.resolve())!=tp||_a&&Ot(new _a)!=rp||Ma&&Ot(new Ma)!=ip)&&(Ot=function(e){var t=Ii(e),r=t==jD?e.constructor:void 0,i=r?Ee(r):"";if(i)switch(i){case SD:return np;case _D:return ep;case $D:return tp;case ED:return rp;case LD:return ip}return t});var PJ=X.Uint8Array,TD="__lodash_hash_undefined__";function OD(e){return this.__data__.set(e,TD),this}var ND=OD;function DD(e){return this.__data__.has(e)}var PD=DD;function $a(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Np;++t<r;)this.add(e[t])}$a.prototype.add=$a.prototype.push=ND;$a.prototype.has=PD;var op=Pt?Pt.prototype:void 0,zJ=op?op.valueOf:void 0,zD=Object.prototype,UJ=zD.hasOwnProperty,UD=Object.prototype,RJ=UD.hasOwnProperty,FJ=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),VJ=new RegExp(/[A-Fa-f0-9]{1}/,"g"),BJ=new RegExp(/[A-Fa-f0-9]{2}/,"g");function RD(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function Dp(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function Ea(e,t){let r=await Dp(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function FD(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Dp(i,t)}function VD(e){return e!==void 0}var Cn=VD,Pp=class zp{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new zp),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},Up=class Rp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Rp),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function BD(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=s=>{a.push(s)},l=async(s,c,d)=>{if(s>=t.length)return r(c,d);let p=t[s],y=async(b,v)=>l(s+1,b,v),g={...d,addDisposer:o};return p(c,g,y)},u={...n,addDisposer:o};return{result:await l(0,i,u),dispose:async()=>{for(let s=a.length-1;s>=0;s--)try{await a[s]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function GD({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var qD=GD,ma="ly.img.ai.temp";async function YD(e,t){return e.engine.asset.findAllSources().includes(ma)||e.engine.asset.addLocalSource(ma),e.engine.asset.apply(ma,t)}function HD(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function Fp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function ZD(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let l=document.createElement("canvas");l.width=o.videoWidth,l.height=o.videoHeight;let u=l.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,l.width,l.height);try{let s=l.toDataURL(r,i);document.body.removeChild(o),n(s)}catch(s){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${s instanceof Error?s.message:String(s)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function QD(e){return e?e.replace(/[_-]/g," ").replace(/([A-Z])/g," $1").trim().split(" ").filter(t=>t.length>0).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" "):""}function WD(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function za(e){return e instanceof Error&&e.name==="AbortError"}function KD(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function JD(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
350
|
+
`,mO=yO,hO=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,l)=>{let c=e.locale??"en",d="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[c]&&(d=l.label[c]),l.tags!=null&&typeof l.tags=="object"&&l.tags[c]&&(g=l.tags[c]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&u.push(p),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Ut(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Ut(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-u:u-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Ut(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Ut(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",u=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||u.some(c=>c.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let u,l;return i==="id"?(u=o.id,l=s.id):(u=o.meta?.[i]??null,l=s.meta?.[i]??null),u==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof l=="string"?r==="Ascending"?u.localeCompare(l):l.localeCompare(u):r==="Ascending"?u<l?-1:u>l?1:0:u>l?-1:u<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function Ut(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Ut(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Ut(n,t,a)}return e}var bO=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let g=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});let{page:n,perPage:a}=e,o=n*a,s=o+a,u=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},vO=class{constructor(e,t){this.engine=e,this.key=t}hasData(e){return this.engine.block.isValid(e)&&this.engine.block.hasMetadata(e,this.key)}get(e){if(this.hasData(e))return JSON.parse(this.engine.block.getMetadata(e,this.key))}set(e,t){this.engine.block.setMetadata(e,this.key,JSON.stringify(t))}clear(e){this.engine.block.hasMetadata(e,this.key)&&this.engine.block.removeMetadata(e,this.key)}},a1=vO,wO=typeof global=="object"&&global&&global.Object===Object&&global,l1=wO,kO=typeof self=="object"&&self&&self.Object===Object&&self,xO=l1||kO||Function("return this")(),J=xO,IO=J.Symbol,Rt=IO,s1=Object.prototype,CO=s1.hasOwnProperty,AO=s1.toString,mi=Rt?Rt.toStringTag:void 0;function MO(e){var t=CO.call(e,mi),r=e[mi];try{e[mi]=void 0;var i=!0}catch{}var n=AO.call(e);return i&&(t?e[mi]=r:delete e[mi]),n}var jO=MO,SO=Object.prototype,_O=SO.toString;function EO(e){return _O.call(e)}var $O=EO,LO="[object Null]",TO="[object Undefined]",wp=Rt?Rt.toStringTag:void 0;function OO(e){return e==null?e===void 0?TO:LO:wp&&wp in Object(e)?jO(e):$O(e)}var _i=OO;function NO(e){return e!=null&&typeof e=="object"}var pl=NO,mX=Array.isArray;function DO(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var u1=DO,PO="[object AsyncFunction]",zO="[object Function]",UO="[object GeneratorFunction]",RO="[object Proxy]";function FO(e){if(!u1(e))return!1;var t=_i(e);return t==zO||t==UO||t==PO||t==RO}var VO=FO,BO=J["__core-js_shared__"],Ya=BO,kp=function(){var e=/[^.]+$/.exec(Ya&&Ya.keys&&Ya.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function GO(e){return!!kp&&kp in e}var qO=GO,YO=Function.prototype,HO=YO.toString;function ZO(e){if(e!=null){try{return HO.call(e)}catch{}try{return e+""}catch{}}return""}var Te=ZO,QO=/[\\^$.*+?()[\]{}|]/g,WO=/^\[object .+?Constructor\]$/,KO=Function.prototype,JO=Object.prototype,XO=KO.toString,eN=JO.hasOwnProperty,tN=RegExp("^"+XO.call(eN).replace(QO,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function rN(e){if(!u1(e)||qO(e))return!1;var t=VO(e)?tN:WO;return t.test(Te(e))}var iN=rN;function nN(e,t){return e?.[t]}var oN=nN;function aN(e,t){var r=oN(e,t);return iN(r)?r:void 0}var Vt=aN,lN=Vt(J,"WeakMap"),el=lN;function sN(e,t){return e===t||e!==e&&t!==t}var uN=sN,cN=9007199254740991;function dN(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=cN}var pN=dN,hX=Object.prototype,gN="[object Arguments]";function fN(e){return pl(e)&&_i(e)==gN}var xp=fN,c1=Object.prototype,yN=c1.hasOwnProperty,mN=c1.propertyIsEnumerable,bX=xp(function(){return arguments}())?xp:function(e){return pl(e)&&yN.call(e,"callee")&&!mN.call(e,"callee")},d1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ip=d1&&typeof module=="object"&&module&&!module.nodeType&&module,hN=Ip&&Ip.exports===d1,Cp=hN?J.Buffer:void 0,vX=Cp?Cp.isBuffer:void 0,bN="[object Arguments]",vN="[object Array]",wN="[object Boolean]",kN="[object Date]",xN="[object Error]",IN="[object Function]",CN="[object Map]",AN="[object Number]",MN="[object Object]",jN="[object RegExp]",SN="[object Set]",_N="[object String]",EN="[object WeakMap]",$N="[object ArrayBuffer]",LN="[object DataView]",TN="[object Float32Array]",ON="[object Float64Array]",NN="[object Int8Array]",DN="[object Int16Array]",PN="[object Int32Array]",zN="[object Uint8Array]",UN="[object Uint8ClampedArray]",RN="[object Uint16Array]",FN="[object Uint32Array]",D={};D[TN]=D[ON]=D[NN]=D[DN]=D[PN]=D[zN]=D[UN]=D[RN]=D[FN]=!0;D[bN]=D[vN]=D[$N]=D[wN]=D[LN]=D[kN]=D[xN]=D[IN]=D[CN]=D[AN]=D[MN]=D[jN]=D[SN]=D[_N]=D[EN]=!1;function VN(e){return pl(e)&&pN(e.length)&&!!D[_i(e)]}var BN=VN;function GN(e){return function(t){return e(t)}}var qN=GN,p1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ii=p1&&typeof module=="object"&&module&&!module.nodeType&&module,YN=Ii&&Ii.exports===p1,Ha=YN&&l1.process,HN=function(){try{var e=Ii&&Ii.require&&Ii.require("util").types;return e||Ha&&Ha.binding&&Ha.binding("util")}catch{}}(),Ap=HN,Mp=Ap&&Ap.isTypedArray,wX=Mp?qN(Mp):BN,ZN=Object.prototype,kX=ZN.hasOwnProperty;function QN(e,t){return function(r){return e(t(r))}}var WN=QN,xX=WN(Object.keys,Object),KN=Object.prototype,IX=KN.hasOwnProperty,JN=Vt(Object,"create"),Ai=JN;function XN(){this.__data__=Ai?Ai(null):{},this.size=0}var eD=XN;function tD(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var rD=tD,iD="__lodash_hash_undefined__",nD=Object.prototype,oD=nD.hasOwnProperty;function aD(e){var t=this.__data__;if(Ai){var r=t[e];return r===iD?void 0:r}return oD.call(t,e)?t[e]:void 0}var lD=aD,sD=Object.prototype,uD=sD.hasOwnProperty;function cD(e){var t=this.__data__;return Ai?t[e]!==void 0:uD.call(t,e)}var dD=cD,pD="__lodash_hash_undefined__";function gD(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ai&&t===void 0?pD:t,this}var fD=gD;function Bt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Bt.prototype.clear=eD;Bt.prototype.delete=rD;Bt.prototype.get=lD;Bt.prototype.has=dD;Bt.prototype.set=fD;var jp=Bt;function yD(){this.__data__=[],this.size=0}var mD=yD;function hD(e,t){for(var r=e.length;r--;)if(uN(e[r][0],t))return r;return-1}var Vn=hD,bD=Array.prototype,vD=bD.splice;function wD(e){var t=this.__data__,r=Vn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():vD.call(t,r,1),--this.size,!0}var kD=wD;function xD(e){var t=this.__data__,r=Vn(t,e);return r<0?void 0:t[r][1]}var ID=xD;function CD(e){return Vn(this.__data__,e)>-1}var AD=CD;function MD(e,t){var r=this.__data__,i=Vn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var jD=MD;function Gt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Gt.prototype.clear=mD;Gt.prototype.delete=kD;Gt.prototype.get=ID;Gt.prototype.has=AD;Gt.prototype.set=jD;var Bn=Gt,SD=Vt(J,"Map"),Mi=SD;function _D(){this.size=0,this.__data__={hash:new jp,map:new(Mi||Bn),string:new jp}}var ED=_D;function $D(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var LD=$D;function TD(e,t){var r=e.__data__;return LD(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Gn=TD;function OD(e){var t=Gn(this,e).delete(e);return this.size-=t?1:0,t}var ND=OD;function DD(e){return Gn(this,e).get(e)}var PD=DD;function zD(e){return Gn(this,e).has(e)}var UD=zD;function RD(e,t){var r=Gn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var FD=RD;function qt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}qt.prototype.clear=ED;qt.prototype.delete=ND;qt.prototype.get=PD;qt.prototype.has=UD;qt.prototype.set=FD;var g1=qt;function VD(){this.__data__=new Bn,this.size=0}var BD=VD;function GD(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var qD=GD;function YD(e){return this.__data__.get(e)}var HD=YD;function ZD(e){return this.__data__.has(e)}var QD=ZD,WD=200;function KD(e,t){var r=this.__data__;if(r instanceof Bn){var i=r.__data__;if(!Mi||i.length<WD-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new g1(i)}return r.set(e,t),this.size=r.size,this}var JD=KD;function Ei(e){var t=this.__data__=new Bn(e);this.size=t.size}Ei.prototype.clear=BD;Ei.prototype.delete=qD;Ei.prototype.get=HD;Ei.prototype.has=QD;Ei.prototype.set=JD;var XD=Object.prototype,CX=XD.propertyIsEnumerable,eP=Vt(J,"DataView"),tl=eP,tP=Vt(J,"Promise"),rl=tP,rP=Vt(J,"Set"),il=rP,Sp="[object Map]",iP="[object Object]",_p="[object Promise]",Ep="[object Set]",$p="[object WeakMap]",Lp="[object DataView]",nP=Te(tl),oP=Te(Mi),aP=Te(rl),lP=Te(il),sP=Te(el),Pt=_i;(tl&&Pt(new tl(new ArrayBuffer(1)))!=Lp||Mi&&Pt(new Mi)!=Sp||rl&&Pt(rl.resolve())!=_p||il&&Pt(new il)!=Ep||el&&Pt(new el)!=$p)&&(Pt=function(e){var t=_i(e),r=t==iP?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case nP:return Lp;case oP:return Sp;case aP:return _p;case lP:return Ep;case sP:return $p}return t});var AX=J.Uint8Array,uP="__lodash_hash_undefined__";function cP(e){return this.__data__.set(e,uP),this}var dP=cP;function pP(e){return this.__data__.has(e)}var gP=pP;function nl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new g1;++t<r;)this.add(e[t])}nl.prototype.add=nl.prototype.push=dP;nl.prototype.has=gP;var Tp=Rt?Rt.prototype:void 0,MX=Tp?Tp.valueOf:void 0,fP=Object.prototype,jX=fP.hasOwnProperty,yP=Object.prototype,SX=yP.hasOwnProperty,_X=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),EX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),$X=new RegExp(/[A-Fa-f0-9]{2}/,"g");function mP(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function f1(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function ol(e,t){let r=await f1(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function hP(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return f1(i,t)}function bP(e){return e!==void 0}var qn=bP,y1=class m1{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new m1),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},h1=class b1{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new b1),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function vP(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,c,d)=>{if(l>=t.length)return r(c,d);let g=t[l],p=async(y,h)=>s(l+1,y,h),f={...d,addDisposer:o};return g(c,f,p)},u={...n,addDisposer:o};return{result:await s(0,i,u),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function wP({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var kP=wP,Za="ly.img.ai.temp";async function xP(e,t){return e.engine.asset.findAllSources().includes(Za)||e.engine.asset.addLocalSource(Za),e.engine.asset.apply(Za,t)}function IP(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function v1(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function CP(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let u=s.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function AP(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function gl(e){return e instanceof Error&&e.name==="AbortError"}function MP(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function jP(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
351
351
|
Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
|
|
352
352
|
This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
|
|
353
|
-
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function XD(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),eP(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:HD(e)})}function eP(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var ap=XD,tP="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Ua=tP;function rP(e,t,r){switch(t){case"image":return iP(e,r[t]);case"video":return nP(e,r[t]);case"sticker":return oP(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function iP(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ua,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function nP(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Ua,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function oP(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Ua,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var aP=rP;async function lP(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return sP(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return uP(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return cP(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return dP(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function sP(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function uP(e,t,r){let i=t.width,n=t.height,a=await ZD(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function cP(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function dP(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var Vp=lP;function pP(e){switch(e.userFlow){case"placeholder":return yP(e);case"generation-only":return gP(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function gP(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ye(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ye(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(ye(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let l=Fp(),u=await Vp(l,n,a,o.output),s={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,s)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function yP(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ye(t,r))return{status:"aborted"};let l=Fp(),u=aP(l,a,o);if(i=await YD(t,u),ye(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),y=t.engine.block.duplicate(i);t.engine.block.setPositionX(y,d),t.engine.block.setPositionY(y,p),t.engine.block.destroy(i),i=y}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let s=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ye(t,r,i))return{status:"aborted"};if(s.status!=="success")return s;if(s.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await Vp(l,a,o,s.output);if(ye(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),ye(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),s}catch(a){return i!=null&&t.engine.block.isValid(i)&&(za(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function ye(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var fP=pP;function Ra(e){return`${e}.generating`}function mP(e){return`${e}.abort`}function hP(e,t,r,i,n,a,o){let{builder:l,experimental:u}=e,{cesdk:s,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:p}}=t,y=u.global(mP(d),()=>{}),g=u.global(Ra(d),!1),b,v=g.value&&p,m=()=>{v&&(y.value(),g.setValue(!1),y.setValue(()=>{}))},w;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let h=i();w=a.requiredInputs.every(f=>!h.input[f])}let k=u.global(`${d}.confirmationDialogId`,void 0);l.Section(`${d}.generate.section`,{children:()=>{l.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:g.value,color:"accent",isDisabled:w,suffix:v?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let h=s.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:f})=>{s.ui.closeDialog(f),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:f})=>{m(),s.ui.closeDialog(f),k.setValue(void 0)}}});k.setValue(h)}}:void 0,onClick:async()=>{b=new AbortController;let h=b.signal;await(async()=>{try{g.setValue(!0),y.setValue(()=>{o.debug&&console.log("Aborting generation"),b?.abort()});let f=await fP({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:h,cesdk:s,debug:o.debug,dryRun:o.dryRun})(i().input);if(f.status==="aborted")return;if(f.status==="error"){ap(f.message,{cesdk:s,provider:t,getInput:i});return}if(f.status==="success"&&f.type==="sync"){let x=t.output.notification;bP(s,x,()=>({input:i().input,output:f.output}))}}catch(f){if(za(f))return;ap(f,{cesdk:s,provider:t,getInput:i})}finally{b=void 0,g.setValue(!1),y.setValue(()=>{}),k.value!=null&&(s.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&l.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&l.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function bP(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var Bp=hP;async function vP({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,l=r.render;return u=>{let{state:s}=u,c=s(Ra(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=l(u,{cesdk:a,isGenerating:c});return Bp(u,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var wP=vP;function Gp(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function mi(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=Gp(e,t.$ref),n={...mi(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=mi(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>mi(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=mi(e,t[n],r));return i}return t}function kP(e){return mi(e,{...e})}function xP(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let l of i.type)if(typeof l!="string"||!o.includes(l))return r(`Array of types contains invalid value: ${l}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let l=0;l<i[o].length;l++){let u=i[o][l];if(typeof u!="object"||u===null)return r(`Item ${l} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let l=i.required[o];if(typeof l!="string")return r(`Item ${o} in required array must be a string, got ${typeof l}`)}}return!0}function IP(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return CP(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function CP(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=AP(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function AP(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var qp=IP;function Yp(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let l=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?MP(e,l,r,i,n,a,o):Zp(e,l,r,i,n,a,o);case"boolean":return Qp(e,l,r,i,n,a,o);case"number":case"integer":return Wp(e,l,r,i,n,a,o);case"object":return Hp(e,l,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return jP(e,l,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function Hp(e,t,r,i,n,a,o){let l=qp(t.schema??{},i).reduce((u,s)=>{let c=Yp(e,s,r,i,n,a,o);return c!=null&&(u[s.id]=c()),u},{});return()=>({id:t.id,type:"object",value:l})}function Zp(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=u(c,t.schema.default??""),y=SP(t.schema),g=y?.component!=null&&y?.component==="TextArea"?"TextArea":"TextInput";return l[g](c,{inputLabel:d,placeholder:n.i18n?.prompt,...p}),()=>({id:t.id,type:"string",value:p.value})}function MP(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{},y="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},g=(t.schema.enum??[]).map(m=>({id:m,label:[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.property.${t.id}.${m}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}.${m}`],icon:p[m]})),b=t.schema.default!=null?g.find(m=>m.id===t.schema.default)??g[0]:g[0],v=u(c,b);return l.Select(c,{inputLabel:d,values:g,...v}),()=>({id:t.id,type:"string",value:v.value.id})}function Qp(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=!!t.schema.default,y=u(c,p);return l.Checkbox(c,{inputLabel:d,...y}),()=>({id:t.id,type:"boolean",value:y.value})}function Wp(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.minimum,y=t.schema.maximum,g=t.schema.default;g==null&&(p!=null?g=p:y!=null?g=y:g=0);let b=u(c,g);if(p!=null&&y!=null){let v=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(v=t.schema["x-imgly-step"]),l.Slider(c,{inputLabel:d,min:p,max:y,step:v,...b})}else l.NumberInput(c,{inputLabel:d,min:p,max:y,...b});return()=>({id:t.id,type:"integer",value:b.value})}function jP(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.anyOf??[],y=[],g={},b={};p.forEach((w,k)=>{let h=w.title??"common.custom",f=`${r.id}.${s}.anyOf[${k}]`,x="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},I="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{};w.type==="string"?w.enum!=null?w.enum.forEach(C=>{y.push({id:C,label:x[C]??QD(C),icon:I[C]})}):(g[f]=()=>Zp(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="boolean"?(g[f]=()=>Qp(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="integer"?(g[f]=()=>Wp(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="array"||w.type==="object"&&(g[f]=()=>Hp(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]}))});let v=t.schema.default!=null?y.find(w=>w.id===t.schema.default)??y[0]:y[0],m=u(c,v);if(l.Select(c,{inputLabel:d,values:y,...m}),m.value.id in g){let w=g[m.value.id]();b[m.value.id]=w}return()=>{let w=b[m.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:m.value.id}}}function SP(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var _P=Yp,$P={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function lp(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function EP(e,t,r,i){let n={};e.forEach(o=>{if(o.schema?.title&&(n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}`]=o.schema.title),o.schema?.enum){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.enum.forEach(u=>{let s=String(u),c=l[s]||lp(s);n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}.${s}`]=c})}if(o.schema?.anyOf&&Array.isArray(o.schema.anyOf)){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.anyOf.forEach(u=>{let s=u;s.enum&&Array.isArray(s.enum)&&s.enum.forEach(c=>{let d=String(c),p=l[d]||lp(d);n[`ly.img.plugin-ai-${i}-generation-web.defaults.property.${t.id}.${o.id}.${d}`]=p})})}});let a={...$P,...n};Object.keys(a).length>0&&r.cesdk.i18n.setTranslations({en:a})}async function LP({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=kP(r.document),l=Gp(o,r.inputReference);if(!xP(l,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=l,s=qp(u,r);return EP(s,t,e,t.kind),c=>{let{builder:d}=c,p=[];d.Section(`${a}.schema.section`,{children:()=>{s.forEach(v=>{let m=_P(c,v,t,r,e,i,t.kind);m!=null&&(Array.isArray(m)?p.push(...m):p.push(m))})}});let y=p.map(v=>v()),g=v=>v.type==="object"?Object.entries(v.value).reduce((m,[w,k])=>(m[w]=g(k),m),{}):v.value,b=y.reduce((v,m)=>(v[m.id]=g(m),v),{});Bp(c,t,n,()=>({input:b}),()=>r.getBlockInput(b),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var TP=LP;async function OP(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return wP(e,t);case"schema":return TP(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var NP=OP;function DP(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new FT(o,r)),o}return i}var PP=DP;function zP(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var UP=zP,ha="@imgly/plugin-ai-generation",RP=`
|
|
353
|
+
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function SP(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),_P(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:IP(e)})}function _P(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var Op=SP,EP="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",fl=EP;function $P(e,t,r){switch(t){case"image":return LP(e,r[t]);case"video":return TP(e,r[t]);case"sticker":return OP(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function LP(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:fl,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function TP(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:fl,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function OP(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:fl,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var NP=$P;async function DP(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return PP(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return zP(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return UP(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return RP(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function PP(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function zP(e,t,r){let i=t.width,n=t.height,a=await CP(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function UP(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function RP(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var w1=DP;function FP(e){switch(e.userFlow){case"placeholder":return BP(e);case"generation-only":return VP(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function VP(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ge(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ge(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(ge(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=v1(),u=await w1(s,n,a,o.output),l={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function BP(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ge(t,r))return{status:"aborted"};let s=v1(),u=NP(s,a,o);if(i=await xP(t,u),ge(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ge(t,r,i))return{status:"aborted"};if(l.status!=="success")return l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await w1(s,a,o,l.output);if(ge(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),ge(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(gl(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function ge(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var GP=FP;function yl(e){return`${e}.generating`}function qP(e){return`${e}.abort`}function YP(e,t,r,i,n,a,o){let{builder:s,experimental:u}=e,{cesdk:l,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:g}}=t,p=u.global(qP(d),()=>{}),f=u.global(yl(d),!1),y,h=f.value&&g,b=()=>{h&&(p.value(),f.setValue(!1),p.setValue(()=>{}))},I;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let w=i();I=a.requiredInputs.every(v=>!w.input[v])}let x=u.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:f.value,color:"accent",isDisabled:I,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let w=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:v})=>{l.ui.closeDialog(v),x.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:v})=>{b(),l.ui.closeDialog(v),x.setValue(void 0)}}});x.setValue(w)}}:void 0,onClick:async()=>{y=new AbortController;let w=y.signal;await(async()=>{try{f.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),y?.abort()});let v=await GP({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:w,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(v.status==="aborted")return;if(v.status==="error"){Op(v.message,{cesdk:l,provider:t,getInput:i});return}if(v.status==="success"&&v.type==="sync"){let k=t.output.notification;HP(l,k,()=>({input:i().input,output:v.output}))}}catch(v){if(gl(v))return;Op(v,{cesdk:l,provider:t,getInput:i})}finally{y=void 0,f.setValue(!1),p.setValue(()=>{}),x.value!=null&&(l.ui.closeDialog(x.value),x.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function HP(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var k1=YP;async function ZP({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,s=r.render;return u=>{let{state:l}=u,c=l(yl(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(u,{cesdk:a,isGenerating:c});return k1(u,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var QP=ZP;function x1(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function ki(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=x1(e,t.$ref),n={...ki(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=ki(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>ki(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=ki(e,t[n],r));return i}return t}function WP(e){return ki(e,{...e})}function KP(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let u=i[o][s];if(typeof u!="object"||u===null)return r(`Item ${s} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function JP(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return XP(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function XP(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=ez(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function ez(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var I1=JP;function Le(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`;return[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`]}function C1(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function A1(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let s=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?tz(e,s,r,i,n,a,o):M1(e,s,r,i,n,a,o);case"boolean":return j1(e,s,r,i,n,a,o);case"number":case"integer":return S1(e,s,r,i,n,a,o);case"object":return al(e,s,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return rz(e,s,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function al(e,t,r,i,n,a,o){let s=I1(t.schema??{},i).reduce((u,l)=>{let c=A1(e,l,r,i,n,a,o);return c!=null&&(u[l.id]=c()),u},{});return()=>({id:t.id,type:"object",value:s})}function M1(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Le(t,r,o),g=u(c,t.schema.default??""),p=iz(t.schema),f=p?.component!=null&&p?.component==="TextArea"?"TextArea":"TextInput";return s[f](c,{inputLabel:d,placeholder:n.i18n?.prompt,...g}),()=>({id:t.id,type:"string",value:g.value})}function tz(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Le(t,r,o),{labels:g,icons:p}=C1(t.schema),f=(t.schema.enum??[]).map(b=>({id:b,label:Le(t,r,o,b),icon:p[b]})),y=t.schema.default!=null?f.find(b=>b.id===t.schema.default)??f[0]:f[0],h=u(c,y);return s.Select(c,{inputLabel:d,values:f,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function j1(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Le(t,r,o),g=!!t.schema.default,p=u(c,g);return s.Checkbox(c,{inputLabel:d,...p}),()=>({id:t.id,type:"boolean",value:p.value})}function S1(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Le(t,r,o),g=t.schema.minimum,p=t.schema.maximum,f=t.schema.default;f==null&&(g!=null?f=g:p!=null?f=p:f=0);let y=u(c,f);if(g!=null&&p!=null){let h=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(h=t.schema["x-imgly-step"]),s.Slider(c,{inputLabel:d,min:g,max:p,step:h,...y})}else s.NumberInput(c,{inputLabel:d,min:g,max:p,...y});return()=>({id:t.id,type:"integer",value:y.value})}function rz(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Le(t,r,o),g=t.schema.anyOf??[],p=[],f={},y={},{labels:h,icons:b}=C1(t.schema),I={string:M1,boolean:j1,integer:S1,object:al},x=(m,A)=>m.$ref?m.$ref.split("/").pop():A.split(".").pop()??A,w=(m,A)=>({id:m,label:Le(t,r,o,A),icon:b[A]??b[m]});g.forEach((m,A)=>{let C=`${r.id}.${l}.anyOf[${A}]`;if(m.$ref||m.title){let M=m.$ref?m.$ref.split("/").pop():m.title;f[C]=()=>al(e,{id:C,schema:{...m,title:h[M]||M}},r,i,n,a,o),p.push(w(C,M))}else if(m.type==="string"&&m.enum)m.enum.forEach(M=>{p.push(w(M,M))});else if(m.type&&I[m.type]){let M=I[m.type];f[C]=()=>M(e,{id:C,schema:{...m,title:m.title}},r,i,n,a,o);let j=x(m,C);p.push(m.type==="string"&&!m.enum?{id:C,label:m.title||j,icon:m.title&&b[m.title]||b[j]}:w(C,j))}});let v=t.schema.default!=null?p.find(m=>m.id===t.schema.default)??p[0]:p[0],k=u(c,v);if(s.Select(c,{inputLabel:d,values:p,...k}),k.value.id in f){let m=f[k.value.id]();y[k.value.id]=m}return()=>{let m=y[k.value.id];return m!=null?{...m(),id:t.id}:{id:t.id,type:"string",value:k.value.id}}}function iz(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var nz=A1,oz={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function Np(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function az(e,t,r,i){let n={},a=(l,c)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${c?`.${c}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,c,d)=>{l.forEach(g=>{let p=String(g),f=d[p]||Np(p);n[a(c,p)]=f})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let c=o(l.schema);s(l.schema.enum,l.id,c)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let c=o(l.schema);l.schema.anyOf.forEach(d=>{let g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,c);else if(g.$ref){let p=g.$ref.split("/").pop();p&&c[p]&&(n[a(l.id,p)]=c[p])}else if(g.title){let p=g.title,f=c[p]||Np(p);n[a(l.id,p)]=f}})}});let u={...oz,...n};Object.keys(u).length>0&&r.cesdk.i18n.setTranslations({en:u})}async function lz({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=WP(r.document),s=x1(o,r.inputReference);if(!KP(s,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=s,l=I1(u,r);return az(l,t,e,t.kind),c=>{let{builder:d}=c,g=[];d.Section(`${a}.schema.section`,{children:()=>{l.forEach(h=>{let b=nz(c,h,t,r,e,i,t.kind);b!=null&&(Array.isArray(b)?g.push(...b):g.push(b))})}});let p=g.map(h=>h()),f=h=>h.type==="object"?Object.entries(h.value).reduce((b,[I,x])=>(b[I]=f(x),b),{}):h.value,y=p.reduce((h,b)=>(h[b.id]=f(b),h),{});k1(c,t,n,()=>({input:y}),()=>r.getBlockInput(y),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var sz=lz;async function uz(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return QP(e,t);case"schema":return sz(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var cz=uz;function dz(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new hO(o,r)),o}return i}var pz=dz;function gz(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var fz=gz,Qa="@imgly/plugin-ai-generation",yz=`
|
|
354
354
|
<svg>
|
|
355
355
|
<symbol
|
|
356
356
|
fill="none"
|
|
@@ -368,7 +368,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
368
368
|
fill="none"
|
|
369
369
|
xmlns="http://www.w3.org/2000/svg"
|
|
370
370
|
viewBox="0 0 24 24"
|
|
371
|
-
id="${
|
|
371
|
+
id="${Qa}/image"
|
|
372
372
|
>
|
|
373
373
|
<path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
|
|
374
374
|
<path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
|
|
@@ -380,7 +380,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
380
380
|
fill="none"
|
|
381
381
|
xmlns="http://www.w3.org/2000/svg"
|
|
382
382
|
viewBox="0 0 24 24"
|
|
383
|
-
id="${
|
|
383
|
+
id="${Qa}/video"
|
|
384
384
|
>
|
|
385
385
|
<path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
|
|
386
386
|
<path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
|
|
@@ -391,7 +391,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
391
391
|
fill="none"
|
|
392
392
|
xmlns="http://www.w3.org/2000/svg"
|
|
393
393
|
viewBox="0 0 24 24"
|
|
394
|
-
id="${
|
|
394
|
+
id="${Qa}/audio"
|
|
395
395
|
>
|
|
396
396
|
<path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
|
|
397
397
|
<path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
|
|
@@ -411,8 +411,8 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
411
411
|
|
|
412
412
|
</symbol>
|
|
413
413
|
</svg>
|
|
414
|
-
`,
|
|
415
|
-
`,"+")}`}}async function qP(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function YP(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,l=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);l&&l[1]&&(i=l[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=pi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=pi(n,o)}else"customPrompt"in e?a=pi(n,"custom"):a=pi(n,"improved");else a=pi(n,"generated");return HP(a,r.abortSignal)}async function*HP(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await Kp(100)}return{kind:"text",text:e}}function pi(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,l="";if(n<=o.length)l=o.substring(0,n);else{l=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],s=0;for(;l.length<n;){let c=u[s%u.length];if(l.length+c.length<=n)l+=c;else{l+=c.substring(0,n-l.length);break}s++}}return r+l}async function ZP(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:QP(220,i),duration:i,thumbnailUrl:void 0}}function QP(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return WP(i,44100)}function WP(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,l=r*i,u=44+l,s=new ArrayBuffer(u),c=new DataView(s),d=(b,v)=>{for(let m=0;m<v.length;m++)c.setUint8(b+m,v.charCodeAt(m))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,l,!0);let p=44;for(let b=0;b<r;b++){let v=Math.max(-1,Math.min(1,e[b])),m=Math.round(v*32767);c.setInt16(p,m,!0),p+=2}let y=new Uint8Array(s),g="";for(let b=0;b<y.length;b++)g+=String.fromCharCode(y[b]);return`data:audio/wav;base64,${btoa(g)}`}async function Kp(e){return new Promise(t=>{setTimeout(t,e)})}var KP=VP,Jp="USER_CANCEL";function JP(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=BD([...e.provider.output.middleware??[],...r?.middlewares??[],qD({enable:r?.debug}),KP({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:WD(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return za(n)?{status:"aborted",message:n.message}:n===Jp?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var XP=JP;async function ez(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=PP(a),l=UP(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=l;let u=XP({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),s=await NP(a,u);KD(r.cesdk,"@imgly/plugin-ai-generation",FP);let c={provider:t,panel:{builderRenderFunction:s},history:{assetSourceId:o,assetLibraryEntryId:l},generate:u};return Up.get().register(c),c}var ba=ez;function tz(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new VT(n,r,i);return r.engine.asset.addSource(a),a.id}var rz=tz;async function iz(e,t,r,i){let n,a=[];if(Array.isArray(t)){let u=await Promise.all(t.map(s=>ba(e,s,r,i)));a.push(...u),n=oz({prefix:e,providerInitializationResults:a})}else{let u=await Promise.all(t.fromText.map(c=>ba(e,c,r,i)));a.push(...u);let s=await Promise.all(t.fromImage.map(c=>ba(e,c,r,i)));a.push(...s),n=nz({prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:u,initializedFromImageProviders:s})}let o=rz({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(u=>u.history?.assetSourceId).filter(Cn)}),l;return o!=null&&(l=o,r.cesdk.ui.addAssetLibraryEntry({id:l,sourceIds:[o],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:n},history:{assetSourceId:o,assetLibraryEntryId:l},providerInitializationResults:a}}function nz({prefix:e,initializedFromTextProviders:t,initializedFromImageProviders:r}){let i=t.length>0&&r.length>0;return n=>{let{builder:a,experimental:o}=n,l=o.global(`${e}.fromType`,i?"fromText":void 0),u=[];l.value==="fromText"?u.push(...t):l.value==="fromImage"?u.push(...r):u.push(...t,...r);let s=t.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),c=r.map(({provider:g,panel:b})=>({id:g.id,label:g.name??g.id,builderRenderFunction:b?.builderRenderFunction})),d=n.experimental.global(`${e}.selectedProvider.fromText`,s[0]),p=n.experimental.global(`${e}.selectedProvider.fromImage`,c[0]),y=l.value==="fromText"?d:l.value==="fromImage"?p:void 0;if((i||u.length>1)&&a.Section(`${e}.providerSelection.section`,{children:()=>{if(i&&a.ButtonGroup(`${e}.fromType.buttonGroup`,{inputLabel:"Input",children:()=>{a.Button(`${e}.fromType.buttonGroup.fromText`,{label:"Text",icon:l.value!=="fromText"&&sp(t,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromText",onClick:()=>{l.setValue("fromText")}}),a.Button(`${e}.fromType.buttonGroup.fromImage`,{label:"Image",icon:l.value!=="fromImage"&&sp(r,n)?"@imgly/LoadingSpinner":void 0,isActive:l.value==="fromImage",onClick:()=>{l.setValue("fromImage")}})}}),u.length>1){let g=l.value==="fromText"?s:l.value==="fromImage"?c:[...s,...c];y!=null&&a.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:g,...y})}}}),u.length>1)y?.value.builderRenderFunction?.(n);else{let g=u[0];g&&g.panel?.builderRenderFunction?.(n)}}}function oz({prefix:e,providerInitializationResults:t}){return r=>{let{builder:i}=r;if(t.length===0)return;let n=t.map(({provider:o,panel:l})=>({id:o.id,label:o.name??o.id,builderRenderFunction:l?.builderRenderFunction})),a=r.state(`${e}.selectedProvider`,n[0]);t.length>1&&a!=null&&i.Section(`${e}.providerSelection.section`,{children:()=>{i.Select(`${e}.providerSelect.select`,{inputLabel:"Provider",values:n,...a})}}),a.value.builderRenderFunction?.(r)}}function sp(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Ra(r.id),!1).value)}var az=iz,An="ly.img.ai.editMode",Xp="ly.img.ai.metadata";async function lz(e){let t=`ly.img.ai.${e.kind}.confirmation`;e.cesdk?.i18n.setTranslations({en:{"ly.img.ai.processing":"Generating...",[`${t}.cancel`]:"Cancel Generation",[`${t}.apply`]:"Apply Generation",[`${t}.before`]:"Before",[`${t}.after`]:"After"}});let r=i=>{let{engine:n,builder:a,state:o,payload:l}=i;if(l==null)return;let u=n.block.findAllSelected();if(u.length===0)return null;let s=new Sp(n,Xp),c=s.get(u[0]);if(c==null)return null;let d=()=>{u.forEach(p=>{s.clear(p)})};switch(c.status){case"processing":{a.Button(`${t}.spinner`,{label:[`ly.img.ai.${c.quickActionId}.processing`,"ly.img.ai.processing"],isLoading:!0}),a.Separator(`${t}.separator`),a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{l.onCancelGeneration?.(),d()}});break}case"confirmation":{let p=o(`${t}.comparing`,"after"),y=l.applyCallbacks?.onCancel;y!=null&&a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{y(),d()}});let g=l.applyCallbacks?.onBefore,b=l.applyCallbacks?.onAfter;g!=null&&b!=null&&a.ButtonGroup(`${t}.compare`,{children:()=>{a.Button(`${t}.compare.before`,{label:`${t}.before`,variant:"regular",isActive:p.value==="before",onClick:()=>{g(),p.setValue("before")}}),a.Button(`${t}.compare.after`,{label:`${t}.after`,variant:"regular",isActive:p.value==="after",onClick:()=>{b(),p.setValue("after")}})}});let v=l.applyCallbacks?.onApply;v!=null&&a.Button(`${t}.apply`,{icon:"@imgly/Checkmark",tooltip:`${t}.apply`,color:"accent",isDisabled:p.value!=="after",onClick:()=>{d();let m=e.cesdk.engine.editor;typeof m._update=="function"&&m._update(),v()}});break}default:}};return Promise.resolve(r)}var sz=lz;function uz(e){if(e.length===0)return[];let t=[...e];for(;t.length>0&&t[0]==="ly.img.separator";)t.shift();for(;t.length>0&&t[t.length-1]==="ly.img.separator";)t.pop();return t.reduce((r,i)=>(i==="ly.img.separator"&&r.length>0&&r[r.length-1]==="ly.img.separator"||r.push(i),r),[])}var cz=uz;function dz(e){return`ly.img.ai.${e}.canvasMenu`}var pz=dz;function gz(e){let{kind:t,cesdk:r,payload:i,defaultOrder:n}=e,a=pz(t);if(i==null||!Array.isArray(i.children)){let o=r.ui.getCanvasMenuOrder().find(({id:l})=>l===a);return o!=null&&Array.isArray(o.children)?o.children:n??[]}return i.children.filter(o=>typeof o=="string")}var yz=gz;function fz(e,t){if(t.blockIds.some(r=>!t.cesdk.engine.block.isValid(r)))return Promise.resolve({applyCallbacks:{onBefore:()=>{},onAfter:()=>{},onCancel:()=>{},onApply:()=>{}}});switch(t.kind){case"text":return mz(e,t);case"image":return hz(e,t);case"video":return bz(e,t);case"audio":return vz(e,t);default:throw new Error(`Unsupported output kind for quick actions: ${t.kind}`)}}async function mz(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t,a=i.map(s=>r.engine.block.getString(s,"text/text")),o;if(e.type==="async"){let s="";for await(let c of e.output){if(n?.aborted)break;typeof c=="string"?s=c:c.kind==="text"&&(s=c.text),i.forEach(d=>{r.engine.block.setString(d,"text/text",s)}),o={kind:"text",text:s}}}else o=e.output;if(o==null||o.kind!=="text")throw new Error("Output kind from generation is not text");e.type==="sync"&&i.forEach(s=>{r.engine.block.setString(s,"text/text",o.text)});let l=()=>{t.blockIds.forEach(s=>{t.cesdk.engine.block.setString(s,"text/text",o.text)})},u=()=>{t.blockIds.forEach((s,c)=>{t.cesdk.engine.block.setString(s,"text/text",a[c])})};return{applyCallbacks:{onBefore:u,onAfter:l,onCancel:u,onApply:()=>{l(),t.cesdk.engine.editor.addUndoStep()}}}}async function hz(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t;if(i.length!==1)throw new Error("Only one block is supported for image generation");let[a]=i,o=r.engine.block.getFill(a),l=r.engine.block.getSourceSet(o,"fill/image/sourceSet"),[u]=l,s;u==null&&(s=r.engine.block.getString(o,"fill/image/imageFileURI"));let c=await r.engine.editor.getMimeType(u?.uri??s),d=await Ea(u?.uri??s,t.cesdk.engine),p=d.width/d.height;if(n?.throwIfAborted(),c==="image/svg+xml")throw new Error("SVG images are not supported");let y=r.engine.block.getCropScaleX(a),g=r.engine.block.getCropScaleY(a),b=r.engine.block.getCropTranslationX(a),v=r.engine.block.getCropTranslationY(a),m=r.engine.block.getCropRotation(a),w=()=>{r.engine.block.setCropScaleX(a,y),r.engine.block.setCropScaleY(a,g),r.engine.block.setCropTranslationX(a,b),r.engine.block.setCropTranslationY(a,v),r.engine.block.setCropRotation(a,m)};if(e.type==="async")throw new Error("Streaming generation is not supported yet from a panel");if(e.output.kind!=="image"||typeof e.output.url!="string")throw new Error("Output kind from generation is not an image");let k=e.output.url,h=await r.engine.editor.getMimeType(k),f=await wz(r,k,h),x=await Ea(f,t.cesdk.engine),I=x.width/x.height,C=Math.abs(p-I)>.001,A=u?[{uri:f,width:x.width,height:x.height}]:void 0,he=f;A==null?r.engine.block.setString(o,"fill/image/imageFileURI",he):(r.engine.block.setString(o,"fill/image/imageFileURI",""),r.engine.block.setSourceSet(o,"fill/image/sourceSet",A)),await r.engine.block.forceLoadResources([o]),C?r.engine.block.setContentFillMode(a,"Cover"):w();let ar=()=>{if(l==null||l.length===0){if(s==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",s)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",l);w()},lr=()=>{if(A==null){if(he==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",he)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",A);C?r.engine.block.setContentFillMode(a,"Cover"):w()};return{applyCallbacks:{onBefore:ar,onAfter:lr,onCancel:()=>{ar()},onApply:()=>{lr(),t.cesdk.engine.editor.addUndoStep()}}}}async function bz(e,t){throw new Error("Function not implemented.")}async function vz(e,t){throw new Error("Function not implemented.")}async function wz(e,t,r){let i=await(await fetch(t)).blob(),n=new File([i],`image.${RD(r)}`,{type:r}),a=await e.unstable_upload(n,()=>{});return a?.meta?.uri??(console.warn("Failed to upload image:",a),t)}var kz=fz;function xz(e){let{engine:t,blockIdsToLock:r,editModeToLockTo:i}=e;function n(){let u=t.block.findAllSelected();return r.some(s=>u.includes(s))}let a=t.editor.onStateChanged(()=>{t.editor.getEditMode()!==i&&n()&&t.editor.setEditMode(i)}),o=t.block.onSelectionChanged(()=>{n()?t.editor.setEditMode(i):t.editor.setEditMode("Transform")});n()&&t.editor.setEditMode(i);let l=!1;return()=>{l||(o(),a(),t.editor.setEditMode("Transform"),l=!0)}}var Iz=xz,Cz=class e1{constructor(){this.actions=new Map}static get(){let t="__imgly_callbacks_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new e1),r[t]}register(t,r){let i=this.actions.get(t)??{};this.actions.set(t,{...i,...r})}get(t){return this.actions.get(t)??{}}},$e=Cz;function Az(e){return async(t,r)=>{let i=r?.blockIds??e.blockIds;if(e.providerInitializationResult==null)return e.debug&&console.warn("[Generate] No provider initialization result found for quick action. Returning abortion status."),{status:"aborted"};let n=e.providerInitializationResult?.provider.input?.quickActions?.supported?.[e.quickAction.id];if(n==null)throw new Error("[Generate] Quick action input mapping failed. Ensure the provider supports this quick action.");let a=typeof n=="object"&&n!==null&&"mapInput"in n?n.mapInput:c=>c;e.close();let o=new AbortController,l=AbortSignal.any([e.abortSignal,o.signal].filter(Cn)),u=new Sp(e.cesdk.engine,Xp),s=e.lock??!0?Iz({engine:e.cesdk.engine,editModeToLockTo:An,blockIdsToLock:i}):()=>{};i.forEach(c=>{$e.get().register(c,{onCancelGeneration:()=>{o.abort(Jp),s(),e.cesdk.engine.block.isValid(c)&&(e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"}),u.clear(c))}})}),i?.forEach(c=>{u.set(c,{status:"processing",quickActionId:e.quickAction.id})}),i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Pending",progress:0})});try{let c=await e.providerInitializationResult.generate(a(t),{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:l}),d=c.status;switch(d){case"success":{let{applyCallbacks:p}=await kz(c,{kind:e.providerInitializationResult.provider.kind,blockIds:i,cesdk:e.cesdk,abortSignal:l});if(i.forEach(y=>{e.cesdk.engine.block.isValid(y)&&e.cesdk.engine.block.setState(y,{type:"Ready"})}),e.confirmation){i.forEach(g=>{u.set(g,{status:"confirmation",quickActionId:e.quickAction.id})});let y={...p,onApply:async()=>{p.onApply(),s()},onCancel:()=>{p.onCancel(),s()}};i.forEach(g=>{$e.get().register(g,{applyCallbacks:y})})}else i.forEach(y=>{e.cesdk.engine.block.isValid(y)&&u.clear(y)}),p.onApply(),s();return c}case"aborted":return e.debug&&console.log("Generation was aborted"),s(),i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&u.clear(p)}),c;case"error":return s(),i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&u.clear(p)}),console.error(`[Generate]: ${c.message}`),c;default:throw new Error(`[Generate] Unknown result status ${d}.`)}}catch(c){throw e.cesdk.ui.showNotification({type:"error",message:"A technical issue has occurred."}),s(),i.forEach(d=>{e.cesdk.engine.block.isValid(d)&&u.clear(d)}),c}finally{i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"})})}}}var up=Az;function Mz(e){let t=`ly.img.ai.${e.kind}}`;e.cesdk.i18n.setTranslations({en:{[`${t}.quickActionMenu.providerSelect.label`]:"Provider"}});let r=i=>{if(i.engine.editor.getEditMode()===An)return;let n=i.engine.block.findAllSelected();if(n.length===0)return;let{payload:a}=i,o=yz({kind:e.kind,cesdk:e.cesdk,payload:a,defaultOrder:e.defaultOrder})??[];if(o.length===0)return;let l=jz(o).filter(h=>{if(h==="ly.img.separator")return!0;let f=h.scopes;if(f!=null&&f.length>0&&!n.every(x=>f.every(I=>e.engine.block.isAllowedByScope(x,I))))return!1;if(h.enable!=null){if(typeof h.enable=="function")return h.enable({engine:e.engine});if(typeof h.enable=="boolean")return h.enable}return!0}),u=[],s=e.providerInitializationResults.reduce((h,f)=>{if(f.provider.kind!==e.kind)return h;let x=l.map(I=>{if(I==="ly.img.separator")return I;if(f.provider.input?.quickActions?.supported?.[I.id]!=null)return{definition:I};{let C=Up.get().getAll().filter(A=>A.provider.kind!==e.kind&&A.provider.id!==f.provider.id).find(A=>A.provider.input?.quickActions?.supported?.[I.id]!=null);if(C!=null){let A={definition:I,providerInitializationResult:C};return u.push(A),A}else return}}).filter(Cn);return x=cz(x),x.length===0||x.every(I=>I==="ly.img.separator")||x.every(I=>I==="ly.img.separator"||I.providerInitializationResult!=null)||h.push({providerInitializationResult:f,quickActions:x}),h},[]);if(s.length===0)if(u.length>0){let h=new Map;u.forEach(x=>{let I=x.definition.id;h.has(I)||h.set(I,x)});let f=Array.from(h.values());s.push({providerInitializationResult:f[0].providerInitializationResult??e.providerInitializationResults[0],quickActions:f})}else return;let c=s.map(({providerInitializationResult:h})=>({id:h.provider.id,label:h.provider.name??h.provider.id})),d=i.experimental.global(`${t}.currentProvider`,c[0]),p=s.find(({providerInitializationResult:{provider:{id:h}}})=>h===d.value?.id),y=n.every(h=>i.engine.block.getState(h).type==="Ready"),{builder:g,experimental:b,state:v}=i,m=v(`${t}.isGenerating`,!1),w=v(`${t}.toggleExpandedState`,void 0),k=async(h,f,x)=>{m.setValue(!0);try{return await x(h,f)}finally{m.setValue(!1)}};b.builder.Popover(`${t}.popover`,{icon:"@imgly/Sparkle",variant:"plain",isDisabled:!y,isLoading:m.value,trailingIcon:null,children:({close:h})=>{if(w.value!==void 0){let f=p?.quickActions.find(I=>I!=="ly.img.separator"&&I.definition.id===w.value);if(f==null||f.definition.render==null)return;let x=s.filter(({quickActions:I})=>I.some(C=>C!=="ly.img.separator"&&C.definition.id===f.definition.id)).map(({providerInitializationResult:I})=>({id:I.provider.id,label:I.provider.name??I.provider.id}));x.length>1&&g.Section(`${t}.popover.expanded.header`,{children:()=>{g.Select(`${t}.expanded.providerSelect.select`,{inputLabel:`${t}.quickActionMenu.providerSelect.label`,values:x,...d})}}),g.Section(`${t}.popover.expanded.section`,{children:()=>f.definition.render({...i,toggleExpand:()=>{w.setValue(void 0)},isExpanded:!0,generate:up({blockIds:n,providerInitializationResult:f.providerInitializationResult??p?.providerInitializationResult,quickAction:f.definition,middlewares:[k],confirmation:f.definition.defaults?.confirmation??!0,lock:f.definition.defaults?.lock??!0,close:h,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:h,providerId:d.value.id})})}else c.length>1&&g.Section(`${t}.popover.header`,{children:()=>{g.Select(`${t}.providerSelect.select`,{inputLabel:`${t}.quickActionMenu.providerSelect.label`,values:c,...d})}}),g.Section(`${t}.popover.section`,{children:()=>{b.builder.Menu(`${t}.menu`,{children:()=>{p?.quickActions.forEach(f=>{if(f==="ly.img.separator"){g.Separator(`${t}.separator.${Math.random().toString()}`);return}f.definition.render!=null&&f.definition.render({...i,toggleExpand:()=>{w.setValue(f.definition.id)},isExpanded:!1,generate:up({blockIds:n,providerInitializationResult:f.providerInitializationResult??p?.providerInitializationResult,quickAction:f.definition,middlewares:[k],confirmation:f.definition.defaults?.confirmation??!0,close:h,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:h,providerId:d.value.id})})}})}})}})};return Promise.resolve(r)}function jz(e){return e.map(t=>t==="ly.img.separator"?t:Pp.get().getBy({id:t,type:"quick"})[0]).filter(Cn)}var Sz=Mz;async function _z(e){let t=await Sz({kind:e.kind,providerInitializationResults:e.providerInitializationResults,cesdk:e.cesdk,engine:e.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:e.defaultOrder}),r=await sz({kind:e.kind,cesdk:e.cesdk});return{renderFunction:i=>{let{engine:n}=i;if(n.editor.getEditMode()===An){let a=i.engine.block.findAllSelected();r({...i,payload:{...i.payload??{},applyCallbacks:{onBefore:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onBefore?.()})},onAfter:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onAfter?.()})},onCancel:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onCancel?.()})},onApply:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onApply?.()})}},onCancelGeneration:()=>{a.forEach(o=>{$e.get().get(o).onCancelGeneration?.()})}}});return}t(i)}}}var $z=_z,Ez=typeof global=="object"&&global&&global.Object===Object&&global,t1=Ez,Lz=typeof self=="object"&&self&&self.Object===Object&&self,Tz=t1||Lz||Function("return this")(),ee=Tz,Oz=ee.Symbol,zt=Oz,r1=Object.prototype,Nz=r1.hasOwnProperty,Dz=r1.toString,gi=zt?zt.toStringTag:void 0;function Pz(e){var t=Nz.call(e,gi),r=e[gi];try{e[gi]=void 0;var i=!0}catch{}var n=Dz.call(e);return i&&(t?e[gi]=r:delete e[gi]),n}var zz=Pz,Uz=Object.prototype,Rz=Uz.toString;function Fz(e){return Rz.call(e)}var Vz=Fz,Bz="[object Null]",Gz="[object Undefined]",cp=zt?zt.toStringTag:void 0;function qz(e){return e==null?e===void 0?Gz:Bz:cp&&cp in Object(e)?zz(e):Vz(e)}var Ai=qz;function Yz(e){return e!=null&&typeof e=="object"}var Fa=Yz,GJ=Array.isArray;function Hz(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var i1=Hz,Zz="[object AsyncFunction]",Qz="[object Function]",Wz="[object GeneratorFunction]",Kz="[object Proxy]";function Jz(e){if(!i1(e))return!1;var t=Ai(e);return t==Qz||t==Wz||t==Zz||t==Kz}var Xz=Jz,eU=ee["__core-js_shared__"],va=eU,dp=function(){var e=/[^.]+$/.exec(va&&va.keys&&va.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tU(e){return!!dp&&dp in e}var rU=tU,iU=Function.prototype,nU=iU.toString;function oU(e){if(e!=null){try{return nU.call(e)}catch{}try{return e+""}catch{}}return""}var Le=oU,aU=/[\\^$.*+?()[\]{}|]/g,lU=/^\[object .+?Constructor\]$/,sU=Function.prototype,uU=Object.prototype,cU=sU.toString,dU=uU.hasOwnProperty,pU=RegExp("^"+cU.call(dU).replace(aU,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gU(e){if(!i1(e)||rU(e))return!1;var t=Xz(e)?pU:lU;return t.test(Le(e))}var yU=gU;function fU(e,t){return e?.[t]}var mU=fU;function hU(e,t){var r=mU(e,t);return yU(r)?r:void 0}var Bt=hU,bU=Bt(ee,"WeakMap"),La=bU;function vU(e,t){return e===t||e!==e&&t!==t}var wU=vU,kU=9007199254740991;function xU(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kU}var IU=xU,qJ=Object.prototype,CU="[object Arguments]";function AU(e){return Fa(e)&&Ai(e)==CU}var pp=AU,n1=Object.prototype,MU=n1.hasOwnProperty,jU=n1.propertyIsEnumerable,YJ=pp(function(){return arguments}())?pp:function(e){return Fa(e)&&MU.call(e,"callee")&&!jU.call(e,"callee")},o1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,gp=o1&&typeof module=="object"&&module&&!module.nodeType&&module,SU=gp&&gp.exports===o1,yp=SU?ee.Buffer:void 0,HJ=yp?yp.isBuffer:void 0,_U="[object Arguments]",$U="[object Array]",EU="[object Boolean]",LU="[object Date]",TU="[object Error]",OU="[object Function]",NU="[object Map]",DU="[object Number]",PU="[object Object]",zU="[object RegExp]",UU="[object Set]",RU="[object String]",FU="[object WeakMap]",VU="[object ArrayBuffer]",BU="[object DataView]",GU="[object Float32Array]",qU="[object Float64Array]",YU="[object Int8Array]",HU="[object Int16Array]",ZU="[object Int32Array]",QU="[object Uint8Array]",WU="[object Uint8ClampedArray]",KU="[object Uint16Array]",JU="[object Uint32Array]",N={};N[GU]=N[qU]=N[YU]=N[HU]=N[ZU]=N[QU]=N[WU]=N[KU]=N[JU]=!0;N[_U]=N[$U]=N[VU]=N[EU]=N[BU]=N[LU]=N[TU]=N[OU]=N[NU]=N[DU]=N[PU]=N[zU]=N[UU]=N[RU]=N[FU]=!1;function XU(e){return Fa(e)&&IU(e.length)&&!!N[Ai(e)]}var eR=XU;function tR(e){return function(t){return e(t)}}var rR=tR,a1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,bi=a1&&typeof module=="object"&&module&&!module.nodeType&&module,iR=bi&&bi.exports===a1,wa=iR&&t1.process,nR=function(){try{var e=bi&&bi.require&&bi.require("util").types;return e||wa&&wa.binding&&wa.binding("util")}catch{}}(),fp=nR,mp=fp&&fp.isTypedArray,ZJ=mp?rR(mp):eR,oR=Object.prototype,QJ=oR.hasOwnProperty;function aR(e,t){return function(r){return e(t(r))}}var lR=aR,WJ=lR(Object.keys,Object),sR=Object.prototype,KJ=sR.hasOwnProperty,uR=Bt(Object,"create"),ki=uR;function cR(){this.__data__=ki?ki(null):{},this.size=0}var dR=cR;function pR(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var gR=pR,yR="__lodash_hash_undefined__",fR=Object.prototype,mR=fR.hasOwnProperty;function hR(e){var t=this.__data__;if(ki){var r=t[e];return r===yR?void 0:r}return mR.call(t,e)?t[e]:void 0}var bR=hR,vR=Object.prototype,wR=vR.hasOwnProperty;function kR(e){var t=this.__data__;return ki?t[e]!==void 0:wR.call(t,e)}var xR=kR,IR="__lodash_hash_undefined__";function CR(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ki&&t===void 0?IR:t,this}var AR=CR;function Gt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Gt.prototype.clear=dR;Gt.prototype.delete=gR;Gt.prototype.get=bR;Gt.prototype.has=xR;Gt.prototype.set=AR;var hp=Gt;function MR(){this.__data__=[],this.size=0}var jR=MR;function SR(e,t){for(var r=e.length;r--;)if(wU(e[r][0],t))return r;return-1}var Mn=SR,_R=Array.prototype,$R=_R.splice;function ER(e){var t=this.__data__,r=Mn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():$R.call(t,r,1),--this.size,!0}var LR=ER;function TR(e){var t=this.__data__,r=Mn(t,e);return r<0?void 0:t[r][1]}var OR=TR;function NR(e){return Mn(this.__data__,e)>-1}var DR=NR;function PR(e,t){var r=this.__data__,i=Mn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var zR=PR;function qt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}qt.prototype.clear=jR;qt.prototype.delete=LR;qt.prototype.get=OR;qt.prototype.has=DR;qt.prototype.set=zR;var jn=qt,UR=Bt(ee,"Map"),xi=UR;function RR(){this.size=0,this.__data__={hash:new hp,map:new(xi||jn),string:new hp}}var FR=RR;function VR(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var BR=VR;function GR(e,t){var r=e.__data__;return BR(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Sn=GR;function qR(e){var t=Sn(this,e).delete(e);return this.size-=t?1:0,t}var YR=qR;function HR(e){return Sn(this,e).get(e)}var ZR=HR;function QR(e){return Sn(this,e).has(e)}var WR=QR;function KR(e,t){var r=Sn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var JR=KR;function Yt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Yt.prototype.clear=FR;Yt.prototype.delete=YR;Yt.prototype.get=ZR;Yt.prototype.has=WR;Yt.prototype.set=JR;var l1=Yt;function XR(){this.__data__=new jn,this.size=0}var eF=XR;function tF(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var rF=tF;function iF(e){return this.__data__.get(e)}var nF=iF;function oF(e){return this.__data__.has(e)}var aF=oF,lF=200;function sF(e,t){var r=this.__data__;if(r instanceof jn){var i=r.__data__;if(!xi||i.length<lF-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new l1(i)}return r.set(e,t),this.size=r.size,this}var uF=sF;function Mi(e){var t=this.__data__=new jn(e);this.size=t.size}Mi.prototype.clear=eF;Mi.prototype.delete=rF;Mi.prototype.get=nF;Mi.prototype.has=aF;Mi.prototype.set=uF;var cF=Object.prototype,JJ=cF.propertyIsEnumerable,dF=Bt(ee,"DataView"),Ta=dF,pF=Bt(ee,"Promise"),Oa=pF,gF=Bt(ee,"Set"),Na=gF,bp="[object Map]",yF="[object Object]",vp="[object Promise]",wp="[object Set]",kp="[object WeakMap]",xp="[object DataView]",fF=Le(Ta),mF=Le(xi),hF=Le(Oa),bF=Le(Na),vF=Le(La),Nt=Ai;(Ta&&Nt(new Ta(new ArrayBuffer(1)))!=xp||xi&&Nt(new xi)!=bp||Oa&&Nt(Oa.resolve())!=vp||Na&&Nt(new Na)!=wp||La&&Nt(new La)!=kp)&&(Nt=function(e){var t=Ai(e),r=t==yF?e.constructor:void 0,i=r?Le(r):"";if(i)switch(i){case fF:return xp;case mF:return bp;case hF:return vp;case bF:return wp;case vF:return kp}return t});var XJ=ee.Uint8Array,wF="__lodash_hash_undefined__";function kF(e){return this.__data__.set(e,wF),this}var xF=kF;function IF(e){return this.__data__.has(e)}var CF=IF;function Da(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new l1;++t<r;)this.add(e[t])}Da.prototype.add=Da.prototype.push=xF;Da.prototype.has=CF;var Ip=zt?zt.prototype:void 0,eX=Ip?Ip.valueOf:void 0,AF=Object.prototype,tX=AF.hasOwnProperty,MF=Object.prototype,rX=MF.hasOwnProperty,iX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),nX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),oX=new RegExp(/[A-Fa-f0-9]{2}/,"g");function jF(e){return e==null?[]:Array.isArray(e)?e:[e]}var SF=jF;function _F(e){return`
|
|
414
|
+
`,mz=yz;function hz(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await _1(2e3),await bz(t,e,r)):i(t,r)}async function bz(e,t,r){switch(t.kind){case"image":return vz(e,t,r);case"video":return wz(e,t,r);case"text":return kz(e,t,r);case"audio":return Iz(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function vz(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,u=await hP(s,r),l=await ol(u,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
|
|
415
|
+
`,"+")}`}}async function wz(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function kz(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=hi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=hi(n,o)}else"customPrompt"in e?a=hi(n,"custom"):a=hi(n,"improved");else a=hi(n,"generated");return xz(a,r.abortSignal)}async function*xz(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await _1(100)}return{kind:"text",text:e}}function hi(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let c=u[l%u.length];if(s.length+c.length<=n)s+=c;else{s+=c.substring(0,n-s.length);break}l++}}return r+s}async function Iz(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:Cz(220,i),duration:i,thumbnailUrl:void 0}}function Cz(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return Az(i,44100)}function Az(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,u=44+s,l=new ArrayBuffer(u),c=new DataView(l),d=(y,h)=>{for(let b=0;b<h.length;b++)c.setUint8(y+b,h.charCodeAt(b))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,s,!0);let g=44;for(let y=0;y<r;y++){let h=Math.max(-1,Math.min(1,e[y])),b=Math.round(h*32767);c.setInt16(g,b,!0),g+=2}let p=new Uint8Array(l),f="";for(let y=0;y<p.length;y++)f+=String.fromCharCode(p[y]);return`data:audio/wav;base64,${btoa(f)}`}async function _1(e){return new Promise(t=>{setTimeout(t,e)})}var Mz=hz,E1="USER_CANCEL";function jz(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=vP([...e.provider.output.middleware??[],...r?.middlewares??[],kP({enable:r?.debug}),Mz({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:AP(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return gl(n)?{status:"aborted",message:n.message}:n===E1?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var Sz=jz;async function _z(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=pz(a),s=fz(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let u=Sz({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await cz(a,u);MP(r.cesdk,"@imgly/plugin-ai-generation",mz);let c={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:u};return h1.get().register(c),c}var Wa=_z;function Ez(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new bO(n,r,i);return r.engine.asset.addSource(a),a.id}var $z=Ez;function xi(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function Lz(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(Array.isArray(t)){let l=await Promise.all(t.map(c=>Wa(e,c,r,i)));o.push(...l),a=Oz({kind:e,prefix:e,providerInitializationResults:o})}else{let l=await Promise.all(t.fromText.map(d=>Wa(e,d,r,i)));o.push(...l);let c=await Promise.all(t.fromImage.map(d=>Wa(e,d,r,i)));o.push(...c),a=Tz({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:c})}let s=$z({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(qn)}),u;return s!=null&&(u=s,r.cesdk.ui.addAssetLibraryEntry({id:u,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:u},providerInitializationResults:o}}function Tz({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i}){let n=r.length>0&&i.length>0;return a=>{let{builder:o,experimental:s}=a,u=s.global(`${t}.fromType`,n?"fromText":void 0),l=[];u.value==="fromText"?l.push(...r):u.value==="fromImage"?l.push(...i):l.push(...r,...i);let c=r.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),d=i.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),g=a.experimental.global(`${t}.selectedProvider.fromText`,c[0]),p=a.experimental.global(`${t}.selectedProvider.fromImage`,d[0]),f=u.value==="fromText"?g:u.value==="fromImage"?p:void 0;if((n||l.length>1)&&o.Section(`${t}.providerSelection.section`,{children:()=>{if(n&&o.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:xi(e,"fromType.label"),children:()=>{o.Button(`${t}.fromType.buttonGroup.fromText`,{label:xi(e,"fromText.label"),icon:u.value!=="fromText"&&Dp(r,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromText",onClick:()=>{u.setValue("fromText")}}),o.Button(`${t}.fromType.buttonGroup.fromImage`,{label:xi(e,"fromImage.label"),icon:u.value!=="fromImage"&&Dp(i,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromImage",onClick:()=>{u.setValue("fromImage")}})}}),l.length>1){let y=u.value==="fromText"?c:u.value==="fromImage"?d:[...c,...d];f!=null&&o.Select(`${t}.providerSelect.select`,{inputLabel:xi(e,"providerSelect.label"),values:y,...f})}}}),l.length>1)f?.value.builderRenderFunction?.(a);else{let y=l[0];y&&y.panel?.builderRenderFunction?.(a)}}}function Oz({kind:e,prefix:t,providerInitializationResults:r}){return i=>{let{builder:n}=i;if(r.length===0)return;let a=r.map(({provider:s,panel:u})=>({id:s.id,label:s.name??s.id,builderRenderFunction:u?.builderRenderFunction})),o=i.state(`${t}.selectedProvider`,a[0]);r.length>1&&o!=null&&n.Section(`${t}.providerSelection.section`,{children:()=>{n.Select(`${t}.providerSelect.select`,{inputLabel:xi(e,"providerSelect.label"),values:a,...o})}}),o.value.builderRenderFunction?.(i)}}function Dp(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(yl(r.id),!1).value)}var Nz=Lz,Yn="ly.img.ai.editMode",$1="ly.img.ai.metadata";async function Dz(e){let t=`ly.img.ai.${e.kind}.confirmation`;e.cesdk?.i18n.setTranslations({en:{"ly.img.ai.processing":"Generating...",[`${t}.cancel`]:"Cancel Generation",[`${t}.apply`]:"Apply Generation",[`${t}.before`]:"Before",[`${t}.after`]:"After"}});let r=i=>{let{engine:n,builder:a,state:o,payload:s}=i;if(s==null)return;let u=n.block.findAllSelected();if(u.length===0)return null;let l=new a1(n,$1),c=l.get(u[0]);if(c==null)return null;let d=()=>{u.forEach(g=>{l.clear(g)})};switch(c.status){case"processing":{a.Button(`${t}.spinner`,{label:[`ly.img.ai.${c.quickActionId}.processing`,"ly.img.ai.processing"],isLoading:!0}),a.Separator(`${t}.separator`),a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{s.onCancelGeneration?.(),d()}});break}case"confirmation":{let g=o(`${t}.comparing`,"after"),p=s.applyCallbacks?.onCancel;p!=null&&a.Button(`${t}.cancel`,{icon:"@imgly/Cross",tooltip:`${t}.cancel`,onClick:()=>{p(),d()}});let f=s.applyCallbacks?.onBefore,y=s.applyCallbacks?.onAfter;f!=null&&y!=null&&a.ButtonGroup(`${t}.compare`,{children:()=>{a.Button(`${t}.compare.before`,{label:`${t}.before`,variant:"regular",isActive:g.value==="before",onClick:()=>{f(),g.setValue("before")}}),a.Button(`${t}.compare.after`,{label:`${t}.after`,variant:"regular",isActive:g.value==="after",onClick:()=>{y(),g.setValue("after")}})}});let h=s.applyCallbacks?.onApply;h!=null&&a.Button(`${t}.apply`,{icon:"@imgly/Checkmark",tooltip:`${t}.apply`,color:"accent",isDisabled:g.value!=="after",onClick:()=>{d();let b=e.cesdk.engine.editor;typeof b._update=="function"&&b._update(),h()}});break}default:}};return Promise.resolve(r)}var Pz=Dz;function zz(e){if(e.length===0)return[];let t=[...e];for(;t.length>0&&t[0]==="ly.img.separator";)t.shift();for(;t.length>0&&t[t.length-1]==="ly.img.separator";)t.pop();return t.reduce((r,i)=>(i==="ly.img.separator"&&r.length>0&&r[r.length-1]==="ly.img.separator"||r.push(i),r),[])}var Uz=zz;function Rz(e){return`ly.img.ai.${e}.canvasMenu`}var Fz=Rz;function Vz(e){let{kind:t,cesdk:r,payload:i,defaultOrder:n}=e,a=Fz(t);if(i==null||!Array.isArray(i.children)){let o=r.ui.getCanvasMenuOrder().find(({id:s})=>s===a);return o!=null&&Array.isArray(o.children)?o.children:n??[]}return i.children.filter(o=>typeof o=="string")}var Bz=Vz;function Gz(e,t){if(t.blockIds.some(r=>!t.cesdk.engine.block.isValid(r)))return Promise.resolve({applyCallbacks:{onBefore:()=>{},onAfter:()=>{},onCancel:()=>{},onApply:()=>{}}});switch(t.kind){case"text":return qz(e,t);case"image":return Yz(e,t);case"video":return Hz(e,t);case"audio":return Zz(e,t);default:throw new Error(`Unsupported output kind for quick actions: ${t.kind}`)}}async function qz(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t,a=i.map(l=>r.engine.block.getString(l,"text/text")),o;if(e.type==="async"){let l="";for await(let c of e.output){if(n?.aborted)break;typeof c=="string"?l=c:c.kind==="text"&&(l=c.text),i.forEach(d=>{r.engine.block.setString(d,"text/text",l)}),o={kind:"text",text:l}}}else o=e.output;if(o==null||o.kind!=="text")throw new Error("Output kind from generation is not text");e.type==="sync"&&i.forEach(l=>{r.engine.block.setString(l,"text/text",o.text)});let s=()=>{t.blockIds.forEach(l=>{t.cesdk.engine.block.setString(l,"text/text",o.text)})},u=()=>{t.blockIds.forEach((l,c)=>{t.cesdk.engine.block.setString(l,"text/text",a[c])})};return{applyCallbacks:{onBefore:u,onAfter:s,onCancel:u,onApply:()=>{s(),t.cesdk.engine.editor.addUndoStep()}}}}async function Yz(e,t){let{cesdk:r,blockIds:i,abortSignal:n}=t;if(i.length!==1)throw new Error("Only one block is supported for image generation");let[a]=i,o=r.engine.block.getFill(a),s=r.engine.block.getSourceSet(o,"fill/image/sourceSet"),[u]=s,l;u==null&&(l=r.engine.block.getString(o,"fill/image/imageFileURI"));let c=await r.engine.editor.getMimeType(u?.uri??l),d=await ol(u?.uri??l,t.cesdk.engine),g=d.width/d.height;if(n?.throwIfAborted(),c==="image/svg+xml")throw new Error("SVG images are not supported");let p=r.engine.block.getCropScaleX(a),f=r.engine.block.getCropScaleY(a),y=r.engine.block.getCropTranslationX(a),h=r.engine.block.getCropTranslationY(a),b=r.engine.block.getCropRotation(a),I=()=>{r.engine.block.setCropScaleX(a,p),r.engine.block.setCropScaleY(a,f),r.engine.block.setCropTranslationX(a,y),r.engine.block.setCropTranslationY(a,h),r.engine.block.setCropRotation(a,b)};if(e.type==="async")throw new Error("Streaming generation is not supported yet from a panel");if(e.output.kind!=="image"||typeof e.output.url!="string")throw new Error("Output kind from generation is not an image");let x=e.output.url,w=await r.engine.editor.getMimeType(x),v=await Qz(r,x,w),k=await ol(v,t.cesdk.engine),m=k.width/k.height,A=Math.abs(g-m)>.001,C=u?[{uri:v,width:k.width,height:k.height}]:void 0,M=v;C==null?r.engine.block.setString(o,"fill/image/imageFileURI",M):(r.engine.block.setString(o,"fill/image/imageFileURI",""),r.engine.block.setSourceSet(o,"fill/image/sourceSet",C)),await r.engine.block.forceLoadResources([o]),A?r.engine.block.setContentFillMode(a,"Cover"):I();let j=()=>{if(s==null||s.length===0){if(l==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",l)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",s);I()},ur=()=>{if(C==null){if(M==null)throw new Error("No image URI found");r.engine.block.setString(o,"fill/image/imageFileURI",M)}else r.engine.block.setSourceSet(o,"fill/image/sourceSet",C);A?r.engine.block.setContentFillMode(a,"Cover"):I()};return{applyCallbacks:{onBefore:j,onAfter:ur,onCancel:()=>{j()},onApply:()=>{ur(),t.cesdk.engine.editor.addUndoStep()}}}}async function Hz(e,t){throw new Error("Function not implemented.")}async function Zz(e,t){throw new Error("Function not implemented.")}async function Qz(e,t,r){let i=await(await fetch(t)).blob(),n=new File([i],`image.${mP(r)}`,{type:r}),a=await e.unstable_upload(n,()=>{});return a?.meta?.uri??(console.warn("Failed to upload image:",a),t)}var Wz=Gz;function Kz(e){let{engine:t,blockIdsToLock:r,editModeToLockTo:i}=e;function n(){let u=t.block.findAllSelected();return r.some(l=>u.includes(l))}let a=t.editor.onStateChanged(()=>{t.editor.getEditMode()!==i&&n()&&t.editor.setEditMode(i)}),o=t.block.onSelectionChanged(()=>{n()?t.editor.setEditMode(i):t.editor.setEditMode("Transform")});n()&&t.editor.setEditMode(i);let s=!1;return()=>{s||(o(),a(),t.editor.setEditMode("Transform"),s=!0)}}var Jz=Kz,Xz=class L1{constructor(){this.actions=new Map}static get(){let t="__imgly_callbacks_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new L1),r[t]}register(t,r){let i=this.actions.get(t)??{};this.actions.set(t,{...i,...r})}get(t){return this.actions.get(t)??{}}},$e=Xz;function eU(e){return async(t,r)=>{let i=r?.blockIds??e.blockIds;if(e.providerInitializationResult==null)return e.debug&&console.warn("[Generate] No provider initialization result found for quick action. Returning abortion status."),{status:"aborted"};let n=e.providerInitializationResult?.provider.input?.quickActions?.supported?.[e.quickAction.id];if(n==null)throw new Error("[Generate] Quick action input mapping failed. Ensure the provider supports this quick action.");let a=typeof n=="object"&&n!==null&&"mapInput"in n?n.mapInput:c=>c;e.close();let o=new AbortController,s=AbortSignal.any([e.abortSignal,o.signal].filter(qn)),u=new a1(e.cesdk.engine,$1),l=e.lock??!0?Jz({engine:e.cesdk.engine,editModeToLockTo:Yn,blockIdsToLock:i}):()=>{};i.forEach(c=>{$e.get().register(c,{onCancelGeneration:()=>{o.abort(E1),l(),e.cesdk.engine.block.isValid(c)&&(e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"}),u.clear(c))}})}),i?.forEach(c=>{u.set(c,{status:"processing",quickActionId:e.quickAction.id})}),i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Pending",progress:0})});try{let c=await e.providerInitializationResult.generate(a(t),{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:s}),d=c.status;switch(d){case"success":{let{applyCallbacks:g}=await Wz(c,{kind:e.providerInitializationResult.provider.kind,blockIds:i,cesdk:e.cesdk,abortSignal:s});if(i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&e.cesdk.engine.block.setState(p,{type:"Ready"})}),e.confirmation){i.forEach(f=>{u.set(f,{status:"confirmation",quickActionId:e.quickAction.id})});let p={...g,onApply:async()=>{g.onApply(),l()},onCancel:()=>{g.onCancel(),l()}};i.forEach(f=>{$e.get().register(f,{applyCallbacks:p})})}else i.forEach(p=>{e.cesdk.engine.block.isValid(p)&&u.clear(p)}),g.onApply(),l();return c}case"aborted":return e.debug&&console.log("Generation was aborted"),l(),i.forEach(g=>{e.cesdk.engine.block.isValid(g)&&u.clear(g)}),c;case"error":return l(),i.forEach(g=>{e.cesdk.engine.block.isValid(g)&&u.clear(g)}),console.error(`[Generate]: ${c.message}`),c;default:throw new Error(`[Generate] Unknown result status ${d}.`)}}catch(c){throw e.cesdk.ui.showNotification({type:"error",message:"A technical issue has occurred."}),l(),i.forEach(d=>{e.cesdk.engine.block.isValid(d)&&u.clear(d)}),c}finally{i.forEach(c=>{e.cesdk.engine.block.isValid(c)&&e.cesdk.engine.block.setState(c,{type:"Ready"})})}}}var Pp=eU;function tU(e){let t=`ly.img.ai.${e.kind}}`;e.cesdk.i18n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.quickAction.providerSelect.label":"Provider"}});let r=i=>{if(i.engine.editor.getEditMode()===Yn)return;let n=i.engine.block.findAllSelected();if(n.length===0)return;let{payload:a}=i,o=Bz({kind:e.kind,cesdk:e.cesdk,payload:a,defaultOrder:e.defaultOrder})??[];if(o.length===0)return;let s=rU(o).filter(w=>{if(w==="ly.img.separator")return!0;let v=w.scopes;if(v!=null&&v.length>0&&!n.every(k=>v.every(m=>e.engine.block.isAllowedByScope(k,m))))return!1;if(w.enable!=null){if(typeof w.enable=="function")return w.enable({engine:e.engine});if(typeof w.enable=="boolean")return w.enable}return!0}),u=[],l=e.providerInitializationResults.reduce((w,v)=>{if(v.provider.kind!==e.kind)return w;let k=s.map(m=>{if(m==="ly.img.separator")return m;if(v.provider.input?.quickActions?.supported?.[m.id]!=null)return{definition:m};{let A=h1.get().getAll().filter(C=>C.provider.kind!==e.kind&&C.provider.id!==v.provider.id).find(C=>C.provider.input?.quickActions?.supported?.[m.id]!=null);if(A!=null){let C={definition:m,providerInitializationResult:A};return u.push(C),C}else return}}).filter(qn);return k=Uz(k),k.length===0||k.every(m=>m==="ly.img.separator")||k.every(m=>m==="ly.img.separator"||m.providerInitializationResult!=null)||w.push({providerInitializationResult:v,quickActions:k}),w},[]);if(l.length===0)if(u.length>0){let w=new Map;u.forEach(k=>{let m=k.definition.id;w.has(m)||w.set(m,k)});let v=Array.from(w.values());l.push({providerInitializationResult:v[0].providerInitializationResult??e.providerInitializationResults[0],quickActions:v})}else return;let c=l.map(({providerInitializationResult:w})=>({id:w.provider.id,label:w.provider.name??w.provider.id})),d=i.experimental.global(`${t}.currentProvider`,c[0]),g=l.find(({providerInitializationResult:{provider:{id:w}}})=>w===d.value?.id),p=n.every(w=>i.engine.block.getState(w).type==="Ready"),{builder:f,experimental:y,state:h}=i,b=h(`${t}.isGenerating`,!1),I=h(`${t}.toggleExpandedState`,void 0),x=async(w,v,k)=>{b.setValue(!0);try{return await k(w,v)}finally{b.setValue(!1)}};y.builder.Popover(`${t}.popover`,{icon:"@imgly/Sparkle",variant:"plain",isDisabled:!p,isLoading:b.value,trailingIcon:null,children:({close:w})=>{if(I.value!==void 0){let v=g?.quickActions.find(m=>m!=="ly.img.separator"&&m.definition.id===I.value);if(v==null||v.definition.render==null)return;let k=l.filter(({quickActions:m})=>m.some(A=>A!=="ly.img.separator"&&A.definition.id===v.definition.id)).map(({providerInitializationResult:m})=>({id:m.provider.id,label:m.provider.name??m.provider.id}));k.length>1&&f.Section(`${t}.popover.expanded.header`,{children:()=>{f.Select(`${t}.expanded.providerSelect.select`,{inputLabel:[`ly.img.plugin-ai-${e.kind}-generation-web.quickAction.providerSelect.label`,"ly.img.plugin-ai-generation-web.defaults.quickAction.providerSelect.label"],values:k,...d})}}),f.Section(`${t}.popover.expanded.section`,{children:()=>v.definition.render({...i,toggleExpand:()=>{I.setValue(void 0)},isExpanded:!0,generate:Pp({blockIds:n,providerInitializationResult:v.providerInitializationResult??g?.providerInitializationResult,quickAction:v.definition,middlewares:[x],confirmation:v.definition.defaults?.confirmation??!0,lock:v.definition.defaults?.lock??!0,close:w,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:w,providerId:d.value.id})})}else c.length>1&&f.Section(`${t}.popover.header`,{children:()=>{f.Select(`${t}.providerSelect.select`,{inputLabel:[`ly.img.plugin-ai-${e.kind}-generation-web.quickAction.providerSelect.label`,"ly.img.plugin-ai-generation-web.defaults.quickAction.providerSelect.label"],values:c,...d})}}),f.Section(`${t}.popover.section`,{children:()=>{y.builder.Menu(`${t}.menu`,{children:()=>{g?.quickActions.forEach(v=>{if(v==="ly.img.separator"){f.Separator(`${t}.separator.${Math.random().toString()}`);return}v.definition.render!=null&&v.definition.render({...i,toggleExpand:()=>{I.setValue(v.definition.id)},isExpanded:!1,generate:Pp({blockIds:n,providerInitializationResult:v.providerInitializationResult??g?.providerInitializationResult,quickAction:v.definition,middlewares:[x],confirmation:v.definition.defaults?.confirmation??!0,close:w,cesdk:e.cesdk,debug:e.debug,dryRun:e.dryRun}),close:w,providerId:d.value.id})})}})}})}})};return Promise.resolve(r)}function rU(e){return e.map(t=>t==="ly.img.separator"?t:y1.get().getBy({id:t,type:"quick"})[0]).filter(qn)}var iU=tU;async function nU(e){let t=await iU({kind:e.kind,providerInitializationResults:e.providerInitializationResults,cesdk:e.cesdk,engine:e.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:e.defaultOrder}),r=await Pz({kind:e.kind,cesdk:e.cesdk});return{renderFunction:i=>{let{engine:n}=i;if(n.editor.getEditMode()===Yn){let a=i.engine.block.findAllSelected();r({...i,payload:{...i.payload??{},applyCallbacks:{onBefore:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onBefore?.()})},onAfter:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onAfter?.()})},onCancel:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onCancel?.()})},onApply:()=>{a.forEach(o=>{$e.get().get(o).applyCallbacks?.onApply?.()})}},onCancelGeneration:()=>{a.forEach(o=>{$e.get().get(o).onCancelGeneration?.()})}}});return}t(i)}}}var oU=nU,aU=typeof global=="object"&&global&&global.Object===Object&&global,T1=aU,lU=typeof self=="object"&&self&&self.Object===Object&&self,sU=T1||lU||Function("return this")(),X=sU,uU=X.Symbol,Ft=uU,O1=Object.prototype,cU=O1.hasOwnProperty,dU=O1.toString,bi=Ft?Ft.toStringTag:void 0;function pU(e){var t=cU.call(e,bi),r=e[bi];try{e[bi]=void 0;var i=!0}catch{}var n=dU.call(e);return i&&(t?e[bi]=r:delete e[bi]),n}var gU=pU,fU=Object.prototype,yU=fU.toString;function mU(e){return yU.call(e)}var hU=mU,bU="[object Null]",vU="[object Undefined]",zp=Ft?Ft.toStringTag:void 0;function wU(e){return e==null?e===void 0?vU:bU:zp&&zp in Object(e)?gU(e):hU(e)}var $i=wU;function kU(e){return e!=null&&typeof e=="object"}var ml=kU,LX=Array.isArray;function xU(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var N1=xU,IU="[object AsyncFunction]",CU="[object Function]",AU="[object GeneratorFunction]",MU="[object Proxy]";function jU(e){if(!N1(e))return!1;var t=$i(e);return t==CU||t==AU||t==IU||t==MU}var SU=jU,_U=X["__core-js_shared__"],Ka=_U,Up=function(){var e=/[^.]+$/.exec(Ka&&Ka.keys&&Ka.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function EU(e){return!!Up&&Up in e}var $U=EU,LU=Function.prototype,TU=LU.toString;function OU(e){if(e!=null){try{return TU.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=OU,NU=/[\\^$.*+?()[\]{}|]/g,DU=/^\[object .+?Constructor\]$/,PU=Function.prototype,zU=Object.prototype,UU=PU.toString,RU=zU.hasOwnProperty,FU=RegExp("^"+UU.call(RU).replace(NU,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VU(e){if(!N1(e)||$U(e))return!1;var t=SU(e)?FU:DU;return t.test(Oe(e))}var BU=VU;function GU(e,t){return e?.[t]}var qU=GU;function YU(e,t){var r=qU(e,t);return BU(r)?r:void 0}var Yt=YU,HU=Yt(X,"WeakMap"),ll=HU;function ZU(e,t){return e===t||e!==e&&t!==t}var QU=ZU,WU=9007199254740991;function KU(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=WU}var JU=KU,TX=Object.prototype,XU="[object Arguments]";function eR(e){return ml(e)&&$i(e)==XU}var Rp=eR,D1=Object.prototype,tR=D1.hasOwnProperty,rR=D1.propertyIsEnumerable,OX=Rp(function(){return arguments}())?Rp:function(e){return ml(e)&&tR.call(e,"callee")&&!rR.call(e,"callee")},P1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Fp=P1&&typeof module=="object"&&module&&!module.nodeType&&module,iR=Fp&&Fp.exports===P1,Vp=iR?X.Buffer:void 0,NX=Vp?Vp.isBuffer:void 0,nR="[object Arguments]",oR="[object Array]",aR="[object Boolean]",lR="[object Date]",sR="[object Error]",uR="[object Function]",cR="[object Map]",dR="[object Number]",pR="[object Object]",gR="[object RegExp]",fR="[object Set]",yR="[object String]",mR="[object WeakMap]",hR="[object ArrayBuffer]",bR="[object DataView]",vR="[object Float32Array]",wR="[object Float64Array]",kR="[object Int8Array]",xR="[object Int16Array]",IR="[object Int32Array]",CR="[object Uint8Array]",AR="[object Uint8ClampedArray]",MR="[object Uint16Array]",jR="[object Uint32Array]",P={};P[vR]=P[wR]=P[kR]=P[xR]=P[IR]=P[CR]=P[AR]=P[MR]=P[jR]=!0;P[nR]=P[oR]=P[hR]=P[aR]=P[bR]=P[lR]=P[sR]=P[uR]=P[cR]=P[dR]=P[pR]=P[gR]=P[fR]=P[yR]=P[mR]=!1;function SR(e){return ml(e)&&JU(e.length)&&!!P[$i(e)]}var _R=SR;function ER(e){return function(t){return e(t)}}var $R=ER,z1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ci=z1&&typeof module=="object"&&module&&!module.nodeType&&module,LR=Ci&&Ci.exports===z1,Ja=LR&&T1.process,TR=function(){try{var e=Ci&&Ci.require&&Ci.require("util").types;return e||Ja&&Ja.binding&&Ja.binding("util")}catch{}}(),Bp=TR,Gp=Bp&&Bp.isTypedArray,DX=Gp?$R(Gp):_R,OR=Object.prototype,PX=OR.hasOwnProperty;function NR(e,t){return function(r){return e(t(r))}}var DR=NR,zX=DR(Object.keys,Object),PR=Object.prototype,UX=PR.hasOwnProperty,zR=Yt(Object,"create"),ji=zR;function UR(){this.__data__=ji?ji(null):{},this.size=0}var RR=UR;function FR(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var VR=FR,BR="__lodash_hash_undefined__",GR=Object.prototype,qR=GR.hasOwnProperty;function YR(e){var t=this.__data__;if(ji){var r=t[e];return r===BR?void 0:r}return qR.call(t,e)?t[e]:void 0}var HR=YR,ZR=Object.prototype,QR=ZR.hasOwnProperty;function WR(e){var t=this.__data__;return ji?t[e]!==void 0:QR.call(t,e)}var KR=WR,JR="__lodash_hash_undefined__";function XR(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ji&&t===void 0?JR:t,this}var eF=XR;function Ht(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Ht.prototype.clear=RR;Ht.prototype.delete=VR;Ht.prototype.get=HR;Ht.prototype.has=KR;Ht.prototype.set=eF;var qp=Ht;function tF(){this.__data__=[],this.size=0}var rF=tF;function iF(e,t){for(var r=e.length;r--;)if(QU(e[r][0],t))return r;return-1}var Hn=iF,nF=Array.prototype,oF=nF.splice;function aF(e){var t=this.__data__,r=Hn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():oF.call(t,r,1),--this.size,!0}var lF=aF;function sF(e){var t=this.__data__,r=Hn(t,e);return r<0?void 0:t[r][1]}var uF=sF;function cF(e){return Hn(this.__data__,e)>-1}var dF=cF;function pF(e,t){var r=this.__data__,i=Hn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var gF=pF;function Zt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Zt.prototype.clear=rF;Zt.prototype.delete=lF;Zt.prototype.get=uF;Zt.prototype.has=dF;Zt.prototype.set=gF;var Zn=Zt,fF=Yt(X,"Map"),Si=fF;function yF(){this.size=0,this.__data__={hash:new qp,map:new(Si||Zn),string:new qp}}var mF=yF;function hF(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var bF=hF;function vF(e,t){var r=e.__data__;return bF(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Qn=vF;function wF(e){var t=Qn(this,e).delete(e);return this.size-=t?1:0,t}var kF=wF;function xF(e){return Qn(this,e).get(e)}var IF=xF;function CF(e){return Qn(this,e).has(e)}var AF=CF;function MF(e,t){var r=Qn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var jF=MF;function Qt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Qt.prototype.clear=mF;Qt.prototype.delete=kF;Qt.prototype.get=IF;Qt.prototype.has=AF;Qt.prototype.set=jF;var U1=Qt;function SF(){this.__data__=new Zn,this.size=0}var _F=SF;function EF(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var $F=EF;function LF(e){return this.__data__.get(e)}var TF=LF;function OF(e){return this.__data__.has(e)}var NF=OF,DF=200;function PF(e,t){var r=this.__data__;if(r instanceof Zn){var i=r.__data__;if(!Si||i.length<DF-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new U1(i)}return r.set(e,t),this.size=r.size,this}var zF=PF;function Li(e){var t=this.__data__=new Zn(e);this.size=t.size}Li.prototype.clear=_F;Li.prototype.delete=$F;Li.prototype.get=TF;Li.prototype.has=NF;Li.prototype.set=zF;var UF=Object.prototype,RX=UF.propertyIsEnumerable,RF=Yt(X,"DataView"),sl=RF,FF=Yt(X,"Promise"),ul=FF,VF=Yt(X,"Set"),cl=VF,Yp="[object Map]",BF="[object Object]",Hp="[object Promise]",Zp="[object Set]",Qp="[object WeakMap]",Wp="[object DataView]",GF=Oe(sl),qF=Oe(Si),YF=Oe(ul),HF=Oe(cl),ZF=Oe(ll),zt=$i;(sl&&zt(new sl(new ArrayBuffer(1)))!=Wp||Si&&zt(new Si)!=Yp||ul&&zt(ul.resolve())!=Hp||cl&&zt(new cl)!=Zp||ll&&zt(new ll)!=Qp)&&(zt=function(e){var t=$i(e),r=t==BF?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case GF:return Wp;case qF:return Yp;case YF:return Hp;case HF:return Zp;case ZF:return Qp}return t});var FX=X.Uint8Array,QF="__lodash_hash_undefined__";function WF(e){return this.__data__.set(e,QF),this}var KF=WF;function JF(e){return this.__data__.has(e)}var XF=JF;function dl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new U1;++t<r;)this.add(e[t])}dl.prototype.add=dl.prototype.push=KF;dl.prototype.has=XF;var Kp=Ft?Ft.prototype:void 0,VX=Kp?Kp.valueOf:void 0,eV=Object.prototype,BX=eV.hasOwnProperty,tV=Object.prototype,GX=tV.hasOwnProperty,qX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),YX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),HX=new RegExp(/[A-Fa-f0-9]{2}/,"g");function rV(e){return e==null?[]:Array.isArray(e)?e:[e]}var iV=rV;function nV(e){return`
|
|
416
416
|
You are an AI writing assistant tasked with improving a given text based on a specific type of improvement requested. Your goal is to enhance the text while maintaining its original meaning and intent.
|
|
417
417
|
|
|
418
418
|
Here is the original text you will be working with:
|
|
@@ -436,7 +436,7 @@ Please follow these steps to improve the text:
|
|
|
436
436
|
7. If you cannot make any meaningful improvements, return the original text as is.
|
|
437
437
|
|
|
438
438
|
Once you have made the improvements, only return the improved text and nothing else.
|
|
439
|
-
`}var
|
|
439
|
+
`}var oV=nV,Wn="improve",Jp=`ly.img.${Wn}`,aV=`ly.img.plugin-ai-text-generation-web.quickAction.${Wn}`,lV=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Wn}`;function sV(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Wn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var uV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${lV}`]:"Improve Writing"}}),{id:Jp,type:"quick",kind:"text",scopes:["text/edit"],label:`${aV}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${Jp}.button`,{label:sV(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=i.block.getString(o,"text/text");await r({prompt:oV(s)}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to improve text. Please try again.",duration:"medium"})}}})}}),cV=uV;function dV(e){return`
|
|
440
440
|
You are tasked with fixing spelling and grammar errors in a given text. Your goal is to improve the text while maintaining its original meaning and style. Here is the text you need to correct:
|
|
441
441
|
|
|
442
442
|
<original_text>
|
|
@@ -466,7 +466,7 @@ Please follow these steps to complete the task:
|
|
|
466
466
|
After making the necessary corrections, please provide only the improved output and nothing else.
|
|
467
467
|
|
|
468
468
|
Remember to preserve the original structure and formatting of the text as much as possible while making your corrections.
|
|
469
|
-
`}var
|
|
469
|
+
`}var pV=dV,Kn="fix",Xp=`ly.img.${Kn}`,gV=`ly.img.plugin-ai-text-generation-web.quickAction.${Kn}`,fV=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Kn}`;function yV(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Kn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var mV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${fV}`]:"Fix Spelling & Grammar"}}),{id:Xp,type:"quick",kind:"text",scopes:["text/edit"],label:`${gV}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${Xp}.button`,{label:yV(a),icon:"@imgly/CheckmarkAll",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=i.block.getString(o,"text/text");await r({prompt:pV(s)}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to fix text. Please try again.",duration:"medium"})}}})}}),hV=mV;function bV(e){return`
|
|
470
470
|
You will be given a text to shorten. Your task is to reduce the length of the text by 30% to 50% while maintaining its original voice, perspective, and key information. This is not a summary - you should preserve the style and tone of the original text.
|
|
471
471
|
|
|
472
472
|
Here is the original text:
|
|
@@ -497,7 +497,7 @@ To complete this task, follow these steps:
|
|
|
497
497
|
6. Once you've finished shortening, review the text to ensure it still reads smoothly and retains the essence of the original.
|
|
498
498
|
|
|
499
499
|
Provide only the shortened version of the text in your response, without any additional comments, tags or explanations.
|
|
500
|
-
`}var
|
|
500
|
+
`}var vV=bV,Jn="shorter",e1=`ly.img.${Jn}`,wV=`ly.img.plugin-ai-text-generation-web.quickAction.${Jn}`,kV=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Jn}`;function xV(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Jn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var IV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${kV}`]:"Make Shorter"}}),{id:e1,type:"quick",kind:"text",scopes:["text/edit"],label:`${wV}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${e1}.button`,{label:xV(a),icon:"@imgly/TextShorter",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=i.block.getString(o,"text/text");await r({prompt:vV(s)}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to make text shorter. Please try again.",duration:"medium"})}}})}}),CV=IV;function AV(e){return`
|
|
501
501
|
You are tasked with expanding a given text to make it longer. Here's how to proceed:
|
|
502
502
|
|
|
503
503
|
First, you will be provided with the original text:
|
|
@@ -531,7 +531,7 @@ Only return the longer text and nothing else.
|
|
|
531
531
|
Make sure to only return the expanded text and nothing else. Do not include any additional information or comments in your response about what you have done.
|
|
532
532
|
|
|
533
533
|
Do not add the original text or the original_text tags to the response.
|
|
534
|
-
`}var
|
|
534
|
+
`}var MV=AV,Xn="longer",t1=`ly.img.${Xn}`,jV=`ly.img.plugin-ai-text-generation-web.quickAction.${Xn}`,SV=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Xn}`;function _V(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Xn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var EV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${SV}`]:"Make Longer"}}),{id:t1,type:"quick",kind:"text",scopes:["text/edit"],label:`${jV}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,generate:r,engine:i,close:n,providerId:a})=>{t.Button(`${t1}.button`,{label:_V(a),icon:"@imgly/TextLonger",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=i.block.getString(o,"text/text");await r({prompt:MV(s)}),n()}catch(o){console.error("Generation error:",o),e.ui.showNotification({type:"error",message:o.message||"Failed to make text longer. Please try again.",duration:"medium"})}}})}}),$V=EV;function LV(e,t){return`
|
|
535
535
|
You will be given a piece of text and a desired tone. Your task is to rewrite the text to match the desired tone while preserving the original meaning and key information. Here's how to proceed:
|
|
536
536
|
|
|
537
537
|
First, you will be provided with the original text:
|
|
@@ -553,7 +553,7 @@ To change the tone of the text:
|
|
|
553
553
|
6. Only return the rewritten text without any additional commentary, tags or explanation.
|
|
554
554
|
|
|
555
555
|
Now, rewrite the text to match the desired tone. Your response should contain only the rewritten text, without any additional explanations or comments. Do not use any tags in your response.
|
|
556
|
-
`}var
|
|
556
|
+
`}var TV=LV,eo="changeTone",vi=`ly.img.${eo}`,OV=`ly.img.plugin-ai-text-generation-web.quickAction.${eo}`,Ee=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${eo}`;function r1(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${eo}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var NV=[{id:"professional"},{id:"casual"},{id:"friendly"},{id:"serious"},{id:"humorous"},{id:"optimistic"}],DV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${Ee}`]:"Change Tone",[`${Ee}.professional`]:"Professional",[`${Ee}.casual`]:"Casual",[`${Ee}.friendly`]:"Friendly",[`${Ee}.serious`]:"Serious",[`${Ee}.humorous`]:"Humorous",[`${Ee}.optimistic`]:"Optimistic"}}),{id:vi,type:"quick",kind:"text",scopes:["text/edit"],label:`${OV}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,generate:r,engine:i,close:n,experimental:a,providerId:o})=>{a.builder.Popover(`${vi}.popover`,{label:r1(o),icon:"@imgly/Microphone",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${vi}.popover.section`,{children:()=>{a.builder.Menu(`${vi}.popover.menu`,{children:()=>{NV.forEach(s=>{t.Button(`${vi}.popover.menu.${s.id}`,{label:r1(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{n();let[u]=i.block.findAllSelected(),l=i.block.getString(u,"text/text");await r({prompt:TV(l,s.id),type:s.id})}catch(u){console.error("Generation error:",u),e.ui.showNotification({type:"error",message:u.message||"Failed to change tone. Please try again.",duration:"medium"})}}})})}})}})}})}}),PV=DV,R1={en_US:"English (US)",en_UK:"English (UK)",es:"Spanish",fr:"French",de:"German",pt:"Portuguese",it:"Italian",ru:"Russian",zh:"Mandarin Chinese",ja:"Japanese"},zV=Object.keys(R1);function UV(e,t){let r=R1[t]||t;return`
|
|
557
557
|
You are a translation AI. Your task is to translate the given text into the specified target language. Follow these steps:
|
|
558
558
|
|
|
559
559
|
1. Here is the source text to be translated:
|
|
@@ -569,7 +569,7 @@ ${r}
|
|
|
569
569
|
3. Translate the source text into the target language. Ensure that you maintain the original meaning, tone, and style as closely as possible while adapting to the linguistic and cultural norms of the target language.
|
|
570
570
|
|
|
571
571
|
4. Return only the translated text, without any additional comments, explanations, or metadata. Do not include the original text or any other information in your response.
|
|
572
|
-
`}var
|
|
572
|
+
`}var RV=UV,to="translate",wi=`ly.img.${to}`,FV=`ly.img.plugin-ai-text-generation-web.quickAction.${to}`,V=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${to}`;function i1(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${to}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var VV=zV.map(e=>({id:e})),BV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${V}`]:"Translate",[`${V}.en_US`]:"English (US)",[`${V}.en_UK`]:"English (UK)",[`${V}.es`]:"Spanish",[`${V}.fr`]:"French",[`${V}.de`]:"German",[`${V}.pt`]:"Portuguese",[`${V}.it`]:"Italian",[`${V}.ru`]:"Russian",[`${V}.zh`]:"Mandarin Chinese",[`${V}.ja`]:"Japanese"}}),{id:wi,type:"quick",kind:"text",scopes:["text/edit"],label:`${FV}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,generate:r,engine:i,close:n,experimental:a,providerId:o})=>{a.builder.Popover(`${wi}.popover`,{label:i1(o),icon:"@imgly/Language",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${wi}.popover.section`,{children:()=>{a.builder.Menu(`${wi}.popover.menu`,{children:()=>{VV.forEach(s=>{t.Button(`${wi}.popover.menu.${s.id}`,{label:i1(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{n();let[u]=i.block.findAllSelected(),l=i.block.getString(u,"text/text");await r({prompt:RV(l,s.id),language:s.id})}catch(u){console.error("Generation error:",u),e.ui.showNotification({type:"error",message:u.message||"Failed to translate text. Please try again.",duration:"medium"})}}})})}})}})}})}}),GV=BV;function qV(e,t){return`
|
|
573
573
|
You will be given an original text and a custom prompt addition that specifies how to change the text. Your task is to modify the original text according to the prompt and return only the new, modified text.
|
|
574
574
|
|
|
575
575
|
Here is the original text:
|
|
@@ -583,10 +583,10 @@ ${t}
|
|
|
583
583
|
</change_text_to>
|
|
584
584
|
|
|
585
585
|
Please modify the original text according to the "Change Text to..." prompt. Only return the new, modified text without any additional commentary or explanation. Your entire response should be the modified text itself, with no other content.
|
|
586
|
-
`}var iV=rV,y1="changeTextTo",ge=`ly.img.${y1}`,_e=`ly.img.plugin-ai-text-generation-web.quickAction.${y1}`,nV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${_e}`]:"Change Text to...",[`${_e}.prompt`]:"Change Text to...",[`${_e}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:ge,type:"quick",kind:"text",scopes:["text/edit"],label:`${_e}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:l,close:u})=>{if(i){let s=l(`${ge}.prompt`,"");t.TextArea(`${ge}.prompt`,{inputLabel:`${_e}.prompt`,placeholder:`${_e}.prompt.placeholder`,...s}),t.Separator(`${ge}.separator`),r.builder.ButtonRow(`${ge}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ge}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ge}.footer.apply`,{label:"common.apply",icon:"@imgly/MagicWand",color:"accent",isDisabled:s.value.length===0,onClick:async()=>{try{let c=s.value;if(!c)return;let[d]=o.block.findAllSelected(),p=o.block.getString(d,"text/text");await a({prompt:iV(p,c),customPrompt:c}),n(),u()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to change text. Please try again.",duration:"medium"})}}})}})}else t.Button(`${ge}.button`,{label:`${_e}`,icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),oV=nV,f1="@imgly/plugin-ai-text-generation-web",aV=["ly.img.improve","ly.img.fix","ly.img.shorter","ly.img.longer","ly.img.separator","ly.img.changeTone","ly.img.translate","ly.img.separator","ly.img.changeTextTo"];function lV(e){return{async initialize({cesdk:t}){if(t==null)return;JD(t,f1,"0.2.4"),t.ui.addIconSet(zT,RT),t.i18n.setTranslations({en:{"common.apply":"Apply","common.back":"Back"}}),sV(e);let r=Pp.get();r.register(LF({cesdk:t})),r.register(DF({cesdk:t})),r.register(RF({cesdk:t})),r.register(GF({cesdk:t})),r.register(QF({cesdk:t})),r.register(tV({cesdk:t})),r.register(oV({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(SF(i).map(l=>l({cesdk:t})));if(!(n.length>0))return;let a=await az("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await $z({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:aV});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:An}))}}}function sV(e){e.debug&&e.providers?.text2text!=null&&e.provider!=null&&console.warn("[TextGeneration]: Both `providers.text2text` and `provider` configuration is provided. Since `provider` is deprecated, only `providers.text2text` will be used.")}var uV=lV,cV=e=>({name:f1,version:"0.2.4",...uV(e)}),m1=cV;var dV=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,s)=>{let c=e.locale??"en",d="",p=[];s.label!=null&&typeof s.label=="object"&&s.label[c]&&(d=s.label[c]),s.tags!=null&&typeof s.tags=="object"&&s.tags[c]&&(p=s.tags[c]);let y={...s,label:d,tags:p};return this.filterAsset(y,e)&&u.push(y),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),l=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:l,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Qt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Qt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let l=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?l-u:u-l}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Qt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Qt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),l=e.label?.toLowerCase()??"",u=e.tags?.map(s=>s.toLowerCase())??[];if(!o.every(s=>l.includes(s)||u.some(c=>c.includes(s))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(l=>e.tags?.includes(l))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,l)=>{let u,s;return i==="id"?(u=o.id,s=l.id):(u=o.meta?.[i]??null,s=l.meta?.[i]??null),u==null?r==="Ascending"?-1:1:s==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof s=="string"?r==="Ascending"?u.localeCompare(s):s.localeCompare(u):r==="Ascending"?u<s?-1:u>s?1:0:u>s?-1:u<s?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,l)=>o.active&&!l.active?-1:!o.active&&l.active?1:0)),a}};function Qt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Qt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Qt(n,t,a)}return e}var pV=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let p=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,l=o+a,u=i.slice(o,l),s=l<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:s,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},gV=typeof global=="object"&&global&&global.Object===Object&&global,Z1=gV,yV=typeof self=="object"&&self&&self.Object===Object&&self,fV=Z1||yV||Function("return this")(),te=fV,mV=te.Symbol,Wt=mV,Q1=Object.prototype,hV=Q1.hasOwnProperty,bV=Q1.toString,ji=Wt?Wt.toStringTag:void 0;function vV(e){var t=hV.call(e,ji),r=e[ji];try{e[ji]=void 0;var i=!0}catch{}var n=bV.call(e);return i&&(t?e[ji]=r:delete e[ji]),n}var wV=vV,kV=Object.prototype,xV=kV.toString;function IV(e){return xV.call(e)}var CV=IV,AV="[object Null]",MV="[object Undefined]",h1=Wt?Wt.toStringTag:void 0;function jV(e){return e==null?e===void 0?MV:AV:h1&&h1 in Object(e)?wV(e):CV(e)}var Pi=jV;function SV(e){return e!=null&&typeof e=="object"}var al=SV,cX=Array.isArray;function _V(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var W1=_V,$V="[object AsyncFunction]",EV="[object Function]",LV="[object GeneratorFunction]",TV="[object Proxy]";function OV(e){if(!W1(e))return!1;var t=Pi(e);return t==EV||t==LV||t==$V||t==TV}var NV=OV,DV=te["__core-js_shared__"],Ba=DV,b1=function(){var e=/[^.]+$/.exec(Ba&&Ba.keys&&Ba.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function PV(e){return!!b1&&b1 in e}var zV=PV,UV=Function.prototype,RV=UV.toString;function FV(e){if(e!=null){try{return RV.call(e)}catch{}try{return e+""}catch{}}return""}var Te=FV,VV=/[\\^$.*+?()[\]{}|]/g,BV=/^\[object .+?Constructor\]$/,GV=Function.prototype,qV=Object.prototype,YV=GV.toString,HV=qV.hasOwnProperty,ZV=RegExp("^"+YV.call(HV).replace(VV,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function QV(e){if(!W1(e)||zV(e))return!1;var t=NV(e)?ZV:BV;return t.test(Te(e))}var WV=QV;function KV(e,t){return e?.[t]}var JV=KV;function XV(e,t){var r=JV(e,t);return WV(r)?r:void 0}var Jt=XV,eB=Jt(te,"WeakMap"),Wa=eB;function tB(e,t){return e===t||e!==e&&t!==t}var rB=tB,iB=9007199254740991;function nB(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=iB}var oB=nB,dX=Object.prototype,aB="[object Arguments]";function lB(e){return al(e)&&Pi(e)==aB}var v1=lB,K1=Object.prototype,sB=K1.hasOwnProperty,uB=K1.propertyIsEnumerable,pX=v1(function(){return arguments}())?v1:function(e){return al(e)&&sB.call(e,"callee")&&!uB.call(e,"callee")},J1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,w1=J1&&typeof module=="object"&&module&&!module.nodeType&&module,cB=w1&&w1.exports===J1,k1=cB?te.Buffer:void 0,gX=k1?k1.isBuffer:void 0,dB="[object Arguments]",pB="[object Array]",gB="[object Boolean]",yB="[object Date]",fB="[object Error]",mB="[object Function]",hB="[object Map]",bB="[object Number]",vB="[object Object]",wB="[object RegExp]",kB="[object Set]",xB="[object String]",IB="[object WeakMap]",CB="[object ArrayBuffer]",AB="[object DataView]",MB="[object Float32Array]",jB="[object Float64Array]",SB="[object Int8Array]",_B="[object Int16Array]",$B="[object Int32Array]",EB="[object Uint8Array]",LB="[object Uint8ClampedArray]",TB="[object Uint16Array]",OB="[object Uint32Array]",D={};D[MB]=D[jB]=D[SB]=D[_B]=D[$B]=D[EB]=D[LB]=D[TB]=D[OB]=!0;D[dB]=D[pB]=D[CB]=D[gB]=D[AB]=D[yB]=D[fB]=D[mB]=D[hB]=D[bB]=D[vB]=D[wB]=D[kB]=D[xB]=D[IB]=!1;function NB(e){return al(e)&&oB(e.length)&&!!D[Pi(e)]}var DB=NB;function PB(e){return function(t){return e(t)}}var zB=PB,X1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ei=X1&&typeof module=="object"&&module&&!module.nodeType&&module,UB=Ei&&Ei.exports===X1,Ga=UB&&Z1.process,RB=function(){try{var e=Ei&&Ei.require&&Ei.require("util").types;return e||Ga&&Ga.binding&&Ga.binding("util")}catch{}}(),x1=RB,I1=x1&&x1.isTypedArray,yX=I1?zB(I1):DB,FB=Object.prototype,fX=FB.hasOwnProperty;function VB(e,t){return function(r){return e(t(r))}}var BB=VB,mX=BB(Object.keys,Object),GB=Object.prototype,hX=GB.hasOwnProperty,qB=Jt(Object,"create"),Ti=qB;function YB(){this.__data__=Ti?Ti(null):{},this.size=0}var HB=YB;function ZB(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var QB=ZB,WB="__lodash_hash_undefined__",KB=Object.prototype,JB=KB.hasOwnProperty;function XB(e){var t=this.__data__;if(Ti){var r=t[e];return r===WB?void 0:r}return JB.call(t,e)?t[e]:void 0}var eG=XB,tG=Object.prototype,rG=tG.hasOwnProperty;function iG(e){var t=this.__data__;return Ti?t[e]!==void 0:rG.call(t,e)}var nG=iG,oG="__lodash_hash_undefined__";function aG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ti&&t===void 0?oG:t,this}var lG=aG;function Xt(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}Xt.prototype.clear=HB;Xt.prototype.delete=QB;Xt.prototype.get=eG;Xt.prototype.has=nG;Xt.prototype.set=lG;var C1=Xt;function sG(){this.__data__=[],this.size=0}var uG=sG;function cG(e,t){for(var r=e.length;r--;)if(rB(e[r][0],t))return r;return-1}var $n=cG,dG=Array.prototype,pG=dG.splice;function gG(e){var t=this.__data__,r=$n(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():pG.call(t,r,1),--this.size,!0}var yG=gG;function fG(e){var t=this.__data__,r=$n(t,e);return r<0?void 0:t[r][1]}var mG=fG;function hG(e){return $n(this.__data__,e)>-1}var bG=hG;function vG(e,t){var r=this.__data__,i=$n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var wG=vG;function er(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}er.prototype.clear=uG;er.prototype.delete=yG;er.prototype.get=mG;er.prototype.has=bG;er.prototype.set=wG;var En=er,kG=Jt(te,"Map"),Oi=kG;function xG(){this.size=0,this.__data__={hash:new C1,map:new(Oi||En),string:new C1}}var IG=xG;function CG(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var AG=CG;function MG(e,t){var r=e.__data__;return AG(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Ln=MG;function jG(e){var t=Ln(this,e).delete(e);return this.size-=t?1:0,t}var SG=jG;function _G(e){return Ln(this,e).get(e)}var $G=_G;function EG(e){return Ln(this,e).has(e)}var LG=EG;function TG(e,t){var r=Ln(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var OG=TG;function tr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}tr.prototype.clear=IG;tr.prototype.delete=SG;tr.prototype.get=$G;tr.prototype.has=LG;tr.prototype.set=OG;var eg=tr;function NG(){this.__data__=new En,this.size=0}var DG=NG;function PG(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var zG=PG;function UG(e){return this.__data__.get(e)}var RG=UG;function FG(e){return this.__data__.has(e)}var VG=FG,BG=200;function GG(e,t){var r=this.__data__;if(r instanceof En){var i=r.__data__;if(!Oi||i.length<BG-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new eg(i)}return r.set(e,t),this.size=r.size,this}var qG=GG;function zi(e){var t=this.__data__=new En(e);this.size=t.size}zi.prototype.clear=DG;zi.prototype.delete=zG;zi.prototype.get=RG;zi.prototype.has=VG;zi.prototype.set=qG;var YG=Object.prototype,bX=YG.propertyIsEnumerable,HG=Jt(te,"DataView"),Ka=HG,ZG=Jt(te,"Promise"),Ja=ZG,QG=Jt(te,"Set"),Xa=QG,A1="[object Map]",WG="[object Object]",M1="[object Promise]",j1="[object Set]",S1="[object WeakMap]",_1="[object DataView]",KG=Te(Ka),JG=Te(Oi),XG=Te(Ja),eq=Te(Xa),tq=Te(Wa),Ht=Pi;(Ka&&Ht(new Ka(new ArrayBuffer(1)))!=_1||Oi&&Ht(new Oi)!=A1||Ja&&Ht(Ja.resolve())!=M1||Xa&&Ht(new Xa)!=j1||Wa&&Ht(new Wa)!=S1)&&(Ht=function(e){var t=Pi(e),r=t==WG?e.constructor:void 0,i=r?Te(r):"";if(i)switch(i){case KG:return _1;case JG:return A1;case XG:return M1;case eq:return j1;case tq:return S1}return t});var vX=te.Uint8Array,rq="__lodash_hash_undefined__";function iq(e){return this.__data__.set(e,rq),this}var nq=iq;function oq(e){return this.__data__.has(e)}var aq=oq;function el(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new eg;++t<r;)this.add(e[t])}el.prototype.add=el.prototype.push=nq;el.prototype.has=aq;var $1=Wt?Wt.prototype:void 0,wX=$1?$1.valueOf:void 0,lq=Object.prototype,kX=lq.hasOwnProperty,sq=Object.prototype,xX=sq.hasOwnProperty,IX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),CX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),AX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function tg(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Blob([n],{type:r});return URL.createObjectURL(a)}else return e}async function uq(e,t){let r=await tg(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function cq(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return tg(i,t)}function dq(e){return e!==void 0}var pq=dq,gq=class rg{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new rg),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},yq=class ig{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new ig),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function fq(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=s=>{a.push(s)},l=async(s,c,d)=>{if(s>=t.length)return r(c,d);let p=t[s],y=async(b,v)=>l(s+1,b,v),g={...d,addDisposer:o};return p(c,g,y)},u={...n,addDisposer:o};return{result:await l(0,i,u),dispose:async()=>{for(let s=a.length-1;s>=0;s--)try{await a[s]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function mq({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var hq=mq,qa="ly.img.ai.temp";async function bq(e,t){return e.engine.asset.findAllSources().includes(qa)||e.engine.asset.addLocalSource(qa),e.engine.asset.apply(qa,t)}function vq(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function ng(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function wq(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let l=document.createElement("canvas");l.width=o.videoWidth,l.height=o.videoHeight;let u=l.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,l.width,l.height);try{let s=l.toDataURL(r,i);document.body.removeChild(o),n(s)}catch(s){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${s instanceof Error?s.message:String(s)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function kq(e){return e?e.replace(/[_-]/g," ").replace(/([A-Z])/g," $1").trim().split(" ").filter(t=>t.length>0).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" "):""}function xq(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function ll(e){return e instanceof Error&&e.name==="AbortError"}function Iq(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function Cq(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
586
|
+
`}var YV=qV,ro="changeTextTo",pe=`ly.img.${ro}`,n1=`ly.img.plugin-ai-text-generation-web.quickAction.${ro}`,o1=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${ro}`;function Xa(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${ro}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var HV=({cesdk:e})=>(e.i18n.setTranslations({en:{[`${o1}`]:"Change Text to...",[`${o1}.prompt`]:"Change Text to...",[`${n1}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:pe,type:"quick",kind:"text",scopes:["text/edit"],label:`${n1}`,enable:({engine:t})=>{let r=t.block.findAllSelected();if(r==null||r.length!==1)return!1;let[i]=r;return t.block.getType(i)==="//ly.img.ubq/text"},render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:u,providerId:l})=>{if(i){let c=s(`${pe}.prompt`,"");t.TextArea(`${pe}.prompt`,{inputLabel:Xa(l,"prompt"),placeholder:Xa(l,"prompt.placeholder")[1],...c}),t.Separator(`${pe}.separator`),r.builder.ButtonRow(`${pe}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${pe}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${pe}.footer.apply`,{label:"common.apply",icon:"@imgly/MagicWand",color:"accent",isDisabled:c.value.length===0,onClick:async()=>{try{let d=c.value;if(!d)return;let[g]=o.block.findAllSelected(),p=o.block.getString(g,"text/text");await a({prompt:YV(p,d),customPrompt:d}),n(),u()}catch(d){console.error("Generation error:",d),e.ui.showNotification({type:"error",message:d.message||"Failed to change text. Please try again.",duration:"medium"})}}})}})}else t.Button(`${pe}.button`,{label:Xa(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),ZV=HV,F1="@imgly/plugin-ai-text-generation-web",QV=["ly.img.improve","ly.img.fix","ly.img.shorter","ly.img.longer","ly.img.separator","ly.img.changeTone","ly.img.translate","ly.img.separator","ly.img.changeTextTo"];function WV(e){return{async initialize({cesdk:t}){if(t==null)return;jP(t,F1,"0.2.5"),t.ui.addIconSet(fO,mO),t.i18n.setTranslations({en:{"common.apply":"Apply","common.back":"Back"}}),KV(e);let r=y1.get();r.register(cV({cesdk:t})),r.register(hV({cesdk:t})),r.register(CV({cesdk:t})),r.register($V({cesdk:t})),r.register(PV({cesdk:t})),r.register(GV({cesdk:t})),r.register(ZV({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(iV(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await Nz("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await oU({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:QV});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:Yn}))}}}function KV(e){e.debug&&e.providers?.text2text!=null&&e.provider!=null&&console.warn("[TextGeneration]: Both `providers.text2text` and `provider` configuration is provided. Since `provider` is deprecated, only `providers.text2text` will be used.")}var JV=WV,XV=e=>({name:F1,version:"0.2.5",...JV(e)}),V1=XV;var eB=class{constructor(e,t,r){this.assetStoreName="assets",this.blobStoreName="blobs",this.db=null,this.id=e,this.engine=t,this.dbName=r?.dbName??`ly.img.assetSource/${e}`,this.dbVersion=r?.dbVersion??1}async initialize(){if(!this.db)return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onerror=i=>{t(new Error(`Failed to open IndexedDB: ${i.target.error}`))},r.onupgradeneeded=i=>{let n=i.target.result;n.objectStoreNames.contains(this.assetStoreName)||n.createObjectStore(this.assetStoreName,{keyPath:"id"}),n.objectStoreNames.contains(this.blobStoreName)||n.createObjectStore(this.blobStoreName,{keyPath:"id"})},r.onsuccess=i=>{this.db=i.target.result,e()}})}close(){this.db&&(this.db.close(),this.db=null)}async findAssets(e){if(await this.initialize(),!this.db)throw new Error("Database not initialized");try{let t=(await this.getAllAssets("asc")).reduce((u,l)=>{let c=e.locale??"en",d="",g=[];l.label!=null&&typeof l.label=="object"&&l.label[c]&&(d=l.label[c]),l.tags!=null&&typeof l.tags=="object"&&l.tags[c]&&(g=l.tags[c]);let p={...l,label:d,tags:g};return this.filterAsset(p,e)&&u.push(p),u},[]);t=await this.restoreBlobUrls(t),t=this.sortAssets(t,e);let{page:r,perPage:i}=e,n=r*i,a=n+i,o=t.slice(n,a),s=a<t.length?r+1:void 0;return{assets:o,currentPage:r,nextPage:s,total:t.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){if(await this.initialize(),!this.db)throw new Error("Database not initialized");return new Promise((e,t)=>{let r=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();r.onsuccess=()=>{let i=new Set;r.result.forEach(a=>{a.groups&&Array.isArray(a.groups)&&a.groups.forEach(o=>i.add(o))});let n=[...i];e(n)},r.onerror=()=>{t(new Error(`Failed to get groups: ${r.error}`))}})}addAsset(e){this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.assetStoreName,"readwrite"),r=t.objectStore(this.assetStoreName),i=new Set;Jt(e,a=>{i.add(a)}),setTimeout(()=>{this.storeBlobUrls([...i])});let n={...e,meta:{...e.meta,insertedAt:e.meta?.insertedAt||Date.now()}};r.put(n),t.onerror=()=>{console.error(`Failed to add asset: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async removeAsset(e){let t=await this.getAsset(e);return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.assetStoreName,"readwrite");r.objectStore(this.assetStoreName).delete(e),r.oncomplete=()=>{Jt(t,i=>{this.removeBlob(i)}),this.engine.asset.assetSourceContentsChanged(this.id)},r.onerror=()=>{console.error(`Failed to remove asset: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async removeBlob(e){return this.initialize().then(()=>{if(!this.db)throw new Error("Database not initialized");let t=this.db.transaction(this.blobStoreName,"readwrite");t.objectStore(this.blobStoreName).delete(e),t.onerror=()=>{console.error(`Failed to remove blob: ${t.error}`)}}).catch(t=>{console.error("Error initializing database:",t)})}async getAllAssets(e="desc"){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).getAll();i.onsuccess=()=>{let n=i.result;n.sort((a,o)=>{let s=a.meta?.insertedAt||a._insertedAt||Date.now(),u=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-u:u-s}),t(n)},i.onerror=()=>{r(new Error(`Failed to get assets: ${i.error}`))}})}async getAsset(e){return new Promise((t,r)=>{let i=this.db.transaction(this.assetStoreName,"readonly").objectStore(this.assetStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async getBlob(e){return new Promise((t,r)=>{let i=this.db.transaction(this.blobStoreName,"readonly").objectStore(this.blobStoreName).get(e);i.onsuccess=()=>{t(i.result)},i.onerror=()=>{r(new Error(`Failed to get blob: ${i.error}`))}})}async createBlobUrlFromStore(e){let t=await this.getBlob(e);return t!=null?URL.createObjectURL(t.blob):e}async storeBlobUrls(e){let t={};return await Promise.all(e.map(async r=>{let i=await(await fetch(r)).blob();t[r]=i})),this.initialize().then(async()=>{if(!this.db)throw new Error("Database not initialized");let r=this.db.transaction(this.blobStoreName,"readwrite"),i=r.objectStore(this.blobStoreName);Object.entries(t).forEach(([n,a])=>{let o={id:n,blob:a};i.put(o)}),r.onerror=()=>{console.error(`Failed to add blobs: ${r.error}`)}}).catch(r=>{console.error("Error initializing database:",r)})}async restoreBlobUrls(e){let t={},r=new Set;return Jt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Jt(e,i=>t[i]??i)}filterAsset(e,t){let{query:r,tags:i,groups:n,excludeGroups:a}=t;if(r&&r.trim()!==""){let o=r.trim().toLowerCase().split(" "),s=e.label?.toLowerCase()??"",u=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||u.some(c=>c.includes(l))))return!1}if(i){let o=Array.isArray(i)?i:[i];if(o.length>0&&(!e.tags||!o.every(s=>e.tags?.includes(s))))return!1}return!(n&&n.length>0&&(!e.groups||!n.some(o=>e.groups?.includes(o)))||a&&a.length>0&&e.groups&&e.groups.some(o=>a.includes(o)))}sortAssets(e,t){let{sortingOrder:r,sortKey:i,sortActiveFirst:n}=t,a=[...e];return!r||r==="None"||(i?a.sort((o,s)=>{let u,l;return i==="id"?(u=o.id,l=s.id):(u=o.meta?.[i]??null,l=s.meta?.[i]??null),u==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof u=="string"&&typeof l=="string"?r==="Ascending"?u.localeCompare(l):l.localeCompare(u):r==="Ascending"?u<l?-1:u>l?1:0:u>l?-1:u<l?1:0}):r==="Descending"&&a.reverse(),n&&a.sort((o,s)=>o.active&&!s.active?-1:!o.active&&s.active?1:0)),a}};function Jt(e,t,r=""){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){for(let i=0;i<e.length;i++){let n=r?`${r}[${i}]`:`[${i}]`;if(typeof e[i]=="string"&&e[i].startsWith("blob:")){let a=t(e[i],n);typeof a=="string"&&(e[i]=a)}else e[i]=Jt(e[i],t,n)}return e}for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let n=e[i],a=r?`${r}.${i}`:i;if(typeof n=="string"&&n.startsWith("blob:")){let o=t(n,a);typeof o=="string"&&(e[i]=o)}else e[i]=Jt(n,t,a)}return e}var tB=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(c=>this.cesdk.engine.asset.findAssets(c,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(c=>{c?.assets&&(i=i.concat(c.assets))}),i.sort((c,d)=>{let g=c.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-g});let{page:n,perPage:a}=e,o=n*a,s=o+a,u=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:u,currentPage:n,nextPage:l,total:i.length}}catch(t){console.error("Error finding assets:",t);return}}async getGroups(){let e=this.assetSourceIds.map(i=>this.cesdk.engine.asset.getGroups(i)),t=await Promise.all(e),r=new Set;return t.forEach(i=>{i.forEach(n=>r.add(n))}),Array.from(r)}addAsset(e){throw new Error("AggregatedAssetSource does not support adding assets")}removeAsset(e){throw new Error("AggregatedAssetSource does not support removing assets")}},rB=typeof global=="object"&&global&&global.Object===Object&&global,wg=rB,iB=typeof self=="object"&&self&&self.Object===Object&&self,nB=wg||iB||Function("return this")(),ee=nB,oB=ee.Symbol,Xt=oB,kg=Object.prototype,aB=kg.hasOwnProperty,lB=kg.toString,Ti=Xt?Xt.toStringTag:void 0;function sB(e){var t=aB.call(e,Ti),r=e[Ti];try{e[Ti]=void 0;var i=!0}catch{}var n=lB.call(e);return i&&(t?e[Ti]=r:delete e[Ti]),n}var uB=sB,cB=Object.prototype,dB=cB.toString;function pB(e){return dB.call(e)}var gB=pB,fB="[object Null]",yB="[object Undefined]",B1=Xt?Xt.toStringTag:void 0;function mB(e){return e==null?e===void 0?yB:fB:B1&&B1 in Object(e)?uB(e):gB(e)}var Gi=mB;function hB(e){return e!=null&&typeof e=="object"}var Nl=hB,JX=Array.isArray;function bB(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var xg=bB,vB="[object AsyncFunction]",wB="[object Function]",kB="[object GeneratorFunction]",xB="[object Proxy]";function IB(e){if(!xg(e))return!1;var t=Gi(e);return t==wB||t==kB||t==vB||t==xB}var CB=IB,AB=ee["__core-js_shared__"],hl=AB,G1=function(){var e=/[^.]+$/.exec(hl&&hl.keys&&hl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function MB(e){return!!G1&&G1 in e}var jB=MB,SB=Function.prototype,_B=SB.toString;function EB(e){if(e!=null){try{return _B.call(e)}catch{}try{return e+""}catch{}}return""}var De=EB,$B=/[\\^$.*+?()[\]{}|]/g,LB=/^\[object .+?Constructor\]$/,TB=Function.prototype,OB=Object.prototype,NB=TB.toString,DB=OB.hasOwnProperty,PB=RegExp("^"+NB.call(DB).replace($B,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function zB(e){if(!xg(e)||jB(e))return!1;var t=CB(e)?PB:LB;return t.test(De(e))}var UB=zB;function RB(e,t){return e?.[t]}var FB=RB;function VB(e,t){var r=FB(e,t);return UB(r)?r:void 0}var tr=VB,BB=tr(ee,"WeakMap"),Cl=BB;function GB(e,t){return e===t||e!==e&&t!==t}var qB=GB,YB=9007199254740991;function HB(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=YB}var ZB=HB,XX=Object.prototype,QB="[object Arguments]";function WB(e){return Nl(e)&&Gi(e)==QB}var q1=WB,Ig=Object.prototype,KB=Ig.hasOwnProperty,JB=Ig.propertyIsEnumerable,eee=q1(function(){return arguments}())?q1:function(e){return Nl(e)&&KB.call(e,"callee")&&!JB.call(e,"callee")},Cg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Y1=Cg&&typeof module=="object"&&module&&!module.nodeType&&module,XB=Y1&&Y1.exports===Cg,H1=XB?ee.Buffer:void 0,tee=H1?H1.isBuffer:void 0,eG="[object Arguments]",tG="[object Array]",rG="[object Boolean]",iG="[object Date]",nG="[object Error]",oG="[object Function]",aG="[object Map]",lG="[object Number]",sG="[object Object]",uG="[object RegExp]",cG="[object Set]",dG="[object String]",pG="[object WeakMap]",gG="[object ArrayBuffer]",fG="[object DataView]",yG="[object Float32Array]",mG="[object Float64Array]",hG="[object Int8Array]",bG="[object Int16Array]",vG="[object Int32Array]",wG="[object Uint8Array]",kG="[object Uint8ClampedArray]",xG="[object Uint16Array]",IG="[object Uint32Array]",z={};z[yG]=z[mG]=z[hG]=z[bG]=z[vG]=z[wG]=z[kG]=z[xG]=z[IG]=!0;z[eG]=z[tG]=z[gG]=z[rG]=z[fG]=z[iG]=z[nG]=z[oG]=z[aG]=z[lG]=z[sG]=z[uG]=z[cG]=z[dG]=z[pG]=!1;function CG(e){return Nl(e)&&ZB(e.length)&&!!z[Gi(e)]}var AG=CG;function MG(e){return function(t){return e(t)}}var jG=MG,Ag=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zi=Ag&&typeof module=="object"&&module&&!module.nodeType&&module,SG=zi&&zi.exports===Ag,bl=SG&&wg.process,_G=function(){try{var e=zi&&zi.require&&zi.require("util").types;return e||bl&&bl.binding&&bl.binding("util")}catch{}}(),Z1=_G,Q1=Z1&&Z1.isTypedArray,ree=Q1?jG(Q1):AG,EG=Object.prototype,iee=EG.hasOwnProperty;function $G(e,t){return function(r){return e(t(r))}}var LG=$G,nee=LG(Object.keys,Object),TG=Object.prototype,oee=TG.hasOwnProperty,OG=tr(Object,"create"),Ri=OG;function NG(){this.__data__=Ri?Ri(null):{},this.size=0}var DG=NG;function PG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var zG=PG,UG="__lodash_hash_undefined__",RG=Object.prototype,FG=RG.hasOwnProperty;function VG(e){var t=this.__data__;if(Ri){var r=t[e];return r===UG?void 0:r}return FG.call(t,e)?t[e]:void 0}var BG=VG,GG=Object.prototype,qG=GG.hasOwnProperty;function YG(e){var t=this.__data__;return Ri?t[e]!==void 0:qG.call(t,e)}var HG=YG,ZG="__lodash_hash_undefined__";function QG(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ri&&t===void 0?ZG:t,this}var WG=QG;function rr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}rr.prototype.clear=DG;rr.prototype.delete=zG;rr.prototype.get=BG;rr.prototype.has=HG;rr.prototype.set=WG;var W1=rr;function KG(){this.__data__=[],this.size=0}var JG=KG;function XG(e,t){for(var r=e.length;r--;)if(qB(e[r][0],t))return r;return-1}var no=XG,eq=Array.prototype,tq=eq.splice;function rq(e){var t=this.__data__,r=no(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():tq.call(t,r,1),--this.size,!0}var iq=rq;function nq(e){var t=this.__data__,r=no(t,e);return r<0?void 0:t[r][1]}var oq=nq;function aq(e){return no(this.__data__,e)>-1}var lq=aq;function sq(e,t){var r=this.__data__,i=no(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var uq=sq;function ir(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ir.prototype.clear=JG;ir.prototype.delete=iq;ir.prototype.get=oq;ir.prototype.has=lq;ir.prototype.set=uq;var oo=ir,cq=tr(ee,"Map"),Fi=cq;function dq(){this.size=0,this.__data__={hash:new W1,map:new(Fi||oo),string:new W1}}var pq=dq;function gq(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var fq=gq;function yq(e,t){var r=e.__data__;return fq(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ao=yq;function mq(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t}var hq=mq;function bq(e){return ao(this,e).get(e)}var vq=bq;function wq(e){return ao(this,e).has(e)}var kq=wq;function xq(e,t){var r=ao(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Iq=xq;function nr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}nr.prototype.clear=pq;nr.prototype.delete=hq;nr.prototype.get=vq;nr.prototype.has=kq;nr.prototype.set=Iq;var Mg=nr;function Cq(){this.__data__=new oo,this.size=0}var Aq=Cq;function Mq(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var jq=Mq;function Sq(e){return this.__data__.get(e)}var _q=Sq;function Eq(e){return this.__data__.has(e)}var $q=Eq,Lq=200;function Tq(e,t){var r=this.__data__;if(r instanceof oo){var i=r.__data__;if(!Fi||i.length<Lq-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Mg(i)}return r.set(e,t),this.size=r.size,this}var Oq=Tq;function qi(e){var t=this.__data__=new oo(e);this.size=t.size}qi.prototype.clear=Aq;qi.prototype.delete=jq;qi.prototype.get=_q;qi.prototype.has=$q;qi.prototype.set=Oq;var Nq=Object.prototype,aee=Nq.propertyIsEnumerable,Dq=tr(ee,"DataView"),Al=Dq,Pq=tr(ee,"Promise"),Ml=Pq,zq=tr(ee,"Set"),jl=zq,K1="[object Map]",Uq="[object Object]",J1="[object Promise]",X1="[object Set]",eg="[object WeakMap]",tg="[object DataView]",Rq=De(Al),Fq=De(Fi),Vq=De(Ml),Bq=De(jl),Gq=De(Cl),Wt=Gi;(Al&&Wt(new Al(new ArrayBuffer(1)))!=tg||Fi&&Wt(new Fi)!=K1||Ml&&Wt(Ml.resolve())!=J1||jl&&Wt(new jl)!=X1||Cl&&Wt(new Cl)!=eg)&&(Wt=function(e){var t=Gi(e),r=t==Uq?e.constructor:void 0,i=r?De(r):"";if(i)switch(i){case Rq:return tg;case Fq:return K1;case Vq:return J1;case Bq:return X1;case Gq:return eg}return t});var lee=ee.Uint8Array,qq="__lodash_hash_undefined__";function Yq(e){return this.__data__.set(e,qq),this}var Hq=Yq;function Zq(e){return this.__data__.has(e)}var Qq=Zq;function Sl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Mg;++t<r;)this.add(e[t])}Sl.prototype.add=Sl.prototype.push=Hq;Sl.prototype.has=Qq;var rg=Xt?Xt.prototype:void 0,see=rg?rg.valueOf:void 0,Wq=Object.prototype,uee=Wq.hasOwnProperty,Kq=Object.prototype,cee=Kq.hasOwnProperty,dee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),pee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),gee=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function jg(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),o=new Blob([a],{type:r});return URL.createObjectURL(o)}else return e}async function Jq(e,t){let r=await jg(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}async function Xq(e,t,r){let i,n=t.block.getFill(e),a=t.block.getSourceSet(n,"fill/image/sourceSet"),[o]=a;if(o==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=o.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return jg(i,t)}function eY(e){return e!==void 0}var tY=eY,rY=class Sg{constructor(){this.actions=new Map,this.subscribers=new Map}static get(){let t="__imgly_action_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Sg),r[t]}register(t){return this.actions.set(t.id,t),this.notifySubscribers(t,"registered"),()=>{this.actions.get(t.id)===t&&(this.actions.delete(t.id),this.notifySubscribers(t,"unregistered"))}}getAll(){return Array.from(this.actions.values())}getBy(t){return this.getAll().filter(r=>this.matchesFilters(r,t))}subscribe(t){return this.subscribers.set(t,null),()=>{this.subscribers.delete(t)}}subscribeBy(t,r){return this.subscribers.set(r,t),()=>{this.subscribers.delete(r)}}notifySubscribers(t,r){this.subscribers.forEach((i,n)=>{if(i===null){n(t,r);return}this.matchesFilters(t,i)&&n(t,r)})}matchesFilters(t,r){return!(r.type&&t.type!==r.type||r.pluginId&&t.type==="plugin"&&t.pluginId!==r.pluginId||r.id&&t.id!==r.id||r.kind&&(t.type!=="quick"||t.kind!==r.kind))}},iY=class _g{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new _g),r[t]}register(t){return this.providers.has(t.provider.id)&&console.warn(`Provider with ID "${t.provider.id}" is already registered`),this.providers.set(t.provider.id,t),()=>{this.providers.get(t.provider.id)===t&&this.providers.delete(t.provider.id)}}getAll(){return Array.from(this.providers.values())}getById(t){return this.providers.get(t)}getByKind(t){return this.getAll().filter(({provider:r})=>r.kind===t)}};function nY(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,c,d)=>{if(l>=t.length)return r(c,d);let g=t[l],p=async(y,h)=>s(l+1,y,h),f={...d,addDisposer:o};return g(c,f,p)},u={...n,addDisposer:o};return{result:await s(0,i,u),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(c){console.error("Error in disposer:",c)}a.length=0}}}}function oY({enable:e=!0}){return async(t,r,i)=>{if(!e)return i(t,r);console.group("[GENERATION]"),console.log("Generating with input:",JSON.stringify(t,null,2));let n,a=Date.now();try{return n=await i(t,r),n}finally{n!=null&&(console.log(`Generation took ${Date.now()-a}ms`),console.log("Generation result:",JSON.stringify(n,null,2))),console.groupEnd()}}}var aY=oY,vl="ly.img.ai.temp";async function lY(e,t){return e.engine.asset.findAllSources().includes(vl)||e.engine.asset.addLocalSource(vl),e.engine.asset.apply(vl,t)}function sY(e,t="We encountered an unknown error while generating the asset. Please try again."){if(e===null)return t;if(e instanceof Error)return e.message;if(typeof e=="object"){let r=e;return"message"in r&&typeof r.message=="string"?r.message:"cause"in r&&typeof r.cause=="string"?r.cause:"detail"in r&&typeof r.detail=="object"&&r.detail!==null&&"message"in r.detail&&typeof r.detail.message=="string"?r.detail.message:"error"in r&&typeof r.error=="object"&&r.error!==null&&"message"in r.error&&typeof r.error.message=="string"?r.error.message:t}return typeof e=="string"?e:String(e)||t}function Eg(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function uY(e,t=0,r="image/jpeg",i=.8){return new Promise((n,a)=>{try{let o=document.createElement("video");o.crossOrigin="anonymous",o.style.display="none",o.addEventListener("loadedmetadata",()=>{o.currentTime=Math.min(t,o.duration),o.addEventListener("seeked",()=>{let s=document.createElement("canvas");s.width=o.videoWidth,s.height=o.videoHeight;let u=s.getContext("2d");if(!u){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}u.drawImage(o,0,0,s.width,s.height);try{let l=s.toDataURL(r,i);document.body.removeChild(o),n(l)}catch(l){document.body.removeChild(o),a(new Error(`Failed to create thumbnail: ${l instanceof Error?l.message:String(l)}`))}},{once:!0})}),o.addEventListener("error",()=>{document.body.removeChild(o),a(new Error(`Failed to load video from ${e}`))}),o.src=e,document.body.appendChild(o)}catch(o){a(o)}})}function cY(e){return typeof e=="object"&&e!==null&&"next"in e&&"return"in e&&"throw"in e&&typeof e.next=="function"&&typeof e.return=="function"&&typeof e.throw=="function"&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}function Dl(e){return e instanceof Error&&e.name==="AbortError"}function dY(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function pY(e,t,r){let i="ai-plugin-version",n="ai-plugin-version-warning-shown";try{let a=e.ui.experimental.getGlobalStateValue(i);a?a!==r&&(e.ui.experimental.getGlobalStateValue(n,!1)||(console.warn(`[IMG.LY AI Plugins] Version mismatch detected!
|
|
587
587
|
Plugin "${t}" is using version ${r}, but other AI plugins are using version ${a}.
|
|
588
588
|
This may cause compatibility issues. Please ensure all AI plugins (@imgly/plugin-ai-*) use the same version.
|
|
589
|
-
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function Aq(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var Mq=Aq;function jq(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),Sq(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:vq(e)})}function Sq(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var E1=jq,_q="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",sl=_q;function $q(e,t,r){switch(t){case"image":return Eq(e,r[t]);case"video":return Lq(e,r[t]);case"sticker":return Tq(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function Eq(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:sl,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function Lq(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:sl,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function Tq(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:sl,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var Oq=$q;async function Nq(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return Dq(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return Pq(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return zq(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return Uq(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function Dq(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function Pq(e,t,r){let i=t.width,n=t.height,a=await wq(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function zq(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function Uq(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var og=Nq;function Rq(e){switch(e.userFlow){case"placeholder":return Vq(e);case"generation-only":return Fq(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function Fq(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(me(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(me(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(me(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let l=ng(),u=await og(l,n,a,o.output),s={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,s)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function Vq(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(me(t,r))return{status:"aborted"};let l=ng(),u=Oq(l,a,o);if(i=await bq(t,u),me(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),p=t.engine.block.getPositionY(i),y=t.engine.block.duplicate(i);t.engine.block.setPositionX(y,d),t.engine.block.setPositionY(y,p),t.engine.block.destroy(i),i=y}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let s=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(me(t,r,i))return{status:"aborted"};if(s.status!=="success")return s;if(s.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await og(l,a,o,s.output);if(me(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),me(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),s}catch(a){return i!=null&&t.engine.block.isValid(i)&&(ll(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function me(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var Bq=Rq;function ul(e){return`${e}.generating`}function Gq(e){return`${e}.abort`}function qq(e,t,r,i,n,a,o){let{builder:l,experimental:u}=e,{cesdk:s,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:p}}=t,y=u.global(Gq(d),()=>{}),g=u.global(ul(d),!1),b,v=g.value&&p,m=()=>{v&&(y.value(),g.setValue(!1),y.setValue(()=>{}))},w;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let h=i();w=a.requiredInputs.every(f=>!h.input[f])}let k=u.global(`${d}.confirmationDialogId`,void 0);l.Section(`${d}.generate.section`,{children:()=>{l.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:g.value,color:"accent",isDisabled:w,suffix:v?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let h=s.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:f})=>{s.ui.closeDialog(f),k.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:f})=>{m(),s.ui.closeDialog(f),k.setValue(void 0)}}});k.setValue(h)}}:void 0,onClick:async()=>{b=new AbortController;let h=b.signal;await(async()=>{try{g.setValue(!0),y.setValue(()=>{o.debug&&console.log("Aborting generation"),b?.abort()});let f=await Bq({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:h,cesdk:s,debug:o.debug,dryRun:o.dryRun})(i().input);if(f.status==="aborted")return;if(f.status==="error"){E1(f.message,{cesdk:s,provider:t,getInput:i});return}if(f.status==="success"&&f.type==="sync"){let x=t.output.notification;Yq(s,x,()=>({input:i().input,output:f.output}))}}catch(f){if(ll(f))return;E1(f,{cesdk:s,provider:t,getInput:i})}finally{b=void 0,g.setValue(!1),y.setValue(()=>{}),k.value!=null&&(s.ui.closeDialog(k.value),k.setValue(void 0))}})()}}),t.output.generationHintText!=null&&l.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&l.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function Yq(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var ag=qq;async function Hq({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,l=r.render;return u=>{let{state:s}=u,c=s(ul(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=l(u,{cesdk:a,isGenerating:c});return ag(u,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var Zq=Hq;function lg(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function $i(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=lg(e,t.$ref),n={...$i(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=$i(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>$i(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=$i(e,t[n],r));return i}return t}function Qq(e){return $i(e,{...e})}function Wq(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let l of i.type)if(typeof l!="string"||!o.includes(l))return r(`Array of types contains invalid value: ${l}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let l=0;l<i[o].length;l++){let u=i[o][l];if(typeof u!="object"||u===null)return r(`Item ${l} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let l=i.required[o];if(typeof l!="string")return r(`Item ${o} in required array must be a string, got ${typeof l}`)}}return!0}function Kq(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return Jq(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function Jq(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=Xq(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function Xq(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var sg=Kq;function ug(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let l=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?eY(e,l,r,i,n,a,o):dg(e,l,r,i,n,a,o);case"boolean":return pg(e,l,r,i,n,a,o);case"number":case"integer":return gg(e,l,r,i,n,a,o);case"object":return cg(e,l,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return tY(e,l,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function cg(e,t,r,i,n,a,o){let l=sg(t.schema??{},i).reduce((u,s)=>{let c=ug(e,s,r,i,n,a,o);return c!=null&&(u[s.id]=c()),u},{});return()=>({id:t.id,type:"object",value:l})}function dg(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=u(c,t.schema.default??""),y=rY(t.schema),g=y?.component!=null&&y?.component==="TextArea"?"TextArea":"TextInput";return l[g](c,{inputLabel:d,placeholder:n.i18n?.prompt,...p}),()=>({id:t.id,type:"string",value:p.value})}function eY(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{},y="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},g=(t.schema.enum??[]).map(m=>({id:m,label:[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.property.${t.id}.${m}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}.${m}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}.${m}`],icon:p[m]})),b=t.schema.default!=null?g.find(m=>m.id===t.schema.default)??g[0]:g[0],v=u(c,b);return l.Select(c,{inputLabel:d,values:g,...v}),()=>({id:t.id,type:"string",value:v.value.id})}function pg(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=!!t.schema.default,y=u(c,p);return l.Checkbox(c,{inputLabel:d,...y}),()=>({id:t.id,type:"boolean",value:y.value})}function gg(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.minimum,y=t.schema.maximum,g=t.schema.default;g==null&&(p!=null?g=p:y!=null?g=y:g=0);let b=u(c,g);if(p!=null&&y!=null){let v=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(v=t.schema["x-imgly-step"]),l.Slider(c,{inputLabel:d,min:p,max:y,step:v,...b})}else l.NumberInput(c,{inputLabel:d,min:p,max:y,...b});return()=>({id:t.id,type:"integer",value:b.value})}function tY(e,t,r,i,n,a,o){let{builder:l,experimental:{global:u}}=e,{id:s}=t,c=`${r.id}.${s}`,d=[`ly.img.plugin-ai-${o}-generation-web.${r.id}.property.${t.id}`,`ly.img.plugin-ai-generation-web.property.${t.id}`,`ly.img.plugin-ai-${o}-generation-web.${r.id}.defaults.property.${t.id}`,`ly.img.plugin-ai-generation-web.defaults.property.${t.id}`],p=t.schema.anyOf??[],y=[],g={},b={};p.forEach((w,k)=>{let h=w.title??"common.custom",f=`${r.id}.${s}.anyOf[${k}]`,x="x-imgly-enum-labels"in t.schema&&typeof t.schema["x-imgly-enum-labels"]=="object"?t.schema["x-imgly-enum-labels"]:{},I="x-imgly-enum-icons"in t.schema&&typeof t.schema["x-imgly-enum-icons"]=="object"?t.schema["x-imgly-enum-icons"]:{};w.type==="string"?w.enum!=null?w.enum.forEach(C=>{y.push({id:C,label:x[C]??kq(C),icon:I[C]})}):(g[f]=()=>dg(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="boolean"?(g[f]=()=>pg(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="integer"?(g[f]=()=>gg(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]})):w.type==="array"||w.type==="object"&&(g[f]=()=>cg(e,{id:f,schema:{...w,title:h}},r,i,n,a,o),y.push({id:f,label:x[h]??h,icon:I[h]}))});let v=t.schema.default!=null?y.find(w=>w.id===t.schema.default)??y[0]:y[0],m=u(c,v);if(l.Select(c,{inputLabel:d,values:y,...m}),m.value.id in g){let w=g[m.value.id]();b[m.value.id]=w}return()=>{let w=b[m.value.id];return w!=null?{...w(),id:t.id}:{id:t.id,type:"string",value:m.value.id}}}function rY(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var iY=ug,nY={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function L1(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function oY(e,t,r,i){let n={};e.forEach(o=>{if(o.schema?.title&&(n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}`]=o.schema.title),o.schema?.enum){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.enum.forEach(u=>{let s=String(u),c=l[s]||L1(s);n[`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${o.id}.${s}`]=c})}if(o.schema?.anyOf&&Array.isArray(o.schema.anyOf)){let l="x-imgly-enum-labels"in o.schema&&typeof o.schema["x-imgly-enum-labels"]=="object"?o.schema["x-imgly-enum-labels"]:{};o.schema.anyOf.forEach(u=>{let s=u;s.enum&&Array.isArray(s.enum)&&s.enum.forEach(c=>{let d=String(c),p=l[d]||L1(d);n[`ly.img.plugin-ai-${i}-generation-web.defaults.property.${t.id}.${o.id}.${d}`]=p})})}});let a={...nY,...n};Object.keys(a).length>0&&r.cesdk.i18n.setTranslations({en:a})}async function aY({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=Qq(r.document),l=lg(o,r.inputReference);if(!Wq(l,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=l,s=sg(u,r);return oY(s,t,e,t.kind),c=>{let{builder:d}=c,p=[];d.Section(`${a}.schema.section`,{children:()=>{s.forEach(v=>{let m=iY(c,v,t,r,e,i,t.kind);m!=null&&(Array.isArray(m)?p.push(...m):p.push(m))})}});let y=p.map(v=>v()),g=v=>v.type==="object"?Object.entries(v.value).reduce((m,[w,k])=>(m[w]=g(k),m),{}):v.value,b=y.reduce((v,m)=>(v[m.id]=g(m),v),{});ag(c,t,n,()=>({input:b}),()=>r.getBlockInput(b),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var lY=aY;async function sY(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return Zq(e,t);case"schema":return lY(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var uY=sY;function cY(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new dV(o,r)),o}return i}var dY=cY;function pY(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var gY=pY,Ya="@imgly/plugin-ai-generation",yY=`
|
|
589
|
+
Consider updating all AI plugins to the same version for optimal compatibility.`),e.ui.experimental.setGlobalStateValue(n,!0))):e.ui.experimental.setGlobalStateValue(i,r)}catch(a){console.debug("[IMG.LY AI Plugins] Could not check plugin version consistency:",a)}}function gY(e){let{cesdk:t,panelId:r}=e;r.startsWith("ly.img.ai.")||console.warn(`Dock components for AI generation should open a panel with an id starting with "ly.img.ai." \u2013 "${r}" was provided.`);let i=`${r}.dock`;t.ui.registerComponent(i,({builder:n})=>{let a=t.ui.isPanelOpen(r);n.Button(`${r}.dock.button`,{label:`${r}.dock.label`,isSelected:a,icon:"@imgly/Sparkle",onClick:()=>{t.ui.findAllPanels().forEach(o=>{o.startsWith("ly.img.ai.")&&t.ui.closePanel(o),!a&&o==="//ly.img.panel/assetLibrary"&&t.ui.closePanel(o)}),a?t.ui.closePanel(r):t.ui.openPanel(r)}})})}var fY=gY;function yY(e,t){let{cesdk:r,provider:i,getInput:n}=t;console.error("Generation failed:",e),mY(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:sY(e)})}function mY(e,t,r){let i=t?.error;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.failed",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"error",message:n,action:a}),!0}var ig=yY,hY="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",Pl=hY;function bY(e,t,r){switch(t){case"image":return vY(e,r[t]);case"video":return wY(e,r[t]);case"sticker":return kY(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function vY(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Pl,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function wY(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:Pl,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function kY(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:Pl,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var xY=bY;async function IY(e,t,r,i){switch(t){case"image":{if(i.kind!=="image")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: image)`);return CY(e,r[t],i)}case"video":{if(i.kind!=="video")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: video)`);return AY(e,r[t],i)}case"audio":{if(i.kind!=="audio")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: audio)`);return MY(e,r[t],i)}case"sticker":{if(i.kind!=="sticker")throw new Error(`Output kind does not match the expected type: ${i.kind} (expected: sticker)`);return jY(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function CY(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"image",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}async function AY(e,t,r){let i=t.width,n=t.height,a=await uY(r.url,0);return{id:e,label:t.label,meta:{uri:r.url,thumbUri:a,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:i,height:n}}}function MY(e,t,r){return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.thumbnailUrl,blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:r.duration.toString()}}}function jY(e,t,r){let i=t.width,n=t.height;return{id:e,label:t.label,meta:{uri:r.url,thumbUri:r.url,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:i,height:n},payload:{sourceSet:[{uri:r.url,width:i,height:n}]}}}var $g=IY;function SY(e){switch(e.userFlow){case"placeholder":return EY(e);case"generation-only":return _Y(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function _Y(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ye(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ye(t,r))return{status:"aborted"};if(o.status!=="success")return o;if(o.type==="async")throw new Error("Async generation is not supported in this context yet.");if(ye(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=Eg(),u=await $g(s,n,a,o.output),l={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,l)}else e.debug&&console.log("No asset source ID found in history and generation only was requested. Doing nothing. If no middleware is adding functionality this could be a bug.");return o}catch(n){return{status:"error",message:n instanceof Error?n.message:String(n)}}}}function EY(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ye(t,r))return{status:"aborted"};let s=Eg(),u=xY(s,a,o);if(i=await lY(t,u),ye(t,r,i))return{status:"aborted"};if(i!=null&&e.kind==="video"){let d=t.engine.block.getPositionX(i),g=t.engine.block.getPositionY(i),p=t.engine.block.duplicate(i);t.engine.block.setPositionX(p,d),t.engine.block.setPositionY(p,g),t.engine.block.destroy(i),i=p}if(i==null)throw new Error("Could not create placeholder block");t.engine.block.setState(i,{type:"Pending",progress:0});let l=await e.generate(n,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ye(t,r,i))return{status:"aborted"};if(l.status!=="success")return l;if(l.type==="async")throw new Error("Async generation is not supported in this context yet.");if(!t.engine.block.isValid(i))return{status:"aborted",message:"Placeholder block was destroyed before generation completed."};let c=await $g(s,a,o,l.output);if(ye(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(c,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(c,i),ye(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.label}:{},tags:{}};t.engine.asset.addAssetToSource(e.historyAssetSourceId,d)}return t.engine.block.isValid(i)&&t.engine.block.setState(i,{type:"Ready"}),l}catch(a){return i!=null&&t.engine.block.isValid(i)&&(Dl(a)?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),{status:"error",message:a instanceof Error?a.message:String(a)}}}}function ye(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var $Y=SY;function zl(e){return`${e}.generating`}function LY(e){return`${e}.abort`}function TY(e,t,r,i,n,a,o){let{builder:s,experimental:u}=e,{cesdk:l,includeHistoryLibrary:c=!0}=a,{id:d,output:{abortable:g}}=t,p=u.global(LY(d),()=>{}),f=u.global(zl(d),!1),y,h=f.value&&g,b=()=>{h&&(p.value(),f.setValue(!1),p.setValue(()=>{}))},I;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let w=i();I=a.requiredInputs.every(v=>!w.input[v])}let x=u.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["common.generate",`panel.${d}.generate`],isLoading:f.value,color:"accent",isDisabled:I,suffix:h?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let w=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:v})=>{l.ui.closeDialog(v),x.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:v})=>{b(),l.ui.closeDialog(v),x.setValue(void 0)}}});x.setValue(w)}}:void 0,onClick:async()=>{y=new AbortController;let w=y.signal;await(async()=>{try{f.setValue(!0),p.setValue(()=>{o.debug&&console.log("Aborting generation"),y?.abort()});let v=await $Y({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:w,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(v.status==="aborted")return;if(v.status==="error"){ig(v.message,{cesdk:l,provider:t,getInput:i});return}if(v.status==="success"&&v.type==="sync"){let k=t.output.notification;OY(l,k,()=>({input:i().input,output:v.output}))}}catch(v){if(Dl(v))return;ig(v,{cesdk:l,provider:t,getInput:i})}finally{y=void 0,f.setValue(!1),p.setValue(()=>{}),x.value!=null&&(l.ui.closeDialog(x.value),x.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),c&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function OY(e,t,r){let i=t?.success;if(i==null||!(typeof i.show=="function"?i.show(r()):i.show))return!1;let n=typeof i.message=="function"?i.message(r()):i.message??"common.ai-generation.success",a=i.action!=null?{label:typeof i.action.label=="function"?i.action.label(r()):i.action.label,onClick:()=>{i?.action?.onClick(r())}}:void 0;return e.ui.showNotification({type:"success",message:n,action:a,duration:i.duration}),!0}var Lg=TY;async function NY({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t,s=r.render;return u=>{let{state:l}=u,c=l(zl(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:g}=s(u,{cesdk:a,isGenerating:c});return Lg(u,t,n,d,g,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var DY=NY;function Tg(e,t){if(!t.startsWith("#/"))throw new Error(`External references are not supported: ${t}`);let r=t.substring(2).split("/"),i=e;for(let n of r){if(i==null)throw new Error(`Invalid reference path: ${t}`);i=i[n]}if(i===void 0)throw new Error(`Reference not found: ${t}`);return i}function Di(e,t,r=new Set){if(t==null||r.has(t))return t;if(r.add(t),t.$ref&&typeof t.$ref=="string"){let i=Tg(e,t.$ref),n={...Di(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Di(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Di(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Di(e,t[n],r));return i}return t}function PY(e){return Di(e,{...e})}function zY(e,t=!1){let r=o=>(t&&console.log(`OpenAPI Schema validation failed: ${o}`),!1);if(typeof e!="object"||e===null)return r(`Input is ${e===null?"null":typeof e}, not an object`);let i=e;if(!(typeof i.type=="string"||Array.isArray(i.enum)||typeof i.properties=="object"||typeof i.items=="object"||typeof i.allOf=="object"||typeof i.anyOf=="object"||typeof i.oneOf=="object"||typeof i.not=="object"))return r("Missing required schema-defining properties (type, enum, properties, items, allOf, anyOf, oneOf, not)");if(i.type!==void 0){let o=["string","number","integer","boolean","array","object","null"];if(typeof i.type=="string"){if(!o.includes(i.type))return r(`Invalid type: ${i.type}. Must be one of ${o.join(", ")}`)}else if(Array.isArray(i.type)){for(let s of i.type)if(typeof s!="string"||!o.includes(s))return r(`Array of types contains invalid value: ${s}. Must be one of ${o.join(", ")}`)}else return r(`Type must be a string or array of strings, got ${typeof i.type}`)}if(i.items!==void 0&&(typeof i.items!="object"||i.items===null))return r(`Items must be an object, got ${i.items===null?"null":typeof i.items}`);if(i.properties!==void 0&&(typeof i.properties!="object"||i.properties===null))return r(`Properties must be an object, got ${i.properties===null?"null":typeof i.properties}`);let n=["allOf","anyOf","oneOf"];for(let o of n)if(i[o]!==void 0){if(!Array.isArray(i[o]))return r(`${o} must be an array, got ${typeof i[o]}`);for(let s=0;s<i[o].length;s++){let u=i[o][s];if(typeof u!="object"||u===null)return r(`Item ${s} in ${o} must be an object, got ${u===null?"null":typeof u}`)}}if(i.not!==void 0&&(typeof i.not!="object"||i.not===null))return r(`'not' must be an object, got ${i.not===null?"null":typeof i.not}`);if(i.additionalProperties!==void 0&&typeof i.additionalProperties!="boolean"&&(typeof i.additionalProperties!="object"||i.additionalProperties===null))return r(`additionalProperties must be a boolean or an object, got ${i.additionalProperties===null?"null":typeof i.additionalProperties}`);if(i.format!==void 0&&typeof i.format!="string")return r(`format must be a string, got ${typeof i.format}`);let a=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"];for(let o of a)if(i[o]!==void 0&&typeof i[o]!="number")return r(`${o} must be a number, got ${typeof i[o]}`);if(i.minLength!==void 0&&(typeof i.minLength!="number"||i.minLength<0))return r(`minLength must be a non-negative number, got ${typeof i.minLength=="number"?i.minLength:typeof i.minLength}`);if(i.maxLength!==void 0&&(typeof i.maxLength!="number"||i.maxLength<0))return r(`maxLength must be a non-negative number, got ${typeof i.maxLength=="number"?i.maxLength:typeof i.maxLength}`);if(i.pattern!==void 0&&typeof i.pattern!="string")return r(`pattern must be a string, got ${typeof i.pattern}`);if(i.minItems!==void 0&&(typeof i.minItems!="number"||i.minItems<0))return r(`minItems must be a non-negative number, got ${typeof i.minItems=="number"?i.minItems:typeof i.minItems}`);if(i.maxItems!==void 0&&(typeof i.maxItems!="number"||i.maxItems<0))return r(`maxItems must be a non-negative number, got ${typeof i.maxItems=="number"?i.maxItems:typeof i.maxItems}`);if(i.uniqueItems!==void 0&&typeof i.uniqueItems!="boolean")return r(`uniqueItems must be a boolean, got ${typeof i.uniqueItems}`);if(i.minProperties!==void 0&&(typeof i.minProperties!="number"||i.minProperties<0))return r(`minProperties must be a non-negative number, got ${typeof i.minProperties=="number"?i.minProperties:typeof i.minProperties}`);if(i.maxProperties!==void 0&&(typeof i.maxProperties!="number"||i.maxProperties<0))return r(`maxProperties must be a non-negative number, got ${typeof i.maxProperties=="number"?i.maxProperties:typeof i.maxProperties}`);if(i.required!==void 0){if(!Array.isArray(i.required))return r(`required must be an array, got ${typeof i.required}`);for(let o=0;o<i.required.length;o++){let s=i.required[o];if(typeof s!="string")return r(`Item ${o} in required array must be a string, got ${typeof s}`)}}return!0}function UY(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return RY(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function RY(e,t){let r=t.order;if(r!=null&&Array.isArray(r))return r;if(e.properties==null)throw new Error("Input schema must have properties");let i=e.properties,n=Object.keys(i),a=FY(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function FY(e,t){if(t.orderExtensionKeyword==null)return;if(typeof t.orderExtensionKeyword!="string"&&!Array.isArray(t.orderExtensionKeyword))throw new Error("orderExtensionKeyword must be a string or an array of strings");let r=(typeof t.orderExtensionKeyword=="string"?[t.orderExtensionKeyword]:t.orderExtensionKeyword).find(i=>i in e);return r==null?void 0:e[r]}var Og=UY;function Ne(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`;return[`ly.img.plugin-ai-${r}-generation-web.${t.id}.${n}`,`ly.img.plugin-ai-generation-web.${n}`,`ly.img.plugin-ai-${r}-generation-web.${t.id}.defaults.${n}`,`ly.img.plugin-ai-generation-web.defaults.${n}`]}function Ng(e){let t="x-imgly-enum-labels"in e&&typeof e["x-imgly-enum-labels"]=="object"?e["x-imgly-enum-labels"]:{},r="x-imgly-enum-icons"in e&&typeof e["x-imgly-enum-icons"]=="object"?e["x-imgly-enum-icons"]:{};return{labels:t,icons:r}}function Dg(e,t,r,i,n,a,o){if(t.schema==null)return i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null?i.renderCustomProperty[t.id](e,t):void 0;let s=t,u=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null)return i.renderCustomProperty[t.id](e,t);switch(u){case"string":return t.schema.enum!=null?VY(e,s,r,i,n,a,o):Pg(e,s,r,i,n,a,o);case"boolean":return zg(e,s,r,i,n,a,o);case"number":case"integer":return Ug(e,s,r,i,n,a,o);case"object":return _l(e,s,r,i,n,a,o);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return BY(e,s,r,i,n,a,o);break}default:console.error(`Unsupported property type: ${u}`)}}function _l(e,t,r,i,n,a,o){let s=Og(t.schema??{},i).reduce((u,l)=>{let c=Dg(e,l,r,i,n,a,o);return c!=null&&(u[l.id]=c()),u},{});return()=>({id:t.id,type:"object",value:s})}function Pg(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Ne(t,r,o),g=u(c,t.schema.default??""),p=GY(t.schema),f=p?.component!=null&&p?.component==="TextArea"?"TextArea":"TextInput";return s[f](c,{inputLabel:d,placeholder:n.i18n?.prompt,...g}),()=>({id:t.id,type:"string",value:g.value})}function VY(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Ne(t,r,o),{labels:g,icons:p}=Ng(t.schema),f=(t.schema.enum??[]).map(b=>({id:b,label:Ne(t,r,o,b),icon:p[b]})),y=t.schema.default!=null?f.find(b=>b.id===t.schema.default)??f[0]:f[0],h=u(c,y);return s.Select(c,{inputLabel:d,values:f,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function zg(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Ne(t,r,o),g=!!t.schema.default,p=u(c,g);return s.Checkbox(c,{inputLabel:d,...p}),()=>({id:t.id,type:"boolean",value:p.value})}function Ug(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Ne(t,r,o),g=t.schema.minimum,p=t.schema.maximum,f=t.schema.default;f==null&&(g!=null?f=g:p!=null?f=p:f=0);let y=u(c,f);if(g!=null&&p!=null){let h=t.schema.type==="number"?.1:1;"x-imgly-step"in t.schema&&typeof t.schema["x-imgly-step"]=="number"&&(h=t.schema["x-imgly-step"]),s.Slider(c,{inputLabel:d,min:g,max:p,step:h,...y})}else s.NumberInput(c,{inputLabel:d,min:g,max:p,...y});return()=>({id:t.id,type:"integer",value:y.value})}function BY(e,t,r,i,n,a,o){let{builder:s,experimental:{global:u}}=e,{id:l}=t,c=`${r.id}.${l}`,d=Ne(t,r,o),g=t.schema.anyOf??[],p=[],f={},y={},{labels:h,icons:b}=Ng(t.schema),I={string:Pg,boolean:zg,integer:Ug,object:_l},x=(m,A)=>m.$ref?m.$ref.split("/").pop():A.split(".").pop()??A,w=(m,A)=>({id:m,label:Ne(t,r,o,A),icon:b[A]??b[m]});g.forEach((m,A)=>{let C=`${r.id}.${l}.anyOf[${A}]`;if(m.$ref||m.title){let M=m.$ref?m.$ref.split("/").pop():m.title;f[C]=()=>_l(e,{id:C,schema:{...m,title:h[M]||M}},r,i,n,a,o),p.push(w(C,M))}else if(m.type==="string"&&m.enum)m.enum.forEach(M=>{p.push(w(M,M))});else if(m.type&&I[m.type]){let M=I[m.type];f[C]=()=>M(e,{id:C,schema:{...m,title:m.title}},r,i,n,a,o);let j=x(m,C);p.push(m.type==="string"&&!m.enum?{id:C,label:m.title||j,icon:m.title&&b[m.title]||b[j]}:w(C,j))}});let v=t.schema.default!=null?p.find(m=>m.id===t.schema.default)??p[0]:p[0],k=u(c,v);if(s.Select(c,{inputLabel:d,values:p,...k}),k.value.id in f){let m=f[k.value.id]();y[k.value.id]=m}return()=>{let m=y[k.value.id];return m!=null?{...m(),id:t.id}:{id:t.id,type:"string",value:k.value.id}}}function GY(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var qY=Dg,YY={"ly.img.plugin-ai-generation-web.defaults.property.prompt":"Prompt","ly.img.plugin-ai-generation-web.defaults.property.style":"Style","ly.img.plugin-ai-generation-web.defaults.property.image_size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.size":"Image Size","ly.img.plugin-ai-generation-web.defaults.property.colors":"Colors","ly.img.plugin-ai-generation-web.defaults.property.background":"Background","ly.img.plugin-ai-generation-web.defaults.property.width":"Width","ly.img.plugin-ai-generation-web.defaults.property.height":"Height","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio":"Aspect Ratio","ly.img.plugin-ai-generation-web.defaults.property.duration":"Duration","ly.img.plugin-ai-generation-web.defaults.property.resolution":"Resolution","ly.img.plugin-ai-generation-web.defaults.property.generate_audio":"Generate Audio","ly.img.plugin-ai-generation-web.defaults.property.voice_id":"Voice","ly.img.plugin-ai-generation-web.defaults.property.speed":"Speed","ly.img.plugin-ai-generation-web.defaults.property.text":"Text","ly.img.plugin-ai-generation-web.defaults.property.duration_seconds":"Duration (seconds)","ly.img.plugin-ai-generation-web.defaults.property.style.type":"Type","ly.img.plugin-ai-generation-web.defaults.property.style.type.image":"Image","ly.img.plugin-ai-generation-web.defaults.property.style.type.vector":"Vector","ly.img.plugin-ai-generation-web.defaults.property.style.type.icon":"Icon","ly.img.plugin-ai-generation-web.defaults.property.image_size.square":"Square","ly.img.plugin-ai-generation-web.defaults.property.image_size.portrait":"Portrait","ly.img.plugin-ai-generation-web.defaults.property.image_size.landscape":"Landscape","ly.img.plugin-ai-generation-web.defaults.property.background.auto":"Auto","ly.img.plugin-ai-generation-web.defaults.property.background.transparent":"Transparent","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.1:1":"1:1 (Square)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.16:9":"16:9 (Widescreen)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.9:16":"9:16 (Vertical)","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.4:3":"4:3","ly.img.plugin-ai-generation-web.defaults.property.aspect_ratio.3:4":"3:4","ly.img.plugin-ai-generation-web.defaults.property.resolution.720p":"720p HD","ly.img.plugin-ai-generation-web.defaults.property.resolution.1080p":"1080p Full HD"};function ng(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function HY(e,t,r,i){let n={},a=(l,c)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${c?`.${c}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,c,d)=>{l.forEach(g=>{let p=String(g),f=d[p]||ng(p);n[a(c,p)]=f})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let c=o(l.schema);s(l.schema.enum,l.id,c)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let c=o(l.schema);l.schema.anyOf.forEach(d=>{let g=d;if(g.enum&&Array.isArray(g.enum))s(g.enum,l.id,c);else if(g.$ref){let p=g.$ref.split("/").pop();p&&c[p]&&(n[a(l.id,p)]=c[p])}else if(g.title){let p=g.title,f=c[p]||ng(p);n[a(l.id,p)]=f}})}});let u={...YY,...n};Object.keys(u).length>0&&r.cesdk.i18n.setTranslations({en:u})}async function ZY({options:e,provider:t,panelInput:r,config:i},n){let{id:a}=t;if(r==null)return;i.debug&&console.log(`Registering schema-based panel input for provider ${a}`);let o=PY(r.document),s=Tg(o,r.inputReference);if(!zY(s,i.debug))throw new Error(`Input reference '${r.inputReference}' does not resolve to a valid OpenAPI schema`);let u=s,l=Og(u,r);return HY(l,t,e,t.kind),c=>{let{builder:d}=c,g=[];d.Section(`${a}.schema.section`,{children:()=>{l.forEach(h=>{let b=qY(c,h,t,r,e,i,t.kind);b!=null&&(Array.isArray(b)?g.push(...b):g.push(b))})}});let p=g.map(h=>h()),f=h=>h.type==="object"?Object.entries(h.value).reduce((b,[I,x])=>(b[I]=f(x),b),{}):h.value,y=p.reduce((h,b)=>(h[b.id]=f(b),h),{});Lg(c,t,n,()=>({input:y}),()=>r.getBlockInput(y),{...e,requiredInputs:u.required,createPlaceholderBlock:r.userFlow==="placeholder"},i)}}var QY=ZY;async function WY(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return DY(e,t);case"schema":return QY(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var KY=WY;function JY(e){let{provider:t,options:{engine:r}}=e,i=t.output.history??"@imgly/local";if(i==null||i===!1)return;let n=r.asset.findAllSources();function a(){let o=`${t.id}.history`;for(;n.includes(o);)o+=`-${Math.random().toString(36).substring(2,6)}`;return o}if(i==="@imgly/local"){let o=a();return r.asset.addLocalSource(o),o}if(i==="@imgly/indexedDB"){let o=a();return r.asset.addSource(new eB(o,r)),o}return i}var XY=JY;function eH(e,t){if(t==null||!t)return;let r=`${e.provider.id}.history`;return e.options.cesdk.ui.addAssetLibraryEntry({id:r,sourceIds:[t],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"}),r}var tH=eH,wl="@imgly/plugin-ai-generation",rH=`
|
|
590
590
|
<svg>
|
|
591
591
|
<symbol
|
|
592
592
|
fill="none"
|
|
@@ -604,7 +604,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
604
604
|
fill="none"
|
|
605
605
|
xmlns="http://www.w3.org/2000/svg"
|
|
606
606
|
viewBox="0 0 24 24"
|
|
607
|
-
id="${
|
|
607
|
+
id="${wl}/image"
|
|
608
608
|
>
|
|
609
609
|
<path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
|
|
610
610
|
<path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
|
|
@@ -616,7 +616,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
616
616
|
fill="none"
|
|
617
617
|
xmlns="http://www.w3.org/2000/svg"
|
|
618
618
|
viewBox="0 0 24 24"
|
|
619
|
-
id="${
|
|
619
|
+
id="${wl}/video"
|
|
620
620
|
>
|
|
621
621
|
<path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
|
|
622
622
|
<path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
|
|
@@ -627,7 +627,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
627
627
|
fill="none"
|
|
628
628
|
xmlns="http://www.w3.org/2000/svg"
|
|
629
629
|
viewBox="0 0 24 24"
|
|
630
|
-
id="${
|
|
630
|
+
id="${wl}/audio"
|
|
631
631
|
>
|
|
632
632
|
<path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
|
|
633
633
|
<path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
|
|
@@ -647,8 +647,8 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
647
647
|
|
|
648
648
|
</symbol>
|
|
649
649
|
</svg>
|
|
650
|
-
`,
|
|
651
|
-
`,"+")}`}}async function
|
|
650
|
+
`,iH=rH;function nH(e){return async(t,r,i)=>e.enable?(console.log(`[DRY RUN]: Requesting dummy AI generation for kind '${e.kind}' with inputs: `,JSON.stringify(t,void 0,2)),await Rg(2e3),await oH(t,e,r)):i(t,r)}async function oH(e,t,r){switch(t.kind){case"image":return aH(e,t,r);case"video":return lH(e,t,r);case"text":return sH(e,t,r);case"audio":return cH(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function aH(e,t,{engine:r}){let i,n,a=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",o=a.match(/(\d+)x(\d+)/);if(o!=null)i=parseInt(o[1],10),n=parseInt(o[2],10);else if(t.blockInputs!=null&&(i=t.blockInputs.image.width,n=t.blockInputs.image.height),t.blockIds!=null&&Array.isArray(t.blockIds)&&t.blockIds.length>0){let[s]=t.blockIds,u=await Xq(s,r),l=await Jq(u,r);i=l.width,n=l.height}else i=512,n=512;return{kind:"image",url:`https://placehold.co/${i}x${n}/000000/FFF?text=${a.replace(" ","+").replace(`
|
|
651
|
+
`,"+")}`}}async function lH(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function sH(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[o]=t.blockIds;r.engine.block.isValid(o)&&(i=r.engine.block.getString(o,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let o=e.prompt,s=o.match(/text:\s*"([^"]+)"/i)||o.match(/content:\s*"([^"]+)"/i)||o.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,a="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")a=Oi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=Oi(n,o)}else"customPrompt"in e?a=Oi(n,"custom"):a=Oi(n,"improved");else a=Oi(n,"generated");return uH(a,r.abortSignal)}async function*uH(e,t){let r=Math.max(1,Math.ceil(e.length/20)),i=0;for(;i<e.length;){if(t?.aborted)return;let n=Math.min(i+r,e.length);yield{kind:"text",text:e.substring(0,n)},i=n,i<e.length&&await Rg(100)}return{kind:"text",text:e}}function Oi(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,a={translation:"Ceci est un texte fictif traduit qui maintient la longueur approximative.",professional:"Enhanced professional content with improved clarity and structure.",casual:"Relaxed, friendly text that keeps things simple and approachable.",formal:"Refined formal documentation that preserves original structure.",humorous:"Amusing content that brings lighthearted fun to the text.",improved:"Enhanced text that demonstrates better clarity and readability.",custom:"Customized content reflecting the requested modifications.",generated:"AI-generated content maintaining original length and structure."},o=a[t]||a.generated,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let u=[" Additional content continues with similar phrasing."," Further elaboration maintains the established tone."," Extended content preserves the original style."," Continued text follows the same pattern."],l=0;for(;s.length<n;){let c=u[l%u.length];if(s.length+c.length<=n)s+=c;else{s+=c.substring(0,n-s.length);break}l++}}return r+s}async function cH(e,t,r){let i=3;if(e!=null&&typeof e=="object"){if("duration"in e&&typeof e.duration=="number")i=e.duration;else if("prompt"in e&&typeof e.prompt=="string"){let n=e.prompt.match(/(\d+)\s*(?:seconds?|secs?|s)\b/i);n&&(i=parseInt(n[1],10))}}return t.blockInputs?.audio?.duration&&(i=t.blockInputs.audio.duration),{kind:"audio",url:dH(220,i),duration:i,thumbnailUrl:void 0}}function dH(e,t){let r=Math.floor(44100*t),i=new Float32Array(r);for(let n=0;n<r;n++)i[n]=Math.sin(2*Math.PI*e*n/44100);return pH(i,44100)}function pH(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,u=44+s,l=new ArrayBuffer(u),c=new DataView(l),d=(y,h)=>{for(let b=0;b<h.length;b++)c.setUint8(y+b,h.charCodeAt(b))};d(0,"RIFF"),c.setUint32(4,u-8,!0),d(8,"WAVE"),d(12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,n,!0),c.setUint32(24,t,!0),c.setUint32(28,o,!0),c.setUint16(32,a,!0),c.setUint16(34,16,!0),d(36,"data"),c.setUint32(40,s,!0);let g=44;for(let y=0;y<r;y++){let h=Math.max(-1,Math.min(1,e[y])),b=Math.round(h*32767);c.setInt16(g,b,!0),g+=2}let p=new Uint8Array(l),f="";for(let y=0;y<p.length;y++)f+=String.fromCharCode(p[y]);return`data:audio/wav;base64,${btoa(f)}`}async function Rg(e){return new Promise(t=>{setTimeout(t,e)})}var gH=nH,fH="USER_CANCEL";function yH(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=nY([...e.provider.output.middleware??[],...r?.middlewares??[],aY({enable:r?.debug}),gH({enable:r?.dryRun,kind:e.provider.kind})]);try{let{result:n}=await i(e.provider.output.generate)(t,{abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk});return r?.abortSignal?.aborted?{status:"aborted"}:n instanceof Error?{status:"error",message:n.message}:n==null?{status:"error",message:"No output generated"}:cY(n)?{status:"success",type:"async",output:n}:{status:"success",type:"sync",output:n}}catch(n){return Dl(n)?{status:"aborted",message:n.message}:n===fH?{status:"aborted",message:n}:{status:"error",message:n instanceof Error?n.message:String(n)}}}}var mH=yH;async function hH(e,t,r,i){let n={...i,provider:t},a={provider:t,panelInput:t.input?.panel,options:{cesdk:r.cesdk,engine:r.cesdk.engine},config:n};await t.initialize?.({...r,engine:r.cesdk.engine});let o=XY(a),s=tH(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let u=mH({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await KY(a,u);dY(r.cesdk,"@imgly/plugin-ai-generation",iH);let c={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:u};return iY.get().register(c),c}var kl=hH;function bH(e){let{kind:t,cesdk:r,historAssetSourceIds:i}=e,n=`ly.img.ai.${t}-generation.history`;if(r.engine.asset.findAllSources().includes(n))return n;let a=new tB(n,r,i);return r.engine.asset.addSource(a),a.id}var vH=bH;function Pi(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function wH(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let a,o=[];if(Array.isArray(t)){let l=await Promise.all(t.map(c=>kl(e,c,r,i)));o.push(...l),a=xH({kind:e,prefix:e,providerInitializationResults:o})}else{let l=await Promise.all(t.fromText.map(d=>kl(e,d,r,i)));o.push(...l);let c=await Promise.all(t.fromImage.map(d=>kl(e,d,r,i)));o.push(...c),a=kH({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:c})}let s=vH({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(tY)}),u;return s!=null&&(u=s,r.cesdk.ui.addAssetLibraryEntry({id:u,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:u},providerInitializationResults:o}}function kH({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i}){let n=r.length>0&&i.length>0;return a=>{let{builder:o,experimental:s}=a,u=s.global(`${t}.fromType`,n?"fromText":void 0),l=[];u.value==="fromText"?l.push(...r):u.value==="fromImage"?l.push(...i):l.push(...r,...i);let c=r.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),d=i.map(({provider:y,panel:h})=>({id:y.id,label:y.name??y.id,builderRenderFunction:h?.builderRenderFunction})),g=a.experimental.global(`${t}.selectedProvider.fromText`,c[0]),p=a.experimental.global(`${t}.selectedProvider.fromImage`,d[0]),f=u.value==="fromText"?g:u.value==="fromImage"?p:void 0;if((n||l.length>1)&&o.Section(`${t}.providerSelection.section`,{children:()=>{if(n&&o.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:Pi(e,"fromType.label"),children:()=>{o.Button(`${t}.fromType.buttonGroup.fromText`,{label:Pi(e,"fromText.label"),icon:u.value!=="fromText"&&og(r,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromText",onClick:()=>{u.setValue("fromText")}}),o.Button(`${t}.fromType.buttonGroup.fromImage`,{label:Pi(e,"fromImage.label"),icon:u.value!=="fromImage"&&og(i,a)?"@imgly/LoadingSpinner":void 0,isActive:u.value==="fromImage",onClick:()=>{u.setValue("fromImage")}})}}),l.length>1){let y=u.value==="fromText"?c:u.value==="fromImage"?d:[...c,...d];f!=null&&o.Select(`${t}.providerSelect.select`,{inputLabel:Pi(e,"providerSelect.label"),values:y,...f})}}}),l.length>1)f?.value.builderRenderFunction?.(a);else{let y=l[0];y&&y.panel?.builderRenderFunction?.(a)}}}function xH({kind:e,prefix:t,providerInitializationResults:r}){return i=>{let{builder:n}=i;if(r.length===0)return;let a=r.map(({provider:s,panel:u})=>({id:s.id,label:s.name??s.id,builderRenderFunction:u?.builderRenderFunction})),o=i.state(`${t}.selectedProvider`,a[0]);r.length>1&&o!=null&&n.Section(`${t}.providerSelection.section`,{children:()=>{n.Select(`${t}.providerSelect.select`,{inputLabel:Pi(e,"providerSelect.label"),values:a,...o})}}),o.value.builderRenderFunction?.(i)}}function og(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(zl(r.id),!1).value)}var IH=wH,CH="@imgly/plugin-ai-sticker-generation",AH=`
|
|
652
652
|
<svg>
|
|
653
653
|
<symbol
|
|
654
654
|
fill="none"
|
|
@@ -662,7 +662,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
662
662
|
|
|
663
663
|
</symbol>
|
|
664
664
|
</svg>
|
|
665
|
-
`,zY=PY,UY=typeof global=="object"&&global&&global.Object===Object&&global,fg=UY,RY=typeof self=="object"&&self&&self.Object===Object&&self,FY=fg||RY||Function("return this")(),re=FY,VY=re.Symbol,Kt=VY,mg=Object.prototype,BY=mg.hasOwnProperty,GY=mg.toString,_i=Kt?Kt.toStringTag:void 0;function qY(e){var t=BY.call(e,_i),r=e[_i];try{e[_i]=void 0;var i=!0}catch{}var n=GY.call(e);return i&&(t?e[_i]=r:delete e[_i]),n}var YY=qY,HY=Object.prototype,ZY=HY.toString;function QY(e){return ZY.call(e)}var WY=QY,KY="[object Null]",JY="[object Undefined]",O1=Kt?Kt.toStringTag:void 0;function XY(e){return e==null?e===void 0?JY:KY:O1&&O1 in Object(e)?YY(e):WY(e)}var Ui=XY;function eH(e){return e!=null&&typeof e=="object"}var cl=eH,MX=Array.isArray;function tH(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var hg=tH,rH="[object AsyncFunction]",iH="[object Function]",nH="[object GeneratorFunction]",oH="[object Proxy]";function aH(e){if(!hg(e))return!1;var t=Ui(e);return t==iH||t==nH||t==rH||t==oH}var lH=aH,sH=re["__core-js_shared__"],Za=sH,N1=function(){var e=/[^.]+$/.exec(Za&&Za.keys&&Za.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function uH(e){return!!N1&&N1 in e}var cH=uH,dH=Function.prototype,pH=dH.toString;function gH(e){if(e!=null){try{return pH.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=gH,yH=/[\\^$.*+?()[\]{}|]/g,fH=/^\[object .+?Constructor\]$/,mH=Function.prototype,hH=Object.prototype,bH=mH.toString,vH=hH.hasOwnProperty,wH=RegExp("^"+bH.call(vH).replace(yH,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kH(e){if(!hg(e)||cH(e))return!1;var t=lH(e)?wH:fH;return t.test(Oe(e))}var xH=kH;function IH(e,t){return e?.[t]}var CH=IH;function AH(e,t){var r=CH(e,t);return xH(r)?r:void 0}var rr=AH,MH=rr(re,"WeakMap"),tl=MH;function jH(e,t){return e===t||e!==e&&t!==t}var SH=jH,_H=9007199254740991;function $H(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_H}var EH=$H,jX=Object.prototype,LH="[object Arguments]";function TH(e){return cl(e)&&Ui(e)==LH}var D1=TH,bg=Object.prototype,OH=bg.hasOwnProperty,NH=bg.propertyIsEnumerable,SX=D1(function(){return arguments}())?D1:function(e){return cl(e)&&OH.call(e,"callee")&&!NH.call(e,"callee")},vg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,P1=vg&&typeof module=="object"&&module&&!module.nodeType&&module,DH=P1&&P1.exports===vg,z1=DH?re.Buffer:void 0,_X=z1?z1.isBuffer:void 0,PH="[object Arguments]",zH="[object Array]",UH="[object Boolean]",RH="[object Date]",FH="[object Error]",VH="[object Function]",BH="[object Map]",GH="[object Number]",qH="[object Object]",YH="[object RegExp]",HH="[object Set]",ZH="[object String]",QH="[object WeakMap]",WH="[object ArrayBuffer]",KH="[object DataView]",JH="[object Float32Array]",XH="[object Float64Array]",eZ="[object Int8Array]",tZ="[object Int16Array]",rZ="[object Int32Array]",iZ="[object Uint8Array]",nZ="[object Uint8ClampedArray]",oZ="[object Uint16Array]",aZ="[object Uint32Array]",P={};P[JH]=P[XH]=P[eZ]=P[tZ]=P[rZ]=P[iZ]=P[nZ]=P[oZ]=P[aZ]=!0;P[PH]=P[zH]=P[WH]=P[UH]=P[KH]=P[RH]=P[FH]=P[VH]=P[BH]=P[GH]=P[qH]=P[YH]=P[HH]=P[ZH]=P[QH]=!1;function lZ(e){return cl(e)&&EH(e.length)&&!!P[Ui(e)]}var sZ=lZ;function uZ(e){return function(t){return e(t)}}var cZ=uZ,wg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Li=wg&&typeof module=="object"&&module&&!module.nodeType&&module,dZ=Li&&Li.exports===wg,Qa=dZ&&fg.process,pZ=function(){try{var e=Li&&Li.require&&Li.require("util").types;return e||Qa&&Qa.binding&&Qa.binding("util")}catch{}}(),U1=pZ,R1=U1&&U1.isTypedArray,$X=R1?cZ(R1):sZ,gZ=Object.prototype,EX=gZ.hasOwnProperty;function yZ(e,t){return function(r){return e(t(r))}}var fZ=yZ,LX=fZ(Object.keys,Object),mZ=Object.prototype,TX=mZ.hasOwnProperty,hZ=rr(Object,"create"),Ni=hZ;function bZ(){this.__data__=Ni?Ni(null):{},this.size=0}var vZ=bZ;function wZ(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var kZ=wZ,xZ="__lodash_hash_undefined__",IZ=Object.prototype,CZ=IZ.hasOwnProperty;function AZ(e){var t=this.__data__;if(Ni){var r=t[e];return r===xZ?void 0:r}return CZ.call(t,e)?t[e]:void 0}var MZ=AZ,jZ=Object.prototype,SZ=jZ.hasOwnProperty;function _Z(e){var t=this.__data__;return Ni?t[e]!==void 0:SZ.call(t,e)}var $Z=_Z,EZ="__lodash_hash_undefined__";function LZ(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ni&&t===void 0?EZ:t,this}var TZ=LZ;function ir(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ir.prototype.clear=vZ;ir.prototype.delete=kZ;ir.prototype.get=MZ;ir.prototype.has=$Z;ir.prototype.set=TZ;var F1=ir;function OZ(){this.__data__=[],this.size=0}var NZ=OZ;function DZ(e,t){for(var r=e.length;r--;)if(SH(e[r][0],t))return r;return-1}var Tn=DZ,PZ=Array.prototype,zZ=PZ.splice;function UZ(e){var t=this.__data__,r=Tn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():zZ.call(t,r,1),--this.size,!0}var RZ=UZ;function FZ(e){var t=this.__data__,r=Tn(t,e);return r<0?void 0:t[r][1]}var VZ=FZ;function BZ(e){return Tn(this.__data__,e)>-1}var GZ=BZ;function qZ(e,t){var r=this.__data__,i=Tn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var YZ=qZ;function nr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}nr.prototype.clear=NZ;nr.prototype.delete=RZ;nr.prototype.get=VZ;nr.prototype.has=GZ;nr.prototype.set=YZ;var On=nr,HZ=rr(re,"Map"),Di=HZ;function ZZ(){this.size=0,this.__data__={hash:new F1,map:new(Di||On),string:new F1}}var QZ=ZZ;function WZ(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var KZ=WZ;function JZ(e,t){var r=e.__data__;return KZ(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Nn=JZ;function XZ(e){var t=Nn(this,e).delete(e);return this.size-=t?1:0,t}var eQ=XZ;function tQ(e){return Nn(this,e).get(e)}var rQ=tQ;function iQ(e){return Nn(this,e).has(e)}var nQ=iQ;function oQ(e,t){var r=Nn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var aQ=oQ;function or(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}or.prototype.clear=QZ;or.prototype.delete=eQ;or.prototype.get=rQ;or.prototype.has=nQ;or.prototype.set=aQ;var kg=or;function lQ(){this.__data__=new On,this.size=0}var sQ=lQ;function uQ(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var cQ=uQ;function dQ(e){return this.__data__.get(e)}var pQ=dQ;function gQ(e){return this.__data__.has(e)}var yQ=gQ,fQ=200;function mQ(e,t){var r=this.__data__;if(r instanceof On){var i=r.__data__;if(!Di||i.length<fQ-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new kg(i)}return r.set(e,t),this.size=r.size,this}var hQ=mQ;function Ri(e){var t=this.__data__=new On(e);this.size=t.size}Ri.prototype.clear=sQ;Ri.prototype.delete=cQ;Ri.prototype.get=pQ;Ri.prototype.has=yQ;Ri.prototype.set=hQ;var bQ=Object.prototype,OX=bQ.propertyIsEnumerable,vQ=rr(re,"DataView"),rl=vQ,wQ=rr(re,"Promise"),il=wQ,kQ=rr(re,"Set"),nl=kQ,V1="[object Map]",xQ="[object Object]",B1="[object Promise]",G1="[object Set]",q1="[object WeakMap]",Y1="[object DataView]",IQ=Oe(rl),CQ=Oe(Di),AQ=Oe(il),MQ=Oe(nl),jQ=Oe(tl),Zt=Ui;(rl&&Zt(new rl(new ArrayBuffer(1)))!=Y1||Di&&Zt(new Di)!=V1||il&&Zt(il.resolve())!=B1||nl&&Zt(new nl)!=G1||tl&&Zt(new tl)!=q1)&&(Zt=function(e){var t=Ui(e),r=t==xQ?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case IQ:return Y1;case CQ:return V1;case AQ:return B1;case MQ:return G1;case jQ:return q1}return t});var NX=re.Uint8Array,SQ="__lodash_hash_undefined__";function _Q(e){return this.__data__.set(e,SQ),this}var $Q=_Q;function EQ(e){return this.__data__.has(e)}var LQ=EQ;function ol(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new kg;++t<r;)this.add(e[t])}ol.prototype.add=ol.prototype.push=$Q;ol.prototype.has=LQ;var H1=Kt?Kt.prototype:void 0,DX=H1?H1.valueOf:void 0,TQ=Object.prototype,PX=TQ.hasOwnProperty,OQ=Object.prototype,zX=OQ.hasOwnProperty,UX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),RX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),FX=new RegExp(/[A-Fa-f0-9]{2}/,"g");function NQ(e){return e==null?[]:Array.isArray(e)?e:[e]}var DQ=NQ,_n="@imgly/plugin-ai-sticker-generation-web",fe="ly.img.ai.sticker-generation";function PQ(e){return{async initialize({cesdk:t}){if(t==null)return;Cq(t,_n,"0.2.4");let r=gq.get().register({type:"plugin",sceneMode:"Design",id:_n,pluginId:_n,label:"Generate Sticker",meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});t.ui.addIconSet(DY,zY),t.i18n.setTranslations({en:{[`panel.${fe}`]:"Sticker Generation",[`${fe}.dock.label`]:"AI Sticker"}});let i=e.providers?.text2sticker,n=await Promise.all(DQ(i).map(o=>o({cesdk:t})));if(!(n.length>0)){r();return}let a=await NY("sticker",{fromText:n,fromImage:[]},{cesdk:t},e);a.history?.assetSourceId!=null,a.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,a.panel.builderRenderFunction),Mq({cesdk:t,panelId:fe})):r()}}}var zQ=PQ,UQ=e=>({name:_n,version:"0.2.4",...zQ(e)}),xg=UQ;var dl=class{constructor(t,r,i=[]){this.id=t,this.assetsOrProvider=i,this.activeAssetIds=new Set,this.loaderDisposer={},this.cesdk=r}getCurrentAssets(){return typeof this.assetsOrProvider=="function"?this.assetsOrProvider():this.assetsOrProvider}async findAssets(t){let{page:r,perPage:i,locale:n="en",sortActiveFirst:a,query:o,tags:l,groups:u,excludeGroups:s,sortingOrder:c,sortKey:d}=t,p=[...this.getCurrentAssets()];if(u&&u.length>0&&(p=p.filter(k=>k.groups&&u.some(h=>k.groups?.includes(h)))),s&&s.length>0&&(p=p.filter(k=>!k.groups||!s.some(h=>k.groups?.includes(h)))),o){let k=o.toLowerCase();p=p.filter(h=>{let f=h.label?.[n]?.toLowerCase(),x=h.tags?.[n]||[];return f&&f.includes(k)||x.some(I=>I.toLowerCase().includes(k))})}if(l&&l.length>0){let k=Array.isArray(l)?l:[l];p=p.filter(h=>{let f=h.tags?.[n]||[];return k.some(x=>f.includes(x))})}a&&p.sort((k,h)=>{let f=this.activeAssetIds.has(k.id),x=this.activeAssetIds.has(h.id);return f&&!x?-1:!f&&x?1:0}),d&&d!=="id"?p.sort((k,h)=>{let f=k.meta?.[d],x=h.meta?.[d];return f===void 0?1:x===void 0?-1:typeof f=="string"&&typeof x=="string"?c==="Descending"?x.localeCompare(f):f.localeCompare(x):typeof f=="number"&&typeof x=="number"?c==="Descending"?x-f:f-x:0}):d==="id"&&p.sort((k,h)=>c==="Descending"?h.id.localeCompare(k.id):k.id.localeCompare(h.id));let y=p.length,g=r*i,b=g+i,m=p.slice(g,b).map(k=>({id:k.id,groups:k.groups,meta:k.meta,payload:k.payload,locale:n,label:k.label?.[n],tags:k.tags?.[n],active:this.activeAssetIds.has(k.id)})),w=b<y?r+1:void 0;return{assets:m,currentPage:r,nextPage:w,total:y}}updateLabel(t,r,i){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot update label on dynamic asset provider");return}this.assetsOrProvider.forEach(n=>{n.id===t&&(n.label=n.label||{},n.label[i]=r(n.label[i]))})}getLabel(t,r){let i=this.getCurrentAssets().find(n=>n.id===t);if(i!=null)return i.label?.[r]}setAssetActive(t){this.activeAssetIds.add(t)}setAssetLoading(t,r){if(r){let i=this.getLabel(t,"en")??"",n=RQ(a=>this.cesdk.engine.asset===null?!1:(this.updateLabel(t,()=>`${a} ${i}`,"en"),this.cesdk.engine.asset.assetSourceContentsChanged(this.id),!0));this.loaderDisposer[t]=()=>{this.updateLabel(t,()=>i,"en"),n()}}else this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}setAssetInactive(t){this.activeAssetIds.delete(t),this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}clearActiveAssets(){this.activeAssetIds.clear(),Object.values(this.loaderDisposer).forEach(t=>{t?.()}),this.loaderDisposer={}}isAssetActive(t){return this.activeAssetIds.has(t)}addAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot add asset to dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t.id);r>=0?this.assetsOrProvider[r]=t:this.assetsOrProvider.push(t)}removeAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot remove asset from dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t);r!==-1&&(this.assetsOrProvider.splice(r,1),this.activeAssetIds.delete(t))}async getGroups(){let t=new Set;return this.getCurrentAssets().forEach(r=>{r.groups&&r.groups.forEach(i=>t.add(i))}),Array.from(t)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};function Ig(e,t,r=[]){return new dl(e,t,r)}function RQ(e,t=200){let r=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],i=0,n=setInterval(()=>{let a=r[i];i=(i+1)%r.length,e(a)||clearInterval(n)},t);return()=>{clearInterval(n)}}var Fi="ly.img.ai.apps";var U=rs("apps"),FQ=512,VQ=128,Cg=e=>({async initialize({cesdk:t}){if(t==null)return;is(t,Fi,"0.2.4");let{providers:r}=e;t.addPlugin(m1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(Mu({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(Dc({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(qd({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(xg({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),HQ(t),BQ(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function BQ(e,t){YQ(e);let r=GQ(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(U,({builder:a})=>{a.Library(U,{entries:[U],onSelect:async o=>{Zi.get().getBy({id:o.id,type:"plugin"}).forEach(l=>{l.execute()})}})}),e.ui.addAssetLibraryEntry({id:U,sourceIds:[U],gridColumns:1,gridItemHeight:"auto",gridBackgroundType:"cover",cardLabel:({label:a})=>a,cardLabelPosition:()=>"inside"});let i=`${U}.dock`;e.ui.registerComponent([i,"ly.img.ai/apps.dock"],({builder:a,experimental:o})=>{let l=r.getCurrentAssets();if(l.length===0)return;let u=l.length===1?Zi.get().getBy({id:l[0].id,type:"plugin"})[0]:void 0,s=u?.meta?.panelId??U,c=e.ui.isPanelOpen(s),d=o.global(`${U}.isGenerating`,!1);a.Button(`${U}.dock.button`,{label:"AI",isSelected:c,icon:d.value?"@imgly/LoadingSpinner":"@imgly/Sparkle",onClick:()=>{e.ui.findAllPanels().forEach(p=>{p.startsWith("ly.img.ai.")&&p!==s&&e.ui.closePanel(p),!c&&p==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(p)}),u!=null?u.execute():c?e.ui.closePanel(U):e.ui.openPanel(U)}})})}function GQ(e,t){let r=Zi.get(),i=Ig(U,e,()=>{let a=e.engine.scene.getMode();return r.getBy({type:"plugin"}).map(({id:o,label:l,sceneMode:u})=>a==="Design"&&u==="Video"?void 0:{id:o,label:{en:l??o},meta:{sceneMode:u,thumbUri:t.baseURL!=null?qQ(t.baseURL,o):void 0,width:FQ,height:VQ}}).filter(Tl)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(U)});return i}function qQ(e,t){switch(t){case"@imgly/plugin-ai-image-generation-web":return`${e}GenerateImage.png`;case"@imgly/plugin-ai-video-generation-web":return`${e}GenerateVideo.png`;case"@imgly/plugin-ai-audio-generation-web/sound":return`${e}GenerateSound.png`;case"@imgly/plugin-ai-audio-generation-web/speech":return`${e}AIVoice.png`;case"@imgly/plugin-ai-sticker-generation-web":return`${e}GenerateSticker.png`;default:return`${e}GenerateImage.png`}}function YQ(e){e.ui.registerComponent("ly.img.assetLibrary.dock",({builder:{Button:t},engine:r,payload:i})=>{let n="\n\nPlease provide a payload with entries, e.g. \n```\n{ id: 'ly.img.assetLibrary.dock', entries: ['ly.img.image', 'ly.img.video'] }\n```";if(!i||i.id!=="ly.img.assetLibrary.dock"){console.warn(`No payload found for 'ly.img.assetLibrary.dock'${n}`);return}let{id:a,key:o,label:l,icon:u,entries:s}=i;if(s==null||!Array.isArray(s)){console.warn(`No valid entries value found for 'ly.img.assetLibrary.dock'${n}`);return}if(s.some(v=>typeof v!="string")){console.warn(`Entries value for 'ly.img.assetLibrary.dock' need to be all strings referring to asset library entries${n}`);return}l!=null&&typeof l!="string"&&console.warn("Label for 'ly.img.assetLibrary.dock' must be a string if provided");let c=r.scene.getMode(),d=s.filter(v=>{let m=e.ui.getAssetLibraryEntry(v);if(m==null)return!1;let w=m.sceneMode;return typeof w=="string"?m.sceneMode===c||m.sceneMode==="All":typeof w=="function"?m.sourceIds.some(k=>{let h=w(e.version.startsWith("1.51.")?k:{sourceId:k});return h===c||h==="All"}):!0});if(d.length===0)return;let p=l;p==null&&(p=`libraries.${a}.label`);let y=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}),g=e.ui.isPanelOpen("//ly.img.panel/assetLibrary.replace"),b=u;b==null&&d.length===1&&(b=e.ui.getAssetLibraryEntry(d[0])?.icon),t(o??a,{label:p,icon:b,isDisabled:g,isSelected:y,onClick:()=>{y?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(v=>{(v===U||v.startsWith("ly.img.ai."))&&e.ui.closePanel(v)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}))}})})}function HQ(e){e.i18n.setTranslations({en:{"common.generate":"Generate","panel.ly.img.ai.generation.confirmCancel.content":"Are you sure you want to cancel the generation?","panel.ly.img.ai.generation.confirmCancel.confirm":"Cancel Generation","panel.ly.img.ai.apps":"AI","panel.ly.img.ai.demo.video":"Generate Video","panel.ly.img.ai.demo.image":"Generate Image","libraries.ly.img.ai.image-generation.history.label":"AI Generated Images","libraries.ly.img.ai.video-generation.history.label":"AI Generated Videos","libraries.ly.img.ai.audio-generation.history.label":"AI Generated Audio","libraries.ly.img.ai.sticker-generation.history.label":"AI Generated Stickers"}})}var ZQ=e=>({name:Fi,version:"0.2.4",...Cg(e)}),oee=ZQ;export{oee as default};
|
|
665
|
+
`,MH=AH,jH=typeof global=="object"&&global&&global.Object===Object&&global,Fg=jH,SH=typeof self=="object"&&self&&self.Object===Object&&self,_H=Fg||SH||Function("return this")(),te=_H,EH=te.Symbol,er=EH,Vg=Object.prototype,$H=Vg.hasOwnProperty,LH=Vg.toString,Ni=er?er.toStringTag:void 0;function TH(e){var t=$H.call(e,Ni),r=e[Ni];try{e[Ni]=void 0;var i=!0}catch{}var n=LH.call(e);return i&&(t?e[Ni]=r:delete e[Ni]),n}var OH=TH,NH=Object.prototype,DH=NH.toString;function PH(e){return DH.call(e)}var zH=PH,UH="[object Null]",RH="[object Undefined]",ag=er?er.toStringTag:void 0;function FH(e){return e==null?e===void 0?RH:UH:ag&&ag in Object(e)?OH(e):zH(e)}var Yi=FH;function VH(e){return e!=null&&typeof e=="object"}var Ul=VH,fee=Array.isArray;function BH(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Bg=BH,GH="[object AsyncFunction]",qH="[object Function]",YH="[object GeneratorFunction]",HH="[object Proxy]";function ZH(e){if(!Bg(e))return!1;var t=Yi(e);return t==qH||t==YH||t==GH||t==HH}var QH=ZH,WH=te["__core-js_shared__"],xl=WH,lg=function(){var e=/[^.]+$/.exec(xl&&xl.keys&&xl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function KH(e){return!!lg&&lg in e}var JH=KH,XH=Function.prototype,eZ=XH.toString;function tZ(e){if(e!=null){try{return eZ.call(e)}catch{}try{return e+""}catch{}}return""}var Pe=tZ,rZ=/[\\^$.*+?()[\]{}|]/g,iZ=/^\[object .+?Constructor\]$/,nZ=Function.prototype,oZ=Object.prototype,aZ=nZ.toString,lZ=oZ.hasOwnProperty,sZ=RegExp("^"+aZ.call(lZ).replace(rZ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function uZ(e){if(!Bg(e)||JH(e))return!1;var t=QH(e)?sZ:iZ;return t.test(Pe(e))}var cZ=uZ;function dZ(e,t){return e?.[t]}var pZ=dZ;function gZ(e,t){var r=pZ(e,t);return cZ(r)?r:void 0}var or=gZ,fZ=or(te,"WeakMap"),El=fZ;function yZ(e,t){return e===t||e!==e&&t!==t}var mZ=yZ,hZ=9007199254740991;function bZ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=hZ}var vZ=bZ,yee=Object.prototype,wZ="[object Arguments]";function kZ(e){return Ul(e)&&Yi(e)==wZ}var sg=kZ,Gg=Object.prototype,xZ=Gg.hasOwnProperty,IZ=Gg.propertyIsEnumerable,mee=sg(function(){return arguments}())?sg:function(e){return Ul(e)&&xZ.call(e,"callee")&&!IZ.call(e,"callee")},qg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ug=qg&&typeof module=="object"&&module&&!module.nodeType&&module,CZ=ug&&ug.exports===qg,cg=CZ?te.Buffer:void 0,hee=cg?cg.isBuffer:void 0,AZ="[object Arguments]",MZ="[object Array]",jZ="[object Boolean]",SZ="[object Date]",_Z="[object Error]",EZ="[object Function]",$Z="[object Map]",LZ="[object Number]",TZ="[object Object]",OZ="[object RegExp]",NZ="[object Set]",DZ="[object String]",PZ="[object WeakMap]",zZ="[object ArrayBuffer]",UZ="[object DataView]",RZ="[object Float32Array]",FZ="[object Float64Array]",VZ="[object Int8Array]",BZ="[object Int16Array]",GZ="[object Int32Array]",qZ="[object Uint8Array]",YZ="[object Uint8ClampedArray]",HZ="[object Uint16Array]",ZZ="[object Uint32Array]",U={};U[RZ]=U[FZ]=U[VZ]=U[BZ]=U[GZ]=U[qZ]=U[YZ]=U[HZ]=U[ZZ]=!0;U[AZ]=U[MZ]=U[zZ]=U[jZ]=U[UZ]=U[SZ]=U[_Z]=U[EZ]=U[$Z]=U[LZ]=U[TZ]=U[OZ]=U[NZ]=U[DZ]=U[PZ]=!1;function QZ(e){return Ul(e)&&vZ(e.length)&&!!U[Yi(e)]}var WZ=QZ;function KZ(e){return function(t){return e(t)}}var JZ=KZ,Yg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ui=Yg&&typeof module=="object"&&module&&!module.nodeType&&module,XZ=Ui&&Ui.exports===Yg,Il=XZ&&Fg.process,eQ=function(){try{var e=Ui&&Ui.require&&Ui.require("util").types;return e||Il&&Il.binding&&Il.binding("util")}catch{}}(),dg=eQ,pg=dg&&dg.isTypedArray,bee=pg?JZ(pg):WZ,tQ=Object.prototype,vee=tQ.hasOwnProperty;function rQ(e,t){return function(r){return e(t(r))}}var iQ=rQ,wee=iQ(Object.keys,Object),nQ=Object.prototype,kee=nQ.hasOwnProperty,oQ=or(Object,"create"),Vi=oQ;function aQ(){this.__data__=Vi?Vi(null):{},this.size=0}var lQ=aQ;function sQ(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var uQ=sQ,cQ="__lodash_hash_undefined__",dQ=Object.prototype,pQ=dQ.hasOwnProperty;function gQ(e){var t=this.__data__;if(Vi){var r=t[e];return r===cQ?void 0:r}return pQ.call(t,e)?t[e]:void 0}var fQ=gQ,yQ=Object.prototype,mQ=yQ.hasOwnProperty;function hQ(e){var t=this.__data__;return Vi?t[e]!==void 0:mQ.call(t,e)}var bQ=hQ,vQ="__lodash_hash_undefined__";function wQ(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Vi&&t===void 0?vQ:t,this}var kQ=wQ;function ar(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}ar.prototype.clear=lQ;ar.prototype.delete=uQ;ar.prototype.get=fQ;ar.prototype.has=bQ;ar.prototype.set=kQ;var gg=ar;function xQ(){this.__data__=[],this.size=0}var IQ=xQ;function CQ(e,t){for(var r=e.length;r--;)if(mZ(e[r][0],t))return r;return-1}var lo=CQ,AQ=Array.prototype,MQ=AQ.splice;function jQ(e){var t=this.__data__,r=lo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():MQ.call(t,r,1),--this.size,!0}var SQ=jQ;function _Q(e){var t=this.__data__,r=lo(t,e);return r<0?void 0:t[r][1]}var EQ=_Q;function $Q(e){return lo(this.__data__,e)>-1}var LQ=$Q;function TQ(e,t){var r=this.__data__,i=lo(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var OQ=TQ;function lr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}lr.prototype.clear=IQ;lr.prototype.delete=SQ;lr.prototype.get=EQ;lr.prototype.has=LQ;lr.prototype.set=OQ;var so=lr,NQ=or(te,"Map"),Bi=NQ;function DQ(){this.size=0,this.__data__={hash:new gg,map:new(Bi||so),string:new gg}}var PQ=DQ;function zQ(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var UQ=zQ;function RQ(e,t){var r=e.__data__;return UQ(t)?r[typeof t=="string"?"string":"hash"]:r.map}var uo=RQ;function FQ(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t}var VQ=FQ;function BQ(e){return uo(this,e).get(e)}var GQ=BQ;function qQ(e){return uo(this,e).has(e)}var YQ=qQ;function HQ(e,t){var r=uo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var ZQ=HQ;function sr(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}sr.prototype.clear=PQ;sr.prototype.delete=VQ;sr.prototype.get=GQ;sr.prototype.has=YQ;sr.prototype.set=ZQ;var Hg=sr;function QQ(){this.__data__=new so,this.size=0}var WQ=QQ;function KQ(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var JQ=KQ;function XQ(e){return this.__data__.get(e)}var eW=XQ;function tW(e){return this.__data__.has(e)}var rW=tW,iW=200;function nW(e,t){var r=this.__data__;if(r instanceof so){var i=r.__data__;if(!Bi||i.length<iW-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hg(i)}return r.set(e,t),this.size=r.size,this}var oW=nW;function Hi(e){var t=this.__data__=new so(e);this.size=t.size}Hi.prototype.clear=WQ;Hi.prototype.delete=JQ;Hi.prototype.get=eW;Hi.prototype.has=rW;Hi.prototype.set=oW;var aW=Object.prototype,xee=aW.propertyIsEnumerable,lW=or(te,"DataView"),$l=lW,sW=or(te,"Promise"),Ll=sW,uW=or(te,"Set"),Tl=uW,fg="[object Map]",cW="[object Object]",yg="[object Promise]",mg="[object Set]",hg="[object WeakMap]",bg="[object DataView]",dW=Pe($l),pW=Pe(Bi),gW=Pe(Ll),fW=Pe(Tl),yW=Pe(El),Kt=Yi;($l&&Kt(new $l(new ArrayBuffer(1)))!=bg||Bi&&Kt(new Bi)!=fg||Ll&&Kt(Ll.resolve())!=yg||Tl&&Kt(new Tl)!=mg||El&&Kt(new El)!=hg)&&(Kt=function(e){var t=Yi(e),r=t==cW?e.constructor:void 0,i=r?Pe(r):"";if(i)switch(i){case dW:return bg;case pW:return fg;case gW:return yg;case fW:return mg;case yW:return hg}return t});var Iee=te.Uint8Array,mW="__lodash_hash_undefined__";function hW(e){return this.__data__.set(e,mW),this}var bW=hW;function vW(e){return this.__data__.has(e)}var wW=vW;function Ol(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Hg;++t<r;)this.add(e[t])}Ol.prototype.add=Ol.prototype.push=bW;Ol.prototype.has=wW;var vg=er?er.prototype:void 0,Cee=vg?vg.valueOf:void 0,kW=Object.prototype,Aee=kW.hasOwnProperty,xW=Object.prototype,Mee=xW.hasOwnProperty,jee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),See=new RegExp(/[A-Fa-f0-9]{1}/,"g"),_ee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function IW(e){return e==null?[]:Array.isArray(e)?e:[e]}var CW=IW,io="@imgly/plugin-ai-sticker-generation-web",fe="ly.img.ai.sticker-generation";function AW(e){return{async initialize({cesdk:t}){if(t==null)return;pY(t,io,"0.2.5");let r=rY.get().register({type:"plugin",sceneMode:"Design",id:io,pluginId:io,label:"Generate Sticker",meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});t.ui.addIconSet(CH,MH),t.i18n.setTranslations({en:{[`panel.${fe}`]:"Sticker Generation",[`${fe}.dock.label`]:"AI Sticker"}});let i=e.providers?.text2sticker,n=await Promise.all(CW(i).map(o=>o({cesdk:t})));if(!(n.length>0)){r();return}let a=await IH("sticker",{fromText:n,fromImage:[]},{cesdk:t},e);a.history?.assetSourceId!=null,a.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,a.panel.builderRenderFunction),fY({cesdk:t,panelId:fe})):r()}}}var MW=AW,jW=e=>({name:io,version:"0.2.5",...MW(e)}),Zg=jW;var Rl=class{constructor(t,r,i=[]){this.id=t,this.assetsOrProvider=i,this.activeAssetIds=new Set,this.loaderDisposer={},this.cesdk=r}getCurrentAssets(){return typeof this.assetsOrProvider=="function"?this.assetsOrProvider():this.assetsOrProvider}async findAssets(t){let{page:r,perPage:i,locale:n="en",sortActiveFirst:a,query:o,tags:s,groups:u,excludeGroups:l,sortingOrder:c,sortKey:d}=t,g=[...this.getCurrentAssets()];if(u&&u.length>0&&(g=g.filter(x=>x.groups&&u.some(w=>x.groups?.includes(w)))),l&&l.length>0&&(g=g.filter(x=>!x.groups||!l.some(w=>x.groups?.includes(w)))),o){let x=o.toLowerCase();g=g.filter(w=>{let v=w.label?.[n]?.toLowerCase(),k=w.tags?.[n]||[];return v&&v.includes(x)||k.some(m=>m.toLowerCase().includes(x))})}if(s&&s.length>0){let x=Array.isArray(s)?s:[s];g=g.filter(w=>{let v=w.tags?.[n]||[];return x.some(k=>v.includes(k))})}a&&g.sort((x,w)=>{let v=this.activeAssetIds.has(x.id),k=this.activeAssetIds.has(w.id);return v&&!k?-1:!v&&k?1:0}),d&&d!=="id"?g.sort((x,w)=>{let v=x.meta?.[d],k=w.meta?.[d];return v===void 0?1:k===void 0?-1:typeof v=="string"&&typeof k=="string"?c==="Descending"?k.localeCompare(v):v.localeCompare(k):typeof v=="number"&&typeof k=="number"?c==="Descending"?k-v:v-k:0}):d==="id"&&g.sort((x,w)=>c==="Descending"?w.id.localeCompare(x.id):x.id.localeCompare(w.id));let p=g.length,f=r*i,y=f+i,b=g.slice(f,y).map(x=>({id:x.id,groups:x.groups,meta:x.meta,payload:x.payload,locale:n,label:x.label?.[n],tags:x.tags?.[n],active:this.activeAssetIds.has(x.id)})),I=y<p?r+1:void 0;return{assets:b,currentPage:r,nextPage:I,total:p}}updateLabel(t,r,i){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot update label on dynamic asset provider");return}this.assetsOrProvider.forEach(n=>{n.id===t&&(n.label=n.label||{},n.label[i]=r(n.label[i]))})}getLabel(t,r){let i=this.getCurrentAssets().find(n=>n.id===t);if(i!=null)return i.label?.[r]}setAssetActive(t){this.activeAssetIds.add(t)}setAssetLoading(t,r){if(r){let i=this.getLabel(t,"en")??"",n=SW(a=>this.cesdk.engine.asset===null?!1:(this.updateLabel(t,()=>`${a} ${i}`,"en"),this.cesdk.engine.asset.assetSourceContentsChanged(this.id),!0));this.loaderDisposer[t]=()=>{this.updateLabel(t,()=>i,"en"),n()}}else this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}setAssetInactive(t){this.activeAssetIds.delete(t),this.loaderDisposer[t]?.(),this.loaderDisposer[t]=void 0}clearActiveAssets(){this.activeAssetIds.clear(),Object.values(this.loaderDisposer).forEach(t=>{t?.()}),this.loaderDisposer={}}isAssetActive(t){return this.activeAssetIds.has(t)}addAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot add asset to dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t.id);r>=0?this.assetsOrProvider[r]=t:this.assetsOrProvider.push(t)}removeAsset(t){if(typeof this.assetsOrProvider=="function"){console.warn("Cannot remove asset from dynamic asset provider");return}let r=this.assetsOrProvider.findIndex(i=>i.id===t);r!==-1&&(this.assetsOrProvider.splice(r,1),this.activeAssetIds.delete(t))}async getGroups(){let t=new Set;return this.getCurrentAssets().forEach(r=>{r.groups&&r.groups.forEach(i=>t.add(i))}),Array.from(t)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};function Qg(e,t,r=[]){return new Rl(e,t,r)}function SW(e,t=200){let r=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],i=0,n=setInterval(()=>{let a=r[i];i=(i+1)%r.length,e(a)||clearInterval(n)},t);return()=>{clearInterval(n)}}var Zi="ly.img.ai.apps";var F=$s("apps"),_W=512,EW=128,Wg=e=>({async initialize({cesdk:t}){if(t==null)return;Ls(t,Zi,"0.2.5");let{providers:r}=e;t.addPlugin(V1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(ec({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(cd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(vp({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),t.addPlugin(Zg({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),NW(t),$W(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function $W(e,t){OW(e);let r=LW(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(F,({builder:a})=>{a.Library(F,{entries:[F],onSelect:async o=>{tn.get().getBy({id:o.id,type:"plugin"}).forEach(s=>{s.execute()})}})}),e.ui.addAssetLibraryEntry({id:F,sourceIds:[F],gridColumns:1,gridItemHeight:"auto",gridBackgroundType:"cover",cardLabel:({label:a})=>a,cardLabelPosition:()=>"inside"});let i=`${F}.dock`;e.ui.registerComponent([i,"ly.img.ai/apps.dock"],({builder:a,experimental:o})=>{let s=r.getCurrentAssets();if(s.length===0)return;let u=s.length===1?tn.get().getBy({id:s[0].id,type:"plugin"})[0]:void 0,l=u?.meta?.panelId??F,c=e.ui.isPanelOpen(l),d=o.global(`${F}.isGenerating`,!1);a.Button(`${F}.dock.button`,{label:"AI",isSelected:c,icon:d.value?"@imgly/LoadingSpinner":"@imgly/Sparkle",onClick:()=>{e.ui.findAllPanels().forEach(g=>{g.startsWith("ly.img.ai.")&&g!==l&&e.ui.closePanel(g),!c&&g==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(g)}),u!=null?u.execute():c?e.ui.closePanel(F):e.ui.openPanel(F)}})})}function LW(e,t){let r=tn.get(),i=Qg(F,e,()=>{let a=e.engine.scene.getMode();return r.getBy({type:"plugin"}).map(({id:o,label:s,sceneMode:u})=>a==="Design"&&u==="Video"?void 0:{id:o,label:{en:s??o},meta:{sceneMode:u,thumbUri:t.baseURL!=null?TW(t.baseURL,o):void 0,width:_W,height:EW}}).filter(ss)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(F)});return i}function TW(e,t){switch(t){case"@imgly/plugin-ai-image-generation-web":return`${e}GenerateImage.png`;case"@imgly/plugin-ai-video-generation-web":return`${e}GenerateVideo.png`;case"@imgly/plugin-ai-audio-generation-web/sound":return`${e}GenerateSound.png`;case"@imgly/plugin-ai-audio-generation-web/speech":return`${e}AIVoice.png`;case"@imgly/plugin-ai-sticker-generation-web":return`${e}GenerateSticker.png`;default:return`${e}GenerateImage.png`}}function OW(e){e.ui.registerComponent("ly.img.assetLibrary.dock",({builder:{Button:t},engine:r,payload:i})=>{let n="\n\nPlease provide a payload with entries, e.g. \n```\n{ id: 'ly.img.assetLibrary.dock', entries: ['ly.img.image', 'ly.img.video'] }\n```";if(!i||i.id!=="ly.img.assetLibrary.dock"){console.warn(`No payload found for 'ly.img.assetLibrary.dock'${n}`);return}let{id:a,key:o,label:s,icon:u,entries:l}=i;if(l==null||!Array.isArray(l)){console.warn(`No valid entries value found for 'ly.img.assetLibrary.dock'${n}`);return}if(l.some(h=>typeof h!="string")){console.warn(`Entries value for 'ly.img.assetLibrary.dock' need to be all strings referring to asset library entries${n}`);return}s!=null&&typeof s!="string"&&console.warn("Label for 'ly.img.assetLibrary.dock' must be a string if provided");let c=r.scene.getMode(),d=l.filter(h=>{let b=e.ui.getAssetLibraryEntry(h);if(b==null)return!1;let I=b.sceneMode;return typeof I=="string"?b.sceneMode===c||b.sceneMode==="All":typeof I=="function"?b.sourceIds.some(x=>{let w=I(e.version.startsWith("1.51.")?x:{sourceId:x});return w===c||w==="All"}):!0});if(d.length===0)return;let g=s;g==null&&(g=`libraries.${a}.label`);let p=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:g}}),f=e.ui.isPanelOpen("//ly.img.panel/assetLibrary.replace"),y=u;y==null&&d.length===1&&(y=e.ui.getAssetLibraryEntry(d[0])?.icon),t(o??a,{label:g,icon:y,isDisabled:f,isSelected:p,onClick:()=>{p?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(h=>{(h===F||h.startsWith("ly.img.ai."))&&e.ui.closePanel(h)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:g}}))}})})}function NW(e){e.i18n.setTranslations({en:{"common.generate":"Generate","panel.ly.img.ai.generation.confirmCancel.content":"Are you sure you want to cancel the generation?","panel.ly.img.ai.generation.confirmCancel.confirm":"Cancel Generation","panel.ly.img.ai.apps":"AI","panel.ly.img.ai.demo.video":"Generate Video","panel.ly.img.ai.demo.image":"Generate Image","libraries.ly.img.ai.image-generation.history.label":"AI Generated Images","libraries.ly.img.ai.video-generation.history.label":"AI Generated Videos","libraries.ly.img.ai.audio-generation.history.label":"AI Generated Audio","libraries.ly.img.ai.sticker-generation.history.label":"AI Generated Stickers"}})}var DW=e=>({name:Zi,version:"0.2.5",...Wg(e)}),Hee=DW;export{Hee as default};
|
|
666
666
|
/*! Bundled license information:
|
|
667
667
|
|
|
668
668
|
@imgly/plugin-utils/dist/index.mjs:
|