@imgly/plugin-ai-text-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/.tsbuildinfo +1 -1
- package/dist/anthropic/index.mjs +9 -9
- package/dist/anthropic/index.mjs.map +2 -2
- package/dist/gateway/GatewayProvider.d.ts +7 -7
- package/dist/gateway/index.mjs +4 -4
- package/dist/gateway/index.mjs.map +3 -3
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.map +2 -2
- package/dist/open-ai/index.mjs.map +2 -2
- package/package.json +3 -3
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
2
2
|
import { type GatewayProviderConfiguration, type GatewayInput } from '@imgly/plugin-ai-generation-web';
|
|
3
3
|
import { TextProvider } from '../types';
|
|
4
|
-
export interface GatewayTextProviderOptions {
|
|
5
|
-
}
|
|
6
4
|
/**
|
|
7
5
|
* Creates a text generation provider that talks to the IMG.LY gateway.
|
|
8
6
|
* Text is streamed via SSE delta events and applied progressively.
|
|
9
7
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
8
|
+
* Text has a single capability (chat/text-in-text-out), so the default
|
|
9
|
+
* quick actions are applied unconditionally. Customers can disable or
|
|
10
|
+
* override individual entries via `config.supportedQuickActions`.
|
|
11
|
+
*
|
|
12
|
+
* @param modelId - The model identifier (e.g., 'openai/gpt-4o')
|
|
13
|
+
* @param config - Gateway connection configuration
|
|
14
14
|
*/
|
|
15
|
-
export declare function GatewayProvider(modelId: string, config: GatewayProviderConfiguration
|
|
15
|
+
export declare function GatewayProvider(modelId: string, config: GatewayProviderConfiguration): (context: {
|
|
16
16
|
cesdk: CreativeEditorSDK;
|
|
17
17
|
}) => Promise<TextProvider<GatewayInput>>;
|
package/dist/gateway/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var ke=typeof global=="object"&&global&&global.Object===Object&&global,le=ke,Ie=typeof self=="object"&&self&&self.Object===Object&&self,xe=le||Ie||Function("return this")(),f=xe,Ae=f.Symbol,w=Ae,se=Object.prototype,Se=se.hasOwnProperty,Ce=se.toString,S=w?w.toStringTag:void 0;function Ee(e){var t=Se.call(e,S),i=e[S];try{e[S]=void 0;var r=!0}catch{}var a=Ce.call(e);return r&&(t?e[S]=i:delete e[S]),a}var Me=Ee,Te=Object.prototype,$e=Te.toString;function je(e){return $e.call(e)}var Le=je,Ne="[object Null]",De="[object Undefined]",q=w?w.toStringTag:void 0;function Pe(e){return e==null?e===void 0?De:Ne:q&&q in Object(e)?Me(e):Le(e)}var T=Pe;function Oe(e){return e!=null&&typeof e=="object"}var V=Oe,Er=Array.isArray;function ze(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var ue=ze,_e="[object AsyncFunction]",Re="[object Function]",Ue="[object GeneratorFunction]",Fe="[object Proxy]";function Be(e){if(!ue(e))return!1;var t=T(e);return t==Re||t==Ue||t==_e||t==Fe}var Ve=Be,Ge=f["__core-js_shared__"],P=Ge,K=function(){var e=/[^.]+$/.exec(P&&P.keys&&P.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function qe(e){return!!K&&K in e}var Ke=qe,Qe=Function.prototype,Ye=Qe.toString;function We(e){if(e!=null){try{return Ye.call(e)}catch{}try{return e+""}catch{}}return""}var h=We,Ze=/[\\^$.*+?()[\]{}|]/g,He=/^\[object .+?Constructor\]$/,Je=Function.prototype,Xe=Object.prototype,et=Je.toString,tt=Xe.hasOwnProperty,it=RegExp("^"+et.call(tt).replace(Ze,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function rt(e){if(!ue(e)||Ke(e))return!1;var t=Ve(e)?it:He;return t.test(h(e))}var nt=rt;function ot(e,t){return e?.[t]}var at=ot;function lt(e,t){var i=at(e,t);return nt(i)?i:void 0}var k=lt,st=k(f,"WeakMap"),_=st;function ut(e,t){return e===t||e!==e&&t!==t}var dt=ut,ct=9007199254740991;function pt(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ct}var gt=pt,Mr=Object.prototype,mt="[object Arguments]";function yt(e){return V(e)&&T(e)==mt}var Q=yt,de=Object.prototype,ft=de.hasOwnProperty,ht=de.propertyIsEnumerable,Tr=Q(function(){return arguments}())?Q:function(e){return V(e)&&ft.call(e,"callee")&&!ht.call(e,"callee")},ce=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Y=ce&&typeof module=="object"&&module&&!module.nodeType&&module,bt=Y&&Y.exports===ce,W=bt?f.Buffer:void 0,$r=W?W.isBuffer:void 0,vt="[object Arguments]",wt="[object Array]",kt="[object Boolean]",It="[object Date]",xt="[object Error]",At="[object Function]",St="[object Map]",Ct="[object Number]",Et="[object Object]",Mt="[object RegExp]",Tt="[object Set]",$t="[object String]",jt="[object WeakMap]",Lt="[object ArrayBuffer]",Nt="[object DataView]",Dt="[object Float32Array]",Pt="[object Float64Array]",Ot="[object Int8Array]",zt="[object Int16Array]",_t="[object Int32Array]",Rt="[object Uint8Array]",Ut="[object Uint8ClampedArray]",Ft="[object Uint16Array]",Bt="[object Uint32Array]",l={};l[Dt]=l[Pt]=l[Ot]=l[zt]=l[_t]=l[Rt]=l[Ut]=l[Ft]=l[Bt]=!0;l[vt]=l[wt]=l[Lt]=l[kt]=l[Nt]=l[It]=l[xt]=l[At]=l[St]=l[Ct]=l[Et]=l[Mt]=l[Tt]=l[$t]=l[jt]=!1;function Vt(e){return V(e)&>(e.length)&&!!l[T(e)]}var Gt=Vt;function qt(e){return function(t){return e(t)}}var Kt=qt,pe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,C=pe&&typeof module=="object"&&module&&!module.nodeType&&module,Qt=C&&C.exports===pe,O=Qt&&le.process,Yt=function(){try{var e=C&&C.require&&C.require("util").types;return e||O&&O.binding&&O.binding("util")}catch{}}(),Z=Yt,H=Z&&Z.isTypedArray,jr=H?Kt(H):Gt,Wt=Object.prototype,Lr=Wt.hasOwnProperty;function Zt(e,t){return function(i){return e(t(i))}}var Ht=Zt,Nr=Ht(Object.keys,Object),Jt=Object.prototype,Dr=Jt.hasOwnProperty,Xt=k(Object,"create"),E=Xt;function ei(){this.__data__=E?E(null):{},this.size=0}var ti=ei;function ii(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ri=ii,ni="__lodash_hash_undefined__",oi=Object.prototype,ai=oi.hasOwnProperty;function li(e){var t=this.__data__;if(E){var i=t[e];return i===ni?void 0:i}return ai.call(t,e)?t[e]:void 0}var si=li,ui=Object.prototype,di=ui.hasOwnProperty;function ci(e){var t=this.__data__;return E?t[e]!==void 0:di.call(t,e)}var pi=ci,gi="__lodash_hash_undefined__";function mi(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=E&&t===void 0?gi:t,this}var yi=mi;function I(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])}}I.prototype.clear=ti;I.prototype.delete=ri;I.prototype.get=si;I.prototype.has=pi;I.prototype.set=yi;var J=I;function fi(){this.__data__=[],this.size=0}var hi=fi;function bi(e,t){for(var i=e.length;i--;)if(dt(e[i][0],t))return i;return-1}var j=bi,vi=Array.prototype,wi=vi.splice;function ki(e){var t=this.__data__,i=j(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():wi.call(t,i,1),--this.size,!0}var Ii=ki;function xi(e){var t=this.__data__,i=j(t,e);return i<0?void 0:t[i][1]}var Ai=xi;function Si(e){return j(this.__data__,e)>-1}var Ci=Si;function Ei(e,t){var i=this.__data__,r=j(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var Mi=Ei;function x(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])}}x.prototype.clear=hi;x.prototype.delete=Ii;x.prototype.get=Ai;x.prototype.has=Ci;x.prototype.set=Mi;var L=x,Ti=k(f,"Map"),M=Ti;function $i(){this.size=0,this.__data__={hash:new J,map:new(M||L),string:new J}}var ji=$i;function Li(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Ni=Li;function Di(e,t){var i=e.__data__;return Ni(t)?i[typeof t=="string"?"string":"hash"]:i.map}var N=Di;function Pi(e){var t=N(this,e).delete(e);return this.size-=t?1:0,t}var Oi=Pi;function zi(e){return N(this,e).get(e)}var _i=zi;function Ri(e){return N(this,e).has(e)}var Ui=Ri;function Fi(e,t){var i=N(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Bi=Fi;function A(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])}}A.prototype.clear=ji;A.prototype.delete=Oi;A.prototype.get=_i;A.prototype.has=Ui;A.prototype.set=Bi;var ge=A;function Vi(){this.__data__=new L,this.size=0}var Gi=Vi;function qi(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var Ki=qi;function Qi(e){return this.__data__.get(e)}var Yi=Qi;function Wi(e){return this.__data__.has(e)}var Zi=Wi,Hi=200;function Ji(e,t){var i=this.__data__;if(i instanceof L){var r=i.__data__;if(!M||r.length<Hi-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new ge(r)}return i.set(e,t),this.size=i.size,this}var Xi=Ji;function $(e){var t=this.__data__=new L(e);this.size=t.size}$.prototype.clear=Gi;$.prototype.delete=Ki;$.prototype.get=Yi;$.prototype.has=Zi;$.prototype.set=Xi;var er=Object.prototype,Pr=er.propertyIsEnumerable,tr=k(f,"DataView"),R=tr,ir=k(f,"Promise"),U=ir,rr=k(f,"Set"),F=rr,X="[object Map]",nr="[object Object]",ee="[object Promise]",te="[object Set]",ie="[object WeakMap]",re="[object DataView]",or=h(R),ar=h(M),lr=h(U),sr=h(F),ur=h(_),v=T;(R&&v(new R(new ArrayBuffer(1)))!=re||M&&v(new M)!=X||U&&v(U.resolve())!=ee||F&&v(new F)!=te||_&&v(new _)!=ie)&&(v=function(e){var t=T(e),i=t==nr?e.constructor:void 0,r=i?h(i):"";if(r)switch(r){case or:return re;case ar:return X;case lr:return ee;case sr:return te;case ur:return ie}return t});var Or=f.Uint8Array,dr="__lodash_hash_undefined__";function cr(e){return this.__data__.set(e,dr),this}var pr=cr;function gr(e){return this.__data__.has(e)}var mr=gr;function B(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new ge;++t<i;)this.add(e[t])}B.prototype.add=B.prototype.push=pr;B.prototype.has=mr;var ne=w?w.prototype:void 0,zr=ne?ne.valueOf:void 0,yr=Object.prototype,_r=yr.hasOwnProperty,fr=Object.prototype,Rr=fr.hasOwnProperty,Ur=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Fr=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Br=new RegExp(/[A-Fa-f0-9]{2}/,"g");function hr(e,t){let i={...e};if(!t)return i;for(let[r,a]of Object.entries(t))a===!1||a===null||a===void 0?delete i[r]:a===!0?r in e||(i[r]=!0):i[r]=a;return i}var z="@imgly/plugin-ai-generation",Vr=`
|
|
2
2
|
<svg>
|
|
3
3
|
<symbol
|
|
4
4
|
fill="none"
|
|
@@ -59,9 +59,9 @@ var we=typeof global=="object"&&global&&global.Object===Object&&global,oe=we,ke=
|
|
|
59
59
|
|
|
60
60
|
</symbol>
|
|
61
61
|
</svg>
|
|
62
|
-
`;function
|
|
63
|
-
`);c
|
|
64
|
-
`);a=
|
|
62
|
+
`;function br(e,t,i,r=3e5){let a=e.replace(/\/$/,""),d=null,u=null;async function g(){return d!=null&&Date.now()<d.expiresAt?d.value:(u!=null||(u=t().then(c=>(d={value:c,expiresAt:Date.now()+r},c)).finally(()=>{u=null})),u)}async function m(c,p){let n=async()=>{let o=await g();return fetch(c,{...p,headers:{...p.headers,Authorization:`Bearer ${o}`,...i??{}}})},s=await n();return s.status===401?(d=null,n()):s}return{async fetchSchema(c){let p=await m(`${a}/v1/models/schema?model=${encodeURIComponent(c)}`,{method:"GET",headers:{Accept:"application/json"}});if(!p.ok){let n=await p.text();throw new Error(`Gateway schema error: ${p.status} - ${n}`)}return await p.json()},async upload(c,p){let n=await m(`${a}/v1/uploads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content_type:p})});if(!n.ok){let y=await n.text();throw new Error(`Gateway upload error: ${n.status} - ${y}`)}let s=await n.json(),o=await fetch(s.upload_url,{method:"PUT",headers:{"Content-Type":p},body:c});if(!o.ok){let y=await o.text();throw new Error(`Presigned upload error: ${o.status} - ${y}`)}return s},async generate(c,p,n){let s=await m(`${a}/v1/responses`,{method:"POST",signal:n.abortSignal,headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:c,...p})});if(!s.ok){let o=await s.text();throw new Error(`Gateway generation error: ${s.status} - ${o}`)}return vr(s,n.abortSignal,n.outputFilter)},async*generateStream(c,p,n){let s=await m(`${a}/v1/responses`,{method:"POST",signal:n.abortSignal,headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:c,...p})});if(!s.ok){let o=await s.text();throw new Error(`Gateway generation error: ${s.status} - ${o}`)}return yield*wr(s,n.abortSignal)}}}async function vr(e,t,i){let r=e.body?.getReader();if(!r)throw new Error("Response body is not readable");let a=new TextDecoder,d="",u="";try{for(;;){if(t?.aborted)throw new Error("Generation aborted");let{done:g,value:m}=await r.read();if(g)break;d+=a.decode(m,{stream:!0});let c=d.split(`
|
|
63
|
+
`);d=c.pop()??"";for(let p of c){let n=p.trim();if(!(n===""||n.startsWith(":"))){if(n.startsWith("event:")){u=n.slice(6).trim();continue}if(n.startsWith("data:")){let s=n.slice(5).trim();if(u==="generation.completed"){let o=JSON.parse(s),y=i?o.output?.find(i):o.output?.[0];if(y?.url)return y.url;throw new Error("Gateway response did not include a matching output")}if(u==="generation.failed"){let o=JSON.parse(s);throw new Error(o.error?.message??"Generation failed")}u=""}}}}}finally{r.releaseLock()}throw new Error("SSE stream ended without a completion event")}async function*wr(e,t){let i=e.body?.getReader();if(!i)throw new Error("Response body is not readable");let r=new TextDecoder,a="",d="",u="";try{for(;;){if(t?.aborted)throw new Error("Generation aborted");let{done:g,value:m}=await i.read();if(g)break;a+=r.decode(m,{stream:!0});let c=a.split(`
|
|
64
|
+
`);a=c.pop()??"";for(let p of c){let n=p.trim();if(!(n===""||n.startsWith(":"))){if(n.startsWith("event:")){d=n.slice(6).trim();continue}if(n.startsWith("data:")){let s=n.slice(5).trim();if(d==="generation.delta"){let o=JSON.parse(s);o.contentType==="text"&&(u+=o.data,yield u)}if(d==="generation.completed")return u;if(d==="generation.failed"){let o=JSON.parse(s);throw new Error(o.error?.message??"Generation failed")}d=""}}}}}finally{i.releaseLock()}if(u.length>0)return u;throw new Error("SSE stream ended without content")}var kr="https://gateway.img.ly",Ir="ly.img.ai.getToken",oe=new WeakMap;function xr(e,t){let i=oe.get(e);i==null&&(i=new Map,oe.set(e,i));let r=t.gatewayUrl??kr,a=t.tokenActionId??Ir,d=`${r}\0${a}`,u=i.get(d);return u!=null||(u=br(r,async()=>{let g=await e.actions.run(a);if(typeof g=="string"){if(g.startsWith("sk_"))throw new Error(`The token action '${a}' 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(g.length===0)throw new Error(`Action '${a}' returned an empty token string`);return g}if(g!=null&&typeof g=="object"&&"dangerouslyExposeApiKey"in g){let m=g.dangerouslyExposeApiKey;if(typeof m!="string"||m.length===0)throw new Error(`Action '${a}' returned { dangerouslyExposeApiKey } but the value is not a valid string`);return m}throw new Error(`Action '${a}' must return either a token string or { dangerouslyExposeApiKey: string }`)},t.headers,t.tokenCacheTTL),i.set(d,u)),u}function me(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 a=xr(r,t),d=`gateway/${e}`,u=a.fetchSchema(e),g=i.createOutput!=null,m,c,p=i.quickActions!=null?ae(i.quickActions,t.supportedQuickActions):void 0;u.then(o=>{if(m=o.name,g&&(c=i.onSchemaReady?.({schema:o,providerId:d,cesdk:r})),i.resolveQuickActions!=null){let y=i.resolveQuickActions({schema:o,providerId:d,cesdk:r});p=ae(y,t.supportedQuickActions)}}).catch(o=>{let y=o instanceof Error?o:new Error(String(o));t.onError?.(y)});let n;g&&(n={type:"schema",document:()=>u.then(o=>Ar(e,o)),inputReference:"#/components/schemas/GatewayInput",includeHistoryLibrary:!0,orderExtensionKeyword:"x-property-order",get renderCustomProperty(){return c},getBlockInput:i.getBlockInput,userFlow:i.userFlow??"placeholder"});let s={id:d,kind:i.kind,name:()=>t.modelName??m??e,input:{...n!=null?{panel:n}:{},get quickActions(){return p}},output:{abortable:!0,middleware:t.middlewares??[],history:t.history??"@imgly/indexedDB",generate:async(o,{abortSignal:y})=>{let G=i.processInput?await i.processInput(o,a,r):o;if(i.createStreamOutput!=null){let{createStreamOutput:he}=i,be=a.generateStream(e,G,{abortSignal:y});async function*ve(){let D;for await(let we of be)D=he(we),yield D;return D}return ve()}let fe=await a.generate(e,G,{abortSignal:y,outputFilter:i.outputFilter});return await i.createOutput(fe)}}};return t.debug&&console.log("Created Gateway Provider:",s),s}}function ae(e,t){if(e==null&&t==null)return;let i=hr(e?.supported??{},t);if(Object.keys(i).length!==0)return{supported:i}}function Ar(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}}}}:{}}}}}var b=e=>({messages:[{role:"user",content:e.prompt}]}),Sr={"ly.img.improve":{mapInput:b},"ly.img.fix":{mapInput:b},"ly.img.shorter":{mapInput:b},"ly.img.longer":{mapInput:b},"ly.img.changeTone":{mapInput:b},"ly.img.translate":{mapInput:b},"ly.img.changeTextTo":{mapInput:b}};function ye(e,t){return me(e,t,{kind:"text",createStreamOutput:i=>({kind:"text",text:i}),userFlow:"generation-only",quickActions:{supported:Sr}})}var Cr={GatewayProvider:ye},Yr=Cr;export{ye as GatewayProvider,Yr as default};
|
|
65
65
|
/*! Bundled license information:
|
|
66
66
|
|
|
67
67
|
lodash-es/lodash.js:
|