@adaline/gateway 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -4603,6 +4603,7 @@ declare const StreamChatHandlerRequest: z.ZodObject<{
4603
4603
  customHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4604
4604
  callbacks: z.ZodOptional<z.ZodArray<z.ZodType<StreamChatCallbackType<any>, z.ZodTypeDef, StreamChatCallbackType<any>>, "atleastone">>;
4605
4605
  metadataForCallbacks: z.ZodOptional<z.ZodAny>;
4606
+ abortSignal: z.ZodOptional<z.ZodType<AbortSignal, z.ZodTypeDef, AbortSignal>>;
4606
4607
  }, "strip", z.ZodTypeAny, {
4607
4608
  config: Record<string, any>;
4608
4609
  model: ChatModelV1<{
@@ -4701,6 +4702,7 @@ declare const StreamChatHandlerRequest: z.ZodObject<{
4701
4702
  customHeaders?: Record<string, string> | undefined;
4702
4703
  metadataForCallbacks?: any;
4703
4704
  callbacks?: [StreamChatCallbackType<any>, ...StreamChatCallbackType<any>[]] | undefined;
4705
+ abortSignal?: AbortSignal | undefined;
4704
4706
  }, {
4705
4707
  config: Record<string, any>;
4706
4708
  model: ChatModelV1<{
@@ -4799,6 +4801,7 @@ declare const StreamChatHandlerRequest: z.ZodObject<{
4799
4801
  customHeaders?: Record<string, string> | undefined;
4800
4802
  metadataForCallbacks?: any;
4801
4803
  callbacks?: [StreamChatCallbackType<any>, ...StreamChatCallbackType<any>[]] | undefined;
4804
+ abortSignal?: AbortSignal | undefined;
4802
4805
  }>;
4803
4806
  type StreamChatHandlerRequestType = z.infer<typeof StreamChatHandlerRequest>;
4804
4807
  declare const StreamChatHandlerResponse: z.ZodObject<{
@@ -7105,6 +7108,7 @@ declare const GatewayStreamChatRequest: z.ZodObject<{
7105
7108
  customHeaders?: Record<string, string> | undefined;
7106
7109
  metadataForCallbacks?: any;
7107
7110
  }>>;
7111
+ abortSignal: z.ZodOptional<z.ZodType<AbortSignal, z.ZodTypeDef, AbortSignal>>;
7108
7112
  }, "strip", z.ZodTypeAny, {
7109
7113
  config: Record<string, any>;
7110
7114
  model: ChatModelV1<{
@@ -7204,6 +7208,7 @@ declare const GatewayStreamChatRequest: z.ZodObject<{
7204
7208
  };
7205
7209
  metadata?: any;
7206
7210
  }[] | undefined;
7211
+ abortSignal?: AbortSignal | undefined;
7207
7212
  }, {
7208
7213
  config: Record<string, any>;
7209
7214
  model: ChatModelV1<{
@@ -7303,6 +7308,7 @@ declare const GatewayStreamChatRequest: z.ZodObject<{
7303
7308
  };
7304
7309
  metadata?: any;
7305
7310
  }[] | undefined;
7311
+ abortSignal?: AbortSignal | undefined;
7306
7312
  }>;
7307
7313
  type GatewayStreamChatRequestType = z.infer<typeof GatewayStreamChatRequest>;
7308
7314
  declare const GatewayGetEmbeddingsRequest: z.ZodObject<{
package/dist/index.d.ts CHANGED
@@ -4603,6 +4603,7 @@ declare const StreamChatHandlerRequest: z.ZodObject<{
4603
4603
  customHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4604
4604
  callbacks: z.ZodOptional<z.ZodArray<z.ZodType<StreamChatCallbackType<any>, z.ZodTypeDef, StreamChatCallbackType<any>>, "atleastone">>;
4605
4605
  metadataForCallbacks: z.ZodOptional<z.ZodAny>;
4606
+ abortSignal: z.ZodOptional<z.ZodType<AbortSignal, z.ZodTypeDef, AbortSignal>>;
4606
4607
  }, "strip", z.ZodTypeAny, {
4607
4608
  config: Record<string, any>;
4608
4609
  model: ChatModelV1<{
@@ -4701,6 +4702,7 @@ declare const StreamChatHandlerRequest: z.ZodObject<{
4701
4702
  customHeaders?: Record<string, string> | undefined;
4702
4703
  metadataForCallbacks?: any;
4703
4704
  callbacks?: [StreamChatCallbackType<any>, ...StreamChatCallbackType<any>[]] | undefined;
4705
+ abortSignal?: AbortSignal | undefined;
4704
4706
  }, {
4705
4707
  config: Record<string, any>;
4706
4708
  model: ChatModelV1<{
@@ -4799,6 +4801,7 @@ declare const StreamChatHandlerRequest: z.ZodObject<{
4799
4801
  customHeaders?: Record<string, string> | undefined;
4800
4802
  metadataForCallbacks?: any;
4801
4803
  callbacks?: [StreamChatCallbackType<any>, ...StreamChatCallbackType<any>[]] | undefined;
4804
+ abortSignal?: AbortSignal | undefined;
4802
4805
  }>;
4803
4806
  type StreamChatHandlerRequestType = z.infer<typeof StreamChatHandlerRequest>;
4804
4807
  declare const StreamChatHandlerResponse: z.ZodObject<{
@@ -7105,6 +7108,7 @@ declare const GatewayStreamChatRequest: z.ZodObject<{
7105
7108
  customHeaders?: Record<string, string> | undefined;
7106
7109
  metadataForCallbacks?: any;
7107
7110
  }>>;
7111
+ abortSignal: z.ZodOptional<z.ZodType<AbortSignal, z.ZodTypeDef, AbortSignal>>;
7108
7112
  }, "strip", z.ZodTypeAny, {
7109
7113
  config: Record<string, any>;
7110
7114
  model: ChatModelV1<{
@@ -7204,6 +7208,7 @@ declare const GatewayStreamChatRequest: z.ZodObject<{
7204
7208
  };
7205
7209
  metadata?: any;
7206
7210
  }[] | undefined;
7211
+ abortSignal?: AbortSignal | undefined;
7207
7212
  }, {
7208
7213
  config: Record<string, any>;
7209
7214
  model: ChatModelV1<{
@@ -7303,6 +7308,7 @@ declare const GatewayStreamChatRequest: z.ZodObject<{
7303
7308
  };
7304
7309
  metadata?: any;
7305
7310
  }[] | undefined;
7311
+ abortSignal?: AbortSignal | undefined;
7306
7312
  }>;
7307
7313
  type GatewayStreamChatRequestType = z.infer<typeof GatewayStreamChatRequest>;
7308
7314
  declare const GatewayGetEmbeddingsRequest: z.ZodObject<{
package/dist/index.js CHANGED
@@ -8,15 +8,15 @@ var semanticConventions = require('@opentelemetry/semantic-conventions');
8
8
  var ie = require('axios');
9
9
  var vt = require('crypto-js/sha256.js');
10
10
  var lruCache = require('lru-cache');
11
- var ke = require('os');
11
+ var Se = require('os');
12
12
 
13
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
15
15
  var ie__default = /*#__PURE__*/_interopDefault(ie);
16
16
  var vt__default = /*#__PURE__*/_interopDefault(vt);
17
- var ke__default = /*#__PURE__*/_interopDefault(ke);
17
+ var Se__default = /*#__PURE__*/_interopDefault(Se);
18
18
 
19
- var pt=Object.defineProperty,lt=Object.defineProperties;var ut=Object.getOwnPropertyDescriptors;var ye=Object.getOwnPropertySymbols;var yt=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable;var W=(s,t)=>(t=Symbol[s])?t:Symbol.for("Symbol."+s),Ct=s=>{throw TypeError(s)};var he=(s,t,a)=>t in s?pt(s,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[t]=a,T=(s,t)=>{for(var a in t||(t={}))yt.call(t,a)&&he(s,a,t[a]);if(ye)for(var a of ye(t))ht.call(t,a)&&he(s,a,t[a]);return s},A=(s,t)=>lt(s,ut(t));var ft=(s=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(s,{get:(t,a)=>(typeof require!="undefined"?require:t)[a]}):s)(function(s){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var l=(s,t,a)=>new Promise((e,d)=>{var r=p=>{try{i(a.next(p));}catch(n){d(n);}},o=p=>{try{i(a.throw(p));}catch(n){d(n);}},i=p=>p.done?e(p.value):Promise.resolve(p.value).then(r,o);i((a=a.apply(s,t)).next());}),f=function(s,t){this[0]=s,this[1]=t;},O=(s,t,a)=>{var e=(o,i,p,n)=>{try{var m=a[o](i),c=(i=m.value)instanceof f,C=m.done;Promise.resolve(c?i[0]:i).then(g=>c?e(o==="return"?o:"next",i[1]?{done:g.done,value:g.value}:g,p,n):p({value:g,done:C})).catch(g=>e("throw",g,p,n));}catch(g){n(g);}},d=o=>r[o]=i=>new Promise((p,n)=>e(o,i,p,n)),r={};return a=a.apply(s,t),r[W("asyncIterator")]=()=>r,d("next"),d("throw"),d("return"),r},Q=s=>{var t=s[W("asyncIterator")],a=!1,e,d={};return t==null?(t=s[W("iterator")](),e=r=>d[r]=o=>t[r](o)):(t=t.call(s),e=r=>d[r]=o=>{if(a){if(a=!1,r==="throw")throw o;return o}return a=!0,{done:!1,value:new f(new Promise(i=>{var p=t[r](o);p instanceof Object||Ct("Object expected"),i(p);}),1)}}),d[W("iterator")]=()=>d,e("next"),"throw"in t?e("throw"):d.throw=r=>{throw r},"return"in t&&e("return"),d},U=(s,t,a)=>(t=s[W("asyncIterator")])?t.call(s):(s=s[W("iterator")](),t={},a=(e,d)=>(d=s[e])&&(t[e]=r=>new Promise((o,i,p)=>(r=d.call(s,r),p=r.done,Promise.resolve(r.value).then(n=>o({value:n,done:p}),i)))),a("next"),a("return"),t);var w=class s extends Error{constructor(t,a=500,e){super(t),this.name="GatewayError",this.status=a,this.data=e,Error.captureStackTrace&&Error.captureStackTrace(this,s);}},gt="GatewayTelemetryError",Ce=class s extends types.GatewayBaseError{constructor({info:t,cause:a}){super({info:t,cause:a},gt),this.info=t,this.cause=a,Object.setPrototypeOf(this,new.target.prototype);}static isGatewayTelemetryError(t){return t instanceof s}};var Rt="HttpClientError",N=class s extends types.GatewayBaseError{constructor({info:t,cause:a}){super({info:t,cause:a},Rt),this.info=t,this.cause=a,Object.setPrototypeOf(this,new.target.prototype);}static isHttpClientError(t){return t instanceof s}},wt="HttpRequestError",E=class s extends types.GatewayBaseError{constructor(t,a=500,e,d){super({info:t,cause:{status:a,headers:e,data:d}},wt),this.info=t,this.cause={status:a,headers:e,data:d},Object.setPrototypeOf(this,new.target.prototype);}static isHttpRequestError(t){return t instanceof s}};var b=class{static setTracer(t){this.tracer||(this.tracer=t||api.trace.getTracer(this.DEFAULT_TRACER_KEY));}static getTracer(){return this.tracer||api.trace.getTracer(this.DEFAULT_TRACER_KEY)}static setMeter(t){this.meter||(this.meter=t||api.metrics.getMeter(this.DEFAULT_METER_KEY));}static getMeter(){return this.meter||api.metrics.getMeter(this.DEFAULT_METER_KEY)}};b.DEFAULT_TRACER_KEY="gateway",b.DEFAULT_METER_KEY="gateway",b.tracer=void 0,b.meter=void 0;var Z=s=>{let t={};return s&&(typeof s=="object"||s instanceof Headers)&&Object.entries(s).forEach(([a,e])=>{Array.isArray(e)?t[a]=e.join(", "):typeof e=="string"?t[a]=e:t[a]="";}),t},Ee=s=>{var r,o,i;let t=(s==null?void 0:s.message)||"An unexpected error occurred",a=((r=s==null?void 0:s.response)==null?void 0:r.status)||500,e=Z((o=s==null?void 0:s.response)==null?void 0:o.headers)||{},d=((i=s==null?void 0:s.response)==null?void 0:i.data)||{};return new E(t,a,e,d)},ee=class{constructor(t){this.isNodeEnvironment=()=>typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null;let{axiosInstance:a,timeoutInMilliseconds:e,enableProxyAgent:d}=t;this.client=a||ie__default.default.create();let r=zod.z.number().int().positive().optional();if(this.defaultTimeout=r.parse(e),this.client.defaults.timeout=this.defaultTimeout,this.enableProxyAgent=d!=null?d:!0,this.enableProxyAgent){let i=ft("proxy-agent");this.httpProxyAgent=new i.ProxyAgent,this.httpsProxyAgent=new i.ProxyAgent({rejectUnauthorized:!1});}let o=h.getLogger();o==null||o.debug(`IsomorphicHttpClient initialized with defaultTimeout: ${this.defaultTimeout}`);}makeRequest(o,i,p){return l(this,arguments,function*(t,a,e,d={},r){let n=h.getLogger(),m=c=>l(this,null,function*(){try{let C=T(A(T(T({},t==="get"||t==="delete"?{params:e}:{data:e}),d),{timeout:this.defaultTimeout}),this.enableProxyAgent?{httpAgent:this.httpProxyAgent,httpsAgent:this.httpsProxyAgent}:{});if(t==="get"||t==="delete"){let g=yield this.client[t](a,C);c==null||c.setStatus({code:api.SpanStatusCode.OK,message:"request successful"});let F={data:g.data,headers:Z(g.headers),status:{code:g.status,text:g.statusText}};return n==null||n.debug("IsomorphicHttpClient.makeRequest response: ",F),F}else {let g=yield this.client[t](a,C.data,A(T({},C),{params:C.params}));c==null||c.setStatus({code:api.SpanStatusCode.OK,message:"request successful"});let F={data:g.data,headers:Z(g.headers),status:{code:g.status,text:g.statusText}};return n==null||n.debug("IsomorphicHttpClient.makeRequest response: ",F),F}}catch(C){throw n==null||n.warn("IsomorphicHttpClient.makeRequest error: ",C),c==null||c.setStatus({code:api.SpanStatusCode.ERROR,message:"request failed"}),ie__default.default.isAxiosError(C)?Ee(C):new N({info:"An unexpected error occurred",cause:C})}finally{c==null||c.end();}});return r?yield api.context.with(r,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("http.request",C=>l(this,null,function*(){return C.setAttribute(semanticConventions.ATTR_HTTP_REQUEST_METHOD,t.toUpperCase()),C.setAttribute(semanticConventions.ATTR_URL_FULL,a),yield m(C)}))})):m()})}stream(t,a,e,d,r,o){return O(this,null,function*(){let i=h.getLogger();i==null||i.debug(`IsomorphicHttpClient.STREAM request to ${t}`,{data:e,headers:d});let p=function(n){return O(this,null,function*(){let m=Date.now(),c=!1;try{if(this.isNodeEnvironment()){i==null||i.debug("IsomorphicHttpClient.stream in node environment");let y=yield new f(this.client.request({method:a,url:t,headers:d,data:e,responseType:"stream",signal:r==null?void 0:r.abortSignal}));try{for(var C=U(y.data),g,F,z;g=!(F=yield new f(C.next())).done;g=!1){let v=F.value;if(!c){let S=Date.now()-m;n==null||n.setAttribute("time-to-first-token",S),c=!0;}n==null||n.addEvent("stream.chunk",{message:"stream chunk received"});let R=v.toString();i==null||i.debug("IsomorphicHttpClient.stream chunk: ",R),yield R;}}catch(F){z=[F];}finally{try{g&&(F=C.return)&&(yield new f(F.call(C)));}finally{if(z)throw z[0]}}n==null||n.setStatus({code:api.SpanStatusCode.OK,message:"stream successful"});}else {i==null||i.debug("IsomorphicHttpClient.stream in browser environment");let y={method:a,headers:new Headers(T({},d)),body:a!=="get"?JSON.stringify(e):void 0,signal:r==null?void 0:r.abortSignal},v=yield new f(fetch(t,y));if(!v.ok){i==null||i.warn("IsomorphicHttpClient.stream response not ok: ",v),n==null||n.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"});let R=yield new f(v.json());throw new E(`Request failed with status ${v.status}`,v.status,Z(v.headers),R)}if(v.body){let R=v.body.getReader();for(;;){let{done:S,value:j}=yield new f(R.read());if(S){if(!c&&j){let Y=Date.now()-m;n==null||n.setAttribute("time-to-first-token",Y),c=!0;}n==null||n.addEvent("stream.chunk",{message:"stream chunk received"});let D=new TextDecoder().decode(j,{stream:!0});i==null||i.debug("IsomorphicHttpClient.stream chunk: ",D),yield D;break}if(!c){let D=Date.now()-m;n==null||n.setAttribute("time-to-first-token",D),c=!0;}n==null||n.addEvent("stream.chunk",{message:"stream chunk received"});let $=new TextDecoder().decode(j,{stream:!0});i==null||i.debug("IsomorphicHttpClient.stream chunk: ",$),yield $;}n==null||n.setStatus({code:api.SpanStatusCode.OK,message:"stream successful"});}else throw i==null||i.warn("IsomorphicHttpClient.stream response has no body"),n==null||n.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"}),new E("Cannot stream the body of the response.",500,{},v)}}catch(y){throw i==null||i.warn("IsomorphicHttpClient.stream error: ",y),n==null||n.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"}),E.isHttpRequestError(y)?y:(y==null?void 0:y.name)==="AbortError"?new E("AbortError",408,{},{}):(y==null?void 0:y.name)==="CanceledError"?new E("AbortError",408,{},{}):ie__default.default.isAxiosError(y)?Ee(y):new N({info:"An unexpected error occurred",cause:y})}finally{n==null||n.end();}})}.bind(this);return o?yield*Q(yield new f(api.context.with(o,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("http.stream",m=>l(this,null,function*(){return m.setAttribute(semanticConventions.ATTR_HTTP_REQUEST_METHOD,a.toUpperCase()),m.setAttribute(semanticConventions.ATTR_URL_FULL,t),yield p(m)}))})))):yield*Q(p())})}get(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.GET request to ${t}`,{params:a,headers:e}),this.makeRequest("get",t,a||{},{headers:e},d)})}post(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.POST request to ${t}`,{data:a,headers:e}),this.makeRequest("post",t,a||{},{headers:e},d)})}put(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.PUT request to ${t}`,{data:a,headers:e}),this.makeRequest("put",t,a||{},{headers:e},d)})}delete(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.DELETE request to ${t}`,{params:a,headers:e}),this.makeRequest("delete",t,a||{},{headers:e},d)})}patch(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.PATCH request to ${t}`,{data:a,headers:e}),this.makeRequest("patch",t,a||{},{headers:e},d)})}};var xt="QueueTaskTimeoutError",te=class s extends types.GatewayBaseError{constructor({info:t,cause:a}){super({info:t,cause:a},xt),this.info=t,this.cause=a,Object.setPrototypeOf(this,new.target.prototype);}static isQueueTaskTimeoutError(t){return t instanceof s}};var xe=zod.z.object({maxConcurrentTasks:zod.z.number().int().positive(),retryCount:zod.z.number().int().positive(),timeout:zod.z.number().int().positive(),retry:zod.z.object({initialDelay:zod.z.number().int().positive(),exponentialFactor:zod.z.number().int().positive()})});var ae=(s,t)=>vt__default.default(s+JSON.stringify(t)).toString(),I=s=>s instanceof w?s:N.isHttpClientError(s)?new w(s.message):s instanceof Error?new w(s.message):new w(s),L=()=>typeof window!="undefined"&&typeof window.document!="undefined"&&typeof navigator!="undefined";var qt={error:"color: red",warn:"color: yellow",info:"color: green"},kt=(s,t,...a)=>{if(L())L()&&console.log(`%c[${s.toUpperCase()}] [${t}]`,qt[s],...a);else switch(s){case"error":console.error(...a);break;case"warn":console.warn(...a);break;default:console.log(...a);}},St=(s,t,...a)=>{var e;L()||((e=process==null?void 0:process.env)==null?void 0:e.DEBUG)==="true"&&kt(s,t,...a);},M=(s,t,...a)=>l(void 0,null,function*(){let e=[];s.forEach(d=>{let r=d[t];if(typeof r=="function")try{let o=r(...a);o instanceof Promise&&e.push(o);}catch(o){St("error",`SAFELY_INVOKE_CALLBACKS:${String(t)}:`,o);}}),yield Promise.allSettled(e);}),ve=s=>new Promise(t=>setTimeout(t,s));var h=class{static setLogger(t){this.logger=t;}static getLogger(){return this.logger}};var qe=class{debug(t,...a){console.debug(t,...a);}info(t,...a){console.info(t,...a);}warn(t,...a){L()?console.warn(`%WARN: %c${t}`,"color: yellow; font-weight: bold;","",...a):console.warn(`\x1B[33mWARN:\x1B[0m ${t}`,...a);}error(t,...a){L()?console.error(`%ERROR: %c${t}`,"color: lightcoral; font-weight: bold;","",...a):console.error(`\x1B[91mERROR:\x1B[0m ${t}`,...a);}critical(t,...a){L()?console.error(`%cCRITICAL: %c${t}`,"color: red; font-weight: bold;","",...a):console.error(`\x1B[31;1mCRITICAL:\x1B[0m ${t}`,...a);}};var B=class{constructor(t){this.activeTasks=0;this.queue=[];this.options=t;}enqueue(t){let a=h.getLogger();a==null||a.debug(`SimpleQueue.enqueue invoked, id: ${t.id}`),api.context.with(t.telemetryContext,()=>l(this,null,function*(){return b.getTracer().startActiveSpan("queue.task.pickup-wait",d=>l(this,null,function*(){d.setAttribute("id",t.id),this.queue.push({task:t,taskSpan:d}),a==null||a.debug(`SimpleQueue.enqueue task enqueued, id: ${t.id}`);}))})),this.processQueue();}executeWithTimeout(t,a){let e=h.getLogger();return e==null||e.debug(`SimpleQueue.executeWithTimeout invoked with timeout: ${this.options.timeout}, id: ${t.id}`),new Promise((d,r)=>{let o=setTimeout(()=>{e==null||e.warn(`SimpleQueue.executeWithTimeout timed out, id: ${t.id}`),r(new te({info:"Queue task timeout",cause:new Error("Queue task timeout")}));},this.options.timeout);e==null||e.debug(`SimpleQueue.executeWithTimeout task executing, id: ${t.id}`),t.execute(t.request,a).then(i=>{e==null||e.debug(`SimpleQueue.executeWithTimeout task completed, id: ${t.id}`),clearTimeout(o),d(i);}).catch(i=>{e==null||e.warn(`SimpleQueue.executeWithTimeout task errored, id: ${t.id}`),clearTimeout(o),r(i);});})}executeWithRetry(t,a){return l(this,null,function*(){let e=h.getLogger();return yield api.context.with(t.telemetryContext,()=>l(this,null,function*(){let d=b.getTracer();return yield d.startActiveSpan("queue.task.execute",r=>l(this,null,function*(){e==null||e.debug(`SimpleQueue.executeWithRetry invoked, attempt: ${this.options.retryCount-a}, id: ${t.id}`),r.setAttribute("attempt",this.options.retryCount-a);try{let o=api.context.active(),i=yield this.executeWithTimeout(t,o);return r.setStatus({code:api.SpanStatusCode.OK}),r.end(),i}catch(o){if(a===0)throw e==null||e.warn(`SimpleQueue.executeWithRetry retry count reached, id: ${t.id}`),r.end(),o;let i=!0,p=this.options.retry.initialDelay*Math.pow(this.options.retry.exponentialFactor,this.options.retryCount-a);if(E.isHttpRequestError(o)){if(o.cause.status===429){e==null||e.warn(`SimpleQueue.executeWithRetry rate limiting error, id: ${t.id}`);let n=J.safeParse(t.request);if(n.success){let m=n.data.model.getRetryDelay(o.cause.headers);i=m.shouldRetry,m.delayMs>0&&(p=m.delayMs);}}o.cause.status>=500&&o.cause.status<600&&(e==null||e.warn(`SimpleQueue.executeWithRetry ${o.cause.status} error, id: ${t.id}`));}else e==null||e.warn(`SimpleQueue.executeWithRetry non http-request error, id: ${t.id}`,{error:o});if(i)return yield d.startActiveSpan("queue.task.retry-wait",n=>l(this,null,function*(){return e==null||e.debug(`SimpleQueue.executeWithRetry retry wait: ${p}ms, id: ${t.id}`),yield ve(p),n.end(),r.end(),this.executeWithRetry(t,a-1)}));throw e==null||e.warn(`SimpleQueue.executeWithRetry model returned should not retry, id: ${t.id}`),r.end(),o}finally{}}))}))})}processQueue(){return l(this,null,function*(){var r;let t=h.getLogger();if(this.activeTasks>=this.options.maxConcurrentTasks){t==null||t.debug("SimpleQueue.processQueue max concurrent tasks reached");return}let a=this.queue.shift();if(!a){t==null||t.debug("SimpleQueue.processQueue no item to process");return}let{task:e,taskSpan:d}=a;d&&d.end(),this.activeTasks+=1,t==null||t.debug(`SimpleQueue.processQueue active tasks: ${this.activeTasks}`),t==null||t.debug(`SimpleQueue.processQueue processing task, id: ${e.id}`);try{let o=yield this.executeWithRetry(e,this.options.retryCount);t==null||t.debug(`SimpleQueue.processQueue task completed, id: ${e.id}`),e.resolve(o);}catch(o){t==null||t.warn(`SimpleQueue.processQueue task errored, id: ${e.id}`),e.reject(o);}finally{this.activeTasks-=1,t==null||t.debug(`SimpleQueue.processQueue active tasks: ${this.activeTasks}`),(r=api.trace.getSpan(e.telemetryContext))==null||r.end(),this.processQueue();}})}};var X=class{constructor(t=1e3){this.cache=new lruCache.LRUCache({max:t,allowStale:!1,updateAgeOnGet:!1});let a=h.getLogger();a==null||a.debug(`LRUCache initialized with maxEntries: ${t}`);}get(t){return l(this,null,function*(){let a=h.getLogger();return a==null||a.debug(`LRUCache.get invoked, key: ${t}`),new Promise(e=>{let d=this.cache.get(t);a==null||a.debug("LRUCache.get completed, value: ",d),e(d);})})}set(t,a){return l(this,null,function*(){let e=h.getLogger();return e==null||e.debug(`LRUCache.set invoked, key: ${t}, value: `,a),new Promise(d=>{this.cache.set(t,a),e==null||e.debug("LRUCache.set completed"),d();})})}delete(t){return l(this,null,function*(){let a=h.getLogger();return a==null||a.debug(`LRUCache.delete invoked, key: ${t}`),new Promise(e=>{this.cache.delete(t),a==null||a.debug("LRUCache.delete completed"),e();})})}clear(){return l(this,null,function*(){let t=h.getLogger();return t==null||t.debug("LRUCache.clear invoked"),new Promise(a=>{this.cache.clear(),t==null||t.debug("LRUCache.clear completed"),a();})})}};var re=class{record(t,a,e){}stopRecorder(){}};var Se=()=>({node:{version:process.version,platform:ke__default.default.platform(),architecture:ke__default.default.arch()}}),Ge=()=>({browser:{version:navigator.userAgent,userAgent:navigator.userAgent}});var oe=class{constructor(){this.eventVersion="0.1";this.gatewayVersion="0.28.0";this.flushInterval=1e4;this.batchSize=1;this.maxAttempts=3;this.environment=L()?Ge():Se();this.analyticsEndpointUrl="https://j954t34pkh.execute-api.us-east-1.amazonaws.com/v0/analytics";this.events=[];}startFlushTimer(){L()?this.flushTimer=window.setInterval(()=>this.flushEvents(),this.flushInterval):this.flushTimer=setInterval(()=>this.flushEvents(),this.flushInterval);}stopFlushTimer(){L()?window.clearInterval(this.flushTimer):clearInterval(this.flushTimer);}record(t,a,e){let d={event:t,status:a,dimensions:e,timestamp:new Date().toISOString(),eventVersion:this.eventVersion,gatewayVersion:this.gatewayVersion,environment:this.environment};this.events.push({event:d,attempt:0}),this.events.length>=this.batchSize&&this.flushEvents();}flushEvents(){return l(this,null,function*(){if(this.events.length===0)return;let t=[...this.events];this.events=[],(yield this.sendEvents(t.map(e=>e.event)))||this.events.push(...t.filter(e=>e.attempt<this.maxAttempts).map(e=>({event:e.event,attempt:e.attempt+1})));})}sendEvents(t){return l(this,null,function*(){try{return (yield ie__default.default.post(this.analyticsEndpointUrl,{events:t},{headers:{"Content-Type":"application/json"}})).status===200}catch(a){return !1}})}stopRecorder(){this.stopFlushTimer(),this.flushEvents();}};var se=class{static getAnalyticsRecorder(t){return this.analytics!==void 0?this.analytics:(this.analytics=t?new oe:new re,this.analytics)}};var Ae=zod.z.object({queueOptions:zod.z.lazy(()=>xe.partial()).optional(),dangerouslyAllowBrowser:zod.z.boolean().optional(),httpClient:zod.z.custom().optional(),completeChatCache:zod.z.custom().optional(),completeChatCallbacks:zod.z.array(zod.z.custom()).nonempty().optional(),getEmbeddingsCache:zod.z.custom().optional(),getEmbeddingsCallbacks:zod.z.array(zod.z.custom()).nonempty().optional(),streamChatCallbacks:zod.z.array(zod.z.custom()).nonempty().optional(),logger:zod.z.custom().optional(),telemetry:zod.z.object({tracer:zod.z.custom().optional(),meter:zod.z.custom().optional()}).optional(),analyticsEnabled:zod.z.boolean().optional(),enableProxyAgent:zod.z.boolean().optional()}),Lt=zod.z.object({enableCache:zod.z.boolean().optional().default(!0),customHeaders:zod.z.record(zod.z.string()).optional(),metadataForCallbacks:zod.z.any().optional()}),J=zod.z.object({model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),options:Lt.optional()}),Ot=zod.z.object({customHeaders:zod.z.record(zod.z.string()).optional(),metadataForCallbacks:zod.z.any().optional()}),Me=zod.z.object({model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),options:Ot.optional()}),Qt=zod.z.object({enableCache:zod.z.boolean().optional().default(!0),customHeaders:zod.z.record(zod.z.string()).optional(),metadataForCallbacks:zod.z.any().optional()}),me=zod.z.object({model:zod.z.custom(),config:types.Config(),embeddingRequests:types.EmbeddingRequests(),options:Qt.optional()}),pe=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),Le=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),le=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()});var $e=zod.z.object({cache:zod.z.custom(),model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),enableCache:zod.z.boolean(),customHeaders:zod.z.record(zod.z.string()).optional(),callbacks:zod.z.array(zod.z.custom()).nonempty().optional(),metadataForCallbacks:zod.z.any().optional()}),mr=zod.z.object({request:zod.z.object({config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional()}),response:types.ChatResponse,cached:zod.z.boolean(),latencyInMs:zod.z.number().int().positive(),metadataForCallbacks:zod.z.any().optional(),provider:zod.z.object({request:zod.z.any(),response:zod.z.any()})});function ze(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleCompleteChat invoked"),e==null||e.debug("handleCompleteChat request: ",{request:s});let o=$e.parse(s),i=s.callbacks||[],p=api.context.active();try{M(i,"onChatStart",s.metadataForCallbacks);let n={config:o.config,messages:o.messages,tools:o.tools},m={url:yield o.model.getCompleteChatUrl(o.config,o.messages,o.tools),headers:yield o.model.getCompleteChatHeaders(o.config,o.messages,o.tools),data:yield o.model.getCompleteChatData(o.config,o.messages,o.tools)};m.headers=A(T({},m.headers),{source:"adaline.ai"}),o.customHeaders&&(m.headers=T(T({},m.headers),o.customHeaders)),e==null||e.debug("handleCompleteChat providerRequest: ",{providerRequest:m});let c=ae(`complete-chat:${m.url}:${o.model.modelSchema.name}`,n);if(o.enableCache){e==null||e.debug("handleCompleteChat checking cache");let y=yield s.cache.get(c);if(y)return y.cached=!0,e==null||e.debug("handleCompleteChat cached hit"),r==null||r.setAttribute("cached",!0),r==null||r.setStatus({code:api.SpanStatusCode.OK}),M(i,"onChatCached",s.metadataForCallbacks,y),e==null||e.debug("handleCompleteChat cached response: ",{cachedResponse:y}),y}e==null||e.debug("handleCompleteChat cache miss");let C=Date.now(),g=yield t.post(m.url,m.data,m.headers,p),F=Date.now()-C;e==null||e.debug("handleCompleteChat providerResponse: ",{providerResponse:g});let z={request:n,response:o.model.transformCompleteChatResponse(g.data),cached:!1,latencyInMs:F,metadataForCallbacks:s.metadataForCallbacks,provider:{request:m,response:g}};return e==null||e.debug("handleCompleteChat response: ",{response:z}),o.enableCache&&(yield s.cache.set(c,z),e==null||e.debug("handleCompleteChat response cached")),r==null||r.setAttribute("cached",!1),r==null||r.setStatus({code:api.SpanStatusCode.OK}),M(i,"onChatComplete",s.metadataForCallbacks,z),z}catch(n){e==null||e.warn("handleCompleteChat error: ",{error:n});let m;throw E.isHttpRequestError(n)||n instanceof w?m=n:m=I(n),M(i,"onChatError",s.metadataForCallbacks,m),m}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("complete-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var Ve=zod.z.object({cache:zod.z.custom(),model:zod.z.custom(),config:types.Config(),embeddingRequests:types.EmbeddingRequests(),enableCache:zod.z.boolean(),customHeaders:zod.z.record(zod.z.string()).optional(),callbacks:zod.z.array(zod.z.custom()).nonempty().optional(),metadataForCallbacks:zod.z.any().optional()}),kr=zod.z.object({request:zod.z.object({config:types.Config(),embeddingRequests:types.EmbeddingRequests()}),response:types.EmbeddingResponse,cached:zod.z.boolean(),latencyInMs:zod.z.number().int().positive(),metadataForCallbacks:zod.z.any().optional(),provider:zod.z.object({request:zod.z.any(),response:zod.z.any()})});function _e(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleGetEmbeddings invoked"),e==null||e.debug("handleGetEmbeddings request: ",{request:s});let o=Ve.parse(s),i=s.callbacks||[],p=api.context.active();try{M(i,"onGetEmbeddingsStart",s.metadataForCallbacks);let n={config:o.config,embeddingRequests:o.embeddingRequests},m={url:yield o.model.getGetEmbeddingsUrl(o.config,o.embeddingRequests),headers:yield o.model.getGetEmbeddingsHeaders(o.config,o.embeddingRequests),data:yield o.model.getGetEmbeddingsData(o.config,o.embeddingRequests)};m.headers=A(T({},m.headers),{source:"adaline.ai"}),o.customHeaders&&(m.headers=T(T({},m.headers),o.customHeaders)),e==null||e.debug("handleGetEmbeddings providerRequest: ",{providerRequest:m});let c=ae(`get-embeddings:${m.url}:${o.model.modelSchema.name}`,n);if(o.enableCache){e==null||e.debug("handleGetEmbeddings checking cache");let y=yield s.cache.get(c);if(y)return y.cached=!0,e==null||e.debug("handleGetEmbeddings cached hit"),r==null||r.setAttribute("cached",!0),r==null||r.setStatus({code:api.SpanStatusCode.OK}),M(i,"onGetEmbeddingsCached",s.metadataForCallbacks,y),e==null||e.debug("handleGetEmbeddings cached response: ",{cachedResponse:y}),y}e==null||e.debug("handleGetEmbeddings cache miss");let C=Date.now(),g=yield t.post(m.url,m.data,m.headers,p),F=Date.now()-C;e==null||e.debug("handleGetEmbeddings providerResponse: ",{providerResponse:g});let z={request:n,response:o.model.transformGetEmbeddingsResponse(g.data),cached:!1,latencyInMs:F,metadataForCallbacks:s.metadataForCallbacks,provider:{request:m,response:g}};return e==null||e.debug("handleGetEmbeddings response: ",{response:z}),o.enableCache&&(yield s.cache.set(c,z),e==null||e.debug("handleGetEmbeddings response cached")),r==null||r.setAttribute("cached",!1),r==null||r.setStatus({code:api.SpanStatusCode.OK}),M(i,"onGetEmbeddingsComplete",s.metadataForCallbacks,z),z}catch(n){e==null||e.warn("handleGetEmbeddings error: ",{error:n});let m;throw E.isHttpRequestError(n)||n instanceof w?m=n:m=I(n),M(i,"onGetEmbeddingsError",s.metadataForCallbacks,m),m}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("get-embeddings.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var Be=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),Vr=zod.z.object({request:zod.z.any(),providerRequest:zod.z.object({url:zod.z.string().url(),headers:zod.z.record(zod.z.string()),data:zod.z.any()}),providerResponse:zod.z.any(),transformedResponse:zod.z.optional(types.ChatResponse)});function Ye(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleProxyCompleteChat invoked"),e==null||e.debug("handleProxyCompleteChat request: ",{request:s});let o=Be.parse(s),i=api.context.active();try{o.headers=A(T({},o.headers),{source:"adaline.ai"});let p={url:yield o.model.getProxyCompleteChatUrl(o.data,o.headers,o.query),headers:yield o.model.getProxyCompleteChatHeaders(o.data,o.headers,o.query),data:o.data};e==null||e.debug("handleProxyCompleteChat providerRequest: ",{providerRequest:p});let n=yield t.post(p.url,p.data,p.headers,i);e==null||e.debug("handleProxyCompleteChat providerResponse: ",{providerResponse:n});let m;try{m=o.model.transformCompleteChatResponse(n.data);}catch(C){e==null||e.warn("handleProxyCompleteChat transformation error: ",{transformationError:C});}let c={request:{header:o.headers,data:o.data,query:o.query},providerRequest:p,providerResponse:n,transformedResponse:m};return e==null||e.debug("handleProxyCompleteChat response: ",{response:c}),r==null||r.setStatus({code:api.SpanStatusCode.OK}),c}catch(p){e==null||e.warn("handleProxyCompleteChat error: ",{error:p});let n;throw E.isHttpRequestError(p)||p instanceof w?n=p:n=I(p),n}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("proxy-complete-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var Je=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),oo=zod.z.object({request:zod.z.any(),providerRequest:zod.z.object({url:zod.z.string().url(),headers:zod.z.record(zod.z.string()),data:zod.z.any()}),providerResponse:zod.z.any(),transformedResponse:zod.z.optional(types.EmbeddingResponse)});function Ze(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleProxyGetEmbeddings invoked"),e==null||e.debug("handleProxyGetEmbeddings request: ",{request:s});let o=Je.parse(s),i=api.context.active();try{let p={url:yield o.model.getGetEmbeddingsUrl(),headers:o.headers,data:o.data};p.headers=A(T({},p.headers),{source:"adaline.ai"});let n=T({},p);delete n.headers.host,delete n.headers["content-length"],e==null||e.debug("handleProxyGetEmbeddings providerRequest: ",{providerRequest:p});let m=yield t.post(n.url,n.data,n.headers,i);e==null||e.debug("handleProxyGetEmbeddings providerResponse: ",{providerResponse:m});let c;try{c=o.model.transformGetEmbeddingsResponse(m.data);}catch(g){e==null||e.warn("handleProxyGetEmbeddings transformation error: ",{transformationError:g});}let C={request:p,providerRequest:n,providerResponse:m,transformedResponse:c};return e==null||e.debug("handleProxyGetEmbeddings response: ",{response:C}),r==null||r.setStatus({code:api.SpanStatusCode.OK}),C}catch(p){e==null||e.warn("handleProxyGetEmbeddings error: ",{error:p});let n;throw E.isHttpRequestError(p)||p instanceof w?n=p:n=I(p),n}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("proxy-get-embeddings.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var et=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),go=zod.z.object({request:zod.z.any(),providerRequest:zod.z.object({url:zod.z.string().url(),headers:zod.z.record(zod.z.string()),data:zod.z.any()}),providerResponse:zod.z.any(),transformedResponse:zod.z.array(types.PartialChatResponse).optional()});function at(s,t,a){return O(this,null,function*(){let e=h.getLogger(),d=function(r){return O(this,null,function*(){e==null||e.debug("handleProxyStreamChat invoked"),e==null||e.debug("handleProxyStreamChat request: ",{request:s});let o=api.context.active(),i=et.parse(s);try{i.headers=A(T({},i.headers),{source:"adaline.ai"});let y={url:yield new f(i.model.getProxyStreamChatUrl(i.data,i.headers,i.query)),headers:yield new f(i.model.getProxyStreamChatHeaders(i.data,i.headers,i.query)),data:i.data};e==null||e.debug("handleProxyStreamChat providerRequest: ",{providerRequest:y});let v="";try{for(var C=U(t.stream(y.url,"post",y.data,y.headers,void 0,o)),g,F,z;g=!(F=yield new f(C.next())).done;g=!1){let R=F.value;let S=[];try{try{for(var p=U(i.model.transformProxyStreamChatResponseChunk(R,v,i.data,i.headers,i.query)),n,m,c;n=!(m=yield new f(p.next())).done;n=!1){let $=m.value;$.partialResponse.partialMessages.length>0?S.push($.partialResponse):v=$.buffer;}}catch(m){c=[m];}finally{try{n&&(m=p.return)&&(yield new f(m.call(p)));}finally{if(c)throw c[0]}}}catch($){e==null||e.warn("handleProxyStreamChat transformation error",{transformationError:$}),S=void 0;}let j={request:{header:i.headers,data:i.data,query:i.query},providerRequest:y,providerResponse:R,transformedResponse:S};e==null||e.debug("handleProxyStreamChat streamResponse: ",{streamResponse:j}),yield j;}}catch(F){z=[F];}finally{try{g&&(F=C.return)&&(yield new f(F.call(C)));}finally{if(z)throw z[0]}}r==null||r.setStatus({code:api.SpanStatusCode.OK});}catch(y){e==null||e.warn("handleProxyStreamChat error: ",{error:y});let v;throw E.isHttpRequestError(y)||y instanceof w?v=y:v=I(y),v}finally{r==null||r.end();}})};return a?yield*Q(yield new f(api.context.with(a,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("proxy-stream-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})))):yield*Q(d())})}var nt=zod.z.object({model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),customHeaders:zod.z.record(zod.z.string()).optional(),callbacks:zod.z.array(zod.z.custom()).nonempty().optional(),metadataForCallbacks:zod.z.any().optional()}),Mo=zod.z.object({request:zod.z.object({config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional()}),response:types.PartialChatResponse,metadataForCallbacks:zod.z.any().optional(),provider:zod.z.object({request:zod.z.any(),response:zod.z.any()})});function dt(s,t,a){return O(this,null,function*(){let e=h.getLogger(),d=function(r){return O(this,null,function*(){e==null||e.debug("handleStreamChat invoked"),e==null||e.debug("handleStreamChat request: ",{request:s});let o=nt.parse(s),i=s.callbacks||[],p=api.context.active(),n={config:o.config,messages:o.messages,tools:o.tools};try{M(i,"onStreamStart",s.metadataForCallbacks);let R={url:yield new f(o.model.getStreamChatUrl(o.config,o.messages,o.tools)),headers:yield new f(o.model.getStreamChatHeaders(o.config,o.messages,o.tools)),data:yield new f(o.model.getStreamChatData(o.config,o.messages,o.tools))};R.headers=A(T({},R.headers),{source:"adaline.ai"}),o.customHeaders&&(R.headers=T(T({},R.headers),o.customHeaders)),e==null||e.debug("handleStreamChat providerRequest: ",{providerRequest:R});let S="",j=!0;try{for(var F=U(t.stream(R.url,"post",R.data,R.headers,void 0,p)),z,y,v;z=!(y=yield new f(F.next())).done;z=!1){let $=y.value;try{for(var m=U(o.model.transformStreamChatResponseChunk($,S)),c,C,g;c=!(C=yield new f(m.next())).done;c=!1){let D=C.value;if(D.partialResponse.partialMessages.length>0){let Y={request:n,response:D.partialResponse,metadataForCallbacks:s.metadataForCallbacks,provider:{request:R,response:$}};M(i,j?"onStreamFirstResponse":"onStreamNewResponse",s.metadataForCallbacks,Y),j&&(j=!1),e==null||e.debug("handleStreamChat streamResponse: ",{streamResponse:Y}),yield Y;}else S=D.buffer;}}catch(C){g=[C];}finally{try{c&&(C=m.return)&&(yield new f(C.call(m)));}finally{if(g)throw g[0]}}}}catch(y){v=[y];}finally{try{z&&(y=F.return)&&(yield new f(y.call(F)));}finally{if(v)throw v[0]}}r==null||r.setStatus({code:api.SpanStatusCode.OK}),M(i,"onStreamEnd",s.metadataForCallbacks);}catch(R){e==null||e.warn("handleStreamChat error: ",{error:R});let S;throw E.isHttpRequestError(R)||R instanceof w?S=R:S=I(R),M(i,"onStreamError",s.metadataForCallbacks,S),S}finally{r==null||r.end();}})};return a?yield*Q(yield new f(api.context.with(a,()=>l(this,null,function*(){return yield b.getTracer().startActiveSpan("stream-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})))):yield*Q(d())})}var ue=class{constructor(t={}){var e,d,r,o,i,p,n;if(!t.dangerouslyAllowBrowser&&L())throw new w("It looks like you're running in a browser-like environment. This is disabled by default, as it risks exposing your provider secrets to attackers. If you understand the risks and have appropriate mitigation in place, you can set the `dangerouslyAllowBrowser` option to `true`.");this.options=Ae.parse(t),h.setLogger(t.logger),this.logger=t.logger,this.analytics=se.getAnalyticsRecorder(this.options.analyticsEnabled===void 0?!0:this.options.analyticsEnabled),b.setTracer((e=t.telemetry)==null?void 0:e.tracer),this.tracer=b.getTracer(),b.setMeter((d=t.telemetry)==null?void 0:d.meter),this.meter=b.getMeter();let a={maxConcurrentTasks:((r=this.options.queueOptions)==null?void 0:r.maxConcurrentTasks)||4,retryCount:((o=this.options.queueOptions)==null?void 0:o.retryCount)||3,retry:((i=this.options.queueOptions)==null?void 0:i.retry)||{initialDelay:1e3,exponentialFactor:2},timeout:((p=this.options.queueOptions)==null?void 0:p.timeout)||12e4};this.queues={completeChat:new B(a),getEmbeddings:new B(a),proxyCompleteChat:new B(a),proxyGetEmbeddings:new B(a)},this.options.enableProxyAgent===void 0||this.options.enableProxyAgent,this.httpClient=t.httpClient||new ee({timeoutInMilliseconds:a.timeout*.9,enableProxyAgent:this.options.enableProxyAgent}),this.caches={completeChat:t.completeChatCache||new X,getEmbeddings:t.getEmbeddingsCache||new X},(n=this.logger)==null||n.debug("gateway initialized");}completeChat(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.completeChat invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=J.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("complete-chat",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,cache:this.caches.completeChat,resolve:c=>{this.analytics.record("completeChat","success",{modelName:e,usage:c.response.usage||{}}),i(c);},reject:c=>{console.log("completeChat error",c),this.analytics.record("completeChat","error",{modelName:e}),p(c);},execute:this.executeCompleteChat.bind(this),telemetryContext:api.context.active()};this.queues.completeChat.enqueue(n),(m=this.logger)==null||m.debug(`gateway.completeChat task enqueued, id: ${n.id}`);})}))})}executeCompleteChat(t,a){return l(this,null,function*(){var d,r,o,i;(d=this.logger)==null||d.debug("gateway.executeCompleteChat invoked");let e=J.parse(t);return ze({cache:this.caches.completeChat,model:e.model,config:e.config,messages:e.messages,tools:e.tools,enableCache:(o=(r=e.options)==null?void 0:r.enableCache)!=null?o:!0,callbacks:this.options.completeChatCallbacks,metadataForCallbacks:(i=e.options)==null?void 0:i.metadataForCallbacks},this.httpClient,a)})}streamChat(t){return O(this,null,function*(){var i,p,n,m;(i=this.logger)==null||i.info("gateway.streamChat invoked"),(p=this.logger)==null||p.debug("request: ",{request:t});let a=Me.parse(t),e=a.model.modelSchema.name,d="success",r=this.tracer.startSpan("stream-chat"),o=api.trace.setSpan(api.context.active(),r);try{return r.setAttribute("modelName",e),yield*Q(yield new f(api.context.with(o,()=>l(this,null,function*(){var c;return dt({model:a.model,config:a.config,messages:a.messages,tools:a.tools,callbacks:this.options.streamChatCallbacks,metadataForCallbacks:(c=a.options)==null?void 0:c.metadataForCallbacks},this.httpClient,o)}))))}catch(c){throw d="error",r.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"}),(n=this.logger)==null||n.error("gateway.streamChat error: ",{error:c}),c instanceof w?c:new w(c==null?void 0:c.message,500,(m=c==null?void 0:c.response)==null?void 0:m.data)}finally{this.analytics.record("streamChat",d,{modelName:e}),r.end();}})}getEmbeddings(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.getEmbeddings invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=me.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("get-embeddings",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,cache:this.caches.getEmbeddings,resolve:c=>{this.analytics.record("getEmbeddings","success",{modelName:e,usage:c.response.usage||{}}),i(c);},reject:c=>{this.analytics.record("getEmbeddings","error",{modelName:e}),p(c);},execute:this.executeGetEmbeddings.bind(this),telemetryContext:api.context.active()};this.queues.getEmbeddings.enqueue(n),(m=this.logger)==null||m.debug(`gateway.getEmbeddings task enqueued, id: ${n.id}`);})}))})}executeGetEmbeddings(t,a){return l(this,null,function*(){var d,r,o,i;(d=this.logger)==null||d.debug("gateway.executeGetEmbeddings invoked");let e=me.parse(t);return _e({cache:this.caches.getEmbeddings,model:e.model,config:e.config,embeddingRequests:e.embeddingRequests,enableCache:(o=(r=e.options)==null?void 0:r.enableCache)!=null?o:!0,callbacks:this.options.getEmbeddingsCallbacks,metadataForCallbacks:(i=e.options)==null?void 0:i.metadataForCallbacks},this.httpClient,a)})}proxyCompleteChat(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.proxyCompleteChat invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=pe.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("proxy-complete-chat",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,resolve:c=>{var C;this.analytics.record("proxyCompleteChat","success",{modelName:e,usage:((C=c.transformedResponse)==null?void 0:C.usage)||{}}),i(c);},reject:c=>{console.log("proxyCompleteChat error",c),this.analytics.record("proxyCompleteChat","error",{modelName:e}),p(c);},execute:this.executeProxyCompleteChat.bind(this),telemetryContext:api.context.active()};this.queues.proxyCompleteChat.enqueue(n),(m=this.logger)==null||m.debug(`gateway.proxyCompleteChat task enqueued, id: ${n.id}`);})}))})}executeProxyCompleteChat(t,a){return l(this,null,function*(){var d;(d=this.logger)==null||d.debug("gateway.executeCompleteChat invoked");let e=pe.parse(t);return Ye({model:e.model,data:e.data,headers:e.headers,query:e.query},this.httpClient,a)})}proxyStreamChat(t){return O(this,null,function*(){var i,p,n,m;(i=this.logger)==null||i.info("gateway.proxyStreamChat invoked"),(p=this.logger)==null||p.debug("proxyStreamChat request: ",{request:t});let a=Le.parse(t),e=a.model.modelSchema.name,d="success",r=this.tracer.startSpan("proxy-stream-chat"),o=api.trace.setSpan(api.context.active(),r);try{return r.setAttribute("modelName",e),yield*Q(yield new f(api.context.with(o,()=>l(this,null,function*(){return at({model:a.model,data:a.data,headers:a.headers,query:a.query},this.httpClient,o)}))))}catch(c){throw d="error",r.setStatus({code:api.SpanStatusCode.ERROR,message:"proxy stream failed"}),(n=this.logger)==null||n.error("gateway.proxyStreamChat error: ",{error:c}),c instanceof w?c:new w(c==null?void 0:c.message,500,(m=c==null?void 0:c.response)==null?void 0:m.data)}finally{this.analytics.record("proxyStreamChat",d,{modelName:e}),r.end();}})}proxyGetEmbeddings(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.proxyGetEmbeddings invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=le.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("proxy-get-embeddings",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,resolve:c=>{var C;this.analytics.record("proxyGetEmbeddings","success",{modelName:e,usage:((C=c.transformedResponse)==null?void 0:C.usage)||{}}),i(c);},reject:c=>{this.analytics.record("proxyGetEmbeddings","error",{modelName:e}),p(c);},execute:this.executeProxyGetEmbeddings.bind(this),telemetryContext:api.context.active()};this.queues.proxyGetEmbeddings.enqueue(n),(m=this.logger)==null||m.debug(`gateway.proxyGetEmbeddings task enqueued, id: ${n.id}`);})}))})}executeProxyGetEmbeddings(t,a){return l(this,null,function*(){var d;(d=this.logger)==null||d.debug("gateway.executeProxyGetEmbeddings invoked");let e=le.parse(t);return Ze({model:e.model,headers:e.headers,data:e.data,query:e.query},this.httpClient,a)})}};ue.GatewayError=w;
19
+ var pt=Object.defineProperty,lt=Object.defineProperties;var ut=Object.getOwnPropertyDescriptors;var ye=Object.getOwnPropertySymbols;var yt=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable;var W=(s,t)=>(t=Symbol[s])?t:Symbol.for("Symbol."+s),Ct=s=>{throw TypeError(s)};var he=(s,t,a)=>t in s?pt(s,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[t]=a,T=(s,t)=>{for(var a in t||(t={}))yt.call(t,a)&&he(s,a,t[a]);if(ye)for(var a of ye(t))ht.call(t,a)&&he(s,a,t[a]);return s},M=(s,t)=>lt(s,ut(t));var bt=(s=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(s,{get:(t,a)=>(typeof require!="undefined"?require:t)[a]}):s)(function(s){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var l=(s,t,a)=>new Promise((e,d)=>{var r=p=>{try{i(a.next(p));}catch(n){d(n);}},o=p=>{try{i(a.throw(p));}catch(n){d(n);}},i=p=>p.done?e(p.value):Promise.resolve(p.value).then(r,o);i((a=a.apply(s,t)).next());}),b=function(s,t){this[0]=s,this[1]=t;},O=(s,t,a)=>{var e=(o,i,p,n)=>{try{var m=a[o](i),c=(i=m.value)instanceof b,C=m.done;Promise.resolve(c?i[0]:i).then(g=>c?e(o==="return"?o:"next",i[1]?{done:g.done,value:g.value}:g,p,n):p({value:g,done:C})).catch(g=>e("throw",g,p,n));}catch(g){n(g);}},d=o=>r[o]=i=>new Promise((p,n)=>e(o,i,p,n)),r={};return a=a.apply(s,t),r[W("asyncIterator")]=()=>r,d("next"),d("throw"),d("return"),r},Q=s=>{var t=s[W("asyncIterator")],a=!1,e,d={};return t==null?(t=s[W("iterator")](),e=r=>d[r]=o=>t[r](o)):(t=t.call(s),e=r=>d[r]=o=>{if(a){if(a=!1,r==="throw")throw o;return o}return a=!0,{done:!1,value:new b(new Promise(i=>{var p=t[r](o);p instanceof Object||Ct("Object expected"),i(p);}),1)}}),d[W("iterator")]=()=>d,e("next"),"throw"in t?e("throw"):d.throw=r=>{throw r},"return"in t&&e("return"),d},U=(s,t,a)=>(t=s[W("asyncIterator")])?t.call(s):(s=s[W("iterator")](),t={},a=(e,d)=>(d=s[e])&&(t[e]=r=>new Promise((o,i,p)=>(r=d.call(s,r),p=r.done,Promise.resolve(r.value).then(n=>o({value:n,done:p}),i)))),a("next"),a("return"),t);var w=class s extends Error{constructor(t,a=500,e){super(t),this.name="GatewayError",this.status=a,this.data=e,Error.captureStackTrace&&Error.captureStackTrace(this,s);}},gt="GatewayTelemetryError",Ce=class s extends types.GatewayBaseError{constructor({info:t,cause:a}){super({info:t,cause:a},gt),this.info=t,this.cause=a,Object.setPrototypeOf(this,new.target.prototype);}static isGatewayTelemetryError(t){return t instanceof s}};var Rt="HttpClientError",N=class s extends types.GatewayBaseError{constructor({info:t,cause:a}){super({info:t,cause:a},Rt),this.info=t,this.cause=a,Object.setPrototypeOf(this,new.target.prototype);}static isHttpClientError(t){return t instanceof s}},wt="HttpRequestError",E=class s extends types.GatewayBaseError{constructor(t,a=500,e,d){super({info:t,cause:{status:a,headers:e,data:d}},wt),this.info=t,this.cause={status:a,headers:e,data:d},Object.setPrototypeOf(this,new.target.prototype);}static isHttpRequestError(t){return t instanceof s}};var f=class{static setTracer(t){this.tracer||(this.tracer=t||api.trace.getTracer(this.DEFAULT_TRACER_KEY));}static getTracer(){return this.tracer||api.trace.getTracer(this.DEFAULT_TRACER_KEY)}static setMeter(t){this.meter||(this.meter=t||api.metrics.getMeter(this.DEFAULT_METER_KEY));}static getMeter(){return this.meter||api.metrics.getMeter(this.DEFAULT_METER_KEY)}};f.DEFAULT_TRACER_KEY="gateway",f.DEFAULT_METER_KEY="gateway",f.tracer=void 0,f.meter=void 0;var Z=s=>{let t={};return s&&(typeof s=="object"||s instanceof Headers)&&Object.entries(s).forEach(([a,e])=>{Array.isArray(e)?t[a]=e.join(", "):typeof e=="string"?t[a]=e:t[a]="";}),t},Ee=s=>{var r,o,i;let t=(s==null?void 0:s.message)||"An unexpected error occurred",a=((r=s==null?void 0:s.response)==null?void 0:r.status)||500,e=Z((o=s==null?void 0:s.response)==null?void 0:o.headers)||{},d=((i=s==null?void 0:s.response)==null?void 0:i.data)||{};return new E(t,a,e,d)},ee=class{constructor(t){this.isNodeEnvironment=()=>typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null;let{axiosInstance:a,timeoutInMilliseconds:e,enableProxyAgent:d}=t;this.client=a||ie__default.default.create();let r=zod.z.number().int().positive().optional();if(this.defaultTimeout=r.parse(e),this.client.defaults.timeout=this.defaultTimeout,this.enableProxyAgent=d!=null?d:!0,this.enableProxyAgent){let i=bt("proxy-agent");this.httpProxyAgent=new i.ProxyAgent,this.httpsProxyAgent=new i.ProxyAgent({rejectUnauthorized:!1});}let o=h.getLogger();o==null||o.debug(`IsomorphicHttpClient initialized with defaultTimeout: ${this.defaultTimeout}`);}makeRequest(o,i,p){return l(this,arguments,function*(t,a,e,d={},r){let n=h.getLogger(),m=c=>l(this,null,function*(){try{let C=T(M(T(T({},t==="get"||t==="delete"?{params:e}:{data:e}),d),{timeout:this.defaultTimeout}),this.enableProxyAgent?{httpAgent:this.httpProxyAgent,httpsAgent:this.httpsProxyAgent}:{});if(t==="get"||t==="delete"){let g=yield this.client[t](a,C);c==null||c.setStatus({code:api.SpanStatusCode.OK,message:"request successful"});let F={data:g.data,headers:Z(g.headers),status:{code:g.status,text:g.statusText}};return n==null||n.debug("IsomorphicHttpClient.makeRequest response: ",F),F}else {let g=yield this.client[t](a,C.data,M(T({},C),{params:C.params}));c==null||c.setStatus({code:api.SpanStatusCode.OK,message:"request successful"});let F={data:g.data,headers:Z(g.headers),status:{code:g.status,text:g.statusText}};return n==null||n.debug("IsomorphicHttpClient.makeRequest response: ",F),F}}catch(C){throw n==null||n.warn("IsomorphicHttpClient.makeRequest error: ",C),c==null||c.setStatus({code:api.SpanStatusCode.ERROR,message:"request failed"}),ie__default.default.isAxiosError(C)?Ee(C):new N({info:"An unexpected error occurred",cause:C})}finally{c==null||c.end();}});return r?yield api.context.with(r,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("http.request",C=>l(this,null,function*(){return C.setAttribute(semanticConventions.ATTR_HTTP_REQUEST_METHOD,t.toUpperCase()),C.setAttribute(semanticConventions.ATTR_URL_FULL,a),yield m(C)}))})):m()})}stream(t,a,e,d,r,o){return O(this,null,function*(){let i=h.getLogger();i==null||i.debug(`IsomorphicHttpClient.STREAM request to ${t}`,{data:e,headers:d});let p=function(n){return O(this,null,function*(){let m=Date.now(),c=!1;try{if(this.isNodeEnvironment()){i==null||i.debug("IsomorphicHttpClient.stream in node environment");let y=yield new b(this.client.request({method:a,url:t,headers:d,data:e,responseType:"stream",signal:r==null?void 0:r.abortSignal}));try{for(var C=U(y.data),g,F,z;g=!(F=yield new b(C.next())).done;g=!1){let v=F.value;if(!c){let G=Date.now()-m;n==null||n.setAttribute("time-to-first-token",G),c=!0;}n==null||n.addEvent("stream.chunk",{message:"stream chunk received"});let R=v.toString();i==null||i.debug("IsomorphicHttpClient.stream chunk: ",R),yield R;}}catch(F){z=[F];}finally{try{g&&(F=C.return)&&(yield new b(F.call(C)));}finally{if(z)throw z[0]}}n==null||n.setStatus({code:api.SpanStatusCode.OK,message:"stream successful"});}else {i==null||i.debug("IsomorphicHttpClient.stream in browser environment");let y={method:a,headers:new Headers(T({},d)),body:a!=="get"?JSON.stringify(e):void 0,signal:r==null?void 0:r.abortSignal},v=yield new b(fetch(t,y));if(!v.ok){i==null||i.warn("IsomorphicHttpClient.stream response not ok: ",v),n==null||n.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"});let R=yield new b(v.json());throw new E(`Request failed with status ${v.status}`,v.status,Z(v.headers),R)}if(v.body){let R=v.body.getReader();for(;;){let{done:G,value:j}=yield new b(R.read());if(G){if(!c&&j){let Y=Date.now()-m;n==null||n.setAttribute("time-to-first-token",Y),c=!0;}n==null||n.addEvent("stream.chunk",{message:"stream chunk received"});let D=new TextDecoder().decode(j,{stream:!0});i==null||i.debug("IsomorphicHttpClient.stream chunk: ",D),yield D;break}if(!c){let D=Date.now()-m;n==null||n.setAttribute("time-to-first-token",D),c=!0;}n==null||n.addEvent("stream.chunk",{message:"stream chunk received"});let $=new TextDecoder().decode(j,{stream:!0});i==null||i.debug("IsomorphicHttpClient.stream chunk: ",$),yield $;}n==null||n.setStatus({code:api.SpanStatusCode.OK,message:"stream successful"});}else throw i==null||i.warn("IsomorphicHttpClient.stream response has no body"),n==null||n.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"}),new E("Cannot stream the body of the response.",500,{},v)}}catch(y){throw i==null||i.warn("IsomorphicHttpClient.stream error: ",y),n==null||n.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"}),E.isHttpRequestError(y)?y:(y==null?void 0:y.name)==="AbortError"?new E("AbortError",408,{},{}):(y==null?void 0:y.name)==="CanceledError"?new E("AbortError",408,{},{}):ie__default.default.isAxiosError(y)?Ee(y):new N({info:"An unexpected error occurred",cause:y})}finally{n==null||n.end();}})}.bind(this);return o?yield*Q(yield new b(api.context.with(o,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("http.stream",m=>l(this,null,function*(){return m.setAttribute(semanticConventions.ATTR_HTTP_REQUEST_METHOD,a.toUpperCase()),m.setAttribute(semanticConventions.ATTR_URL_FULL,t),yield p(m)}))})))):yield*Q(p())})}get(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.GET request to ${t}`,{params:a,headers:e}),this.makeRequest("get",t,a||{},{headers:e},d)})}post(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.POST request to ${t}`,{data:a,headers:e}),this.makeRequest("post",t,a||{},{headers:e},d)})}put(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.PUT request to ${t}`,{data:a,headers:e}),this.makeRequest("put",t,a||{},{headers:e},d)})}delete(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.DELETE request to ${t}`,{params:a,headers:e}),this.makeRequest("delete",t,a||{},{headers:e},d)})}patch(t,a,e,d){return l(this,null,function*(){let r=h.getLogger();return r==null||r.debug(`IsomorphicHttpClient.PATCH request to ${t}`,{data:a,headers:e}),this.makeRequest("patch",t,a||{},{headers:e},d)})}};var xt="QueueTaskTimeoutError",te=class s extends types.GatewayBaseError{constructor({info:t,cause:a}){super({info:t,cause:a},xt),this.info=t,this.cause=a,Object.setPrototypeOf(this,new.target.prototype);}static isQueueTaskTimeoutError(t){return t instanceof s}};var xe=zod.z.object({maxConcurrentTasks:zod.z.number().int().positive(),retryCount:zod.z.number().int().positive(),timeout:zod.z.number().int().positive(),retry:zod.z.object({initialDelay:zod.z.number().int().positive(),exponentialFactor:zod.z.number().int().positive()})});var ae=(s,t)=>vt__default.default(s+JSON.stringify(t)).toString(),I=s=>s instanceof w?s:N.isHttpClientError(s)?new w(s.message):s instanceof Error?new w(s.message):new w(s),q=()=>typeof window!="undefined"&&typeof window.document!="undefined"&&typeof navigator!="undefined";var qt={error:"color: red",warn:"color: yellow",info:"color: green"},St=(s,t,...a)=>{if(q())q()&&console.log(`%c[${s.toUpperCase()}] [${t}]`,qt[s],...a);else switch(s){case"error":console.error(...a);break;case"warn":console.warn(...a);break;default:console.log(...a);}},kt=(s,t,...a)=>{var e;q()||((e=process==null?void 0:process.env)==null?void 0:e.DEBUG)==="true"&&St(s,t,...a);},L=(s,t,...a)=>l(void 0,null,function*(){let e=[];s.forEach(d=>{let r=d[t];if(typeof r=="function")try{let o=r(...a);o instanceof Promise&&e.push(o);}catch(o){kt("error",`SAFELY_INVOKE_CALLBACKS:${String(t)}:`,o);}}),yield Promise.allSettled(e);}),ve=s=>new Promise(t=>setTimeout(t,s));var h=class{static setLogger(t){this.logger=t;}static getLogger(){return this.logger}};var qe=class{debug(t,...a){console.debug(t,...a);}info(t,...a){console.info(t,...a);}warn(t,...a){q()?console.warn(`%WARN: %c${t}`,"color: yellow; font-weight: bold;","",...a):console.warn(`\x1B[33mWARN:\x1B[0m ${t}`,...a);}error(t,...a){q()?console.error(`%ERROR: %c${t}`,"color: lightcoral; font-weight: bold;","",...a):console.error(`\x1B[91mERROR:\x1B[0m ${t}`,...a);}critical(t,...a){q()?console.error(`%cCRITICAL: %c${t}`,"color: red; font-weight: bold;","",...a):console.error(`\x1B[31;1mCRITICAL:\x1B[0m ${t}`,...a);}};var B=class{constructor(t){this.activeTasks=0;this.queue=[];this.options=t;}enqueue(t){let a=h.getLogger();a==null||a.debug(`SimpleQueue.enqueue invoked, id: ${t.id}`),api.context.with(t.telemetryContext,()=>l(this,null,function*(){return f.getTracer().startActiveSpan("queue.task.pickup-wait",d=>l(this,null,function*(){d.setAttribute("id",t.id),this.queue.push({task:t,taskSpan:d}),a==null||a.debug(`SimpleQueue.enqueue task enqueued, id: ${t.id}`);}))})),this.processQueue();}executeWithTimeout(t,a){let e=h.getLogger();return e==null||e.debug(`SimpleQueue.executeWithTimeout invoked with timeout: ${this.options.timeout}, id: ${t.id}`),new Promise((d,r)=>{let o=setTimeout(()=>{e==null||e.warn(`SimpleQueue.executeWithTimeout timed out, id: ${t.id}`),r(new te({info:"Queue task timeout",cause:new Error("Queue task timeout")}));},this.options.timeout);e==null||e.debug(`SimpleQueue.executeWithTimeout task executing, id: ${t.id}`),t.execute(t.request,a).then(i=>{e==null||e.debug(`SimpleQueue.executeWithTimeout task completed, id: ${t.id}`),clearTimeout(o),d(i);}).catch(i=>{e==null||e.warn(`SimpleQueue.executeWithTimeout task errored, id: ${t.id}`),clearTimeout(o),r(i);});})}executeWithRetry(t,a){return l(this,null,function*(){let e=h.getLogger();return yield api.context.with(t.telemetryContext,()=>l(this,null,function*(){let d=f.getTracer();return yield d.startActiveSpan("queue.task.execute",r=>l(this,null,function*(){e==null||e.debug(`SimpleQueue.executeWithRetry invoked, attempt: ${this.options.retryCount-a}, id: ${t.id}`),r.setAttribute("attempt",this.options.retryCount-a);try{let o=api.context.active(),i=yield this.executeWithTimeout(t,o);return r.setStatus({code:api.SpanStatusCode.OK}),r.end(),i}catch(o){if(a===0)throw e==null||e.warn(`SimpleQueue.executeWithRetry retry count reached, id: ${t.id}`),r.end(),o;let i=!0,p=this.options.retry.initialDelay*Math.pow(this.options.retry.exponentialFactor,this.options.retryCount-a);if(E.isHttpRequestError(o)){if(o.cause.status===429){e==null||e.warn(`SimpleQueue.executeWithRetry rate limiting error, id: ${t.id}`);let n=J.safeParse(t.request);if(n.success){let m=n.data.model.getRetryDelay(o.cause.headers);i=m.shouldRetry,m.delayMs>0&&(p=m.delayMs);}}o.cause.status>=500&&o.cause.status<600&&(e==null||e.warn(`SimpleQueue.executeWithRetry ${o.cause.status} error, id: ${t.id}`));}else e==null||e.warn(`SimpleQueue.executeWithRetry non http-request error, id: ${t.id}`,{error:o});if(i)return yield d.startActiveSpan("queue.task.retry-wait",n=>l(this,null,function*(){return e==null||e.debug(`SimpleQueue.executeWithRetry retry wait: ${p}ms, id: ${t.id}`),yield ve(p),n.end(),r.end(),this.executeWithRetry(t,a-1)}));throw e==null||e.warn(`SimpleQueue.executeWithRetry model returned should not retry, id: ${t.id}`),r.end(),o}finally{}}))}))})}processQueue(){return l(this,null,function*(){var r;let t=h.getLogger();if(this.activeTasks>=this.options.maxConcurrentTasks){t==null||t.debug("SimpleQueue.processQueue max concurrent tasks reached");return}let a=this.queue.shift();if(!a){t==null||t.debug("SimpleQueue.processQueue no item to process");return}let{task:e,taskSpan:d}=a;d&&d.end(),this.activeTasks+=1,t==null||t.debug(`SimpleQueue.processQueue active tasks: ${this.activeTasks}`),t==null||t.debug(`SimpleQueue.processQueue processing task, id: ${e.id}`);try{let o=yield this.executeWithRetry(e,this.options.retryCount);t==null||t.debug(`SimpleQueue.processQueue task completed, id: ${e.id}`),e.resolve(o);}catch(o){t==null||t.warn(`SimpleQueue.processQueue task errored, id: ${e.id}`),e.reject(o);}finally{this.activeTasks-=1,t==null||t.debug(`SimpleQueue.processQueue active tasks: ${this.activeTasks}`),(r=api.trace.getSpan(e.telemetryContext))==null||r.end(),this.processQueue();}})}};var X=class{constructor(t=1e3){this.cache=new lruCache.LRUCache({max:t,allowStale:!1,updateAgeOnGet:!1});let a=h.getLogger();a==null||a.debug(`LRUCache initialized with maxEntries: ${t}`);}get(t){return l(this,null,function*(){let a=h.getLogger();return a==null||a.debug(`LRUCache.get invoked, key: ${t}`),new Promise(e=>{let d=this.cache.get(t);a==null||a.debug("LRUCache.get completed, value: ",d),e(d);})})}set(t,a){return l(this,null,function*(){let e=h.getLogger();return e==null||e.debug(`LRUCache.set invoked, key: ${t}, value: `,a),new Promise(d=>{this.cache.set(t,a),e==null||e.debug("LRUCache.set completed"),d();})})}delete(t){return l(this,null,function*(){let a=h.getLogger();return a==null||a.debug(`LRUCache.delete invoked, key: ${t}`),new Promise(e=>{this.cache.delete(t),a==null||a.debug("LRUCache.delete completed"),e();})})}clear(){return l(this,null,function*(){let t=h.getLogger();return t==null||t.debug("LRUCache.clear invoked"),new Promise(a=>{this.cache.clear(),t==null||t.debug("LRUCache.clear completed"),a();})})}};var re=class{record(t,a,e){}stopRecorder(){}};var ke=()=>({node:{version:process.version,platform:Se__default.default.platform(),architecture:Se__default.default.arch()}}),Ge=()=>({browser:{version:navigator.userAgent,userAgent:navigator.userAgent}});var oe=class{constructor(){this.eventVersion="0.1";this.gatewayVersion="0.30.0";this.flushInterval=1e4;this.batchSize=1;this.maxAttempts=3;this.environment=q()?Ge():ke();this.analyticsEndpointUrl="https://j954t34pkh.execute-api.us-east-1.amazonaws.com/v0/analytics";this.events=[];}startFlushTimer(){q()?this.flushTimer=window.setInterval(()=>this.flushEvents(),this.flushInterval):this.flushTimer=setInterval(()=>this.flushEvents(),this.flushInterval);}stopFlushTimer(){q()?window.clearInterval(this.flushTimer):clearInterval(this.flushTimer);}record(t,a,e){let d={event:t,status:a,dimensions:e,timestamp:new Date().toISOString(),eventVersion:this.eventVersion,gatewayVersion:this.gatewayVersion,environment:this.environment};this.events.push({event:d,attempt:0}),this.events.length>=this.batchSize&&this.flushEvents();}flushEvents(){return l(this,null,function*(){if(this.events.length===0)return;let t=[...this.events];this.events=[],(yield this.sendEvents(t.map(e=>e.event)))||this.events.push(...t.filter(e=>e.attempt<this.maxAttempts).map(e=>({event:e.event,attempt:e.attempt+1})));})}sendEvents(t){return l(this,null,function*(){try{return (yield ie__default.default.post(this.analyticsEndpointUrl,{events:t},{headers:{"Content-Type":"application/json"}})).status===200}catch(a){return !1}})}stopRecorder(){this.stopFlushTimer(),this.flushEvents();}};var se=class{static getAnalyticsRecorder(t){return this.analytics!==void 0?this.analytics:(this.analytics=t?new oe:new re,this.analytics)}};var Ae=zod.z.object({queueOptions:zod.z.lazy(()=>xe.partial()).optional(),dangerouslyAllowBrowser:zod.z.boolean().optional(),httpClient:zod.z.custom().optional(),completeChatCache:zod.z.custom().optional(),completeChatCallbacks:zod.z.array(zod.z.custom()).nonempty().optional(),getEmbeddingsCache:zod.z.custom().optional(),getEmbeddingsCallbacks:zod.z.array(zod.z.custom()).nonempty().optional(),streamChatCallbacks:zod.z.array(zod.z.custom()).nonempty().optional(),logger:zod.z.custom().optional(),telemetry:zod.z.object({tracer:zod.z.custom().optional(),meter:zod.z.custom().optional()}).optional(),analyticsEnabled:zod.z.boolean().optional(),enableProxyAgent:zod.z.boolean().optional()}),Lt=zod.z.object({enableCache:zod.z.boolean().optional().default(!0),customHeaders:zod.z.record(zod.z.string()).optional(),metadataForCallbacks:zod.z.any().optional()}),J=zod.z.object({model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),options:Lt.optional()}),Ot=zod.z.object({customHeaders:zod.z.record(zod.z.string()).optional(),metadataForCallbacks:zod.z.any().optional()}),Me=zod.z.object({model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),options:Ot.optional(),abortSignal:zod.z.instanceof(AbortSignal).optional()}),Qt=zod.z.object({enableCache:zod.z.boolean().optional().default(!0),customHeaders:zod.z.record(zod.z.string()).optional(),metadataForCallbacks:zod.z.any().optional()}),me=zod.z.object({model:zod.z.custom(),config:types.Config(),embeddingRequests:types.EmbeddingRequests(),options:Qt.optional()}),pe=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),Le=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),le=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()});var $e=zod.z.object({cache:zod.z.custom(),model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),enableCache:zod.z.boolean(),customHeaders:zod.z.record(zod.z.string()).optional(),callbacks:zod.z.array(zod.z.custom()).nonempty().optional(),metadataForCallbacks:zod.z.any().optional()}),mr=zod.z.object({request:zod.z.object({config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional()}),response:types.ChatResponse,cached:zod.z.boolean(),latencyInMs:zod.z.number().int().positive(),metadataForCallbacks:zod.z.any().optional(),provider:zod.z.object({request:zod.z.any(),response:zod.z.any()})});function ze(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleCompleteChat invoked"),e==null||e.debug("handleCompleteChat request: ",{request:s});let o=$e.parse(s),i=s.callbacks||[],p=api.context.active();try{L(i,"onChatStart",s.metadataForCallbacks);let n={config:o.config,messages:o.messages,tools:o.tools},m={url:yield o.model.getCompleteChatUrl(o.config,o.messages,o.tools),headers:yield o.model.getCompleteChatHeaders(o.config,o.messages,o.tools),data:yield o.model.getCompleteChatData(o.config,o.messages,o.tools)};q()||(m.headers=M(T({},m.headers),{source:"adaline.ai"})),o.customHeaders&&(m.headers=T(T({},m.headers),o.customHeaders)),e==null||e.debug("handleCompleteChat providerRequest: ",{providerRequest:m});let c=ae(`complete-chat:${m.url}:${o.model.modelSchema.name}`,n);if(o.enableCache){e==null||e.debug("handleCompleteChat checking cache");let y=yield s.cache.get(c);if(y)return y.cached=!0,e==null||e.debug("handleCompleteChat cached hit"),r==null||r.setAttribute("cached",!0),r==null||r.setStatus({code:api.SpanStatusCode.OK}),L(i,"onChatCached",s.metadataForCallbacks,y),e==null||e.debug("handleCompleteChat cached response: ",{cachedResponse:y}),y}e==null||e.debug("handleCompleteChat cache miss");let C=Date.now(),g=yield t.post(m.url,m.data,m.headers,p),F=Date.now()-C;e==null||e.debug("handleCompleteChat providerResponse: ",{providerResponse:g});let z={request:n,response:o.model.transformCompleteChatResponse(g.data),cached:!1,latencyInMs:F,metadataForCallbacks:s.metadataForCallbacks,provider:{request:m,response:g}};return e==null||e.debug("handleCompleteChat response: ",{response:z}),o.enableCache&&(yield s.cache.set(c,z),e==null||e.debug("handleCompleteChat response cached")),r==null||r.setAttribute("cached",!1),r==null||r.setStatus({code:api.SpanStatusCode.OK}),L(i,"onChatComplete",s.metadataForCallbacks,z),z}catch(n){e==null||e.warn("handleCompleteChat error: ",{error:n});let m;throw E.isHttpRequestError(n)||n instanceof w?m=n:m=I(n),L(i,"onChatError",s.metadataForCallbacks,m),m}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("complete-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var Ve=zod.z.object({cache:zod.z.custom(),model:zod.z.custom(),config:types.Config(),embeddingRequests:types.EmbeddingRequests(),enableCache:zod.z.boolean(),customHeaders:zod.z.record(zod.z.string()).optional(),callbacks:zod.z.array(zod.z.custom()).nonempty().optional(),metadataForCallbacks:zod.z.any().optional()}),Sr=zod.z.object({request:zod.z.object({config:types.Config(),embeddingRequests:types.EmbeddingRequests()}),response:types.EmbeddingResponse,cached:zod.z.boolean(),latencyInMs:zod.z.number().int().positive(),metadataForCallbacks:zod.z.any().optional(),provider:zod.z.object({request:zod.z.any(),response:zod.z.any()})});function _e(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleGetEmbeddings invoked"),e==null||e.debug("handleGetEmbeddings request: ",{request:s});let o=Ve.parse(s),i=s.callbacks||[],p=api.context.active();try{L(i,"onGetEmbeddingsStart",s.metadataForCallbacks);let n={config:o.config,embeddingRequests:o.embeddingRequests},m={url:yield o.model.getGetEmbeddingsUrl(o.config,o.embeddingRequests),headers:yield o.model.getGetEmbeddingsHeaders(o.config,o.embeddingRequests),data:yield o.model.getGetEmbeddingsData(o.config,o.embeddingRequests)};q()||(m.headers=M(T({},m.headers),{source:"adaline.ai"})),o.customHeaders&&(m.headers=T(T({},m.headers),o.customHeaders)),e==null||e.debug("handleGetEmbeddings providerRequest: ",{providerRequest:m});let c=ae(`get-embeddings:${m.url}:${o.model.modelSchema.name}`,n);if(o.enableCache){e==null||e.debug("handleGetEmbeddings checking cache");let y=yield s.cache.get(c);if(y)return y.cached=!0,e==null||e.debug("handleGetEmbeddings cached hit"),r==null||r.setAttribute("cached",!0),r==null||r.setStatus({code:api.SpanStatusCode.OK}),L(i,"onGetEmbeddingsCached",s.metadataForCallbacks,y),e==null||e.debug("handleGetEmbeddings cached response: ",{cachedResponse:y}),y}e==null||e.debug("handleGetEmbeddings cache miss");let C=Date.now(),g=yield t.post(m.url,m.data,m.headers,p),F=Date.now()-C;e==null||e.debug("handleGetEmbeddings providerResponse: ",{providerResponse:g});let z={request:n,response:o.model.transformGetEmbeddingsResponse(g.data),cached:!1,latencyInMs:F,metadataForCallbacks:s.metadataForCallbacks,provider:{request:m,response:g}};return e==null||e.debug("handleGetEmbeddings response: ",{response:z}),o.enableCache&&(yield s.cache.set(c,z),e==null||e.debug("handleGetEmbeddings response cached")),r==null||r.setAttribute("cached",!1),r==null||r.setStatus({code:api.SpanStatusCode.OK}),L(i,"onGetEmbeddingsComplete",s.metadataForCallbacks,z),z}catch(n){e==null||e.warn("handleGetEmbeddings error: ",{error:n});let m;throw E.isHttpRequestError(n)||n instanceof w?m=n:m=I(n),L(i,"onGetEmbeddingsError",s.metadataForCallbacks,m),m}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("get-embeddings.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var Be=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),Vr=zod.z.object({request:zod.z.any(),providerRequest:zod.z.object({url:zod.z.string().url(),headers:zod.z.record(zod.z.string()),data:zod.z.any()}),providerResponse:zod.z.any(),transformedResponse:zod.z.optional(types.ChatResponse)});function Ye(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleProxyCompleteChat invoked"),e==null||e.debug("handleProxyCompleteChat request: ",{request:s});let o=Be.parse(s),i=api.context.active();try{o.headers=M(T({},o.headers),{source:"adaline.ai"});let p={url:yield o.model.getProxyCompleteChatUrl(o.data,o.headers,o.query),headers:yield o.model.getProxyCompleteChatHeaders(o.data,o.headers,o.query),data:o.data};e==null||e.debug("handleProxyCompleteChat providerRequest: ",{providerRequest:p});let n=yield t.post(p.url,p.data,p.headers,i);e==null||e.debug("handleProxyCompleteChat providerResponse: ",{providerResponse:n});let m;try{m=o.model.transformCompleteChatResponse(n.data);}catch(C){e==null||e.warn("handleProxyCompleteChat transformation error: ",{transformationError:C});}let c={request:{header:o.headers,data:o.data,query:o.query},providerRequest:p,providerResponse:n,transformedResponse:m};return e==null||e.debug("handleProxyCompleteChat response: ",{response:c}),r==null||r.setStatus({code:api.SpanStatusCode.OK}),c}catch(p){e==null||e.warn("handleProxyCompleteChat error: ",{error:p});let n;throw E.isHttpRequestError(p)||p instanceof w?n=p:n=I(p),n}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("proxy-complete-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var Je=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),oo=zod.z.object({request:zod.z.any(),providerRequest:zod.z.object({url:zod.z.string().url(),headers:zod.z.record(zod.z.string()),data:zod.z.any()}),providerResponse:zod.z.any(),transformedResponse:zod.z.optional(types.EmbeddingResponse)});function Ze(s,t,a){return l(this,null,function*(){let e=h.getLogger(),d=r=>l(this,null,function*(){e==null||e.debug("handleProxyGetEmbeddings invoked"),e==null||e.debug("handleProxyGetEmbeddings request: ",{request:s});let o=Je.parse(s),i=api.context.active();try{let p={url:yield o.model.getGetEmbeddingsUrl(),headers:o.headers,data:o.data};p.headers=M(T({},p.headers),{source:"adaline.ai"});let n=T({},p);delete n.headers.host,delete n.headers["content-length"],e==null||e.debug("handleProxyGetEmbeddings providerRequest: ",{providerRequest:p});let m=yield t.post(n.url,n.data,n.headers,i);e==null||e.debug("handleProxyGetEmbeddings providerResponse: ",{providerResponse:m});let c;try{c=o.model.transformGetEmbeddingsResponse(m.data);}catch(g){e==null||e.warn("handleProxyGetEmbeddings transformation error: ",{transformationError:g});}let C={request:p,providerRequest:n,providerResponse:m,transformedResponse:c};return e==null||e.debug("handleProxyGetEmbeddings response: ",{response:C}),r==null||r.setStatus({code:api.SpanStatusCode.OK}),C}catch(p){e==null||e.warn("handleProxyGetEmbeddings error: ",{error:p});let n;throw E.isHttpRequestError(p)||p instanceof w?n=p:n=I(p),n}finally{r==null||r.end();}});return a?yield api.context.with(a,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("proxy-get-embeddings.handler",o=>l(this,null,function*(){return yield d(o)}))})):yield d()})}var et=zod.z.object({model:zod.z.custom(),data:zod.z.any(),headers:zod.z.record(zod.z.string()),query:zod.z.record(zod.z.string()).optional()}),go=zod.z.object({request:zod.z.any(),providerRequest:zod.z.object({url:zod.z.string().url(),headers:zod.z.record(zod.z.string()),data:zod.z.any()}),providerResponse:zod.z.any(),transformedResponse:zod.z.array(types.PartialChatResponse).optional()});function at(s,t,a){return O(this,null,function*(){let e=h.getLogger(),d=function(r){return O(this,null,function*(){e==null||e.debug("handleProxyStreamChat invoked"),e==null||e.debug("handleProxyStreamChat request: ",{request:s});let o=api.context.active(),i=et.parse(s);try{i.headers=M(T({},i.headers),{source:"adaline.ai"});let y={url:yield new b(i.model.getProxyStreamChatUrl(i.data,i.headers,i.query)),headers:yield new b(i.model.getProxyStreamChatHeaders(i.data,i.headers,i.query)),data:i.data};e==null||e.debug("handleProxyStreamChat providerRequest: ",{providerRequest:y});let v="";try{for(var C=U(t.stream(y.url,"post",y.data,y.headers,void 0,o)),g,F,z;g=!(F=yield new b(C.next())).done;g=!1){let R=F.value;let G=[];try{try{for(var p=U(i.model.transformProxyStreamChatResponseChunk(R,v,i.data,i.headers,i.query)),n,m,c;n=!(m=yield new b(p.next())).done;n=!1){let $=m.value;$.partialResponse.partialMessages.length>0?G.push($.partialResponse):v=$.buffer;}}catch(m){c=[m];}finally{try{n&&(m=p.return)&&(yield new b(m.call(p)));}finally{if(c)throw c[0]}}}catch($){e==null||e.warn("handleProxyStreamChat transformation error",{transformationError:$}),G=void 0;}let j={request:{header:i.headers,data:i.data,query:i.query},providerRequest:y,providerResponse:R,transformedResponse:G};e==null||e.debug("handleProxyStreamChat streamResponse: ",{streamResponse:j}),yield j;}}catch(F){z=[F];}finally{try{g&&(F=C.return)&&(yield new b(F.call(C)));}finally{if(z)throw z[0]}}r==null||r.setStatus({code:api.SpanStatusCode.OK});}catch(y){e==null||e.warn("handleProxyStreamChat error: ",{error:y});let v;throw E.isHttpRequestError(y)||y instanceof w?v=y:v=I(y),v}finally{r==null||r.end();}})};return a?yield*Q(yield new b(api.context.with(a,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("proxy-stream-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})))):yield*Q(d())})}var nt=zod.z.object({model:zod.z.custom(),config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional(),customHeaders:zod.z.record(zod.z.string()).optional(),callbacks:zod.z.array(zod.z.custom()).nonempty().optional(),metadataForCallbacks:zod.z.any().optional(),abortSignal:zod.z.instanceof(AbortSignal).optional()}),Mo=zod.z.object({request:zod.z.object({config:types.Config(),messages:zod.z.array(types.Message()),tools:zod.z.array(types.Tool()).optional()}),response:types.PartialChatResponse,metadataForCallbacks:zod.z.any().optional(),provider:zod.z.object({request:zod.z.any(),response:zod.z.any()})});function dt(s,t,a){return O(this,null,function*(){let e=h.getLogger(),d=function(r){return O(this,null,function*(){e==null||e.debug("handleStreamChat invoked"),e==null||e.debug("handleStreamChat request: ",{request:s});let o=nt.parse(s),i=s.callbacks||[],p=api.context.active(),n={config:o.config,messages:o.messages,tools:o.tools};try{L(i,"onStreamStart",s.metadataForCallbacks);let R={url:yield new b(o.model.getStreamChatUrl(o.config,o.messages,o.tools)),headers:yield new b(o.model.getStreamChatHeaders(o.config,o.messages,o.tools)),data:yield new b(o.model.getStreamChatData(o.config,o.messages,o.tools))};q()||(R.headers=M(T({},R.headers),{source:"adaline.ai"})),o.customHeaders&&(R.headers=T(T({},R.headers),o.customHeaders)),e==null||e.debug("handleStreamChat providerRequest: ",{providerRequest:R});let G="",j=!0;try{for(var F=U(t.stream(R.url,"post",R.data,R.headers,{abortSignal:s.abortSignal},p)),z,y,v;z=!(y=yield new b(F.next())).done;z=!1){let $=y.value;try{for(var m=U(o.model.transformStreamChatResponseChunk($,G)),c,C,g;c=!(C=yield new b(m.next())).done;c=!1){let D=C.value;if(D.partialResponse.partialMessages.length>0){let Y={request:n,response:D.partialResponse,metadataForCallbacks:s.metadataForCallbacks,provider:{request:R,response:$}};L(i,j?"onStreamFirstResponse":"onStreamNewResponse",s.metadataForCallbacks,Y),j&&(j=!1),e==null||e.debug("handleStreamChat streamResponse: ",{streamResponse:Y}),yield Y;}else G=D.buffer;}}catch(C){g=[C];}finally{try{c&&(C=m.return)&&(yield new b(C.call(m)));}finally{if(g)throw g[0]}}}}catch(y){v=[y];}finally{try{z&&(y=F.return)&&(yield new b(y.call(F)));}finally{if(v)throw v[0]}}r==null||r.setStatus({code:api.SpanStatusCode.OK}),L(i,"onStreamEnd",s.metadataForCallbacks);}catch(R){e==null||e.warn("handleStreamChat error: ",{error:R});let G;throw E.isHttpRequestError(R)||R instanceof w?G=R:G=I(R),L(i,"onStreamError",s.metadataForCallbacks,G),G}finally{r==null||r.end();}})};return a?yield*Q(yield new b(api.context.with(a,()=>l(this,null,function*(){return yield f.getTracer().startActiveSpan("stream-chat.handler",o=>l(this,null,function*(){return yield d(o)}))})))):yield*Q(d())})}var ue=class{constructor(t={}){var e,d,r,o,i,p,n;if(!t.dangerouslyAllowBrowser&&q())throw new w("It looks like you're running in a browser-like environment. This is disabled by default, as it risks exposing your provider secrets to attackers. If you understand the risks and have appropriate mitigation in place, you can set the `dangerouslyAllowBrowser` option to `true`.");this.options=Ae.parse(t),h.setLogger(t.logger),this.logger=t.logger,this.analytics=se.getAnalyticsRecorder(this.options.analyticsEnabled===void 0?!0:this.options.analyticsEnabled),f.setTracer((e=t.telemetry)==null?void 0:e.tracer),this.tracer=f.getTracer(),f.setMeter((d=t.telemetry)==null?void 0:d.meter),this.meter=f.getMeter();let a={maxConcurrentTasks:((r=this.options.queueOptions)==null?void 0:r.maxConcurrentTasks)||4,retryCount:((o=this.options.queueOptions)==null?void 0:o.retryCount)||3,retry:((i=this.options.queueOptions)==null?void 0:i.retry)||{initialDelay:1e3,exponentialFactor:2},timeout:((p=this.options.queueOptions)==null?void 0:p.timeout)||12e4};this.queues={completeChat:new B(a),getEmbeddings:new B(a),proxyCompleteChat:new B(a),proxyGetEmbeddings:new B(a)},this.options.enableProxyAgent===void 0||this.options.enableProxyAgent,this.httpClient=t.httpClient||new ee({timeoutInMilliseconds:a.timeout*.9,enableProxyAgent:this.options.enableProxyAgent}),this.caches={completeChat:t.completeChatCache||new X,getEmbeddings:t.getEmbeddingsCache||new X},(n=this.logger)==null||n.debug("gateway initialized");}completeChat(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.completeChat invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=J.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("complete-chat",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,cache:this.caches.completeChat,resolve:c=>{this.analytics.record("completeChat","success",{modelName:e,usage:c.response.usage||{}}),i(c);},reject:c=>{console.log("completeChat error",c),this.analytics.record("completeChat","error",{modelName:e}),p(c);},execute:this.executeCompleteChat.bind(this),telemetryContext:api.context.active()};this.queues.completeChat.enqueue(n),(m=this.logger)==null||m.debug(`gateway.completeChat task enqueued, id: ${n.id}`);})}))})}executeCompleteChat(t,a){return l(this,null,function*(){var d,r,o,i;(d=this.logger)==null||d.debug("gateway.executeCompleteChat invoked");let e=J.parse(t);return ze({cache:this.caches.completeChat,model:e.model,config:e.config,messages:e.messages,tools:e.tools,enableCache:(o=(r=e.options)==null?void 0:r.enableCache)!=null?o:!0,callbacks:this.options.completeChatCallbacks,metadataForCallbacks:(i=e.options)==null?void 0:i.metadataForCallbacks},this.httpClient,a)})}streamChat(t){return O(this,null,function*(){var i,p,n,m;(i=this.logger)==null||i.info("gateway.streamChat invoked"),(p=this.logger)==null||p.debug("request: ",{request:t});let a=Me.parse(t),e=a.model.modelSchema.name,d="success",r=this.tracer.startSpan("stream-chat"),o=api.trace.setSpan(api.context.active(),r);try{return r.setAttribute("modelName",e),yield*Q(yield new b(api.context.with(o,()=>l(this,null,function*(){var c;return dt({model:a.model,config:a.config,messages:a.messages,tools:a.tools,callbacks:this.options.streamChatCallbacks,metadataForCallbacks:(c=a.options)==null?void 0:c.metadataForCallbacks,abortSignal:a.abortSignal},this.httpClient,o)}))))}catch(c){throw d="error",r.setStatus({code:api.SpanStatusCode.ERROR,message:"stream failed"}),(n=this.logger)==null||n.error("gateway.streamChat error: ",{error:c}),c instanceof w?c:new w(c==null?void 0:c.message,500,(m=c==null?void 0:c.response)==null?void 0:m.data)}finally{this.analytics.record("streamChat",d,{modelName:e}),r.end();}})}getEmbeddings(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.getEmbeddings invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=me.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("get-embeddings",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,cache:this.caches.getEmbeddings,resolve:c=>{this.analytics.record("getEmbeddings","success",{modelName:e,usage:c.response.usage||{}}),i(c);},reject:c=>{this.analytics.record("getEmbeddings","error",{modelName:e}),p(c);},execute:this.executeGetEmbeddings.bind(this),telemetryContext:api.context.active()};this.queues.getEmbeddings.enqueue(n),(m=this.logger)==null||m.debug(`gateway.getEmbeddings task enqueued, id: ${n.id}`);})}))})}executeGetEmbeddings(t,a){return l(this,null,function*(){var d,r,o,i;(d=this.logger)==null||d.debug("gateway.executeGetEmbeddings invoked");let e=me.parse(t);return _e({cache:this.caches.getEmbeddings,model:e.model,config:e.config,embeddingRequests:e.embeddingRequests,enableCache:(o=(r=e.options)==null?void 0:r.enableCache)!=null?o:!0,callbacks:this.options.getEmbeddingsCallbacks,metadataForCallbacks:(i=e.options)==null?void 0:i.metadataForCallbacks},this.httpClient,a)})}proxyCompleteChat(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.proxyCompleteChat invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=pe.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("proxy-complete-chat",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,resolve:c=>{var C;this.analytics.record("proxyCompleteChat","success",{modelName:e,usage:((C=c.transformedResponse)==null?void 0:C.usage)||{}}),i(c);},reject:c=>{console.log("proxyCompleteChat error",c),this.analytics.record("proxyCompleteChat","error",{modelName:e}),p(c);},execute:this.executeProxyCompleteChat.bind(this),telemetryContext:api.context.active()};this.queues.proxyCompleteChat.enqueue(n),(m=this.logger)==null||m.debug(`gateway.proxyCompleteChat task enqueued, id: ${n.id}`);})}))})}executeProxyCompleteChat(t,a){return l(this,null,function*(){var d;(d=this.logger)==null||d.debug("gateway.executeCompleteChat invoked");let e=pe.parse(t);return Ye({model:e.model,data:e.data,headers:e.headers,query:e.query},this.httpClient,a)})}proxyStreamChat(t){return O(this,null,function*(){var i,p,n,m;(i=this.logger)==null||i.info("gateway.proxyStreamChat invoked"),(p=this.logger)==null||p.debug("proxyStreamChat request: ",{request:t});let a=Le.parse(t),e=a.model.modelSchema.name,d="success",r=this.tracer.startSpan("proxy-stream-chat"),o=api.trace.setSpan(api.context.active(),r);try{return r.setAttribute("modelName",e),yield*Q(yield new b(api.context.with(o,()=>l(this,null,function*(){return at({model:a.model,data:a.data,headers:a.headers,query:a.query},this.httpClient,o)}))))}catch(c){throw d="error",r.setStatus({code:api.SpanStatusCode.ERROR,message:"proxy stream failed"}),(n=this.logger)==null||n.error("gateway.proxyStreamChat error: ",{error:c}),c instanceof w?c:new w(c==null?void 0:c.message,500,(m=c==null?void 0:c.response)==null?void 0:m.data)}finally{this.analytics.record("proxyStreamChat",d,{modelName:e}),r.end();}})}proxyGetEmbeddings(t){return l(this,null,function*(){var d,r;(d=this.logger)==null||d.info("gateway.proxyGetEmbeddings invoked"),(r=this.logger)==null||r.debug("request: ",{request:t});let a=le.parse(t),e=a.model.modelSchema.name;return yield this.tracer.startActiveSpan("proxy-get-embeddings",o=>l(this,null,function*(){return o.setAttribute("modelName",e),new Promise((i,p)=>{var m;let n={id:uuid.v4(),request:a,resolve:c=>{var C;this.analytics.record("proxyGetEmbeddings","success",{modelName:e,usage:((C=c.transformedResponse)==null?void 0:C.usage)||{}}),i(c);},reject:c=>{this.analytics.record("proxyGetEmbeddings","error",{modelName:e}),p(c);},execute:this.executeProxyGetEmbeddings.bind(this),telemetryContext:api.context.active()};this.queues.proxyGetEmbeddings.enqueue(n),(m=this.logger)==null||m.debug(`gateway.proxyGetEmbeddings task enqueued, id: ${n.id}`);})}))})}executeProxyGetEmbeddings(t,a){return l(this,null,function*(){var d;(d=this.logger)==null||d.debug("gateway.executeProxyGetEmbeddings invoked");let e=le.parse(t);return Ze({model:e.model,headers:e.headers,data:e.data,query:e.query},this.httpClient,a)})}};ue.GatewayError=w;
20
20
 
21
21
  exports.AnalyticsManager = se;
22
22
  exports.CompleteChatHandlerRequest = $e;
@@ -26,7 +26,7 @@ exports.Gateway = ue;
26
26
  exports.GatewayError = w;
27
27
  exports.GatewayTelemetryError = Ce;
28
28
  exports.GetEmbeddingsHandlerRequest = Ve;
29
- exports.GetEmbeddingsHandlerResponse = kr;
29
+ exports.GetEmbeddingsHandlerResponse = Sr;
30
30
  exports.HttpClientError = N;
31
31
  exports.HttpRequestError = E;
32
32
  exports.IsomorphicHttpClient = ee;
@@ -45,7 +45,7 @@ exports.QueueTaskTimeoutError = te;
45
45
  exports.SimpleQueue = B;
46
46
  exports.StreamChatHandlerRequest = nt;
47
47
  exports.StreamChatHandlerResponse = Mo;
48
- exports.TelemetryManager = b;
48
+ exports.TelemetryManager = f;
49
49
  exports.handleCompleteChat = ze;
50
50
  exports.handleGetEmbeddings = _e;
51
51
  exports.handleProxyCompleteChat = Ye;