@imgly/plugin-ai-video-generation-web 0.2.11 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.2.12] - 2025-11-21
6
+
5
7
  ## [0.2.11] - 2025-11-21
6
8
 
7
9
  ### New Features
package/dist/index.mjs CHANGED
@@ -63,7 +63,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
63
63
  </symbol>
64
64
  </svg>
65
65
  `,vo=ho;function wo(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 Ft(2e3),await ko(t,e,r)):i(t,r)}async function ko(e,t,r){switch(t.kind){case"image":return Io(e,t,r);case"video":return Ao(e,t,r);case"text":return So(e,t,r);case"audio":return xo(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function Io(e,t,{engine:r}){let i,n,o=e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"?e.prompt:"AI Generated Image",a=o.match(/(\d+)x(\d+)/);if(a!=null)i=parseInt(a[1],10),n=parseInt(a[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 ba(s,r),l=await ma(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=${o.replace(" ","+").replace(`
66
- `,"+")}`}}async function Ao(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function So(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[a]=t.blockIds;r.engine.block.isValid(a)&&(i=r.engine.block.getString(a,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let a=e.prompt,s=a.match(/text:\s*"([^"]+)"/i)||a.match(/content:\s*"([^"]+)"/i)||a.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,o="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")o=X(n,"translation");else if("type"in e&&typeof e.type=="string"){let a=e.type;o=X(n,a)}else"customPrompt"in e?o=X(n,"custom"):o=X(n,"improved");else o=X(n,"generated");return Co(o,r.abortSignal)}async function*Co(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 Ft(100)}return{kind:"text",text:e}}function X(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,o={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."},a=o[t]||o.generated,s="";if(n<=a.length)s=a.substring(0,n);else{s=a;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 xo(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:Eo(220,i),duration:i,thumbnailUrl:void 0}}function Eo(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 Mo(i,44100)}function Mo(e,t){let r=e.length,i=2,n=1,o=n*i,a=t*o,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,y)=>{for(let b=0;b<y.length;b++)u.setUint8(f+b,y.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,a,!0),u.setUint16(32,o,!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 y=Math.max(-1,Math.min(1,e[f])),b=Math.round(y*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),m="";for(let f=0;f<g.length;f++)m+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(m)}`}async function Ft(e){return new Promise(t=>{setTimeout(t,e)})}var jo=wo,$o="USER_CANCEL";function To(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=wa([...e.provider.output.middleware??[],...r?.middlewares??[],Ia({enable:r?.debug}),jo({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},o={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:a}=await i(e.provider.output.generate)(t,o);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:o}:a instanceof Error?{status:"error",message:a.message,middlewareOptions:o}:a==null?{status:"error",message:"No output generated",middlewareOptions:o}:xa(a)?{status:"success",type:"async",output:a,middlewareOptions:o}:{status:"success",type:"sync",output:a,middlewareOptions:o}}catch(a){return Ve(a)?{status:"aborted",message:a.message,middlewareOptions:o}:a===$o?{status:"aborted",message:a,middlewareOptions:o}:{status:"error",message:a instanceof Error?a.message:String(a),middlewareOptions:o}}}}var _o=To;async function Lo(e,t,r,i){let n={...i,provider:t},o={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=ue.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let m=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(m,!0)}})}let a=mo(o),s=yo(o,a);o.options.historyAssetSourceId=a,o.options.historyAssetLibraryEntryId=s;let c=_o({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await po(o,c);Ea(r.cesdk,"@imgly/plugin-ai-generation",vo);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:a,assetLibraryEntryId:s},generate:c};return va.get().register(u),u}var Le=Lo;function Po(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 o=new yr(n,r,i);return r.engine.asset.addSource(o),o.id}var No=Po;function te(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 Do(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let o,a=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Le(e,u,r,i)));a.push(...l),o=zo({kind:e,prefix:e,providerInitializationResults:a,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Le(e,d,r,i)));a.push(...l);let u=await Promise.all(t.fromImage.map(d=>Le(e,d,r,i)));a.push(...u),o=Oo({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=No({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(l=>l.history?.assetSourceId).filter(ha)}),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:o},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:a}}function Oo({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let o=r.length>0&&i.length>0;return a=>{let{builder:s,experimental:c,engine:l}=a,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}),m;d&&r.length>0&&(!g||i.length===0)?m="fromText":g&&i.length>0&&(!d||r.length===0)?m="fromImage":d&&g&&o&&(m="fromText");let f=c.global(`${t}.fromType`,m),y=[];f.value==="fromText"?y.push(...r):f.value==="fromImage"?y.push(...i):y.push(...r,...i);let b=r.map(({provider:k,panel:x})=>({id:k.id,label:k.name??k.id,builderRenderFunction:x?.builderRenderFunction})),v=i.map(({provider:k,panel:x})=>({id:k.id,label:k.name??k.id,builderRenderFunction:x?.builderRenderFunction})),S=a.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),C=a.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),w=b.find(k=>k.id===S.value)??b[0],E=v.find(k=>k.id===C.value)??v[0],be=f.value==="fromText"?S:f.value==="fromImage"?C:void 0,D=f.value==="fromText"?w:f.value==="fromImage"?E:void 0,ye=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,Ee=n.feature.isEnabled(ye,{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 T=d&&g&&r.length>0&&i.length>0,h=o&&T,M=y.length>1&&Ee;if((h||M)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:te(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:te(e,"fromText.label"),icon:f.value!=="fromText"&&mt(r,a)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:te(e,"fromImage.label"),icon:f.value!=="fromImage"&&mt(i,a)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),M){let k=f.value==="fromText"?b:f.value==="fromImage"?v:[...b,...v];be!=null&&D!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:te(e,"providerSelect.label"),values:k,value:D,setValue:x=>{be.setValue(x.id)}})}}}),y.length>1)D?.builderRenderFunction?.(a);else{let k=y[0];k&&k.panel?.builderRenderFunction?.(a)}}}function zo({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:o,engine:a}=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:a}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:p.name??p.id,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&&o.Section(`${t}.providerSelection.section`,{children:()=>{o.Select(`${t}.providerSelect.select`,{inputLabel:te(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function mt(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Be(r.id),!1).value)}var Rt=Do;var Fo=typeof global=="object"&&global&&global.Object===Object&&global,tr=Fo,Ro=typeof self=="object"&&self&&self.Object===Object&&self,Vo=tr||Ro||Function("return this")(),$=Vo,Uo=$.Symbol,Z=Uo,rr=Object.prototype,Bo=rr.hasOwnProperty,Go=rr.toString,ce=Z?Z.toStringTag:void 0;function qo(e){var t=Bo.call(e,ce),r=e[ce];try{e[ce]=void 0;var i=!0}catch{}var n=Go.call(e);return i&&(t?e[ce]=r:delete e[ce]),n}var Ho=qo,Zo=Object.prototype,Qo=Zo.toString;function Yo(e){return Qo.call(e)}var Ko=Yo,Wo="[object Null]",Jo="[object Undefined]",Vt=Z?Z.toStringTag:void 0;function Xo(e){return e==null?e===void 0?Jo:Wo:Vt&&Vt in Object(e)?Ho(e):Ko(e)}var fe=Xo;function el(e){return e!=null&&typeof e=="object"}var We=el,fc=Array.isArray;function tl(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ir=tl,rl="[object AsyncFunction]",il="[object Function]",nl="[object GeneratorFunction]",al="[object Proxy]";function ol(e){if(!ir(e))return!1;var t=fe(e);return t==il||t==nl||t==rl||t==al}var ll=ol,sl=$["__core-js_shared__"],Ge=sl,Ut=function(){var e=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ul(e){return!!Ut&&Ut in e}var cl=ul,dl=Function.prototype,gl=dl.toString;function pl(e){if(e!=null){try{return gl.call(e)}catch{}try{return e+""}catch{}}return""}var z=pl,fl=/[\\^$.*+?()[\]{}|]/g,ml=/^\[object .+?Constructor\]$/,bl=Function.prototype,yl=Object.prototype,hl=bl.toString,vl=yl.hasOwnProperty,wl=RegExp("^"+hl.call(vl).replace(fl,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kl(e){if(!ir(e)||cl(e))return!1;var t=ll(e)?wl:ml;return t.test(z(e))}var Il=kl;function Al(e,t){return e?.[t]}var Sl=Al;function Cl(e,t){var r=Sl(e,t);return Il(r)?r:void 0}var Q=Cl,xl=Q($,"WeakMap"),He=xl;function El(e,t){return e===t||e!==e&&t!==t}var Ml=El,jl=9007199254740991;function $l(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jl}var Tl=$l;var mc=Object.prototype;var _l="[object Arguments]";function Ll(e){return We(e)&&fe(e)==_l}var Bt=Ll,nr=Object.prototype,Pl=nr.hasOwnProperty,Nl=nr.propertyIsEnumerable,bc=Bt(function(){return arguments}())?Bt:function(e){return We(e)&&Pl.call(e,"callee")&&!Nl.call(e,"callee")};var ar=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gt=ar&&typeof module=="object"&&module&&!module.nodeType&&module,Dl=Gt&&Gt.exports===ar,qt=Dl?$.Buffer:void 0,yc=qt?qt.isBuffer:void 0;var Ol="[object Arguments]",zl="[object Array]",Fl="[object Boolean]",Rl="[object Date]",Vl="[object Error]",Ul="[object Function]",Bl="[object Map]",Gl="[object Number]",ql="[object Object]",Hl="[object RegExp]",Zl="[object Set]",Ql="[object String]",Yl="[object WeakMap]",Kl="[object ArrayBuffer]",Wl="[object DataView]",Jl="[object Float32Array]",Xl="[object Float64Array]",es="[object Int8Array]",ts="[object Int16Array]",rs="[object Int32Array]",is="[object Uint8Array]",ns="[object Uint8ClampedArray]",as="[object Uint16Array]",os="[object Uint32Array]",A={};A[Jl]=A[Xl]=A[es]=A[ts]=A[rs]=A[is]=A[ns]=A[as]=A[os]=!0;A[Ol]=A[zl]=A[Kl]=A[Fl]=A[Wl]=A[Rl]=A[Vl]=A[Ul]=A[Bl]=A[Gl]=A[ql]=A[Hl]=A[Zl]=A[Ql]=A[Yl]=!1;function ls(e){return We(e)&&Tl(e.length)&&!!A[fe(e)]}var ss=ls;function us(e){return function(t){return e(t)}}var cs=us,or=typeof exports=="object"&&exports&&!exports.nodeType&&exports,de=or&&typeof module=="object"&&module&&!module.nodeType&&module,ds=de&&de.exports===or,qe=ds&&tr.process,gs=function(){try{var e=de&&de.require&&de.require("util").types;return e||qe&&qe.binding&&qe.binding("util")}catch{}}(),Ht=gs,Zt=Ht&&Ht.isTypedArray,hc=Zt?cs(Zt):ss;var ps=Object.prototype,vc=ps.hasOwnProperty;function fs(e,t){return function(r){return e(t(r))}}var ms=fs,wc=ms(Object.keys,Object);var bs=Object.prototype,kc=bs.hasOwnProperty;var ys=Q(Object,"create"),ge=ys;function hs(){this.__data__=ge?ge(null):{},this.size=0}var vs=hs;function ws(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ks=ws,Is="__lodash_hash_undefined__",As=Object.prototype,Ss=As.hasOwnProperty;function Cs(e){var t=this.__data__;if(ge){var r=t[e];return r===Is?void 0:r}return Ss.call(t,e)?t[e]:void 0}var xs=Cs,Es=Object.prototype,Ms=Es.hasOwnProperty;function js(e){var t=this.__data__;return ge?t[e]!==void 0:Ms.call(t,e)}var $s=js,Ts="__lodash_hash_undefined__";function _s(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ge&&t===void 0?Ts:t,this}var Ls=_s;function Y(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])}}Y.prototype.clear=vs;Y.prototype.delete=ks;Y.prototype.get=xs;Y.prototype.has=$s;Y.prototype.set=Ls;var Qt=Y;function Ps(){this.__data__=[],this.size=0}var Ns=Ps;function Ds(e,t){for(var r=e.length;r--;)if(Ml(e[r][0],t))return r;return-1}var ke=Ds,Os=Array.prototype,zs=Os.splice;function Fs(e){var t=this.__data__,r=ke(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():zs.call(t,r,1),--this.size,!0}var Rs=Fs;function Vs(e){var t=this.__data__,r=ke(t,e);return r<0?void 0:t[r][1]}var Us=Vs;function Bs(e){return ke(this.__data__,e)>-1}var Gs=Bs;function qs(e,t){var r=this.__data__,i=ke(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Hs=qs;function K(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])}}K.prototype.clear=Ns;K.prototype.delete=Rs;K.prototype.get=Us;K.prototype.has=Gs;K.prototype.set=Hs;var Ie=K,Zs=Q($,"Map"),pe=Zs;function Qs(){this.size=0,this.__data__={hash:new Qt,map:new(pe||Ie),string:new Qt}}var Ys=Qs;function Ks(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ws=Ks;function Js(e,t){var r=e.__data__;return Ws(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Ae=Js;function Xs(e){var t=Ae(this,e).delete(e);return this.size-=t?1:0,t}var eu=Xs;function tu(e){return Ae(this,e).get(e)}var ru=tu;function iu(e){return Ae(this,e).has(e)}var nu=iu;function au(e,t){var r=Ae(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var ou=au;function W(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])}}W.prototype.clear=Ys;W.prototype.delete=eu;W.prototype.get=ru;W.prototype.has=nu;W.prototype.set=ou;var lr=W;function lu(){this.__data__=new Ie,this.size=0}var su=lu;function uu(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var cu=uu;function du(e){return this.__data__.get(e)}var gu=du;function pu(e){return this.__data__.has(e)}var fu=pu,mu=200;function bu(e,t){var r=this.__data__;if(r instanceof Ie){var i=r.__data__;if(!pe||i.length<mu-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new lr(i)}return r.set(e,t),this.size=r.size,this}var yu=bu;function me(e){var t=this.__data__=new Ie(e);this.size=t.size}me.prototype.clear=su;me.prototype.delete=cu;me.prototype.get=gu;me.prototype.has=fu;me.prototype.set=yu;var hu=Object.prototype,Ic=hu.propertyIsEnumerable;var vu=Q($,"DataView"),Ze=vu,wu=Q($,"Promise"),Qe=wu,ku=Q($,"Set"),Ye=ku,Yt="[object Map]",Iu="[object Object]",Kt="[object Promise]",Wt="[object Set]",Jt="[object WeakMap]",Xt="[object DataView]",Au=z(Ze),Su=z(pe),Cu=z(Qe),xu=z(Ye),Eu=z(He),H=fe;(Ze&&H(new Ze(new ArrayBuffer(1)))!=Xt||pe&&H(new pe)!=Yt||Qe&&H(Qe.resolve())!=Kt||Ye&&H(new Ye)!=Wt||He&&H(new He)!=Jt)&&(H=function(e){var t=fe(e),r=t==Iu?e.constructor:void 0,i=r?z(r):"";if(i)switch(i){case Au:return Xt;case Su:return Yt;case Cu:return Kt;case xu:return Wt;case Eu:return Jt}return t});var Ac=$.Uint8Array;var Mu="__lodash_hash_undefined__";function ju(e){return this.__data__.set(e,Mu),this}var $u=ju;function Tu(e){return this.__data__.has(e)}var _u=Tu;function Ke(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new lr;++t<r;)this.add(e[t])}Ke.prototype.add=Ke.prototype.push=$u;Ke.prototype.has=_u;var er=Z?Z.prototype:void 0,Sc=er?er.valueOf:void 0;var Lu=Object.prototype,Cc=Lu.hasOwnProperty;var Pu=Object.prototype,xc=Pu.hasOwnProperty;var Ec=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Mc=new RegExp(/[A-Fa-f0-9]{1}/,"g"),jc=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Nu(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),o=new Uint8Array(n),a=new Blob([o],{type:r});return URL.createObjectURL(a)}else return e}async function Se(e,t,r){let i,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Nu(i,t)}function Du(e){return e==null?[]:Array.isArray(e)?e:[e]}var Je=Du;function Ou(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function zu(e){return typeof e?.translate=="function"}function sr(e,t,r){return e&&Ou(e)&&zu(e.i18n)?e.i18n.translate(t):r}var P="@imgly/plugin-ai-video-generation-web",Fu=["ly.img.createVideo","ly.img.animateBetweenImages"];var Ce="createVideo",ur=`ly.img.${Ce}`,Ru=`ly.img.plugin-ai-video-generation-web.quickAction.${Ce}`,cr=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${Ce}`;function Vu(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${Ce}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Uu=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),e.i18n.setTranslations({en:{[`${cr}`]:"Create Video...",[`${cr}.description`]:"Create a video from the image"}}),{id:ur,type:"quick",kind:"image",label:`${Ru}`,enable:jt(),scopes:[],render:({builder:r,engine:i,close:n,providerId:o})=>{r.Button(`${ur}.button`,{label:Vu(o),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=i.block.findAllSelected(),s=await Se(a,i,{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(`${o}.image_url`,s),n()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),dr=Uu;var xe="animateBetweenImages",gr=`ly.img.${xe}`,Bu=`ly.img.plugin-ai-video-generation-web.quickAction.${xe}`,pr=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${xe}`;function Gu(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${xe}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var qu=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),e.i18n.setTranslations({en:{[`${pr}`]:"Animate Between Images...",[`${pr}.description`]:"Create a video transitioning between two images"}}),{id:gr,type:"quick",kind:"image",label:`${Bu}`,enable:r=>{let i=r.engine.block.findAllSelected();return i==null||i.length!==2?!1:i.every(n=>{if(r.engine.block.getType(n)!=="//ly.img.ubq/graphic"&&!r.engine.block.supportsFill(n))return!1;let o=r.engine.block.getFill(n);return!(r.engine.block.getType(o)!=="//ly.img.ubq/fill/image"||r.engine.block.getType(n)==="//ly.img.ubq/page")})},scopes:[],render:({builder:r,engine:i,close:n,providerId:o})=>{r.Button(`${gr}.button`,{label:Gu(o),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let a=i.block.findAllSelected();if(a.length!==2)throw new Error("Exactly 2 images must be selected");let[s,c]=await Promise.all(a.map(u=>Se(u,i,{throwErrorIfSvg:!0}))),l="fal-ai/veo3.1/fast/first-last-frame-to-video";e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",l),e.ui.experimental.setGlobalStateValue(`${l}.first_frame_url`,s),e.ui.experimental.setGlobalStateValue(`${l}.last_frame_url`,c),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.openPanel("ly.img.ai.video-generation"),n()}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"})}}})}}),fr=qu;var N="ly.img.ai.video-generation";function Hu(e){return{async initialize({cesdk:t}){if(t==null)return;Et(t,P,"0.2.11"),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=`${P}.action.label`;t.setTranslations({en:{[`panel.${N}`]:"Video Generation",[`${N}.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."}}),Zu(e);let n=ue.get().register({type:"plugin",sceneMode:"Video",id:P,pluginId:P,label:sr(t,r,"Generate Video"),meta:{panelId:N},execute:()=>{t.ui.isPanelOpen(N)?t.ui.closePanel(N):t.ui.openPanel(N)}}),o=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,s=await Promise.all(Je(o).map(d=>d({cesdk:t}))),c=await Promise.all(Je(a).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let u=await Rt("video",{fromText:s,fromImage:c},{cesdk:t},e);ue.get().register(dr({cesdk:t})),ue.get().register(fr({cesdk:t})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(N,u.panel.builderRenderFunction),Mt({cesdk:t,panelId:N})):n()}}}function Zu(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 mr=Hu;var Qu=e=>({name:P,version:"0.2.11",...mr(e)}),Qc=Qu;export{Fu as DEFAULT_VIDEO_QUICK_ACTION_ORDER,Qc as default};
66
+ `,"+")}`}}async function Ao(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function So(e,t,r){let i="";if(t.blockIds&&t.blockIds.length>0){let[a]=t.blockIds;r.engine.block.isValid(a)&&(i=r.engine.block.getString(a,"text/text"))}if(!i&&e!=null&&typeof e=="object"&&"prompt"in e&&typeof e.prompt=="string"){let a=e.prompt,s=a.match(/text:\s*"([^"]+)"/i)||a.match(/content:\s*"([^"]+)"/i)||a.match(/"([^"]+)"/);s&&s[1]&&(i=s[1])}let n=i.length||50,o="";if(e!=null&&typeof e=="object")if("language"in e&&typeof e.language=="string")o=X(n,"translation");else if("type"in e&&typeof e.type=="string"){let a=e.type;o=X(n,a)}else"customPrompt"in e?o=X(n,"custom"):o=X(n,"improved");else o=X(n,"generated");return Co(o,r.abortSignal)}async function*Co(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 Ft(100)}return{kind:"text",text:e}}function X(e,t){let r="[DRY RUN - Dummy Text] ",i=r.length;if(e<=i)return r.substring(0,e);let n=e-i,o={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."},a=o[t]||o.generated,s="";if(n<=a.length)s=a.substring(0,n);else{s=a;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 xo(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:Eo(220,i),duration:i,thumbnailUrl:void 0}}function Eo(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 Mo(i,44100)}function Mo(e,t){let r=e.length,i=2,n=1,o=n*i,a=t*o,s=r*i,c=44+s,l=new ArrayBuffer(c),u=new DataView(l),d=(f,y)=>{for(let b=0;b<y.length;b++)u.setUint8(f+b,y.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,a,!0),u.setUint16(32,o,!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 y=Math.max(-1,Math.min(1,e[f])),b=Math.round(y*32767);u.setInt16(p,b,!0),p+=2}let g=new Uint8Array(l),m="";for(let f=0;f<g.length;f++)m+=String.fromCharCode(g[f]);return`data:audio/wav;base64,${btoa(m)}`}async function Ft(e){return new Promise(t=>{setTimeout(t,e)})}var jo=wo,$o="USER_CANCEL";function To(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=wa([...e.provider.output.middleware??[],...r?.middlewares??[],Ia({enable:r?.debug}),jo({enable:r?.dryRun,kind:e.provider.kind})]),n={prevented:!1},o={blockIds:r?.blockIds,abortSignal:r?.abortSignal,engine:e.engine,cesdk:e.cesdk,preventDefault:()=>{n.prevented=!0},defaultPrevented:()=>n.prevented};try{let{result:a}=await i(e.provider.output.generate)(t,o);return r?.abortSignal?.aborted?{status:"aborted",middlewareOptions:o}:a instanceof Error?{status:"error",message:a.message,middlewareOptions:o}:a==null?{status:"error",message:"No output generated",middlewareOptions:o}:xa(a)?{status:"success",type:"async",output:a,middlewareOptions:o}:{status:"success",type:"sync",output:a,middlewareOptions:o}}catch(a){return Ve(a)?{status:"aborted",message:a.message,middlewareOptions:o}:a===$o?{status:"aborted",message:a,middlewareOptions:o}:{status:"error",message:a instanceof Error?a.message:String(a),middlewareOptions:o}}}}var _o=To;async function Lo(e,t,r,i){let n={...i,provider:t},o={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=ue.get();Object.keys(t.input.quickActions.supported).forEach(g=>{if(!p.getBy({id:g,type:"quick"})[0]){let m=`ly.img.plugin-ai-${d}-generation-web.quickAction.${g}`;r.cesdk.feature.enable(m,!0)}})}let a=mo(o),s=yo(o,a);o.options.historyAssetSourceId=a,o.options.historyAssetLibraryEntryId=s;let c=_o({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await po(o,c);Ea(r.cesdk,"@imgly/plugin-ai-generation",vo);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:a,assetLibraryEntryId:s},generate:c};return va.get().register(u),u}var Le=Lo;function Po(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 o=new yr(n,r,i);return r.engine.asset.addSource(o),o.id}var No=Po;function te(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 Do(e,t,r,i){let{cesdk:n}=r;n.setTranslations({en:{"ly.img.plugin-ai-generation-web.defaults.fromType.label":"Input","ly.img.plugin-ai-generation-web.defaults.providerSelect.label":"Provider","ly.img.plugin-ai-generation-web.defaults.fromText.label":"Text","ly.img.plugin-ai-generation-web.defaults.fromImage.label":"Image"}});let o,a=[];if(i.debug&&console.groupCollapsed(`Initializing ${e} generation providers`),Array.isArray(t)){let l=await Promise.all(t.map(u=>Le(e,u,r,i)));a.push(...l),o=zo({kind:e,prefix:e,providerInitializationResults:a,cesdk:n})}else{let l=await Promise.all(t.fromText.map(d=>Le(e,d,r,i)));a.push(...l);let u=await Promise.all(t.fromImage.map(d=>Le(e,d,r,i)));a.push(...u),o=Oo({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=No({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(l=>l.history?.assetSourceId).filter(ha)}),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:o},history:{assetSourceId:s,assetLibraryEntryId:c},providerInitializationResults:a}}function Oo({kind:e,prefix:t,initializedFromTextProviders:r,initializedFromImageProviders:i,cesdk:n}){let o=r.length>0&&i.length>0;return a=>{let{builder:s,experimental:c,engine:l}=a,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}),m;d&&r.length>0&&(!g||i.length===0)?m="fromText":g&&i.length>0&&(!d||r.length===0)?m="fromImage":d&&g&&o&&(m="fromText");let f=c.global(`${t}.fromType`,m),y=[];f.value==="fromText"?y.push(...r):f.value==="fromImage"?y.push(...i):y.push(...r,...i);let b=r.map(({provider:k,panel:x})=>({id:k.id,label:k.name??k.id,builderRenderFunction:x?.builderRenderFunction})),v=i.map(({provider:k,panel:x})=>({id:k.id,label:k.name??k.id,builderRenderFunction:x?.builderRenderFunction})),S=a.experimental.global(`${t}.selectedProvider.fromText`,b[0]?.id),C=a.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),w=b.find(k=>k.id===S.value)??b[0],E=v.find(k=>k.id===C.value)??v[0],be=f.value==="fromText"?S:f.value==="fromImage"?C:void 0,D=f.value==="fromText"?w:f.value==="fromImage"?E:void 0,ye=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,Ee=n.feature.isEnabled(ye,{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 T=d&&g&&r.length>0&&i.length>0,h=o&&T,M=y.length>1&&Ee;if((h||M)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h&&s.ButtonGroup(`${t}.fromType.buttonGroup`,{inputLabel:te(e,"fromType.label"),children:()=>{d&&r.length>0&&s.Button(`${t}.fromType.buttonGroup.fromText`,{label:te(e,"fromText.label"),icon:f.value!=="fromText"&&mt(r,a)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromText",onClick:()=>{f.setValue("fromText")}}),g&&i.length>0&&s.Button(`${t}.fromType.buttonGroup.fromImage`,{label:te(e,"fromImage.label"),icon:f.value!=="fromImage"&&mt(i,a)?"@imgly/LoadingSpinner":void 0,isActive:f.value==="fromImage",onClick:()=>{f.setValue("fromImage")}})}}),M){let k=f.value==="fromText"?b:f.value==="fromImage"?v:[...b,...v];be!=null&&D!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:te(e,"providerSelect.label"),values:k,value:D,setValue:x=>{be.setValue(x.id)}})}}}),y.length>1)D?.builderRenderFunction?.(a);else{let k=y[0];k&&k.panel?.builderRenderFunction?.(a)}}}function zo({kind:e,prefix:t,providerInitializationResults:r,cesdk:i}){return n=>{let{builder:o,engine:a}=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:a}),l=r.map(({provider:p,panel:g})=>({id:p.id,label:p.name??p.id,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&&o.Section(`${t}.providerSelection.section`,{children:()=>{o.Select(`${t}.providerSelect.select`,{inputLabel:te(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function mt(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(Be(r.id),!1).value)}var Rt=Do;var Fo=typeof global=="object"&&global&&global.Object===Object&&global,tr=Fo,Ro=typeof self=="object"&&self&&self.Object===Object&&self,Vo=tr||Ro||Function("return this")(),$=Vo,Uo=$.Symbol,Z=Uo,rr=Object.prototype,Bo=rr.hasOwnProperty,Go=rr.toString,ce=Z?Z.toStringTag:void 0;function qo(e){var t=Bo.call(e,ce),r=e[ce];try{e[ce]=void 0;var i=!0}catch{}var n=Go.call(e);return i&&(t?e[ce]=r:delete e[ce]),n}var Ho=qo,Zo=Object.prototype,Qo=Zo.toString;function Yo(e){return Qo.call(e)}var Ko=Yo,Wo="[object Null]",Jo="[object Undefined]",Vt=Z?Z.toStringTag:void 0;function Xo(e){return e==null?e===void 0?Jo:Wo:Vt&&Vt in Object(e)?Ho(e):Ko(e)}var fe=Xo;function el(e){return e!=null&&typeof e=="object"}var We=el,fc=Array.isArray;function tl(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ir=tl,rl="[object AsyncFunction]",il="[object Function]",nl="[object GeneratorFunction]",al="[object Proxy]";function ol(e){if(!ir(e))return!1;var t=fe(e);return t==il||t==nl||t==rl||t==al}var ll=ol,sl=$["__core-js_shared__"],Ge=sl,Ut=function(){var e=/[^.]+$/.exec(Ge&&Ge.keys&&Ge.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ul(e){return!!Ut&&Ut in e}var cl=ul,dl=Function.prototype,gl=dl.toString;function pl(e){if(e!=null){try{return gl.call(e)}catch{}try{return e+""}catch{}}return""}var z=pl,fl=/[\\^$.*+?()[\]{}|]/g,ml=/^\[object .+?Constructor\]$/,bl=Function.prototype,yl=Object.prototype,hl=bl.toString,vl=yl.hasOwnProperty,wl=RegExp("^"+hl.call(vl).replace(fl,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kl(e){if(!ir(e)||cl(e))return!1;var t=ll(e)?wl:ml;return t.test(z(e))}var Il=kl;function Al(e,t){return e?.[t]}var Sl=Al;function Cl(e,t){var r=Sl(e,t);return Il(r)?r:void 0}var Q=Cl,xl=Q($,"WeakMap"),He=xl;function El(e,t){return e===t||e!==e&&t!==t}var Ml=El,jl=9007199254740991;function $l(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=jl}var Tl=$l;var mc=Object.prototype;var _l="[object Arguments]";function Ll(e){return We(e)&&fe(e)==_l}var Bt=Ll,nr=Object.prototype,Pl=nr.hasOwnProperty,Nl=nr.propertyIsEnumerable,bc=Bt(function(){return arguments}())?Bt:function(e){return We(e)&&Pl.call(e,"callee")&&!Nl.call(e,"callee")};var ar=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gt=ar&&typeof module=="object"&&module&&!module.nodeType&&module,Dl=Gt&&Gt.exports===ar,qt=Dl?$.Buffer:void 0,yc=qt?qt.isBuffer:void 0;var Ol="[object Arguments]",zl="[object Array]",Fl="[object Boolean]",Rl="[object Date]",Vl="[object Error]",Ul="[object Function]",Bl="[object Map]",Gl="[object Number]",ql="[object Object]",Hl="[object RegExp]",Zl="[object Set]",Ql="[object String]",Yl="[object WeakMap]",Kl="[object ArrayBuffer]",Wl="[object DataView]",Jl="[object Float32Array]",Xl="[object Float64Array]",es="[object Int8Array]",ts="[object Int16Array]",rs="[object Int32Array]",is="[object Uint8Array]",ns="[object Uint8ClampedArray]",as="[object Uint16Array]",os="[object Uint32Array]",A={};A[Jl]=A[Xl]=A[es]=A[ts]=A[rs]=A[is]=A[ns]=A[as]=A[os]=!0;A[Ol]=A[zl]=A[Kl]=A[Fl]=A[Wl]=A[Rl]=A[Vl]=A[Ul]=A[Bl]=A[Gl]=A[ql]=A[Hl]=A[Zl]=A[Ql]=A[Yl]=!1;function ls(e){return We(e)&&Tl(e.length)&&!!A[fe(e)]}var ss=ls;function us(e){return function(t){return e(t)}}var cs=us,or=typeof exports=="object"&&exports&&!exports.nodeType&&exports,de=or&&typeof module=="object"&&module&&!module.nodeType&&module,ds=de&&de.exports===or,qe=ds&&tr.process,gs=function(){try{var e=de&&de.require&&de.require("util").types;return e||qe&&qe.binding&&qe.binding("util")}catch{}}(),Ht=gs,Zt=Ht&&Ht.isTypedArray,hc=Zt?cs(Zt):ss;var ps=Object.prototype,vc=ps.hasOwnProperty;function fs(e,t){return function(r){return e(t(r))}}var ms=fs,wc=ms(Object.keys,Object);var bs=Object.prototype,kc=bs.hasOwnProperty;var ys=Q(Object,"create"),ge=ys;function hs(){this.__data__=ge?ge(null):{},this.size=0}var vs=hs;function ws(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ks=ws,Is="__lodash_hash_undefined__",As=Object.prototype,Ss=As.hasOwnProperty;function Cs(e){var t=this.__data__;if(ge){var r=t[e];return r===Is?void 0:r}return Ss.call(t,e)?t[e]:void 0}var xs=Cs,Es=Object.prototype,Ms=Es.hasOwnProperty;function js(e){var t=this.__data__;return ge?t[e]!==void 0:Ms.call(t,e)}var $s=js,Ts="__lodash_hash_undefined__";function _s(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ge&&t===void 0?Ts:t,this}var Ls=_s;function Y(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])}}Y.prototype.clear=vs;Y.prototype.delete=ks;Y.prototype.get=xs;Y.prototype.has=$s;Y.prototype.set=Ls;var Qt=Y;function Ps(){this.__data__=[],this.size=0}var Ns=Ps;function Ds(e,t){for(var r=e.length;r--;)if(Ml(e[r][0],t))return r;return-1}var ke=Ds,Os=Array.prototype,zs=Os.splice;function Fs(e){var t=this.__data__,r=ke(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():zs.call(t,r,1),--this.size,!0}var Rs=Fs;function Vs(e){var t=this.__data__,r=ke(t,e);return r<0?void 0:t[r][1]}var Us=Vs;function Bs(e){return ke(this.__data__,e)>-1}var Gs=Bs;function qs(e,t){var r=this.__data__,i=ke(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Hs=qs;function K(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])}}K.prototype.clear=Ns;K.prototype.delete=Rs;K.prototype.get=Us;K.prototype.has=Gs;K.prototype.set=Hs;var Ie=K,Zs=Q($,"Map"),pe=Zs;function Qs(){this.size=0,this.__data__={hash:new Qt,map:new(pe||Ie),string:new Qt}}var Ys=Qs;function Ks(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ws=Ks;function Js(e,t){var r=e.__data__;return Ws(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Ae=Js;function Xs(e){var t=Ae(this,e).delete(e);return this.size-=t?1:0,t}var eu=Xs;function tu(e){return Ae(this,e).get(e)}var ru=tu;function iu(e){return Ae(this,e).has(e)}var nu=iu;function au(e,t){var r=Ae(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var ou=au;function W(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])}}W.prototype.clear=Ys;W.prototype.delete=eu;W.prototype.get=ru;W.prototype.has=nu;W.prototype.set=ou;var lr=W;function lu(){this.__data__=new Ie,this.size=0}var su=lu;function uu(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var cu=uu;function du(e){return this.__data__.get(e)}var gu=du;function pu(e){return this.__data__.has(e)}var fu=pu,mu=200;function bu(e,t){var r=this.__data__;if(r instanceof Ie){var i=r.__data__;if(!pe||i.length<mu-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new lr(i)}return r.set(e,t),this.size=r.size,this}var yu=bu;function me(e){var t=this.__data__=new Ie(e);this.size=t.size}me.prototype.clear=su;me.prototype.delete=cu;me.prototype.get=gu;me.prototype.has=fu;me.prototype.set=yu;var hu=Object.prototype,Ic=hu.propertyIsEnumerable;var vu=Q($,"DataView"),Ze=vu,wu=Q($,"Promise"),Qe=wu,ku=Q($,"Set"),Ye=ku,Yt="[object Map]",Iu="[object Object]",Kt="[object Promise]",Wt="[object Set]",Jt="[object WeakMap]",Xt="[object DataView]",Au=z(Ze),Su=z(pe),Cu=z(Qe),xu=z(Ye),Eu=z(He),H=fe;(Ze&&H(new Ze(new ArrayBuffer(1)))!=Xt||pe&&H(new pe)!=Yt||Qe&&H(Qe.resolve())!=Kt||Ye&&H(new Ye)!=Wt||He&&H(new He)!=Jt)&&(H=function(e){var t=fe(e),r=t==Iu?e.constructor:void 0,i=r?z(r):"";if(i)switch(i){case Au:return Xt;case Su:return Yt;case Cu:return Kt;case xu:return Wt;case Eu:return Jt}return t});var Ac=$.Uint8Array;var Mu="__lodash_hash_undefined__";function ju(e){return this.__data__.set(e,Mu),this}var $u=ju;function Tu(e){return this.__data__.has(e)}var _u=Tu;function Ke(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new lr;++t<r;)this.add(e[t])}Ke.prototype.add=Ke.prototype.push=$u;Ke.prototype.has=_u;var er=Z?Z.prototype:void 0,Sc=er?er.valueOf:void 0;var Lu=Object.prototype,Cc=Lu.hasOwnProperty;var Pu=Object.prototype,xc=Pu.hasOwnProperty;var Ec=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Mc=new RegExp(/[A-Fa-f0-9]{1}/,"g"),jc=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Nu(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),o=new Uint8Array(n),a=new Blob([o],{type:r});return URL.createObjectURL(a)}else return e}async function Se(e,t,r){let i,n=t.block.getFill(e),o=t.block.getSourceSet(n,"fill/image/sourceSet"),[a]=o;if(a==null){if(i=t.block.getString(n,"fill/image/imageFileURI"),i==null)throw new Error("No image source/uri found")}else i=a.uri;if(r?.throwErrorIfSvg&&await t.editor.getMimeType(i)==="image/svg+xml")throw new Error("SVG images are not supported");return Nu(i,t)}function Du(e){return e==null?[]:Array.isArray(e)?e:[e]}var Je=Du;function Ou(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function zu(e){return typeof e?.translate=="function"}function sr(e,t,r){return e&&Ou(e)&&zu(e.i18n)?e.i18n.translate(t):r}var P="@imgly/plugin-ai-video-generation-web",Fu=["ly.img.createVideo","ly.img.animateBetweenImages"];var Ce="createVideo",ur=`ly.img.${Ce}`,Ru=`ly.img.plugin-ai-video-generation-web.quickAction.${Ce}`,cr=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${Ce}`;function Vu(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${Ce}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var Uu=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),e.i18n.setTranslations({en:{[`${cr}`]:"Create Video...",[`${cr}.description`]:"Create a video from the image"}}),{id:ur,type:"quick",kind:"image",label:`${Ru}`,enable:jt(),scopes:[],render:({builder:r,engine:i,close:n,providerId:o})=>{r.Button(`${ur}.button`,{label:Vu(o),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let[a]=i.block.findAllSelected(),s=await Se(a,i,{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(`${o}.image_url`,s),n()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),dr=Uu;var xe="animateBetweenImages",gr=`ly.img.${xe}`,Bu=`ly.img.plugin-ai-video-generation-web.quickAction.${xe}`,pr=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${xe}`;function Gu(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${xe}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var qu=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),e.i18n.setTranslations({en:{[`${pr}`]:"Animate Between Images...",[`${pr}.description`]:"Create a video transitioning between two images"}}),{id:gr,type:"quick",kind:"image",label:`${Bu}`,enable:r=>{let i=r.engine.block.findAllSelected();return i==null||i.length!==2?!1:i.every(n=>{if(r.engine.block.getType(n)!=="//ly.img.ubq/graphic"&&!r.engine.block.supportsFill(n))return!1;let o=r.engine.block.getFill(n);return!(r.engine.block.getType(o)!=="//ly.img.ubq/fill/image"||r.engine.block.getType(n)==="//ly.img.ubq/page")})},scopes:[],render:({builder:r,engine:i,close:n,providerId:o})=>{r.Button(`${gr}.button`,{label:Gu(o),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",onClick:async()=>{try{let a=i.block.findAllSelected();if(a.length!==2)throw new Error("Exactly 2 images must be selected");let[s,c]=await Promise.all(a.map(u=>Se(u,i,{throwErrorIfSvg:!0}))),l="fal-ai/veo3.1/fast/first-last-frame-to-video";e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",l),e.ui.experimental.setGlobalStateValue(`${l}.first_frame_url`,s),e.ui.experimental.setGlobalStateValue(`${l}.last_frame_url`,c),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.openPanel("ly.img.ai.video-generation"),n()}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"})}}})}}),fr=qu;var N="ly.img.ai.video-generation";function Hu(e){return{async initialize({cesdk:t}){if(t==null)return;Et(t,P,"0.2.12"),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=`${P}.action.label`;t.setTranslations({en:{[`panel.${N}`]:"Video Generation",[`${N}.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."}}),Zu(e);let n=ue.get().register({type:"plugin",sceneMode:"Video",id:P,pluginId:P,label:sr(t,r,"Generate Video"),meta:{panelId:N},execute:()=>{t.ui.isPanelOpen(N)?t.ui.closePanel(N):t.ui.openPanel(N)}}),o=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,s=await Promise.all(Je(o).map(d=>d({cesdk:t}))),c=await Promise.all(Je(a).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let u=await Rt("video",{fromText:s,fromImage:c},{cesdk:t},e);ue.get().register(dr({cesdk:t})),ue.get().register(fr({cesdk:t})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(N,u.panel.builderRenderFunction),Mt({cesdk:t,panelId:N})):n()}}}function Zu(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 mr=Hu;var Qu=e=>({name:P,version:"0.2.12",...mr(e)}),Qc=Qu;export{Fu as DEFAULT_VIDEO_QUICK_ACTION_ORDER,Qc as default};
67
67
  /*! Bundled license information:
68
68
 
69
69
  lodash-es/lodash.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imgly/plugin-ai-video-generation-web",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
4
4
  "description": "AI video generation plugin for the CE.SDK editor",
5
5
  "keywords": ["CE.SDK", "plugin", "AI", "video-generation"],
6
6
  "repository": {
@@ -48,10 +48,9 @@
48
48
  "check:types": "tsc --noEmit",
49
49
  "types:create": "tsc --emitDeclarationOnly"
50
50
  },
51
- "dependencies": {
52
- "@imgly/plugin-ai-generation-web": "workspace:*"
53
- },
51
+ "dependencies": {},
54
52
  "devDependencies": {
53
+ "@imgly/plugin-ai-generation-web": "workspace:*",
55
54
  "@fal-ai/client": "^1.3.0",
56
55
  "@imgly/plugin-utils": "workspace:*",
57
56
  "@types/ndarray": "^1.0.14",