@imgly/plugin-ai-video-generation-web 1.84.0-rc.0 → 1.84.0-rc.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.
Files changed (2) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +3 -3
package/dist/index.mjs CHANGED
@@ -74,7 +74,7 @@ Consider updating all AI plugins to the same version for optimal compatibility.`
74
74
  </symbol>
75
75
  </svg>
76
76
  `,jo=$o;function _o(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 Zt(2e3),await To(t,e,r)):i(t,r)}async function To(e,t,r){switch(t.kind){case"image":return Lo(e,t,r);case"video":return Po(e,t,r);case"text":return No(e,t,r);case"audio":return Do(e,t,r);default:throw new Error(`Unsupported output kind for creating dry run output: ${t.kind}`)}}async function Lo(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 xa(s,r),l=await Ca(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(`
77
- `,"+")}`}}async function Po(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function No(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=te(n,"translation");else if("type"in e&&typeof e.type=="string"){let a=e.type;o=te(n,a)}else"customPrompt"in e?o=te(n,"custom"):o=te(n,"improved");else o=te(n,"generated");return Oo(o,r.abortSignal)}async function*Oo(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 Zt(100)}return{kind:"text",text:e}}function te(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 Do(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:zo(220,i),duration:i,thumbnailUrl:void 0}}function zo(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 Ro(i,44100)}function Ro(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,b)=>{for(let y=0;y<b.length;y++)u.setUint8(f+y,b.charCodeAt(y))};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 b=Math.max(-1,Math.min(1,e[f])),y=Math.round(b*32767);u.setInt16(p,y,!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 Zt(e){return new Promise(t=>{setTimeout(t,e)})}var Fo=_o,Vo="USER_CANCEL";function Uo(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Ta([...e.provider.output.middleware??[],...r?.middlewares??[],Pa({enable:r?.debug}),Fo({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,error:a,middlewareOptions:o}:a==null?{status:"error",message:"No output generated",middlewareOptions:o}:za(a)?{status:"success",type:"async",output:a,middlewareOptions:o}:{status:"success",type:"sync",output:a,middlewareOptions:o}}catch(a){return Be(a)?{status:"aborted",message:a.message,middlewareOptions:o}:a===Vo?{status:"aborted",message:a,middlewareOptions:o}:{status:"error",message:a instanceof Error?a.message:String(a),error:a,middlewareOptions:o}}}}var Bo=Uo;async function Go(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=ce.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=xo(o),s=Mo(o,a);o.options.historyAssetSourceId=a,o.options.historyAssetLibraryEntryId=s;let c=Bo({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await So(o,c);Ra(r.cesdk,"@imgly/plugin-ai-generation",jo);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:a,assetLibraryEntryId:s},generate:c};return _a.get().register(u),u}var Le=Go;function qo(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 Er(n,r,i);return r.engine.asset.addSource(o),o.id}var Ho=qo;function Ve(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-${e}-generation-web.defaults.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function Qo(e,t,r,i){let{cesdk:n}=r;P(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","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 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=Ko({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=Zo({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=Ho({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(l=>l.history?.assetSourceId).filter(Ma)}),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 Zo({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),b=[];f.value==="fromText"?b.push(...r):f.value==="fromImage"?b.push(...i):b.push(...r,...i);let y=r.map(({provider:k,panel:C})=>({id:k.id,label:Re(k),builderRenderFunction:C?.builderRenderFunction})),v=i.map(({provider:k,panel:C})=>({id:k.id,label:Re(k),builderRenderFunction:C?.builderRenderFunction})),S=a.experimental.global(`${t}.selectedProvider.fromText`,y[0]?.id),x=a.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),w=y.find(k=>k.id===S.value)??y[0],E=v.find(k=>k.id===x.value)??v[0],he=f.value==="fromText"?S:f.value==="fromImage"?x:void 0,D=f.value==="fromText"?w:f.value==="fromImage"?E:void 0,be=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,Me=n.feature.isEnabled(be,{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 _=d&&g&&r.length>0&&i.length>0,h=o&&_,M=b.length>1&&Me;if((h||M)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h){let k=[{id:"fromText",isEnabled:d,providers:r},{id:"fromImage",isEnabled:g,providers:i}].filter(({isEnabled:C,providers:z})=>C&&z.length>0).map(({id:C,providers:z})=>({id:C,label:Ve(e,`${C}.label`),icon:f.value!==C&&Yo(z,a)?"@imgly/LoadingSpinner":void 0}));s.Tabs(`${t}.fromType.tabs`,{tabs:k,value:f.value??k[0].id,setValue:C=>{f.setValue(C)}})}if(M){let k=f.value==="fromText"?y:f.value==="fromImage"?v:[...y,...v];he!=null&&D!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:Ve(e,"providerSelect.label"),values:k,value:D,setValue:C=>{he.setValue(C.id)}})}}}),b.length>1)D?.builderRenderFunction?.(a);else{let k=b[0];k&&k.panel?.builderRenderFunction?.(a)}}}function Ko({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:Re(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&&o.Section(`${t}.providerSelection.section`,{children:()=>{o.Select(`${t}.providerSelect.select`,{inputLabel:Ve(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function Yo(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(qe(r.id),!1).value)}var Kt=Qo;var Ac=5*60*1e3;var Wo=typeof global=="object"&&global&&global.Object===Object&&global,cr=Wo,Jo=typeof self=="object"&&self&&self.Object===Object&&self,Xo=cr||Jo||Function("return this")(),j=Xo,el=j.Symbol,K=el,dr=Object.prototype,tl=dr.hasOwnProperty,rl=dr.toString,de=K?K.toStringTag:void 0;function il(e){var t=tl.call(e,de),r=e[de];try{e[de]=void 0;var i=!0}catch{}var n=rl.call(e);return i&&(t?e[de]=r:delete e[de]),n}var nl=il,al=Object.prototype,ol=al.toString;function ll(e){return ol.call(e)}var sl=ll,ul="[object Null]",cl="[object Undefined]",Yt=K?K.toStringTag:void 0;function dl(e){return e==null?e===void 0?cl:ul:Yt&&Yt in Object(e)?nl(e):sl(e)}var me=dl;function gl(e){return e!=null&&typeof e=="object"}var Xe=gl,Ec=Array.isArray;function pl(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var gr=pl,fl="[object AsyncFunction]",ml="[object Function]",yl="[object GeneratorFunction]",hl="[object Proxy]";function bl(e){if(!gr(e))return!1;var t=me(e);return t==ml||t==yl||t==fl||t==hl}var vl=bl,wl=j["__core-js_shared__"],He=wl,Wt=function(){var e=/[^.]+$/.exec(He&&He.keys&&He.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function kl(e){return!!Wt&&Wt in e}var Il=kl,Al=Function.prototype,Sl=Al.toString;function Cl(e){if(e!=null){try{return Sl.call(e)}catch{}try{return e+""}catch{}}return""}var F=Cl,xl=/[\\^$.*+?()[\]{}|]/g,El=/^\[object .+?Constructor\]$/,Ml=Function.prototype,$l=Object.prototype,jl=Ml.toString,_l=$l.hasOwnProperty,Tl=RegExp("^"+jl.call(_l).replace(xl,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ll(e){if(!gr(e)||Il(e))return!1;var t=vl(e)?Tl:El;return t.test(F(e))}var Pl=Ll;function Nl(e,t){return e?.[t]}var Ol=Nl;function Dl(e,t){var r=Ol(e,t);return Pl(r)?r:void 0}var Y=Dl,zl=Y(j,"WeakMap"),Ze=zl;function Rl(e,t){return e===t||e!==e&&t!==t}var Fl=Rl,Vl=9007199254740991;function Ul(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Vl}var Bl=Ul;var Mc=Object.prototype;var Gl="[object Arguments]";function ql(e){return Xe(e)&&me(e)==Gl}var Jt=ql,pr=Object.prototype,Hl=pr.hasOwnProperty,Ql=pr.propertyIsEnumerable,$c=Jt(function(){return arguments}())?Jt:function(e){return Xe(e)&&Hl.call(e,"callee")&&!Ql.call(e,"callee")};var fr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Xt=fr&&typeof module=="object"&&module&&!module.nodeType&&module,Zl=Xt&&Xt.exports===fr,er=Zl?j.Buffer:void 0,jc=er?er.isBuffer:void 0;var Kl="[object Arguments]",Yl="[object Array]",Wl="[object Boolean]",Jl="[object Date]",Xl="[object Error]",es="[object Function]",ts="[object Map]",rs="[object Number]",is="[object Object]",ns="[object RegExp]",as="[object Set]",os="[object String]",ls="[object WeakMap]",ss="[object ArrayBuffer]",us="[object DataView]",cs="[object Float32Array]",ds="[object Float64Array]",gs="[object Int8Array]",ps="[object Int16Array]",fs="[object Int32Array]",ms="[object Uint8Array]",ys="[object Uint8ClampedArray]",hs="[object Uint16Array]",bs="[object Uint32Array]",A={};A[cs]=A[ds]=A[gs]=A[ps]=A[fs]=A[ms]=A[ys]=A[hs]=A[bs]=!0;A[Kl]=A[Yl]=A[ss]=A[Wl]=A[us]=A[Jl]=A[Xl]=A[es]=A[ts]=A[rs]=A[is]=A[ns]=A[as]=A[os]=A[ls]=!1;function vs(e){return Xe(e)&&Bl(e.length)&&!!A[me(e)]}var ws=vs;function ks(e){return function(t){return e(t)}}var Is=ks,mr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ge=mr&&typeof module=="object"&&module&&!module.nodeType&&module,As=ge&&ge.exports===mr,Qe=As&&cr.process,Ss=function(){try{var e=ge&&ge.require&&ge.require("util").types;return e||Qe&&Qe.binding&&Qe.binding("util")}catch{}}(),tr=Ss,rr=tr&&tr.isTypedArray,_c=rr?Is(rr):ws;var Cs=Object.prototype,Tc=Cs.hasOwnProperty;function xs(e,t){return function(r){return e(t(r))}}var Es=xs,Lc=Es(Object.keys,Object);var Ms=Object.prototype,Pc=Ms.hasOwnProperty;var $s=Y(Object,"create"),pe=$s;function js(){this.__data__=pe?pe(null):{},this.size=0}var _s=js;function Ts(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ls=Ts,Ps="__lodash_hash_undefined__",Ns=Object.prototype,Os=Ns.hasOwnProperty;function Ds(e){var t=this.__data__;if(pe){var r=t[e];return r===Ps?void 0:r}return Os.call(t,e)?t[e]:void 0}var zs=Ds,Rs=Object.prototype,Fs=Rs.hasOwnProperty;function Vs(e){var t=this.__data__;return pe?t[e]!==void 0:Fs.call(t,e)}var Us=Vs,Bs="__lodash_hash_undefined__";function Gs(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=pe&&t===void 0?Bs:t,this}var qs=Gs;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=_s;W.prototype.delete=Ls;W.prototype.get=zs;W.prototype.has=Us;W.prototype.set=qs;var ir=W;function Hs(){this.__data__=[],this.size=0}var Qs=Hs;function Zs(e,t){for(var r=e.length;r--;)if(Fl(e[r][0],t))return r;return-1}var Ie=Zs,Ks=Array.prototype,Ys=Ks.splice;function Ws(e){var t=this.__data__,r=Ie(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ys.call(t,r,1),--this.size,!0}var Js=Ws;function Xs(e){var t=this.__data__,r=Ie(t,e);return r<0?void 0:t[r][1]}var eu=Xs;function tu(e){return Ie(this.__data__,e)>-1}var ru=tu;function iu(e,t){var r=this.__data__,i=Ie(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var nu=iu;function J(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])}}J.prototype.clear=Qs;J.prototype.delete=Js;J.prototype.get=eu;J.prototype.has=ru;J.prototype.set=nu;var Ae=J,au=Y(j,"Map"),fe=au;function ou(){this.size=0,this.__data__={hash:new ir,map:new(fe||Ae),string:new ir}}var lu=ou;function su(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var uu=su;function cu(e,t){var r=e.__data__;return uu(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Se=cu;function du(e){var t=Se(this,e).delete(e);return this.size-=t?1:0,t}var gu=du;function pu(e){return Se(this,e).get(e)}var fu=pu;function mu(e){return Se(this,e).has(e)}var yu=mu;function hu(e,t){var r=Se(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var bu=hu;function X(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])}}X.prototype.clear=lu;X.prototype.delete=gu;X.prototype.get=fu;X.prototype.has=yu;X.prototype.set=bu;var yr=X;function vu(){this.__data__=new Ae,this.size=0}var wu=vu;function ku(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Iu=ku;function Au(e){return this.__data__.get(e)}var Su=Au;function Cu(e){return this.__data__.has(e)}var xu=Cu,Eu=200;function Mu(e,t){var r=this.__data__;if(r instanceof Ae){var i=r.__data__;if(!fe||i.length<Eu-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new yr(i)}return r.set(e,t),this.size=r.size,this}var $u=Mu;function ye(e){var t=this.__data__=new Ae(e);this.size=t.size}ye.prototype.clear=wu;ye.prototype.delete=Iu;ye.prototype.get=Su;ye.prototype.has=xu;ye.prototype.set=$u;var ju=Object.prototype,Nc=ju.propertyIsEnumerable;var _u=Y(j,"DataView"),Ke=_u,Tu=Y(j,"Promise"),Ye=Tu,Lu=Y(j,"Set"),We=Lu,nr="[object Map]",Pu="[object Object]",ar="[object Promise]",or="[object Set]",lr="[object WeakMap]",sr="[object DataView]",Nu=F(Ke),Ou=F(fe),Du=F(Ye),zu=F(We),Ru=F(Ze),Z=me;(Ke&&Z(new Ke(new ArrayBuffer(1)))!=sr||fe&&Z(new fe)!=nr||Ye&&Z(Ye.resolve())!=ar||We&&Z(new We)!=or||Ze&&Z(new Ze)!=lr)&&(Z=function(e){var t=me(e),r=t==Pu?e.constructor:void 0,i=r?F(r):"";if(i)switch(i){case Nu:return sr;case Ou:return nr;case Du:return ar;case zu:return or;case Ru:return lr}return t});var Oc=j.Uint8Array;var Fu="__lodash_hash_undefined__";function Vu(e){return this.__data__.set(e,Fu),this}var Uu=Vu;function Bu(e){return this.__data__.has(e)}var Gu=Bu;function Je(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new yr;++t<r;)this.add(e[t])}Je.prototype.add=Je.prototype.push=Uu;Je.prototype.has=Gu;var ur=K?K.prototype:void 0,Dc=ur?ur.valueOf:void 0;var qu=Object.prototype,zc=qu.hasOwnProperty;var Hu=Object.prototype,Rc=Hu.hasOwnProperty;var Fc=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Vc=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Uc=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Qu(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 Ce(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 Qu(i,t)}function Zu(e){return e==null?[]:Array.isArray(e)?e:[e]}var et=Zu;function Ku(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function Yu(e){return typeof e?.translate=="function"}function hr(e,t,r){return e&&Ku(e)&&Yu(e.i18n)?e.i18n.translate(t):r}var N="@imgly/plugin-ai-video-generation-web",Wu=["ly.img.createVideo","ly.img.animateBetweenImages"];var xe="createVideo",br=`ly.img.${xe}`,Ju=`ly.img.plugin-ai-video-generation-web.quickAction.${xe}`,vr=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${xe}`;function Xu(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 ec=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),P(e,{en:{[`${vr}`]:"Create Video from Reference...",[`${vr}.description`]:"Create a video from the selected image"}}),{id:br,type:"quick",kind:"image",label:`${Ju}`,enable:zt(),scopes:[],render:({builder:r,engine:i,close:n,providerId:o})=>{r.Button(`${br}.button`,{label:Xu(o),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",isDisabled:!_t(e,o),onClick:async()=>{try{let[a]=i.block.findAllSelected(),s=await Ce(a,i,{throwErrorIfSvg:!0});e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",o),Tt(e,o,s),e.ui.openPanel("ly.img.ai.video-generation"),n()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),wr=ec;var Ee="animateBetweenImages",kr=`ly.img.${Ee}`,tc=`ly.img.plugin-ai-video-generation-web.quickAction.${Ee}`,Ir=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${Ee}`;function rc(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${Ee}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var ic=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),P(e,{en:{[`${Ir}`]:"Animate Between Images...",[`${Ir}.description`]:"Create a video transitioning between two images"}}),{id:kr,type:"quick",kind:"image",label:`${tc}`,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(`${kr}.button`,{label:rc(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=>Ce(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"})}}})}}),Ar=ic;var O="ly.img.ai.video-generation";function nc(e){return{async initialize({cesdk:t}){if(t==null)return;Ot(t,N,"1.84.0-rc.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=`${N}.action.label`;P(t,{en:{[`panel.${O}`]:"Video Generation",[`${O}.dock.label`]:"AI Video",[r]:"Generate Video","ly.img.plugin-ai-video-generation-web.defaults.fromText.label":"Text to Video","ly.img.plugin-ai-video-generation-web.defaults.fromImage.label":"Image to 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."}}),ac(e);let n=ce.get().register({type:"plugin",sceneMode:"Video",id:N,pluginId:N,label:hr(t,r,"Generate Video"),labelKey:r,meta:{panelId:O},execute:()=>{t.ui.isPanelOpen(O)?t.ui.closePanel(O):t.ui.openPanel(O)}}),o=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,s=await Promise.all(et(o).map(d=>d({cesdk:t}))),c=await Promise.all(et(a).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let u=await Kt("video",{fromText:s,fromImage:c},{cesdk:t},e);ce.get().register(wr({cesdk:t})),ce.get().register(Ar({cesdk:t})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(O,u.panel.builderRenderFunction),Dt({cesdk:t,panelId:O})):n()}}}function ac(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 Sr=nc;var oc=e=>({name:N,version:"1.84.0-rc.0",...Sr(e)}),ud=oc;export{Wu as DEFAULT_VIDEO_QUICK_ACTION_ORDER,ud as default};
77
+ `,"+")}`}}async function Po(e,t,r){return Promise.resolve({kind:"video",url:"https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4"})}async function No(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=te(n,"translation");else if("type"in e&&typeof e.type=="string"){let a=e.type;o=te(n,a)}else"customPrompt"in e?o=te(n,"custom"):o=te(n,"improved");else o=te(n,"generated");return Oo(o,r.abortSignal)}async function*Oo(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 Zt(100)}return{kind:"text",text:e}}function te(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 Do(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:zo(220,i),duration:i,thumbnailUrl:void 0}}function zo(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 Ro(i,44100)}function Ro(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,b)=>{for(let y=0;y<b.length;y++)u.setUint8(f+y,b.charCodeAt(y))};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 b=Math.max(-1,Math.min(1,e[f])),y=Math.round(b*32767);u.setInt16(p,y,!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 Zt(e){return new Promise(t=>{setTimeout(t,e)})}var Fo=_o,Vo="USER_CANCEL";function Uo(e){return async(t,r)=>{if(r?.abortSignal?.aborted)return{status:"aborted"};let i=Ta([...e.provider.output.middleware??[],...r?.middlewares??[],Pa({enable:r?.debug}),Fo({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,error:a,middlewareOptions:o}:a==null?{status:"error",message:"No output generated",middlewareOptions:o}:za(a)?{status:"success",type:"async",output:a,middlewareOptions:o}:{status:"success",type:"sync",output:a,middlewareOptions:o}}catch(a){return Be(a)?{status:"aborted",message:a.message,middlewareOptions:o}:a===Vo?{status:"aborted",message:a,middlewareOptions:o}:{status:"error",message:a instanceof Error?a.message:String(a),error:a,middlewareOptions:o}}}}var Bo=Uo;async function Go(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=ce.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=xo(o),s=Mo(o,a);o.options.historyAssetSourceId=a,o.options.historyAssetLibraryEntryId=s;let c=Bo({provider:t,cesdk:r.cesdk,engine:r.cesdk.engine}),l=await So(o,c);Ra(r.cesdk,"@imgly/plugin-ai-generation",jo);let u={provider:t,panel:{builderRenderFunction:l},history:{assetSourceId:a,assetLibraryEntryId:s},generate:c};return _a.get().register(u),u}var Le=Go;function qo(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 Er(n,r,i);return r.engine.asset.addSource(o),o.id}var Ho=qo;function Ve(e,t){return[`ly.img.plugin-ai-${e}-generation-web.${t}`,`ly.img.plugin-ai-generation-web.${t}`,`ly.img.plugin-ai-${e}-generation-web.defaults.${t}`,`ly.img.plugin-ai-generation-web.defaults.${t}`]}async function Qo(e,t,r,i){let{cesdk:n}=r;P(n,{en:{"ly.img.plugin-ai-generation-web.generate":"Generate","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 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=Ko({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=Zo({kind:e,prefix:`ly.img.ai.${e}-generation`,initializedFromTextProviders:l,initializedFromImageProviders:u,cesdk:n})}i.debug&&console.groupEnd();let s=Ho({kind:e,cesdk:r.cesdk,historAssetSourceIds:a.map(l=>l.history?.assetSourceId).filter(Ma)}),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 Zo({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),b=[];f.value==="fromText"?b.push(...r):f.value==="fromImage"?b.push(...i):b.push(...r,...i);let y=r.map(({provider:k,panel:C})=>({id:k.id,label:Re(k),builderRenderFunction:C?.builderRenderFunction})),v=i.map(({provider:k,panel:C})=>({id:k.id,label:Re(k),builderRenderFunction:C?.builderRenderFunction})),S=a.experimental.global(`${t}.selectedProvider.fromText`,y[0]?.id),x=a.experimental.global(`${t}.selectedProvider.fromImage`,v[0]?.id),w=y.find(k=>k.id===S.value)??y[0],E=v.find(k=>k.id===x.value)??v[0],he=f.value==="fromText"?S:f.value==="fromImage"?x:void 0,D=f.value==="fromText"?w:f.value==="fromImage"?E:void 0,be=`ly.img.plugin-ai-${e}-generation-web.providerSelect`,Me=n.feature.isEnabled(be,{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 _=d&&g&&r.length>0&&i.length>0,h=o&&_,M=b.length>1&&Me;if((h||M)&&s.Section(`${t}.providerSelection.section`,{children:()=>{if(h){let k=[{id:"fromText",isEnabled:d,providers:r},{id:"fromImage",isEnabled:g,providers:i}].filter(({isEnabled:C,providers:z})=>C&&z.length>0).map(({id:C,providers:z})=>({id:C,label:Ve(e,`${C}.label`),icon:f.value!==C&&Yo(z,a)?"@imgly/LoadingSpinner":void 0}));s.Tabs(`${t}.fromType.tabs`,{tabs:k,value:f.value??k[0].id,setValue:C=>{f.setValue(C)}})}if(M){let k=f.value==="fromText"?y:f.value==="fromImage"?v:[...y,...v];he!=null&&D!=null&&s.Select(`${t}.providerSelect.select`,{inputLabel:Ve(e,"providerSelect.label"),values:k,value:D,setValue:C=>{he.setValue(C.id)}})}}}),b.length>1)D?.builderRenderFunction?.(a);else{let k=b[0];k&&k.panel?.builderRenderFunction?.(a)}}}function Ko({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:Re(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&&o.Section(`${t}.providerSelection.section`,{children:()=>{o.Select(`${t}.providerSelect.select`,{inputLabel:Ve(e,"providerSelect.label"),values:l,value:d,setValue:p=>{u.setValue(p.id)}})}}),d?.builderRenderFunction?.(n)}}function Yo(e,t){return e.length===0?!1:e.some(({provider:r})=>r.id==null?!1:t.experimental.global(qe(r.id),!1).value)}var Kt=Qo;var Ac=5*60*1e3;var Wo=typeof global=="object"&&global&&global.Object===Object&&global,cr=Wo,Jo=typeof self=="object"&&self&&self.Object===Object&&self,Xo=cr||Jo||Function("return this")(),j=Xo,el=j.Symbol,K=el,dr=Object.prototype,tl=dr.hasOwnProperty,rl=dr.toString,de=K?K.toStringTag:void 0;function il(e){var t=tl.call(e,de),r=e[de];try{e[de]=void 0;var i=!0}catch{}var n=rl.call(e);return i&&(t?e[de]=r:delete e[de]),n}var nl=il,al=Object.prototype,ol=al.toString;function ll(e){return ol.call(e)}var sl=ll,ul="[object Null]",cl="[object Undefined]",Yt=K?K.toStringTag:void 0;function dl(e){return e==null?e===void 0?cl:ul:Yt&&Yt in Object(e)?nl(e):sl(e)}var me=dl;function gl(e){return e!=null&&typeof e=="object"}var Xe=gl,Ec=Array.isArray;function pl(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var gr=pl,fl="[object AsyncFunction]",ml="[object Function]",yl="[object GeneratorFunction]",hl="[object Proxy]";function bl(e){if(!gr(e))return!1;var t=me(e);return t==ml||t==yl||t==fl||t==hl}var vl=bl,wl=j["__core-js_shared__"],He=wl,Wt=function(){var e=/[^.]+$/.exec(He&&He.keys&&He.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function kl(e){return!!Wt&&Wt in e}var Il=kl,Al=Function.prototype,Sl=Al.toString;function Cl(e){if(e!=null){try{return Sl.call(e)}catch{}try{return e+""}catch{}}return""}var F=Cl,xl=/[\\^$.*+?()[\]{}|]/g,El=/^\[object .+?Constructor\]$/,Ml=Function.prototype,$l=Object.prototype,jl=Ml.toString,_l=$l.hasOwnProperty,Tl=RegExp("^"+jl.call(_l).replace(xl,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ll(e){if(!gr(e)||Il(e))return!1;var t=vl(e)?Tl:El;return t.test(F(e))}var Pl=Ll;function Nl(e,t){return e?.[t]}var Ol=Nl;function Dl(e,t){var r=Ol(e,t);return Pl(r)?r:void 0}var Y=Dl,zl=Y(j,"WeakMap"),Ze=zl;function Rl(e,t){return e===t||e!==e&&t!==t}var Fl=Rl,Vl=9007199254740991;function Ul(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Vl}var Bl=Ul;var Mc=Object.prototype;var Gl="[object Arguments]";function ql(e){return Xe(e)&&me(e)==Gl}var Jt=ql,pr=Object.prototype,Hl=pr.hasOwnProperty,Ql=pr.propertyIsEnumerable,$c=Jt(function(){return arguments}())?Jt:function(e){return Xe(e)&&Hl.call(e,"callee")&&!Ql.call(e,"callee")};var fr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Xt=fr&&typeof module=="object"&&module&&!module.nodeType&&module,Zl=Xt&&Xt.exports===fr,er=Zl?j.Buffer:void 0,jc=er?er.isBuffer:void 0;var Kl="[object Arguments]",Yl="[object Array]",Wl="[object Boolean]",Jl="[object Date]",Xl="[object Error]",es="[object Function]",ts="[object Map]",rs="[object Number]",is="[object Object]",ns="[object RegExp]",as="[object Set]",os="[object String]",ls="[object WeakMap]",ss="[object ArrayBuffer]",us="[object DataView]",cs="[object Float32Array]",ds="[object Float64Array]",gs="[object Int8Array]",ps="[object Int16Array]",fs="[object Int32Array]",ms="[object Uint8Array]",ys="[object Uint8ClampedArray]",hs="[object Uint16Array]",bs="[object Uint32Array]",A={};A[cs]=A[ds]=A[gs]=A[ps]=A[fs]=A[ms]=A[ys]=A[hs]=A[bs]=!0;A[Kl]=A[Yl]=A[ss]=A[Wl]=A[us]=A[Jl]=A[Xl]=A[es]=A[ts]=A[rs]=A[is]=A[ns]=A[as]=A[os]=A[ls]=!1;function vs(e){return Xe(e)&&Bl(e.length)&&!!A[me(e)]}var ws=vs;function ks(e){return function(t){return e(t)}}var Is=ks,mr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ge=mr&&typeof module=="object"&&module&&!module.nodeType&&module,As=ge&&ge.exports===mr,Qe=As&&cr.process,Ss=function(){try{var e=ge&&ge.require&&ge.require("util").types;return e||Qe&&Qe.binding&&Qe.binding("util")}catch{}}(),tr=Ss,rr=tr&&tr.isTypedArray,_c=rr?Is(rr):ws;var Cs=Object.prototype,Tc=Cs.hasOwnProperty;function xs(e,t){return function(r){return e(t(r))}}var Es=xs,Lc=Es(Object.keys,Object);var Ms=Object.prototype,Pc=Ms.hasOwnProperty;var $s=Y(Object,"create"),pe=$s;function js(){this.__data__=pe?pe(null):{},this.size=0}var _s=js;function Ts(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ls=Ts,Ps="__lodash_hash_undefined__",Ns=Object.prototype,Os=Ns.hasOwnProperty;function Ds(e){var t=this.__data__;if(pe){var r=t[e];return r===Ps?void 0:r}return Os.call(t,e)?t[e]:void 0}var zs=Ds,Rs=Object.prototype,Fs=Rs.hasOwnProperty;function Vs(e){var t=this.__data__;return pe?t[e]!==void 0:Fs.call(t,e)}var Us=Vs,Bs="__lodash_hash_undefined__";function Gs(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=pe&&t===void 0?Bs:t,this}var qs=Gs;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=_s;W.prototype.delete=Ls;W.prototype.get=zs;W.prototype.has=Us;W.prototype.set=qs;var ir=W;function Hs(){this.__data__=[],this.size=0}var Qs=Hs;function Zs(e,t){for(var r=e.length;r--;)if(Fl(e[r][0],t))return r;return-1}var Ie=Zs,Ks=Array.prototype,Ys=Ks.splice;function Ws(e){var t=this.__data__,r=Ie(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ys.call(t,r,1),--this.size,!0}var Js=Ws;function Xs(e){var t=this.__data__,r=Ie(t,e);return r<0?void 0:t[r][1]}var eu=Xs;function tu(e){return Ie(this.__data__,e)>-1}var ru=tu;function iu(e,t){var r=this.__data__,i=Ie(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var nu=iu;function J(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])}}J.prototype.clear=Qs;J.prototype.delete=Js;J.prototype.get=eu;J.prototype.has=ru;J.prototype.set=nu;var Ae=J,au=Y(j,"Map"),fe=au;function ou(){this.size=0,this.__data__={hash:new ir,map:new(fe||Ae),string:new ir}}var lu=ou;function su(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var uu=su;function cu(e,t){var r=e.__data__;return uu(t)?r[typeof t=="string"?"string":"hash"]:r.map}var Se=cu;function du(e){var t=Se(this,e).delete(e);return this.size-=t?1:0,t}var gu=du;function pu(e){return Se(this,e).get(e)}var fu=pu;function mu(e){return Se(this,e).has(e)}var yu=mu;function hu(e,t){var r=Se(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var bu=hu;function X(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])}}X.prototype.clear=lu;X.prototype.delete=gu;X.prototype.get=fu;X.prototype.has=yu;X.prototype.set=bu;var yr=X;function vu(){this.__data__=new Ae,this.size=0}var wu=vu;function ku(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Iu=ku;function Au(e){return this.__data__.get(e)}var Su=Au;function Cu(e){return this.__data__.has(e)}var xu=Cu,Eu=200;function Mu(e,t){var r=this.__data__;if(r instanceof Ae){var i=r.__data__;if(!fe||i.length<Eu-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new yr(i)}return r.set(e,t),this.size=r.size,this}var $u=Mu;function ye(e){var t=this.__data__=new Ae(e);this.size=t.size}ye.prototype.clear=wu;ye.prototype.delete=Iu;ye.prototype.get=Su;ye.prototype.has=xu;ye.prototype.set=$u;var ju=Object.prototype,Nc=ju.propertyIsEnumerable;var _u=Y(j,"DataView"),Ke=_u,Tu=Y(j,"Promise"),Ye=Tu,Lu=Y(j,"Set"),We=Lu,nr="[object Map]",Pu="[object Object]",ar="[object Promise]",or="[object Set]",lr="[object WeakMap]",sr="[object DataView]",Nu=F(Ke),Ou=F(fe),Du=F(Ye),zu=F(We),Ru=F(Ze),Z=me;(Ke&&Z(new Ke(new ArrayBuffer(1)))!=sr||fe&&Z(new fe)!=nr||Ye&&Z(Ye.resolve())!=ar||We&&Z(new We)!=or||Ze&&Z(new Ze)!=lr)&&(Z=function(e){var t=me(e),r=t==Pu?e.constructor:void 0,i=r?F(r):"";if(i)switch(i){case Nu:return sr;case Ou:return nr;case Du:return ar;case zu:return or;case Ru:return lr}return t});var Oc=j.Uint8Array;var Fu="__lodash_hash_undefined__";function Vu(e){return this.__data__.set(e,Fu),this}var Uu=Vu;function Bu(e){return this.__data__.has(e)}var Gu=Bu;function Je(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new yr;++t<r;)this.add(e[t])}Je.prototype.add=Je.prototype.push=Uu;Je.prototype.has=Gu;var ur=K?K.prototype:void 0,Dc=ur?ur.valueOf:void 0;var qu=Object.prototype,zc=qu.hasOwnProperty;var Hu=Object.prototype,Rc=Hu.hasOwnProperty;var Fc=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Vc=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Uc=new RegExp(/[A-Fa-f0-9]{2}/,"g");async function Qu(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 Ce(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 Qu(i,t)}function Zu(e){return e==null?[]:Array.isArray(e)?e:[e]}var et=Zu;function Ku(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function Yu(e){return typeof e?.translate=="function"}function hr(e,t,r){return e&&Ku(e)&&Yu(e.i18n)?e.i18n.translate(t):r}var N="@imgly/plugin-ai-video-generation-web",Wu=["ly.img.createVideo","ly.img.animateBetweenImages"];var xe="createVideo",br=`ly.img.${xe}`,Ju=`ly.img.plugin-ai-video-generation-web.quickAction.${xe}`,vr=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${xe}`;function Xu(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 ec=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.createVideo",!0),P(e,{en:{[`${vr}`]:"Create Video from Reference...",[`${vr}.description`]:"Create a video from the selected image"}}),{id:br,type:"quick",kind:"image",label:`${Ju}`,enable:zt(),scopes:[],render:({builder:r,engine:i,close:n,providerId:o})=>{r.Button(`${br}.button`,{label:Xu(o),icon:"@imgly/plugin-ai-generation/video",labelAlignment:"left",variant:"plain",isDisabled:!_t(e,o),onClick:async()=>{try{let[a]=i.block.findAllSelected(),s=await Ce(a,i,{throwErrorIfSvg:!0});e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.fromType","fromImage"),e.ui.experimental.setGlobalStateValue("ly.img.ai.video-generation.selectedProvider.fromImage",o),Tt(e,o,s),e.ui.openPanel("ly.img.ai.video-generation"),n()}catch(a){console.error("Error opening video generation panel:",a)}}})}}),wr=ec;var Ee="animateBetweenImages",kr=`ly.img.${Ee}`,tc=`ly.img.plugin-ai-video-generation-web.quickAction.${Ee}`,Ir=`ly.img.plugin-ai-video-generation-web.defaults.quickAction.${Ee}`;function rc(e,t){let r="ly.img.plugin-ai-video-generation-web",i=`quickAction.${Ee}`,n=t?`${i}.${t}`:i;return[`${r}.${e}.${n}`,`${r}.${n}`,`${r}.${e}.defaults.${n}`,`${r}.defaults.${n}`]}var ic=({cesdk:e})=>(e.feature.enable("ly.img.plugin-ai-image-generation-web.quickAction.animateBetweenImages",!0),P(e,{en:{[`${Ir}`]:"Animate Between Images...",[`${Ir}.description`]:"Create a video transitioning between two images"}}),{id:kr,type:"quick",kind:"image",label:`${tc}`,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(`${kr}.button`,{label:rc(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=>Ce(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"})}}})}}),Ar=ic;var O="ly.img.ai.video-generation";function nc(e){return{async initialize({cesdk:t}){if(t==null)return;Ot(t,N,"1.84.0-rc.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=`${N}.action.label`;P(t,{en:{[`panel.${O}`]:"Video Generation",[`${O}.dock.label`]:"AI Video",[r]:"Generate Video","ly.img.plugin-ai-video-generation-web.defaults.fromText.label":"Text to Video","ly.img.plugin-ai-video-generation-web.defaults.fromImage.label":"Image to 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."}}),ac(e);let n=ce.get().register({type:"plugin",sceneMode:"Video",id:N,pluginId:N,label:hr(t,r,"Generate Video"),labelKey:r,meta:{panelId:O},execute:()=>{t.ui.isPanelOpen(O)?t.ui.closePanel(O):t.ui.openPanel(O)}}),o=e.providers?.text2video??e.text2video,a=e.providers?.image2video??e.image2video,s=await Promise.all(et(o).map(d=>d({cesdk:t}))),c=await Promise.all(et(a).map(d=>d({cesdk:t})));if(!(s.length>0||c.length>0)){n();return}let u=await Kt("video",{fromText:s,fromImage:c},{cesdk:t},e);ce.get().register(wr({cesdk:t})),ce.get().register(Ar({cesdk:t})),u.panel.builderRenderFunction!=null?(t.ui.registerPanel(O,u.panel.builderRenderFunction),Dt({cesdk:t,panelId:O})):n()}}}function ac(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 Sr=nc;var oc=e=>({name:N,version:"1.84.0-rc.1",...Sr(e)}),ud=oc;export{Wu as DEFAULT_VIDEO_QUICK_ACTION_ORDER,ud as default};
78
78
  /*! Bundled license information:
79
79
 
80
80
  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": "1.84.0-rc.0",
3
+ "version": "1.84.0-rc.1",
4
4
  "description": "AI video generation plugin for the CE.SDK editor",
5
5
  "keywords": [
6
6
  "CE.SDK",
@@ -56,7 +56,7 @@
56
56
  "bin/"
57
57
  ],
58
58
  "dependencies": {
59
- "@imgly/plugin-ai-generation-web": "1.84.0-rc.0"
59
+ "@imgly/plugin-ai-generation-web": "1.84.0-rc.1"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@fal-ai/client": "1.9.0",
@@ -74,7 +74,7 @@
74
74
  "vitest": "^3.2.4"
75
75
  },
76
76
  "peerDependencies": {
77
- "@cesdk/cesdk-js": "^1.84.0-rc.0"
77
+ "@cesdk/cesdk-js": "^1.84.0-rc.1"
78
78
  },
79
79
  "scripts": {
80
80
  "start": "npm run watch",