@imgly/plugin-ai-apps-web 1.81.0 → 1.81.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +5 -5
- package/package.json +9 -9
package/dist/index.mjs
CHANGED
|
@@ -141,7 +141,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
141
141
|
|
|
142
142
|
</symbol>
|
|
143
143
|
</svg>
|
|
144
|
-
`,R3=U3,F3=typeof global=="object"&&global&&global.Object===Object&&global,jc=F3,V3=typeof self=="object"&&self&&self.Object===Object&&self,B3=jc||V3||Function("return this")(),ee=B3,q3=ee.Symbol,st=q3,$c=Object.prototype,G3=$c.hasOwnProperty,Y3=$c.toString,Er=st?st.toStringTag:void 0;function H3(e){var t=G3.call(e,Er),r=e[Er];try{e[Er]=void 0;var i=!0}catch{}var n=Y3.call(e);return i&&(t?e[Er]=r:delete e[Er]),n}var Z3=H3,Q3=Object.prototype,W3=Q3.toString;function K3(e){return W3.call(e)}var J3=K3,X3="[object Null]",e8="[object Undefined]",Lu=st?st.toStringTag:void 0;function t8(e){return e==null?e===void 0?e8:X3:Lu&&Lu in Object(e)?Z3(e):J3(e)}var Zr=t8;function r8(e){return e!=null&&typeof e=="object"}var xa=r8,qJ=Array.isArray;function i8(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ec=i8,n8="[object AsyncFunction]",o8="[object Function]",a8="[object GeneratorFunction]",l8="[object Proxy]";function s8(e){if(!Ec(e))return!1;var t=Zr(e);return t==o8||t==a8||t==n8||t==l8}var u8=s8,c8=ee["__core-js_shared__"],ea=c8,Ou=function(){var e=/[^.]+$/.exec(ea&&ea.keys&&ea.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function d8(e){return!!Ou&&Ou in e}var p8=d8,g8=Function.prototype,f8=g8.toString;function y8(e){if(e!=null){try{return f8.call(e)}catch{}try{return e+""}catch{}}return""}var Le=y8,m8=/[\\^$.*+?()[\]{}|]/g,h8=/^\[object .+?Constructor\]$/,b8=Function.prototype,v8=Object.prototype,w8=b8.toString,k8=v8.hasOwnProperty,x8=RegExp("^"+w8.call(k8).replace(m8,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function I8(e){if(!Ec(e)||p8(e))return!1;var t=u8(e)?x8:h8;return t.test(Le(e))}var A8=I8;function C8(e,t){return e?.[t]}var S8=C8;function M8(e,t){var r=S8(e,t);return A8(r)?r:void 0}var gt=M8,j8=gt(ee,"WeakMap"),pa=j8;function $8(e,t){return e===t||e!==e&&t!==t}var E8=$8,_8=9007199254740991;function T8(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_8}var L8=T8,GJ=Object.prototype,O8="[object Arguments]";function N8(e){return xa(e)&&Zr(e)==O8}var Nu=N8,_c=Object.prototype,D8=_c.hasOwnProperty,P8=_c.propertyIsEnumerable,YJ=Nu(function(){return arguments}())?Nu:function(e){return xa(e)&&D8.call(e,"callee")&&!P8.call(e,"callee")},Tc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Du=Tc&&typeof module=="object"&&module&&!module.nodeType&&module,z8=Du&&Du.exports===Tc,Pu=z8?ee.Buffer:void 0,HJ=Pu?Pu.isBuffer:void 0,U8="[object Arguments]",R8="[object Array]",F8="[object Boolean]",V8="[object Date]",B8="[object Error]",q8="[object Function]",G8="[object Map]",Y8="[object Number]",H8="[object Object]",Z8="[object RegExp]",Q8="[object Set]",W8="[object String]",K8="[object WeakMap]",J8="[object ArrayBuffer]",X8="[object DataView]",e7="[object Float32Array]",t7="[object Float64Array]",r7="[object Int8Array]",i7="[object Int16Array]",n7="[object Int32Array]",o7="[object Uint8Array]",a7="[object Uint8ClampedArray]",l7="[object Uint16Array]",s7="[object Uint32Array]",N={};N[e7]=N[t7]=N[r7]=N[i7]=N[n7]=N[o7]=N[a7]=N[l7]=N[s7]=!0;N[U8]=N[R8]=N[J8]=N[F8]=N[X8]=N[V8]=N[B8]=N[q8]=N[G8]=N[Y8]=N[H8]=N[Z8]=N[Q8]=N[W8]=N[K8]=!1;function u7(e){return xa(e)&&L8(e.length)&&!!N[Zr(e)]}var c7=u7;function d7(e){return function(t){return e(t)}}var p7=d7,Lc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=Lc&&typeof module=="object"&&module&&!module.nodeType&&module,g7=Pr&&Pr.exports===Lc,ta=g7&&jc.process,f7=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||ta&&ta.binding&&ta.binding("util")}catch{}}(),zu=f7,Uu=zu&&zu.isTypedArray,ZJ=Uu?p7(Uu):c7,y7=Object.prototype,QJ=y7.hasOwnProperty;function m7(e,t){return function(r){return e(t(r))}}var h7=m7,WJ=h7(Object.keys,Object),b7=Object.prototype,KJ=b7.hasOwnProperty,v7=gt(Object,"create"),Fr=v7;function w7(){this.__data__=Fr?Fr(null):{},this.size=0}var k7=w7;function x7(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var I7=x7,A7="__lodash_hash_undefined__",C7=Object.prototype,S7=C7.hasOwnProperty;function M7(e){var t=this.__data__;if(Fr){var r=t[e];return r===A7?void 0:r}return S7.call(t,e)?t[e]:void 0}var j7=M7,$7=Object.prototype,E7=$7.hasOwnProperty;function _7(e){var t=this.__data__;return Fr?t[e]!==void 0:E7.call(t,e)}var T7=_7,L7="__lodash_hash_undefined__";function O7(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Fr&&t===void 0?L7:t,this}var N7=O7;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=k7;ft.prototype.delete=I7;ft.prototype.get=j7;ft.prototype.has=T7;ft.prototype.set=N7;var Ru=ft;function D7(){this.__data__=[],this.size=0}var P7=D7;function z7(e,t){for(var r=e.length;r--;)if(E8(e[r][0],t))return r;return-1}var zn=z7,U7=Array.prototype,R7=U7.splice;function F7(e){var t=this.__data__,r=zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():R7.call(t,r,1),--this.size,!0}var V7=F7;function B7(e){var t=this.__data__,r=zn(t,e);return r<0?void 0:t[r][1]}var q7=B7;function G7(e){return zn(this.__data__,e)>-1}var Y7=G7;function H7(e,t){var r=this.__data__,i=zn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Z7=H7;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=P7;yt.prototype.delete=V7;yt.prototype.get=q7;yt.prototype.has=Y7;yt.prototype.set=Z7;var Un=yt,Q7=gt(ee,"Map"),Vr=Q7;function W7(){this.size=0,this.__data__={hash:new Ru,map:new(Vr||Un),string:new Ru}}var K7=W7;function J7(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var X7=J7;function e6(e,t){var r=e.__data__;return X7(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Rn=e6;function t6(e){var t=Rn(this,e).delete(e);return this.size-=t?1:0,t}var r6=t6;function i6(e){return Rn(this,e).get(e)}var n6=i6;function o6(e){return Rn(this,e).has(e)}var a6=o6;function l6(e,t){var r=Rn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var s6=l6;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=K7;mt.prototype.delete=r6;mt.prototype.get=n6;mt.prototype.has=a6;mt.prototype.set=s6;var Oc=mt;function u6(){this.__data__=new Un,this.size=0}var c6=u6;function d6(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var p6=d6;function g6(e){return this.__data__.get(e)}var f6=g6;function y6(e){return this.__data__.has(e)}var m6=y6,h6=200;function b6(e,t){var r=this.__data__;if(r instanceof Un){var i=r.__data__;if(!Vr||i.length<h6-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 v6=b6;function Qr(e){var t=this.__data__=new Un(e);this.size=t.size}Qr.prototype.clear=c6;Qr.prototype.delete=p6;Qr.prototype.get=f6;Qr.prototype.has=m6;Qr.prototype.set=v6;var w6=Object.prototype,JJ=w6.propertyIsEnumerable,k6=gt(ee,"DataView"),ga=k6,x6=gt(ee,"Promise"),fa=x6,I6=gt(ee,"Set"),ya=I6,Fu="[object Map]",A6="[object Object]",Vu="[object Promise]",Bu="[object Set]",qu="[object WeakMap]",Gu="[object DataView]",C6=Le(ga),S6=Le(Vr),M6=Le(fa),j6=Le(ya),$6=Le(pa),ot=Zr;(ga&&ot(new ga(new ArrayBuffer(1)))!=Gu||Vr&&ot(new Vr)!=Fu||fa&&ot(fa.resolve())!=Vu||ya&&ot(new ya)!=Bu||pa&&ot(new pa)!=qu)&&(ot=function(e){var t=Zr(e),r=t==A6?e.constructor:void 0,i=r?Le(r):"";if(i)switch(i){case C6:return Gu;case S6:return Fu;case M6:return Vu;case j6:return Bu;case $6:return qu}return t});var XJ=ee.Uint8Array,E6="__lodash_hash_undefined__";function _6(e){return this.__data__.set(e,E6),this}var T6=_6;function L6(e){return this.__data__.has(e)}var O6=L6;function ma(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Oc;++t<r;)this.add(e[t])}ma.prototype.add=ma.prototype.push=T6;ma.prototype.has=O6;var Yu=st?st.prototype:void 0,eX=Yu?Yu.valueOf:void 0,N6=Object.prototype,tX=N6.hasOwnProperty,D6=Object.prototype,rX=D6.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");async function P6(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 ht(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 P6(i,t)}function z6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Hu=z6;function U6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function R6(e){return typeof e?.translate=="function"}function F6(e,t,r){return e&&U6(e)&&R6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",V6=["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","ly.img.animateBetweenImages"],Fn="editImage",ue=`ly.img.${Fn}`,Zu=`ly.img.plugin-ai-image-generation-web.quickAction.${Fn}`,Cn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Fn}`;function Sn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Fn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var B6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),H(e,{en:{[`${Cn}`]:"Edit Image...",[`${Cn}.description`]:"Change image based on description",[`${Cn}.prompt`]:"Edit Image...",[`${Zu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${Cn}.apply`]:"Change"}}),{id:ue,type:"quick",kind:"image",label:`${Zu}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ue}.prompt`,"");t.TextArea(`${ue}.prompt`,{inputLabel:Sn(l,"prompt"),placeholder:Sn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ue}.separator`),r.builder.ButtonRow(`${ue}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ue}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ue}.footer.apply`,{label:Sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await ht(p,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:g}),n(),c()}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(`${ue}.button`,{label:Sn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),q6=B6,Vn="swapBackground",ce=`ly.img.${Vn}`,Qu=`ly.img.plugin-ai-image-generation-web.quickAction.${Vn}`,Mn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Vn}`;function jn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Vn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var G6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),H(e,{en:{[`${Mn}`]:"Swap Background...",[`${Mn}.description`]:"Change the background of the image",[`${Mn}.prompt`]:"Swap Background...",[`${Qu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Mn}.apply`]:"Change"}}),{id:ce,type:"quick",kind:"image",label:`${Qu}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ce}.prompt`,"");t.TextArea(`${ce}.prompt`,{inputLabel:jn(l,"prompt"),placeholder:jn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ce}.separator`),r.builder.ButtonRow(`${ce}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ce}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ce}.footer.apply`,{label:jn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await ht(p,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:g}),n(),c()}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(`${ce}.button`,{label:jn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),Y6=G6,Bn="styleTransfer",_r=`ly.img.${Bn}`,H6=`ly.img.plugin-ai-image-generation-web.quickAction.${Bn}`,W=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Bn}`;function Wu(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Bn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Z6=[{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."}],Q6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),H(e,{en:{[`${W}`]:"Change Art Style",[`${W}.description`]:"Transform image into different art styles",[`${W}.water`]:"Watercolor Painting",[`${W}.oil`]:"Oil Painting",[`${W}.charcoal`]:"Charcoal Sketch",[`${W}.pencil`]:"Pencil Drawing",[`${W}.pastel`]:"Pastel Artwork",[`${W}.ink`]:"Ink Wash",[`${W}.stained-glass`]:"Stained Glass Window",[`${W}.japanese`]:"Japanese Woodblock Print"}}),{id:_r,type:"quick",kind:"image",label:`${H6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${_r}.popover`,{label:Wu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${_r}.popover.section`,{children:()=>{r.builder.Menu(`${_r}.popover.menu`,{children:()=>{Z6.forEach(s=>{t.Button(`${_r}.popover.menu.${s.id}`,{label:Wu(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await ht(c,n,{throwErrorIfSvg:!0});await i({style:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),W6=Q6,qn="artistTransfer",Tr=`ly.img.${qn}`,K6=`ly.img.plugin-ai-image-generation-web.quickAction.${qn}`,G=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qn}`;function Ku(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${qn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var J6=[{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."}],X6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),H(e,{en:{[`${G}`]:"Painted By",[`${G}.description`]:"Transform image in the style of famous artists",[`${G}.van-gogh`]:"Van Gogh",[`${G}.monet`]:"Monet",[`${G}.picasso`]:"Picasso",[`${G}.dali`]:"Dal\xED",[`${G}.matisse`]:"Matisse",[`${G}.warhol`]:"Warhol",[`${G}.michelangelo`]:"Michelangelo",[`${G}.da-vinci`]:"Da Vinci",[`${G}.rembrandt`]:"Rembrandt",[`${G}.mondrian`]:"Mondrian",[`${G}.kahlo`]:"Frida Kahlo",[`${G}.hokusai`]:"Hokusai"}}),{id:Tr,type:"quick",kind:"image",label:`${K6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Tr}.popover`,{label:Ku(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Tr}.popover.section`,{children:()=>{r.builder.Menu(`${Tr}.popover.menu`,{children:()=>{J6.forEach(s=>{t.Button(`${Tr}.popover.menu.${s.id}`,{label:Ku(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await ht(c,n,{throwErrorIfSvg:!0});await i({artist:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),ew=X6,Gn="createVariant",de=`ly.img.${Gn}`,Ju=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,$n=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function En(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Gn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var tw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),H(e,{en:{[`${$n}`]:"Create Variant...",[`${$n}.description`]:"Create a variation of the image",[`${$n}.prompt`]:"Create Variant...",[`${Ju}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${$n}.apply`]:"Create"}}),{id:de,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Ju}`,enable:t=>{if(!Hr()(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:c,providerId:l})=>{if(i){let u=s(`${de}.prompt`,"");t.TextArea(`${de}.prompt`,{inputLabel:En(l,"prompt"),placeholder:En(l,"prompt.placeholder")[1],...u}),t.Separator(`${de}.separator`),r.builder.ButtonRow(`${de}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${de}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${de}.footer.apply`,{label:En(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getType(p),y=o.block.duplicate(p);g==="//ly.img.ubq/page"&&o.block.getChildren(y).forEach(b=>{o.block.destroy(b)}),o.block.setSelected(p,!1),o.block.setSelected(y,!0);let f=o.block.getParent(y);if(f==null)throw new Error("Parent not found");if(!(f!=null&&o.block.getType(f)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(f))&&g!=="//ly.img.ubq/page"){let b=o.block.getWidth(f),k=o.block.getHeight(f),w=.02*Math.min(b,k)*1;o.block.setPositionX(y,o.block.getPositionX(y)+w),o.block.setPositionY(y,o.block.getPositionY(y)+w)}let m=await ht(y,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:m},{blockIds:[y]}),n(),c()}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(`${de}.button`,{label:En(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),rw=tw,Yn="combineImages",pe=`ly.img.${Yn}`,Xu=`ly.img.plugin-ai-image-generation-web.quickAction.${Yn}`,ra=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Yn}`;function _n(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Yn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var iw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),H(e,{en:{[`${ra}.apply`]:"Combine",[`${ra}`]:"Combine Images...",[`${ra}.prompt`]:"Image Combination Instructions",[`${Xu}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:pe,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Xu}`,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:c,providerId:l})=>{if(i){let u=s(`${pe}.prompt`,"");t.TextArea(`${pe}.prompt`,{inputLabel:_n(l,"prompt"),placeholder:_n(l,"prompt.placeholder")[1],...u}),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:_n(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let p=o.block.findAllSelected(),g=o.block.duplicate(p[0]);p.forEach(I=>{o.block.setSelected(I,!1)}),o.block.setSelected(g,!0);let y=o.block.getParent(g);if(y==null)throw new Error("Parent not found");let f=1,m=o.block.getWidth(y),b=o.block.getHeight(y),k=.02*Math.min(m,b)*f;o.block.setPositionX(g,o.block.getPositionX(g)+k),o.block.setPositionY(g,o.block.getPositionY(g)+k);let w=await Promise.all(p.map(I=>ht(I,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:w,exportFromBlockIds:p},{blockIds:[g]}),n(),c()}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(`${pe}.button`,{label:_n(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),nw=iw,Hn="remixPage",ec=`ly.img.${Hn}`,ow=`ly.img.plugin-ai-image-generation-web.quickAction.${Hn}`,aw=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Hn}`;function lw(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Hn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var sw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${aw}`]:"Turn Page into Image"}}),{id:ec,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${ow}`,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(`${ec}.button`,{label:lw(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=await i.block.export(o),c=URL.createObjectURL(s),l=i.block.duplicate(o);i.block.getChildren(l).forEach(b=>{i.block.destroy(b)}),i.block.setSelected(o,!1);let u=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),p=i.block.getPositionX(o),g=i.block.getPositionY(o),y=i.block.createShape("rect"),f=i.block.create("graphic");i.block.setShape(f,y),i.block.appendChild(l,f),i.block.setWidth(f,u),i.block.setHeight(f,d),i.block.setPositionX(f,p),i.block.setPositionY(f,g);let m=i.block.createFill("image");i.block.setFill(f,m),i.block.setString(m,"fill/image/imageFileURI",c),i.block.setSelected(f,!0),i.scene.zoomToBlock(f),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:c},{blockIds:[f]}),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"})}}})}}),uw=sw,Zn="remixPageWithPrompt",ge=`ly.img.${Zn}`,tc=`ly.img.plugin-ai-image-generation-web.quickAction.${Zn}`,ia=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Zn}`;function Tn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Zn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var cw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),H(e,{en:{[`${ia}`]:"Remix Page...",[`${ia}.prompt`]:"Remix Page Prompt",[`${tc}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${ia}.apply`]:"Remix"}}),{id:ge,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${tc}`,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:c,providerId:l})=>{if(i){let u=s(`${ge}.prompt`,"");t.TextArea(`${ge}.prompt`,{inputLabel:Tn(l,"prompt"),placeholder:Tn(l,"prompt.placeholder")[1],...u}),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:Tn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await o.block.export(p),y=URL.createObjectURL(g),f=o.block.duplicate(p);o.block.getChildren(f).forEach(M=>{o.block.destroy(M)}),o.block.setSelected(p,!1);let m=o.block.getFrameWidth(p),b=o.block.getFrameHeight(p),k=o.block.getPositionX(p),w=o.block.getPositionY(p),I=o.block.createShape("rect"),h=o.block.create("graphic");o.block.setShape(h,I),o.block.appendChild(f,h),o.block.setWidth(h,m),o.block.setHeight(h,b),o.block.setPositionX(h,k),o.block.setPositionY(h,w);let x=o.block.createFill("image");o.block.setFill(h,x),o.block.setString(x,"fill/image/imageFileURI",y),o.block.setSelected(h,!0),o.scene.zoomToBlock(h),await a({prompt:d,uri:y},{blockIds:[h]}),n(),c()}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(`${ge}.button`,{label:Tn(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),dw=cw,fe="ly.img.ai.image-generation";function pw(e){return{async initialize({cesdk:t}){if(t==null)return;i9(t,Nr,"1.81.0"),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.providerSelect",!0);let r=ba.get(),i=`${Nr}.action.label`;t.ui.addIconSet(z3,R3),H(t,{en:{[`panel.${fe}`]:"Image Generation",[`${fe}.dock.label`]:"AI Image",[i]:"Generate Image"}});let n=r.register({type:"plugin",sceneMode:"Design",id:Nr,pluginId:Nr,label:F6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});gw(e),r.register(q6({cesdk:t})),r.register(Y6({cesdk:t})),r.register(W6({cesdk:t})),r.register(ew({cesdk:t})),r.register(rw({cesdk:t})),r.register(nw({cesdk:t})),r.register(uw({cesdk:t})),r.register(dw({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,s=await Promise.all(Hu(a).map(d=>d({cesdk:t}))),c=await Promise.all(Hu(o).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let l=await g3("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await P3({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:V6});l.history?.assetSourceId!=null,u.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",u.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:Pn})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,l.panel.builderRenderFunction),o9({cesdk:t,panelId:fe})):n()}}}function gw(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 fw=pw,yw=e=>({name:Nr,version:"1.81.0",...fw(e)}),Nc=yw;var mw=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((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);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;wt(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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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=()=>{wt(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(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-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 wt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),wt(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()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.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 c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<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 wt(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]=wt(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]=wt(n,t,a)}return e}var hw=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,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")}},bw=typeof global=="object"&&global&&global.Object===Object&&global,xd=bw,vw=typeof self=="object"&&self&&self.Object===Object&&self,ww=xd||vw||Function("return this")(),te=ww,kw=te.Symbol,kt=kw,Id=Object.prototype,xw=Id.hasOwnProperty,Iw=Id.toString,Wr=kt?kt.toStringTag:void 0;function Aw(e){var t=xw.call(e,Wr),r=e[Wr];try{e[Wr]=void 0;var i=!0}catch{}var n=Iw.call(e);return i&&(t?e[Wr]=r:delete e[Wr]),n}var Cw=Aw,Sw=Object.prototype,Mw=Sw.toString;function jw(e){return Mw.call(e)}var $w=jw,Ew="[object Null]",_w="[object Undefined]",Dc=kt?kt.toStringTag:void 0;function Tw(e){return e==null?e===void 0?_w:Ew:Dc&&Dc in Object(e)?Cw(e):$w(e)}var si=Tw;function Lw(e){return e!=null&&typeof e=="object"}var Va=Lw,cX=Array.isArray;function Ow(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ad=Ow,Nw="[object AsyncFunction]",Dw="[object Function]",Pw="[object GeneratorFunction]",zw="[object Proxy]";function Uw(e){if(!Ad(e))return!1;var t=si(e);return t==Dw||t==Pw||t==Nw||t==zw}var Rw=Uw,Fw=te["__core-js_shared__"],Ia=Fw,Pc=function(){var e=/[^.]+$/.exec(Ia&&Ia.keys&&Ia.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Vw(e){return!!Pc&&Pc in e}var Bw=Vw,qw=Function.prototype,Gw=qw.toString;function Yw(e){if(e!=null){try{return Gw.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=Yw,Hw=/[\\^$.*+?()[\]{}|]/g,Zw=/^\[object .+?Constructor\]$/,Qw=Function.prototype,Ww=Object.prototype,Kw=Qw.toString,Jw=Ww.hasOwnProperty,Xw=RegExp("^"+Kw.call(Jw).replace(Hw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ek(e){if(!Ad(e)||Bw(e))return!1;var t=Rw(e)?Xw:Zw;return t.test(Oe(e))}var tk=ek;function rk(e,t){return e?.[t]}var ik=rk;function nk(e,t){var r=ik(e,t);return tk(r)?r:void 0}var It=nk,ok=It(te,"WeakMap"),Ea=ok;function ak(e,t){return e===t||e!==e&&t!==t}var lk=ak,sk=9007199254740991;function uk(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=sk}var ck=uk,dX=Object.prototype,dk="[object Arguments]";function pk(e){return Va(e)&&si(e)==dk}var zc=pk,Cd=Object.prototype,gk=Cd.hasOwnProperty,fk=Cd.propertyIsEnumerable,pX=zc(function(){return arguments}())?zc:function(e){return Va(e)&&gk.call(e,"callee")&&!fk.call(e,"callee")},Sd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Uc=Sd&&typeof module=="object"&&module&&!module.nodeType&&module,yk=Uc&&Uc.exports===Sd,Rc=yk?te.Buffer:void 0,gX=Rc?Rc.isBuffer:void 0,mk="[object Arguments]",hk="[object Array]",bk="[object Boolean]",vk="[object Date]",wk="[object Error]",kk="[object Function]",xk="[object Map]",Ik="[object Number]",Ak="[object Object]",Ck="[object RegExp]",Sk="[object Set]",Mk="[object String]",jk="[object WeakMap]",$k="[object ArrayBuffer]",Ek="[object DataView]",_k="[object Float32Array]",Tk="[object Float64Array]",Lk="[object Int8Array]",Ok="[object Int16Array]",Nk="[object Int32Array]",Dk="[object Uint8Array]",Pk="[object Uint8ClampedArray]",zk="[object Uint16Array]",Uk="[object Uint32Array]",D={};D[_k]=D[Tk]=D[Lk]=D[Ok]=D[Nk]=D[Dk]=D[Pk]=D[zk]=D[Uk]=!0;D[mk]=D[hk]=D[$k]=D[bk]=D[Ek]=D[vk]=D[wk]=D[kk]=D[xk]=D[Ik]=D[Ak]=D[Ck]=D[Sk]=D[Mk]=D[jk]=!1;function Rk(e){return Va(e)&&ck(e.length)&&!!D[si(e)]}var Fk=Rk;function Vk(e){return function(t){return e(t)}}var Bk=Vk,Md=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Md&&typeof module=="object"&&module&&!module.nodeType&&module,qk=ri&&ri.exports===Md,Aa=qk&&xd.process,Gk=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Aa&&Aa.binding&&Aa.binding("util")}catch{}}(),Fc=Gk,Vc=Fc&&Fc.isTypedArray,fX=Vc?Bk(Vc):Fk,Yk=Object.prototype,yX=Yk.hasOwnProperty;function Hk(e,t){return function(r){return e(t(r))}}var Zk=Hk,mX=Zk(Object.keys,Object),Qk=Object.prototype,hX=Qk.hasOwnProperty,Wk=It(Object,"create"),ni=Wk;function Kk(){this.__data__=ni?ni(null):{},this.size=0}var Jk=Kk;function Xk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ex=Xk,tx="__lodash_hash_undefined__",rx=Object.prototype,ix=rx.hasOwnProperty;function nx(e){var t=this.__data__;if(ni){var r=t[e];return r===tx?void 0:r}return ix.call(t,e)?t[e]:void 0}var ox=nx,ax=Object.prototype,lx=ax.hasOwnProperty;function sx(e){var t=this.__data__;return ni?t[e]!==void 0:lx.call(t,e)}var ux=sx,cx="__lodash_hash_undefined__";function dx(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ni&&t===void 0?cx:t,this}var px=dx;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=Jk;At.prototype.delete=ex;At.prototype.get=ox;At.prototype.has=ux;At.prototype.set=px;var Bc=At;function gx(){this.__data__=[],this.size=0}var fx=gx;function yx(e,t){for(var r=e.length;r--;)if(lk(e[r][0],t))return r;return-1}var Wn=yx,mx=Array.prototype,hx=mx.splice;function bx(e){var t=this.__data__,r=Wn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():hx.call(t,r,1),--this.size,!0}var vx=bx;function wx(e){var t=this.__data__,r=Wn(t,e);return r<0?void 0:t[r][1]}var kx=wx;function xx(e){return Wn(this.__data__,e)>-1}var Ix=xx;function Ax(e,t){var r=this.__data__,i=Wn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Cx=Ax;function Ct(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])}}Ct.prototype.clear=fx;Ct.prototype.delete=vx;Ct.prototype.get=kx;Ct.prototype.has=Ix;Ct.prototype.set=Cx;var Kn=Ct,Sx=It(te,"Map"),oi=Sx;function Mx(){this.size=0,this.__data__={hash:new Bc,map:new(oi||Kn),string:new Bc}}var jx=Mx;function $x(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ex=$x;function _x(e,t){var r=e.__data__;return Ex(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Jn=_x;function Tx(e){var t=Jn(this,e).delete(e);return this.size-=t?1:0,t}var Lx=Tx;function Ox(e){return Jn(this,e).get(e)}var Nx=Ox;function Dx(e){return Jn(this,e).has(e)}var Px=Dx;function zx(e,t){var r=Jn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Ux=zx;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=jx;St.prototype.delete=Lx;St.prototype.get=Nx;St.prototype.has=Px;St.prototype.set=Ux;var jd=St;function Rx(){this.__data__=new Kn,this.size=0}var Fx=Rx;function Vx(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Bx=Vx;function qx(e){return this.__data__.get(e)}var Gx=qx;function Yx(e){return this.__data__.has(e)}var Hx=Yx,Zx=200;function Qx(e,t){var r=this.__data__;if(r instanceof Kn){var i=r.__data__;if(!oi||i.length<Zx-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new jd(i)}return r.set(e,t),this.size=r.size,this}var Wx=Qx;function ui(e){var t=this.__data__=new Kn(e);this.size=t.size}ui.prototype.clear=Fx;ui.prototype.delete=Bx;ui.prototype.get=Gx;ui.prototype.has=Hx;ui.prototype.set=Wx;var Kx=Object.prototype,bX=Kx.propertyIsEnumerable,Jx=It(te,"DataView"),_a=Jx,Xx=It(te,"Promise"),Ta=Xx,eI=It(te,"Set"),La=eI,qc="[object Map]",tI="[object Object]",Gc="[object Promise]",Yc="[object Set]",Hc="[object WeakMap]",Zc="[object DataView]",rI=Oe(_a),iI=Oe(oi),nI=Oe(Ta),oI=Oe(La),aI=Oe(Ea),bt=si;(_a&&bt(new _a(new ArrayBuffer(1)))!=Zc||oi&&bt(new oi)!=qc||Ta&&bt(Ta.resolve())!=Gc||La&&bt(new La)!=Yc||Ea&&bt(new Ea)!=Hc)&&(bt=function(e){var t=si(e),r=t==tI?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case rI:return Zc;case iI:return qc;case nI:return Gc;case oI:return Yc;case aI:return Hc}return t});var vX=te.Uint8Array,lI="__lodash_hash_undefined__";function sI(e){return this.__data__.set(e,lI),this}var uI=sI;function cI(e){return this.__data__.has(e)}var dI=cI;function Oa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new jd;++t<r;)this.add(e[t])}Oa.prototype.add=Oa.prototype.push=uI;Oa.prototype.has=dI;var Qc=kt?kt.prototype:void 0,wX=Qc?Qc.valueOf:void 0,pI=Object.prototype,kX=pI.hasOwnProperty,gI=Object.prototype,xX=gI.hasOwnProperty,IX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),AX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),CX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function $d(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 fI(e,t){let r=await $d(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 yI(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 $d(i,t)}function mI(e){return e!==void 0}var hI=mI;function ci(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function di(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function pi(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Qn=class Ed{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 Ed),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))}},bI=class _d{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new _d),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 vI(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return p(u,y,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function wI({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 kI=wI,Ca="ly.img.ai.temp";async function xI(e,t){return e.engine.asset.findAllSources().includes(Ca)||e.engine.asset.addLocalSource(Ca),e.engine.asset.apply(Ca,t)}function II(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 Td(){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 AI(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 c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.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 CI(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 Ba(e){return e instanceof Error&&e.name==="AbortError"}function SI(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function MI(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,jc=F3,V3=typeof self=="object"&&self&&self.Object===Object&&self,B3=jc||V3||Function("return this")(),ee=B3,q3=ee.Symbol,st=q3,$c=Object.prototype,G3=$c.hasOwnProperty,Y3=$c.toString,Er=st?st.toStringTag:void 0;function H3(e){var t=G3.call(e,Er),r=e[Er];try{e[Er]=void 0;var i=!0}catch{}var n=Y3.call(e);return i&&(t?e[Er]=r:delete e[Er]),n}var Z3=H3,Q3=Object.prototype,W3=Q3.toString;function K3(e){return W3.call(e)}var J3=K3,X3="[object Null]",e8="[object Undefined]",Lu=st?st.toStringTag:void 0;function t8(e){return e==null?e===void 0?e8:X3:Lu&&Lu in Object(e)?Z3(e):J3(e)}var Zr=t8;function r8(e){return e!=null&&typeof e=="object"}var xa=r8,qJ=Array.isArray;function i8(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ec=i8,n8="[object AsyncFunction]",o8="[object Function]",a8="[object GeneratorFunction]",l8="[object Proxy]";function s8(e){if(!Ec(e))return!1;var t=Zr(e);return t==o8||t==a8||t==n8||t==l8}var u8=s8,c8=ee["__core-js_shared__"],ea=c8,Ou=function(){var e=/[^.]+$/.exec(ea&&ea.keys&&ea.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function d8(e){return!!Ou&&Ou in e}var p8=d8,g8=Function.prototype,f8=g8.toString;function y8(e){if(e!=null){try{return f8.call(e)}catch{}try{return e+""}catch{}}return""}var Le=y8,m8=/[\\^$.*+?()[\]{}|]/g,h8=/^\[object .+?Constructor\]$/,b8=Function.prototype,v8=Object.prototype,w8=b8.toString,k8=v8.hasOwnProperty,x8=RegExp("^"+w8.call(k8).replace(m8,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function I8(e){if(!Ec(e)||p8(e))return!1;var t=u8(e)?x8:h8;return t.test(Le(e))}var A8=I8;function C8(e,t){return e?.[t]}var S8=C8;function M8(e,t){var r=S8(e,t);return A8(r)?r:void 0}var gt=M8,j8=gt(ee,"WeakMap"),pa=j8;function $8(e,t){return e===t||e!==e&&t!==t}var E8=$8,_8=9007199254740991;function T8(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_8}var L8=T8,GJ=Object.prototype,O8="[object Arguments]";function N8(e){return xa(e)&&Zr(e)==O8}var Nu=N8,_c=Object.prototype,D8=_c.hasOwnProperty,P8=_c.propertyIsEnumerable,YJ=Nu(function(){return arguments}())?Nu:function(e){return xa(e)&&D8.call(e,"callee")&&!P8.call(e,"callee")},Tc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Du=Tc&&typeof module=="object"&&module&&!module.nodeType&&module,z8=Du&&Du.exports===Tc,Pu=z8?ee.Buffer:void 0,HJ=Pu?Pu.isBuffer:void 0,U8="[object Arguments]",R8="[object Array]",F8="[object Boolean]",V8="[object Date]",B8="[object Error]",q8="[object Function]",G8="[object Map]",Y8="[object Number]",H8="[object Object]",Z8="[object RegExp]",Q8="[object Set]",W8="[object String]",K8="[object WeakMap]",J8="[object ArrayBuffer]",X8="[object DataView]",e7="[object Float32Array]",t7="[object Float64Array]",r7="[object Int8Array]",i7="[object Int16Array]",n7="[object Int32Array]",o7="[object Uint8Array]",a7="[object Uint8ClampedArray]",l7="[object Uint16Array]",s7="[object Uint32Array]",N={};N[e7]=N[t7]=N[r7]=N[i7]=N[n7]=N[o7]=N[a7]=N[l7]=N[s7]=!0;N[U8]=N[R8]=N[J8]=N[F8]=N[X8]=N[V8]=N[B8]=N[q8]=N[G8]=N[Y8]=N[H8]=N[Z8]=N[Q8]=N[W8]=N[K8]=!1;function u7(e){return xa(e)&&L8(e.length)&&!!N[Zr(e)]}var c7=u7;function d7(e){return function(t){return e(t)}}var p7=d7,Lc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pr=Lc&&typeof module=="object"&&module&&!module.nodeType&&module,g7=Pr&&Pr.exports===Lc,ta=g7&&jc.process,f7=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||ta&&ta.binding&&ta.binding("util")}catch{}}(),zu=f7,Uu=zu&&zu.isTypedArray,ZJ=Uu?p7(Uu):c7,y7=Object.prototype,QJ=y7.hasOwnProperty;function m7(e,t){return function(r){return e(t(r))}}var h7=m7,WJ=h7(Object.keys,Object),b7=Object.prototype,KJ=b7.hasOwnProperty,v7=gt(Object,"create"),Fr=v7;function w7(){this.__data__=Fr?Fr(null):{},this.size=0}var k7=w7;function x7(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var I7=x7,A7="__lodash_hash_undefined__",C7=Object.prototype,S7=C7.hasOwnProperty;function M7(e){var t=this.__data__;if(Fr){var r=t[e];return r===A7?void 0:r}return S7.call(t,e)?t[e]:void 0}var j7=M7,$7=Object.prototype,E7=$7.hasOwnProperty;function _7(e){var t=this.__data__;return Fr?t[e]!==void 0:E7.call(t,e)}var T7=_7,L7="__lodash_hash_undefined__";function O7(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Fr&&t===void 0?L7:t,this}var N7=O7;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=k7;ft.prototype.delete=I7;ft.prototype.get=j7;ft.prototype.has=T7;ft.prototype.set=N7;var Ru=ft;function D7(){this.__data__=[],this.size=0}var P7=D7;function z7(e,t){for(var r=e.length;r--;)if(E8(e[r][0],t))return r;return-1}var zn=z7,U7=Array.prototype,R7=U7.splice;function F7(e){var t=this.__data__,r=zn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():R7.call(t,r,1),--this.size,!0}var V7=F7;function B7(e){var t=this.__data__,r=zn(t,e);return r<0?void 0:t[r][1]}var q7=B7;function G7(e){return zn(this.__data__,e)>-1}var Y7=G7;function H7(e,t){var r=this.__data__,i=zn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Z7=H7;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=P7;yt.prototype.delete=V7;yt.prototype.get=q7;yt.prototype.has=Y7;yt.prototype.set=Z7;var Un=yt,Q7=gt(ee,"Map"),Vr=Q7;function W7(){this.size=0,this.__data__={hash:new Ru,map:new(Vr||Un),string:new Ru}}var K7=W7;function J7(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var X7=J7;function e6(e,t){var r=e.__data__;return X7(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Rn=e6;function t6(e){var t=Rn(this,e).delete(e);return this.size-=t?1:0,t}var r6=t6;function i6(e){return Rn(this,e).get(e)}var n6=i6;function o6(e){return Rn(this,e).has(e)}var a6=o6;function l6(e,t){var r=Rn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var s6=l6;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=K7;mt.prototype.delete=r6;mt.prototype.get=n6;mt.prototype.has=a6;mt.prototype.set=s6;var Oc=mt;function u6(){this.__data__=new Un,this.size=0}var c6=u6;function d6(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var p6=d6;function g6(e){return this.__data__.get(e)}var f6=g6;function y6(e){return this.__data__.has(e)}var m6=y6,h6=200;function b6(e,t){var r=this.__data__;if(r instanceof Un){var i=r.__data__;if(!Vr||i.length<h6-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 v6=b6;function Qr(e){var t=this.__data__=new Un(e);this.size=t.size}Qr.prototype.clear=c6;Qr.prototype.delete=p6;Qr.prototype.get=f6;Qr.prototype.has=m6;Qr.prototype.set=v6;var w6=Object.prototype,JJ=w6.propertyIsEnumerable,k6=gt(ee,"DataView"),ga=k6,x6=gt(ee,"Promise"),fa=x6,I6=gt(ee,"Set"),ya=I6,Fu="[object Map]",A6="[object Object]",Vu="[object Promise]",Bu="[object Set]",qu="[object WeakMap]",Gu="[object DataView]",C6=Le(ga),S6=Le(Vr),M6=Le(fa),j6=Le(ya),$6=Le(pa),ot=Zr;(ga&&ot(new ga(new ArrayBuffer(1)))!=Gu||Vr&&ot(new Vr)!=Fu||fa&&ot(fa.resolve())!=Vu||ya&&ot(new ya)!=Bu||pa&&ot(new pa)!=qu)&&(ot=function(e){var t=Zr(e),r=t==A6?e.constructor:void 0,i=r?Le(r):"";if(i)switch(i){case C6:return Gu;case S6:return Fu;case M6:return Vu;case j6:return Bu;case $6:return qu}return t});var XJ=ee.Uint8Array,E6="__lodash_hash_undefined__";function _6(e){return this.__data__.set(e,E6),this}var T6=_6;function L6(e){return this.__data__.has(e)}var O6=L6;function ma(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Oc;++t<r;)this.add(e[t])}ma.prototype.add=ma.prototype.push=T6;ma.prototype.has=O6;var Yu=st?st.prototype:void 0,eX=Yu?Yu.valueOf:void 0,N6=Object.prototype,tX=N6.hasOwnProperty,D6=Object.prototype,rX=D6.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");async function P6(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 ht(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 P6(i,t)}function z6(e){return e==null?[]:Array.isArray(e)?e:[e]}var Hu=z6;function U6(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function R6(e){return typeof e?.translate=="function"}function F6(e,t,r){return e&&U6(e)&&R6(e.i18n)?e.i18n.translate(t):r}var Nr="@imgly/plugin-ai-image-generation-web",V6=["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","ly.img.animateBetweenImages"],Fn="editImage",ue=`ly.img.${Fn}`,Zu=`ly.img.plugin-ai-image-generation-web.quickAction.${Fn}`,Cn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Fn}`;function Sn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Fn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var B6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.editImage",!0),H(e,{en:{[`${Cn}`]:"Edit Image...",[`${Cn}.description`]:"Change image based on description",[`${Cn}.prompt`]:"Edit Image...",[`${Zu}.prompt.placeholder`]:'e.g. "Add a sunset"',[`${Cn}.apply`]:"Change"}}),{id:ue,type:"quick",kind:"image",label:`${Zu}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ue}.prompt`,"");t.TextArea(`${ue}.prompt`,{inputLabel:Sn(l,"prompt"),placeholder:Sn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ue}.separator`),r.builder.ButtonRow(`${ue}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ue}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ue}.footer.apply`,{label:Sn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await ht(p,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:g}),n(),c()}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(`${ue}.button`,{label:Sn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),q6=B6,Vn="swapBackground",ce=`ly.img.${Vn}`,Qu=`ly.img.plugin-ai-image-generation-web.quickAction.${Vn}`,Mn=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Vn}`;function jn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Vn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var G6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.swapBackground",!0),H(e,{en:{[`${Mn}`]:"Swap Background...",[`${Mn}.description`]:"Change the background of the image",[`${Mn}.prompt`]:"Swap Background...",[`${Qu}.prompt.placeholder`]:'e.g. "A sunset over mountains"',[`${Mn}.apply`]:"Change"}}),{id:ce,type:"quick",kind:"image",label:`${Qu}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,isExpanded:i,toggleExpand:n,generate:a,engine:o,state:s,close:c,providerId:l})=>{if(i){let u=s(`${ce}.prompt`,"");t.TextArea(`${ce}.prompt`,{inputLabel:jn(l,"prompt"),placeholder:jn(l,"prompt.placeholder")[1],...u}),t.Separator(`${ce}.separator`),r.builder.ButtonRow(`${ce}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${ce}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${ce}.footer.apply`,{label:jn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await ht(p,o,{throwErrorIfSvg:!0});await a({prompt:`Swap the background to ${d}`,uri:g}),n(),c()}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(`${ce}.button`,{label:jn(l),icon:"@imgly/plugin-ai-generation/image",labelAlignment:"left",variant:"plain",onClick:n})}}),Y6=G6,Bn="styleTransfer",_r=`ly.img.${Bn}`,H6=`ly.img.plugin-ai-image-generation-web.quickAction.${Bn}`,W=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Bn}`;function Wu(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Bn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Z6=[{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."}],Q6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.styleTransfer",!0),H(e,{en:{[`${W}`]:"Change Art Style",[`${W}.description`]:"Transform image into different art styles",[`${W}.water`]:"Watercolor Painting",[`${W}.oil`]:"Oil Painting",[`${W}.charcoal`]:"Charcoal Sketch",[`${W}.pencil`]:"Pencil Drawing",[`${W}.pastel`]:"Pastel Artwork",[`${W}.ink`]:"Ink Wash",[`${W}.stained-glass`]:"Stained Glass Window",[`${W}.japanese`]:"Japanese Woodblock Print"}}),{id:_r,type:"quick",kind:"image",label:`${H6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${_r}.popover`,{label:Wu(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${_r}.popover.section`,{children:()=>{r.builder.Menu(`${_r}.popover.menu`,{children:()=>{Z6.forEach(s=>{t.Button(`${_r}.popover.menu.${s.id}`,{label:Wu(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await ht(c,n,{throwErrorIfSvg:!0});await i({style:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply style transfer. Please try again.",duration:"medium"})}}})})}})}})}})}}),W6=Q6,qn="artistTransfer",Tr=`ly.img.${qn}`,K6=`ly.img.plugin-ai-image-generation-web.quickAction.${qn}`,G=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${qn}`;function Ku(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${qn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var J6=[{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."}],X6=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.artistTransfer",!0),H(e,{en:{[`${G}`]:"Painted By",[`${G}.description`]:"Transform image in the style of famous artists",[`${G}.van-gogh`]:"Van Gogh",[`${G}.monet`]:"Monet",[`${G}.picasso`]:"Picasso",[`${G}.dali`]:"Dal\xED",[`${G}.matisse`]:"Matisse",[`${G}.warhol`]:"Warhol",[`${G}.michelangelo`]:"Michelangelo",[`${G}.da-vinci`]:"Da Vinci",[`${G}.rembrandt`]:"Rembrandt",[`${G}.mondrian`]:"Mondrian",[`${G}.kahlo`]:"Frida Kahlo",[`${G}.hokusai`]:"Hokusai"}}),{id:Tr,type:"quick",kind:"image",label:`${K6}`,enable:Hr(),scopes:["fill/change"],render:({builder:t,experimental:r,generate:i,engine:n,close:a,providerId:o})=>{r.builder.Popover(`${Tr}.popover`,{label:Ku(o),icon:"@imgly/Appearance",labelAlignment:"left",variant:"plain",trailingIcon:"@imgly/ChevronRight",placement:"right",children:()=>{t.Section(`${Tr}.popover.section`,{children:()=>{r.builder.Menu(`${Tr}.popover.menu`,{children:()=>{J6.forEach(s=>{t.Button(`${Tr}.popover.menu.${s.id}`,{label:Ku(o,s.id),labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[c]=n.block.findAllSelected(),l=await ht(c,n,{throwErrorIfSvg:!0});await i({artist:s.prompt,uri:l}),a()}catch(c){console.error("Generation error:",c),e.ui.showNotification({type:"error",message:c.message||"Failed to apply artist style. Please try again.",duration:"medium"})}}})})}})}})}})}}),ew=X6,Gn="createVariant",de=`ly.img.${Gn}`,Ju=`ly.img.plugin-ai-image-generation-web.quickAction.${Gn}`,$n=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Gn}`;function En(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Gn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var tw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVariant",!0),H(e,{en:{[`${$n}`]:"Create Variant...",[`${$n}.description`]:"Create a variation of the image",[`${$n}.prompt`]:"Create Variant...",[`${Ju}.prompt.placeholder`]:'e.g. "Make it more colorful"',[`${$n}.apply`]:"Create"}}),{id:de,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Ju}`,enable:t=>{if(!Hr()(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:c,providerId:l})=>{if(i){let u=s(`${de}.prompt`,"");t.TextArea(`${de}.prompt`,{inputLabel:En(l,"prompt"),placeholder:En(l,"prompt.placeholder")[1],...u}),t.Separator(`${de}.separator`),r.builder.ButtonRow(`${de}.footer`,{justifyContent:"space-between",children:()=>{t.Button(`${de}.footer.cancel`,{label:"common.back",icon:"@imgly/ChevronLeft",onClick:n}),t.Button(`${de}.footer.apply`,{label:En(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getType(p),y=o.block.duplicate(p);g==="//ly.img.ubq/page"&&o.block.getChildren(y).forEach(b=>{o.block.destroy(b)}),o.block.setSelected(p,!1),o.block.setSelected(y,!0);let f=o.block.getParent(y);if(f==null)throw new Error("Parent not found");if(!(f!=null&&o.block.getType(f)==="//ly.img.ubq/track"&&o.block.isPageDurationSource(f))&&g!=="//ly.img.ubq/page"){let b=o.block.getWidth(f),k=o.block.getHeight(f),w=.02*Math.min(b,k)*1;o.block.setPositionX(y,o.block.getPositionX(y)+w),o.block.setPositionY(y,o.block.getPositionY(y)+w)}let m=await ht(y,o,{throwErrorIfSvg:!0});await a({prompt:d,uri:m},{blockIds:[y]}),n(),c()}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(`${de}.button`,{label:En(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),rw=tw,Yn="combineImages",pe=`ly.img.${Yn}`,Xu=`ly.img.plugin-ai-image-generation-web.quickAction.${Yn}`,ra=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Yn}`;function _n(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Yn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var iw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.combineImages",!0),H(e,{en:{[`${ra}.apply`]:"Combine",[`${ra}`]:"Combine Images...",[`${ra}.prompt`]:"Image Combination Instructions",[`${Xu}.prompt.placeholder`]:"e.g., add character to the left of the mountain scene"}}),{id:pe,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${Xu}`,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:c,providerId:l})=>{if(i){let u=s(`${pe}.prompt`,"");t.TextArea(`${pe}.prompt`,{inputLabel:_n(l,"prompt"),placeholder:_n(l,"prompt.placeholder")[1],...u}),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:_n(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let p=o.block.findAllSelected(),g=o.block.duplicate(p[0]);p.forEach(I=>{o.block.setSelected(I,!1)}),o.block.setSelected(g,!0);let y=o.block.getParent(g);if(y==null)throw new Error("Parent not found");let f=1,m=o.block.getWidth(y),b=o.block.getHeight(y),k=.02*Math.min(m,b)*f;o.block.setPositionX(g,o.block.getPositionX(g)+k),o.block.setPositionY(g,o.block.getPositionY(g)+k);let w=await Promise.all(p.map(I=>ht(I,o,{throwErrorIfSvg:!0})));await a({prompt:d,uris:w,exportFromBlockIds:p},{blockIds:[g]}),n(),c()}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(`${pe}.button`,{label:_n(l),icon:"@imgly/ImageVariation",labelAlignment:"left",variant:"plain",onClick:n})}}),nw=iw,Hn="remixPage",ec=`ly.img.${Hn}`,ow=`ly.img.plugin-ai-image-generation-web.quickAction.${Hn}`,aw=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Hn}`;function lw(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Hn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var sw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPage",!0),H(e,{en:{[`${aw}`]:"Turn Page into Image"}}),{id:ec,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${ow}`,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(`${ec}.button`,{label:lw(a),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[o]=i.block.findAllSelected(),s=await i.block.export(o),c=URL.createObjectURL(s),l=i.block.duplicate(o);i.block.getChildren(l).forEach(b=>{i.block.destroy(b)}),i.block.setSelected(o,!1);let u=i.block.getFrameWidth(o),d=i.block.getFrameHeight(o),p=i.block.getPositionX(o),g=i.block.getPositionY(o),y=i.block.createShape("rect"),f=i.block.create("graphic");i.block.setShape(f,y),i.block.appendChild(l,f),i.block.setWidth(f,u),i.block.setHeight(f,d),i.block.setPositionX(f,p),i.block.setPositionY(f,g);let m=i.block.createFill("image");i.block.setFill(f,m),i.block.setString(m,"fill/image/imageFileURI",c),i.block.setSelected(f,!0),i.scene.zoomToBlock(f),await r({prompt:"Follow instructions but don't add the instructions for the image",uri:c},{blockIds:[f]}),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"})}}})}}),uw=sw,Zn="remixPageWithPrompt",ge=`ly.img.${Zn}`,tc=`ly.img.plugin-ai-image-generation-web.quickAction.${Zn}`,ia=`ly.img.plugin-ai-image-generation-web.defaults.quickAction.${Zn}`;function Tn(e,t){let r="ly.img.plugin-ai-image-generation-web",i=`quickAction.${Zn}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var cw=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.remixPageWithPrompt",!0),H(e,{en:{[`${ia}`]:"Remix Page...",[`${ia}.prompt`]:"Remix Page Prompt",[`${tc}.prompt.placeholder`]:"e.g. rearrange the layout to...",[`${ia}.apply`]:"Remix"}}),{id:ge,type:"quick",kind:"image",defaults:{confirmation:!1,lock:!1},label:`${tc}`,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:c,providerId:l})=>{if(i){let u=s(`${ge}.prompt`,"");t.TextArea(`${ge}.prompt`,{inputLabel:Tn(l,"prompt"),placeholder:Tn(l,"prompt.placeholder")[1],...u}),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:Tn(l,"apply"),icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=await o.block.export(p),y=URL.createObjectURL(g),f=o.block.duplicate(p);o.block.getChildren(f).forEach(M=>{o.block.destroy(M)}),o.block.setSelected(p,!1);let m=o.block.getFrameWidth(p),b=o.block.getFrameHeight(p),k=o.block.getPositionX(p),w=o.block.getPositionY(p),I=o.block.createShape("rect"),h=o.block.create("graphic");o.block.setShape(h,I),o.block.appendChild(f,h),o.block.setWidth(h,m),o.block.setHeight(h,b),o.block.setPositionX(h,k),o.block.setPositionY(h,w);let x=o.block.createFill("image");o.block.setFill(h,x),o.block.setString(x,"fill/image/imageFileURI",y),o.block.setSelected(h,!0),o.scene.zoomToBlock(h),await a({prompt:d,uri:y},{blockIds:[h]}),n(),c()}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(`${ge}.button`,{label:Tn(l),icon:"@imgly/Sparkle",labelAlignment:"left",variant:"plain",onClick:n})}}),dw=cw,fe="ly.img.ai.image-generation";function pw(e){return{async initialize({cesdk:t}){if(t==null)return;i9(t,Nr,"1.81.1"),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.providerSelect",!0);let r=ba.get(),i=`${Nr}.action.label`;t.ui.addIconSet(z3,R3),H(t,{en:{[`panel.${fe}`]:"Image Generation",[`${fe}.dock.label`]:"AI Image",[i]:"Generate Image"}});let n=r.register({type:"plugin",sceneMode:"Design",id:Nr,pluginId:Nr,label:F6(t,i,"Generate Image"),labelKey:i,meta:{panelId:fe},execute:()=>{t.ui.isPanelOpen(fe)?t.ui.closePanel(fe):t.ui.openPanel(fe)}});gw(e),r.register(q6({cesdk:t})),r.register(Y6({cesdk:t})),r.register(W6({cesdk:t})),r.register(ew({cesdk:t})),r.register(rw({cesdk:t})),r.register(nw({cesdk:t})),r.register(uw({cesdk:t})),r.register(dw({cesdk:t}));let a=e.providers?.text2image??e.text2image,o=e.providers?.image2image??e.image2image,s=await Promise.all(Hu(a).map(d=>d({cesdk:t}))),c=await Promise.all(Hu(o).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let l=await g3("image",{fromText:s,fromImage:c},{cesdk:t},e),u=await P3({kind:"image",providerInitializationResults:l.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:V6});l.history?.assetSourceId!=null,u.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.image.canvasMenu",u.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.image.canvasMenu"],{editMode:Pn})),l.panel.builderRenderFunction!=null?(t.ui.registerPanel(fe,l.panel.builderRenderFunction),o9({cesdk:t,panelId:fe})):n()}}}function gw(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 fw=pw,yw=e=>({name:Nr,version:"1.81.1",...fw(e)}),Nc=yw;var mw=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((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);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;wt(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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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=()=>{wt(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(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-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 wt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),wt(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()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.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 c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<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 wt(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]=wt(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]=wt(n,t,a)}return e}var hw=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,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")}},bw=typeof global=="object"&&global&&global.Object===Object&&global,xd=bw,vw=typeof self=="object"&&self&&self.Object===Object&&self,ww=xd||vw||Function("return this")(),te=ww,kw=te.Symbol,kt=kw,Id=Object.prototype,xw=Id.hasOwnProperty,Iw=Id.toString,Wr=kt?kt.toStringTag:void 0;function Aw(e){var t=xw.call(e,Wr),r=e[Wr];try{e[Wr]=void 0;var i=!0}catch{}var n=Iw.call(e);return i&&(t?e[Wr]=r:delete e[Wr]),n}var Cw=Aw,Sw=Object.prototype,Mw=Sw.toString;function jw(e){return Mw.call(e)}var $w=jw,Ew="[object Null]",_w="[object Undefined]",Dc=kt?kt.toStringTag:void 0;function Tw(e){return e==null?e===void 0?_w:Ew:Dc&&Dc in Object(e)?Cw(e):$w(e)}var si=Tw;function Lw(e){return e!=null&&typeof e=="object"}var Va=Lw,cX=Array.isArray;function Ow(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ad=Ow,Nw="[object AsyncFunction]",Dw="[object Function]",Pw="[object GeneratorFunction]",zw="[object Proxy]";function Uw(e){if(!Ad(e))return!1;var t=si(e);return t==Dw||t==Pw||t==Nw||t==zw}var Rw=Uw,Fw=te["__core-js_shared__"],Ia=Fw,Pc=function(){var e=/[^.]+$/.exec(Ia&&Ia.keys&&Ia.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Vw(e){return!!Pc&&Pc in e}var Bw=Vw,qw=Function.prototype,Gw=qw.toString;function Yw(e){if(e!=null){try{return Gw.call(e)}catch{}try{return e+""}catch{}}return""}var Oe=Yw,Hw=/[\\^$.*+?()[\]{}|]/g,Zw=/^\[object .+?Constructor\]$/,Qw=Function.prototype,Ww=Object.prototype,Kw=Qw.toString,Jw=Ww.hasOwnProperty,Xw=RegExp("^"+Kw.call(Jw).replace(Hw,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ek(e){if(!Ad(e)||Bw(e))return!1;var t=Rw(e)?Xw:Zw;return t.test(Oe(e))}var tk=ek;function rk(e,t){return e?.[t]}var ik=rk;function nk(e,t){var r=ik(e,t);return tk(r)?r:void 0}var It=nk,ok=It(te,"WeakMap"),Ea=ok;function ak(e,t){return e===t||e!==e&&t!==t}var lk=ak,sk=9007199254740991;function uk(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=sk}var ck=uk,dX=Object.prototype,dk="[object Arguments]";function pk(e){return Va(e)&&si(e)==dk}var zc=pk,Cd=Object.prototype,gk=Cd.hasOwnProperty,fk=Cd.propertyIsEnumerable,pX=zc(function(){return arguments}())?zc:function(e){return Va(e)&&gk.call(e,"callee")&&!fk.call(e,"callee")},Sd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Uc=Sd&&typeof module=="object"&&module&&!module.nodeType&&module,yk=Uc&&Uc.exports===Sd,Rc=yk?te.Buffer:void 0,gX=Rc?Rc.isBuffer:void 0,mk="[object Arguments]",hk="[object Array]",bk="[object Boolean]",vk="[object Date]",wk="[object Error]",kk="[object Function]",xk="[object Map]",Ik="[object Number]",Ak="[object Object]",Ck="[object RegExp]",Sk="[object Set]",Mk="[object String]",jk="[object WeakMap]",$k="[object ArrayBuffer]",Ek="[object DataView]",_k="[object Float32Array]",Tk="[object Float64Array]",Lk="[object Int8Array]",Ok="[object Int16Array]",Nk="[object Int32Array]",Dk="[object Uint8Array]",Pk="[object Uint8ClampedArray]",zk="[object Uint16Array]",Uk="[object Uint32Array]",D={};D[_k]=D[Tk]=D[Lk]=D[Ok]=D[Nk]=D[Dk]=D[Pk]=D[zk]=D[Uk]=!0;D[mk]=D[hk]=D[$k]=D[bk]=D[Ek]=D[vk]=D[wk]=D[kk]=D[xk]=D[Ik]=D[Ak]=D[Ck]=D[Sk]=D[Mk]=D[jk]=!1;function Rk(e){return Va(e)&&ck(e.length)&&!!D[si(e)]}var Fk=Rk;function Vk(e){return function(t){return e(t)}}var Bk=Vk,Md=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Md&&typeof module=="object"&&module&&!module.nodeType&&module,qk=ri&&ri.exports===Md,Aa=qk&&xd.process,Gk=function(){try{var e=ri&&ri.require&&ri.require("util").types;return e||Aa&&Aa.binding&&Aa.binding("util")}catch{}}(),Fc=Gk,Vc=Fc&&Fc.isTypedArray,fX=Vc?Bk(Vc):Fk,Yk=Object.prototype,yX=Yk.hasOwnProperty;function Hk(e,t){return function(r){return e(t(r))}}var Zk=Hk,mX=Zk(Object.keys,Object),Qk=Object.prototype,hX=Qk.hasOwnProperty,Wk=It(Object,"create"),ni=Wk;function Kk(){this.__data__=ni?ni(null):{},this.size=0}var Jk=Kk;function Xk(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ex=Xk,tx="__lodash_hash_undefined__",rx=Object.prototype,ix=rx.hasOwnProperty;function nx(e){var t=this.__data__;if(ni){var r=t[e];return r===tx?void 0:r}return ix.call(t,e)?t[e]:void 0}var ox=nx,ax=Object.prototype,lx=ax.hasOwnProperty;function sx(e){var t=this.__data__;return ni?t[e]!==void 0:lx.call(t,e)}var ux=sx,cx="__lodash_hash_undefined__";function dx(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ni&&t===void 0?cx:t,this}var px=dx;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=Jk;At.prototype.delete=ex;At.prototype.get=ox;At.prototype.has=ux;At.prototype.set=px;var Bc=At;function gx(){this.__data__=[],this.size=0}var fx=gx;function yx(e,t){for(var r=e.length;r--;)if(lk(e[r][0],t))return r;return-1}var Wn=yx,mx=Array.prototype,hx=mx.splice;function bx(e){var t=this.__data__,r=Wn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():hx.call(t,r,1),--this.size,!0}var vx=bx;function wx(e){var t=this.__data__,r=Wn(t,e);return r<0?void 0:t[r][1]}var kx=wx;function xx(e){return Wn(this.__data__,e)>-1}var Ix=xx;function Ax(e,t){var r=this.__data__,i=Wn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Cx=Ax;function Ct(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])}}Ct.prototype.clear=fx;Ct.prototype.delete=vx;Ct.prototype.get=kx;Ct.prototype.has=Ix;Ct.prototype.set=Cx;var Kn=Ct,Sx=It(te,"Map"),oi=Sx;function Mx(){this.size=0,this.__data__={hash:new Bc,map:new(oi||Kn),string:new Bc}}var jx=Mx;function $x(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ex=$x;function _x(e,t){var r=e.__data__;return Ex(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Jn=_x;function Tx(e){var t=Jn(this,e).delete(e);return this.size-=t?1:0,t}var Lx=Tx;function Ox(e){return Jn(this,e).get(e)}var Nx=Ox;function Dx(e){return Jn(this,e).has(e)}var Px=Dx;function zx(e,t){var r=Jn(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var Ux=zx;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=jx;St.prototype.delete=Lx;St.prototype.get=Nx;St.prototype.has=Px;St.prototype.set=Ux;var jd=St;function Rx(){this.__data__=new Kn,this.size=0}var Fx=Rx;function Vx(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Bx=Vx;function qx(e){return this.__data__.get(e)}var Gx=qx;function Yx(e){return this.__data__.has(e)}var Hx=Yx,Zx=200;function Qx(e,t){var r=this.__data__;if(r instanceof Kn){var i=r.__data__;if(!oi||i.length<Zx-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new jd(i)}return r.set(e,t),this.size=r.size,this}var Wx=Qx;function ui(e){var t=this.__data__=new Kn(e);this.size=t.size}ui.prototype.clear=Fx;ui.prototype.delete=Bx;ui.prototype.get=Gx;ui.prototype.has=Hx;ui.prototype.set=Wx;var Kx=Object.prototype,bX=Kx.propertyIsEnumerable,Jx=It(te,"DataView"),_a=Jx,Xx=It(te,"Promise"),Ta=Xx,eI=It(te,"Set"),La=eI,qc="[object Map]",tI="[object Object]",Gc="[object Promise]",Yc="[object Set]",Hc="[object WeakMap]",Zc="[object DataView]",rI=Oe(_a),iI=Oe(oi),nI=Oe(Ta),oI=Oe(La),aI=Oe(Ea),bt=si;(_a&&bt(new _a(new ArrayBuffer(1)))!=Zc||oi&&bt(new oi)!=qc||Ta&&bt(Ta.resolve())!=Gc||La&&bt(new La)!=Yc||Ea&&bt(new Ea)!=Hc)&&(bt=function(e){var t=si(e),r=t==tI?e.constructor:void 0,i=r?Oe(r):"";if(i)switch(i){case rI:return Zc;case iI:return qc;case nI:return Gc;case oI:return Yc;case aI:return Hc}return t});var vX=te.Uint8Array,lI="__lodash_hash_undefined__";function sI(e){return this.__data__.set(e,lI),this}var uI=sI;function cI(e){return this.__data__.has(e)}var dI=cI;function Oa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new jd;++t<r;)this.add(e[t])}Oa.prototype.add=Oa.prototype.push=uI;Oa.prototype.has=dI;var Qc=kt?kt.prototype:void 0,wX=Qc?Qc.valueOf:void 0,pI=Object.prototype,kX=pI.hasOwnProperty,gI=Object.prototype,xX=gI.hasOwnProperty,IX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),AX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),CX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function $d(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 fI(e,t){let r=await $d(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 yI(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 $d(i,t)}function mI(e){return e!==void 0}var hI=mI;function ci(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function di(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function pi(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Qn=class Ed{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 Ed),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))}},bI=class _d{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new _d),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 vI(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return p(u,y,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function wI({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 kI=wI,Ca="ly.img.ai.temp";async function xI(e,t){return e.engine.asset.findAllSources().includes(Ca)||e.engine.asset.addLocalSource(Ca),e.engine.asset.apply(Ca,t)}function II(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 Td(){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 AI(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 c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.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 CI(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 Ba(e){return e instanceof Error&&e.name==="AbortError"}function SI(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function MI(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
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 jI(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 $I=jI;function EI(){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 _I=EI;function TI(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),LI(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:II(e)}))}function LI(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,duration:i.duration}),!0}var Wc=TI,OI="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",qa=OI;function NI(e,t,r){switch(t){case"image":return DI(e,r[t]);case"video":return PI(e,r[t]);case"sticker":return zI(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function DI(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:qa,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function PI(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:qa,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function zI(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:qa,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var UI=NI;async function RI(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 FI(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 VI(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 BI(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 qI(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function FI(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 VI(e,t,r){let i=t.width,n=t.height,a=await AI(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 BI(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 qI(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 Ld=RI;function GI(e){switch(e.userFlow){case"placeholder":return HI(e);case"generation-only":return YI(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function YI(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(be(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(be(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(be(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=Td(),c=await Ld(s,n,a,o.output),l={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.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),error:n}}}}function HI(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(be(t,r))return{status:"aborted"};let s=Td(),c=UI(s,a,o);if(i=await xI(t,c),be(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),g=t.engine.block.duplicate(i);t.engine.block.setPositionX(g,d),t.engine.block.setPositionY(g,p),t.engine.block.destroy(i),i=g}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,{blockIds:[i],middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(be(t,r,i))return{status:"aborted"};if(l.status!=="success")return i!=null&&t.engine.block.isValid(i)&&(l.status==="aborted"||l.middlewareOptions?.defaultPrevented()?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),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 u=await Ld(s,a,o,l.output);if(be(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(u,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(u,i),be(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.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)&&(Ba(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),error:a}}}}function be(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var ZI=GI;function Ga(e){return`${e}.generating`}function QI(e){return`${e}.abort`}function WI(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:p}}=t,g=c.global(QI(d),()=>{}),y=c.global(Ga(d),!1),f,m=y.value&&p,b=()=>{m&&(g.value(),y.setValue(!1),g.setValue(()=>{}))},k;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let I=i();k=a.requiredInputs.some(h=>!I.input[h])}let w=c.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["ly.img.plugin-ai-generation-web.generate","common.generate",`panel.${d}.generate`],isLoading:y.value,color:"accent",isDisabled:k,suffix:m?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let I=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:h})=>{l.ui.closeDialog(h),w.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:h})=>{b(),l.ui.closeDialog(h),w.setValue(void 0)}}});w.setValue(I)}}:void 0,onClick:async()=>{f=new AbortController;let I=f.signal;await(async()=>{try{y.setValue(!0),g.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let h=await ZI({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:I,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(h.status==="aborted")return;if(h.status==="error"){Wc(h.error??h.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:h.middlewareOptions});return}if(h.status==="success"&&h.type==="sync"&&!h.middlewareOptions?.defaultPrevented()){let x=t.output.notification;KI(l,x,()=>({input:i().input,output:h.output}))}}catch(h){if(Ba(h))return;Wc(h,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,y.setValue(!1),g.setValue(()=>{}),w.value!=null&&(l.ui.closeDialog(w.value),w.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),u&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function KI(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 Od=WI;function Na(e){let{name:t}=e;return(typeof t=="function"?t():t)??e.id}async function JI({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t;i.debug&&console.log(`Provider: ${o} (custom)`);let s=r.render;return c=>{let{state:l}=c,u=l(Ga(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=s(c,{cesdk:a,isGenerating:u});return Od(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var XI=JI;function Nd(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 Xr(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=Nd(e,t.$ref),n={...Xr(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=Xr(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>Xr(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=Xr(e,t[n],r));return i}return t}function eA(e){return Xr(e,{...e})}function tA(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 c=i[o][s];if(typeof c!="object"||c===null)return r(`Item ${s} in ${o} must be an object, got ${c===null?"null":typeof c}`)}}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 rA(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return iA(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function iA(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=nA(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function nA(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 Dd=rA;function ve(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`,a=[`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}`];return i==="placeholder"&&a.push("ly.img.plugin-ai-generation-web.fallback.property.placeholder"),a}function Pd(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 zd(e,t,r,i,n,a,o,s){if(t.schema==null)if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}else return;let c=t,l=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}switch(l){case"string":return t.schema.enum!=null?oA(e,c,r,i,n,a,o,s):Ud(e,c,r,i,n,a,o,s);case"boolean":return Rd(e,c,r,i,n,a,o,s);case"number":case"integer":return Fd(e,c,r,i,n,a,o,s);case"object":return Da(e,c,r,i,n,a,o,s);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return aA(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function Da(e,t,r,i,n,a,o,s){let c=Dd(t.schema??{},i).reduce((l,u)=>{let d=zd(e,u,r,i,n,a,o,s);return d!=null&&(l[u.id]=d()),l},{});return()=>({id:t.id,type:"object",value:c})}function Ud(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),y=ve(t,r,o,"placeholder"),f=di(u,n.cesdk),m=s?.properties?.[d]??a.properties?.[d],b=pi(d,m,f,t.schema.default,""),k=l(p,b),w=lA(t.schema),I=w?.component!=null&&w?.component==="TextArea"?"TextArea":"TextInput",h=y.length>0?y:void 0;return c[I](p,{inputLabel:g,...h&&{placeholder:h},...k}),()=>({id:t.id,type:"string",value:k.value})}function oA(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),{labels:y,icons:f}=Pd(t.schema),m=(t.schema.enum??[]).map(x=>({id:x,label:ve(t,r,o,x),icon:f[x]})),b=di(u,n.cesdk),k=s?.properties?.[d]??a.properties?.[d],w=pi(d,k,b,t.schema.default,m[0]?.id),I=w!=null?m.find(x=>x.id===w)??m[0]:m[0],h=l(p,I);return c.Select(p,{inputLabel:g,values:m,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function Rd(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),y=di(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],m=!!pi(d,f,y,t.schema.default,!1),b=l(p,m);return c.Checkbox(p,{inputLabel:g,...b}),()=>({id:t.id,type:"boolean",value:b.value})}function Fd(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),y=t.schema.minimum,f=t.schema.maximum,m=di(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],k=t.schema.default;k==null&&(y!=null?k=y:f!=null?k=f:k=0);let w=pi(d,b,m,k,k),I=l(p,w);if(y!=null&&f!=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"]),c.Slider(p,{inputLabel:g,min:y,max:f,step:h,...I})}else c.NumberInput(p,{inputLabel:g,min:y,max:f,...I});return()=>({id:t.id,type:"integer",value:I.value})}function aA(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=ve(t,r,o),y=t.schema.anyOf??[],f=[],m={},b={},{labels:k,icons:w}=Pd(t.schema),I=di(u,n.cesdk),h=s?.properties?.[d]??a.properties?.[d],x={string:Ud,boolean:Rd,integer:Fd,object:Da},M=(v,j)=>v.$ref?v.$ref.split("/").pop():j.split(".").pop()??j,C=(v,j)=>({id:v,label:ve(t,r,o,j),icon:w[j]??w[v]});y.forEach((v,j)=>{let A=`${r.id}.${d}.anyOf[${j}]`;if(v.$ref||v.title){let S=v.$ref?v.$ref.split("/").pop():v.title;m[A]=()=>Da(e,{id:A,schema:{...v,title:k[S]||S}},r,i,n,a,o,s),f.push(C(A,S))}else if(v.type==="string"&&v.enum)v.enum.forEach(S=>{f.push(C(S,S))});else if(v.type&&x[v.type]){let S=x[v.type];m[A]=()=>S(e,{id:A,schema:{...v,title:v.title}},r,i,n,a,o,s);let q=M(v,A);f.push(v.type==="string"&&!v.enum?{id:A,label:v.title||q,icon:v.title&&w[v.title]||w[q]}:C(A,q))}});let _=pi(d,h,I,t.schema.default,null),$=_!=null?f.find(v=>v.id===_)??f[0]:f[0],E=l(p,$);if(c.Select(p,{inputLabel:g,values:f,...E}),E.value.id in m){let v=m[E.value.id]();b[E.value.id]=v}return()=>{let v=b[E.value.id];return v!=null?{...v(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function lA(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var sA=zd,uA={"ly.img.plugin-ai-generation-web.fallback.property.placeholder":"","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 Kc(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function Jc(e,t,r,i){let n={},a=(l,u)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${u?`.${u}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,u,d)=>{l.forEach(p=>{let g=String(p),y=d[g]||Kc(g);n[a(u,g)]=y})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let u=o(l.schema);s(l.schema.enum,l.id,u)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let u=o(l.schema);l.schema.anyOf.forEach(d=>{let p=d;if(p.enum&&Array.isArray(p.enum))s(p.enum,l.id,u);else if(p.$ref){let g=p.$ref.split("/").pop();g&&u[g]&&(n[a(l.id,g)]=u[g])}else if(p.title){let g=p.title,y=u[g]||Kc(g);n[a(l.id,g)]=y}})}});let c={...uA,...n};Object.keys(c).length>0&&ci(r.cesdk,{en:c})}function Xc(e){return typeof e.document=="function"?e.document():e.document}function ed(e,t,r){let i=eA(e),n=Nd(i,t.inputReference);if(!tA(n,r))throw new Error(`Input reference '${t.inputReference}' does not resolve to a valid OpenAPI schema`);let a=n,o=Dd(a,t);return{inputSchema:a,properties:o}}function td(e,t,r,{options:i,provider:n,config:a,providerConfig:o},s){let{id:c}=n;return l=>{let{builder:u}=l,d=[];u.Section(`${c}.schema.section`,{children:()=>{t.forEach(m=>{let b=sA(l,m,n,r,i,a,n.kind,o);b!=null&&(Array.isArray(b)?d.push(...b):d.push(b))})}});let p=d.map(m=>m()),g=m=>m.type==="object"?Object.entries(m.value).reduce((b,[k,w])=>(b[k]=g(w),b),{}):m.value,y=p.reduce((m,b)=>(m[b.id]=g(b),m),{}),f=[...new Set([...e.required??[],...p.filter(m=>m.required).map(m=>m.id)])];Od(l,n,s,()=>({input:y}),()=>r.getBlockInput(y),{...i,requiredInputs:f,createPlaceholderBlock:r.userFlow==="placeholder"},a)}}async function cA(e,t){let{options:r,provider:i,panelInput:n,config:a}=e,{id:o}=i;if(n==null)return;let s=n;a.debug&&console.log(`Provider: ${o} (schema-based)`);let c=Xc(s);if(!(c instanceof Promise)){let{inputSchema:g,properties:y}=ed(c,s,a.debug);return Jc(y,i,r,i.kind),td(g,y,s,e,t)}let l=null,u=null,d=`${o}.schema.loading`;function p(){l=null,u=null,r.cesdk.ui.experimental.setGlobalStateValue(d,!0),Promise.resolve(Xc(s)).then(g=>{let{inputSchema:y,properties:f}=ed(g,s,a.debug);Jc(f,i,r,i.kind),u=td(y,f,s,e,t)}).catch(g=>{l=g instanceof Error?g:new Error(String(g))}).finally(()=>{r.cesdk.ui.experimental.setGlobalStateValue(d,!1)})}return p(),g=>{let{builder:y}=g;if(u!=null){u(g);return}if(l!=null){y.Section(`${o}.schema.error`,{children:()=>{y.Text(`${o}.schema.error.title`,{content:"ly.img.plugin-ai-generation-web.schema.error.title"}),y.Text(`${o}.schema.error.details`,{content:l.message}),y.Button(`${o}.schema.error.retry`,{label:"ly.img.plugin-ai-generation-web.schema.error.retry",onClick:()=>{p()}})}});return}y.Spinner(`${o}.schema.loading`,{label:"ly.img.plugin-ai-generation-web.schema.loading.label"})}}var dA=cA;async function pA(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return XI(e,t);case"schema":return dA(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var gA=pA;function fA(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 mw(o,r)),o}return i}var yA=fA;function mA(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 hA=mA,Sa="@imgly/plugin-ai-generation",bA=`
|
|
@@ -206,7 +206,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
206
206
|
</symbol>
|
|
207
207
|
</svg>
|
|
208
208
|
`,vA=bA;function wA(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 Vd(2e3),await kA(t,e,r)):i(t,r)}async function kA(e,t,r){switch(t.kind){case"image":return xA(e,t,r);case"video":return IA(e,t,r);case"text":return AA(e,t,r);case"audio":return SA(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function xA(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,c=await yI(s,r),l=await fI(c,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 IA(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function AA(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=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 CA(a,r.abortSignal)}async function*CA(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 Vd(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,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let c=[" 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 u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function SA(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:MA(220,i),duration:i,thumbnailUrl:void 0}}function MA(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 jA(i,44100)}function jA(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,m)=>{for(let b=0;b<m.length;b++)u.setUint8(f+b,m.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),b=Math.round(m*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),y="";for(let f=0;f<g.length;f++)y+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(y)}`}async function Vd(e){return new Promise(t=>{setTimeout(t,e)})}var $A=wA,EA="USER_CANCEL";function _A(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=vI([...e.provider.output.middleware??[],...r?.middlewares??[],kI({enable:r?.debug}),$A({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,error:o,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:CI(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return Ba(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===EA?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),error:o,middlewareOptions:a}}}}var TA=_A;async function LA(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,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Qn.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(y,!0)}})}let o=yA(a),s=hA(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=TA({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await gA(a,c);SI(r.cesdk,"@imgly/plugin-ai-generation",vA);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return bI.get().register(u),u}var Ma=LA;function OA(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 hw(n,r,i);return r.engine.asset.addSource(a),a.id}var NA=OA;function ei(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 DA(e,t,r,i){let{cesdk:n}=r;ci(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry","common.ai-generation.failed":"We couldn't generate the asset. Please try again.","ly.img.ai.error.insufficientCredits":"You've run out of AI credits. Generation is unavailable until more credits are available.","ly.img.ai.error.unauthorized":"AI generation isn't authorized. Please sign in again or contact support.","ly.img.ai.error.notAvailable":"This AI model isn't available on your current plan.","ly.img.ai.error.invalidRequest":"This request couldn't be processed. Please adjust your input and try again.","ly.img.ai.error.serviceUnavailable":"The AI service is temporarily unavailable. Please try again shortly.","ly.img.ai.error.network":"We couldn't reach the AI service. Please check your connection and try again."}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ma(e,u,r,i)));o.push(...l),a=zA({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ma(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ma(e,d,r,i)));o.push(...u),a=PA({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=NA({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(hI)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function PA({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),y;d&&r.length>0&&(!g||i.length===0)?y="fromText":g&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&g&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let b=r.map(({provider:A,panel:S})=>({id:A.id,label:Na(A),builderRenderFunction:S?.builderRenderFunction})),k=i.map(({provider:A,panel:S})=>({id:A.id,label:Na(A),builderRenderFunction:S?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),I=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),h=b.find(A=>A.id===w.value)??b[0],x=k.find(A=>A.id===I.value)??k[0],M=f.value==="fromText"?w:f.value==="fromImage"?I:void 0,C=f.value==="fromText"?h:f.value==="fromImage"?x:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,$=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,v=a&&E,j=m.length>1&&$;if((v||j)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(v&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:ei(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:ei(e,"fromText.label"),icon:f.value!=="fromText"&&rd(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:ei(e,"fromImage.label"),icon:f.value!=="fromImage"&&rd(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),j){let A=f.value==="fromText"?b:f.value==="fromImage"?k:[...b,...k];M!=null&&C!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:ei(e,"providerSelect.label"),values:A,value:C,setValue:S=>{M.setValue(S.id)}})}}}),m.length>1)C?.builderRenderFunction?.(o);else{let A=m[0];A&&A.panel?.builderRenderFunction?.(o)}}}function zA({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:Na(p),builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:ei(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function rd(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Ga(r.id),!1).value)}var UA=DA,SX=5*60*1e3,RA=typeof global=="object"&&global&&global.Object===Object&&global,Bd=RA,FA=typeof self=="object"&&self&&self.Object===Object&&self,VA=Bd||FA||Function("return this")(),re=VA,BA=re.Symbol,xt=BA,qd=Object.prototype,qA=qd.hasOwnProperty,GA=qd.toString,Jr=xt?xt.toStringTag:void 0;function YA(e){var t=qA.call(e,Jr),r=e[Jr];try{e[Jr]=void 0;var i=!0}catch{}var n=GA.call(e);return i&&(t?e[Jr]=r:delete e[Jr]),n}var HA=YA,ZA=Object.prototype,QA=ZA.toString;function WA(e){return QA.call(e)}var KA=WA,JA="[object Null]",XA="[object Undefined]",id=xt?xt.toStringTag:void 0;function eC(e){return e==null?e===void 0?XA:JA:id&&id in Object(e)?HA(e):KA(e)}var gi=eC;function tC(e){return e!=null&&typeof e=="object"}var Ya=tC,MX=Array.isArray;function rC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Gd=rC,iC="[object AsyncFunction]",nC="[object Function]",oC="[object GeneratorFunction]",aC="[object Proxy]";function lC(e){if(!Gd(e))return!1;var t=gi(e);return t==nC||t==oC||t==iC||t==aC}var sC=lC,uC=re["__core-js_shared__"],ja=uC,nd=function(){var e=/[^.]+$/.exec(ja&&ja.keys&&ja.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function cC(e){return!!nd&&nd in e}var dC=cC,pC=Function.prototype,gC=pC.toString;function fC(e){if(e!=null){try{return gC.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=fC,yC=/[\\^$.*+?()[\]{}|]/g,mC=/^\[object .+?Constructor\]$/,hC=Function.prototype,bC=Object.prototype,vC=hC.toString,wC=bC.hasOwnProperty,kC=RegExp("^"+vC.call(wC).replace(yC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function xC(e){if(!Gd(e)||dC(e))return!1;var t=sC(e)?kC:mC;return t.test(Ne(e))}var IC=xC;function AC(e,t){return e?.[t]}var CC=AC;function SC(e,t){var r=CC(e,t);return IC(r)?r:void 0}var Mt=SC,MC=Mt(re,"WeakMap"),Pa=MC;function jC(e,t){return e===t||e!==e&&t!==t}var $C=jC,EC=9007199254740991;function _C(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=EC}var TC=_C,jX=Object.prototype,LC="[object Arguments]";function OC(e){return Ya(e)&&gi(e)==LC}var od=OC,Yd=Object.prototype,NC=Yd.hasOwnProperty,DC=Yd.propertyIsEnumerable,$X=od(function(){return arguments}())?od:function(e){return Ya(e)&&NC.call(e,"callee")&&!DC.call(e,"callee")},Hd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ad=Hd&&typeof module=="object"&&module&&!module.nodeType&&module,PC=ad&&ad.exports===Hd,ld=PC?re.Buffer:void 0,EX=ld?ld.isBuffer:void 0,zC="[object Arguments]",UC="[object Array]",RC="[object Boolean]",FC="[object Date]",VC="[object Error]",BC="[object Function]",qC="[object Map]",GC="[object Number]",YC="[object Object]",HC="[object RegExp]",ZC="[object Set]",QC="[object String]",WC="[object WeakMap]",KC="[object ArrayBuffer]",JC="[object DataView]",XC="[object Float32Array]",eS="[object Float64Array]",tS="[object Int8Array]",rS="[object Int16Array]",iS="[object Int32Array]",nS="[object Uint8Array]",oS="[object Uint8ClampedArray]",aS="[object Uint16Array]",lS="[object Uint32Array]",P={};P[XC]=P[eS]=P[tS]=P[rS]=P[iS]=P[nS]=P[oS]=P[aS]=P[lS]=!0;P[zC]=P[UC]=P[KC]=P[RC]=P[JC]=P[FC]=P[VC]=P[BC]=P[qC]=P[GC]=P[YC]=P[HC]=P[ZC]=P[QC]=P[WC]=!1;function sS(e){return Ya(e)&&TC(e.length)&&!!P[gi(e)]}var uS=sS;function cS(e){return function(t){return e(t)}}var dS=cS,Zd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ii=Zd&&typeof module=="object"&&module&&!module.nodeType&&module,pS=ii&&ii.exports===Zd,$a=pS&&Bd.process,gS=function(){try{var e=ii&&ii.require&&ii.require("util").types;return e||$a&&$a.binding&&$a.binding("util")}catch{}}(),sd=gS,ud=sd&&sd.isTypedArray,_X=ud?dS(ud):uS,fS=Object.prototype,TX=fS.hasOwnProperty;function yS(e,t){return function(r){return e(t(r))}}var mS=yS,LX=mS(Object.keys,Object),hS=Object.prototype,OX=hS.hasOwnProperty,bS=Mt(Object,"create"),ai=bS;function vS(){this.__data__=ai?ai(null):{},this.size=0}var wS=vS;function kS(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var xS=kS,IS="__lodash_hash_undefined__",AS=Object.prototype,CS=AS.hasOwnProperty;function SS(e){var t=this.__data__;if(ai){var r=t[e];return r===IS?void 0:r}return CS.call(t,e)?t[e]:void 0}var MS=SS,jS=Object.prototype,$S=jS.hasOwnProperty;function ES(e){var t=this.__data__;return ai?t[e]!==void 0:$S.call(t,e)}var _S=ES,TS="__lodash_hash_undefined__";function LS(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ai&&t===void 0?TS:t,this}var OS=LS;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=wS;jt.prototype.delete=xS;jt.prototype.get=MS;jt.prototype.has=_S;jt.prototype.set=OS;var cd=jt;function NS(){this.__data__=[],this.size=0}var DS=NS;function PS(e,t){for(var r=e.length;r--;)if($C(e[r][0],t))return r;return-1}var Xn=PS,zS=Array.prototype,US=zS.splice;function RS(e){var t=this.__data__,r=Xn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():US.call(t,r,1),--this.size,!0}var FS=RS;function VS(e){var t=this.__data__,r=Xn(t,e);return r<0?void 0:t[r][1]}var BS=VS;function qS(e){return Xn(this.__data__,e)>-1}var GS=qS;function YS(e,t){var r=this.__data__,i=Xn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var HS=YS;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=DS;$t.prototype.delete=FS;$t.prototype.get=BS;$t.prototype.has=GS;$t.prototype.set=HS;var eo=$t,ZS=Mt(re,"Map"),li=ZS;function QS(){this.size=0,this.__data__={hash:new cd,map:new(li||eo),string:new cd}}var WS=QS;function KS(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var JS=KS;function XS(e,t){var r=e.__data__;return JS(t)?r[typeof t=="string"?"string":"hash"]:r.map}var to=XS;function eM(e){var t=to(this,e).delete(e);return this.size-=t?1:0,t}var tM=eM;function rM(e){return to(this,e).get(e)}var iM=rM;function nM(e){return to(this,e).has(e)}var oM=nM;function aM(e,t){var r=to(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var lM=aM;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=WS;Et.prototype.delete=tM;Et.prototype.get=iM;Et.prototype.has=oM;Et.prototype.set=lM;var Qd=Et;function sM(){this.__data__=new eo,this.size=0}var uM=sM;function cM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var dM=cM;function pM(e){return this.__data__.get(e)}var gM=pM;function fM(e){return this.__data__.has(e)}var yM=fM,mM=200;function hM(e,t){var r=this.__data__;if(r instanceof eo){var i=r.__data__;if(!li||i.length<mM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Qd(i)}return r.set(e,t),this.size=r.size,this}var bM=hM;function fi(e){var t=this.__data__=new eo(e);this.size=t.size}fi.prototype.clear=uM;fi.prototype.delete=dM;fi.prototype.get=gM;fi.prototype.has=yM;fi.prototype.set=bM;var vM=Object.prototype,NX=vM.propertyIsEnumerable,wM=Mt(re,"DataView"),za=wM,kM=Mt(re,"Promise"),Ua=kM,xM=Mt(re,"Set"),Ra=xM,dd="[object Map]",IM="[object Object]",pd="[object Promise]",gd="[object Set]",fd="[object WeakMap]",yd="[object DataView]",AM=Ne(za),CM=Ne(li),SM=Ne(Ua),MM=Ne(Ra),jM=Ne(Pa),vt=gi;(za&&vt(new za(new ArrayBuffer(1)))!=yd||li&&vt(new li)!=dd||Ua&&vt(Ua.resolve())!=pd||Ra&&vt(new Ra)!=gd||Pa&&vt(new Pa)!=fd)&&(vt=function(e){var t=gi(e),r=t==IM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case AM:return yd;case CM:return dd;case SM:return pd;case MM:return gd;case jM:return fd}return t});var DX=re.Uint8Array,$M="__lodash_hash_undefined__";function EM(e){return this.__data__.set(e,$M),this}var _M=EM;function TM(e){return this.__data__.has(e)}var LM=TM;function Fa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Qd;++t<r;)this.add(e[t])}Fa.prototype.add=Fa.prototype.push=_M;Fa.prototype.has=LM;var md=xt?xt.prototype:void 0,PX=md?md.valueOf:void 0,OM=Object.prototype,zX=OM.hasOwnProperty,NM=Object.prototype,UX=NM.hasOwnProperty,RX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),FX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),VX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function DM(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 Wd(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 DM(i,t)}function PM(e){return e==null?[]:Array.isArray(e)?e:[e]}var hd=PM;function zM(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function UM(e){return typeof e?.translate=="function"}function RM(e,t,r){return e&&zM(e)&&UM(e.i18n)?e.i18n.translate(t):r}var ti="@imgly/plugin-ai-video-generation-web";var ro="createVideo",bd=`ly.img.${ro}`,FM=`ly.img.plugin-ai-video-generation-web.quickAction.${ro}`,vd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${ro}`;function VM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${ro}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var BM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),ci(e,{en:{[`${vd}`]:"Create Video...",[`${vd}.description`]:"Create a video from the image"}}),{id:bd,type:"quick",kind:"image",label:`${FM}`,enable:_I(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${bd}.button`,{label:VM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await Wd(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_urls`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),qM=BM,io="animateBetweenImages",wd=`ly.img.${io}`,GM=`ly.img.plugin-ai-video-generation-web.quickAction.${io}`,kd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${io}`;function YM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${io}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var HM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),ci(e,{en:{[`${kd}`]:"Animate Between Images...",[`${kd}.description`]:"Create a video transitioning between two images"}}),{id:wd,type:"quick",kind:"image",label:`${GM}`,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);return!(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${wd}.button`,{label:YM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let a=r.block.findAllSelected();if(a.length!==2)throw new Error("Exactly 2 images must be selected");let[o,s]=await Promise.all(a.map(l=>Wd(l,r,{throwErrorIfSvg:!0}))),c="fal-ai/veo3.1/fast/first-last-frame-to-video";e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",c),e.ui.experimental.setGlobalStateValue(`${c}.first_frame_url`,o),e.ui.experimental.setGlobalStateValue(`${c}.last_frame_url`,s),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.openPanel("ly.img.ai.video-generation"),i()}catch(a){console.error("Error opening video generation panel:",a),e.ui.showNotification({type:"error",message:a.message||"Failed to open video generation panel. Please try again.",duration:"medium"})}}})}}),ZM=HM,he="ly.img.ai.video-generation";function QM(e){return{async initialize({cesdk:t}){if(t==null)return;MI(t,ti,"1.81.0"),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction.providerSelect",!0);let r=`${ti}.action.label`;ci(t,{en:{[`panel.${he}`]:"Video Generation",[`${he}.dock.label`]:"AI Video",[r]:"Generate Video","ly.img.ai.video.generation.hint":"Video generation may take up to a few minutes. This panel can be closed and you'll be notified when it's ready."}}),WM(e);let i=Qn.get().register({type:"plugin",sceneMode:"Video",id:ti,pluginId:ti,label:RM(t,r,"Generate Video"),labelKey:r,meta:{panelId:he},execute:()=>{t.ui.isPanelOpen(he)?t.ui.closePanel(he):t.ui.openPanel(he)}}),n=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,o=await Promise.all(hd(n).map(l=>l({cesdk:t}))),s=await Promise.all(hd(a).map(l=>l({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let c=await UA("video",{fromText:o,fromImage:s},{cesdk:t},e);Qn.get().register(qM({cesdk:t})),Qn.get().register(ZM({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(he,c.panel.builderRenderFunction),$I({cesdk:t,panelId:he})):i()}}}function WM(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 KM=QM,JM=e=>({name:ti,version:"1.81.0",...KM(e)}),Kd=JM;var XM=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((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);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;Lt(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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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=()=>{Lt(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(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-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 Lt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Lt(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()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.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 c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<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 Lt(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]=Lt(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]=Lt(n,t,a)}return e}var ej=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,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")}},tj=typeof global=="object"&&global&&global.Object===Object&&global,Pp=tj,rj=typeof self=="object"&&self&&self.Object===Object&&self,ij=Pp||rj||Function("return this")(),ie=ij,nj=ie.Symbol,Ot=nj,zp=Object.prototype,oj=zp.hasOwnProperty,aj=zp.toString,yi=Ot?Ot.toStringTag:void 0;function lj(e){var t=oj.call(e,yi),r=e[yi];try{e[yi]=void 0;var i=!0}catch{}var n=aj.call(e);return i&&(t?e[yi]=r:delete e[yi]),n}var sj=lj,uj=Object.prototype,cj=uj.toString;function dj(e){return cj.call(e)}var pj=dj,gj="[object Null]",fj="[object Undefined]",Jd=Ot?Ot.toStringTag:void 0;function yj(e){return e==null?e===void 0?fj:gj:Jd&&Jd in Object(e)?sj(e):pj(e)}var Si=yj;function mj(e){return e!=null&&typeof e=="object"}var pl=mj,YX=Array.isArray;function hj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Up=hj,bj="[object AsyncFunction]",vj="[object Function]",wj="[object GeneratorFunction]",kj="[object Proxy]";function xj(e){if(!Up(e))return!1;var t=Si(e);return t==vj||t==wj||t==bj||t==kj}var Ij=xj,Aj=ie["__core-js_shared__"],Ha=Aj,Xd=function(){var e=/[^.]+$/.exec(Ha&&Ha.keys&&Ha.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Cj(e){return!!Xd&&Xd in e}var Sj=Cj,Mj=Function.prototype,jj=Mj.toString;function $j(e){if(e!=null){try{return jj.call(e)}catch{}try{return e+""}catch{}}return""}var ze=$j,Ej=/[\\^$.*+?()[\]{}|]/g,_j=/^\[object .+?Constructor\]$/,Tj=Function.prototype,Lj=Object.prototype,Oj=Tj.toString,Nj=Lj.hasOwnProperty,Dj=RegExp("^"+Oj.call(Nj).replace(Ej,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Pj(e){if(!Up(e)||Sj(e))return!1;var t=Ij(e)?Dj:_j;return t.test(ze(e))}var zj=Pj;function Uj(e,t){return e?.[t]}var Rj=Uj;function Fj(e,t){var r=Rj(e,t);return zj(r)?r:void 0}var Dt=Fj,Vj=Dt(ie,"WeakMap"),el=Vj;function Bj(e,t){return e===t||e!==e&&t!==t}var qj=Bj,Gj=9007199254740991;function Yj(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Gj}var Hj=Yj,HX=Object.prototype,Zj="[object Arguments]";function Qj(e){return pl(e)&&Si(e)==Zj}var ep=Qj,Rp=Object.prototype,Wj=Rp.hasOwnProperty,Kj=Rp.propertyIsEnumerable,ZX=ep(function(){return arguments}())?ep:function(e){return pl(e)&&Wj.call(e,"callee")&&!Kj.call(e,"callee")},Fp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tp=Fp&&typeof module=="object"&&module&&!module.nodeType&&module,Jj=tp&&tp.exports===Fp,rp=Jj?ie.Buffer:void 0,QX=rp?rp.isBuffer:void 0,Xj="[object Arguments]",e$="[object Array]",t$="[object Boolean]",r$="[object Date]",i$="[object Error]",n$="[object Function]",o$="[object Map]",a$="[object Number]",l$="[object Object]",s$="[object RegExp]",u$="[object Set]",c$="[object String]",d$="[object WeakMap]",p$="[object ArrayBuffer]",g$="[object DataView]",f$="[object Float32Array]",y$="[object Float64Array]",m$="[object Int8Array]",h$="[object Int16Array]",b$="[object Int32Array]",v$="[object Uint8Array]",w$="[object Uint8ClampedArray]",k$="[object Uint16Array]",x$="[object Uint32Array]",z={};z[f$]=z[y$]=z[m$]=z[h$]=z[b$]=z[v$]=z[w$]=z[k$]=z[x$]=!0;z[Xj]=z[e$]=z[p$]=z[t$]=z[g$]=z[r$]=z[i$]=z[n$]=z[o$]=z[a$]=z[l$]=z[s$]=z[u$]=z[c$]=z[d$]=!1;function I$(e){return pl(e)&&Hj(e.length)&&!!z[Si(e)]}var A$=I$;function C$(e){return function(t){return e(t)}}var S$=C$,Vp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Vp&&typeof module=="object"&&module&&!module.nodeType&&module,M$=wi&&wi.exports===Vp,Za=M$&&Pp.process,j$=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Za&&Za.binding&&Za.binding("util")}catch{}}(),ip=j$,np=ip&&ip.isTypedArray,WX=np?S$(np):A$,$$=Object.prototype,KX=$$.hasOwnProperty;function E$(e,t){return function(r){return e(t(r))}}var _$=E$,JX=_$(Object.keys,Object),T$=Object.prototype,XX=T$.hasOwnProperty,L$=Dt(Object,"create"),xi=L$;function O$(){this.__data__=xi?xi(null):{},this.size=0}var N$=O$;function D$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var P$=D$,z$="__lodash_hash_undefined__",U$=Object.prototype,R$=U$.hasOwnProperty;function F$(e){var t=this.__data__;if(xi){var r=t[e];return r===z$?void 0:r}return R$.call(t,e)?t[e]:void 0}var V$=F$,B$=Object.prototype,q$=B$.hasOwnProperty;function G$(e){var t=this.__data__;return xi?t[e]!==void 0:q$.call(t,e)}var Y$=G$,H$="__lodash_hash_undefined__";function Z$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=xi&&t===void 0?H$:t,this}var Q$=Z$;function Pt(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])}}Pt.prototype.clear=N$;Pt.prototype.delete=P$;Pt.prototype.get=V$;Pt.prototype.has=Y$;Pt.prototype.set=Q$;var op=Pt;function W$(){this.__data__=[],this.size=0}var K$=W$;function J$(e,t){for(var r=e.length;r--;)if(qj(e[r][0],t))return r;return-1}var no=J$,X$=Array.prototype,eE=X$.splice;function tE(e){var t=this.__data__,r=no(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():eE.call(t,r,1),--this.size,!0}var rE=tE;function iE(e){var t=this.__data__,r=no(t,e);return r<0?void 0:t[r][1]}var nE=iE;function oE(e){return no(this.__data__,e)>-1}var aE=oE;function lE(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 sE=lE;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=K$;zt.prototype.delete=rE;zt.prototype.get=nE;zt.prototype.has=aE;zt.prototype.set=sE;var oo=zt,uE=Dt(ie,"Map"),Ii=uE;function cE(){this.size=0,this.__data__={hash:new op,map:new(Ii||oo),string:new op}}var dE=cE;function pE(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var gE=pE;function fE(e,t){var r=e.__data__;return gE(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ao=fE;function yE(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t}var mE=yE;function hE(e){return ao(this,e).get(e)}var bE=hE;function vE(e){return ao(this,e).has(e)}var wE=vE;function kE(e,t){var r=ao(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var xE=kE;function Ut(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])}}Ut.prototype.clear=dE;Ut.prototype.delete=mE;Ut.prototype.get=bE;Ut.prototype.has=wE;Ut.prototype.set=xE;var Bp=Ut;function IE(){this.__data__=new oo,this.size=0}var AE=IE;function CE(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var SE=CE;function ME(e){return this.__data__.get(e)}var jE=ME;function $E(e){return this.__data__.has(e)}var EE=$E,_E=200;function TE(e,t){var r=this.__data__;if(r instanceof oo){var i=r.__data__;if(!Ii||i.length<_E-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 LE=TE;function Mi(e){var t=this.__data__=new oo(e);this.size=t.size}Mi.prototype.clear=AE;Mi.prototype.delete=SE;Mi.prototype.get=jE;Mi.prototype.has=EE;Mi.prototype.set=LE;var OE=Object.prototype,eee=OE.propertyIsEnumerable,NE=Dt(ie,"DataView"),tl=NE,DE=Dt(ie,"Promise"),rl=DE,PE=Dt(ie,"Set"),il=PE,ap="[object Map]",zE="[object Object]",lp="[object Promise]",sp="[object Set]",up="[object WeakMap]",cp="[object DataView]",UE=ze(tl),RE=ze(Ii),FE=ze(rl),VE=ze(il),BE=ze(el),_t=Si;(tl&&_t(new tl(new ArrayBuffer(1)))!=cp||Ii&&_t(new Ii)!=ap||rl&&_t(rl.resolve())!=lp||il&&_t(new il)!=sp||el&&_t(new el)!=up)&&(_t=function(e){var t=Si(e),r=t==zE?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case UE:return cp;case RE:return ap;case FE:return lp;case VE:return sp;case BE:return up}return t});var tee=ie.Uint8Array,qE="__lodash_hash_undefined__";function GE(e){return this.__data__.set(e,qE),this}var YE=GE;function HE(e){return this.__data__.has(e)}var ZE=HE;function nl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Bp;++t<r;)this.add(e[t])}nl.prototype.add=nl.prototype.push=YE;nl.prototype.has=ZE;var dp=Ot?Ot.prototype:void 0,ree=dp?dp.valueOf:void 0,QE=Object.prototype,iee=QE.hasOwnProperty,WE=Object.prototype,nee=WE.hasOwnProperty,oee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),aee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),lee=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function qp(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 KE(e,t){let r=await qp(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 JE(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 qp(i,t)}function XE(e){return e!==void 0}var e_=XE;function gl(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function ji(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function $i(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Gp=class Yp{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 Yp),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))}},t_=class Hp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Hp),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 r_(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return p(u,y,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function i_({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 n_=i_,Qa="ly.img.ai.temp";async function o_(e,t){return e.engine.asset.findAllSources().includes(Qa)||e.engine.asset.addLocalSource(Qa),e.engine.asset.apply(Qa,t)}function a_(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 Zp(){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 l_(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 c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.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 s_(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 fl(e){return e instanceof Error&&e.name==="AbortError"}function u_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function c_(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!
|
|
209
|
+
`,"+")}`}}async function IA(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function AA(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=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 CA(a,r.abortSignal)}async function*CA(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 Vd(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,s="";if(n<=o.length)s=o.substring(0,n);else{s=o;let c=[" 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 u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function SA(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:MA(220,i),duration:i,thumbnailUrl:void 0}}function MA(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 jA(i,44100)}function jA(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,m)=>{for(let b=0;b<m.length;b++)u.setUint8(f+b,m.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),b=Math.round(m*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),y="";for(let f=0;f<g.length;f++)y+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(y)}`}async function Vd(e){return new Promise(t=>{setTimeout(t,e)})}var $A=wA,EA="USER_CANCEL";function _A(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=vI([...e.provider.output.middleware??[],...r?.middlewares??[],kI({enable:r?.debug}),$A({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,error:o,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:CI(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return Ba(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===EA?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),error:o,middlewareOptions:a}}}}var TA=_A;async function LA(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,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Qn.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(y,!0)}})}let o=yA(a),s=hA(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=TA({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await gA(a,c);SI(r.cesdk,"@imgly/plugin-ai-generation",vA);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return bI.get().register(u),u}var Ma=LA;function OA(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 hw(n,r,i);return r.engine.asset.addSource(a),a.id}var NA=OA;function ei(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 DA(e,t,r,i){let{cesdk:n}=r;ci(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry","common.ai-generation.failed":"We couldn't generate the asset. Please try again.","ly.img.ai.error.insufficientCredits":"You've run out of AI credits. Generation is unavailable until more credits are available.","ly.img.ai.error.unauthorized":"AI generation isn't authorized. Please sign in again or contact support.","ly.img.ai.error.notAvailable":"This AI model isn't available on your current plan.","ly.img.ai.error.invalidRequest":"This request couldn't be processed. Please adjust your input and try again.","ly.img.ai.error.serviceUnavailable":"The AI service is temporarily unavailable. Please try again shortly.","ly.img.ai.error.network":"We couldn't reach the AI service. Please check your connection and try again."}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ma(e,u,r,i)));o.push(...l),a=zA({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ma(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ma(e,d,r,i)));o.push(...u),a=PA({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=NA({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(hI)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function PA({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),y;d&&r.length>0&&(!g||i.length===0)?y="fromText":g&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&g&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let b=r.map(({provider:A,panel:S})=>({id:A.id,label:Na(A),builderRenderFunction:S?.builderRenderFunction})),k=i.map(({provider:A,panel:S})=>({id:A.id,label:Na(A),builderRenderFunction:S?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),I=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),h=b.find(A=>A.id===w.value)??b[0],x=k.find(A=>A.id===I.value)??k[0],M=f.value==="fromText"?w:f.value==="fromImage"?I:void 0,C=f.value==="fromText"?h:f.value==="fromImage"?x:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,$=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,v=a&&E,j=m.length>1&&$;if((v||j)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(v&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:ei(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:ei(e,"fromText.label"),icon:f.value!=="fromText"&&rd(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:ei(e,"fromImage.label"),icon:f.value!=="fromImage"&&rd(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),j){let A=f.value==="fromText"?b:f.value==="fromImage"?k:[...b,...k];M!=null&&C!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:ei(e,"providerSelect.label"),values:A,value:C,setValue:S=>{M.setValue(S.id)}})}}}),m.length>1)C?.builderRenderFunction?.(o);else{let A=m[0];A&&A.panel?.builderRenderFunction?.(o)}}}function zA({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:Na(p),builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:ei(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function rd(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Ga(r.id),!1).value)}var UA=DA,SX=5*60*1e3,RA=typeof global=="object"&&global&&global.Object===Object&&global,Bd=RA,FA=typeof self=="object"&&self&&self.Object===Object&&self,VA=Bd||FA||Function("return this")(),re=VA,BA=re.Symbol,xt=BA,qd=Object.prototype,qA=qd.hasOwnProperty,GA=qd.toString,Jr=xt?xt.toStringTag:void 0;function YA(e){var t=qA.call(e,Jr),r=e[Jr];try{e[Jr]=void 0;var i=!0}catch{}var n=GA.call(e);return i&&(t?e[Jr]=r:delete e[Jr]),n}var HA=YA,ZA=Object.prototype,QA=ZA.toString;function WA(e){return QA.call(e)}var KA=WA,JA="[object Null]",XA="[object Undefined]",id=xt?xt.toStringTag:void 0;function eC(e){return e==null?e===void 0?XA:JA:id&&id in Object(e)?HA(e):KA(e)}var gi=eC;function tC(e){return e!=null&&typeof e=="object"}var Ya=tC,MX=Array.isArray;function rC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Gd=rC,iC="[object AsyncFunction]",nC="[object Function]",oC="[object GeneratorFunction]",aC="[object Proxy]";function lC(e){if(!Gd(e))return!1;var t=gi(e);return t==nC||t==oC||t==iC||t==aC}var sC=lC,uC=re["__core-js_shared__"],ja=uC,nd=function(){var e=/[^.]+$/.exec(ja&&ja.keys&&ja.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function cC(e){return!!nd&&nd in e}var dC=cC,pC=Function.prototype,gC=pC.toString;function fC(e){if(e!=null){try{return gC.call(e)}catch{}try{return e+""}catch{}}return""}var Ne=fC,yC=/[\\^$.*+?()[\]{}|]/g,mC=/^\[object .+?Constructor\]$/,hC=Function.prototype,bC=Object.prototype,vC=hC.toString,wC=bC.hasOwnProperty,kC=RegExp("^"+vC.call(wC).replace(yC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function xC(e){if(!Gd(e)||dC(e))return!1;var t=sC(e)?kC:mC;return t.test(Ne(e))}var IC=xC;function AC(e,t){return e?.[t]}var CC=AC;function SC(e,t){var r=CC(e,t);return IC(r)?r:void 0}var Mt=SC,MC=Mt(re,"WeakMap"),Pa=MC;function jC(e,t){return e===t||e!==e&&t!==t}var $C=jC,EC=9007199254740991;function _C(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=EC}var TC=_C,jX=Object.prototype,LC="[object Arguments]";function OC(e){return Ya(e)&&gi(e)==LC}var od=OC,Yd=Object.prototype,NC=Yd.hasOwnProperty,DC=Yd.propertyIsEnumerable,$X=od(function(){return arguments}())?od:function(e){return Ya(e)&&NC.call(e,"callee")&&!DC.call(e,"callee")},Hd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ad=Hd&&typeof module=="object"&&module&&!module.nodeType&&module,PC=ad&&ad.exports===Hd,ld=PC?re.Buffer:void 0,EX=ld?ld.isBuffer:void 0,zC="[object Arguments]",UC="[object Array]",RC="[object Boolean]",FC="[object Date]",VC="[object Error]",BC="[object Function]",qC="[object Map]",GC="[object Number]",YC="[object Object]",HC="[object RegExp]",ZC="[object Set]",QC="[object String]",WC="[object WeakMap]",KC="[object ArrayBuffer]",JC="[object DataView]",XC="[object Float32Array]",eS="[object Float64Array]",tS="[object Int8Array]",rS="[object Int16Array]",iS="[object Int32Array]",nS="[object Uint8Array]",oS="[object Uint8ClampedArray]",aS="[object Uint16Array]",lS="[object Uint32Array]",P={};P[XC]=P[eS]=P[tS]=P[rS]=P[iS]=P[nS]=P[oS]=P[aS]=P[lS]=!0;P[zC]=P[UC]=P[KC]=P[RC]=P[JC]=P[FC]=P[VC]=P[BC]=P[qC]=P[GC]=P[YC]=P[HC]=P[ZC]=P[QC]=P[WC]=!1;function sS(e){return Ya(e)&&TC(e.length)&&!!P[gi(e)]}var uS=sS;function cS(e){return function(t){return e(t)}}var dS=cS,Zd=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ii=Zd&&typeof module=="object"&&module&&!module.nodeType&&module,pS=ii&&ii.exports===Zd,$a=pS&&Bd.process,gS=function(){try{var e=ii&&ii.require&&ii.require("util").types;return e||$a&&$a.binding&&$a.binding("util")}catch{}}(),sd=gS,ud=sd&&sd.isTypedArray,_X=ud?dS(ud):uS,fS=Object.prototype,TX=fS.hasOwnProperty;function yS(e,t){return function(r){return e(t(r))}}var mS=yS,LX=mS(Object.keys,Object),hS=Object.prototype,OX=hS.hasOwnProperty,bS=Mt(Object,"create"),ai=bS;function vS(){this.__data__=ai?ai(null):{},this.size=0}var wS=vS;function kS(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var xS=kS,IS="__lodash_hash_undefined__",AS=Object.prototype,CS=AS.hasOwnProperty;function SS(e){var t=this.__data__;if(ai){var r=t[e];return r===IS?void 0:r}return CS.call(t,e)?t[e]:void 0}var MS=SS,jS=Object.prototype,$S=jS.hasOwnProperty;function ES(e){var t=this.__data__;return ai?t[e]!==void 0:$S.call(t,e)}var _S=ES,TS="__lodash_hash_undefined__";function LS(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ai&&t===void 0?TS:t,this}var OS=LS;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=wS;jt.prototype.delete=xS;jt.prototype.get=MS;jt.prototype.has=_S;jt.prototype.set=OS;var cd=jt;function NS(){this.__data__=[],this.size=0}var DS=NS;function PS(e,t){for(var r=e.length;r--;)if($C(e[r][0],t))return r;return-1}var Xn=PS,zS=Array.prototype,US=zS.splice;function RS(e){var t=this.__data__,r=Xn(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():US.call(t,r,1),--this.size,!0}var FS=RS;function VS(e){var t=this.__data__,r=Xn(t,e);return r<0?void 0:t[r][1]}var BS=VS;function qS(e){return Xn(this.__data__,e)>-1}var GS=qS;function YS(e,t){var r=this.__data__,i=Xn(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var HS=YS;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=DS;$t.prototype.delete=FS;$t.prototype.get=BS;$t.prototype.has=GS;$t.prototype.set=HS;var eo=$t,ZS=Mt(re,"Map"),li=ZS;function QS(){this.size=0,this.__data__={hash:new cd,map:new(li||eo),string:new cd}}var WS=QS;function KS(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var JS=KS;function XS(e,t){var r=e.__data__;return JS(t)?r[typeof t=="string"?"string":"hash"]:r.map}var to=XS;function eM(e){var t=to(this,e).delete(e);return this.size-=t?1:0,t}var tM=eM;function rM(e){return to(this,e).get(e)}var iM=rM;function nM(e){return to(this,e).has(e)}var oM=nM;function aM(e,t){var r=to(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var lM=aM;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=WS;Et.prototype.delete=tM;Et.prototype.get=iM;Et.prototype.has=oM;Et.prototype.set=lM;var Qd=Et;function sM(){this.__data__=new eo,this.size=0}var uM=sM;function cM(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var dM=cM;function pM(e){return this.__data__.get(e)}var gM=pM;function fM(e){return this.__data__.has(e)}var yM=fM,mM=200;function hM(e,t){var r=this.__data__;if(r instanceof eo){var i=r.__data__;if(!li||i.length<mM-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Qd(i)}return r.set(e,t),this.size=r.size,this}var bM=hM;function fi(e){var t=this.__data__=new eo(e);this.size=t.size}fi.prototype.clear=uM;fi.prototype.delete=dM;fi.prototype.get=gM;fi.prototype.has=yM;fi.prototype.set=bM;var vM=Object.prototype,NX=vM.propertyIsEnumerable,wM=Mt(re,"DataView"),za=wM,kM=Mt(re,"Promise"),Ua=kM,xM=Mt(re,"Set"),Ra=xM,dd="[object Map]",IM="[object Object]",pd="[object Promise]",gd="[object Set]",fd="[object WeakMap]",yd="[object DataView]",AM=Ne(za),CM=Ne(li),SM=Ne(Ua),MM=Ne(Ra),jM=Ne(Pa),vt=gi;(za&&vt(new za(new ArrayBuffer(1)))!=yd||li&&vt(new li)!=dd||Ua&&vt(Ua.resolve())!=pd||Ra&&vt(new Ra)!=gd||Pa&&vt(new Pa)!=fd)&&(vt=function(e){var t=gi(e),r=t==IM?e.constructor:void 0,i=r?Ne(r):"";if(i)switch(i){case AM:return yd;case CM:return dd;case SM:return pd;case MM:return gd;case jM:return fd}return t});var DX=re.Uint8Array,$M="__lodash_hash_undefined__";function EM(e){return this.__data__.set(e,$M),this}var _M=EM;function TM(e){return this.__data__.has(e)}var LM=TM;function Fa(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Qd;++t<r;)this.add(e[t])}Fa.prototype.add=Fa.prototype.push=_M;Fa.prototype.has=LM;var md=xt?xt.prototype:void 0,PX=md?md.valueOf:void 0,OM=Object.prototype,zX=OM.hasOwnProperty,NM=Object.prototype,UX=NM.hasOwnProperty,RX=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),FX=new RegExp(/[A-Fa-f0-9]{1}/,"g"),VX=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function DM(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 Wd(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 DM(i,t)}function PM(e){return e==null?[]:Array.isArray(e)?e:[e]}var hd=PM;function zM(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function UM(e){return typeof e?.translate=="function"}function RM(e,t,r){return e&&zM(e)&&UM(e.i18n)?e.i18n.translate(t):r}var ti="@imgly/plugin-ai-video-generation-web";var ro="createVideo",bd=`ly.img.${ro}`,FM=`ly.img.plugin-ai-video-generation-web.quickAction.${ro}`,vd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${ro}`;function VM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${ro}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var BM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),ci(e,{en:{[`${vd}`]:"Create Video...",[`${vd}.description`]:"Create a video from the image"}}),{id:bd,type:"quick",kind:"image",label:`${FM}`,enable:_I(),scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${bd}.button`,{label:VM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=r.block.findAllSelected(),o=await Wd(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_urls`,o),i()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),qM=BM,io="animateBetweenImages",wd=`ly.img.${io}`,GM=`ly.img.plugin-ai-video-generation-web.quickAction.${io}`,kd=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${io}`;function YM(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${io}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var HM=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),ci(e,{en:{[`${kd}`]:"Animate Between Images...",[`${kd}.description`]:"Create a video transitioning between two images"}}),{id:wd,type:"quick",kind:"image",label:`${GM}`,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);return!(t.engine.block.getType(n)!=="//ly.img.ubq/fill/image"||t.engine.block.getType(i)==="//ly.img.ubq/page")})},scopes:[],render:({builder:t,engine:r,close:i,providerId:n})=>{t.Button(`${wd}.button`,{label:YM(n),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let a=r.block.findAllSelected();if(a.length!==2)throw new Error("Exactly 2 images must be selected");let[o,s]=await Promise.all(a.map(l=>Wd(l,r,{throwErrorIfSvg:!0}))),c="fal-ai/veo3.1/fast/first-last-frame-to-video";e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",c),e.ui.experimental.setGlobalStateValue(`${c}.first_frame_url`,o),e.ui.experimental.setGlobalStateValue(`${c}.last_frame_url`,s),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.openPanel("ly.img.ai.video-generation"),i()}catch(a){console.error("Error opening video generation panel:",a),e.ui.showNotification({type:"error",message:a.message||"Failed to open video generation panel. Please try again.",duration:"medium"})}}})}}),ZM=HM,he="ly.img.ai.video-generation";function QM(e){return{async initialize({cesdk:t}){if(t==null)return;MI(t,ti,"1.81.1"),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.fromImage",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-video-generation-web.quickAction.providerSelect",!0);let r=`${ti}.action.label`;ci(t,{en:{[`panel.${he}`]:"Video Generation",[`${he}.dock.label`]:"AI Video",[r]:"Generate Video","ly.img.ai.video.generation.hint":"Video generation may take up to a few minutes. This panel can be closed and you'll be notified when it's ready."}}),WM(e);let i=Qn.get().register({type:"plugin",sceneMode:"Video",id:ti,pluginId:ti,label:RM(t,r,"Generate Video"),labelKey:r,meta:{panelId:he},execute:()=>{t.ui.isPanelOpen(he)?t.ui.closePanel(he):t.ui.openPanel(he)}}),n=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,o=await Promise.all(hd(n).map(l=>l({cesdk:t}))),s=await Promise.all(hd(a).map(l=>l({cesdk:t})));if(!(o.length>0||s.length>0)){i();return}let c=await UA("video",{fromText:o,fromImage:s},{cesdk:t},e);Qn.get().register(qM({cesdk:t})),Qn.get().register(ZM({cesdk:t})),c.panel.builderRenderFunction!=null?(t.ui.registerPanel(he,c.panel.builderRenderFunction),$I({cesdk:t,panelId:he})):i()}}}function WM(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 KM=QM,JM=e=>({name:ti,version:"1.81.1",...KM(e)}),Kd=JM;var XM=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((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);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;Lt(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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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=()=>{Lt(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(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-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 Lt(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),Lt(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()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.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 c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<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 Lt(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]=Lt(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]=Lt(n,t,a)}return e}var ej=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,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")}},tj=typeof global=="object"&&global&&global.Object===Object&&global,Pp=tj,rj=typeof self=="object"&&self&&self.Object===Object&&self,ij=Pp||rj||Function("return this")(),ie=ij,nj=ie.Symbol,Ot=nj,zp=Object.prototype,oj=zp.hasOwnProperty,aj=zp.toString,yi=Ot?Ot.toStringTag:void 0;function lj(e){var t=oj.call(e,yi),r=e[yi];try{e[yi]=void 0;var i=!0}catch{}var n=aj.call(e);return i&&(t?e[yi]=r:delete e[yi]),n}var sj=lj,uj=Object.prototype,cj=uj.toString;function dj(e){return cj.call(e)}var pj=dj,gj="[object Null]",fj="[object Undefined]",Jd=Ot?Ot.toStringTag:void 0;function yj(e){return e==null?e===void 0?fj:gj:Jd&&Jd in Object(e)?sj(e):pj(e)}var Si=yj;function mj(e){return e!=null&&typeof e=="object"}var pl=mj,YX=Array.isArray;function hj(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Up=hj,bj="[object AsyncFunction]",vj="[object Function]",wj="[object GeneratorFunction]",kj="[object Proxy]";function xj(e){if(!Up(e))return!1;var t=Si(e);return t==vj||t==wj||t==bj||t==kj}var Ij=xj,Aj=ie["__core-js_shared__"],Ha=Aj,Xd=function(){var e=/[^.]+$/.exec(Ha&&Ha.keys&&Ha.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Cj(e){return!!Xd&&Xd in e}var Sj=Cj,Mj=Function.prototype,jj=Mj.toString;function $j(e){if(e!=null){try{return jj.call(e)}catch{}try{return e+""}catch{}}return""}var ze=$j,Ej=/[\\^$.*+?()[\]{}|]/g,_j=/^\[object .+?Constructor\]$/,Tj=Function.prototype,Lj=Object.prototype,Oj=Tj.toString,Nj=Lj.hasOwnProperty,Dj=RegExp("^"+Oj.call(Nj).replace(Ej,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Pj(e){if(!Up(e)||Sj(e))return!1;var t=Ij(e)?Dj:_j;return t.test(ze(e))}var zj=Pj;function Uj(e,t){return e?.[t]}var Rj=Uj;function Fj(e,t){var r=Rj(e,t);return zj(r)?r:void 0}var Dt=Fj,Vj=Dt(ie,"WeakMap"),el=Vj;function Bj(e,t){return e===t||e!==e&&t!==t}var qj=Bj,Gj=9007199254740991;function Yj(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Gj}var Hj=Yj,HX=Object.prototype,Zj="[object Arguments]";function Qj(e){return pl(e)&&Si(e)==Zj}var ep=Qj,Rp=Object.prototype,Wj=Rp.hasOwnProperty,Kj=Rp.propertyIsEnumerable,ZX=ep(function(){return arguments}())?ep:function(e){return pl(e)&&Wj.call(e,"callee")&&!Kj.call(e,"callee")},Fp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tp=Fp&&typeof module=="object"&&module&&!module.nodeType&&module,Jj=tp&&tp.exports===Fp,rp=Jj?ie.Buffer:void 0,QX=rp?rp.isBuffer:void 0,Xj="[object Arguments]",e$="[object Array]",t$="[object Boolean]",r$="[object Date]",i$="[object Error]",n$="[object Function]",o$="[object Map]",a$="[object Number]",l$="[object Object]",s$="[object RegExp]",u$="[object Set]",c$="[object String]",d$="[object WeakMap]",p$="[object ArrayBuffer]",g$="[object DataView]",f$="[object Float32Array]",y$="[object Float64Array]",m$="[object Int8Array]",h$="[object Int16Array]",b$="[object Int32Array]",v$="[object Uint8Array]",w$="[object Uint8ClampedArray]",k$="[object Uint16Array]",x$="[object Uint32Array]",z={};z[f$]=z[y$]=z[m$]=z[h$]=z[b$]=z[v$]=z[w$]=z[k$]=z[x$]=!0;z[Xj]=z[e$]=z[p$]=z[t$]=z[g$]=z[r$]=z[i$]=z[n$]=z[o$]=z[a$]=z[l$]=z[s$]=z[u$]=z[c$]=z[d$]=!1;function I$(e){return pl(e)&&Hj(e.length)&&!!z[Si(e)]}var A$=I$;function C$(e){return function(t){return e(t)}}var S$=C$,Vp=typeof exports=="object"&&exports&&!exports.nodeType&&exports,wi=Vp&&typeof module=="object"&&module&&!module.nodeType&&module,M$=wi&&wi.exports===Vp,Za=M$&&Pp.process,j$=function(){try{var e=wi&&wi.require&&wi.require("util").types;return e||Za&&Za.binding&&Za.binding("util")}catch{}}(),ip=j$,np=ip&&ip.isTypedArray,WX=np?S$(np):A$,$$=Object.prototype,KX=$$.hasOwnProperty;function E$(e,t){return function(r){return e(t(r))}}var _$=E$,JX=_$(Object.keys,Object),T$=Object.prototype,XX=T$.hasOwnProperty,L$=Dt(Object,"create"),xi=L$;function O$(){this.__data__=xi?xi(null):{},this.size=0}var N$=O$;function D$(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var P$=D$,z$="__lodash_hash_undefined__",U$=Object.prototype,R$=U$.hasOwnProperty;function F$(e){var t=this.__data__;if(xi){var r=t[e];return r===z$?void 0:r}return R$.call(t,e)?t[e]:void 0}var V$=F$,B$=Object.prototype,q$=B$.hasOwnProperty;function G$(e){var t=this.__data__;return xi?t[e]!==void 0:q$.call(t,e)}var Y$=G$,H$="__lodash_hash_undefined__";function Z$(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=xi&&t===void 0?H$:t,this}var Q$=Z$;function Pt(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])}}Pt.prototype.clear=N$;Pt.prototype.delete=P$;Pt.prototype.get=V$;Pt.prototype.has=Y$;Pt.prototype.set=Q$;var op=Pt;function W$(){this.__data__=[],this.size=0}var K$=W$;function J$(e,t){for(var r=e.length;r--;)if(qj(e[r][0],t))return r;return-1}var no=J$,X$=Array.prototype,eE=X$.splice;function tE(e){var t=this.__data__,r=no(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():eE.call(t,r,1),--this.size,!0}var rE=tE;function iE(e){var t=this.__data__,r=no(t,e);return r<0?void 0:t[r][1]}var nE=iE;function oE(e){return no(this.__data__,e)>-1}var aE=oE;function lE(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 sE=lE;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=K$;zt.prototype.delete=rE;zt.prototype.get=nE;zt.prototype.has=aE;zt.prototype.set=sE;var oo=zt,uE=Dt(ie,"Map"),Ii=uE;function cE(){this.size=0,this.__data__={hash:new op,map:new(Ii||oo),string:new op}}var dE=cE;function pE(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var gE=pE;function fE(e,t){var r=e.__data__;return gE(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ao=fE;function yE(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t}var mE=yE;function hE(e){return ao(this,e).get(e)}var bE=hE;function vE(e){return ao(this,e).has(e)}var wE=vE;function kE(e,t){var r=ao(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var xE=kE;function Ut(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])}}Ut.prototype.clear=dE;Ut.prototype.delete=mE;Ut.prototype.get=bE;Ut.prototype.has=wE;Ut.prototype.set=xE;var Bp=Ut;function IE(){this.__data__=new oo,this.size=0}var AE=IE;function CE(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var SE=CE;function ME(e){return this.__data__.get(e)}var jE=ME;function $E(e){return this.__data__.has(e)}var EE=$E,_E=200;function TE(e,t){var r=this.__data__;if(r instanceof oo){var i=r.__data__;if(!Ii||i.length<_E-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 LE=TE;function Mi(e){var t=this.__data__=new oo(e);this.size=t.size}Mi.prototype.clear=AE;Mi.prototype.delete=SE;Mi.prototype.get=jE;Mi.prototype.has=EE;Mi.prototype.set=LE;var OE=Object.prototype,eee=OE.propertyIsEnumerable,NE=Dt(ie,"DataView"),tl=NE,DE=Dt(ie,"Promise"),rl=DE,PE=Dt(ie,"Set"),il=PE,ap="[object Map]",zE="[object Object]",lp="[object Promise]",sp="[object Set]",up="[object WeakMap]",cp="[object DataView]",UE=ze(tl),RE=ze(Ii),FE=ze(rl),VE=ze(il),BE=ze(el),_t=Si;(tl&&_t(new tl(new ArrayBuffer(1)))!=cp||Ii&&_t(new Ii)!=ap||rl&&_t(rl.resolve())!=lp||il&&_t(new il)!=sp||el&&_t(new el)!=up)&&(_t=function(e){var t=Si(e),r=t==zE?e.constructor:void 0,i=r?ze(r):"";if(i)switch(i){case UE:return cp;case RE:return ap;case FE:return lp;case VE:return sp;case BE:return up}return t});var tee=ie.Uint8Array,qE="__lodash_hash_undefined__";function GE(e){return this.__data__.set(e,qE),this}var YE=GE;function HE(e){return this.__data__.has(e)}var ZE=HE;function nl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Bp;++t<r;)this.add(e[t])}nl.prototype.add=nl.prototype.push=YE;nl.prototype.has=ZE;var dp=Ot?Ot.prototype:void 0,ree=dp?dp.valueOf:void 0,QE=Object.prototype,iee=QE.hasOwnProperty,WE=Object.prototype,nee=WE.hasOwnProperty,oee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),aee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),lee=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function qp(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 KE(e,t){let r=await qp(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 JE(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 qp(i,t)}function XE(e){return e!==void 0}var e_=XE;function gl(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function ji(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function $i(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var Gp=class Yp{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 Yp),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))}},t_=class Hp{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new Hp),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 r_(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return p(u,y,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function i_({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 n_=i_,Qa="ly.img.ai.temp";async function o_(e,t){return e.engine.asset.findAllSources().includes(Qa)||e.engine.asset.addLocalSource(Qa),e.engine.asset.apply(Qa,t)}function a_(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 Zp(){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 l_(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 c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.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 s_(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 fl(e){return e instanceof Error&&e.name==="AbortError"}function u_(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function c_(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
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 d_(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 pp=d_;function p_(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),g_(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:a_(e)}))}function g_(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,duration:i.duration}),!0}var gp=p_,f_="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",yl=f_;function y_(e,t,r){switch(t){case"image":return m_(e,r[t]);case"video":return h_(e,r[t]);case"sticker":return b_(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function m_(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:yl,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function h_(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:yl,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function b_(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:yl,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var v_=y_;async function w_(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 k_(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 x_(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 I_(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 A_(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function k_(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 x_(e,t,r){let i=t.width,n=t.height,a=await l_(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 I_(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 A_(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 Qp=w_;function C_(e){switch(e.userFlow){case"placeholder":return M_(e);case"generation-only":return S_(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function S_(e){let{cesdk:t,abortSignal:r}=e;return async i=>{try{let n=e.kind,a=await e.getBlockInput(i);if(ke(t,r))return{status:"aborted"};let o=await e.generate(i,{middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ke(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(ke(t,r))return{status:"aborted"};if(e.historyAssetSourceId!=null){let s=Zp(),c=await Qp(s,n,a,o.output),l={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.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),error:n}}}}function M_(e){let{cesdk:t,abortSignal:r}=e,i;return async n=>{try{let a=e.kind,o=await e.getBlockInput(n);if(ke(t,r))return{status:"aborted"};let s=Zp(),c=v_(s,a,o);if(i=await o_(t,c),ke(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),g=t.engine.block.duplicate(i);t.engine.block.setPositionX(g,d),t.engine.block.setPositionY(g,p),t.engine.block.destroy(i),i=g}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,{blockIds:[i],middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(ke(t,r,i))return{status:"aborted"};if(l.status!=="success")return i!=null&&t.engine.block.isValid(i)&&(l.status==="aborted"||l.middlewareOptions?.defaultPrevented()?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),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 u=await Qp(s,a,o,l.output);if(ke(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(u,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(u,i),ke(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.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)&&(fl(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),error:a}}}}function ke(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var j_=C_;function ml(e){return`${e}.generating`}function $_(e){return`${e}.abort`}function E_(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:p}}=t,g=c.global($_(d),()=>{}),y=c.global(ml(d),!1),f,m=y.value&&p,b=()=>{m&&(g.value(),y.setValue(!1),g.setValue(()=>{}))},k;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let I=i();k=a.requiredInputs.some(h=>!I.input[h])}let w=c.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["ly.img.plugin-ai-generation-web.generate","common.generate",`panel.${d}.generate`],isLoading:y.value,color:"accent",isDisabled:k,suffix:m?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let I=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:h})=>{l.ui.closeDialog(h),w.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:h})=>{b(),l.ui.closeDialog(h),w.setValue(void 0)}}});w.setValue(I)}}:void 0,onClick:async()=>{f=new AbortController;let I=f.signal;await(async()=>{try{y.setValue(!0),g.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let h=await j_({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:I,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(h.status==="aborted")return;if(h.status==="error"){gp(h.error??h.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:h.middlewareOptions});return}if(h.status==="success"&&h.type==="sync"&&!h.middlewareOptions?.defaultPrevented()){let x=t.output.notification;__(l,x,()=>({input:i().input,output:h.output}))}}catch(h){if(fl(h))return;gp(h,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,y.setValue(!1),g.setValue(()=>{}),w.value!=null&&(l.ui.closeDialog(w.value),w.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),u&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function __(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 Wp=E_;function ol(e){let{name:t}=e;return(typeof t=="function"?t():t)??e.id}async function T_({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t;i.debug&&console.log(`Provider: ${o} (custom)`);let s=r.render;return c=>{let{state:l}=c,u=l(ml(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=s(c,{cesdk:a,isGenerating:u});return Wp(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var L_=T_;function Kp(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 bi(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=Kp(e,t.$ref),n={...bi(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=bi(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>bi(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=bi(e,t[n],r));return i}return t}function O_(e){return bi(e,{...e})}function N_(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 c=i[o][s];if(typeof c!="object"||c===null)return r(`Item ${s} in ${o} must be an object, got ${c===null?"null":typeof c}`)}}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 D_(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return P_(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function P_(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=z_(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function z_(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 Jp=D_;function xe(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`,a=[`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}`];return i==="placeholder"&&a.push("ly.img.plugin-ai-generation-web.fallback.property.placeholder"),a}function Xp(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 eg(e,t,r,i,n,a,o,s){if(t.schema==null)if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}else return;let c=t,l=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}switch(l){case"string":return t.schema.enum!=null?U_(e,c,r,i,n,a,o,s):tg(e,c,r,i,n,a,o,s);case"boolean":return rg(e,c,r,i,n,a,o,s);case"number":case"integer":return ig(e,c,r,i,n,a,o,s);case"object":return al(e,c,r,i,n,a,o,s);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return R_(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function al(e,t,r,i,n,a,o,s){let c=Jp(t.schema??{},i).reduce((l,u)=>{let d=eg(e,u,r,i,n,a,o,s);return d!=null&&(l[u.id]=d()),l},{});return()=>({id:t.id,type:"object",value:c})}function tg(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),y=xe(t,r,o,"placeholder"),f=ji(u,n.cesdk),m=s?.properties?.[d]??a.properties?.[d],b=$i(d,m,f,t.schema.default,""),k=l(p,b),w=F_(t.schema),I=w?.component!=null&&w?.component==="TextArea"?"TextArea":"TextInput",h=y.length>0?y:void 0;return c[I](p,{inputLabel:g,...h&&{placeholder:h},...k}),()=>({id:t.id,type:"string",value:k.value})}function U_(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),{labels:y,icons:f}=Xp(t.schema),m=(t.schema.enum??[]).map(x=>({id:x,label:xe(t,r,o,x),icon:f[x]})),b=ji(u,n.cesdk),k=s?.properties?.[d]??a.properties?.[d],w=$i(d,k,b,t.schema.default,m[0]?.id),I=w!=null?m.find(x=>x.id===w)??m[0]:m[0],h=l(p,I);return c.Select(p,{inputLabel:g,values:m,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function rg(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),y=ji(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],m=!!$i(d,f,y,t.schema.default,!1),b=l(p,m);return c.Checkbox(p,{inputLabel:g,...b}),()=>({id:t.id,type:"boolean",value:b.value})}function ig(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),y=t.schema.minimum,f=t.schema.maximum,m=ji(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],k=t.schema.default;k==null&&(y!=null?k=y:f!=null?k=f:k=0);let w=$i(d,b,m,k,k),I=l(p,w);if(y!=null&&f!=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"]),c.Slider(p,{inputLabel:g,min:y,max:f,step:h,...I})}else c.NumberInput(p,{inputLabel:g,min:y,max:f,...I});return()=>({id:t.id,type:"integer",value:I.value})}function R_(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=xe(t,r,o),y=t.schema.anyOf??[],f=[],m={},b={},{labels:k,icons:w}=Xp(t.schema),I=ji(u,n.cesdk),h=s?.properties?.[d]??a.properties?.[d],x={string:tg,boolean:rg,integer:ig,object:al},M=(v,j)=>v.$ref?v.$ref.split("/").pop():j.split(".").pop()??j,C=(v,j)=>({id:v,label:xe(t,r,o,j),icon:w[j]??w[v]});y.forEach((v,j)=>{let A=`${r.id}.${d}.anyOf[${j}]`;if(v.$ref||v.title){let S=v.$ref?v.$ref.split("/").pop():v.title;m[A]=()=>al(e,{id:A,schema:{...v,title:k[S]||S}},r,i,n,a,o,s),f.push(C(A,S))}else if(v.type==="string"&&v.enum)v.enum.forEach(S=>{f.push(C(S,S))});else if(v.type&&x[v.type]){let S=x[v.type];m[A]=()=>S(e,{id:A,schema:{...v,title:v.title}},r,i,n,a,o,s);let q=M(v,A);f.push(v.type==="string"&&!v.enum?{id:A,label:v.title||q,icon:v.title&&w[v.title]||w[q]}:C(A,q))}});let _=$i(d,h,I,t.schema.default,null),$=_!=null?f.find(v=>v.id===_)??f[0]:f[0],E=l(p,$);if(c.Select(p,{inputLabel:g,values:f,...E}),E.value.id in m){let v=m[E.value.id]();b[E.value.id]=v}return()=>{let v=b[E.value.id];return v!=null?{...v(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function F_(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var V_=eg,B_={"ly.img.plugin-ai-generation-web.fallback.property.placeholder":"","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 fp(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function yp(e,t,r,i){let n={},a=(l,u)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${u?`.${u}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,u,d)=>{l.forEach(p=>{let g=String(p),y=d[g]||fp(g);n[a(u,g)]=y})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let u=o(l.schema);s(l.schema.enum,l.id,u)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let u=o(l.schema);l.schema.anyOf.forEach(d=>{let p=d;if(p.enum&&Array.isArray(p.enum))s(p.enum,l.id,u);else if(p.$ref){let g=p.$ref.split("/").pop();g&&u[g]&&(n[a(l.id,g)]=u[g])}else if(p.title){let g=p.title,y=u[g]||fp(g);n[a(l.id,g)]=y}})}});let c={...B_,...n};Object.keys(c).length>0&&gl(r.cesdk,{en:c})}function mp(e){return typeof e.document=="function"?e.document():e.document}function hp(e,t,r){let i=O_(e),n=Kp(i,t.inputReference);if(!N_(n,r))throw new Error(`Input reference '${t.inputReference}' does not resolve to a valid OpenAPI schema`);let a=n,o=Jp(a,t);return{inputSchema:a,properties:o}}function bp(e,t,r,{options:i,provider:n,config:a,providerConfig:o},s){let{id:c}=n;return l=>{let{builder:u}=l,d=[];u.Section(`${c}.schema.section`,{children:()=>{t.forEach(m=>{let b=V_(l,m,n,r,i,a,n.kind,o);b!=null&&(Array.isArray(b)?d.push(...b):d.push(b))})}});let p=d.map(m=>m()),g=m=>m.type==="object"?Object.entries(m.value).reduce((b,[k,w])=>(b[k]=g(w),b),{}):m.value,y=p.reduce((m,b)=>(m[b.id]=g(b),m),{}),f=[...new Set([...e.required??[],...p.filter(m=>m.required).map(m=>m.id)])];Wp(l,n,s,()=>({input:y}),()=>r.getBlockInput(y),{...i,requiredInputs:f,createPlaceholderBlock:r.userFlow==="placeholder"},a)}}async function q_(e,t){let{options:r,provider:i,panelInput:n,config:a}=e,{id:o}=i;if(n==null)return;let s=n;a.debug&&console.log(`Provider: ${o} (schema-based)`);let c=mp(s);if(!(c instanceof Promise)){let{inputSchema:g,properties:y}=hp(c,s,a.debug);return yp(y,i,r,i.kind),bp(g,y,s,e,t)}let l=null,u=null,d=`${o}.schema.loading`;function p(){l=null,u=null,r.cesdk.ui.experimental.setGlobalStateValue(d,!0),Promise.resolve(mp(s)).then(g=>{let{inputSchema:y,properties:f}=hp(g,s,a.debug);yp(f,i,r,i.kind),u=bp(y,f,s,e,t)}).catch(g=>{l=g instanceof Error?g:new Error(String(g))}).finally(()=>{r.cesdk.ui.experimental.setGlobalStateValue(d,!1)})}return p(),g=>{let{builder:y}=g;if(u!=null){u(g);return}if(l!=null){y.Section(`${o}.schema.error`,{children:()=>{y.Text(`${o}.schema.error.title`,{content:"ly.img.plugin-ai-generation-web.schema.error.title"}),y.Text(`${o}.schema.error.details`,{content:l.message}),y.Button(`${o}.schema.error.retry`,{label:"ly.img.plugin-ai-generation-web.schema.error.retry",onClick:()=>{p()}})}});return}y.Spinner(`${o}.schema.loading`,{label:"ly.img.plugin-ai-generation-web.schema.loading.label"})}}var G_=q_;async function Y_(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return L_(e,t);case"schema":return G_(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var H_=Y_;function Z_(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 XM(o,r)),o}return i}var Q_=Z_;function W_(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 K_=W_,Wa="@imgly/plugin-ai-generation",J_=`
|
|
@@ -271,7 +271,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
|
|
|
271
271
|
</symbol>
|
|
272
272
|
</svg>
|
|
273
273
|
`,X_=J_;function eT(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 ng(2e3),await tT(t,e,r)):i(t,r)}async function tT(e,t,r){switch(t.kind){case"image":return rT(e,t,r);case"video":return iT(e,t,r);case"text":return nT(e,t,r);case"audio":return aT(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function rT(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,c=await JE(s,r),l=await KE(c,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 iT(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function nT(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=mi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=mi(n,o)}else"customPrompt"in e?a=mi(n,"custom"):a=mi(n,"improved");else a=mi(n,"generated");return oT(a,r.abortSignal)}async function*oT(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 ng(100)}return{kind:"text",text:e}}function mi(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 c=[" 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 u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function aT(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:lT(220,i),duration:i,thumbnailUrl:void 0}}function lT(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 sT(i,44100)}function sT(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,m)=>{for(let b=0;b<m.length;b++)u.setUint8(f+b,m.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),b=Math.round(m*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),y="";for(let f=0;f<g.length;f++)y+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(y)}`}async function ng(e){return new Promise(t=>{setTimeout(t,e)})}var uT=eT,cT="USER_CANCEL";function dT(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=r_([...e.provider.output.middleware??[],...r?.middlewares??[],n_({enable:r?.debug}),uT({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,error:o,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:s_(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return fl(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===cT?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),error:o,middlewareOptions:a}}}}var pT=dT;async function gT(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,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Gp.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(y,!0)}})}let o=Q_(a),s=K_(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=pT({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await H_(a,c);u_(r.cesdk,"@imgly/plugin-ai-generation",X_);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return t_.get().register(u),u}var Ka=gT;function fT(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 ej(n,r,i);return r.engine.asset.addSource(a),a.id}var yT=fT;function vi(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 mT(e,t,r,i){let{cesdk:n}=r;gl(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry","common.ai-generation.failed":"We couldn't generate the asset. Please try again.","ly.img.ai.error.insufficientCredits":"You've run out of AI credits. Generation is unavailable until more credits are available.","ly.img.ai.error.unauthorized":"AI generation isn't authorized. Please sign in again or contact support.","ly.img.ai.error.notAvailable":"This AI model isn't available on your current plan.","ly.img.ai.error.invalidRequest":"This request couldn't be processed. Please adjust your input and try again.","ly.img.ai.error.serviceUnavailable":"The AI service is temporarily unavailable. Please try again shortly.","ly.img.ai.error.network":"We couldn't reach the AI service. Please check your connection and try again."}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ka(e,u,r,i)));o.push(...l),a=bT({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ka(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ka(e,d,r,i)));o.push(...u),a=hT({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=yT({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(e_)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function hT({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),y;d&&r.length>0&&(!g||i.length===0)?y="fromText":g&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&g&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let b=r.map(({provider:A,panel:S})=>({id:A.id,label:ol(A),builderRenderFunction:S?.builderRenderFunction})),k=i.map(({provider:A,panel:S})=>({id:A.id,label:ol(A),builderRenderFunction:S?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),I=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),h=b.find(A=>A.id===w.value)??b[0],x=k.find(A=>A.id===I.value)??k[0],M=f.value==="fromText"?w:f.value==="fromImage"?I:void 0,C=f.value==="fromText"?h:f.value==="fromImage"?x:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,$=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,v=a&&E,j=m.length>1&&$;if((v||j)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(v&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:vi(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:vi(e,"fromText.label"),icon:f.value!=="fromText"&&vp(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:vi(e,"fromImage.label"),icon:f.value!=="fromImage"&&vp(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),j){let A=f.value==="fromText"?b:f.value==="fromImage"?k:[...b,...k];M!=null&&C!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:vi(e,"providerSelect.label"),values:A,value:C,setValue:S=>{M.setValue(S.id)}})}}}),m.length>1)C?.builderRenderFunction?.(o);else{let A=m[0];A&&A.panel?.builderRenderFunction?.(o)}}}function bT({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:ol(p),builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:vi(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function vp(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(ml(r.id),!1).value)}var wp=mT,see=5*60*1e3,vT=typeof global=="object"&&global&&global.Object===Object&&global,og=vT,wT=typeof self=="object"&&self&&self.Object===Object&&self,kT=og||wT||Function("return this")(),ne=kT,xT=ne.Symbol,Nt=xT,ag=Object.prototype,IT=ag.hasOwnProperty,AT=ag.toString,hi=Nt?Nt.toStringTag:void 0;function CT(e){var t=IT.call(e,hi),r=e[hi];try{e[hi]=void 0;var i=!0}catch{}var n=AT.call(e);return i&&(t?e[hi]=r:delete e[hi]),n}var ST=CT,MT=Object.prototype,jT=MT.toString;function $T(e){return jT.call(e)}var ET=$T,_T="[object Null]",TT="[object Undefined]",kp=Nt?Nt.toStringTag:void 0;function LT(e){return e==null?e===void 0?TT:_T:kp&&kp in Object(e)?ST(e):ET(e)}var Ei=LT;function OT(e){return e!=null&&typeof e=="object"}var hl=OT,uee=Array.isArray;function NT(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var lg=NT,DT="[object AsyncFunction]",PT="[object Function]",zT="[object GeneratorFunction]",UT="[object Proxy]";function RT(e){if(!lg(e))return!1;var t=Ei(e);return t==PT||t==zT||t==DT||t==UT}var FT=RT,VT=ne["__core-js_shared__"],Ja=VT,xp=function(){var e=/[^.]+$/.exec(Ja&&Ja.keys&&Ja.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function BT(e){return!!xp&&xp in e}var qT=BT,GT=Function.prototype,YT=GT.toString;function HT(e){if(e!=null){try{return YT.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=HT,ZT=/[\\^$.*+?()[\]{}|]/g,QT=/^\[object .+?Constructor\]$/,WT=Function.prototype,KT=Object.prototype,JT=WT.toString,XT=KT.hasOwnProperty,eL=RegExp("^"+JT.call(XT).replace(ZT,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tL(e){if(!lg(e)||qT(e))return!1;var t=FT(e)?eL:QT;return t.test(Ue(e))}var rL=tL;function iL(e,t){return e?.[t]}var nL=iL;function oL(e,t){var r=nL(e,t);return rL(r)?r:void 0}var Rt=oL,aL=Rt(ne,"WeakMap"),ll=aL;function lL(e,t){return e===t||e!==e&&t!==t}var sL=lL,uL=9007199254740991;function cL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=uL}var dL=cL,cee=Object.prototype,pL="[object Arguments]";function gL(e){return hl(e)&&Ei(e)==pL}var Ip=gL,sg=Object.prototype,fL=sg.hasOwnProperty,yL=sg.propertyIsEnumerable,dee=Ip(function(){return arguments}())?Ip:function(e){return hl(e)&&fL.call(e,"callee")&&!yL.call(e,"callee")},ug=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ap=ug&&typeof module=="object"&&module&&!module.nodeType&&module,mL=Ap&&Ap.exports===ug,Cp=mL?ne.Buffer:void 0,pee=Cp?Cp.isBuffer:void 0,hL="[object Arguments]",bL="[object Array]",vL="[object Boolean]",wL="[object Date]",kL="[object Error]",xL="[object Function]",IL="[object Map]",AL="[object Number]",CL="[object Object]",SL="[object RegExp]",ML="[object Set]",jL="[object String]",$L="[object WeakMap]",EL="[object ArrayBuffer]",_L="[object DataView]",TL="[object Float32Array]",LL="[object Float64Array]",OL="[object Int8Array]",NL="[object Int16Array]",DL="[object Int32Array]",PL="[object Uint8Array]",zL="[object Uint8ClampedArray]",UL="[object Uint16Array]",RL="[object Uint32Array]",U={};U[TL]=U[LL]=U[OL]=U[NL]=U[DL]=U[PL]=U[zL]=U[UL]=U[RL]=!0;U[hL]=U[bL]=U[EL]=U[vL]=U[_L]=U[wL]=U[kL]=U[xL]=U[IL]=U[AL]=U[CL]=U[SL]=U[ML]=U[jL]=U[$L]=!1;function FL(e){return hl(e)&&dL(e.length)&&!!U[Ei(e)]}var VL=FL;function BL(e){return function(t){return e(t)}}var qL=BL,cg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ki=cg&&typeof module=="object"&&module&&!module.nodeType&&module,GL=ki&&ki.exports===cg,Xa=GL&&og.process,YL=function(){try{var e=ki&&ki.require&&ki.require("util").types;return e||Xa&&Xa.binding&&Xa.binding("util")}catch{}}(),Sp=YL,Mp=Sp&&Sp.isTypedArray,gee=Mp?qL(Mp):VL,HL=Object.prototype,fee=HL.hasOwnProperty;function ZL(e,t){return function(r){return e(t(r))}}var QL=ZL,yee=QL(Object.keys,Object),WL=Object.prototype,mee=WL.hasOwnProperty,KL=Rt(Object,"create"),Ai=KL;function JL(){this.__data__=Ai?Ai(null):{},this.size=0}var XL=JL;function eO(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var tO=eO,rO="__lodash_hash_undefined__",iO=Object.prototype,nO=iO.hasOwnProperty;function oO(e){var t=this.__data__;if(Ai){var r=t[e];return r===rO?void 0:r}return nO.call(t,e)?t[e]:void 0}var aO=oO,lO=Object.prototype,sO=lO.hasOwnProperty;function uO(e){var t=this.__data__;return Ai?t[e]!==void 0:sO.call(t,e)}var cO=uO,dO="__lodash_hash_undefined__";function pO(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ai&&t===void 0?dO:t,this}var gO=pO;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=XL;Ft.prototype.delete=tO;Ft.prototype.get=aO;Ft.prototype.has=cO;Ft.prototype.set=gO;var jp=Ft;function fO(){this.__data__=[],this.size=0}var yO=fO;function mO(e,t){for(var r=e.length;r--;)if(sL(e[r][0],t))return r;return-1}var lo=mO,hO=Array.prototype,bO=hO.splice;function vO(e){var t=this.__data__,r=lo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():bO.call(t,r,1),--this.size,!0}var wO=vO;function kO(e){var t=this.__data__,r=lo(t,e);return r<0?void 0:t[r][1]}var xO=kO;function IO(e){return lo(this.__data__,e)>-1}var AO=IO;function CO(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 SO=CO;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=yO;Vt.prototype.delete=wO;Vt.prototype.get=xO;Vt.prototype.has=AO;Vt.prototype.set=SO;var so=Vt,MO=Rt(ne,"Map"),Ci=MO;function jO(){this.size=0,this.__data__={hash:new jp,map:new(Ci||so),string:new jp}}var $O=jO;function EO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var _O=EO;function TO(e,t){var r=e.__data__;return _O(t)?r[typeof t=="string"?"string":"hash"]:r.map}var uo=TO;function LO(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t}var OO=LO;function NO(e){return uo(this,e).get(e)}var DO=NO;function PO(e){return uo(this,e).has(e)}var zO=PO;function UO(e,t){var r=uo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var RO=UO;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=$O;Bt.prototype.delete=OO;Bt.prototype.get=DO;Bt.prototype.has=zO;Bt.prototype.set=RO;var dg=Bt;function FO(){this.__data__=new so,this.size=0}var VO=FO;function BO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var qO=BO;function GO(e){return this.__data__.get(e)}var YO=GO;function HO(e){return this.__data__.has(e)}var ZO=HO,QO=200;function WO(e,t){var r=this.__data__;if(r instanceof so){var i=r.__data__;if(!Ci||i.length<QO-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new dg(i)}return r.set(e,t),this.size=r.size,this}var KO=WO;function _i(e){var t=this.__data__=new so(e);this.size=t.size}_i.prototype.clear=VO;_i.prototype.delete=qO;_i.prototype.get=YO;_i.prototype.has=ZO;_i.prototype.set=KO;var JO=Object.prototype,hee=JO.propertyIsEnumerable,XO=Rt(ne,"DataView"),sl=XO,eN=Rt(ne,"Promise"),ul=eN,tN=Rt(ne,"Set"),cl=tN,$p="[object Map]",rN="[object Object]",Ep="[object Promise]",_p="[object Set]",Tp="[object WeakMap]",Lp="[object DataView]",iN=Ue(sl),nN=Ue(Ci),oN=Ue(ul),aN=Ue(cl),lN=Ue(ll),Tt=Ei;(sl&&Tt(new sl(new ArrayBuffer(1)))!=Lp||Ci&&Tt(new Ci)!=$p||ul&&Tt(ul.resolve())!=Ep||cl&&Tt(new cl)!=_p||ll&&Tt(new ll)!=Tp)&&(Tt=function(e){var t=Ei(e),r=t==rN?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case iN:return Lp;case nN:return $p;case oN:return Ep;case aN:return _p;case lN:return Tp}return t});var bee=ne.Uint8Array,sN="__lodash_hash_undefined__";function uN(e){return this.__data__.set(e,sN),this}var cN=uN;function dN(e){return this.__data__.has(e)}var pN=dN;function dl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new dg;++t<r;)this.add(e[t])}dl.prototype.add=dl.prototype.push=cN;dl.prototype.has=pN;var Op=Nt?Nt.prototype:void 0,vee=Op?Op.valueOf:void 0,gN=Object.prototype,wee=gN.hasOwnProperty,fN=Object.prototype,kee=fN.hasOwnProperty,xee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Iee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Aee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function yN(e){return e==null?[]:Array.isArray(e)?e:[e]}var Np=yN;function mN(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function hN(e){return typeof e?.translate=="function"}function Dp(e,t,r){return e&&mN(e)&&hN(e.i18n)?e.i18n.translate(t):r}var we="@imgly/plugin-ai-audio-generation-web",De="ly.img.ai.audio-generation.speech",Pe="ly.img.ai.audio-generation.sound";function bN(e){return{async initialize({cesdk:t}){if(t==null)return;c_(t,we,"1.81.0"),t.feature.enable("ly.img.plugin-ai-audio-generation-web.speech.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-audio-generation-web.sound.providerSelect",!0);let r=`${we}.sound.action.label`,i=`${we}.speech.action.label`;gl(t,{en:{[`panel.${De}`]:"AI Voice",[`panel.${Pe}`]:"Sound Generation",[r]:"Generate Sound",[i]:"AI Voice"}}),vN(e);let n=Gp.get(),a=n.register({type:"plugin",sceneMode:"Video",id:`${we}/sound`,pluginId:we,label:Dp(t,r,"Generate Sound"),labelKey:r,meta:{panelId:Pe},execute:()=>{t.ui.isPanelOpen(Pe)?t.ui.closePanel(Pe):t.ui.openPanel(Pe)}}),o=n.register({type:"plugin",sceneMode:"Video",id:`${we}/speech`,pluginId:we,label:Dp(t,i,"AI Voice"),labelKey:i,meta:{panelId:De},execute:()=>{t.ui.isPanelOpen(De)?t.ui.closePanel(De):t.ui.openPanel(De)}}),s=e.providers?.text2speech??e.text2speech,c=e.providers?.text2sound??e.text2sound,l=await Promise.all(Np(s).map(f=>f({cesdk:t}))),u=await Promise.all(Np(c).map(f=>f({cesdk:t}))),d=l.length>0,p=u.length>0;if(!d&&!p){a(),o();return}p||a(),d||o();let g=await wp("audio",l,{cesdk:t},e),y=await wp("audio",u,{cesdk:t},e);y.panel.builderRenderFunction!=null?(t.ui.registerPanel(Pe,y.panel.builderRenderFunction),pp({cesdk:t,panelId:Pe})):a(),g.panel.builderRenderFunction!=null?(t.ui.registerPanel(De,g.panel.builderRenderFunction),pp({cesdk:t,panelId:De})):o()}}}function vN(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 wN=bN,kN=e=>({name:we,version:"1.81.0",...wN(e)}),pg=kN;var xN="@imgly/plugin-ai-text-generation",IN=`
|
|
274
|
+
`,"+")}`}}async function iT(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function nT(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=mi(n,"translation");else if("type"in e&&typeof e.type=="string"){let o=e.type;a=mi(n,o)}else"customPrompt"in e?a=mi(n,"custom"):a=mi(n,"improved");else a=mi(n,"generated");return oT(a,r.abortSignal)}async function*oT(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 ng(100)}return{kind:"text",text:e}}function mi(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 c=[" 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 u=c[l%c.length];if(s.length+u.length<=n)s+=u;else{s+=u.substring(0,n-s.length);break}l++}}return r+s}async function aT(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:lT(220,i),duration:i,thumbnailUrl:void 0}}function lT(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 sT(i,44100)}function sT(e,t){let r=e.length,i=2,n=1,a=n*i,o=t*a,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,m)=>{for(let b=0;b<m.length;b++)u.setUint8(f+b,m.charCodeAt(b))};d(0,"RIFF"),u.setUint32(4,c-8,!0),d(8,"WAVE"),d(12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,n,!0),u.setUint32(24,t,!0),u.setUint32(28,o,!0),u.setUint16(32,a,!0),u.setUint16(34,16,!0),d(36,"data"),u.setUint32(40,s,!0);let p=44;for(let f=0;f<r;f++){let m=Math.max(-1,Math.min(1,e[f])),b=Math.round(m*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),y="";for(let f=0;f<g.length;f++)y+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(y)}`}async function ng(e){return new Promise(t=>{setTimeout(t,e)})}var uT=eT,cT="USER_CANCEL";function dT(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=r_([...e.provider.output.middleware??[],...r?.middlewares??[],n_({enable:r?.debug}),uT({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},a={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:o}=await i(e.provider.output.generate)(t,a);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:a}:o instanceof Error?{status:"error",message:o.message,error:o,middlewareOptions:a}:o==null?{status:"error",message:"No output generated",middlewareOptions:a}:s_(o)?{status:"success",type:"async",output:o,middlewareOptions:a}:{status:"success",type:"sync",output:o,middlewareOptions:a}}catch(o){return fl(o)?{status:"aborted",message:o.message,middlewareOptions:a}:o===cT?{status:"aborted",message:o,middlewareOptions:a}:{status:"error",message:o instanceof Error?o.message:String(o),error:o,middlewareOptions:a}}}}var pT=dT;async function gT(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,providerConfig:t.configuration};if(await t.initialize?.({...r,engine:r.cesdk.engine}),t.input?.quickActions?.supported){let d=t.kind,p=Gp.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let y=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(y,!0)}})}let o=Q_(a),s=K_(a,o);a.options.historyAssetSourceId=o,a.options.historyAssetLibraryEntryId=s;let c=pT({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await H_(a,c);u_(r.cesdk,"@imgly/plugin-ai-generation",X_);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:o,assetLibraryEntryId:s},generate:c};return t_.get().register(u),u}var Ka=gT;function fT(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 ej(n,r,i);return r.engine.asset.addSource(a),a.id}var yT=fT;function vi(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 mT(e,t,r,i){let{cesdk:n}=r;gl(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","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","ly.img.plugin-ai-generation-web.schema.loading.label":"Loading\u2026","ly.img.plugin-ai-generation-web.schema.error.title":"Failed to load schema","ly.img.plugin-ai-generation-web.schema.error.retry":"Retry","common.ai-generation.failed":"We couldn't generate the asset. Please try again.","ly.img.ai.error.insufficientCredits":"You've run out of AI credits. Generation is unavailable until more credits are available.","ly.img.ai.error.unauthorized":"AI generation isn't authorized. Please sign in again or contact support.","ly.img.ai.error.notAvailable":"This AI model isn't available on your current plan.","ly.img.ai.error.invalidRequest":"This request couldn't be processed. Please adjust your input and try again.","ly.img.ai.error.serviceUnavailable":"The AI service is temporarily unavailable. Please try again shortly.","ly.img.ai.error.network":"We couldn't reach the AI service. Please check your connection and try again."}});let a,o=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Ka(e,u,r,i)));o.push(...l),a=bT({kind:e,prefix:e,providerInitializationResults:o,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Ka(e,d,r,i)));o.push(...l);let u=await Promise.all(t.fromImage.map(d=>Ka(e,d,r,i)));o.push(...u),a=hT({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=yT({kind:e,cesdk:r.cesdk,historAssetSourceIds:o.map(l=>l.history?.assetSourceId).filter(e_)}),c;return s!=null&&(c=s,r.cesdk.ui.addAssetLibraryEntry({id:c,sourceIds:[s],sortBy:{sortKey:"insertedAt",sortingOrder:"Descending"},canRemove:!0,gridItemHeight:"square",gridBackgroundType:"cover"})),{panel:{builderRenderFunction:a},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:o}}function hT({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let a=r.length>0&&i.length>0;return o=>{let{builder:s,experimental:c,engine:l}=o,u=`ly.img.plugin-ai-${e}-generation-web.fromText`,d=n.feature.isEnabled(u,{engine:l}),p=`ly.img.plugin-ai-${e}-generation-web.fromImage`,g=n.feature.isEnabled(p,{engine:l}),y;d&&r.length>0&&(!g||i.length===0)?y="fromText":g&&i.length>0&&(!d||r.length===0)?y="fromImage":d&&g&&a&&(y="fromText");let f=c.global(`${t}.fromType`,y),m=[];f.value==="fromText"?m.push(...r):f.value==="fromImage"?m.push(...i):m.push(...r,...i);let b=r.map(({provider:A,panel:S})=>({id:A.id,label:ol(A),builderRenderFunction:S?.builderRenderFunction})),k=i.map(({provider:A,panel:S})=>({id:A.id,label:ol(A),builderRenderFunction:S?.builderRenderFunction})),w=o.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),I=o.experimental.global(`${t}.selectedProvider.fromImage`,k[0]?.id),h=b.find(A=>A.id===w.value)??b[0],x=k.find(A=>A.id===I.value)??k[0],M=f.value==="fromText"?w:f.value==="fromImage"?I:void 0,C=f.value==="fromText"?h:f.value==="fromImage"?x:void 0,_=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,$=n.feature.isEnabled(_,{engine:l});if(!d&&!g){s.Section(`${t}.noInputWarning.section`,{children:()=>{s.Text(`${t}.noInputWarning.text`,{content:"No input types are enabled. Please enable at least one input type (text or image) via the Feature API."})}});return}let E=d&&g&&r.length>0&&i.length>0,v=a&&E,j=m.length>1&&$;if((v||j)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(v&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:vi(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:vi(e,"fromText.label"),icon:f.value!=="fromText"&&vp(r,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:vi(e,"fromImage.label"),icon:f.value!=="fromImage"&&vp(i,o)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),j){let A=f.value==="fromText"?b:f.value==="fromImage"?k:[...b,...k];M!=null&&C!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:vi(e,"providerSelect.label"),values:A,value:C,setValue:S=>{M.setValue(S.id)}})}}}),m.length>1)C?.builderRenderFunction?.(o);else{let A=m[0];A&&A.panel?.builderRenderFunction?.(o)}}}function bT({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:a,engine:o}=n;if(r.length===0)return;let s=`ly.img.plugin-ai-${e}-generation-web.providerSelect`;e==="audio"&&t&&(t.includes("speech")?s="ly.img.plugin-ai-audio-generation-web.speech.providerSelect":t.includes("sound")&&(s="ly.img.plugin-ai-audio-generation-web.sound.providerSelect"));let c=i.feature.isEnabled(s,{engine:o}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:ol(p),builderRenderFunction:g?.builderRenderFunction})),u=n.state(`${t}.selectedProvider`,l[0]?.id),d=l.find(p=>p.id===u.value)??l[0];r.length>1&&c&&u!=null&&d!=null&&a.Section(`${t}.providerSelection.section`,{children:()=>{a.Select(`${t}.providerSelect.select`,{inputLabel:vi(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function vp(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(ml(r.id),!1).value)}var wp=mT,see=5*60*1e3,vT=typeof global=="object"&&global&&global.Object===Object&&global,og=vT,wT=typeof self=="object"&&self&&self.Object===Object&&self,kT=og||wT||Function("return this")(),ne=kT,xT=ne.Symbol,Nt=xT,ag=Object.prototype,IT=ag.hasOwnProperty,AT=ag.toString,hi=Nt?Nt.toStringTag:void 0;function CT(e){var t=IT.call(e,hi),r=e[hi];try{e[hi]=void 0;var i=!0}catch{}var n=AT.call(e);return i&&(t?e[hi]=r:delete e[hi]),n}var ST=CT,MT=Object.prototype,jT=MT.toString;function $T(e){return jT.call(e)}var ET=$T,_T="[object Null]",TT="[object Undefined]",kp=Nt?Nt.toStringTag:void 0;function LT(e){return e==null?e===void 0?TT:_T:kp&&kp in Object(e)?ST(e):ET(e)}var Ei=LT;function OT(e){return e!=null&&typeof e=="object"}var hl=OT,uee=Array.isArray;function NT(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var lg=NT,DT="[object AsyncFunction]",PT="[object Function]",zT="[object GeneratorFunction]",UT="[object Proxy]";function RT(e){if(!lg(e))return!1;var t=Ei(e);return t==PT||t==zT||t==DT||t==UT}var FT=RT,VT=ne["__core-js_shared__"],Ja=VT,xp=function(){var e=/[^.]+$/.exec(Ja&&Ja.keys&&Ja.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function BT(e){return!!xp&&xp in e}var qT=BT,GT=Function.prototype,YT=GT.toString;function HT(e){if(e!=null){try{return YT.call(e)}catch{}try{return e+""}catch{}}return""}var Ue=HT,ZT=/[\\^$.*+?()[\]{}|]/g,QT=/^\[object .+?Constructor\]$/,WT=Function.prototype,KT=Object.prototype,JT=WT.toString,XT=KT.hasOwnProperty,eL=RegExp("^"+JT.call(XT).replace(ZT,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tL(e){if(!lg(e)||qT(e))return!1;var t=FT(e)?eL:QT;return t.test(Ue(e))}var rL=tL;function iL(e,t){return e?.[t]}var nL=iL;function oL(e,t){var r=nL(e,t);return rL(r)?r:void 0}var Rt=oL,aL=Rt(ne,"WeakMap"),ll=aL;function lL(e,t){return e===t||e!==e&&t!==t}var sL=lL,uL=9007199254740991;function cL(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=uL}var dL=cL,cee=Object.prototype,pL="[object Arguments]";function gL(e){return hl(e)&&Ei(e)==pL}var Ip=gL,sg=Object.prototype,fL=sg.hasOwnProperty,yL=sg.propertyIsEnumerable,dee=Ip(function(){return arguments}())?Ip:function(e){return hl(e)&&fL.call(e,"callee")&&!yL.call(e,"callee")},ug=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ap=ug&&typeof module=="object"&&module&&!module.nodeType&&module,mL=Ap&&Ap.exports===ug,Cp=mL?ne.Buffer:void 0,pee=Cp?Cp.isBuffer:void 0,hL="[object Arguments]",bL="[object Array]",vL="[object Boolean]",wL="[object Date]",kL="[object Error]",xL="[object Function]",IL="[object Map]",AL="[object Number]",CL="[object Object]",SL="[object RegExp]",ML="[object Set]",jL="[object String]",$L="[object WeakMap]",EL="[object ArrayBuffer]",_L="[object DataView]",TL="[object Float32Array]",LL="[object Float64Array]",OL="[object Int8Array]",NL="[object Int16Array]",DL="[object Int32Array]",PL="[object Uint8Array]",zL="[object Uint8ClampedArray]",UL="[object Uint16Array]",RL="[object Uint32Array]",U={};U[TL]=U[LL]=U[OL]=U[NL]=U[DL]=U[PL]=U[zL]=U[UL]=U[RL]=!0;U[hL]=U[bL]=U[EL]=U[vL]=U[_L]=U[wL]=U[kL]=U[xL]=U[IL]=U[AL]=U[CL]=U[SL]=U[ML]=U[jL]=U[$L]=!1;function FL(e){return hl(e)&&dL(e.length)&&!!U[Ei(e)]}var VL=FL;function BL(e){return function(t){return e(t)}}var qL=BL,cg=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ki=cg&&typeof module=="object"&&module&&!module.nodeType&&module,GL=ki&&ki.exports===cg,Xa=GL&&og.process,YL=function(){try{var e=ki&&ki.require&&ki.require("util").types;return e||Xa&&Xa.binding&&Xa.binding("util")}catch{}}(),Sp=YL,Mp=Sp&&Sp.isTypedArray,gee=Mp?qL(Mp):VL,HL=Object.prototype,fee=HL.hasOwnProperty;function ZL(e,t){return function(r){return e(t(r))}}var QL=ZL,yee=QL(Object.keys,Object),WL=Object.prototype,mee=WL.hasOwnProperty,KL=Rt(Object,"create"),Ai=KL;function JL(){this.__data__=Ai?Ai(null):{},this.size=0}var XL=JL;function eO(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var tO=eO,rO="__lodash_hash_undefined__",iO=Object.prototype,nO=iO.hasOwnProperty;function oO(e){var t=this.__data__;if(Ai){var r=t[e];return r===rO?void 0:r}return nO.call(t,e)?t[e]:void 0}var aO=oO,lO=Object.prototype,sO=lO.hasOwnProperty;function uO(e){var t=this.__data__;return Ai?t[e]!==void 0:sO.call(t,e)}var cO=uO,dO="__lodash_hash_undefined__";function pO(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ai&&t===void 0?dO:t,this}var gO=pO;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=XL;Ft.prototype.delete=tO;Ft.prototype.get=aO;Ft.prototype.has=cO;Ft.prototype.set=gO;var jp=Ft;function fO(){this.__data__=[],this.size=0}var yO=fO;function mO(e,t){for(var r=e.length;r--;)if(sL(e[r][0],t))return r;return-1}var lo=mO,hO=Array.prototype,bO=hO.splice;function vO(e){var t=this.__data__,r=lo(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():bO.call(t,r,1),--this.size,!0}var wO=vO;function kO(e){var t=this.__data__,r=lo(t,e);return r<0?void 0:t[r][1]}var xO=kO;function IO(e){return lo(this.__data__,e)>-1}var AO=IO;function CO(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 SO=CO;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=yO;Vt.prototype.delete=wO;Vt.prototype.get=xO;Vt.prototype.has=AO;Vt.prototype.set=SO;var so=Vt,MO=Rt(ne,"Map"),Ci=MO;function jO(){this.size=0,this.__data__={hash:new jp,map:new(Ci||so),string:new jp}}var $O=jO;function EO(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var _O=EO;function TO(e,t){var r=e.__data__;return _O(t)?r[typeof t=="string"?"string":"hash"]:r.map}var uo=TO;function LO(e){var t=uo(this,e).delete(e);return this.size-=t?1:0,t}var OO=LO;function NO(e){return uo(this,e).get(e)}var DO=NO;function PO(e){return uo(this,e).has(e)}var zO=PO;function UO(e,t){var r=uo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var RO=UO;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=$O;Bt.prototype.delete=OO;Bt.prototype.get=DO;Bt.prototype.has=zO;Bt.prototype.set=RO;var dg=Bt;function FO(){this.__data__=new so,this.size=0}var VO=FO;function BO(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var qO=BO;function GO(e){return this.__data__.get(e)}var YO=GO;function HO(e){return this.__data__.has(e)}var ZO=HO,QO=200;function WO(e,t){var r=this.__data__;if(r instanceof so){var i=r.__data__;if(!Ci||i.length<QO-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new dg(i)}return r.set(e,t),this.size=r.size,this}var KO=WO;function _i(e){var t=this.__data__=new so(e);this.size=t.size}_i.prototype.clear=VO;_i.prototype.delete=qO;_i.prototype.get=YO;_i.prototype.has=ZO;_i.prototype.set=KO;var JO=Object.prototype,hee=JO.propertyIsEnumerable,XO=Rt(ne,"DataView"),sl=XO,eN=Rt(ne,"Promise"),ul=eN,tN=Rt(ne,"Set"),cl=tN,$p="[object Map]",rN="[object Object]",Ep="[object Promise]",_p="[object Set]",Tp="[object WeakMap]",Lp="[object DataView]",iN=Ue(sl),nN=Ue(Ci),oN=Ue(ul),aN=Ue(cl),lN=Ue(ll),Tt=Ei;(sl&&Tt(new sl(new ArrayBuffer(1)))!=Lp||Ci&&Tt(new Ci)!=$p||ul&&Tt(ul.resolve())!=Ep||cl&&Tt(new cl)!=_p||ll&&Tt(new ll)!=Tp)&&(Tt=function(e){var t=Ei(e),r=t==rN?e.constructor:void 0,i=r?Ue(r):"";if(i)switch(i){case iN:return Lp;case nN:return $p;case oN:return Ep;case aN:return _p;case lN:return Tp}return t});var bee=ne.Uint8Array,sN="__lodash_hash_undefined__";function uN(e){return this.__data__.set(e,sN),this}var cN=uN;function dN(e){return this.__data__.has(e)}var pN=dN;function dl(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new dg;++t<r;)this.add(e[t])}dl.prototype.add=dl.prototype.push=cN;dl.prototype.has=pN;var Op=Nt?Nt.prototype:void 0,vee=Op?Op.valueOf:void 0,gN=Object.prototype,wee=gN.hasOwnProperty,fN=Object.prototype,kee=fN.hasOwnProperty,xee=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Iee=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Aee=new RegExp(/[A-Fa-f0-9]{2}/,"g");function yN(e){return e==null?[]:Array.isArray(e)?e:[e]}var Np=yN;function mN(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function hN(e){return typeof e?.translate=="function"}function Dp(e,t,r){return e&&mN(e)&&hN(e.i18n)?e.i18n.translate(t):r}var we="@imgly/plugin-ai-audio-generation-web",De="ly.img.ai.audio-generation.speech",Pe="ly.img.ai.audio-generation.sound";function bN(e){return{async initialize({cesdk:t}){if(t==null)return;c_(t,we,"1.81.1"),t.feature.enable("ly.img.plugin-ai-audio-generation-web.speech.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-audio-generation-web.sound.providerSelect",!0);let r=`${we}.sound.action.label`,i=`${we}.speech.action.label`;gl(t,{en:{[`panel.${De}`]:"AI Voice",[`panel.${Pe}`]:"Sound Generation",[r]:"Generate Sound",[i]:"AI Voice"}}),vN(e);let n=Gp.get(),a=n.register({type:"plugin",sceneMode:"Video",id:`${we}/sound`,pluginId:we,label:Dp(t,r,"Generate Sound"),labelKey:r,meta:{panelId:Pe},execute:()=>{t.ui.isPanelOpen(Pe)?t.ui.closePanel(Pe):t.ui.openPanel(Pe)}}),o=n.register({type:"plugin",sceneMode:"Video",id:`${we}/speech`,pluginId:we,label:Dp(t,i,"AI Voice"),labelKey:i,meta:{panelId:De},execute:()=>{t.ui.isPanelOpen(De)?t.ui.closePanel(De):t.ui.openPanel(De)}}),s=e.providers?.text2speech??e.text2speech,c=e.providers?.text2sound??e.text2sound,l=await Promise.all(Np(s).map(f=>f({cesdk:t}))),u=await Promise.all(Np(c).map(f=>f({cesdk:t}))),d=l.length>0,p=u.length>0;if(!d&&!p){a(),o();return}p||a(),d||o();let g=await wp("audio",l,{cesdk:t},e),y=await wp("audio",u,{cesdk:t},e);y.panel.builderRenderFunction!=null?(t.ui.registerPanel(Pe,y.panel.builderRenderFunction),pp({cesdk:t,panelId:Pe})):a(),g.panel.builderRenderFunction!=null?(t.ui.registerPanel(De,g.panel.builderRenderFunction),pp({cesdk:t,panelId:De})):o()}}}function vN(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 wN=bN,kN=e=>({name:we,version:"1.81.1",...wN(e)}),pg=kN;var xN="@imgly/plugin-ai-text-generation",IN=`
|
|
275
275
|
<svg>
|
|
276
276
|
<symbol
|
|
277
277
|
fill="none"
|
|
@@ -583,7 +583,7 @@ ${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 JB=KB,Co="changeTextTo",Ie=`ly.img.${Co}`,t1=`ly.img.plugin-ai-text-generation-web.quickAction.${Co}`,r1=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Co}`;function Cl(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Co}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var XB=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.changeTextTo",!0),Z(e,{en:{[`${r1}`]:"Change Text to...",[`${r1}.prompt`]:"Change Text to...",[`${t1}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:Ie,type:"quick",kind:"text",scopes:["text/edit"],label:`${t1}`,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:c,providerId:l})=>{if(i){let u=s(`${Ie}.prompt`,"");t.TextArea(`${Ie}.prompt`,{inputLabel:Cl(l,"prompt"),placeholder:Cl(l,"prompt.placeholder")[1],...u}),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:"common.apply",icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getString(p,"text/text");await a({prompt:JB(g,d),customPrompt:d}),n(),c()}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(`${Ie}.button`,{label:Cl(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),eq=XB,P1="@imgly/plugin-ai-text-generation-web",tq=["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 rq(e){return{async initialize({cesdk:t}){if(t==null)return;Oz(t,P1,"1.81.0"),t.feature.enable("ly.img.plugin-ai-text-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.providerSelect",!0),t.ui.addIconSet(xN,AN),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),iq(e);let r=Rl.get();r.register(mB({cesdk:t})),r.register(IB({cesdk:t})),r.register(EB({cesdk:t})),r.register(PB({cesdk:t})),r.register(BB({cesdk:t})),r.register(WB({cesdk:t})),r.register(eq({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(uB(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await FU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await dR({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:tq});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:yo}))}}}function iq(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 nq=rq,oq=e=>({name:P1,version:"1.81.0",...nq(e)}),z1=oq;var aq=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((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);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;or(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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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=()=>{or(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(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-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 or(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),or(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()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.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 c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<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 or(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]=or(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]=or(n,t,a)}return e}var lq=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,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")}},sq=typeof global=="object"&&global&&global.Object===Object&&global,kf=sq,uq=typeof self=="object"&&self&&self.Object===Object&&self,cq=kf||uq||Function("return this")(),le=cq,dq=le.Symbol,ar=dq,xf=Object.prototype,pq=xf.hasOwnProperty,gq=xf.toString,Ji=ar?ar.toStringTag:void 0;function fq(e){var t=pq.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=gq.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var yq=fq,mq=Object.prototype,hq=mq.toString;function bq(e){return hq.call(e)}var vq=bq,wq="[object Null]",kq="[object Undefined]",U1=ar?ar.toStringTag:void 0;function xq(e){return e==null?e===void 0?kq:wq:U1&&U1 in Object(e)?yq(e):vq(e)}var dn=xq;function Iq(e){return e!=null&&typeof e=="object"}var cs=Iq,dte=Array.isArray;function Aq(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var If=Aq,Cq="[object AsyncFunction]",Sq="[object Function]",Mq="[object GeneratorFunction]",jq="[object Proxy]";function $q(e){if(!If(e))return!1;var t=dn(e);return t==Sq||t==Mq||t==Cq||t==jq}var Eq=$q,_q=le["__core-js_shared__"],Gl=_q,R1=function(){var e=/[^.]+$/.exec(Gl&&Gl.keys&&Gl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Tq(e){return!!R1&&R1 in e}var Lq=Tq,Oq=Function.prototype,Nq=Oq.toString;function Dq(e){if(e!=null){try{return Nq.call(e)}catch{}try{return e+""}catch{}}return""}var qe=Dq,Pq=/[\\^$.*+?()[\]{}|]/g,zq=/^\[object .+?Constructor\]$/,Uq=Function.prototype,Rq=Object.prototype,Fq=Uq.toString,Vq=Rq.hasOwnProperty,Bq=RegExp("^"+Fq.call(Vq).replace(Pq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function qq(e){if(!If(e)||Lq(e))return!1;var t=Eq(e)?Bq:zq;return t.test(qe(e))}var Gq=qq;function Yq(e,t){return e?.[t]}var Hq=Yq;function Zq(e,t){var r=Hq(e,t);return Gq(r)?r:void 0}var sr=Zq,Qq=sr(le,"WeakMap"),Jl=Qq;function Wq(e,t){return e===t||e!==e&&t!==t}var Kq=Wq,Jq=9007199254740991;function Xq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Jq}var eG=Xq,pte=Object.prototype,tG="[object Arguments]";function rG(e){return cs(e)&&dn(e)==tG}var F1=rG,Af=Object.prototype,iG=Af.hasOwnProperty,nG=Af.propertyIsEnumerable,gte=F1(function(){return arguments}())?F1:function(e){return cs(e)&&iG.call(e,"callee")&&!nG.call(e,"callee")},Cf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,V1=Cf&&typeof module=="object"&&module&&!module.nodeType&&module,oG=V1&&V1.exports===Cf,B1=oG?le.Buffer:void 0,fte=B1?B1.isBuffer:void 0,aG="[object Arguments]",lG="[object Array]",sG="[object Boolean]",uG="[object Date]",cG="[object Error]",dG="[object Function]",pG="[object Map]",gG="[object Number]",fG="[object Object]",yG="[object RegExp]",mG="[object Set]",hG="[object String]",bG="[object WeakMap]",vG="[object ArrayBuffer]",wG="[object DataView]",kG="[object Float32Array]",xG="[object Float64Array]",IG="[object Int8Array]",AG="[object Int16Array]",CG="[object Int32Array]",SG="[object Uint8Array]",MG="[object Uint8ClampedArray]",jG="[object Uint16Array]",$G="[object Uint32Array]",V={};V[kG]=V[xG]=V[IG]=V[AG]=V[CG]=V[SG]=V[MG]=V[jG]=V[$G]=!0;V[aG]=V[lG]=V[vG]=V[sG]=V[wG]=V[uG]=V[cG]=V[dG]=V[pG]=V[gG]=V[fG]=V[yG]=V[mG]=V[hG]=V[bG]=!1;function EG(e){return cs(e)&&eG(e.length)&&!!V[dn(e)]}var _G=EG;function TG(e){return function(t){return e(t)}}var LG=TG,Sf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,on=Sf&&typeof module=="object"&&module&&!module.nodeType&&module,OG=on&&on.exports===Sf,Yl=OG&&kf.process,NG=function(){try{var e=on&&on.require&&on.require("util").types;return e||Yl&&Yl.binding&&Yl.binding("util")}catch{}}(),q1=NG,G1=q1&&q1.isTypedArray,yte=G1?LG(G1):_G,DG=Object.prototype,mte=DG.hasOwnProperty;function PG(e,t){return function(r){return e(t(r))}}var zG=PG,hte=zG(Object.keys,Object),UG=Object.prototype,bte=UG.hasOwnProperty,RG=sr(Object,"create"),ln=RG;function FG(){this.__data__=ln?ln(null):{},this.size=0}var VG=FG;function BG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var qG=BG,GG="__lodash_hash_undefined__",YG=Object.prototype,HG=YG.hasOwnProperty;function ZG(e){var t=this.__data__;if(ln){var r=t[e];return r===GG?void 0:r}return HG.call(t,e)?t[e]:void 0}var QG=ZG,WG=Object.prototype,KG=WG.hasOwnProperty;function JG(e){var t=this.__data__;return ln?t[e]!==void 0:KG.call(t,e)}var XG=JG,eY="__lodash_hash_undefined__";function tY(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?eY:t,this}var rY=tY;function ur(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])}}ur.prototype.clear=VG;ur.prototype.delete=qG;ur.prototype.get=QG;ur.prototype.has=XG;ur.prototype.set=rY;var Y1=ur;function iY(){this.__data__=[],this.size=0}var nY=iY;function oY(e,t){for(var r=e.length;r--;)if(Kq(e[r][0],t))return r;return-1}var So=oY,aY=Array.prototype,lY=aY.splice;function sY(e){var t=this.__data__,r=So(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():lY.call(t,r,1),--this.size,!0}var uY=sY;function cY(e){var t=this.__data__,r=So(t,e);return r<0?void 0:t[r][1]}var dY=cY;function pY(e){return So(this.__data__,e)>-1}var gY=pY;function fY(e,t){var r=this.__data__,i=So(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var yY=fY;function cr(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])}}cr.prototype.clear=nY;cr.prototype.delete=uY;cr.prototype.get=dY;cr.prototype.has=gY;cr.prototype.set=yY;var Mo=cr,mY=sr(le,"Map"),sn=mY;function hY(){this.size=0,this.__data__={hash:new Y1,map:new(sn||Mo),string:new Y1}}var bY=hY;function vY(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var wY=vY;function kY(e,t){var r=e.__data__;return wY(t)?r[typeof t=="string"?"string":"hash"]:r.map}var jo=kY;function xY(e){var t=jo(this,e).delete(e);return this.size-=t?1:0,t}var IY=xY;function AY(e){return jo(this,e).get(e)}var CY=AY;function SY(e){return jo(this,e).has(e)}var MY=SY;function jY(e,t){var r=jo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var $Y=jY;function dr(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])}}dr.prototype.clear=bY;dr.prototype.delete=IY;dr.prototype.get=CY;dr.prototype.has=MY;dr.prototype.set=$Y;var Mf=dr;function EY(){this.__data__=new Mo,this.size=0}var _Y=EY;function TY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var LY=TY;function OY(e){return this.__data__.get(e)}var NY=OY;function DY(e){return this.__data__.has(e)}var PY=DY,zY=200;function UY(e,t){var r=this.__data__;if(r instanceof Mo){var i=r.__data__;if(!sn||i.length<zY-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Mf(i)}return r.set(e,t),this.size=r.size,this}var RY=UY;function pn(e){var t=this.__data__=new Mo(e);this.size=t.size}pn.prototype.clear=_Y;pn.prototype.delete=LY;pn.prototype.get=NY;pn.prototype.has=PY;pn.prototype.set=RY;var FY=Object.prototype,vte=FY.propertyIsEnumerable,VY=sr(le,"DataView"),Xl=VY,BY=sr(le,"Promise"),es=BY,qY=sr(le,"Set"),ts=qY,H1="[object Map]",GY="[object Object]",Z1="[object Promise]",Q1="[object Set]",W1="[object WeakMap]",K1="[object DataView]",YY=qe(Xl),HY=qe(sn),ZY=qe(es),QY=qe(ts),WY=qe(Jl),ir=dn;(Xl&&ir(new Xl(new ArrayBuffer(1)))!=K1||sn&&ir(new sn)!=H1||es&&ir(es.resolve())!=Z1||ts&&ir(new ts)!=Q1||Jl&&ir(new Jl)!=W1)&&(ir=function(e){var t=dn(e),r=t==GY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case YY:return K1;case HY:return H1;case ZY:return Z1;case QY:return Q1;case WY:return W1}return t});var wte=le.Uint8Array,KY="__lodash_hash_undefined__";function JY(e){return this.__data__.set(e,KY),this}var XY=JY;function eH(e){return this.__data__.has(e)}var tH=eH;function rs(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Mf;++t<r;)this.add(e[t])}rs.prototype.add=rs.prototype.push=XY;rs.prototype.has=tH;var J1=ar?ar.prototype:void 0,kte=J1?J1.valueOf:void 0,rH=Object.prototype,xte=rH.hasOwnProperty,iH=Object.prototype,Ite=iH.hasOwnProperty,Ate=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Cte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ste=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function jf(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 nH(e,t){let r=await jf(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 oH(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 jf(i,t)}function aH(e){return e!==void 0}var lH=aH;function ds(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function gn(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function fn(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var $f=class Ef{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 Ef),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))}},sH=class _f{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new _f),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 uH(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return p(u,y,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function cH({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 dH=cH,Hl="ly.img.ai.temp";async function pH(e,t){return e.engine.asset.findAllSources().includes(Hl)||e.engine.asset.addLocalSource(Hl),e.engine.asset.apply(Hl,t)}function gH(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 Tf(){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 fH(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 c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.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 yH(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 ps(e){return e instanceof Error&&e.name==="AbortError"}function mH(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function hH(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 JB=KB,Co="changeTextTo",Ie=`ly.img.${Co}`,t1=`ly.img.plugin-ai-text-generation-web.quickAction.${Co}`,r1=`ly.img.plugin-ai-text-generation-web.defaults.quickAction.${Co}`;function Cl(e,t){let r="ly.img.plugin-ai-text-generation-web",i=`quickAction.${Co}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var XB=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.changeTextTo",!0),Z(e,{en:{[`${r1}`]:"Change Text to...",[`${r1}.prompt`]:"Change Text to...",[`${t1}.prompt.placeholder`]:'e.g. "a list of bullet points", "a formal announcement"'}}),{id:Ie,type:"quick",kind:"text",scopes:["text/edit"],label:`${t1}`,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:c,providerId:l})=>{if(i){let u=s(`${Ie}.prompt`,"");t.TextArea(`${Ie}.prompt`,{inputLabel:Cl(l,"prompt"),placeholder:Cl(l,"prompt.placeholder")[1],...u}),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:"common.apply",icon:"@imgly/MagicWand",color:"accent",isDisabled:u.value.length===0,onClick:async()=>{try{let d=u.value;if(!d)return;let[p]=o.block.findAllSelected(),g=o.block.getString(p,"text/text");await a({prompt:JB(g,d),customPrompt:d}),n(),c()}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(`${Ie}.button`,{label:Cl(l),icon:"@imgly/MagicWand",labelAlignment:"left",variant:"plain",onClick:n})}}),eq=XB,P1="@imgly/plugin-ai-text-generation-web",tq=["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 rq(e){return{async initialize({cesdk:t}){if(t==null)return;Oz(t,P1,"1.81.1"),t.feature.enable("ly.img.plugin-ai-text-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction",!0),t.feature.enable("ly.img.plugin-ai-text-generation-web.quickAction.providerSelect",!0),t.ui.addIconSet(xN,AN),Z(t,{en:{"common.apply":"Apply","common.back":"Back"}}),iq(e);let r=Rl.get();r.register(mB({cesdk:t})),r.register(IB({cesdk:t})),r.register(EB({cesdk:t})),r.register(PB({cesdk:t})),r.register(BB({cesdk:t})),r.register(WB({cesdk:t})),r.register(eq({cesdk:t}));let i=e.providers?.text2text??e.provider,n=await Promise.all(uB(i).map(s=>s({cesdk:t})));if(!(n.length>0))return;let a=await FU("text",{fromText:n,fromImage:[]},{cesdk:t},e),o=await dR({kind:"text",providerInitializationResults:a.providerInitializationResults,cesdk:t,engine:t.engine,debug:e.debug,dryRun:e.dryRun,defaultOrder:tq});o.renderFunction!=null&&(t.ui.registerComponent("ly.img.ai.text.canvasMenu",o.renderFunction),t.ui.setCanvasMenuOrder(["ly.img.ai.text.canvasMenu"],{editMode:yo}))}}}function iq(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 nq=rq,oq=e=>({name:P1,version:"1.81.1",...nq(e)}),z1=oq;var aq=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((c,l)=>{let u=e.locale??"en",d="",p=[];l.label!=null&&typeof l.label=="object"&&l.label[u]&&(d=l.label[u]),l.tags!=null&&typeof l.tags=="object"&&l.tags[u]&&(p=l.tags[u]);let g={...l,label:d,tags:p};return this.filterAsset(g,e)&&c.push(g),c},[]);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;or(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.oncomplete=()=>{this.engine.asset.assetSourceContentsChanged(this.id)},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=()=>{or(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(),c=o.meta?.insertedAt||o._insertedAt||Date.now();return e==="asc"?s-c:c-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 or(e,i=>{r.add(i)}),await Promise.all([...r].map(async i=>{let n=await this.createBlobUrlFromStore(i);t[i]=n})),or(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()??"",c=e.tags?.map(l=>l.toLowerCase())??[];if(!o.every(l=>s.includes(l)||c.some(u=>u.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 c,l;return i==="id"?(c=o.id,l=s.id):(c=o.meta?.[i]??null,l=s.meta?.[i]??null),c==null?r==="Ascending"?-1:1:l==null?r==="Ascending"?1:-1:typeof c=="string"&&typeof l=="string"?r==="Ascending"?c.localeCompare(l):l.localeCompare(c):r==="Ascending"?c<l?-1:c>l?1:0:c>l?-1:c<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 or(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]=or(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]=or(n,t,a)}return e}var lq=class{constructor(e,t,r){this.id=e,this.cesdk=t,this.assetSourceIds=r}async findAssets(e){try{let t=this.assetSourceIds.map(u=>this.cesdk.engine.asset.findAssets(u,{...e,perPage:9999,page:0})),r=await Promise.all(t),i=[];r.forEach(u=>{u?.assets&&(i=i.concat(u.assets))}),i.sort((u,d)=>{let p=u.meta?.insertedAt||0;return(d.meta?.insertedAt||0)-p});let{page:n,perPage:a}=e,o=n*a,s=o+a,c=i.slice(o,s),l=s<i.length?n+1:void 0;return{assets:c,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")}},sq=typeof global=="object"&&global&&global.Object===Object&&global,kf=sq,uq=typeof self=="object"&&self&&self.Object===Object&&self,cq=kf||uq||Function("return this")(),le=cq,dq=le.Symbol,ar=dq,xf=Object.prototype,pq=xf.hasOwnProperty,gq=xf.toString,Ji=ar?ar.toStringTag:void 0;function fq(e){var t=pq.call(e,Ji),r=e[Ji];try{e[Ji]=void 0;var i=!0}catch{}var n=gq.call(e);return i&&(t?e[Ji]=r:delete e[Ji]),n}var yq=fq,mq=Object.prototype,hq=mq.toString;function bq(e){return hq.call(e)}var vq=bq,wq="[object Null]",kq="[object Undefined]",U1=ar?ar.toStringTag:void 0;function xq(e){return e==null?e===void 0?kq:wq:U1&&U1 in Object(e)?yq(e):vq(e)}var dn=xq;function Iq(e){return e!=null&&typeof e=="object"}var cs=Iq,dte=Array.isArray;function Aq(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var If=Aq,Cq="[object AsyncFunction]",Sq="[object Function]",Mq="[object GeneratorFunction]",jq="[object Proxy]";function $q(e){if(!If(e))return!1;var t=dn(e);return t==Sq||t==Mq||t==Cq||t==jq}var Eq=$q,_q=le["__core-js_shared__"],Gl=_q,R1=function(){var e=/[^.]+$/.exec(Gl&&Gl.keys&&Gl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Tq(e){return!!R1&&R1 in e}var Lq=Tq,Oq=Function.prototype,Nq=Oq.toString;function Dq(e){if(e!=null){try{return Nq.call(e)}catch{}try{return e+""}catch{}}return""}var qe=Dq,Pq=/[\\^$.*+?()[\]{}|]/g,zq=/^\[object .+?Constructor\]$/,Uq=Function.prototype,Rq=Object.prototype,Fq=Uq.toString,Vq=Rq.hasOwnProperty,Bq=RegExp("^"+Fq.call(Vq).replace(Pq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function qq(e){if(!If(e)||Lq(e))return!1;var t=Eq(e)?Bq:zq;return t.test(qe(e))}var Gq=qq;function Yq(e,t){return e?.[t]}var Hq=Yq;function Zq(e,t){var r=Hq(e,t);return Gq(r)?r:void 0}var sr=Zq,Qq=sr(le,"WeakMap"),Jl=Qq;function Wq(e,t){return e===t||e!==e&&t!==t}var Kq=Wq,Jq=9007199254740991;function Xq(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Jq}var eG=Xq,pte=Object.prototype,tG="[object Arguments]";function rG(e){return cs(e)&&dn(e)==tG}var F1=rG,Af=Object.prototype,iG=Af.hasOwnProperty,nG=Af.propertyIsEnumerable,gte=F1(function(){return arguments}())?F1:function(e){return cs(e)&&iG.call(e,"callee")&&!nG.call(e,"callee")},Cf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,V1=Cf&&typeof module=="object"&&module&&!module.nodeType&&module,oG=V1&&V1.exports===Cf,B1=oG?le.Buffer:void 0,fte=B1?B1.isBuffer:void 0,aG="[object Arguments]",lG="[object Array]",sG="[object Boolean]",uG="[object Date]",cG="[object Error]",dG="[object Function]",pG="[object Map]",gG="[object Number]",fG="[object Object]",yG="[object RegExp]",mG="[object Set]",hG="[object String]",bG="[object WeakMap]",vG="[object ArrayBuffer]",wG="[object DataView]",kG="[object Float32Array]",xG="[object Float64Array]",IG="[object Int8Array]",AG="[object Int16Array]",CG="[object Int32Array]",SG="[object Uint8Array]",MG="[object Uint8ClampedArray]",jG="[object Uint16Array]",$G="[object Uint32Array]",V={};V[kG]=V[xG]=V[IG]=V[AG]=V[CG]=V[SG]=V[MG]=V[jG]=V[$G]=!0;V[aG]=V[lG]=V[vG]=V[sG]=V[wG]=V[uG]=V[cG]=V[dG]=V[pG]=V[gG]=V[fG]=V[yG]=V[mG]=V[hG]=V[bG]=!1;function EG(e){return cs(e)&&eG(e.length)&&!!V[dn(e)]}var _G=EG;function TG(e){return function(t){return e(t)}}var LG=TG,Sf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,on=Sf&&typeof module=="object"&&module&&!module.nodeType&&module,OG=on&&on.exports===Sf,Yl=OG&&kf.process,NG=function(){try{var e=on&&on.require&&on.require("util").types;return e||Yl&&Yl.binding&&Yl.binding("util")}catch{}}(),q1=NG,G1=q1&&q1.isTypedArray,yte=G1?LG(G1):_G,DG=Object.prototype,mte=DG.hasOwnProperty;function PG(e,t){return function(r){return e(t(r))}}var zG=PG,hte=zG(Object.keys,Object),UG=Object.prototype,bte=UG.hasOwnProperty,RG=sr(Object,"create"),ln=RG;function FG(){this.__data__=ln?ln(null):{},this.size=0}var VG=FG;function BG(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var qG=BG,GG="__lodash_hash_undefined__",YG=Object.prototype,HG=YG.hasOwnProperty;function ZG(e){var t=this.__data__;if(ln){var r=t[e];return r===GG?void 0:r}return HG.call(t,e)?t[e]:void 0}var QG=ZG,WG=Object.prototype,KG=WG.hasOwnProperty;function JG(e){var t=this.__data__;return ln?t[e]!==void 0:KG.call(t,e)}var XG=JG,eY="__lodash_hash_undefined__";function tY(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ln&&t===void 0?eY:t,this}var rY=tY;function ur(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])}}ur.prototype.clear=VG;ur.prototype.delete=qG;ur.prototype.get=QG;ur.prototype.has=XG;ur.prototype.set=rY;var Y1=ur;function iY(){this.__data__=[],this.size=0}var nY=iY;function oY(e,t){for(var r=e.length;r--;)if(Kq(e[r][0],t))return r;return-1}var So=oY,aY=Array.prototype,lY=aY.splice;function sY(e){var t=this.__data__,r=So(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():lY.call(t,r,1),--this.size,!0}var uY=sY;function cY(e){var t=this.__data__,r=So(t,e);return r<0?void 0:t[r][1]}var dY=cY;function pY(e){return So(this.__data__,e)>-1}var gY=pY;function fY(e,t){var r=this.__data__,i=So(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var yY=fY;function cr(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])}}cr.prototype.clear=nY;cr.prototype.delete=uY;cr.prototype.get=dY;cr.prototype.has=gY;cr.prototype.set=yY;var Mo=cr,mY=sr(le,"Map"),sn=mY;function hY(){this.size=0,this.__data__={hash:new Y1,map:new(sn||Mo),string:new Y1}}var bY=hY;function vY(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var wY=vY;function kY(e,t){var r=e.__data__;return wY(t)?r[typeof t=="string"?"string":"hash"]:r.map}var jo=kY;function xY(e){var t=jo(this,e).delete(e);return this.size-=t?1:0,t}var IY=xY;function AY(e){return jo(this,e).get(e)}var CY=AY;function SY(e){return jo(this,e).has(e)}var MY=SY;function jY(e,t){var r=jo(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var $Y=jY;function dr(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])}}dr.prototype.clear=bY;dr.prototype.delete=IY;dr.prototype.get=CY;dr.prototype.has=MY;dr.prototype.set=$Y;var Mf=dr;function EY(){this.__data__=new Mo,this.size=0}var _Y=EY;function TY(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var LY=TY;function OY(e){return this.__data__.get(e)}var NY=OY;function DY(e){return this.__data__.has(e)}var PY=DY,zY=200;function UY(e,t){var r=this.__data__;if(r instanceof Mo){var i=r.__data__;if(!sn||i.length<zY-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Mf(i)}return r.set(e,t),this.size=r.size,this}var RY=UY;function pn(e){var t=this.__data__=new Mo(e);this.size=t.size}pn.prototype.clear=_Y;pn.prototype.delete=LY;pn.prototype.get=NY;pn.prototype.has=PY;pn.prototype.set=RY;var FY=Object.prototype,vte=FY.propertyIsEnumerable,VY=sr(le,"DataView"),Xl=VY,BY=sr(le,"Promise"),es=BY,qY=sr(le,"Set"),ts=qY,H1="[object Map]",GY="[object Object]",Z1="[object Promise]",Q1="[object Set]",W1="[object WeakMap]",K1="[object DataView]",YY=qe(Xl),HY=qe(sn),ZY=qe(es),QY=qe(ts),WY=qe(Jl),ir=dn;(Xl&&ir(new Xl(new ArrayBuffer(1)))!=K1||sn&&ir(new sn)!=H1||es&&ir(es.resolve())!=Z1||ts&&ir(new ts)!=Q1||Jl&&ir(new Jl)!=W1)&&(ir=function(e){var t=dn(e),r=t==GY?e.constructor:void 0,i=r?qe(r):"";if(i)switch(i){case YY:return K1;case HY:return H1;case ZY:return Z1;case QY:return Q1;case WY:return W1}return t});var wte=le.Uint8Array,KY="__lodash_hash_undefined__";function JY(e){return this.__data__.set(e,KY),this}var XY=JY;function eH(e){return this.__data__.has(e)}var tH=eH;function rs(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Mf;++t<r;)this.add(e[t])}rs.prototype.add=rs.prototype.push=XY;rs.prototype.has=tH;var J1=ar?ar.prototype:void 0,kte=J1?J1.valueOf:void 0,rH=Object.prototype,xte=rH.hasOwnProperty,iH=Object.prototype,Ite=iH.hasOwnProperty,Ate=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Cte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Ste=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function jf(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 nH(e,t){let r=await jf(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 oH(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 jf(i,t)}function aH(e){return e!==void 0}var lH=aH;function ds(e,t){if(typeof e.i18n?.getTranslations!="function"){e.i18n.setTranslations(t);return}let r=Object.keys(t),i=e.i18n.getTranslations(r),n={};for(let a of r){let o=t[a];if(!o)continue;let s=i[a]??{},c={};for(let[l,u]of Object.entries(o))!(l in s)&&u!==void 0&&(c[l]=u);Object.keys(c).length>0&&(n[a]=c)}Object.keys(n).length>0&&e.i18n.setTranslations(n)}function gn(e,t){let r=t?.i18n?.getLocale?.()||"en";return{engine:e,cesdk:t,locale:r}}function fn(e,t,r,i,n){if(t?.default!==void 0){let a=t.default;return typeof a!="function"?a:a(r)}return i!==void 0?i:n}var $f=class Ef{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 Ef),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))}},sH=class _f{constructor(){this.providers=new Map}static get(){let t="__imgly_provider_registry__",r=typeof window<"u"?window:globalThis;return r[t]||(r[t]=new _f),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 uH(e){let t=e.filter(r=>!!r);return r=>async(i,n)=>{let a=[],o=l=>{a.push(l)},s=async(l,u,d)=>{if(l>=t.length)return r(u,d);let p=t[l],g=async(f,m)=>s(l+1,f,m),y={...d,addDisposer:o};return p(u,y,g)},c={...n,addDisposer:o};return{result:await s(0,i,c),dispose:async()=>{for(let l=a.length-1;l>=0;l--)try{await a[l]()}catch(u){console.error("Error in disposer:",u)}a.length=0}}}}function cH({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 dH=cH,Hl="ly.img.ai.temp";async function pH(e,t){return e.engine.asset.findAllSources().includes(Hl)||e.engine.asset.addLocalSource(Hl),e.engine.asset.apply(Hl,t)}function gH(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 Tf(){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 fH(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 c=s.getContext("2d");if(!c){document.body.removeChild(o),a(new Error("Failed to create canvas context"));return}c.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 yH(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 ps(e){return e instanceof Error&&e.name==="AbortError"}function mH(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function hH(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
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 bH(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 vH=bH;function wH(e,t){let{cesdk:r,provider:i,getInput:n,middlewareOptions:a}=t;a?.defaultPrevented()||(console.error("Generation failed:",e),kH(r,i.output.notification,()=>({input:n?.().input,error:e}))||r.ui.showNotification({type:"error",message:gH(e)}))}function kH(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,duration:i.duration}),!0}var X1=wH,xH="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIzIiBoZWlnaHQ9IjMyMyIgdmlld0JveD0iMCAwIDMyMyAzMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIzMjMiIGhlaWdodD0iMzIzIiBmaWxsPSIjRTlFQkVEIi8+CjxnIG9wYWNpdHk9IjAuMyI+CjxwYXRoIGQ9Ik0xMTYgMTg0VjE5MS41QzExNiAxOTkuNzg0IDEyMi43MTYgMjA2LjUgMTMxIDIwNi41SDE5MUMxOTkuMjg0IDIwNi41IDIwNiAxOTkuNzg0IDIwNiAxOTEuNVYxMzEuNUMyMDYgMTIzLjIxNiAxOTkuMjg0IDExNi41IDE5MSAxMTYuNUwxOTAuOTk1IDEyNi41QzE5My43NTcgMTI2LjUgMTk2IDEyOC43MzkgMTk2IDEzMS41VjE5MS41QzE5NiAxOTQuMjYxIDE5My43NjEgMTk2LjUgMTkxIDE5Ni41SDEzMUMxMjguMjM5IDE5Ni41IDEyNiAxOTQuMjYxIDEyNiAxOTEuNVYxODRIMTE2WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTY2LjQ5NCAxMDUuOTI0QzE2NS44NjkgMTA0LjM0MiAxNjMuNjI5IDEwNC4zNDIgMTYzLjAwNSAxMDUuOTI0TDE1OS43NDUgMTE0LjE5MUMxNTkuNTU0IDExNC42NzQgMTU5LjE3MiAxMTUuMDU3IDE1OC42ODggMTE1LjI0N0wxNTAuNDIyIDExOC41MDhDMTQ4LjgzOSAxMTkuMTMyIDE0OC44MzkgMTIxLjM3MiAxNTAuNDIyIDEyMS45OTZMMTU4LjY4OCAxMjUuMjU2QzE1OS4xNzIgMTI1LjQ0NyAxNTkuNTU0IDEyNS44MjkgMTU5Ljc0NSAxMjYuMzEzTDE2My4wMDUgMTM0LjU3OUMxNjMuNjI5IDEzNi4xNjIgMTY1Ljg2OSAxMzYuMTYyIDE2Ni40OTQgMTM0LjU3OUwxNjkuNzU0IDEyNi4zMTNDMTY5Ljk0NCAxMjUuODI5IDE3MC4zMjcgMTI1LjQ0NyAxNzAuODEgMTI1LjI1NkwxNzkuMDc3IDEyMS45OTZDMTgwLjY2IDEyMS4zNzIgMTgwLjY2IDExOS4xMzIgMTc5LjA3NyAxMTguNTA4TDE3MC44MSAxMTUuMjQ3QzE3MC4zMjcgMTE1LjA1NyAxNjkuOTQ0IDExNC42NzQgMTY5Ljc1NCAxMTQuMTkxTDE2Ni40OTQgMTA1LjkyNFoiIGZpbGw9IiM4RjhGOEYiLz4KPHBhdGggZD0iTTEzMy4wMDUgMTI4LjQyNEMxMzMuNjI5IDEyNi44NDIgMTM1Ljg2OSAxMjYuODQyIDEzNi40OTQgMTI4LjQyNEwxNDEuODc1IDE0Mi4wN0MxNDIuMDY2IDE0Mi41NTMgMTQyLjQ0OCAxNDIuOTM1IDE0Mi45MzIgMTQzLjEyNkwxNTYuNTc3IDE0OC41MDhDMTU4LjE2IDE0OS4xMzIgMTU4LjE2IDE1MS4zNzIgMTU2LjU3NyAxNTEuOTk2TDE0Mi45MzIgMTU3LjM3OEMxNDIuNDQ4IDE1Ny41NjggMTQyLjA2NiAxNTcuOTUxIDE0MS44NzUgMTU4LjQzNEwxMzYuNDk0IDE3Mi4wNzlDMTM1Ljg2OSAxNzMuNjYyIDEzMy42MjkgMTczLjY2MiAxMzMuMDA1IDE3Mi4wNzlMMTI3LjYyMyAxNTguNDM0QzEyNy40MzMgMTU3Ljk1MSAxMjcuMDUgMTU3LjU2OCAxMjYuNTY3IDE1Ny4zNzhMMTEyLjkyMiAxNTEuOTk2QzExMS4zMzkgMTUxLjM3MiAxMTEuMzM5IDE0OS4xMzIgMTEyLjkyMiAxNDguNTA4TDEyNi41NjcgMTQzLjEyNkMxMjcuMDUgMTQyLjkzNSAxMjcuNDMzIDE0Mi41NTMgMTI3LjYyMyAxNDIuMDdMMTMzLjAwNSAxMjguNDI0WiIgZmlsbD0iIzhGOEY4RiIvPgo8cGF0aCBkPSJNMTk1Ljk5OSAxODQuMDA0VjE5MS41MDJDMTk1Ljk5OSAxOTQuMjYzIDE5My43NjEgMTk2LjUwMiAxOTAuOTk5IDE5Ni41MDJIMTQ3LjY2OEwxNzIuODc5IDE1OC42ODRDMTc0LjM2MyAxNTYuNDU4IDE3Ny42MzUgMTU2LjQ1OCAxNzkuMTIgMTU4LjY4NEwxOTUuOTk5IDE4NC4wMDRaIiBmaWxsPSIjOEY4RjhGIi8+CjwvZz4KPC9zdmc+Cg==",gs=xH;function IH(e,t,r){switch(t){case"image":return AH(e,r[t]);case"video":return CH(e,r[t]);case"sticker":return SH(e,r[t]);default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function AH(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:gs,fillType:"//ly.img.ubq/fill/image",kind:"image",width:r,height:i}}}function CH(e,t){let r=t.width,i=t.height;return{id:e,label:t.label,meta:{previewUri:gs,mimeType:"video/mp4",kind:"video",fillType:"//ly.img.ubq/fill/video",duration:t.duration.toString(),width:r,height:i}}}function SH(e,t){let r=t.width,i=t.height;return{id:e,meta:{previewUri:gs,fillType:"//ly.img.ubq/fill/image",kind:"sticker",width:r,height:i}}}var MH=IH;async function jH(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 $H(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 EH(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 _H(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 TH(e,r[t],i)}default:throw new Error(`Unsupported output kind for creating placeholder block: ${t}`)}}function $H(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 EH(e,t,r){let i=t.width,n=t.height,a=await fH(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 _H(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 TH(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 Lf=jH;function LH(e){switch(e.userFlow){case"placeholder":return NH(e);case"generation-only":return OH(e);default:throw new Error(`Unknown user flow: ${e.userFlow}. Expected 'placeholder' or 'generation-only'.`)}}function OH(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 s=Tf(),c=await Lf(s,n,a,o.output),l={...c,id:`${Date.now()}-${c.id}`,label:c.label!=null?{en:c.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),error:n}}}}function NH(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 s=Tf(),c=MH(s,a,o);if(i=await pH(t,c),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),g=t.engine.block.duplicate(i);t.engine.block.setPositionX(g,d),t.engine.block.setPositionY(g,p),t.engine.block.destroy(i),i=g}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,{blockIds:[i],middlewares:[...e.middlewares??[]],debug:e.debug,dryRun:e.dryRun,abortSignal:r});if(Me(t,r,i))return{status:"aborted"};if(l.status!=="success")return i!=null&&t.engine.block.isValid(i)&&(l.status==="aborted"||l.middlewareOptions?.defaultPrevented()?t.engine.block.destroy(i):t.engine.block.setState(i,{type:"Error",error:"Unknown"})),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 u=await Lf(s,a,o,l.output);if(Me(t,r,i))return{status:"aborted"};if(e.debug&&console.log("Updating placeholder in scene:",JSON.stringify(u,void 0,2)),await t.engine.asset.defaultApplyAssetToBlock(u,i),Me(t,r,i))return{status:"aborted"};if(e.historyAssetSourceId!=null){let d={...u,id:`${Date.now()}-${u.id}`,label:u.label!=null?{en:u.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)&&(ps(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),error:a}}}}function Me(e,t,r){return t.aborted?(r!=null&&e.engine.block.isValid(r)&&e.engine.block.destroy(r),!0):!1}var DH=LH;function fs(e){return`${e}.generating`}function PH(e){return`${e}.abort`}function zH(e,t,r,i,n,a,o){let{builder:s,experimental:c}=e,{cesdk:l,includeHistoryLibrary:u=!0}=a,{id:d,output:{abortable:p}}=t,g=c.global(PH(d),()=>{}),y=c.global(fs(d),!1),f,m=y.value&&p,b=()=>{m&&(g.value(),y.setValue(!1),g.setValue(()=>{}))},k;if(a.requiredInputs!=null&&a.requiredInputs.length>0){let I=i();k=a.requiredInputs.some(h=>!I.input[h])}let w=c.global(`${d}.confirmationDialogId`,void 0);s.Section(`${d}.generate.section`,{children:()=>{s.Button(`${d}.generate`,{label:["ly.img.plugin-ai-generation-web.generate","common.generate",`panel.${d}.generate`],isLoading:y.value,color:"accent",isDisabled:k,suffix:m?{icon:"@imgly/Cross",color:"danger",tooltip:[`panel.${d}.abort`,"common.cancel"],onClick:()=>{let I=l.ui.showDialog({type:"warning",content:"panel.ly.img.ai.generation.confirmCancel.content",cancel:{label:"common.close",onClick:({id:h})=>{l.ui.closeDialog(h),w.setValue(void 0)}},actions:{label:"panel.ly.img.ai.generation.confirmCancel.confirm",color:"danger",onClick:({id:h})=>{b(),l.ui.closeDialog(h),w.setValue(void 0)}}});w.setValue(I)}}:void 0,onClick:async()=>{f=new AbortController;let I=f.signal;await(async()=>{try{y.setValue(!0),g.setValue(()=>{o.debug&&console.log("Aborting generation"),f?.abort()});let h=await DH({kind:t.kind,generate:r,historyAssetSourceId:a.historyAssetSourceId,userFlow:a.createPlaceholderBlock?"placeholder":"generation-only",getBlockInput:n,abortSignal:I,cesdk:l,debug:o.debug,dryRun:o.dryRun})(i().input);if(h.status==="aborted")return;if(h.status==="error"){X1(h.error??h.message,{cesdk:l,provider:t,getInput:i,middlewareOptions:h.middlewareOptions});return}if(h.status==="success"&&h.type==="sync"&&!h.middlewareOptions?.defaultPrevented()){let x=t.output.notification;UH(l,x,()=>({input:i().input,output:h.output}))}}catch(h){if(ps(h))return;X1(h,{cesdk:l,provider:t,getInput:i})}finally{f=void 0,y.setValue(!1),g.setValue(()=>{}),w.value!=null&&(l.ui.closeDialog(w.value),w.setValue(void 0))}})()}}),t.output.generationHintText!=null&&s.Text(`${d}.generation-hint`,{align:"center",content:t.output.generationHintText})}}),u&&a.historyAssetLibraryEntryId!=null&&s.Library(`${d}.history.library`,{entries:[a.historyAssetLibraryEntryId]})}function UH(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 Of=zH;function is(e){let{name:t}=e;return(typeof t=="function"?t():t)??e.id}async function RH({options:e,provider:t,panelInput:r,config:i},n){if(r==null)return;let{cesdk:a}=e,{id:o}=t;i.debug&&console.log(`Provider: ${o} (custom)`);let s=r.render;return c=>{let{state:l}=c,u=l(fs(o),{isGenerating:!1,abort:()=>{}}).value.isGenerating,{getInput:d,getBlockInput:p}=s(c,{cesdk:a,isGenerating:u});return Of(c,t,n,d,p,{...e,includeHistoryLibrary:r.includeHistoryLibrary??!0,createPlaceholderBlock:r.userFlow==="placeholder"},i),d}}var FH=RH;function Nf(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 tn(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=Nf(e,t.$ref),n={...tn(e,i,r)};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&a!=="$ref"&&(n[a]=tn(e,t[a],r));return n}if(Array.isArray(t))return t.map(i=>tn(e,i,r));if(typeof t=="object"){let i={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=tn(e,t[n],r));return i}return t}function VH(e){return tn(e,{...e})}function BH(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 c=i[o][s];if(typeof c!="object"||c===null)return r(`Item ${s} in ${o} must be an object, got ${c===null?"null":typeof c}`)}}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 qH(e,t){if(e.properties==null)throw new Error("Input schema must have properties");let r=e.properties,i=[];return GH(e,t).forEach(n=>{let a=n,o=r[n]??void 0;i.push({id:a,schema:o})}),i}function GH(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=YH(e,t)??n;return r!=null&&typeof r=="function"&&(a=r(a)),[...new Set(a)]}function YH(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 Df=qH;function je(e,t,r,i){let n=`property.${e.id}${i?`.${i}`:""}`,a=[`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}`];return i==="placeholder"&&a.push("ly.img.plugin-ai-generation-web.fallback.property.placeholder"),a}function Pf(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 zf(e,t,r,i,n,a,o,s){if(t.schema==null)if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}else return;let c=t,l=t.schema.type;if(i.renderCustomProperty!=null&&i.renderCustomProperty[t.id]!=null){let u={...e,providerConfig:s,config:a};return i.renderCustomProperty[t.id](u,t)}switch(l){case"string":return t.schema.enum!=null?HH(e,c,r,i,n,a,o,s):Uf(e,c,r,i,n,a,o,s);case"boolean":return Rf(e,c,r,i,n,a,o,s);case"number":case"integer":return Ff(e,c,r,i,n,a,o,s);case"object":return ns(e,c,r,i,n,a,o,s);case"array":break;case void 0:{if(t.schema.anyOf!=null&&Array.isArray(t.schema.anyOf))return ZH(e,c,r,i,n,a,o,s);break}default:console.error(`Unsupported property type: ${l}`)}}function ns(e,t,r,i,n,a,o,s){let c=Df(t.schema??{},i).reduce((l,u)=>{let d=zf(e,u,r,i,n,a,o,s);return d!=null&&(l[u.id]=d()),l},{});return()=>({id:t.id,type:"object",value:c})}function Uf(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=je(t,r,o),y=je(t,r,o,"placeholder"),f=gn(u,n.cesdk),m=s?.properties?.[d]??a.properties?.[d],b=fn(d,m,f,t.schema.default,""),k=l(p,b),w=QH(t.schema),I=w?.component!=null&&w?.component==="TextArea"?"TextArea":"TextInput",h=y.length>0?y:void 0;return c[I](p,{inputLabel:g,...h&&{placeholder:h},...k}),()=>({id:t.id,type:"string",value:k.value})}function HH(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=je(t,r,o),{labels:y,icons:f}=Pf(t.schema),m=(t.schema.enum??[]).map(x=>({id:x,label:je(t,r,o,x),icon:f[x]})),b=gn(u,n.cesdk),k=s?.properties?.[d]??a.properties?.[d],w=fn(d,k,b,t.schema.default,m[0]?.id),I=w!=null?m.find(x=>x.id===w)??m[0]:m[0],h=l(p,I);return c.Select(p,{inputLabel:g,values:m,...h}),()=>({id:t.id,type:"string",value:h.value.id})}function Rf(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=je(t,r,o),y=gn(u,n.cesdk),f=s?.properties?.[d]??a.properties?.[d],m=!!fn(d,f,y,t.schema.default,!1),b=l(p,m);return c.Checkbox(p,{inputLabel:g,...b}),()=>({id:t.id,type:"boolean",value:b.value})}function Ff(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=je(t,r,o),y=t.schema.minimum,f=t.schema.maximum,m=gn(u,n.cesdk),b=s?.properties?.[d]??a.properties?.[d],k=t.schema.default;k==null&&(y!=null?k=y:f!=null?k=f:k=0);let w=fn(d,b,m,k,k),I=l(p,w);if(y!=null&&f!=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"]),c.Slider(p,{inputLabel:g,min:y,max:f,step:h,...I})}else c.NumberInput(p,{inputLabel:g,min:y,max:f,...I});return()=>({id:t.id,type:"integer",value:I.value})}function ZH(e,t,r,i,n,a,o,s){let{builder:c,experimental:{global:l},engine:u}=e,{id:d}=t,p=`${r.id}.${d}`,g=je(t,r,o),y=t.schema.anyOf??[],f=[],m={},b={},{labels:k,icons:w}=Pf(t.schema),I=gn(u,n.cesdk),h=s?.properties?.[d]??a.properties?.[d],x={string:Uf,boolean:Rf,integer:Ff,object:ns},M=(v,j)=>v.$ref?v.$ref.split("/").pop():j.split(".").pop()??j,C=(v,j)=>({id:v,label:je(t,r,o,j),icon:w[j]??w[v]});y.forEach((v,j)=>{let A=`${r.id}.${d}.anyOf[${j}]`;if(v.$ref||v.title){let S=v.$ref?v.$ref.split("/").pop():v.title;m[A]=()=>ns(e,{id:A,schema:{...v,title:k[S]||S}},r,i,n,a,o,s),f.push(C(A,S))}else if(v.type==="string"&&v.enum)v.enum.forEach(S=>{f.push(C(S,S))});else if(v.type&&x[v.type]){let S=x[v.type];m[A]=()=>S(e,{id:A,schema:{...v,title:v.title}},r,i,n,a,o,s);let q=M(v,A);f.push(v.type==="string"&&!v.enum?{id:A,label:v.title||q,icon:v.title&&w[v.title]||w[q]}:C(A,q))}});let _=fn(d,h,I,t.schema.default,null),$=_!=null?f.find(v=>v.id===_)??f[0]:f[0],E=l(p,$);if(c.Select(p,{inputLabel:g,values:f,...E}),E.value.id in m){let v=m[E.value.id]();b[E.value.id]=v}return()=>{let v=b[E.value.id];return v!=null?{...v(),id:t.id}:{id:t.id,type:"string",value:E.value.id}}}function QH(e){if("x-imgly-builder"in e)return e["x-imgly-builder"]}var WH=zf,KH={"ly.img.plugin-ai-generation-web.fallback.property.placeholder":"","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 ef(e){return e.replace(/_/g," ").replace(/\b3d\b/gi,"3D").replace(/\b2d\b/gi,"2D").replace(/\b\w/g,t=>t.toUpperCase())}function tf(e,t,r,i){let n={},a=(l,u)=>`ly.img.plugin-ai-${i}-generation-web.${t.id}.defaults.property.${l}${u?`.${u}`:""}`,o=l=>"x-imgly-enum-labels"in l&&typeof l["x-imgly-enum-labels"]=="object"?l["x-imgly-enum-labels"]:{},s=(l,u,d)=>{l.forEach(p=>{let g=String(p),y=d[g]||ef(g);n[a(u,g)]=y})};e.forEach(l=>{if(l.schema?.title&&(n[a(l.id)]=l.schema.title),l.schema?.enum){let u=o(l.schema);s(l.schema.enum,l.id,u)}if(l.schema?.anyOf&&Array.isArray(l.schema.anyOf)){let u=o(l.schema);l.schema.anyOf.forEach(d=>{let p=d;if(p.enum&&Array.isArray(p.enum))s(p.enum,l.id,u);else if(p.$ref){let g=p.$ref.split("/").pop();g&&u[g]&&(n[a(l.id,g)]=u[g])}else if(p.title){let g=p.title,y=u[g]||ef(g);n[a(l.id,g)]=y}})}});let c={...KH,...n};Object.keys(c).length>0&&ds(r.cesdk,{en:c})}function rf(e){return typeof e.document=="function"?e.document():e.document}function nf(e,t,r){let i=VH(e),n=Nf(i,t.inputReference);if(!BH(n,r))throw new Error(`Input reference '${t.inputReference}' does not resolve to a valid OpenAPI schema`);let a=n,o=Df(a,t);return{inputSchema:a,properties:o}}function of(e,t,r,{options:i,provider:n,config:a,providerConfig:o},s){let{id:c}=n;return l=>{let{builder:u}=l,d=[];u.Section(`${c}.schema.section`,{children:()=>{t.forEach(m=>{let b=WH(l,m,n,r,i,a,n.kind,o);b!=null&&(Array.isArray(b)?d.push(...b):d.push(b))})}});let p=d.map(m=>m()),g=m=>m.type==="object"?Object.entries(m.value).reduce((b,[k,w])=>(b[k]=g(w),b),{}):m.value,y=p.reduce((m,b)=>(m[b.id]=g(b),m),{}),f=[...new Set([...e.required??[],...p.filter(m=>m.required).map(m=>m.id)])];Of(l,n,s,()=>({input:y}),()=>r.getBlockInput(y),{...i,requiredInputs:f,createPlaceholderBlock:r.userFlow==="placeholder"},a)}}async function JH(e,t){let{options:r,provider:i,panelInput:n,config:a}=e,{id:o}=i;if(n==null)return;let s=n;a.debug&&console.log(`Provider: ${o} (schema-based)`);let c=rf(s);if(!(c instanceof Promise)){let{inputSchema:g,properties:y}=nf(c,s,a.debug);return tf(y,i,r,i.kind),of(g,y,s,e,t)}let l=null,u=null,d=`${o}.schema.loading`;function p(){l=null,u=null,r.cesdk.ui.experimental.setGlobalStateValue(d,!0),Promise.resolve(rf(s)).then(g=>{let{inputSchema:y,properties:f}=nf(g,s,a.debug);tf(f,i,r,i.kind),u=of(y,f,s,e,t)}).catch(g=>{l=g instanceof Error?g:new Error(String(g))}).finally(()=>{r.cesdk.ui.experimental.setGlobalStateValue(d,!1)})}return p(),g=>{let{builder:y}=g;if(u!=null){u(g);return}if(l!=null){y.Section(`${o}.schema.error`,{children:()=>{y.Text(`${o}.schema.error.title`,{content:"ly.img.plugin-ai-generation-web.schema.error.title"}),y.Text(`${o}.schema.error.details`,{content:l.message}),y.Button(`${o}.schema.error.retry`,{label:"ly.img.plugin-ai-generation-web.schema.error.retry",onClick:()=>{p()}})}});return}y.Spinner(`${o}.schema.loading`,{label:"ly.img.plugin-ai-generation-web.schema.loading.label"})}}var XH=JH;async function eZ(e,t){if(e.panelInput!=null)switch(e.panelInput.type){case"custom":return FH(e,t);case"schema":return XH(e,t);default:e.config.debug&&console.warn(`Invalid panel input type '${panelInput.type}' - skipping`)}}var tZ=eZ;function rZ(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 aq(o,r)),o}return i}var iZ=rZ;function nZ(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 oZ=nZ,Zl="@imgly/plugin-ai-generation",aZ=`
|
|
@@ -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
|
-
`,EZ=$Z,_Z=typeof global=="object"&&global&&global.Object===Object&&global,Bf=_Z,TZ=typeof self=="object"&&self&&self.Object===Object&&self,LZ=Bf||TZ||Function("return this")(),se=LZ,OZ=se.Symbol,lr=OZ,qf=Object.prototype,NZ=qf.hasOwnProperty,DZ=qf.toString,en=lr?lr.toStringTag:void 0;function PZ(e){var t=NZ.call(e,en),r=e[en];try{e[en]=void 0;var i=!0}catch{}var n=DZ.call(e);return i&&(t?e[en]=r:delete e[en]),n}var zZ=PZ,UZ=Object.prototype,RZ=UZ.toString;function FZ(e){return RZ.call(e)}var VZ=FZ,BZ="[object Null]",qZ="[object Undefined]",lf=lr?lr.toStringTag:void 0;function GZ(e){return e==null?e===void 0?qZ:BZ:lf&&lf in Object(e)?zZ(e):VZ(e)}var yn=GZ;function YZ(e){return e!=null&&typeof e=="object"}var ys=YZ,jte=Array.isArray;function HZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Gf=HZ,ZZ="[object AsyncFunction]",QZ="[object Function]",WZ="[object GeneratorFunction]",KZ="[object Proxy]";function JZ(e){if(!Gf(e))return!1;var t=yn(e);return t==QZ||t==WZ||t==ZZ||t==KZ}var XZ=JZ,eQ=se["__core-js_shared__"],Wl=eQ,sf=function(){var e=/[^.]+$/.exec(Wl&&Wl.keys&&Wl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tQ(e){return!!sf&&sf in e}var rQ=tQ,iQ=Function.prototype,nQ=iQ.toString;function oQ(e){if(e!=null){try{return nQ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=oQ,aQ=/[\\^$.*+?()[\]{}|]/g,lQ=/^\[object .+?Constructor\]$/,sQ=Function.prototype,uQ=Object.prototype,cQ=sQ.toString,dQ=uQ.hasOwnProperty,pQ=RegExp("^"+cQ.call(dQ).replace(aQ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gQ(e){if(!Gf(e)||rQ(e))return!1;var t=XZ(e)?pQ:lQ;return t.test(Ge(e))}var fQ=gQ;function yQ(e,t){return e?.[t]}var mQ=yQ;function hQ(e,t){var r=mQ(e,t);return fQ(r)?r:void 0}var pr=hQ,bQ=pr(se,"WeakMap"),os=bQ;function vQ(e,t){return e===t||e!==e&&t!==t}var wQ=vQ,kQ=9007199254740991;function xQ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kQ}var IQ=xQ,$te=Object.prototype,AQ="[object Arguments]";function CQ(e){return ys(e)&&yn(e)==AQ}var uf=CQ,Yf=Object.prototype,SQ=Yf.hasOwnProperty,MQ=Yf.propertyIsEnumerable,Ete=uf(function(){return arguments}())?uf:function(e){return ys(e)&&SQ.call(e,"callee")&&!MQ.call(e,"callee")},Hf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cf=Hf&&typeof module=="object"&&module&&!module.nodeType&&module,jQ=cf&&cf.exports===Hf,df=jQ?se.Buffer:void 0,_te=df?df.isBuffer:void 0,$Q="[object Arguments]",EQ="[object Array]",_Q="[object Boolean]",TQ="[object Date]",LQ="[object Error]",OQ="[object Function]",NQ="[object Map]",DQ="[object Number]",PQ="[object Object]",zQ="[object RegExp]",UQ="[object Set]",RQ="[object String]",FQ="[object WeakMap]",VQ="[object ArrayBuffer]",BQ="[object DataView]",qQ="[object Float32Array]",GQ="[object Float64Array]",YQ="[object Int8Array]",HQ="[object Int16Array]",ZQ="[object Int32Array]",QQ="[object Uint8Array]",WQ="[object Uint8ClampedArray]",KQ="[object Uint16Array]",JQ="[object Uint32Array]",B={};B[qQ]=B[GQ]=B[YQ]=B[HQ]=B[ZQ]=B[QQ]=B[WQ]=B[KQ]=B[JQ]=!0;B[$Q]=B[EQ]=B[VQ]=B[_Q]=B[BQ]=B[TQ]=B[LQ]=B[OQ]=B[NQ]=B[DQ]=B[PQ]=B[zQ]=B[UQ]=B[RQ]=B[FQ]=!1;function XQ(e){return ys(e)&&IQ(e.length)&&!!B[yn(e)]}var eW=XQ;function tW(e){return function(t){return e(t)}}var rW=tW,Zf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,an=Zf&&typeof module=="object"&&module&&!module.nodeType&&module,iW=an&&an.exports===Zf,Kl=iW&&Bf.process,nW=function(){try{var e=an&&an.require&&an.require("util").types;return e||Kl&&Kl.binding&&Kl.binding("util")}catch{}}(),pf=nW,gf=pf&&pf.isTypedArray,Tte=gf?rW(gf):eW,oW=Object.prototype,Lte=oW.hasOwnProperty;function aW(e,t){return function(r){return e(t(r))}}var lW=aW,Ote=lW(Object.keys,Object),sW=Object.prototype,Nte=sW.hasOwnProperty,uW=pr(Object,"create"),un=uW;function cW(){this.__data__=un?un(null):{},this.size=0}var dW=cW;function pW(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var gW=pW,fW="__lodash_hash_undefined__",yW=Object.prototype,mW=yW.hasOwnProperty;function hW(e){var t=this.__data__;if(un){var r=t[e];return r===fW?void 0:r}return mW.call(t,e)?t[e]:void 0}var bW=hW,vW=Object.prototype,wW=vW.hasOwnProperty;function kW(e){var t=this.__data__;return un?t[e]!==void 0:wW.call(t,e)}var xW=kW,IW="__lodash_hash_undefined__";function AW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=un&&t===void 0?IW:t,this}var CW=AW;function gr(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])}}gr.prototype.clear=dW;gr.prototype.delete=gW;gr.prototype.get=bW;gr.prototype.has=xW;gr.prototype.set=CW;var ff=gr;function SW(){this.__data__=[],this.size=0}var MW=SW;function jW(e,t){for(var r=e.length;r--;)if(wQ(e[r][0],t))return r;return-1}var $o=jW,$W=Array.prototype,EW=$W.splice;function _W(e){var t=this.__data__,r=$o(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():EW.call(t,r,1),--this.size,!0}var TW=_W;function LW(e){var t=this.__data__,r=$o(t,e);return r<0?void 0:t[r][1]}var OW=LW;function NW(e){return $o(this.__data__,e)>-1}var DW=NW;function PW(e,t){var r=this.__data__,i=$o(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var zW=PW;function fr(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])}}fr.prototype.clear=MW;fr.prototype.delete=TW;fr.prototype.get=OW;fr.prototype.has=DW;fr.prototype.set=zW;var Eo=fr,UW=pr(se,"Map"),cn=UW;function RW(){this.size=0,this.__data__={hash:new ff,map:new(cn||Eo),string:new ff}}var FW=RW;function VW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var BW=VW;function qW(e,t){var r=e.__data__;return BW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var _o=qW;function GW(e){var t=_o(this,e).delete(e);return this.size-=t?1:0,t}var YW=GW;function HW(e){return _o(this,e).get(e)}var ZW=HW;function QW(e){return _o(this,e).has(e)}var WW=QW;function KW(e,t){var r=_o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var JW=KW;function yr(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])}}yr.prototype.clear=FW;yr.prototype.delete=YW;yr.prototype.get=ZW;yr.prototype.has=WW;yr.prototype.set=JW;var Qf=yr;function XW(){this.__data__=new Eo,this.size=0}var eK=XW;function tK(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var rK=tK;function iK(e){return this.__data__.get(e)}var nK=iK;function oK(e){return this.__data__.has(e)}var aK=oK,lK=200;function sK(e,t){var r=this.__data__;if(r instanceof Eo){var i=r.__data__;if(!cn||i.length<lK-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Qf(i)}return r.set(e,t),this.size=r.size,this}var uK=sK;function mn(e){var t=this.__data__=new Eo(e);this.size=t.size}mn.prototype.clear=eK;mn.prototype.delete=rK;mn.prototype.get=nK;mn.prototype.has=aK;mn.prototype.set=uK;var cK=Object.prototype,Dte=cK.propertyIsEnumerable,dK=pr(se,"DataView"),as=dK,pK=pr(se,"Promise"),ls=pK,gK=pr(se,"Set"),ss=gK,yf="[object Map]",fK="[object Object]",mf="[object Promise]",hf="[object Set]",bf="[object WeakMap]",vf="[object DataView]",yK=Ge(as),mK=Ge(cn),hK=Ge(ls),bK=Ge(ss),vK=Ge(os),nr=yn;(as&&nr(new as(new ArrayBuffer(1)))!=vf||cn&&nr(new cn)!=yf||ls&&nr(ls.resolve())!=mf||ss&&nr(new ss)!=hf||os&&nr(new os)!=bf)&&(nr=function(e){var t=yn(e),r=t==fK?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case yK:return vf;case mK:return yf;case hK:return mf;case bK:return hf;case vK:return bf}return t});var Pte=se.Uint8Array,wK="__lodash_hash_undefined__";function kK(e){return this.__data__.set(e,wK),this}var xK=kK;function IK(e){return this.__data__.has(e)}var AK=IK;function us(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Qf;++t<r;)this.add(e[t])}us.prototype.add=us.prototype.push=xK;us.prototype.has=AK;var wf=lr?lr.prototype:void 0,zte=wf?wf.valueOf:void 0,CK=Object.prototype,Ute=CK.hasOwnProperty,SK=Object.prototype,Rte=SK.hasOwnProperty,Fte=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Vte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Bte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function MK(e){return e==null?[]:Array.isArray(e)?e:[e]}var jK=MK;function $K(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function EK(e){return typeof e?.translate=="function"}function _K(e,t,r){return e&&$K(e)&&EK(e.i18n)?e.i18n.translate(t):r}var nn="@imgly/plugin-ai-sticker-generation-web",Se="ly.img.ai.sticker-generation";function TK(e){return{async initialize({cesdk:t}){if(t==null)return;hH(t,nn,"1.81.0"),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromImage",!0);let r=$f.get(),i=`${nn}.action.label`;t.ui.addIconSet(jZ,EZ),ds(t,{en:{[`panel.${Se}`]:"Sticker Generation",[`${Se}.dock.label`]:"AI Sticker",[i]:"Generate Sticker"}});let n=r.register({type:"plugin",sceneMode:"Design",id:nn,pluginId:nn,label:_K(t,i,"Generate Sticker"),labelKey:i,meta:{panelId:Se},execute:()=>{t.ui.isPanelOpen(Se)?t.ui.closePanel(Se):t.ui.openPanel(Se)}}),a=e.providers?.text2sticker,o=await Promise.all(jK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await MZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Se,s.panel.builderRenderFunction),vH({cesdk:t,panelId:Se})):n()}}}var LK=TK,OK=e=>({name:nn,version:"1.81.0",...LK(e)}),Wf=OK;var ms=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:c,excludeGroups:l,sortingOrder:u,sortKey:d}=t,p=[...this.getCurrentAssets()];if(c&&c.length>0&&(p=p.filter(w=>w.groups&&c.some(I=>w.groups?.includes(I)))),l&&l.length>0&&(p=p.filter(w=>!w.groups||!l.some(I=>w.groups?.includes(I)))),o){let w=o.toLowerCase();p=p.filter(I=>{let h=I.label?.[n]?.toLowerCase(),x=I.tags?.[n]||[];return h&&h.includes(w)||x.some(M=>M.toLowerCase().includes(w))})}if(s&&s.length>0){let w=Array.isArray(s)?s:[s];p=p.filter(I=>{let h=I.tags?.[n]||[];return w.some(x=>h.includes(x))})}a&&p.sort((w,I)=>{let h=this.activeAssetIds.has(w.id),x=this.activeAssetIds.has(I.id);return h&&!x?-1:!h&&x?1:0}),d&&d!=="id"?p.sort((w,I)=>{let h=w.meta?.[d],x=I.meta?.[d];return h===void 0?1:x===void 0?-1:typeof h=="string"&&typeof x=="string"?u==="Descending"?x.localeCompare(h):h.localeCompare(x):typeof h=="number"&&typeof x=="number"?u==="Descending"?x-h:h-x:0}):d==="id"&&p.sort((w,I)=>u==="Descending"?I.id.localeCompare(w.id):w.id.localeCompare(I.id));let g=p.length,y=r*i,f=y+i,b=p.slice(y,f).map(w=>({id:w.id,groups:w.groups,meta:w.meta,payload:w.payload,locale:n,label:w.label?.[n],tags:w.tags?.[n],active:this.activeAssetIds.has(w.id)})),k=f<g?r+1:void 0;return{assets:b,currentPage:r,nextPage:k,total:g}}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=NK(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 Kf(e,t,r=[]){return new ms(e,t,r)}function NK(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 hn="ly.img.ai.apps";var Y=su("apps"),DK=512,PK=128,Jf=e=>({async initialize({cesdk:t}){if(t==null)return;uu(t,hn,"1.81.0");let{providers:r}=e;await t.addPlugin(z1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Nc({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Kd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(pg({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Wf({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),VK(t),zK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function zK(e,t){FK(e);let r=UK(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(Y,({builder:a})=>{a.Library(Y,{entries:[Y],onSelect:async o=>{An.get().getBy({id:o.id,type:"plugin"}).forEach(s=>{s.execute()})}})}),e.ui.addAssetLibraryEntry({id:Y,sourceIds:[Y],gridColumns:1,gridItemHeight:"auto",gridBackgroundType:"cover",cardLabel:a=>{let{label:o,meta:s}=a,c=s?.labelKey;return c&&typeof e.i18n?.translate=="function"?e.i18n.translate(c):o},cardLabelPosition:()=>"inside"});let i=`${Y}.dock`;e.ui.registerComponent([i,"ly.img.ai/apps.dock"],({builder:a,experimental:o})=>{let s=r.getCurrentAssets();if(s.length===0)return;let c=s.length===1?An.get().getBy({id:s[0].id,type:"plugin"})[0]:void 0,l=c?.meta?.panelId??Y,u=e.ui.isPanelOpen(l),d=o.global(`${Y}.isGenerating`,!1);a.Button(`${Y}.dock.button`,{label:"ly.img.ai.apps.dock.label",isSelected:u,icon:d.value?"@imgly/LoadingSpinner":"@imgly/Sparkle",onClick:()=>{e.ui.findAllPanels().forEach(p=>{p.startsWith("ly.img.ai.")&&p!==l&&e.ui.closePanel(p),!u&&p==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(p)}),c!=null?c.execute():u?e.ui.closePanel(Y):e.ui.openPanel(Y)}})})}function UK(e,t){let r=An.get(),i=Kf(Y,e,()=>{let a=e.engine.scene.getMode();return r.getBy({type:"plugin"}).map(({id:o,label:s,labelKey:c,sceneMode:l})=>a==="Design"&&l==="Video"?void 0:{id:o,label:{en:s??o},meta:{sceneMode:l,labelKey:c,thumbUri:t.baseURL!=null?RK(t.baseURL,o):void 0,width:DK,height:PK}}).filter(zs)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function RK(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 FK(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:c,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(m=>typeof m!="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 u=r.scene.getMode(),d=l.filter(m=>{let b=e.ui.getAssetLibraryEntry(m);if(b==null)return!1;if(u==null)return!0;let k=b.sceneMode;return typeof k=="string"?b.sceneMode===u||b.sceneMode==="All":typeof k=="function"?(typeof b.sourceIds=="function"?b.sourceIds({cesdk:e,engine:r}):b.sourceIds).some(I=>{let h=k(e.version.startsWith("1.51.")?I:{sourceId:I});return h===u||h==="All"}):!0});if(d.length===0)return;let p=s;p==null&&(p=`libraries.${a}.label`);let g=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}),y=e.ui.isPanelOpen("//ly.img.panel/assetLibrary.replace"),f=c;f==null&&d.length===1&&(f=e.ui.getAssetLibraryEntry(d[0])?.icon),t(o??a,{label:p,icon:f,isDisabled:y,isSelected:g,onClick:()=>{g?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(m=>{(m===Y||m.startsWith("ly.img.ai."))&&e.ui.closePanel(m)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}))}})})}function VK(e){au(e,cu)}var BK=e=>({name:hn,version:"1.81.0",...Jf(e)}),sre=BK;export{sre as default};
|
|
665
|
+
`,EZ=$Z,_Z=typeof global=="object"&&global&&global.Object===Object&&global,Bf=_Z,TZ=typeof self=="object"&&self&&self.Object===Object&&self,LZ=Bf||TZ||Function("return this")(),se=LZ,OZ=se.Symbol,lr=OZ,qf=Object.prototype,NZ=qf.hasOwnProperty,DZ=qf.toString,en=lr?lr.toStringTag:void 0;function PZ(e){var t=NZ.call(e,en),r=e[en];try{e[en]=void 0;var i=!0}catch{}var n=DZ.call(e);return i&&(t?e[en]=r:delete e[en]),n}var zZ=PZ,UZ=Object.prototype,RZ=UZ.toString;function FZ(e){return RZ.call(e)}var VZ=FZ,BZ="[object Null]",qZ="[object Undefined]",lf=lr?lr.toStringTag:void 0;function GZ(e){return e==null?e===void 0?qZ:BZ:lf&&lf in Object(e)?zZ(e):VZ(e)}var yn=GZ;function YZ(e){return e!=null&&typeof e=="object"}var ys=YZ,jte=Array.isArray;function HZ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Gf=HZ,ZZ="[object AsyncFunction]",QZ="[object Function]",WZ="[object GeneratorFunction]",KZ="[object Proxy]";function JZ(e){if(!Gf(e))return!1;var t=yn(e);return t==QZ||t==WZ||t==ZZ||t==KZ}var XZ=JZ,eQ=se["__core-js_shared__"],Wl=eQ,sf=function(){var e=/[^.]+$/.exec(Wl&&Wl.keys&&Wl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tQ(e){return!!sf&&sf in e}var rQ=tQ,iQ=Function.prototype,nQ=iQ.toString;function oQ(e){if(e!=null){try{return nQ.call(e)}catch{}try{return e+""}catch{}}return""}var Ge=oQ,aQ=/[\\^$.*+?()[\]{}|]/g,lQ=/^\[object .+?Constructor\]$/,sQ=Function.prototype,uQ=Object.prototype,cQ=sQ.toString,dQ=uQ.hasOwnProperty,pQ=RegExp("^"+cQ.call(dQ).replace(aQ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gQ(e){if(!Gf(e)||rQ(e))return!1;var t=XZ(e)?pQ:lQ;return t.test(Ge(e))}var fQ=gQ;function yQ(e,t){return e?.[t]}var mQ=yQ;function hQ(e,t){var r=mQ(e,t);return fQ(r)?r:void 0}var pr=hQ,bQ=pr(se,"WeakMap"),os=bQ;function vQ(e,t){return e===t||e!==e&&t!==t}var wQ=vQ,kQ=9007199254740991;function xQ(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kQ}var IQ=xQ,$te=Object.prototype,AQ="[object Arguments]";function CQ(e){return ys(e)&&yn(e)==AQ}var uf=CQ,Yf=Object.prototype,SQ=Yf.hasOwnProperty,MQ=Yf.propertyIsEnumerable,Ete=uf(function(){return arguments}())?uf:function(e){return ys(e)&&SQ.call(e,"callee")&&!MQ.call(e,"callee")},Hf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cf=Hf&&typeof module=="object"&&module&&!module.nodeType&&module,jQ=cf&&cf.exports===Hf,df=jQ?se.Buffer:void 0,_te=df?df.isBuffer:void 0,$Q="[object Arguments]",EQ="[object Array]",_Q="[object Boolean]",TQ="[object Date]",LQ="[object Error]",OQ="[object Function]",NQ="[object Map]",DQ="[object Number]",PQ="[object Object]",zQ="[object RegExp]",UQ="[object Set]",RQ="[object String]",FQ="[object WeakMap]",VQ="[object ArrayBuffer]",BQ="[object DataView]",qQ="[object Float32Array]",GQ="[object Float64Array]",YQ="[object Int8Array]",HQ="[object Int16Array]",ZQ="[object Int32Array]",QQ="[object Uint8Array]",WQ="[object Uint8ClampedArray]",KQ="[object Uint16Array]",JQ="[object Uint32Array]",B={};B[qQ]=B[GQ]=B[YQ]=B[HQ]=B[ZQ]=B[QQ]=B[WQ]=B[KQ]=B[JQ]=!0;B[$Q]=B[EQ]=B[VQ]=B[_Q]=B[BQ]=B[TQ]=B[LQ]=B[OQ]=B[NQ]=B[DQ]=B[PQ]=B[zQ]=B[UQ]=B[RQ]=B[FQ]=!1;function XQ(e){return ys(e)&&IQ(e.length)&&!!B[yn(e)]}var eW=XQ;function tW(e){return function(t){return e(t)}}var rW=tW,Zf=typeof exports=="object"&&exports&&!exports.nodeType&&exports,an=Zf&&typeof module=="object"&&module&&!module.nodeType&&module,iW=an&&an.exports===Zf,Kl=iW&&Bf.process,nW=function(){try{var e=an&&an.require&&an.require("util").types;return e||Kl&&Kl.binding&&Kl.binding("util")}catch{}}(),pf=nW,gf=pf&&pf.isTypedArray,Tte=gf?rW(gf):eW,oW=Object.prototype,Lte=oW.hasOwnProperty;function aW(e,t){return function(r){return e(t(r))}}var lW=aW,Ote=lW(Object.keys,Object),sW=Object.prototype,Nte=sW.hasOwnProperty,uW=pr(Object,"create"),un=uW;function cW(){this.__data__=un?un(null):{},this.size=0}var dW=cW;function pW(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var gW=pW,fW="__lodash_hash_undefined__",yW=Object.prototype,mW=yW.hasOwnProperty;function hW(e){var t=this.__data__;if(un){var r=t[e];return r===fW?void 0:r}return mW.call(t,e)?t[e]:void 0}var bW=hW,vW=Object.prototype,wW=vW.hasOwnProperty;function kW(e){var t=this.__data__;return un?t[e]!==void 0:wW.call(t,e)}var xW=kW,IW="__lodash_hash_undefined__";function AW(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=un&&t===void 0?IW:t,this}var CW=AW;function gr(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])}}gr.prototype.clear=dW;gr.prototype.delete=gW;gr.prototype.get=bW;gr.prototype.has=xW;gr.prototype.set=CW;var ff=gr;function SW(){this.__data__=[],this.size=0}var MW=SW;function jW(e,t){for(var r=e.length;r--;)if(wQ(e[r][0],t))return r;return-1}var $o=jW,$W=Array.prototype,EW=$W.splice;function _W(e){var t=this.__data__,r=$o(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():EW.call(t,r,1),--this.size,!0}var TW=_W;function LW(e){var t=this.__data__,r=$o(t,e);return r<0?void 0:t[r][1]}var OW=LW;function NW(e){return $o(this.__data__,e)>-1}var DW=NW;function PW(e,t){var r=this.__data__,i=$o(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var zW=PW;function fr(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])}}fr.prototype.clear=MW;fr.prototype.delete=TW;fr.prototype.get=OW;fr.prototype.has=DW;fr.prototype.set=zW;var Eo=fr,UW=pr(se,"Map"),cn=UW;function RW(){this.size=0,this.__data__={hash:new ff,map:new(cn||Eo),string:new ff}}var FW=RW;function VW(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var BW=VW;function qW(e,t){var r=e.__data__;return BW(t)?r[typeof t=="string"?"string":"hash"]:r.map}var _o=qW;function GW(e){var t=_o(this,e).delete(e);return this.size-=t?1:0,t}var YW=GW;function HW(e){return _o(this,e).get(e)}var ZW=HW;function QW(e){return _o(this,e).has(e)}var WW=QW;function KW(e,t){var r=_o(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var JW=KW;function yr(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])}}yr.prototype.clear=FW;yr.prototype.delete=YW;yr.prototype.get=ZW;yr.prototype.has=WW;yr.prototype.set=JW;var Qf=yr;function XW(){this.__data__=new Eo,this.size=0}var eK=XW;function tK(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var rK=tK;function iK(e){return this.__data__.get(e)}var nK=iK;function oK(e){return this.__data__.has(e)}var aK=oK,lK=200;function sK(e,t){var r=this.__data__;if(r instanceof Eo){var i=r.__data__;if(!cn||i.length<lK-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new Qf(i)}return r.set(e,t),this.size=r.size,this}var uK=sK;function mn(e){var t=this.__data__=new Eo(e);this.size=t.size}mn.prototype.clear=eK;mn.prototype.delete=rK;mn.prototype.get=nK;mn.prototype.has=aK;mn.prototype.set=uK;var cK=Object.prototype,Dte=cK.propertyIsEnumerable,dK=pr(se,"DataView"),as=dK,pK=pr(se,"Promise"),ls=pK,gK=pr(se,"Set"),ss=gK,yf="[object Map]",fK="[object Object]",mf="[object Promise]",hf="[object Set]",bf="[object WeakMap]",vf="[object DataView]",yK=Ge(as),mK=Ge(cn),hK=Ge(ls),bK=Ge(ss),vK=Ge(os),nr=yn;(as&&nr(new as(new ArrayBuffer(1)))!=vf||cn&&nr(new cn)!=yf||ls&&nr(ls.resolve())!=mf||ss&&nr(new ss)!=hf||os&&nr(new os)!=bf)&&(nr=function(e){var t=yn(e),r=t==fK?e.constructor:void 0,i=r?Ge(r):"";if(i)switch(i){case yK:return vf;case mK:return yf;case hK:return mf;case bK:return hf;case vK:return bf}return t});var Pte=se.Uint8Array,wK="__lodash_hash_undefined__";function kK(e){return this.__data__.set(e,wK),this}var xK=kK;function IK(e){return this.__data__.has(e)}var AK=IK;function us(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Qf;++t<r;)this.add(e[t])}us.prototype.add=us.prototype.push=xK;us.prototype.has=AK;var wf=lr?lr.prototype:void 0,zte=wf?wf.valueOf:void 0,CK=Object.prototype,Ute=CK.hasOwnProperty,SK=Object.prototype,Rte=SK.hasOwnProperty,Fte=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Vte=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Bte=new RegExp(/[A-Fa-f0-9]{2}/,"g");function MK(e){return e==null?[]:Array.isArray(e)?e:[e]}var jK=MK;function $K(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function EK(e){return typeof e?.translate=="function"}function _K(e,t,r){return e&&$K(e)&&EK(e.i18n)?e.i18n.translate(t):r}var nn="@imgly/plugin-ai-sticker-generation-web",Se="ly.img.ai.sticker-generation";function TK(e){return{async initialize({cesdk:t}){if(t==null)return;hH(t,nn,"1.81.1"),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.providerSelect",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromText",!0),t.feature.enable("ly.img.plugin-ai-sticker-generation-web.fromImage",!0);let r=$f.get(),i=`${nn}.action.label`;t.ui.addIconSet(jZ,EZ),ds(t,{en:{[`panel.${Se}`]:"Sticker Generation",[`${Se}.dock.label`]:"AI Sticker",[i]:"Generate Sticker"}});let n=r.register({type:"plugin",sceneMode:"Design",id:nn,pluginId:nn,label:_K(t,i,"Generate Sticker"),labelKey:i,meta:{panelId:Se},execute:()=>{t.ui.isPanelOpen(Se)?t.ui.closePanel(Se):t.ui.openPanel(Se)}}),a=e.providers?.text2sticker,o=await Promise.all(jK(a).map(c=>c({cesdk:t})));if(!(o.length>0)){n();return}let s=await MZ("sticker",{fromText:o,fromImage:[]},{cesdk:t},e);s.history?.assetSourceId!=null,s.panel.builderRenderFunction!=null?(t.ui.registerPanel(Se,s.panel.builderRenderFunction),vH({cesdk:t,panelId:Se})):n()}}}var LK=TK,OK=e=>({name:nn,version:"1.81.1",...LK(e)}),Wf=OK;var ms=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:c,excludeGroups:l,sortingOrder:u,sortKey:d}=t,p=[...this.getCurrentAssets()];if(c&&c.length>0&&(p=p.filter(w=>w.groups&&c.some(I=>w.groups?.includes(I)))),l&&l.length>0&&(p=p.filter(w=>!w.groups||!l.some(I=>w.groups?.includes(I)))),o){let w=o.toLowerCase();p=p.filter(I=>{let h=I.label?.[n]?.toLowerCase(),x=I.tags?.[n]||[];return h&&h.includes(w)||x.some(M=>M.toLowerCase().includes(w))})}if(s&&s.length>0){let w=Array.isArray(s)?s:[s];p=p.filter(I=>{let h=I.tags?.[n]||[];return w.some(x=>h.includes(x))})}a&&p.sort((w,I)=>{let h=this.activeAssetIds.has(w.id),x=this.activeAssetIds.has(I.id);return h&&!x?-1:!h&&x?1:0}),d&&d!=="id"?p.sort((w,I)=>{let h=w.meta?.[d],x=I.meta?.[d];return h===void 0?1:x===void 0?-1:typeof h=="string"&&typeof x=="string"?u==="Descending"?x.localeCompare(h):h.localeCompare(x):typeof h=="number"&&typeof x=="number"?u==="Descending"?x-h:h-x:0}):d==="id"&&p.sort((w,I)=>u==="Descending"?I.id.localeCompare(w.id):w.id.localeCompare(I.id));let g=p.length,y=r*i,f=y+i,b=p.slice(y,f).map(w=>({id:w.id,groups:w.groups,meta:w.meta,payload:w.payload,locale:n,label:w.label?.[n],tags:w.tags?.[n],active:this.activeAssetIds.has(w.id)})),k=f<g?r+1:void 0;return{assets:b,currentPage:r,nextPage:k,total:g}}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=NK(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 Kf(e,t,r=[]){return new ms(e,t,r)}function NK(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 hn="ly.img.ai.apps";var Y=su("apps"),DK=512,PK=128,Jf=e=>({async initialize({cesdk:t}){if(t==null)return;uu(t,hn,"1.81.1");let{providers:r}=e;await t.addPlugin(z1({providers:{text2text:r.text2text},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Nc({providers:{text2image:r.text2image,image2image:r.image2image},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Kd({providers:{text2video:r.text2video,image2video:r.image2video},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(pg({providers:{text2speech:r.text2speech,text2sound:r.text2sound},debug:e.debug,dryRun:e.dryRun})),await t.addPlugin(Wf({providers:{text2sticker:r.text2sticker},debug:e.debug,dryRun:e.dryRun})),VK(t),zK(t,{...e,baseURL:e.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-apps-web/v1/"})}});function zK(e,t){FK(e);let r=UK(e,t);e.engine.asset.addSource(r),e.ui.registerPanel(Y,({builder:a})=>{a.Library(Y,{entries:[Y],onSelect:async o=>{An.get().getBy({id:o.id,type:"plugin"}).forEach(s=>{s.execute()})}})}),e.ui.addAssetLibraryEntry({id:Y,sourceIds:[Y],gridColumns:1,gridItemHeight:"auto",gridBackgroundType:"cover",cardLabel:a=>{let{label:o,meta:s}=a,c=s?.labelKey;return c&&typeof e.i18n?.translate=="function"?e.i18n.translate(c):o},cardLabelPosition:()=>"inside"});let i=`${Y}.dock`;e.ui.registerComponent([i,"ly.img.ai/apps.dock"],({builder:a,experimental:o})=>{let s=r.getCurrentAssets();if(s.length===0)return;let c=s.length===1?An.get().getBy({id:s[0].id,type:"plugin"})[0]:void 0,l=c?.meta?.panelId??Y,u=e.ui.isPanelOpen(l),d=o.global(`${Y}.isGenerating`,!1);a.Button(`${Y}.dock.button`,{label:"ly.img.ai.apps.dock.label",isSelected:u,icon:d.value?"@imgly/LoadingSpinner":"@imgly/Sparkle",onClick:()=>{e.ui.findAllPanels().forEach(p=>{p.startsWith("ly.img.ai.")&&p!==l&&e.ui.closePanel(p),!u&&p==="//ly.img.panel/assetLibrary"&&e.ui.closePanel(p)}),c!=null?c.execute():u?e.ui.closePanel(Y):e.ui.openPanel(Y)}})})}function UK(e,t){let r=An.get(),i=Kf(Y,e,()=>{let a=e.engine.scene.getMode();return r.getBy({type:"plugin"}).map(({id:o,label:s,labelKey:c,sceneMode:l})=>a==="Design"&&l==="Video"?void 0:{id:o,label:{en:s??o},meta:{sceneMode:l,labelKey:c,thumbUri:t.baseURL!=null?RK(t.baseURL,o):void 0,width:DK,height:PK}}).filter(zs)}),n=r.subscribeBy({type:"plugin"},()=>{if(e?.engine?.asset?.assetSourceContentsChanged==null){n();return}e.engine.asset.assetSourceContentsChanged(Y)});return i}function RK(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 FK(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:c,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(m=>typeof m!="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 u=r.scene.getMode(),d=l.filter(m=>{let b=e.ui.getAssetLibraryEntry(m);if(b==null)return!1;if(u==null)return!0;let k=b.sceneMode;return typeof k=="string"?b.sceneMode===u||b.sceneMode==="All":typeof k=="function"?(typeof b.sourceIds=="function"?b.sourceIds({cesdk:e,engine:r}):b.sourceIds).some(I=>{let h=k(e.version.startsWith("1.51.")?I:{sourceId:I});return h===u||h==="All"}):!0});if(d.length===0)return;let p=s;p==null&&(p=`libraries.${a}.label`);let g=e.ui.isPanelOpen("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}),y=e.ui.isPanelOpen("//ly.img.panel/assetLibrary.replace"),f=c;f==null&&d.length===1&&(f=e.ui.getAssetLibraryEntry(d[0])?.icon),t(o??a,{label:p,icon:f,isDisabled:y,isSelected:g,onClick:()=>{g?e.ui.closePanel("//ly.img.panel/assetLibrary"):(e.ui.findAllPanels().forEach(m=>{(m===Y||m.startsWith("ly.img.ai."))&&e.ui.closePanel(m)}),e.ui.openPanel("//ly.img.panel/assetLibrary",{payload:{entries:d,title:p}}))}})})}function VK(e){au(e,cu)}var BK=e=>({name:hn,version:"1.81.1",...Jf(e)}),sre=BK;export{sre as default};
|
|
666
666
|
/*! Bundled license information:
|
|
667
667
|
|
|
668
668
|
lodash-es/lodash.js:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imgly/plugin-ai-apps-web",
|
|
3
|
-
"version": "1.81.
|
|
3
|
+
"version": "1.81.1",
|
|
4
4
|
"description": "AI apps orchestration plugin for the CE.SDK editor",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CE.SDK",
|
|
@@ -38,18 +38,18 @@
|
|
|
38
38
|
"esbuild": "^0.19.12",
|
|
39
39
|
"openapi-types": "^12.1.3",
|
|
40
40
|
"typescript": "^5.7.3",
|
|
41
|
-
"@imgly/plugin-ai-audio-generation-web": "1.81.
|
|
42
|
-
"@imgly/plugin-ai-generation-web": "1.81.
|
|
43
|
-
"@imgly/plugin-ai-
|
|
44
|
-
"@imgly/plugin-ai-
|
|
45
|
-
"@imgly/plugin-ai-
|
|
46
|
-
"@imgly/plugin-ai-
|
|
41
|
+
"@imgly/plugin-ai-audio-generation-web": "1.81.1",
|
|
42
|
+
"@imgly/plugin-ai-generation-web": "1.81.1",
|
|
43
|
+
"@imgly/plugin-ai-image-generation-web": "1.81.1",
|
|
44
|
+
"@imgly/plugin-ai-sticker-generation-web": "1.81.1",
|
|
45
|
+
"@imgly/plugin-ai-video-generation-web": "1.81.1",
|
|
46
|
+
"@imgly/plugin-ai-text-generation-web": "1.81.1",
|
|
47
47
|
"@imgly/plugin-utils": "0.0.0"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"@cesdk/
|
|
52
|
-
"@cesdk/
|
|
51
|
+
"@cesdk/engine": "^1.81.1",
|
|
52
|
+
"@cesdk/cesdk-js": "^1.81.1"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"start": "pnpm run watch",
|