@imgly/plugin-ai-audio-generation-web 1.74.0-rc.0 → 1.74.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gateway/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Me=typeof global=="object"&&global&&global.Object===Object&&global,he=Me,Te=typeof self=="object"&&self&&self.Object===Object&&self,$e=he||Te||Function("return this")(),v=$e,je=v.Symbol,A=je,be=Object.prototype,Le=be.hasOwnProperty,Ne=be.toString,T=A?A.toStringTag:void 0;function De(e){var t=Le.call(e,T),i=e[T];try{e[T]=void 0;var r=!0}catch{}var n=Ne.call(e);return r&&(t?e[T]=i:delete e[T]),n}var Pe=De,Oe=Object.prototype,ze=Oe.toString;function _e(e){return ze.call(e)}var Re=_e,Ue="[object Null]",Fe="[object Undefined]",te=A?A.toStringTag:void 0;function Be(e){return e==null?e===void 0?Fe:Ue:te&&te in Object(e)?Pe(e):Re(e)}var N=Be;function Ve(e){return e!=null&&typeof e=="object"}var H=Ve,Or=Array.isArray;function Ge(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ve=Ge,qe="[object AsyncFunction]",Ke="[object Function]",Ye="[object GeneratorFunction]",Qe="[object Proxy]";function We(e){if(!ve(e))return!1;var t=N(e);return t==Ke||t==Ye||t==qe||t==Qe}var Ze=We,He=v["__core-js_shared__"],V=He,ie=function(){var e=/[^.]+$/.exec(V&&V.keys&&V.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Je(e){return!!ie&&ie in e}var Xe=Je,et=Function.prototype,tt=et.toString;function it(e){if(e!=null){try{return tt.call(e)}catch{}try{return e+""}catch{}}return""}var x=it,rt=/[\\^$.*+?()[\]{}|]/g,nt=/^\[object .+?Constructor\]$/,ot=Function.prototype,at=Object.prototype,lt=ot.toString,st=at.hasOwnProperty,ut=RegExp("^"+lt.call(st).replace(rt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function dt(e){if(!ve(e)||Xe(e))return!1;var t=Ze(e)?ut:nt;return t.test(x(e))}var ct=dt;function pt(e,t){return e?.[t]}var gt=pt;function mt(e,t){var i=gt(e,t);return ct(i)?i:void 0}var S=mt,ft=S(v,"WeakMap"),K=ft;function yt(e,t){return e===t||e!==e&&t!==t}var ht=yt,bt=9007199254740991;function vt(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=bt}var wt=vt,zr=Object.prototype,kt="[object Arguments]";function xt(e){return H(e)&&N(e)==kt}var re=xt,we=Object.prototype,It=we.hasOwnProperty,At=we.propertyIsEnumerable,_r=re(function(){return arguments}())?re:function(e){return H(e)&&It.call(e,"callee")&&!At.call(e,"callee")},ke=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ne=ke&&typeof module=="object"&&module&&!module.nodeType&&module,St=ne&&ne.exports===ke,oe=St?v.Buffer:void 0,Rr=oe?oe.isBuffer:void 0,Ct="[object Arguments]",Et="[object Array]",Mt="[object Boolean]",Tt="[object Date]",$t="[object Error]",jt="[object Function]",Lt="[object Map]",Nt="[object Number]",Dt="[object Object]",Pt="[object RegExp]",Ot="[object Set]",zt="[object String]",_t="[object WeakMap]",Rt="[object ArrayBuffer]",Ut="[object DataView]",Ft="[object Float32Array]",Bt="[object Float64Array]",Vt="[object Int8Array]",Gt="[object Int16Array]",qt="[object Int32Array]",Kt="[object Uint8Array]",Yt="[object Uint8ClampedArray]",Qt="[object Uint16Array]",Wt="[object Uint32Array]",g={};g[Ft]=g[Bt]=g[Vt]=g[Gt]=g[qt]=g[Kt]=g[Yt]=g[Qt]=g[Wt]=!0;g[Ct]=g[Et]=g[Rt]=g[Mt]=g[Ut]=g[Tt]=g[$t]=g[jt]=g[Lt]=g[Nt]=g[Dt]=g[Pt]=g[Ot]=g[zt]=g[_t]=!1;function Zt(e){return H(e)&&wt(e.length)&&!!g[N(e)]}var Ht=Zt;function Jt(e){return function(t){return e(t)}}var Xt=Jt,xe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$=xe&&typeof module=="object"&&module&&!module.nodeType&&module,ei=$&&$.exports===xe,G=ei&&he.process,ti=function(){try{var e=$&&$.require&&$.require("util").types;return e||G&&G.binding&&G.binding("util")}catch{}}(),ae=ti,le=ae&&ae.isTypedArray,Ur=le?Xt(le):Ht,ii=Object.prototype,Fr=ii.hasOwnProperty;function ri(e,t){return function(i){return e(t(i))}}var ni=ri,Br=ni(Object.keys,Object),oi=Object.prototype,Vr=oi.hasOwnProperty,ai=S(Object,"create"),j=ai;function li(){this.__data__=j?j(null):{},this.size=0}var si=li;function ui(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var di=ui,ci="__lodash_hash_undefined__",pi=Object.prototype,gi=pi.hasOwnProperty;function mi(e){var t=this.__data__;if(j){var i=t[e];return i===ci?void 0:i}return gi.call(t,e)?t[e]:void 0}var fi=mi,yi=Object.prototype,hi=yi.hasOwnProperty;function bi(e){var t=this.__data__;return j?t[e]!==void 0:hi.call(t,e)}var vi=bi,wi="__lodash_hash_undefined__";function ki(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=j&&t===void 0?wi:t,this}var xi=ki;function C(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}C.prototype.clear=si;C.prototype.delete=di;C.prototype.get=fi;C.prototype.has=vi;C.prototype.set=xi;var se=C;function Ii(){this.__data__=[],this.size=0}var Ai=Ii;function Si(e,t){for(var i=e.length;i--;)if(ht(e[i][0],t))return i;return-1}var O=Si,Ci=Array.prototype,Ei=Ci.splice;function Mi(e){var t=this.__data__,i=O(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():Ei.call(t,i,1),--this.size,!0}var Ti=Mi;function $i(e){var t=this.__data__,i=O(t,e);return i<0?void 0:t[i][1]}var ji=$i;function Li(e){return O(this.__data__,e)>-1}var Ni=Li;function Di(e,t){var i=this.__data__,r=O(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var Pi=Di;function E(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}E.prototype.clear=Ai;E.prototype.delete=Ti;E.prototype.get=ji;E.prototype.has=Ni;E.prototype.set=Pi;var z=E,Oi=S(v,"Map"),L=Oi;function zi(){this.size=0,this.__data__={hash:new se,map:new(L||z),string:new se}}var _i=zi;function Ri(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ui=Ri;function Fi(e,t){var i=e.__data__;return Ui(t)?i[typeof t=="string"?"string":"hash"]:i.map}var _=Fi;function Bi(e){var t=_(this,e).delete(e);return this.size-=t?1:0,t}var Vi=Bi;function Gi(e){return _(this,e).get(e)}var qi=Gi;function Ki(e){return _(this,e).has(e)}var Yi=Ki;function Qi(e,t){var i=_(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Wi=Qi;function M(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}M.prototype.clear=_i;M.prototype.delete=Vi;M.prototype.get=qi;M.prototype.has=Yi;M.prototype.set=Wi;var Ie=M;function Zi(){this.__data__=new z,this.size=0}var Hi=Zi;function Ji(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var Xi=Ji;function er(e){return this.__data__.get(e)}var tr=er;function ir(e){return this.__data__.has(e)}var rr=ir,nr=200;function or(e,t){var i=this.__data__;if(i instanceof z){var r=i.__data__;if(!L||r.length<nr-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new Ie(r)}return i.set(e,t),this.size=i.size,this}var ar=or;function D(e){var t=this.__data__=new z(e);this.size=t.size}D.prototype.clear=Hi;D.prototype.delete=Xi;D.prototype.get=tr;D.prototype.has=rr;D.prototype.set=ar;var lr=Object.prototype,Gr=lr.propertyIsEnumerable,sr=S(v,"DataView"),Y=sr,ur=S(v,"Promise"),Q=ur,dr=S(v,"Set"),W=dr,ue="[object Map]",cr="[object Object]",de="[object Promise]",ce="[object Set]",pe="[object WeakMap]",ge="[object DataView]",pr=x(Y),gr=x(L),mr=x(Q),fr=x(W),yr=x(K),I=N;(Y&&I(new Y(new ArrayBuffer(1)))!=ge||L&&I(new L)!=ue||Q&&I(Q.resolve())!=de||W&&I(new W)!=ce||K&&I(new K)!=pe)&&(I=function(e){var t=N(e),i=t==cr?e.constructor:void 0,r=i?x(i):"";if(r)switch(r){case pr:return ge;case gr:return ue;case mr:return de;case fr:return ce;case yr:return pe}return t});var qr=v.Uint8Array,hr="__lodash_hash_undefined__";function br(e){return this.__data__.set(e,hr),this}var vr=br;function wr(e){return this.__data__.has(e)}var kr=wr;function Z(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new Ie;++t<i;)this.add(e[t])}Z.prototype.add=Z.prototype.push=vr;Z.prototype.has=kr;var me=A?A.prototype:void 0,Kr=me?me.valueOf:void 0,xr=Object.prototype,Yr=xr.hasOwnProperty,Ir=Object.prototype,Qr=Ir.hasOwnProperty,Wr=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Zr=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Hr=new RegExp(/[A-Fa-f0-9]{2}/,"g");function Ar(e,t){let i={...e};if(!t)return i;for(let[r,n]of Object.entries(t))n===!1||n===null||n===void 0?delete i[r]:n===!0?r in e||(i[r]=!0):i[r]=n;return i}var q="@imgly/plugin-ai-generation",Jr=`
|
|
2
2
|
<svg>
|
|
3
3
|
<symbol
|
|
4
4
|
fill="none"
|
|
@@ -59,9 +59,9 @@ var Ee=typeof global=="object"&&global&&global.Object===Object&&global,ye=Ee,Me=
|
|
|
59
59
|
|
|
60
60
|
</symbol>
|
|
61
61
|
</svg>
|
|
62
|
-
`;function
|
|
63
|
-
`);u=s.pop()??"";for(let d of s){let o=d.trim();if(!(o===""||o.startsWith(":"))){if(o.startsWith("event:")){l=o.slice(6).trim();continue}if(o.startsWith("data:")){let
|
|
64
|
-
`);n=s.pop()??"";for(let d of s){let o=d.trim();if(!(o===""||o.startsWith(":"))){if(o.startsWith("event:")){u=o.slice(6).trim();continue}if(o.startsWith("data:")){let
|
|
62
|
+
`;function Sr(e,t,i,r=3e5){let n=e.replace(/\/$/,""),u=null,l=null;async function c(){return u!=null&&Date.now()<u.expiresAt?u.value:(l!=null||(l=t().then(s=>(u={value:s,expiresAt:Date.now()+r},s)).finally(()=>{l=null})),l)}async function m(s,d){let o=async()=>{let a=await c();return fetch(s,{...d,headers:{...d.headers,Authorization:`Bearer ${a}`,...i??{}}})},p=await o();return p.status===401?(u=null,o()):p}return{async fetchSchema(s){let d=await m(`${n}/v1/models/schema?model=${encodeURIComponent(s)}`,{method:"GET",headers:{Accept:"application/json"}});if(!d.ok){let o=await d.text();throw new Error(`Gateway schema error: ${d.status} - ${o}`)}return await d.json()},async upload(s,d){let o=await m(`${n}/v1/uploads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content_type:d})});if(!o.ok){let f=await o.text();throw new Error(`Gateway upload error: ${o.status} - ${f}`)}let p=await o.json(),a=await fetch(p.upload_url,{method:"PUT",headers:{"Content-Type":d},body:s});if(!a.ok){let f=await a.text();throw new Error(`Presigned upload error: ${a.status} - ${f}`)}return p},async generate(s,d,o){let p=await m(`${n}/v1/responses`,{method:"POST",signal:o.abortSignal,headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:s,...d})});if(!p.ok){let a=await p.text();throw new Error(`Gateway generation error: ${p.status} - ${a}`)}return Cr(p,o.abortSignal,o.outputFilter)},async*generateStream(s,d,o){let p=await m(`${n}/v1/responses`,{method:"POST",signal:o.abortSignal,headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:s,...d})});if(!p.ok){let a=await p.text();throw new Error(`Gateway generation error: ${p.status} - ${a}`)}return yield*Er(p,o.abortSignal)}}}async function Cr(e,t,i){let r=e.body?.getReader();if(!r)throw new Error("Response body is not readable");let n=new TextDecoder,u="",l="";try{for(;;){if(t?.aborted)throw new Error("Generation aborted");let{done:c,value:m}=await r.read();if(c)break;u+=n.decode(m,{stream:!0});let s=u.split(`
|
|
63
|
+
`);u=s.pop()??"";for(let d of s){let o=d.trim();if(!(o===""||o.startsWith(":"))){if(o.startsWith("event:")){l=o.slice(6).trim();continue}if(o.startsWith("data:")){let p=o.slice(5).trim();if(l==="generation.completed"){let a=JSON.parse(p),f=i?a.output?.find(i):a.output?.[0];if(f?.url)return f.url;throw new Error("Gateway response did not include a matching output")}if(l==="generation.failed"){let a=JSON.parse(p);throw new Error(a.error?.message??"Generation failed")}l=""}}}}}finally{r.releaseLock()}throw new Error("SSE stream ended without a completion event")}async function*Er(e,t){let i=e.body?.getReader();if(!i)throw new Error("Response body is not readable");let r=new TextDecoder,n="",u="",l="";try{for(;;){if(t?.aborted)throw new Error("Generation aborted");let{done:c,value:m}=await i.read();if(c)break;n+=r.decode(m,{stream:!0});let s=n.split(`
|
|
64
|
+
`);n=s.pop()??"";for(let d of s){let o=d.trim();if(!(o===""||o.startsWith(":"))){if(o.startsWith("event:")){u=o.slice(6).trim();continue}if(o.startsWith("data:")){let p=o.slice(5).trim();if(u==="generation.delta"){let a=JSON.parse(p);a.contentType==="text"&&(l+=a.data,yield l)}if(u==="generation.completed")return l;if(u==="generation.failed"){let a=JSON.parse(p);throw new Error(a.error?.message??"Generation failed")}u=""}}}}}finally{i.releaseLock()}if(l.length>0)return l;throw new Error("SSE stream ended without content")}var Mr="https://gateway.img.ly",Tr="ly.img.ai.getToken",fe=new WeakMap;function $r(e,t){let i=fe.get(e);i==null&&(i=new Map,fe.set(e,i));let r=t.gatewayUrl??Mr,n=t.tokenActionId??Tr,u=`${r}\0${n}`,l=i.get(u);return l!=null||(l=Sr(r,async()=>{let c=await e.actions.run(n);if(typeof c=="string"){if(c.startsWith("sk_"))throw new Error(`The token action '${n}' returned a raw API key. Exposing API keys in client-side code is a security risk. If this is intentional, return { dangerouslyExposeApiKey: 'sk_...' } instead.`);if(c.length===0)throw new Error(`Action '${n}' returned an empty token string`);return c}if(c!=null&&typeof c=="object"&&"dangerouslyExposeApiKey"in c){let m=c.dangerouslyExposeApiKey;if(typeof m!="string"||m.length===0)throw new Error(`Action '${n}' returned { dangerouslyExposeApiKey } but the value is not a valid string`);return m}throw new Error(`Action '${n}' must return either a token string or { dangerouslyExposeApiKey: string }`)},t.headers,t.tokenCacheTTL),i.set(u,l)),l}function Ae(e,t,i){if(i.quickActions!=null&&i.resolveQuickActions!=null)throw new Error(`createGatewayProvider('${e}'): 'quickActions' and 'resolveQuickActions' are mutually exclusive \u2014 received both.`);return async({cesdk:r})=>{i.onInitialize?.(r);let n=$r(r,t),u=`gateway/${e}`,l=n.fetchSchema(e),c=i.createOutput!=null,m,s,d=i.quickActions!=null?ye(i.quickActions,t.supportedQuickActions):void 0;l.then(a=>{if(m=a.name,c&&(s=i.onSchemaReady?.({schema:a,providerId:u,cesdk:r})),i.resolveQuickActions!=null){let f=i.resolveQuickActions({schema:a,providerId:u,cesdk:r});d=ye(f,t.supportedQuickActions)}}).catch(a=>{let f=a instanceof Error?a:new Error(String(a));t.onError?.(f)});let o;c&&(o={type:"schema",document:()=>l.then(a=>jr(e,a)),inputReference:"#/components/schemas/GatewayInput",includeHistoryLibrary:!0,orderExtensionKeyword:"x-property-order",get renderCustomProperty(){return s},getBlockInput:i.getBlockInput,userFlow:i.userFlow??"placeholder"});let p={id:u,kind:i.kind,name:()=>t.modelName??m??e,input:{...o!=null?{panel:o}:{},get quickActions(){return d}},output:{abortable:!0,middleware:t.middlewares??[],history:t.history??"@imgly/indexedDB",generate:async(a,{abortSignal:f})=>{let y=i.processInput?await i.processInput(a,n,r):a;if(i.createStreamOutput!=null){let{createStreamOutput:k}=i,F=n.generateStream(e,y,{abortSignal:f});async function*h(){let b;for await(let w of F)b=k(w),yield b;return b}return h()}let U=await n.generate(e,y,{abortSignal:f,outputFilter:i.outputFilter});return await i.createOutput(U)}}};return t.debug&&console.log("Created Gateway Provider:",p),p}}function ye(e,t){if(e==null&&t==null)return;let i=Ar(e?.supported??{},t);if(Object.keys(i).length!==0)return{supported:i}}function jr(e,t){let i=JSON.stringify(t.input_schema).includes("#/components/schemas/CustomSize");return{openapi:"3.0.0",info:{title:`Gateway - ${e}`,version:"1.0.0"},paths:{},components:{schemas:{GatewayInput:t.input_schema,...i?{CustomSize:{title:"Custom",type:"object",properties:{width:{type:"integer",minimum:1,default:1024},height:{type:"integer",minimum:1,default:1024}}}}:{}}}}}async function J(e){return new Promise((t,i)=>{let r=new Audio;r.src=e,r.addEventListener("loadedmetadata",()=>{let n=r.duration;t(n)}),r.addEventListener("error",n=>{i(new Error(`Failed to load audio metadata: ${n.message}`))})})}var Lr={width:256,height:256,backgroundColor:"transparent",waveformColor:"black",pixelsPerSecond:100};async function X(e,t={}){let{width:i,height:r,backgroundColor:n,waveformColor:u,pixelsPerSecond:l}={...Lr,...t},c=new AudioContext,m=await e.arrayBuffer(),s=await c.decodeAudioData(m),d=s.duration,o=Math.max(i,Math.ceil(d*l)),a=s.sampleRate*d/o,f=document.createElement("canvas");f.width=i,f.height=r;let y=f.getContext("2d");y.fillStyle=n,y.fillRect(0,0,i,r);let U=s.getChannelData(0),k=r/2,F=s.length;y.strokeStyle=u,y.beginPath(),y.moveTo(0,k);for(let h=0;h<i;h++){let b=1,w=-1;for(let B=0;B<a;B++){let ee=Math.floor(h*a+B);if(ee<F){let P=U[ee];P<b&&(b=P),P>w&&(w=P)}}let Ce=k-b*k,Ee=k-w*k;y.lineTo(h,Ee),y.lineTo(h,Ce)}return y.stroke(),new Promise((h,b)=>{f.toBlob(w=>{w?h(w):b(new Error("Canvas to Blob conversion failed"))})})}function R(e,t,i={}){let{ellipsis:r="...",preserveSentences:n=!1,minLength:u=0}=i;if(!e||e.length<=u||e.length<=t)return e;let l=t-r.length;if(n){let s=/[.!?](?:\s|$)/g,d,o=0;for(;(d=s.exec(e))!==null&&!(d.index>l);)o=d.index+1;if(o>0)return e.substring(0,o)+r}let c=e.substring(0,l),m=c.lastIndexOf(" ");return m>0&&(c=c.substring(0,m)),c+r}function Se(e,t){return async({cesdk:i})=>Ae(e,t,{kind:"audio",createOutput:async n=>{let u=await Nr(n),l=URL.createObjectURL(u),[c,m]=await Promise.all([J(l),Dr(u)]);URL.revokeObjectURL(l);let s={kind:"audio",url:n,duration:c};return m!=null&&(s.thumbnailUrl=m),s},getBlockInput:async n=>({audio:{label:typeof n.prompt=="string"?R(n.prompt,25):typeof n.text=="string"?R(n.text,25):void 0}}),outputFilter:n=>n.content_type?.startsWith("audio/")||n.type==="audio_url",userFlow:"generation-only"})({cesdk:i})}async function Nr(e){let t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch audio: ${t.status}`);return t.blob()}async function Dr(e){try{let t=await X(e,{width:512,height:128});return URL.createObjectURL(t)}catch{return}}var Pr={GatewayProvider:Se},sn=Pr;export{Se as GatewayProvider,sn as default};
|
|
65
65
|
/*! Bundled license information:
|
|
66
66
|
|
|
67
67
|
lodash-es/lodash.js:
|