promptlayer 1.0.59 → 1.0.60

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
@@ -254,6 +254,9 @@ interface LogRequest {
254
254
  prompt_id?: number;
255
255
  score_name?: string;
256
256
  api_type?: string;
257
+ status?: "SUCCESS" | "WARNING" | "ERROR";
258
+ error_type?: string;
259
+ error_message?: string;
257
260
  }
258
261
  interface RequestLog {
259
262
  id: number;
package/dist/index.d.ts CHANGED
@@ -254,6 +254,9 @@ interface LogRequest {
254
254
  prompt_id?: number;
255
255
  score_name?: string;
256
256
  api_type?: string;
257
+ status?: "SUCCESS" | "WARNING" | "ERROR";
258
+ error_type?: string;
259
+ error_message?: string;
257
260
  }
258
261
  interface RequestLog {
259
262
  id: number;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var so=Object.create;var Tt=Object.defineProperty,io=Object.defineProperties,ao=Object.getOwnPropertyDescriptor,co=Object.getOwnPropertyDescriptors,po=Object.getOwnPropertyNames,At=Object.getOwnPropertySymbols,lo=Object.getPrototypeOf,Gt=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var Wt=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e);var se=(e,t,o)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,h=(e,t)=>{for(var o in t||(t={}))Gt.call(t,o)&&se(e,o,t[o]);if(At)for(var o of At(t))ie.call(t,o)&&se(e,o,t[o]);return e},F=(e,t)=>io(e,co(t));var Ct=(e,t)=>{var o={};for(var n in e)Gt.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&At)for(var n of At(e))t.indexOf(n)<0&&ie.call(e,n)&&(o[n]=e[n]);return o};var uo=(e,t)=>{for(var o in t)Tt(e,o,{get:t[o],enumerable:!0})},ae=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of po(t))!Gt.call(e,r)&&r!==o&&Tt(e,r,{get:()=>t[r],enumerable:!(n=ao(t,r))||n.enumerable});return e};var Y=(e,t,o)=>(o=e!=null?so(lo(e)):{},ae(t||!e||!e.__esModule?Tt(o,"default",{value:e,enumerable:!0}):o,e)),mo=e=>ae(Tt({},"__esModule",{value:!0}),e);var _=(e,t,o)=>new Promise((n,r)=>{var s=c=>{try{l(o.next(c))}catch(p){r(p)}},i=c=>{try{l(o.throw(c))}catch(p){r(p)}},l=c=>c.done?n(c.value):Promise.resolve(c.value).then(s,i);l((o=o.apply(e,t)).next())}),v=function(e,t){this[0]=e,this[1]=t},It=(e,t,o)=>{var n=(i,l,c,p)=>{try{var m=o[i](l),b=(l=m.value)instanceof v,y=m.done;Promise.resolve(b?l[0]:l).then(R=>b?n(i==="return"?i:"next",l[1]?{done:R.done,value:R.value}:R,c,p):c({value:R,done:y})).catch(R=>n("throw",R,c,p))}catch(R){p(R)}},r=i=>s[i]=l=>new Promise((c,p)=>n(i,l,c,p)),s={};return o=o.apply(e,t),s[Wt("asyncIterator")]=()=>s,r("next"),r("throw"),r("return"),s};var kt=(e,t,o)=>(t=e[Wt("asyncIterator")])?t.call(e):(e=e[Wt("iterator")](),t={},o=(n,r)=>(r=e[n])&&(t[n]=s=>new Promise((i,l,c)=>(s=r.call(e,s),c=s.done,Promise.resolve(s.value).then(p=>i({value:p,done:c}),l)))),o("next"),o("return"),t);var Mo={};uo(Mo,{PromptLayer:()=>Yt});module.exports=mo(Mo);var we=Y(require("ably")),xe=require("centrifuge"),Te=Y(require("p-retry"));var D=(e,t,o,n)=>{let r={id:e,function:{name:t,input:o}};return n&&(r.tool_id=n),r},T=n=>{var r=n,{type:e,item_id:t}=r,o=Ct(r,["type","item_id"]);let s=h({type:e},o);return t&&(s.item_id=t),s},Pt=(e,t)=>({input_variables:[],template_format:"f-string",content:e,role:"assistant",function_call:null,name:null,tool_calls:t}),St=(e,t)=>({prompt_template:{messages:[e],type:"chat",input_variables:[]},metadata:t}),ce=(e,t)=>{let o=[],n=[];e.type==="content_block_start"?e.content_block.type==="thinking"?o.push(T({type:"thinking",thinking:"",signature:""})):e.content_block.type==="text"?o.push(T({type:"text",text:""})):e.content_block.type==="tool_use"&&n.push(D(e.content_block.id||"",e.content_block.name||"",{})):e.type==="content_block_delta"&&(e.delta.type==="thinking_delta"?o.push(T({type:"thinking",thinking:e.delta.thinking||"",signature:""})):e.delta.type==="text_delta"?o.push(T({type:"text",text:e.delta.text||""})):e.delta.type==="signature_delta"?o.push(T({type:"thinking",thinking:"",signature:e.delta.signature||""})):e.delta.type==="input_json_delta"&&n.push(D("","",e.delta.partial_json)));let r=Pt(o,n);return St(r,t)},pe=(e,t)=>{let o=[],n=[];for(let s of e.candidates)if(s.content&&s.content.parts&&Array.isArray(s.content.parts))for(let i of s.content.parts)i.text?i.thought===!0?o.push(T({type:"thinking",thinking:i.text,signature:i.thoughtSignature||""})):o.push(T({type:"text",text:i.text})):i.functionCall&&n.push(D(i.functionCall.id||"",i.functionCall.name||"",i.functionCall.args||{}));let r=Pt(o,n);return St(r,t)},Mt=(e,t)=>{let o=[],n=[];for(let s of e.choices)if(s.delta){s.delta.content&&o.push(T({type:"text",text:s.delta.content}));let i=s.delta.tool_calls||s.delta.toolCalls;if(i&&Array.isArray(i))for(let l of i)l.function&&n.push(D(l.id||"",l.function.name||"",l.function.arguments||""))}let r=Pt(o,n);return St(r,t)},le=(e,t)=>{var i,l,c,p,m,b,y,R,w,E,A,C,g,O,N,W,B,I,k,J,M,H,K,z,tt,Z,et,ot,nt,j,rt,ct,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,bt,Rt,wt,xt,S,L,u,d,x,Vt,Xt,Ht,Zt,Qt,vt,te,ee,oe,ne;let o=[],n=[],r=e==null?void 0:e.type;if(r==="response.reasoning_summary_text.delta"){let a=(i=e==null?void 0:e.delta)!=null?i:"",P=(l=e==null?void 0:e.item_id)!=null?l:"";a&&o.push(T({type:"thinking",item_id:P,thinking:a,signature:""}))}else if(r==="response.reasoning_summary_text.done"){let a=(c=e==null?void 0:e.text)!=null?c:"",P=(p=e==null?void 0:e.item_id)!=null?p:"";a&&o.push(T({type:"thinking",item_id:P,thinking:a,signature:""}))}else if(r==="response.reasoning_summary_part.added"){let a=(m=e==null?void 0:e.part)!=null?m:{},P=(b=e==null?void 0:e.item_id)!=null?b:"";if((a==null?void 0:a.type)==="summary_text"){let f=(y=a==null?void 0:a.text)!=null?y:"";o.push(T({type:"thinking",item_id:P,thinking:f,signature:""}))}}else if(r==="response.reasoning_summary_part.done"){let a=(R=e==null?void 0:e.part)!=null?R:{},P=(w=e==null?void 0:e.item_id)!=null?w:"";if((a==null?void 0:a.type)==="summary_text"){let f=(E=a==null?void 0:a.text)!=null?E:"";f&&o.push(T({type:"thinking",item_id:P,thinking:f,signature:""}))}}else if(r==="response.function_call_arguments.delta"){let a=(A=e==null?void 0:e.item_id)!=null?A:"",P=(C=e==null?void 0:e.delta)!=null?C:"";P&&n.push(D("","",P,a))}else if(r==="response.function_call_arguments.done"){let a=(g=e==null?void 0:e.item_id)!=null?g:"",P=(O=e==null?void 0:e.arguments)!=null?O:"";P&&n.push(D("","",P,a))}else if(r==="response.output_item.added"){let a=(N=e==null?void 0:e.item)!=null?N:{},P=a==null?void 0:a.type,f=(W=a==null?void 0:a.id)!=null?W:"";P==="reasoning"?o.push(T({type:"thinking",thinking:"",signature:"",item_id:f})):P==="function_call"?n.push(D((a==null?void 0:a.call_id)||"",(a==null?void 0:a.name)||"","",f)):P==="message"?o.push(T({type:"text",item_id:f,text:""})):P==="code_interpreter_call"&&o.push(T({type:"code",item_id:f,code:(B=a==null?void 0:a.code)!=null?B:"",container_id:(I=a==null?void 0:a.container_id)!=null?I:""}))}else if(r==="response.content_part.added"){let a=(k=e==null?void 0:e.part)!=null?k:{},P=(J=a==null?void 0:a.type)!=null?J:"output_text",f=(M=e==null?void 0:e.item_id)!=null?M:"";P==="output_text"&&o.push(T({type:"text",item_id:f,text:(H=a==null?void 0:a.text)!=null?H:"",annotations:(a==null?void 0:a.annotations)||[]}))}else if(r==="response.content_part.done"){let a=(K=e==null?void 0:e.part)!=null?K:{},P=(z=a==null?void 0:a.type)!=null?z:"output_text",f=(tt=e==null?void 0:e.item_id)!=null?tt:"";P==="output_text"&&o.push(T({type:"text",item_id:f,text:(Z=a==null?void 0:a.text)!=null?Z:"",annotations:(a==null?void 0:a.annotations)||[]}))}else if(r==="response.output_text.annotation.added"){let a=(e==null?void 0:e.annotation)||{},P=a==null?void 0:a.type,f=null;P==="url_citation"?f={type:"url_citation",title:a==null?void 0:a.title,url:a==null?void 0:a.url,start_index:a==null?void 0:a.start_index,end_index:a==null?void 0:a.end_index}:P=="file_citation"?f={type:"file_citation",index:a==null?void 0:a.index,file_id:a==null?void 0:a.file_id,filename:a==null?void 0:a.filename}:f=a,o.push(T({type:"text",item_id:(et=e==null?void 0:e.item_id)!=null?et:"",text:"",annotations:[f]}))}else if(r==="response.code_interpreter_call.in_progress")o.push(T({type:"code",item_id:(ot=e==null?void 0:e.item_id)!=null?ot:"",code:(nt=e==null?void 0:e.code)!=null?nt:"",container_id:(j=e==null?void 0:e.container_id)!=null?j:""}));else if(r==="response.code_interpreter_call_code.delta")o.push(T({type:"code",item_id:(rt=e==null?void 0:e.item_id)!=null?rt:"",code:(ct=e==null?void 0:e.delta)!=null?ct:"",container_id:(pt=e==null?void 0:e.container_id)!=null?pt:""}));else if(r==="response.output_text.delta"){let a=(lt=e==null?void 0:e.delta)!=null?lt:"";a&&o.push(T({type:"text",item_id:(ut=e==null?void 0:e.item_id)!=null?ut:"",text:a}))}else if(r==="response.output_text.done"){let a=(mt=e==null?void 0:e.text)!=null?mt:"";a&&o.push(T({type:"text",item_id:(dt=e==null?void 0:e.item_id)!=null?dt:"",text:a}))}else if(r==="response.output_item.done"){let a=(ft=e==null?void 0:e.item)!=null?ft:{},P=a==null?void 0:a.type,f=(_t=a==null?void 0:a.id)!=null?_t:"";if(P==="reasoning"){let G=((yt=a==null?void 0:a.summary)!=null?yt:[]).map(Q=>{var $;return($=Q==null?void 0:Q.text)!=null?$:""}).join("");o.push(T({type:"thinking",item_id:f,thinking:G,signature:""}))}else if(P==="function_call")n.push(D((a==null?void 0:a.call_id)||"",(a==null?void 0:a.name)||"",(a==null?void 0:a.arguments)||"",f));else if(P==="message"){let st=(ht=a==null?void 0:a.content)!=null?ht:[];for(let G of st)if((G==null?void 0:G.type)==="output_text"){let Q=(gt=G==null?void 0:G.text)!=null?gt:"";Q&&o.push(T({type:"text",item_id:f,text:Q}))}}else P==="code_interpreter_call"&&o.push(T({type:"code",item_id:f,code:(bt=a==null?void 0:a.code)!=null?bt:"",container_id:(Rt=a==null?void 0:a.container_id)!=null?Rt:""}))}else if(r==="response.code_interpreter_call_code.done")o.push(T({type:"code",item_id:(wt=e==null?void 0:e.item_id)!=null?wt:"",code:(xt=e==null?void 0:e.code)!=null?xt:"",container_id:(S=e==null?void 0:e.container_id)!=null?S:""}));else if(r==="response.code_interpreter_call.interpreting")o.push(T({type:"code",item_id:(L=e==null?void 0:e.item_id)!=null?L:"",code:(u=e==null?void 0:e.code)!=null?u:"",container_id:(d=e==null?void 0:e.container_id)!=null?d:""}));else if(r==="response.code_interpreter_call.completed")o.push(T({type:"code",item_id:(x=e==null?void 0:e.item_id)!=null?x:"",code:(Vt=e==null?void 0:e.code)!=null?Vt:"",container_id:(Xt=e==null?void 0:e.container_id)!=null?Xt:""}));else if(r==="response.completed"){let a=(Ht=e==null?void 0:e.response)!=null?Ht:{},P=(Zt=a==null?void 0:a.output)!=null?Zt:[];for(let f of P){let st=f==null?void 0:f.type,G=(Qt=f==null?void 0:f.id)!=null?Qt:"";if(st==="reasoning"){let $=((vt=f==null?void 0:f.summary)!=null?vt:[]).map(it=>{var re;return(re=it==null?void 0:it.text)!=null?re:""}).join("");o.push(T({type:"thinking",item_id:G,thinking:$,signature:""}))}else if(st==="function_call")n.push(D((f==null?void 0:f.call_id)||"",(f==null?void 0:f.name)||"",(f==null?void 0:f.arguments)||"",G));else if(st==="message"){let Q=(te=f==null?void 0:f.content)!=null?te:[];for(let $ of Q)if(($==null?void 0:$.type)==="output_text"){let it=(ee=$==null?void 0:$.text)!=null?ee:"";it&&o.push(T({type:"text",item_id:G,text:it,annotations:($==null?void 0:$.annotations)||[]}))}}else st==="code_interpreter_call"&&o.push(T({type:"code",item_id:G,code:(oe=f==null?void 0:f.code)!=null?oe:"",container_id:(ne=f==null?void 0:f.container_id)!=null?ne:""}))}}let s=Pt(o,n||[]);return St(s,t)},ue=(e,t)=>{var s,i,l,c;let o=[],n=[];if("contentBlockDelta"in e){let p=((s=e.contentBlockDelta)==null?void 0:s.delta)||{};if("reasoningContent"in p){let m=((i=p.reasoningContent)==null?void 0:i.text)||"",b=((l=p.reasoningContent)==null?void 0:l.signature)||"";o.push(T({type:"thinking",thinking:m,signature:b}))}else if("text"in p)o.push(T({type:"text",text:p.text||""}));else if("toolUse"in p){let m=p.toolUse||{};n.push(D(m.toolUseId||"",m.name||"",m.input||""))}}else if("contentBlockStart"in e){let p=((c=e.contentBlockStart)==null?void 0:c.start)||{};if("toolUse"in p){let m=p.toolUse||{};n.push(D(m.toolUseId||"",m.name||"",""))}}let r=Pt(o,n);return St(r,t)};var _e=["openai","openai.azure"],Et=e=>{var n,r,s,i,l,c,p,m,b,y,R,w,E,A,C,g,O,N,W,B,I,k,J,M,H,K,z,tt,Z,et,ot,nt,j,rt,ct,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,bt,Rt,wt,xt;let t={id:null,object:"response",created_at:null,status:null,error:null,incomplete_details:null,instructions:null,max_output_tokens:null,model:null,output:[],parallel_tool_calls:!0,previous_response_id:null,reasoning:{},store:!0,temperature:1,text:void 0,tool_choice:"auto",tools:[],top_p:1,truncation:"disabled",usage:null,user:null,metadata:{}},o={};for(let S of e){let L=S==null?void 0:S.type;if(L==="response.created"){let u=S.response||{};t.id=(n=u.id)!=null?n:t.id,t.created_at=(r=u.created_at)!=null?r:t.created_at,t.model=(s=u.model)!=null?s:t.model,t.status=(i=u.status)!=null?i:t.status,t.parallel_tool_calls=(l=u.parallel_tool_calls)!=null?l:t.parallel_tool_calls,t.temperature=(c=u.temperature)!=null?c:t.temperature,t.tool_choice=(p=u.tool_choice)!=null?p:t.tool_choice,t.tools=(m=u.tools)!=null?m:t.tools,t.top_p=(b=u.top_p)!=null?b:t.top_p,t.truncation=(y=u.truncation)!=null?y:t.truncation,t.max_output_tokens=(R=u.max_output_tokens)!=null?R:t.max_output_tokens,t.previous_response_id=(w=u.previous_response_id)!=null?w:t.previous_response_id,t.store=(E=u.store)!=null?E:t.store,t.user=(A=u.user)!=null?A:t.user,t.metadata=(C=u.metadata)!=null?C:t.metadata;let d=u.text;d&&(t.text=d);let x=u.reasoning;x&&(t.reasoning=x);continue}if(L==="response.in_progress"){let u=S.response||{};t.status=(g=u.status)!=null?g:t.status;continue}if(L==="response.output_item.added"){let u=S.item||{},d=u.id,x=u.type;x==="reasoning"?o[d]={type:"reasoning",id:d,summary:[],status:(O=u.status)!=null?O:"in_progress"}:x==="function_call"?o[d]={type:"function_call",id:d,call_id:u.call_id,name:u.name,arguments:"",status:(N=u.status)!=null?N:"in_progress"}:x==="message"?o[d]={type:"message",id:d,role:(W=u.role)!=null?W:"assistant",content:[],status:(B=u.status)!=null?B:"in_progress"}:x==="code_interpreter_call"&&(o[d]={type:"code_interpreter_call",id:d,container_id:u.container_id,code:(I=u.code)!=null?I:"",status:(k=u.status)!=null?k:"in_progress"});continue}if(L==="response.reasoning_summary_part.added"){let u=S.item_id,d=S.part||{};if(u in o&&o[u].type==="reasoning"){let x={type:(J=d.type)!=null?J:"summary_text",text:(M=d.text)!=null?M:""};o[u].summary.push(x)}continue}if(L==="response.reasoning_summary_text.delta"){let u=S.item_id,d=(H=S.delta)!=null?H:"",x=(K=S.summary_index)!=null?K:0;if(u in o&&o[u].type==="reasoning"){for(;o[u].summary.length<=x;)o[u].summary.push({type:"summary_text",text:""});o[u].summary[x].text+=d}continue}if(L==="response.reasoning_summary_text.done"){let u=S.item_id,d=(z=S.text)!=null?z:"",x=(tt=S.summary_index)!=null?tt:0;if(u in o&&o[u].type==="reasoning"){for(;o[u].summary.length<=x;)o[u].summary.push({type:"summary_text",text:""});o[u].summary[x].text=d}continue}if(L==="response.reasoning_summary_part.done"){let u=S.item_id,d=S.part||{};if(u in o&&o[u].type==="reasoning"){let x=(Z=S.summary_index)!=null?Z:0;x<o[u].summary.length&&(o[u].summary[x]={type:(et=d.type)!=null?et:"summary_text",text:(ot=d.text)!=null?ot:""})}continue}if(L==="response.function_call_arguments.delta"){let u=S.item_id,d=(nt=S.delta)!=null?nt:"";u in o&&(o[u].arguments=`${o[u].arguments||""}${d}`);continue}if(L==="response.function_call_arguments.done"){let u=S.item_id,d=(j=S.arguments)!=null?j:"";u in o&&(o[u].arguments=d);continue}if(L==="response.content_part.added"){let u=S.part||{},d=Object.values(o).find(x=>x.type==="message");if(d){let x={type:(rt=u.type)!=null?rt:"output_text",text:(ct=u.text)!=null?ct:"",annotations:(pt=u.annotations)!=null?pt:[]};d.content.push(x)}continue}if(L==="response.output_text.delta"){let u=(lt=S.delta)!=null?lt:"";for(let d of Object.values(o))if(d.type==="message"&&d.content&&d.content.length){let x=d.content[d.content.length-1];x&&x.type==="output_text"&&(x.text=`${x.text||""}${u}`);break}continue}if(L==="response.output_text.done"){let u=(ut=S.text)!=null?ut:"";for(let d of Object.values(o))if(d.type==="message"&&d.content&&d.content.length){let x=d.content[d.content.length-1];x&&x.type==="output_text"&&(x.text=u);break}continue}if(L==="response.output_item.done"){let u=S.item||{},d=u.id;d in o&&(o[d].status=(mt=u.status)!=null?mt:"completed",u.type==="reasoning"?o[d].summary=(dt=u.summary)!=null?dt:o[d].summary:u.type==="function_call"?(o[d].arguments=(ft=u.arguments)!=null?ft:o[d].arguments,o[d].call_id=(_t=u.call_id)!=null?_t:o[d].call_id,o[d].name=(yt=u.name)!=null?yt:o[d].name):u.type==="message"&&(o[d].content=(ht=u.content)!=null?ht:o[d].content,o[d].role=(gt=u.role)!=null?gt:o[d].role),t.output.push(o[d]));continue}if(L==="response.completed"){let u=S.response||{};t.status=(Rt=(bt=u.status)!=null?bt:t.status)!=null?Rt:"completed",t.usage=(wt=u.usage)!=null?wt:t.usage,t.output=(xt=u.output)!=null?xt:t.output,u.reasoning&&(t.reasoning=u.reasoning);continue}}return t},Kt=e=>{var l,c,p,m,b,y,R,w,E,A;let t=null,o,n={id:"",choices:[],created:Date.now(),model:"",object:"chat.completion"},r=e.at(-1);if(!r)return n;let s;for(let C of e){if(C.choices.length===0)continue;let g=C.choices[0].delta;g.content&&(t=`${t||""}${g.content||""}`),g.function_call&&(o={name:`${o?o.name:""}${g.function_call.name||""}`,arguments:`${o?o.arguments:""}${g.function_call.arguments||""}`});let O=(l=g.tool_calls)==null?void 0:l[0];if(O){s=s||[];let N=s.at(-1);if(!N||O.id){s.push({id:O.id||"",type:O.type||"function",function:{name:((c=O.function)==null?void 0:c.name)||"",arguments:((p=O.function)==null?void 0:p.arguments)||""}});continue}N.function.name=`${N.function.name}${((m=O.function)==null?void 0:m.name)||""}`,N.function.arguments=`${N.function.arguments}${((b=O.function)==null?void 0:b.arguments)||""}`}}let i=e[0].choices.at(0);return n.choices.push({finish_reason:(y=i==null?void 0:i.finish_reason)!=null?y:"stop",index:(R=i==null?void 0:i.index)!=null?R:0,logprobs:(w=i==null?void 0:i.logprobs)!=null?w:null,message:{role:"assistant",content:t,function_call:o||void 0,tool_calls:s||void 0,refusal:(E=i==null?void 0:i.delta.refusal)!=null?E:null}}),n.id=r.id,n.model=r.model,n.created=r.created,n.system_fingerprint=r.system_fingerprint,n.usage=(A=r.usage)!=null?A:void 0,n},me=e=>{let t={id:"",choices:[{finish_reason:"stop",index:0,text:"",logprobs:null}],created:Date.now(),model:"",object:"text_completion"},o=e.at(-1);if(!o)return t;let n="";for(let r of e)r.choices.length>0&&r.choices[0].text&&(n=`${n}${r.choices[0].text}`);return t.choices[0].text=n,t.id=o.id,t.created=o.created,t.model=o.model,t.system_fingerprint=o.system_fingerprint,t.usage=o.usage,t},jt=e=>{var c;let t={id:"",model:"",content:[],role:"assistant",type:"message",stop_reason:"stop_sequence",stop_sequence:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,server_tool_use:null,service_tier:null}};if(!e.at(-1))return t;let n=null,r="",s="",i="",l="";for(let p of e)if(p.type==="message_start")t=h({},p.message);else if(p.type==="content_block_start")n=h({},p.content_block),n.type==="thinking"?(r="",s=""):n.type==="text"?i="":(n.type==="tool_use"||n.type==="server_tool_use")&&(l="");else if(p.type==="content_block_delta"&&n!==null){if(n.type==="thinking")"signature"in p.delta&&(r=p.delta.signature||""),"thinking"in p.delta&&(s+=p.delta.thinking||"");else if(n.type==="text")"text"in p.delta&&(i+=p.delta.text||"");else if((n.type==="tool_use"||n.type==="server_tool_use")&&p.delta.type==="input_json_delta"){let m=p.delta;l+=m.partial_json||""}}else if(p.type==="content_block_stop"&&n!==null){if(n.type==="thinking")n.signature=r,n.thinking=s;else if(n.type==="text")n.text=i,n.citations=null;else if(n.type==="tool_use"||n.type==="server_tool_use")try{n.input=l?JSON.parse(l):{}}catch(m){n.input={}}t.content.push(n),n=null,r="",s="",i="",l=""}else p.type==="message_delta"&&("usage"in p&&p.usage&&(t.usage=F(h({},t.usage),{output_tokens:(c=p.usage.output_tokens)!=null?c:0})),"delta"in p&&p.delta&&("stop_reason"in p.delta&&p.delta.stop_reason!==void 0&&(t.stop_reason=p.delta.stop_reason),"stop_sequence"in p.delta&&p.delta.stop_sequence!==void 0&&(t.stop_sequence=p.delta.stop_sequence)));return t},de=e=>{let t={completion:"",id:"",model:"",stop_reason:"",type:"completion"},o=e.at(-1);if(!o)return t;let n="";for(let r of e)n=`${n}${r.completion}`;return t.completion=n,t.id=o.id,t.model=o.model,t.stop_reason=o.stop_reason,t},fo=e=>{var i,l,c,p,m,b,y,R,w,E;let t=null,o={id:"",choices:[],created:Date.now(),model:"",object:"chat.completion"},n=e.at(-1).data;if(!n)return o;let r;for(let A of e){if(A.data.choices.length===0)continue;let C=A.data.choices[0].delta;C.content&&(t=`${t||""}${C.content||""}`);let g=(i=C.toolCalls)==null?void 0:i[0];if(g){r=r||[];let O=r.at(-1);if(!O||g.id){r.push({id:g.id||"",type:g.type||"function",function:{name:((l=g.function)==null?void 0:l.name)||"",arguments:((c=g.function)==null?void 0:c.arguments)||""}});continue}O.function.name=`${O.function.name}${((p=g.function)==null?void 0:p.name)||""}`,O.function.arguments=`${O.function.arguments}${((m=g.function)==null?void 0:m.arguments)||""}`}}let s=e[0].data.choices.at(0);return o.choices.push({finish_reason:(b=s==null?void 0:s.finish_reason)!=null?b:"stop",index:(y=s==null?void 0:s.index)!=null?y:0,logprobs:(R=s==null?void 0:s.logprobs)!=null?R:null,message:{role:"assistant",content:t,tool_calls:r||void 0,refusal:(w=s==null?void 0:s.delta.refusal)!=null?w:null}}),o.id=n.id,o.model=n.model,o.created=n.created,o.usage=(E=n.usage)!=null?E:void 0,o},fe=e=>{let t={ResponseMetadata:{},output:{message:{}},stopReason:"end_turn",metrics:{},usage:{}},o=[],n=null,r="",s="",i="",l="";for(let c of e)if("contentBlockStart"in c){let p=c.contentBlockStart;if("start"in p&&"toolUse"in p.start){let m=p.start.toolUse;n={toolUse:{toolUseId:m.toolUseId,name:m.name}},r=""}}else if("contentBlockDelta"in c){let p=c.contentBlockDelta.delta;if("text"in p)s+=p.text;else if("reasoningContent"in p){let m=p.reasoningContent;"text"in m?l+=m.text:"signature"in m&&(i+=m.signature)}else if("toolUse"in p&&"input"in p.toolUse){let m=p.toolUse.input;if(r+=m,!m.trim())continue}}else if("contentBlockStop"in c)if(n&&r){try{n.toolUse.input=JSON.parse(r)}catch(p){n.toolUse.input={}}o.push(n),n=null,r=""}else s?(o.push({text:s}),s=""):l&&i&&(o.push({reasoningContent:{reasoningText:{text:l,signature:i}}}),l="",i="");else if("messageStop"in c)t.stopReason=c.messageStop.stopReason;else if("metadata"in c){let p=c.metadata;t.usage=(p==null?void 0:p.usage)||{},t.metrics=(p==null?void 0:p.metrics)||{}}return t.output.message={role:"assistant",content:o},t},_o=(e,t,o,n)=>{var i,l;let r=h({},n),s=[];if(e){let c={text:e,thought:!0};s.push(c)}if(t){let c={text:t,thought:null};s.push(c)}for(let c of o){let p={function_call:c};s.push(p)}return s.length>0&&((l=(i=r.candidates)==null?void 0:i[0])!=null&&l.content)&&(r.candidates[0].content.parts=s),r},ye=e=>{var s,i;let{GenerateContentResponse:t}=require("@google/genai");if(!e.length)return new t;let o="",n="",r=[];for(let l of e)if(l.candidates&&((i=(s=l.candidates[0])==null?void 0:s.content)!=null&&i.parts))for(let c of l.candidates[0].content.parts)c.text?c.thought===!0?o+=c.text:n+=c.text:c.functionCall&&r.push(c.functionCall);return _o(o,n,r,e[e.length-1])},yo=e=>ye(e),ho=e=>ye(e),he=(e,t="openai.chat.completions.create")=>{if(t==="openai.responses.create"||t==="openai.AzureOpenAI.responses.create")return Et(e);if("completion"in e[0])return e.reduce((o,n)=>F(h({},n),{completion:`${o.completion}${n.completion}`}),{});if(t==="anthropic.messages.create")return jt(e);if("text"in e[0].choices[0]){let o="";for(let r of e)o=`${o}${r.choices[0].text}`;let n=structuredClone(e.at(-1));return n.choices[0].text=o,n}if("delta"in e[0].choices[0]){let o=Kt(e);return o.choices[0]=h(h({},o.choices[0]),o.choices[0].message),o}return""},go=(e,t)=>{let o=t.model.provider,n=t.model.name;return o==="anthropic"||o==="anthropic.bedrock"||o==="vertexai"&&n.startsWith("claude")?ce(e,t):o==="google"||o==="vertexai"&&n.startsWith("gemini")?pe(e,t):o==="amazon.bedrock"?ue(e,t):o==="mistral"?Mt(e.data,t):o==="openai"||o==="openai.azure"?(t.model.api_type||"chat-completions")==="responses"?le(e,t):Mt(e,t):null};function ge(e,t,o,n){return It(this,null,function*(){let r={request_id:null,raw_response:null,prompt_blueprint:null},s={},i=n.model.provider;i=="amazon.bedrock"&&(s=e==null?void 0:e.$metadata,e=e==null?void 0:e.stream);let l=[];try{for(var m=kt(e),b,y,R;b=!(y=yield new v(m.next())).done;b=!1){let w=y.value;l.push(w),r.raw_response=w,r.prompt_blueprint=go(w,n),yield r}}catch(y){R=[y]}finally{try{b&&(y=m.return)&&(yield new v(y.call(m)))}finally{if(R)throw R[0]}}let c=o(l);i==="amazon.bedrock"&&(c.ResponseMetadata=s);let p=yield new v(t({request_response:c}));r.request_id=p.request_id,r.prompt_blueprint=p.prompt_blueprint,yield r})}var be={"openai:chat-completions":{chat:{function_name:"openai.chat.completions.create",stream_function:Kt},completion:{function_name:"openai.completions.create",stream_function:me}},"openai:responses":{chat:{function_name:"openai.responses.create",stream_function:Et},completion:{function_name:"openai.responses.create",stream_function:Et}},anthropic:{chat:{function_name:"anthropic.messages.create",stream_function:jt},completion:{function_name:"anthropic.completions.create",stream_function:de}},"openai.azure:chat-completions":{chat:{function_name:"openai.AzureOpenAI.chat.completions.create",stream_function:Kt},completion:{function_name:"openai.AzureOpenAI.completions.create",stream_function:me}},"openai.azure:responses":{chat:{function_name:"openai.AzureOpenAI.responses.create",stream_function:Et},completion:{function_name:"openai.AzureOpenAI.responses.create",stream_function:Et}},google:{chat:{function_name:"google.convo.send_message",stream_function:yo},completion:{function_name:"google.model.generate_content",stream_function:ho}},"amazon.bedrock":{chat:{function_name:"boto3.bedrock-runtime.converse",stream_function:fe},completion:{function_name:"boto3.bedrock-runtime.converse",stream_function:fe}},"anthropic.bedrock":{chat:{function_name:"anthropic.messages.create",stream_function:jt},completion:{function_name:"anthropic.completions.create",stream_function:de}},mistral:{chat:{function_name:"mistral.client.chat",stream_function:fo},completion:{function_name:"",stream_function:null}}};var Pe="1.0.59",bo=()=>{var e;if(typeof process!="undefined"&&((e=process.versions)!=null&&e.node)){let t=process.versions.node.split(".");return`${t[0]}.${t[1]}`}return"unknown"},Ro=bo(),wo=`promptlayer-js/${Pe} (node ${Ro})`,U=()=>({"User-Agent":wo,"X-SDK-Version":Pe}),Ft="SET_WORKFLOW_COMPLETE";function xo(e,t,o,n){return _(this,null,function*(){let r=yield q(`${e}/workflow-version-execution-results?workflow_version_execution_id=${t}&return_all_outputs=${o}`,h({headers:n},U()));if(!r.ok)throw new Error("Failed to fetch final output");return r.json()})}function Se(e,t,o,n,r){return function(s){return _(this,null,function*(){if(s.name===Ft)try{let i=JSON.parse(s.data),l=i.result_code,c;if(l==="OK"||l==null)c=i.final_output;else if(l==="EXCEEDS_SIZE_LIMIT")c=yield xo(e,o,n,r),t.resolve(c);else throw new Error(`Unsupported final output code: ${l}`);t.resolve(c)}catch(i){t.reject(i)}})}}function To(l){return _(this,arguments,function*({token:e,channelName:t,executionId:o,returnAllOutputs:n,headers:r,timeout:s,baseURL:i}){let c=new we.default.Realtime(e),p=c.channels.get(t),m={},b=new Promise((R,w)=>{m.resolve=R,m.reject=w}),y=Se(i,m,o,n,r);yield p.subscribe(Ft,y);try{return yield new Promise((R,w)=>{let E=setTimeout(()=>{w(new Error("Workflow execution did not complete properly (timeout)"))},s);b.then(A=>{clearTimeout(E),R(A)}).catch(A=>{clearTimeout(E),w(A)})})}finally{console.log("Closing client"),p.unsubscribe(Ft,y),c.close(),console.log("Closed client")}})}var q=(e,t)=>_(null,null,function*(){return(0,Te.default)(()=>_(null,null,function*(){let o=yield fetch(e,t);if(o.status>=500&&o.status<600||o.status===429)throw new Error(`Server error: ${o.status} ${o.statusText}`);return o}),{retries:3,factor:2,minTimeout:2e3,maxTimeout:15e3,randomize:!0,onFailedAttempt:o=>{console.info(`PromptLayer API request attempt ${o.attemptNumber} failed. ${o.retriesLeft} retries left.`)}})}),Ee=(e,t,o,n=!0)=>_(null,null,function*(){return o.request_response[Symbol.asyncIterator]!==void 0?So(e,t,o.request_response,o,n):yield Oe(e,t,o,n)}),Oe=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/track-request`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify(o)}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to log request";if(n)throw new Error(i);V(s,"WARNING: While logging your request, PromptLayer experienced the following error:")}if(s&&o.return_pl_id)return[o.request_response,s.request_id]}catch(r){if(n)throw r;console.warn(`WARNING: While logging your request PromptLayer had the following error: ${r}`)}return o.request_response}),Ae=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/library-track-metadata`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify(F(h({},o),{api_key:e}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track metadata";if(n)throw new Error(i);return V(s,"WARNING: While logging metadata to your request, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While logging metadata to your request, PromptLayer experienced the following error: ${r}`),!1}return!0}),Ce=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/library-track-score`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify(F(h({},o),{api_key:e}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track score";if(n)throw new Error(i);return V(s,"WARNING: While scoring your request, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While scoring your request, PromptLayer experienced the following error: ${r}`),!1}return!0}),Ie=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/library-track-prompt`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify(F(h({},o),{api_key:e}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track prompt";if(n)throw new Error(i);return V(s,"WARNING: While associating your request with a prompt template, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While associating your request with a prompt template, PromptLayer experienced the following error: ${r}`),!1}return!0}),ke=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/track-group`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify(F(h({},o),{api_key:e}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track group";if(n)throw new Error(i);return V(s,"WARNING: While associating your request with a group, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While associating your request with a group, PromptLayer experienced the following error: ${r}`),!1}return!0}),Ne=(e,t,o=!0)=>_(null,null,function*(){try{let n=yield q(`${t}/create-group`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify({api_key:e})}),r=yield n.json();if(n.status!==200){let s=r.message||r.error||"Failed to create group";if(o)throw new Error(s);return V(r,"WARNING: While creating a group PromptLayer had the following error"),!1}return r.id}catch(n){if(o)throw n;return console.warn(`WARNING: While creating a group PromptLayer had the following error: ${n}`),!1}}),Le=(e,t,o,n,r=!0)=>_(null,null,function*(){try{let s=new URL(`${t}/prompt-templates/${o}`),i=yield q(s,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":e},U()),body:JSON.stringify(n)}),l=yield i.json();if(i.status!==200){let c=l.message||l.error||"Failed to fetch prompt template";if(r)throw new Error(c);return console.warn(`WARNING: While fetching a prompt template PromptLayer had the following error: ${c}`),null}return l.warning&&console.warn(`WARNING: While fetching your prompt PromptLayer had the following error: ${l.warning}`),l}catch(s){if(r)throw s;return console.warn(`WARNING: While fetching a prompt template PromptLayer had the following error: ${s}`),null}}),qe=(e,t,o,n=!0)=>_(null,null,function*(){let r=yield q(`${t}/rest/prompt-templates`,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":e},U()),body:JSON.stringify({prompt_template:h({},o),prompt_version:h({},o),release_labels:o.release_labels?o.release_labels:void 0})}),s=yield r.json();if(r.status!==200&&r.status!==201){let i=s.message||s.error||"Failed to publish prompt template";if(n)throw new Error(i);V(s,"WARNING: While publishing a prompt template PromptLayer had the following error")}return s}),Ue=(e,t,o,n=!0)=>_(null,null,function*(){var l;let r=new URL(`${t}/prompt-templates`);Object.entries(o||{}).forEach(([c,p])=>r.searchParams.append(c,p.toString()));let s=yield q(r,{headers:h({"Content-Type":"application/json","X-API-KEY":e},U())}),i=yield s.json();if(s.status!==200){let c=i.message||i.error||"Failed to fetch prompt templates";if(n)throw new Error(c);return V(i,"WARNING: While fetching all prompt templates PromptLayer had the following error"),[]}return(l=i.items)!=null?l:[]}),Po=e=>_(null,null,function*(){let t=new URL(`${e.baseURL}/connection/websocket`);t.protocol=t.protocol==="https:"?"wss:":"ws:";let o=new xe.Centrifuge(t.toString(),{token:e.token}),n=o.newSubscription(e.channelName);return new Promise((r,s)=>{let i=m=>{p(),r(m)},l=Se(e.baseURL,{resolve:i,reject:s},e.executionId,e.returnAllOutputs,e.headers);n.on("publication",m=>{l({name:m.data.message_name,data:m.data.data})});let c=setTimeout(()=>{s(new Error("Workflow execution did not complete properly (timeout)"))},e.timeout),p=()=>{clearTimeout(c),n.unsubscribe(),o.disconnect()};n.on("error",m=>{p(),s(`Centrifugo subscription error: ${m}`)}),o.on("error",m=>{p(),s(`Centrifugo client error: ${m}`)}),n.subscribe(),o.connect()})}),$e=p=>_(null,[p],function*({workflow_name:e,input_variables:t,metadata:o={},workflow_label_name:n=null,workflow_version_number:r=null,return_all_outputs:s=!1,api_key:i,timeout:l=36e5,baseURL:c}){let m={input_variables:t,metadata:o,workflow_label_name:n,workflow_version_number:r,return_all_outputs:s},b=h({"Content-Type":"application/json","X-API-KEY":i},U());try{let y=yield q(`${c}/workflows/${encodeURIComponent(e)}/run`,{method:"POST",headers:b,body:JSON.stringify(m)});if(y.status!==201)return{success:!1,message:`Failed to run workflow: ${(yield y.json().catch(()=>({}))).error||y.statusText}`};let R=yield y.json();R.warning&&console.warn(`WARNING: ${R.warning}`);let w=R.workflow_version_execution_id;if(!w)return console.log("No execution ID returned from workflow run"),{success:!1,message:"Failed to run workflow"};let E=`workflow_updates:${w}`,C=yield(yield q(`${c}/ws-token-request-library?capability=${E}`,{method:"POST",headers:b})).json(),O={token:C.token_details.token,channelName:E,executionId:w,returnAllOutputs:s,headers:b,timeout:l,baseURL:c};return C.messaging_backend==="centrifugo"?Po(O):yield To(O)}catch(y){throw console.error(`Failed to run workflow: ${y instanceof Error?y.message:y}`),y}});function So(e,t,o,n,r=!0){return It(this,null,function*(){let s=[];try{for(var c=kt(o),p,m,b;p=!(m=yield new v(c.next())).done;p=!1){let y=m.value;yield n.return_pl_id?[y,null]:y,s.push(y)}}catch(m){b=[m]}finally{try{p&&(m=c.return)&&(yield new v(m.call(c)))}finally{if(b)throw b[0]}}let i=he(s,n.function_name),l=yield new v(Oe(e,t,F(h({},n),{request_response:i,request_end_time:new Date().toISOString()}),r));if(l&&n.return_pl_id){let y=l[1];yield[s.at(-1),y]}})}var V=(e,t)=>{try{console.warn(`${t}: ${e.message}`)}catch(o){console.warn(`${t}: ${e}`)}},We=(e,t,o=!0)=>_(null,null,function*(){try{let n=yield q(`${e}/track-request`,{method:"POST",headers:h({"Content-Type":"application/json"},U()),body:JSON.stringify(t)}),r=yield n.json();if(n.status!==200){let s=r.message||r.error||"Failed to track request";if(o)throw new Error(s);V(r,"WARNING: While logging your request, PromptLayer experienced the following error:")}return r}catch(n){if(o)throw n;console.warn(`WARNING: While logging your request PromptLayer had the following error: ${n}`)}return{}}),Eo=(e,t)=>_(null,null,function*(){return yield e.chat.completions.create(t)}),Oo=(e,t)=>_(null,null,function*(){return yield e.completions.create(t)}),Ge={chat:Eo,completion:Oo},Me=(e,t)=>_(null,null,function*(){var s,i;let o=require("openai").default,n=new o({baseURL:t.baseURL,apiKey:t.apiKey});if(t==null||delete t.apiKey,t==null||delete t.baseURL,((i=(s=e.metadata)==null?void 0:s.model)==null?void 0:i.api_type)==="chat-completions"){let l=Ge[e.prompt_template.type];return yield l(n,t)}else return yield n.responses.create(t)}),Ke=(e,t)=>_(null,null,function*(){var s,i;let{AzureOpenAI:o}=require("openai"),n=new o({endpoint:process.env.AZURE_OPENAI_ENDPOINT||t.baseURL,apiVersion:process.env.OPENAI_API_VERSION||t.apiVersion,apiKey:process.env.AZURE_OPENAI_API_KEY||t.apiKey});if(t==null||delete t.baseURL,t==null||delete t.apiVersion,t==null||delete t.apiKey,((i=(s=e.metadata)==null?void 0:s.model)==null?void 0:i.api_type)==="chat-completions"){let l=Ge[e.prompt_template.type];return yield l(n,t)}else return yield n.responses.create(t)}),je=(e,t)=>_(null,null,function*(){return e.messages.create(t)}),Ao=(e,t)=>_(null,null,function*(){return e.completions.create(t)}),Fe={chat:je,completion:Ao},De=(e,t)=>_(null,null,function*(){let o=require("@anthropic-ai/sdk").default,n=new o({baseURL:t.baseURL,apiKey:t.apiKey}),r=Fe[e.prompt_template.type];return r(n,t)}),Be=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/log-request`,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":e},U()),body:JSON.stringify(o)}),s=yield r.json();if(r.status!==201){let i=s.message||s.error||"Failed to log request";if(n)throw new Error(i);return V(s,"WARNING: While logging your request PromptLayer had the following error"),null}return s}catch(r){if(n)throw r;return console.warn(`WARNING: While tracking your prompt PromptLayer had the following error: ${r}`),null}}),Co=(e,t)=>_(null,null,function*(){var i,l;let o=t==null?void 0:t.history,n=t==null?void 0:t.generationConfig,r=o.length>0?(i=o[o.length-1])==null?void 0:i.parts:"",s=e.chats.create({model:t==null?void 0:t.model,history:(l=o.slice(0,-1))!=null?l:[],config:n});return t!=null&&t.stream?yield s.sendMessageStream({message:r}):yield s.sendMessage({message:r})}),Io=(e,n)=>_(null,null,function*(){var r=n,{stream:t}=r,o=Ct(r,["stream"]);return t?yield e.generateContentStream(h({},o)):yield e.generateContent(h({},o))}),ko={chat:Co,completion:Io},Dt=(e,t)=>_(null,null,function*(){let{GoogleGenAI:o}=yield import("@google/genai"),n=process.env.GOOGLE_API_KEY||process.env.GEMINI_API_KEY,r=process.env.VERTEX_AI_PROJECT_ID||process.env.GOOGLE_PROJECT_ID||process.env.GOOGLE_CLOUD_PROJECT,s=process.env.VERTEX_AI_PROJECT_LOCATION||process.env.GOOGLE_PROJECT_LOCATION||process.env.GOOGLE_CLOUD_PROJECT_LOCATION,i={keyFilename:process.env.GOOGLE_APPLICATION_CREDENTIALS,projectId:r,scopes:["https://www.googleapis.com/auth/cloud-platform"]},l=n?new o({apiKey:n}):new o({vertexai:!0,project:r,location:s,googleAuthOptions:i}),c=ko[e.prompt_template.type];return yield c(l,t)}),Re=e=>e.replace(/_([a-z])/g,(t,o)=>o.toUpperCase()),Nt=(e,t=new Set)=>!e||typeof e!="object"?e:Array.isArray(e)?e.map(o=>Nt(o,t)):Object.fromEntries(Object.entries(e).map(([o,n])=>t.has(o)?[Re(o),n]:[Re(o),Nt(n,t)])),Je=(e,t,o={},n=!1)=>{var c,p,m,b,y,R,w,E,A;let r=(m=t==null?void 0:t.client)!=null?m:(p=(c=e.metadata)==null?void 0:c.model)==null?void 0:p.provider,s=(y=(b=e.metadata)==null?void 0:b.model)==null?void 0:y.api_type;if(!r)throw new Error("Provider type not found in prompt blueprint or custom provider");let i=F(h({},e.llm_kwargs||{}),{stream:n});["google","vertexai"].includes(r)&&((w=(R=e.metadata)==null?void 0:R.model)!=null&&w.name.startsWith("gemini"))&&(i=Nt(i,new Set(["function_declarations","properties"])));let l={baseURL:(A=t==null?void 0:t.base_url)!=null?A:(E=e.provider_base_url)==null?void 0:E.url,apiKey:t==null?void 0:t.api_key};return Object.entries(l).forEach(([C,g])=>{g!==void 0&&(i[C]=g)}),n&&_e.includes(r)&&s==="chat-completions"&&(i.stream_options={include_usage:!0}),{provider_type:r,kwargs:i}},ze=(e,t)=>{let o=be[e];if(!o)throw new Error(`Unsupported provider type: ${e}`);let n=t.type,r=o[n];if(!r)throw new Error(`Unsupported template type '${t.type}' for provider '${e}'`);return r},Ye=(e,t)=>_(null,null,function*(){var n;let o=(n=e.metadata)==null?void 0:n.model;if(!o)throw new Error("Model metadata not found in prompt blueprint");if(o.name.startsWith("gemini"))return Dt(e,t);if(o.name.startsWith("claude")){let{AnthropicVertex:r}=yield import("@anthropic-ai/vertex-sdk"),s=new r({baseURL:t.baseURL});if(e.prompt_template.type==="chat")return je(s,t);throw new Error(`Unsupported prompt template type '${e.prompt_template.type}' for Anthropic Vertex AI`)}throw new Error(`Unsupported model name '${o.name}' for Vertex AI request`)}),Ve=(e,t)=>_(null,null,function*(){let{BedrockRuntimeClient:o,ConverseCommand:n,ConverseStreamCommand:r}=yield import("@aws-sdk/client-bedrock-runtime"),s=new o({credentials:{accessKeyId:(t==null?void 0:t.aws_access_key)||process.env.AWS_ACCESS_KEY_ID,secretAccessKey:(t==null?void 0:t.aws_secret_key)||process.env.AWS_SECRET_ACCESS_KEY,sessionToken:(t==null?void 0:t.aws_session_token)||process.env.AWS_SESSION_TOKEN},region:(t==null?void 0:t.aws_region)||process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||"us-east-1"});if(t!=null&&t.stream){delete t.stream;let i=new r(h({},t));return yield s.send(i)}else{t==null||delete t.stream;let i=new n(h({},t));return yield s.send(i)}}),Xe=(e,t)=>_(null,null,function*(){let{AnthropicBedrock:o}=yield import("@anthropic-ai/bedrock-sdk"),n=new o({awsAccessKey:t.aws_access_key,awsSecretKey:t.aws_secret_key,awsRegion:t.aws_region,awsSessionToken:t.aws_session_token,baseURL:t.base_url}),r=Fe[e.prompt_template.type];return r(n,t)}),He=(e,t)=>_(null,null,function*(){let{Mistral:o}=yield import("@mistralai/mistralai"),n=new o({apiKey:process.env.MISTRAL_API_KEY});return t=Nt(t,new Set),t!=null&&t.stream?(delete t.stream,yield n.chat.stream(t)):(delete t.stream,yield n.chat.complete(t))}),Bt=e=>{var t,o,n,r,s,i;if(typeof globalThis.process!="undefined")return(n=(o=(t=globalThis.process.env)==null?void 0:t[e])==null?void 0:o.trim())!=null?n:void 0;if(typeof globalThis.Deno!="undefined")return(i=(s=(r=globalThis.Deno.env)==null?void 0:r.get)==null?void 0:s.call(r,e))==null?void 0:i.trim()};var Lt=class{constructor(t,o,n=!0){this.create=()=>Ne(this.apiKey,this.baseURL,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};var X=require("@opentelemetry/api"),Ot=require("@opentelemetry/core");var Jt=class{constructor(t,o,n){this.apiKey=o,this.baseURL=n,this.enableTracing=t,this.url=`${this.baseURL}/spans-bulk`}attributesToObject(t){return t?Object.fromEntries(Object.entries(t)):{}}spanKindToString(t){return{[X.SpanKind.INTERNAL]:"SpanKind.INTERNAL",[X.SpanKind.SERVER]:"SpanKind.SERVER",[X.SpanKind.CLIENT]:"SpanKind.CLIENT",[X.SpanKind.PRODUCER]:"SpanKind.PRODUCER",[X.SpanKind.CONSUMER]:"SpanKind.CONSUMER"}[t]||"SpanKind.INTERNAL"}statusCodeToString(t){return{[X.SpanStatusCode.ERROR]:"StatusCode.ERROR",[X.SpanStatusCode.OK]:"StatusCode.OK",[X.SpanStatusCode.UNSET]:"StatusCode.UNSET"}[t]||"StatusCode.UNSET"}toNanoseconds(t){return(BigInt(t[0])*BigInt(1e9)+BigInt(t[1])).toString()}export(t){if(!this.enableTracing)return Promise.resolve(Ot.ExportResultCode.SUCCESS);let o=t.map(n=>{var r;return{name:n.name,context:{trace_id:n.spanContext().traceId,span_id:n.spanContext().spanId,trace_state:((r=n.spanContext().traceState)==null?void 0:r.serialize())||""},kind:this.spanKindToString(n.kind),parent_id:n.parentSpanId||null,start_time:this.toNanoseconds(n.startTime),end_time:this.toNanoseconds(n.endTime),status:{status_code:this.statusCodeToString(n.status.code),description:n.status.message},attributes:this.attributesToObject(n.attributes),events:n.events.map(s=>({name:s.name,timestamp:this.toNanoseconds(s.time),attributes:this.attributesToObject(s.attributes)})),links:n.links.map(s=>({context:s.context,attributes:this.attributesToObject(s.attributes)})),resource:{attributes:F(h({},n.resource.attributes),{"service.name":"prompt-layer-js"}),schema_url:""}}});return q(this.url,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":this.apiKey||""},U()),body:JSON.stringify({spans:o})}).then(n=>n.ok?Ot.ExportResultCode.SUCCESS:(console.error(`Error exporting spans
2
- HTTP error! status: ${n.status}`),Ot.ExportResultCode.FAILED)).catch(n=>(console.error("Error exporting spans:",n),Ot.ExportResultCode.FAILED))}shutdown(){return Promise.resolve()}},Ze=Jt;var Qe=Y(require("@opentelemetry/api")),ve=require("@opentelemetry/sdk-trace-base"),to=require("@opentelemetry/sdk-trace-node"),at=(e="promptlayer-tracer")=>Qe.trace.getTracer(e),eo=(e,t,o)=>{let n=new to.NodeTracerProvider,r=new Ze(e,t,o),s=new ve.SimpleSpanProcessor(r);n.addSpanProcessor(s),n.register()};var No=at(),zt=(e,t,o,n="",r="openai")=>{let s={construct:(i,l)=>{let c=Reflect.construct(i,l);return Object.defineProperties(c,{function_name:{value:n,writable:!0},provider:{value:r}}),new Proxy(c,s)},get:(i,l,c)=>{let p=i[l],m=`${Reflect.get(i,"function_name")}.${l.toString()}`;return typeof p=="object"?(Object.defineProperties(p,{function_name:{value:m,writable:!0},provider:{value:r}}),new Proxy(p,s)):typeof p=="function"?(...b)=>{var C,g,O,N,W,B;let y=new Date().toISOString(),R=Reflect.get(i,"provider"),w=(C=b[0])==null?void 0:C.return_pl_id,E=(g=b[0])==null?void 0:g.pl_tags,A=(O=b[0])==null?void 0:O.pl_warn_on_error;return(N=b[0])==null||delete N.return_pl_id,(W=b[0])==null||delete W.pl_tags,(B=b[0])==null||delete B.pl_warn_on_error,No.startActiveSpan(`${R}.${m}`,I=>_(null,null,function*(){try{I.setAttribute("function_input",JSON.stringify(b));let k=Reflect.apply(p,i,b),J=I.spanContext().spanId;return k instanceof Promise?new Promise((M,H)=>{k.then(K=>_(null,null,function*(){let z=yield Ee(e,t,{api_key:e,provider_type:R,function_name:m,request_start_time:y,request_end_time:new Date().toISOString(),request_response:K,kwargs:b[0],return_pl_id:w,tags:E,span_id:J},!A);I.setAttribute("function_output",JSON.stringify(z)),I.setAttribute("response_status","success"),I.end(),M(z)})).catch(K=>{I.recordException(K),I.setAttribute("response_status","error"),I.end(),H(K)})}):(I.setAttribute("function_output",JSON.stringify(k)),I.setAttribute("response_status","success"),I.end(),k)}catch(k){throw I.recordException(k),I.setAttribute("response_status","error"),I.end(),k}}))}:Reflect.get(i,l,c)}};return new Proxy(o,s)};var qt=Y(require("@opentelemetry/api"));var no=(e,t,o)=>function(...n){let r=at(),s=i=>{try{o&&Object.entries(o).forEach(([c,p])=>{i.setAttribute(c,p)}),i.setAttribute("function_input",JSON.stringify(n));let l=t(...n);return l instanceof Promise?l.then(c=>(i.setAttribute("function_output",JSON.stringify(c)),i.setStatus({code:qt.SpanStatusCode.OK}),c)).catch(c=>{throw oo(i,c,n),c}).finally(()=>i.end()):(i.setAttribute("function_output",JSON.stringify(l)),i.setStatus({code:qt.SpanStatusCode.OK}),i.end(),l)}catch(l){throw oo(i,l,n),l}};return r.startActiveSpan(e,s)},oo=(e,t,o)=>{e.setAttribute("function_input",JSON.stringify(o)),e.setStatus({code:qt.SpanStatusCode.ERROR,message:t instanceof Error?t.message:"Unknown error"}),e.end()};var Ut=class{constructor(t,o,n=!0){this.get=(t,o)=>Le(this.apiKey,this.baseURL,t,o,this.throwOnError);this.publish=t=>qe(this.apiKey,this.baseURL,t,this.throwOnError);this.all=t=>Ue(this.apiKey,this.baseURL,t,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};var Lo=(e,t,o,n=!0)=>{if(!(o.metadata instanceof Object))throw new Error("Please provide a dictionary of metadata.");for(let[r,s]of Object.entries(o.metadata))if(typeof r!="string"||typeof s!="string")throw new Error("Please provide a dictionary of metadata with key value pair of strings.");return Ae(e,t,o,n)},qo=(e,t,o,n=!0)=>{if(typeof o.score!="number")throw new Error("Score must be a number");if(o.score<0||o.score>100)throw new Error("Score must be a number between 0 and 100.");return Ce(e,t,o,n)},Uo=(e,t,o,n=!0)=>{if(!(o.prompt_input_variables instanceof Object))throw new Error("Prompt template input variable dictionary not provided.");return Ie(e,t,o,n)},$o=(e,t,o,n=!0)=>ke(e,t,o,n),$t=class{constructor(t,o,n=!0){this.group=t=>$o(this.apiKey,this.baseURL,t,this.throwOnError);this.metadata=t=>Lo(this.apiKey,this.baseURL,t,this.throwOnError);this.prompt=t=>Uo(this.apiKey,this.baseURL,t,this.throwOnError);this.score=t=>qo(this.apiKey,this.baseURL,t,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};var ro=Y(require("@opentelemetry/api"));var Wo={openai:Me,anthropic:De,"openai.azure":Ke,google:Dt,vertexai:Ye,"amazon.bedrock":Ve,"anthropic.bedrock":Xe,mistral:He},Go=e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=["status","value","error_message","raw_error_message","is_output_node"];return Object.values(e).every(n=>typeof n!="object"||n===null?!1:t.every(r=>r in n))},Yt=class{constructor({apiKey:t=Bt("PROMPTLAYER_API_KEY"),baseURL:o=Bt("PROMPTLAYER_BASE_URL"),enableTracing:n=!1,throwOnError:r=!0}={}){if(t===void 0)throw new Error("PromptLayer API key not provided. Please set the PROMPTLAYER_API_KEY environment variable or pass the api_key parameter.");this.apiKey=t,this.baseURL=o||"https://api.promptlayer.com",this.enableTracing=n,this.throwOnError=r,this.templates=new Ut(t,this.baseURL,this.throwOnError),this.group=new Lt(t,this.baseURL,this.throwOnError),this.track=new $t(t,this.baseURL,this.throwOnError),this.wrapWithSpan=no,n&&eo(n,t,this.baseURL)}get Anthropic(){try{let t=require("@anthropic-ai/sdk").default;return zt(this.apiKey,this.baseURL,t,"anthropic","anthropic")}catch(t){console.error("To use the Anthropic module, you must install the @anthropic-ai/sdk package.")}}get OpenAI(){try{let t=require("openai").default;return zt(this.apiKey,this.baseURL,t,"openai","openai")}catch(t){console.error("To use the OpenAI module, you must install the @openai/api package.")}}run(y){return _(this,arguments,function*({promptName:t,promptVersion:o,promptReleaseLabel:n,inputVariables:r,tags:s,metadata:i,groupId:l,modelParameterOverrides:c,stream:p=!1,provider:m,model:b}){return at().startActiveSpan("PromptLayer Run",w=>_(this,null,function*(){try{let E={promptName:t,promptVersion:o,promptReleaseLabel:n,inputVariables:r,tags:s,metadata:i,groupId:l,modelParameterOverrides:c,stream:p};w.setAttribute("function_input",JSON.stringify(E));let A=r,C={label:n,version:o,metadata_filters:i,provider:m,model:b,model_parameter_overrides:c};r&&(C.input_variables=r);let g=yield this.templates.get(t,C);if(!g)throw new Error(`Cannot proceed: prompt template '${t}' could not be fetched. Check the warnings above for the actual error.`);let O=g.prompt_template;if(!g.llm_kwargs){let j=`Prompt '${t}' does not have any LLM kwargs associated with it. Please set your model parameters in the registry in the PromptLayer dashboard.`;if(this.throwOnError)throw new Error(j);console.warn(`WARNING: ${j}`)}let N=g.metadata;if(!N)throw new Error(`Prompt '${t}' does not have any metadata associated with it.`);let W=N.model;if(!W)throw new Error(`Prompt '${t}' does not have a model parameters associated with it.`);let B=g.custom_provider,I=new Date().toISOString(),{provider_type:k,kwargs:J}=Je(g,B,c,p),M=k;if(k==="openai"||k==="openai.azure"){let j=W.api_type;M=`${k}:${j}`}W.name.startsWith("gemini")?M="google":W.name.startsWith("claude")&&(M="anthropic");let H=ze(M,O),{function_name:K,stream_function:z}=H,tt=Wo[k];if(!tt)throw new Error(`No request function found for provider: ${k}`);let Z=yield tt(g,J),et=j=>{let rt=new Date().toISOString();return We(this.baseURL,h({function_name:K,provider_type:k,args:[],kwargs:J,tags:s,request_start_time:I,request_end_time:rt,api_key:this.apiKey,metadata:i,prompt_id:g.id,prompt_version:g.version,prompt_input_variables:A,group_id:l,return_prompt_blueprint:!0,span_id:w.spanContext().spanId},j),this.throwOnError)};if(p)return ge(Z,et,z,i||g.metadata);let ot=yield et({request_response:Z}),nt={request_id:ot.request_id,raw_response:Z,prompt_blueprint:ot.prompt_blueprint};return w.setAttribute("function_output",JSON.stringify(nt)),nt}catch(E){throw w.setStatus({code:ro.SpanStatusCode.ERROR,message:E instanceof Error?E.message:"Unknown error"}),E}finally{w.end()}}))})}runWorkflow(l){return _(this,arguments,function*({workflowName:t,inputVariables:o={},metadata:n={},workflowLabelName:r=null,workflowVersion:s=null,returnAllOutputs:i=!1}){try{let c=yield $e({workflow_name:t,input_variables:o,metadata:n,workflow_label_name:r,workflow_version_number:s,return_all_outputs:i,api_key:this.apiKey,baseURL:this.baseURL});if(!i&&Go(c)){let m=Object.values(c).filter(y=>y.is_output_node===!0);if(m.length===0)throw new Error(JSON.stringify(c,null,2));if(!m.some(y=>y.status==="SUCCESS"))throw new Error(JSON.stringify(c,null,2))}return c}catch(c){throw c instanceof Error?(console.error("Error running workflow:",c.message),new Error(`Error running workflow: ${c.message}`)):(console.error("Unknown error running workflow:",c),new Error("Unknown error running workflow"))}})}logRequest(t){return _(this,null,function*(){return Be(this.apiKey,this.baseURL,t,this.throwOnError)})}};0&&(module.exports={PromptLayer});
1
+ "use strict";var io=Object.create;var Et=Object.defineProperty,ao=Object.defineProperties,co=Object.getOwnPropertyDescriptor,po=Object.getOwnPropertyDescriptors,lo=Object.getOwnPropertyNames,It=Object.getOwnPropertySymbols,uo=Object.getPrototypeOf,Mt=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var Wt=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t);var se=(t,e,o)=>e in t?Et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,h=(t,e)=>{for(var o in e||(e={}))Mt.call(e,o)&&se(t,o,e[o]);if(It)for(var o of It(e))ie.call(e,o)&&se(t,o,e[o]);return t},D=(t,e)=>ao(t,po(e));var At=(t,e)=>{var o={};for(var n in t)Mt.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&It)for(var n of It(t))e.indexOf(n)<0&&ie.call(t,n)&&(o[n]=t[n]);return o};var mo=(t,e)=>{for(var o in e)Et(t,o,{get:e[o],enumerable:!0})},ae=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of lo(e))!Mt.call(t,r)&&r!==o&&Et(t,r,{get:()=>e[r],enumerable:!(n=co(e,r))||n.enumerable});return t};var Y=(t,e,o)=>(o=t!=null?io(uo(t)):{},ae(e||!t||!t.__esModule?Et(o,"default",{value:t,enumerable:!0}):o,t)),fo=t=>ae(Et({},"__esModule",{value:!0}),t);var y=(t,e,o)=>new Promise((n,r)=>{var s=c=>{try{l(o.next(c))}catch(p){r(p)}},i=c=>{try{l(o.throw(c))}catch(p){r(p)}},l=c=>c.done?n(c.value):Promise.resolve(c.value).then(s,i);l((o=o.apply(t,e)).next())}),et=function(t,e){this[0]=t,this[1]=e},Ct=(t,e,o)=>{var n=(i,l,c,p)=>{try{var m=o[i](l),g=(l=m.value)instanceof et,_=m.done;Promise.resolve(g?l[0]:l).then(b=>g?n(i==="return"?i:"next",l[1]?{done:b.done,value:b.value}:b,c,p):c({value:b,done:_})).catch(b=>n("throw",b,c,p))}catch(b){p(b)}},r=i=>s[i]=l=>new Promise((c,p)=>n(i,l,c,p)),s={};return o=o.apply(t,e),s[Wt("asyncIterator")]=()=>s,r("next"),r("throw"),r("return"),s};var kt=(t,e,o)=>(e=t[Wt("asyncIterator")])?e.call(t):(t=t[Wt("iterator")](),e={},o=(n,r)=>(r=t[n])&&(e[n]=s=>new Promise((i,l,c)=>(s=r.call(t,s),c=s.done,Promise.resolve(s.value).then(p=>i({value:p,done:c}),l)))),o("next"),o("return"),e);var Do={};mo(Do,{PromptLayer:()=>zt});module.exports=fo(Do);var we=Y(require("ably")),Te=require("centrifuge"),Ee=Y(require("p-retry"));var F=(t,e,o,n)=>{let r={id:t,function:{name:e,input:o}};return n&&(r.tool_id=n),r},E=n=>{var r=n,{type:t,item_id:e}=r,o=At(r,["type","item_id"]);let s=h({type:t},o);return e&&(s.item_id=e),s},xt=(t,e)=>({input_variables:[],template_format:"f-string",content:t,role:"assistant",function_call:null,name:null,tool_calls:e}),Ot=(t,e)=>({prompt_template:{messages:[t],type:"chat",input_variables:[]},metadata:e}),ce=(t,e)=>{let o=[],n=[];t.type==="content_block_start"?t.content_block.type==="thinking"?o.push(E({type:"thinking",thinking:"",signature:""})):t.content_block.type==="text"?o.push(E({type:"text",text:""})):t.content_block.type==="tool_use"&&n.push(F(t.content_block.id||"",t.content_block.name||"",{})):t.type==="content_block_delta"&&(t.delta.type==="thinking_delta"?o.push(E({type:"thinking",thinking:t.delta.thinking||"",signature:""})):t.delta.type==="text_delta"?o.push(E({type:"text",text:t.delta.text||""})):t.delta.type==="signature_delta"?o.push(E({type:"thinking",thinking:"",signature:t.delta.signature||""})):t.delta.type==="input_json_delta"&&n.push(F("","",t.delta.partial_json)));let r=xt(o,n);return Ot(r,e)},pe=(t,e)=>{let o=[],n=[];for(let s of t.candidates)if(s.content&&s.content.parts&&Array.isArray(s.content.parts))for(let i of s.content.parts)i.text?i.thought===!0?o.push(E({type:"thinking",thinking:i.text,signature:i.thoughtSignature||""})):o.push(E({type:"text",text:i.text})):i.functionCall&&n.push(F(i.functionCall.id||"",i.functionCall.name||"",i.functionCall.args||{}));let r=xt(o,n);return Ot(r,e)},Gt=(t,e)=>{let o=[],n=[];for(let s of t.choices)if(s.delta){s.delta.content&&o.push(E({type:"text",text:s.delta.content}));let i=s.delta.tool_calls||s.delta.toolCalls;if(i&&Array.isArray(i))for(let l of i)l.function&&n.push(F(l.id||"",l.function.name||"",l.function.arguments||""))}let r=xt(o,n);return Ot(r,e)},le=(t,e)=>{var i,l,c,p,m,g,_,b,w,P,I,A,R,S,N,M,B,C,k,V,K,Z,j,J,ot,Q,z,nt,rt,L,v,st,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,Rt,bt,wt,Tt,O,U,u,d,T,Yt,Ht,Xt,Zt,Qt,vt,te,ee,oe,ne;let o=[],n=[],r=t==null?void 0:t.type;if(r==="response.reasoning_summary_text.delta"){let a=(i=t==null?void 0:t.delta)!=null?i:"",x=(l=t==null?void 0:t.item_id)!=null?l:"";a&&o.push(E({type:"thinking",item_id:x,thinking:a,signature:""}))}else if(r==="response.reasoning_summary_text.done"){let a=(c=t==null?void 0:t.text)!=null?c:"",x=(p=t==null?void 0:t.item_id)!=null?p:"";a&&o.push(E({type:"thinking",item_id:x,thinking:a,signature:""}))}else if(r==="response.reasoning_summary_part.added"){let a=(m=t==null?void 0:t.part)!=null?m:{},x=(g=t==null?void 0:t.item_id)!=null?g:"";if((a==null?void 0:a.type)==="summary_text"){let f=(_=a==null?void 0:a.text)!=null?_:"";o.push(E({type:"thinking",item_id:x,thinking:f,signature:""}))}}else if(r==="response.reasoning_summary_part.done"){let a=(b=t==null?void 0:t.part)!=null?b:{},x=(w=t==null?void 0:t.item_id)!=null?w:"";if((a==null?void 0:a.type)==="summary_text"){let f=(P=a==null?void 0:a.text)!=null?P:"";f&&o.push(E({type:"thinking",item_id:x,thinking:f,signature:""}))}}else if(r==="response.function_call_arguments.delta"){let a=(I=t==null?void 0:t.item_id)!=null?I:"",x=(A=t==null?void 0:t.delta)!=null?A:"";x&&n.push(F("","",x,a))}else if(r==="response.function_call_arguments.done"){let a=(R=t==null?void 0:t.item_id)!=null?R:"",x=(S=t==null?void 0:t.arguments)!=null?S:"";x&&n.push(F("","",x,a))}else if(r==="response.output_item.added"){let a=(N=t==null?void 0:t.item)!=null?N:{},x=a==null?void 0:a.type,f=(M=a==null?void 0:a.id)!=null?M:"";x==="reasoning"?o.push(E({type:"thinking",thinking:"",signature:"",item_id:f})):x==="function_call"?n.push(F((a==null?void 0:a.call_id)||"",(a==null?void 0:a.name)||"","",f)):x==="message"?o.push(E({type:"text",item_id:f,text:""})):x==="code_interpreter_call"&&o.push(E({type:"code",item_id:f,code:(B=a==null?void 0:a.code)!=null?B:"",container_id:(C=a==null?void 0:a.container_id)!=null?C:""}))}else if(r==="response.content_part.added"){let a=(k=t==null?void 0:t.part)!=null?k:{},x=(V=a==null?void 0:a.type)!=null?V:"output_text",f=(K=t==null?void 0:t.item_id)!=null?K:"";x==="output_text"&&o.push(E({type:"text",item_id:f,text:(Z=a==null?void 0:a.text)!=null?Z:"",annotations:(a==null?void 0:a.annotations)||[]}))}else if(r==="response.content_part.done"){let a=(j=t==null?void 0:t.part)!=null?j:{},x=(J=a==null?void 0:a.type)!=null?J:"output_text",f=(ot=t==null?void 0:t.item_id)!=null?ot:"";x==="output_text"&&o.push(E({type:"text",item_id:f,text:(Q=a==null?void 0:a.text)!=null?Q:"",annotations:(a==null?void 0:a.annotations)||[]}))}else if(r==="response.output_text.annotation.added"){let a=(t==null?void 0:t.annotation)||{},x=a==null?void 0:a.type,f=null;x==="url_citation"?f={type:"url_citation",title:a==null?void 0:a.title,url:a==null?void 0:a.url,start_index:a==null?void 0:a.start_index,end_index:a==null?void 0:a.end_index}:x=="file_citation"?f={type:"file_citation",index:a==null?void 0:a.index,file_id:a==null?void 0:a.file_id,filename:a==null?void 0:a.filename}:f=a,o.push(E({type:"text",item_id:(z=t==null?void 0:t.item_id)!=null?z:"",text:"",annotations:[f]}))}else if(r==="response.code_interpreter_call.in_progress")o.push(E({type:"code",item_id:(nt=t==null?void 0:t.item_id)!=null?nt:"",code:(rt=t==null?void 0:t.code)!=null?rt:"",container_id:(L=t==null?void 0:t.container_id)!=null?L:""}));else if(r==="response.code_interpreter_call_code.delta")o.push(E({type:"code",item_id:(v=t==null?void 0:t.item_id)!=null?v:"",code:(st=t==null?void 0:t.delta)!=null?st:"",container_id:(pt=t==null?void 0:t.container_id)!=null?pt:""}));else if(r==="response.output_text.delta"){let a=(lt=t==null?void 0:t.delta)!=null?lt:"";a&&o.push(E({type:"text",item_id:(ut=t==null?void 0:t.item_id)!=null?ut:"",text:a}))}else if(r==="response.output_text.done"){let a=(mt=t==null?void 0:t.text)!=null?mt:"";a&&o.push(E({type:"text",item_id:(dt=t==null?void 0:t.item_id)!=null?dt:"",text:a}))}else if(r==="response.output_item.done"){let a=(ft=t==null?void 0:t.item)!=null?ft:{},x=a==null?void 0:a.type,f=(_t=a==null?void 0:a.id)!=null?_t:"";if(x==="reasoning"){let G=((yt=a==null?void 0:a.summary)!=null?yt:[]).map(tt=>{var W;return(W=tt==null?void 0:tt.text)!=null?W:""}).join("");o.push(E({type:"thinking",item_id:f,thinking:G,signature:""}))}else if(x==="function_call")n.push(F((a==null?void 0:a.call_id)||"",(a==null?void 0:a.name)||"",(a==null?void 0:a.arguments)||"",f));else if(x==="message"){let it=(ht=a==null?void 0:a.content)!=null?ht:[];for(let G of it)if((G==null?void 0:G.type)==="output_text"){let tt=(gt=G==null?void 0:G.text)!=null?gt:"";tt&&o.push(E({type:"text",item_id:f,text:tt}))}}else x==="code_interpreter_call"&&o.push(E({type:"code",item_id:f,code:(Rt=a==null?void 0:a.code)!=null?Rt:"",container_id:(bt=a==null?void 0:a.container_id)!=null?bt:""}))}else if(r==="response.code_interpreter_call_code.done")o.push(E({type:"code",item_id:(wt=t==null?void 0:t.item_id)!=null?wt:"",code:(Tt=t==null?void 0:t.code)!=null?Tt:"",container_id:(O=t==null?void 0:t.container_id)!=null?O:""}));else if(r==="response.code_interpreter_call.interpreting")o.push(E({type:"code",item_id:(U=t==null?void 0:t.item_id)!=null?U:"",code:(u=t==null?void 0:t.code)!=null?u:"",container_id:(d=t==null?void 0:t.container_id)!=null?d:""}));else if(r==="response.code_interpreter_call.completed")o.push(E({type:"code",item_id:(T=t==null?void 0:t.item_id)!=null?T:"",code:(Yt=t==null?void 0:t.code)!=null?Yt:"",container_id:(Ht=t==null?void 0:t.container_id)!=null?Ht:""}));else if(r==="response.completed"){let a=(Xt=t==null?void 0:t.response)!=null?Xt:{},x=(Zt=a==null?void 0:a.output)!=null?Zt:[];for(let f of x){let it=f==null?void 0:f.type,G=(Qt=f==null?void 0:f.id)!=null?Qt:"";if(it==="reasoning"){let W=((vt=f==null?void 0:f.summary)!=null?vt:[]).map(at=>{var re;return(re=at==null?void 0:at.text)!=null?re:""}).join("");o.push(E({type:"thinking",item_id:G,thinking:W,signature:""}))}else if(it==="function_call")n.push(F((f==null?void 0:f.call_id)||"",(f==null?void 0:f.name)||"",(f==null?void 0:f.arguments)||"",G));else if(it==="message"){let tt=(te=f==null?void 0:f.content)!=null?te:[];for(let W of tt)if((W==null?void 0:W.type)==="output_text"){let at=(ee=W==null?void 0:W.text)!=null?ee:"";at&&o.push(E({type:"text",item_id:G,text:at,annotations:(W==null?void 0:W.annotations)||[]}))}}else it==="code_interpreter_call"&&o.push(E({type:"code",item_id:G,code:(oe=f==null?void 0:f.code)!=null?oe:"",container_id:(ne=f==null?void 0:f.container_id)!=null?ne:""}))}}let s=xt(o,n||[]);return Ot(s,e)},ue=(t,e)=>{var s,i,l,c;let o=[],n=[];if("contentBlockDelta"in t){let p=((s=t.contentBlockDelta)==null?void 0:s.delta)||{};if("reasoningContent"in p){let m=((i=p.reasoningContent)==null?void 0:i.text)||"",g=((l=p.reasoningContent)==null?void 0:l.signature)||"";o.push(E({type:"thinking",thinking:m,signature:g}))}else if("text"in p)o.push(E({type:"text",text:p.text||""}));else if("toolUse"in p){let m=p.toolUse||{};n.push(F(m.toolUseId||"",m.name||"",m.input||""))}}else if("contentBlockStart"in t){let p=((c=t.contentBlockStart)==null?void 0:c.start)||{};if("toolUse"in p){let m=p.toolUse||{};n.push(F(m.toolUseId||"",m.name||"",""))}}let r=xt(o,n);return Ot(r,e)};var _e=["openai","openai.azure"],Pt=t=>{var n,r,s,i,l,c,p,m,g,_,b,w,P,I,A,R,S,N,M,B,C,k,V,K,Z,j,J,ot,Q,z,nt,rt,L,v,st,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,Rt,bt,wt,Tt;let e={id:null,object:"response",created_at:null,status:null,error:null,incomplete_details:null,instructions:null,max_output_tokens:null,model:null,output:[],parallel_tool_calls:!0,previous_response_id:null,reasoning:{},store:!0,temperature:1,text:void 0,tool_choice:"auto",tools:[],top_p:1,truncation:"disabled",usage:null,user:null,metadata:{}},o={};for(let O of t){let U=O==null?void 0:O.type;if(U==="response.created"){let u=O.response||{};e.id=(n=u.id)!=null?n:e.id,e.created_at=(r=u.created_at)!=null?r:e.created_at,e.model=(s=u.model)!=null?s:e.model,e.status=(i=u.status)!=null?i:e.status,e.parallel_tool_calls=(l=u.parallel_tool_calls)!=null?l:e.parallel_tool_calls,e.temperature=(c=u.temperature)!=null?c:e.temperature,e.tool_choice=(p=u.tool_choice)!=null?p:e.tool_choice,e.tools=(m=u.tools)!=null?m:e.tools,e.top_p=(g=u.top_p)!=null?g:e.top_p,e.truncation=(_=u.truncation)!=null?_:e.truncation,e.max_output_tokens=(b=u.max_output_tokens)!=null?b:e.max_output_tokens,e.previous_response_id=(w=u.previous_response_id)!=null?w:e.previous_response_id,e.store=(P=u.store)!=null?P:e.store,e.user=(I=u.user)!=null?I:e.user,e.metadata=(A=u.metadata)!=null?A:e.metadata;let d=u.text;d&&(e.text=d);let T=u.reasoning;T&&(e.reasoning=T);continue}if(U==="response.in_progress"){let u=O.response||{};e.status=(R=u.status)!=null?R:e.status;continue}if(U==="response.output_item.added"){let u=O.item||{},d=u.id,T=u.type;T==="reasoning"?o[d]={type:"reasoning",id:d,summary:[],status:(S=u.status)!=null?S:"in_progress"}:T==="function_call"?o[d]={type:"function_call",id:d,call_id:u.call_id,name:u.name,arguments:"",status:(N=u.status)!=null?N:"in_progress"}:T==="message"?o[d]={type:"message",id:d,role:(M=u.role)!=null?M:"assistant",content:[],status:(B=u.status)!=null?B:"in_progress"}:T==="code_interpreter_call"&&(o[d]={type:"code_interpreter_call",id:d,container_id:u.container_id,code:(C=u.code)!=null?C:"",status:(k=u.status)!=null?k:"in_progress"});continue}if(U==="response.reasoning_summary_part.added"){let u=O.item_id,d=O.part||{};if(u in o&&o[u].type==="reasoning"){let T={type:(V=d.type)!=null?V:"summary_text",text:(K=d.text)!=null?K:""};o[u].summary.push(T)}continue}if(U==="response.reasoning_summary_text.delta"){let u=O.item_id,d=(Z=O.delta)!=null?Z:"",T=(j=O.summary_index)!=null?j:0;if(u in o&&o[u].type==="reasoning"){for(;o[u].summary.length<=T;)o[u].summary.push({type:"summary_text",text:""});o[u].summary[T].text+=d}continue}if(U==="response.reasoning_summary_text.done"){let u=O.item_id,d=(J=O.text)!=null?J:"",T=(ot=O.summary_index)!=null?ot:0;if(u in o&&o[u].type==="reasoning"){for(;o[u].summary.length<=T;)o[u].summary.push({type:"summary_text",text:""});o[u].summary[T].text=d}continue}if(U==="response.reasoning_summary_part.done"){let u=O.item_id,d=O.part||{};if(u in o&&o[u].type==="reasoning"){let T=(Q=O.summary_index)!=null?Q:0;T<o[u].summary.length&&(o[u].summary[T]={type:(z=d.type)!=null?z:"summary_text",text:(nt=d.text)!=null?nt:""})}continue}if(U==="response.function_call_arguments.delta"){let u=O.item_id,d=(rt=O.delta)!=null?rt:"";u in o&&(o[u].arguments=`${o[u].arguments||""}${d}`);continue}if(U==="response.function_call_arguments.done"){let u=O.item_id,d=(L=O.arguments)!=null?L:"";u in o&&(o[u].arguments=d);continue}if(U==="response.content_part.added"){let u=O.part||{},d=Object.values(o).find(T=>T.type==="message");if(d){let T={type:(v=u.type)!=null?v:"output_text",text:(st=u.text)!=null?st:"",annotations:(pt=u.annotations)!=null?pt:[]};d.content.push(T)}continue}if(U==="response.output_text.delta"){let u=(lt=O.delta)!=null?lt:"";for(let d of Object.values(o))if(d.type==="message"&&d.content&&d.content.length){let T=d.content[d.content.length-1];T&&T.type==="output_text"&&(T.text=`${T.text||""}${u}`);break}continue}if(U==="response.output_text.done"){let u=(ut=O.text)!=null?ut:"";for(let d of Object.values(o))if(d.type==="message"&&d.content&&d.content.length){let T=d.content[d.content.length-1];T&&T.type==="output_text"&&(T.text=u);break}continue}if(U==="response.output_item.done"){let u=O.item||{},d=u.id;d in o&&(o[d].status=(mt=u.status)!=null?mt:"completed",u.type==="reasoning"?o[d].summary=(dt=u.summary)!=null?dt:o[d].summary:u.type==="function_call"?(o[d].arguments=(ft=u.arguments)!=null?ft:o[d].arguments,o[d].call_id=(_t=u.call_id)!=null?_t:o[d].call_id,o[d].name=(yt=u.name)!=null?yt:o[d].name):u.type==="message"&&(o[d].content=(ht=u.content)!=null?ht:o[d].content,o[d].role=(gt=u.role)!=null?gt:o[d].role),e.output.push(o[d]));continue}if(U==="response.completed"){let u=O.response||{};e.status=(bt=(Rt=u.status)!=null?Rt:e.status)!=null?bt:"completed",e.usage=(wt=u.usage)!=null?wt:e.usage,e.output=(Tt=u.output)!=null?Tt:e.output,u.reasoning&&(e.reasoning=u.reasoning);continue}}return e},Kt=t=>{var l,c,p,m,g,_,b,w,P,I;let e=null,o,n={id:"",choices:[],created:Date.now(),model:"",object:"chat.completion"},r=t.at(-1);if(!r)return n;let s;for(let A of t){if(A.choices.length===0)continue;let R=A.choices[0].delta;R.content&&(e=`${e||""}${R.content||""}`),R.function_call&&(o={name:`${o?o.name:""}${R.function_call.name||""}`,arguments:`${o?o.arguments:""}${R.function_call.arguments||""}`});let S=(l=R.tool_calls)==null?void 0:l[0];if(S){s=s||[];let N=s.at(-1);if(!N||S.id){s.push({id:S.id||"",type:S.type||"function",function:{name:((c=S.function)==null?void 0:c.name)||"",arguments:((p=S.function)==null?void 0:p.arguments)||""}});continue}N.function.name=`${N.function.name}${((m=S.function)==null?void 0:m.name)||""}`,N.function.arguments=`${N.function.arguments}${((g=S.function)==null?void 0:g.arguments)||""}`}}let i=t[0].choices.at(0);return n.choices.push({finish_reason:(_=i==null?void 0:i.finish_reason)!=null?_:"stop",index:(b=i==null?void 0:i.index)!=null?b:0,logprobs:(w=i==null?void 0:i.logprobs)!=null?w:null,message:{role:"assistant",content:e,function_call:o||void 0,tool_calls:s||void 0,refusal:(P=i==null?void 0:i.delta.refusal)!=null?P:null}}),n.id=r.id,n.model=r.model,n.created=r.created,n.system_fingerprint=r.system_fingerprint,n.usage=(I=r.usage)!=null?I:void 0,n},me=t=>{let e={id:"",choices:[{finish_reason:"stop",index:0,text:"",logprobs:null}],created:Date.now(),model:"",object:"text_completion"},o=t.at(-1);if(!o)return e;let n="";for(let r of t)r.choices.length>0&&r.choices[0].text&&(n=`${n}${r.choices[0].text}`);return e.choices[0].text=n,e.id=o.id,e.created=o.created,e.model=o.model,e.system_fingerprint=o.system_fingerprint,e.usage=o.usage,e},jt=t=>{var c;let e={id:"",model:"",content:[],role:"assistant",type:"message",stop_reason:"stop_sequence",stop_sequence:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,server_tool_use:null,service_tier:null}};if(!t.at(-1))return e;let n=null,r="",s="",i="",l="";for(let p of t)if(p.type==="message_start")e=h({},p.message);else if(p.type==="content_block_start")n=h({},p.content_block),n.type==="thinking"?(r="",s=""):n.type==="text"?i="":(n.type==="tool_use"||n.type==="server_tool_use")&&(l="");else if(p.type==="content_block_delta"&&n!==null){if(n.type==="thinking")"signature"in p.delta&&(r=p.delta.signature||""),"thinking"in p.delta&&(s+=p.delta.thinking||"");else if(n.type==="text")"text"in p.delta&&(i+=p.delta.text||"");else if((n.type==="tool_use"||n.type==="server_tool_use")&&p.delta.type==="input_json_delta"){let m=p.delta;l+=m.partial_json||""}}else if(p.type==="content_block_stop"&&n!==null){if(n.type==="thinking")n.signature=r,n.thinking=s;else if(n.type==="text")n.text=i,n.citations=null;else if(n.type==="tool_use"||n.type==="server_tool_use")try{n.input=l?JSON.parse(l):{}}catch(m){n.input={}}e.content.push(n),n=null,r="",s="",i="",l=""}else p.type==="message_delta"&&("usage"in p&&p.usage&&(e.usage=D(h({},e.usage),{output_tokens:(c=p.usage.output_tokens)!=null?c:0})),"delta"in p&&p.delta&&("stop_reason"in p.delta&&p.delta.stop_reason!==void 0&&(e.stop_reason=p.delta.stop_reason),"stop_sequence"in p.delta&&p.delta.stop_sequence!==void 0&&(e.stop_sequence=p.delta.stop_sequence)));return e},de=t=>{let e={completion:"",id:"",model:"",stop_reason:"",type:"completion"},o=t.at(-1);if(!o)return e;let n="";for(let r of t)n=`${n}${r.completion}`;return e.completion=n,e.id=o.id,e.model=o.model,e.stop_reason=o.stop_reason,e},_o=t=>{var i,l,c,p,m,g,_,b,w,P;let e=null,o={id:"",choices:[],created:Date.now(),model:"",object:"chat.completion"},n=t.at(-1).data;if(!n)return o;let r;for(let I of t){if(I.data.choices.length===0)continue;let A=I.data.choices[0].delta;A.content&&(e=`${e||""}${A.content||""}`);let R=(i=A.toolCalls)==null?void 0:i[0];if(R){r=r||[];let S=r.at(-1);if(!S||R.id){r.push({id:R.id||"",type:R.type||"function",function:{name:((l=R.function)==null?void 0:l.name)||"",arguments:((c=R.function)==null?void 0:c.arguments)||""}});continue}S.function.name=`${S.function.name}${((p=R.function)==null?void 0:p.name)||""}`,S.function.arguments=`${S.function.arguments}${((m=R.function)==null?void 0:m.arguments)||""}`}}let s=t[0].data.choices.at(0);return o.choices.push({finish_reason:(g=s==null?void 0:s.finish_reason)!=null?g:"stop",index:(_=s==null?void 0:s.index)!=null?_:0,logprobs:(b=s==null?void 0:s.logprobs)!=null?b:null,message:{role:"assistant",content:e,tool_calls:r||void 0,refusal:(w=s==null?void 0:s.delta.refusal)!=null?w:null}}),o.id=n.id,o.model=n.model,o.created=n.created,o.usage=(P=n.usage)!=null?P:void 0,o},fe=t=>{let e={ResponseMetadata:{},output:{message:{}},stopReason:"end_turn",metrics:{},usage:{}},o=[],n=null,r="",s="",i="",l="";for(let c of t)if("contentBlockStart"in c){let p=c.contentBlockStart;if("start"in p&&"toolUse"in p.start){let m=p.start.toolUse;n={toolUse:{toolUseId:m.toolUseId,name:m.name}},r=""}}else if("contentBlockDelta"in c){let p=c.contentBlockDelta.delta;if("text"in p)s+=p.text;else if("reasoningContent"in p){let m=p.reasoningContent;"text"in m?l+=m.text:"signature"in m&&(i+=m.signature)}else if("toolUse"in p&&"input"in p.toolUse){let m=p.toolUse.input;if(r+=m,!m.trim())continue}}else if("contentBlockStop"in c)if(n&&r){try{n.toolUse.input=JSON.parse(r)}catch(p){n.toolUse.input={}}o.push(n),n=null,r=""}else s?(o.push({text:s}),s=""):l&&i&&(o.push({reasoningContent:{reasoningText:{text:l,signature:i}}}),l="",i="");else if("messageStop"in c)e.stopReason=c.messageStop.stopReason;else if("metadata"in c){let p=c.metadata;e.usage=(p==null?void 0:p.usage)||{},e.metrics=(p==null?void 0:p.metrics)||{}}return e.output.message={role:"assistant",content:o},e},yo=(t,e,o,n)=>{var i,l;let r=h({},n),s=[];if(t){let c={text:t,thought:!0};s.push(c)}if(e){let c={text:e,thought:null};s.push(c)}for(let c of o){let p={function_call:c};s.push(p)}return s.length>0&&((l=(i=r.candidates)==null?void 0:i[0])!=null&&l.content)&&(r.candidates[0].content.parts=s),r},ye=t=>{var s,i;let{GenerateContentResponse:e}=require("@google/genai");if(!t.length)return new e;let o="",n="",r=[];for(let l of t)if(l.candidates&&((i=(s=l.candidates[0])==null?void 0:s.content)!=null&&i.parts))for(let c of l.candidates[0].content.parts)c.text?c.thought===!0?o+=c.text:n+=c.text:c.functionCall&&r.push(c.functionCall);return yo(o,n,r,t[t.length-1])},ho=t=>ye(t),go=t=>ye(t),he=(t,e="openai.chat.completions.create")=>{if(e==="openai.responses.create"||e==="openai.AzureOpenAI.responses.create")return Pt(t);if("completion"in t[0])return t.reduce((o,n)=>D(h({},n),{completion:`${o.completion}${n.completion}`}),{});if(e==="anthropic.messages.create")return jt(t);if("text"in t[0].choices[0]){let o="";for(let r of t)o=`${o}${r.choices[0].text}`;let n=structuredClone(t.at(-1));return n.choices[0].text=o,n}if("delta"in t[0].choices[0]){let o=Kt(t);return o.choices[0]=h(h({},o.choices[0]),o.choices[0].message),o}return""},Ro=(t,e)=>{let o=e.model.provider,n=e.model.name;return o==="anthropic"||o==="anthropic.bedrock"||o==="vertexai"&&n.startsWith("claude")?ce(t,e):o==="google"||o==="vertexai"&&n.startsWith("gemini")?pe(t,e):o==="amazon.bedrock"?ue(t,e):o==="mistral"?Gt(t.data,e):o==="openai"||o==="openai.azure"?(e.model.api_type||"chat-completions")==="responses"?le(t,e):Gt(t,e):null};function ge(t,e,o,n){return Ct(this,null,function*(){let r={request_id:null,raw_response:null,prompt_blueprint:null},s={},i=n.model.provider;i=="amazon.bedrock"&&(s=t==null?void 0:t.$metadata,t=t==null?void 0:t.stream);let l=[];try{for(var m=kt(t),g,_,b;g=!(_=yield new et(m.next())).done;g=!1){let w=_.value;l.push(w),r.raw_response=w,r.prompt_blueprint=Ro(w,n),yield r}}catch(_){b=[_]}finally{try{g&&(_=m.return)&&(yield new et(_.call(m)))}finally{if(b)throw b[0]}}let c=o(l);i==="amazon.bedrock"&&(c.ResponseMetadata=s);let p=yield new et(e({request_response:c}));r.request_id=p.request_id,r.prompt_blueprint=p.prompt_blueprint,yield r})}var Re={"openai:chat-completions":{chat:{function_name:"openai.chat.completions.create",stream_function:Kt},completion:{function_name:"openai.completions.create",stream_function:me}},"openai:responses":{chat:{function_name:"openai.responses.create",stream_function:Pt},completion:{function_name:"openai.responses.create",stream_function:Pt}},anthropic:{chat:{function_name:"anthropic.messages.create",stream_function:jt},completion:{function_name:"anthropic.completions.create",stream_function:de}},"openai.azure:chat-completions":{chat:{function_name:"openai.AzureOpenAI.chat.completions.create",stream_function:Kt},completion:{function_name:"openai.AzureOpenAI.completions.create",stream_function:me}},"openai.azure:responses":{chat:{function_name:"openai.AzureOpenAI.responses.create",stream_function:Pt},completion:{function_name:"openai.AzureOpenAI.responses.create",stream_function:Pt}},google:{chat:{function_name:"google.convo.send_message",stream_function:ho},completion:{function_name:"google.model.generate_content",stream_function:go}},"amazon.bedrock":{chat:{function_name:"boto3.bedrock-runtime.converse",stream_function:fe},completion:{function_name:"boto3.bedrock-runtime.converse",stream_function:fe}},"anthropic.bedrock":{chat:{function_name:"anthropic.messages.create",stream_function:jt},completion:{function_name:"anthropic.completions.create",stream_function:de}},mistral:{chat:{function_name:"mistral.client.chat",stream_function:_o},completion:{function_name:"",stream_function:null}}};var xe="1.0.60",bo=()=>{var t;if(typeof process!="undefined"&&((t=process.versions)!=null&&t.node)){let e=process.versions.node.split(".");return`${e[0]}.${e[1]}`}return"unknown"},wo=bo(),To=`promptlayer-js/${xe} (node ${wo})`,$=()=>({"User-Agent":To,"X-SDK-Version":xe}),Dt="SET_WORKFLOW_COMPLETE";function Eo(t,e,o,n){return y(this,null,function*(){let r=yield q(`${t}/workflow-version-execution-results?workflow_version_execution_id=${e}&return_all_outputs=${o}`,h({headers:n},$()));if(!r.ok)throw new Error("Failed to fetch final output");return r.json()})}function Oe(t,e,o,n,r){return function(s){return y(this,null,function*(){if(s.name===Dt)try{let i=JSON.parse(s.data),l=i.result_code,c;if(l==="OK"||l==null)c=i.final_output;else if(l==="EXCEEDS_SIZE_LIMIT")c=yield Eo(t,o,n,r),e.resolve(c);else throw new Error(`Unsupported final output code: ${l}`);e.resolve(c)}catch(i){e.reject(i)}})}}function xo(l){return y(this,arguments,function*({token:t,channelName:e,executionId:o,returnAllOutputs:n,headers:r,timeout:s,baseURL:i}){let c=new we.default.Realtime(t),p=c.channels.get(e),m={},g=new Promise((b,w)=>{m.resolve=b,m.reject=w}),_=Oe(i,m,o,n,r);yield p.subscribe(Dt,_);try{return yield new Promise((b,w)=>{let P=setTimeout(()=>{w(new Error("Workflow execution did not complete properly (timeout)"))},s);g.then(I=>{clearTimeout(P),b(I)}).catch(I=>{clearTimeout(P),w(I)})})}finally{console.log("Closing client"),p.unsubscribe(Dt,_),c.close(),console.log("Closed client")}})}var q=(t,e)=>y(null,null,function*(){return(0,Ee.default)(()=>y(null,null,function*(){let o=yield fetch(t,e);if(o.status>=500&&o.status<600||o.status===429)throw new Error(`Server error: ${o.status} ${o.statusText}`);return o}),{retries:3,factor:2,minTimeout:2e3,maxTimeout:15e3,randomize:!0,onFailedAttempt:o=>{console.info(`PromptLayer API request attempt ${o.attemptNumber} failed. ${o.retriesLeft} retries left.`)}})}),Pe=(t,e,o,n=!0)=>y(null,null,function*(){return o.request_response[Symbol.asyncIterator]!==void 0?Po(t,e,o.request_response,o,n):yield Se(t,e,o,n)}),Se=(t,e,o,n=!0)=>y(null,null,function*(){try{let r=yield q(`${e}/track-request`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify(o)}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to log request";if(n)throw new Error(i);H(s,"WARNING: While logging your request, PromptLayer experienced the following error:")}if(s&&o.return_pl_id)return[o.request_response,s.request_id]}catch(r){if(n)throw r;console.warn(`WARNING: While logging your request PromptLayer had the following error: ${r}`)}return o.request_response}),Ie=(t,e,o,n=!0)=>y(null,null,function*(){try{let r=yield q(`${e}/library-track-metadata`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify(D(h({},o),{api_key:t}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track metadata";if(n)throw new Error(i);return H(s,"WARNING: While logging metadata to your request, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While logging metadata to your request, PromptLayer experienced the following error: ${r}`),!1}return!0}),Ae=(t,e,o,n=!0)=>y(null,null,function*(){try{let r=yield q(`${e}/library-track-score`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify(D(h({},o),{api_key:t}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track score";if(n)throw new Error(i);return H(s,"WARNING: While scoring your request, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While scoring your request, PromptLayer experienced the following error: ${r}`),!1}return!0}),Ce=(t,e,o,n=!0)=>y(null,null,function*(){try{let r=yield q(`${e}/library-track-prompt`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify(D(h({},o),{api_key:t}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track prompt";if(n)throw new Error(i);return H(s,"WARNING: While associating your request with a prompt template, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While associating your request with a prompt template, PromptLayer experienced the following error: ${r}`),!1}return!0}),ke=(t,e,o,n=!0)=>y(null,null,function*(){try{let r=yield q(`${e}/track-group`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify(D(h({},o),{api_key:t}))}),s=yield r.json();if(r.status!==200){let i=s.message||s.error||"Failed to track group";if(n)throw new Error(i);return H(s,"WARNING: While associating your request with a group, PromptLayer experienced the following error"),!1}}catch(r){if(n)throw r;return console.warn(`WARNING: While associating your request with a group, PromptLayer experienced the following error: ${r}`),!1}return!0}),Ne=(t,e,o=!0)=>y(null,null,function*(){try{let n=yield q(`${e}/create-group`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify({api_key:t})}),r=yield n.json();if(n.status!==200){let s=r.message||r.error||"Failed to create group";if(o)throw new Error(s);return H(r,"WARNING: While creating a group PromptLayer had the following error"),!1}return r.id}catch(n){if(o)throw n;return console.warn(`WARNING: While creating a group PromptLayer had the following error: ${n}`),!1}}),Le=(t,e,o,n,r=!0)=>y(null,null,function*(){try{let s=new URL(`${e}/prompt-templates/${o}`),i=yield q(s,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":t},$()),body:JSON.stringify(n)}),l=yield i.json();if(i.status!==200){let c=l.message||l.error||"Failed to fetch prompt template";if(r)throw new Error(c);return console.warn(`WARNING: While fetching a prompt template PromptLayer had the following error: ${c}`),null}return l.warning&&console.warn(`WARNING: While fetching your prompt PromptLayer had the following error: ${l.warning}`),l}catch(s){if(r)throw s;return console.warn(`WARNING: While fetching a prompt template PromptLayer had the following error: ${s}`),null}}),Ue=(t,e,o,n=!0)=>y(null,null,function*(){let r=yield q(`${e}/rest/prompt-templates`,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":t},$()),body:JSON.stringify({prompt_template:h({},o),prompt_version:h({},o),release_labels:o.release_labels?o.release_labels:void 0})}),s=yield r.json();if(r.status!==200&&r.status!==201){let i=s.message||s.error||"Failed to publish prompt template";if(n)throw new Error(i);H(s,"WARNING: While publishing a prompt template PromptLayer had the following error")}return s}),qe=(t,e,o,n=!0)=>y(null,null,function*(){var l;let r=new URL(`${e}/prompt-templates`);Object.entries(o||{}).forEach(([c,p])=>r.searchParams.append(c,p.toString()));let s=yield q(r,{headers:h({"Content-Type":"application/json","X-API-KEY":t},$())}),i=yield s.json();if(s.status!==200){let c=i.message||i.error||"Failed to fetch prompt templates";if(n)throw new Error(c);return H(i,"WARNING: While fetching all prompt templates PromptLayer had the following error"),[]}return(l=i.items)!=null?l:[]}),Oo=t=>y(null,null,function*(){let e=new URL(`${t.baseURL}/connection/websocket`);e.protocol=e.protocol==="https:"?"wss:":"ws:";let o=new Te.Centrifuge(e.toString(),{token:t.token}),n=o.newSubscription(t.channelName);return new Promise((r,s)=>{let i=m=>{p(),r(m)},l=Oe(t.baseURL,{resolve:i,reject:s},t.executionId,t.returnAllOutputs,t.headers);n.on("publication",m=>{l({name:m.data.message_name,data:m.data.data})});let c=setTimeout(()=>{s(new Error("Workflow execution did not complete properly (timeout)"))},t.timeout),p=()=>{clearTimeout(c),n.unsubscribe(),o.disconnect()};n.on("error",m=>{p(),s(`Centrifugo subscription error: ${m}`)}),o.on("error",m=>{p(),s(`Centrifugo client error: ${m}`)}),n.subscribe(),o.connect()})}),$e=p=>y(null,[p],function*({workflow_name:t,input_variables:e,metadata:o={},workflow_label_name:n=null,workflow_version_number:r=null,return_all_outputs:s=!1,api_key:i,timeout:l=36e5,baseURL:c}){let m={input_variables:e,metadata:o,workflow_label_name:n,workflow_version_number:r,return_all_outputs:s},g=h({"Content-Type":"application/json","X-API-KEY":i},$());try{let _=yield q(`${c}/workflows/${encodeURIComponent(t)}/run`,{method:"POST",headers:g,body:JSON.stringify(m)});if(_.status!==201)return{success:!1,message:`Failed to run workflow: ${(yield _.json().catch(()=>({}))).error||_.statusText}`};let b=yield _.json();b.warning&&console.warn(`WARNING: ${b.warning}`);let w=b.workflow_version_execution_id;if(!w)return console.log("No execution ID returned from workflow run"),{success:!1,message:"Failed to run workflow"};let P=`workflow_updates:${w}`,A=yield(yield q(`${c}/ws-token-request-library?capability=${P}`,{method:"POST",headers:g})).json(),S={token:A.token_details.token,channelName:P,executionId:w,returnAllOutputs:s,headers:g,timeout:l,baseURL:c};return A.messaging_backend==="centrifugo"?Oo(S):yield xo(S)}catch(_){throw console.error(`Failed to run workflow: ${_ instanceof Error?_.message:_}`),_}});function Po(t,e,o,n,r=!0){return Ct(this,null,function*(){let s=[];try{for(var c=kt(o),p,m,g;p=!(m=yield new et(c.next())).done;p=!1){let _=m.value;yield n.return_pl_id?[_,null]:_,s.push(_)}}catch(m){g=[m]}finally{try{p&&(m=c.return)&&(yield new et(m.call(c)))}finally{if(g)throw g[0]}}let i=he(s,n.function_name),l=yield new et(Se(t,e,D(h({},n),{request_response:i,request_end_time:new Date().toISOString()}),r));if(l&&n.return_pl_id){let _=l[1];yield[s.at(-1),_]}})}var H=(t,e)=>{try{console.warn(`${e}: ${t.message}`)}catch(o){console.warn(`${e}: ${t}`)}},We=(t,e,o=!0)=>y(null,null,function*(){try{let n=yield q(`${t}/track-request`,{method:"POST",headers:h({"Content-Type":"application/json"},$()),body:JSON.stringify(e)}),r=yield n.json();if(n.status!==200){let s=r.message||r.error||"Failed to track request";if(o)throw new Error(s);H(r,"WARNING: While logging your request, PromptLayer experienced the following error:")}return r}catch(n){if(o)throw n;console.warn(`WARNING: While logging your request PromptLayer had the following error: ${n}`)}return{}}),So=(t,e)=>y(null,null,function*(){return yield t.chat.completions.create(e)}),Io=(t,e)=>y(null,null,function*(){return yield t.completions.create(e)}),Me={chat:So,completion:Io},Ge=(t,e)=>y(null,null,function*(){var s,i;let o=require("openai").default,n=new o({baseURL:e.baseURL,apiKey:e.apiKey});if(e==null||delete e.apiKey,e==null||delete e.baseURL,((i=(s=t.metadata)==null?void 0:s.model)==null?void 0:i.api_type)==="chat-completions"){let l=Me[t.prompt_template.type];return yield l(n,e)}else return yield n.responses.create(e)}),Ke=(t,e)=>y(null,null,function*(){var s,i;let{AzureOpenAI:o}=require("openai"),n=new o({endpoint:process.env.AZURE_OPENAI_ENDPOINT||e.baseURL,apiVersion:process.env.OPENAI_API_VERSION||e.apiVersion,apiKey:process.env.AZURE_OPENAI_API_KEY||e.apiKey});if(e==null||delete e.baseURL,e==null||delete e.apiVersion,e==null||delete e.apiKey,((i=(s=t.metadata)==null?void 0:s.model)==null?void 0:i.api_type)==="chat-completions"){let l=Me[t.prompt_template.type];return yield l(n,e)}else return yield n.responses.create(e)}),je=(t,e)=>y(null,null,function*(){return t.messages.create(e)}),Ao=(t,e)=>y(null,null,function*(){return t.completions.create(e)}),De={chat:je,completion:Ao},Fe=(t,e)=>y(null,null,function*(){let o=require("@anthropic-ai/sdk").default,n=new o({baseURL:e.baseURL,apiKey:e.apiKey}),r=De[t.prompt_template.type];return r(n,e)}),Be=(t,e,o,n=!0)=>y(null,null,function*(){try{let r=yield q(`${e}/log-request`,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":t},$()),body:JSON.stringify(o)}),s=yield r.json();if(r.status!==201){let i=s.message||s.error||"Failed to log request";if(n)throw new Error(i);return H(s,"WARNING: While logging your request PromptLayer had the following error"),null}return s}catch(r){if(n)throw r;return console.warn(`WARNING: While tracking your prompt PromptLayer had the following error: ${r}`),null}}),Co=(t,e)=>y(null,null,function*(){var i,l;let o=e==null?void 0:e.history,n=e==null?void 0:e.generationConfig,r=o.length>0?(i=o[o.length-1])==null?void 0:i.parts:"",s=t.chats.create({model:e==null?void 0:e.model,history:(l=o.slice(0,-1))!=null?l:[],config:n});return e!=null&&e.stream?yield s.sendMessageStream({message:r}):yield s.sendMessage({message:r})}),ko=(t,n)=>y(null,null,function*(){var r=n,{stream:e}=r,o=At(r,["stream"]);return e?yield t.generateContentStream(h({},o)):yield t.generateContent(h({},o))}),No={chat:Co,completion:ko},Ft=(t,e)=>y(null,null,function*(){let{GoogleGenAI:o}=yield import("@google/genai"),n=process.env.GOOGLE_API_KEY||process.env.GEMINI_API_KEY,r=process.env.VERTEX_AI_PROJECT_ID||process.env.GOOGLE_PROJECT_ID||process.env.GOOGLE_CLOUD_PROJECT,s=process.env.VERTEX_AI_PROJECT_LOCATION||process.env.GOOGLE_PROJECT_LOCATION||process.env.GOOGLE_CLOUD_PROJECT_LOCATION,i={keyFilename:process.env.GOOGLE_APPLICATION_CREDENTIALS,projectId:r,scopes:["https://www.googleapis.com/auth/cloud-platform"]},l=n?new o({apiKey:n}):new o({vertexai:!0,project:r,location:s,googleAuthOptions:i}),c=No[t.prompt_template.type];return yield c(l,e)}),be=t=>t.replace(/_([a-z])/g,(e,o)=>o.toUpperCase()),Nt=(t,e=new Set)=>!t||typeof t!="object"?t:Array.isArray(t)?t.map(o=>Nt(o,e)):Object.fromEntries(Object.entries(t).map(([o,n])=>e.has(o)?[be(o),n]:[be(o),Nt(n,e)])),Ve=(t,e,o={},n=!1)=>{var c,p,m,g,_,b,w,P,I;let r=(m=e==null?void 0:e.client)!=null?m:(p=(c=t.metadata)==null?void 0:c.model)==null?void 0:p.provider,s=(_=(g=t.metadata)==null?void 0:g.model)==null?void 0:_.api_type;if(!r)throw new Error("Provider type not found in prompt blueprint or custom provider");let i=D(h({},t.llm_kwargs||{}),{stream:n});["google","vertexai"].includes(r)&&((w=(b=t.metadata)==null?void 0:b.model)!=null&&w.name.startsWith("gemini"))&&(i=Nt(i,new Set(["function_declarations","properties"])));let l={baseURL:(I=e==null?void 0:e.base_url)!=null?I:(P=t.provider_base_url)==null?void 0:P.url,apiKey:e==null?void 0:e.api_key};return Object.entries(l).forEach(([A,R])=>{R!==void 0&&(i[A]=R)}),n&&_e.includes(r)&&s==="chat-completions"&&(i.stream_options={include_usage:!0}),{provider_type:r,kwargs:i}},Je=(t,e)=>{let o=Re[t];if(!o)throw new Error(`Unsupported provider type: ${t}`);let n=e.type,r=o[n];if(!r)throw new Error(`Unsupported template type '${e.type}' for provider '${t}'`);return r},ze=(t,e)=>y(null,null,function*(){var n;let o=(n=t.metadata)==null?void 0:n.model;if(!o)throw new Error("Model metadata not found in prompt blueprint");if(o.name.startsWith("gemini"))return Ft(t,e);if(o.name.startsWith("claude")){let{AnthropicVertex:r}=yield import("@anthropic-ai/vertex-sdk"),s=new r({baseURL:e.baseURL});if(t.prompt_template.type==="chat")return je(s,e);throw new Error(`Unsupported prompt template type '${t.prompt_template.type}' for Anthropic Vertex AI`)}throw new Error(`Unsupported model name '${o.name}' for Vertex AI request`)}),Ye=(t,e)=>y(null,null,function*(){let{BedrockRuntimeClient:o,ConverseCommand:n,ConverseStreamCommand:r}=yield import("@aws-sdk/client-bedrock-runtime"),s=new o({credentials:{accessKeyId:(e==null?void 0:e.aws_access_key)||process.env.AWS_ACCESS_KEY_ID,secretAccessKey:(e==null?void 0:e.aws_secret_key)||process.env.AWS_SECRET_ACCESS_KEY,sessionToken:(e==null?void 0:e.aws_session_token)||process.env.AWS_SESSION_TOKEN},region:(e==null?void 0:e.aws_region)||process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||"us-east-1"});if(e!=null&&e.stream){delete e.stream;let i=new r(h({},e));return yield s.send(i)}else{e==null||delete e.stream;let i=new n(h({},e));return yield s.send(i)}}),He=(t,e)=>y(null,null,function*(){let{AnthropicBedrock:o}=yield import("@anthropic-ai/bedrock-sdk"),n=new o({awsAccessKey:e.aws_access_key,awsSecretKey:e.aws_secret_key,awsRegion:e.aws_region,awsSessionToken:e.aws_session_token,baseURL:e.base_url}),r=De[t.prompt_template.type];return r(n,e)}),Xe=(t,e)=>y(null,null,function*(){let{Mistral:o}=yield import("@mistralai/mistralai"),n=new o({apiKey:process.env.MISTRAL_API_KEY});return e=Nt(e,new Set),e!=null&&e.stream?(delete e.stream,yield n.chat.stream(e)):(delete e.stream,yield n.chat.complete(e))}),Bt=t=>{var e,o,n,r,s,i;if(typeof globalThis.process!="undefined")return(n=(o=(e=globalThis.process.env)==null?void 0:e[t])==null?void 0:o.trim())!=null?n:void 0;if(typeof globalThis.Deno!="undefined")return(i=(s=(r=globalThis.Deno.env)==null?void 0:r.get)==null?void 0:s.call(r,t))==null?void 0:i.trim()};var Lt=class{constructor(e,o,n=!0){this.create=()=>Ne(this.apiKey,this.baseURL,this.throwOnError);this.apiKey=e,this.baseURL=o,this.throwOnError=n}};var X=require("@opentelemetry/api"),St=require("@opentelemetry/core");var Vt=class{constructor(e,o,n){this.apiKey=o,this.baseURL=n,this.enableTracing=e,this.url=`${this.baseURL}/spans-bulk`}attributesToObject(e){return e?Object.fromEntries(Object.entries(e)):{}}spanKindToString(e){return{[X.SpanKind.INTERNAL]:"SpanKind.INTERNAL",[X.SpanKind.SERVER]:"SpanKind.SERVER",[X.SpanKind.CLIENT]:"SpanKind.CLIENT",[X.SpanKind.PRODUCER]:"SpanKind.PRODUCER",[X.SpanKind.CONSUMER]:"SpanKind.CONSUMER"}[e]||"SpanKind.INTERNAL"}statusCodeToString(e){return{[X.SpanStatusCode.ERROR]:"StatusCode.ERROR",[X.SpanStatusCode.OK]:"StatusCode.OK",[X.SpanStatusCode.UNSET]:"StatusCode.UNSET"}[e]||"StatusCode.UNSET"}toNanoseconds(e){return(BigInt(e[0])*BigInt(1e9)+BigInt(e[1])).toString()}export(e){if(!this.enableTracing)return Promise.resolve(St.ExportResultCode.SUCCESS);let o=e.map(n=>{var r;return{name:n.name,context:{trace_id:n.spanContext().traceId,span_id:n.spanContext().spanId,trace_state:((r=n.spanContext().traceState)==null?void 0:r.serialize())||""},kind:this.spanKindToString(n.kind),parent_id:n.parentSpanId||null,start_time:this.toNanoseconds(n.startTime),end_time:this.toNanoseconds(n.endTime),status:{status_code:this.statusCodeToString(n.status.code),description:n.status.message},attributes:this.attributesToObject(n.attributes),events:n.events.map(s=>({name:s.name,timestamp:this.toNanoseconds(s.time),attributes:this.attributesToObject(s.attributes)})),links:n.links.map(s=>({context:s.context,attributes:this.attributesToObject(s.attributes)})),resource:{attributes:D(h({},n.resource.attributes),{"service.name":"prompt-layer-js"}),schema_url:""}}});return q(this.url,{method:"POST",headers:h({"Content-Type":"application/json","X-API-KEY":this.apiKey||""},$()),body:JSON.stringify({spans:o})}).then(n=>n.ok?St.ExportResultCode.SUCCESS:(console.error(`Error exporting spans
2
+ HTTP error! status: ${n.status}`),St.ExportResultCode.FAILED)).catch(n=>(console.error("Error exporting spans:",n),St.ExportResultCode.FAILED))}shutdown(){return Promise.resolve()}},Ze=Vt;var Qe=Y(require("@opentelemetry/api")),ve=require("@opentelemetry/sdk-trace-base"),to=require("@opentelemetry/sdk-trace-node"),ct=(t="promptlayer-tracer")=>Qe.trace.getTracer(t),eo=(t,e,o)=>{let n=new to.NodeTracerProvider,r=new Ze(t,e,o),s=new ve.SimpleSpanProcessor(r);n.addSpanProcessor(s),n.register()};var Lo=ct(),Jt=(t,e,o,n="",r="openai")=>{let s={construct:(i,l)=>{let c=Reflect.construct(i,l);return Object.defineProperties(c,{function_name:{value:n,writable:!0},provider:{value:r}}),new Proxy(c,s)},get:(i,l,c)=>{let p=i[l],m=`${Reflect.get(i,"function_name")}.${l.toString()}`;return typeof p=="object"?(Object.defineProperties(p,{function_name:{value:m,writable:!0},provider:{value:r}}),new Proxy(p,s)):typeof p=="function"?(...g)=>{var A,R,S,N,M,B;let _=new Date().toISOString(),b=Reflect.get(i,"provider"),w=(A=g[0])==null?void 0:A.return_pl_id,P=(R=g[0])==null?void 0:R.pl_tags,I=(S=g[0])==null?void 0:S.pl_warn_on_error;return(N=g[0])==null||delete N.return_pl_id,(M=g[0])==null||delete M.pl_tags,(B=g[0])==null||delete B.pl_warn_on_error,Lo.startActiveSpan(`${b}.${m}`,C=>y(null,null,function*(){try{C.setAttribute("function_input",JSON.stringify(g));let k=Reflect.apply(p,i,g),V=C.spanContext().spanId;return k instanceof Promise?new Promise((K,Z)=>{k.then(j=>y(null,null,function*(){let J=yield Pe(t,e,{api_key:t,provider_type:b,function_name:m,request_start_time:_,request_end_time:new Date().toISOString(),request_response:j,kwargs:g[0],return_pl_id:w,tags:P,span_id:V},!I);C.setAttribute("function_output",JSON.stringify(J)),C.setAttribute("response_status","success"),C.end(),K(J)})).catch(j=>{C.recordException(j),C.setAttribute("response_status","error"),C.end(),Z(j)})}):(C.setAttribute("function_output",JSON.stringify(k)),C.setAttribute("response_status","success"),C.end(),k)}catch(k){throw C.recordException(k),C.setAttribute("response_status","error"),C.end(),k}}))}:Reflect.get(i,l,c)}};return new Proxy(o,s)};var Ut=Y(require("@opentelemetry/api"));var no=(t,e,o)=>function(...n){let r=ct(),s=i=>{try{o&&Object.entries(o).forEach(([c,p])=>{i.setAttribute(c,p)}),i.setAttribute("function_input",JSON.stringify(n));let l=e(...n);return l instanceof Promise?l.then(c=>(i.setAttribute("function_output",JSON.stringify(c)),i.setStatus({code:Ut.SpanStatusCode.OK}),c)).catch(c=>{throw oo(i,c,n),c}).finally(()=>i.end()):(i.setAttribute("function_output",JSON.stringify(l)),i.setStatus({code:Ut.SpanStatusCode.OK}),i.end(),l)}catch(l){throw oo(i,l,n),l}};return r.startActiveSpan(t,s)},oo=(t,e,o)=>{t.setAttribute("function_input",JSON.stringify(o)),t.setStatus({code:Ut.SpanStatusCode.ERROR,message:e instanceof Error?e.message:"Unknown error"}),t.end()};var qt=class{constructor(e,o,n=!0){this.get=(e,o)=>Le(this.apiKey,this.baseURL,e,o,this.throwOnError);this.publish=e=>Ue(this.apiKey,this.baseURL,e,this.throwOnError);this.all=e=>qe(this.apiKey,this.baseURL,e,this.throwOnError);this.apiKey=e,this.baseURL=o,this.throwOnError=n}};var Uo=(t,e,o,n=!0)=>{if(!(o.metadata instanceof Object))throw new Error("Please provide a dictionary of metadata.");for(let[r,s]of Object.entries(o.metadata))if(typeof r!="string"||typeof s!="string")throw new Error("Please provide a dictionary of metadata with key value pair of strings.");return Ie(t,e,o,n)},qo=(t,e,o,n=!0)=>{if(typeof o.score!="number")throw new Error("Score must be a number");if(o.score<0||o.score>100)throw new Error("Score must be a number between 0 and 100.");return Ae(t,e,o,n)},$o=(t,e,o,n=!0)=>{if(!(o.prompt_input_variables instanceof Object))throw new Error("Prompt template input variable dictionary not provided.");return Ce(t,e,o,n)},Wo=(t,e,o,n=!0)=>ke(t,e,o,n),$t=class{constructor(e,o,n=!0){this.group=e=>Wo(this.apiKey,this.baseURL,e,this.throwOnError);this.metadata=e=>Uo(this.apiKey,this.baseURL,e,this.throwOnError);this.prompt=e=>$o(this.apiKey,this.baseURL,e,this.throwOnError);this.score=e=>qo(this.apiKey,this.baseURL,e,this.throwOnError);this.apiKey=e,this.baseURL=o,this.throwOnError=n}};function Mo(t){if(t&&typeof t=="object"&&"status"in t&&typeof t.status=="number")return t.status}function Go(t){return t&&typeof t=="object"&&t.constructor?t.constructor.name:""}function ro(t){let e=Mo(t),o=Go(t),n=t instanceof Error?t.message.toLowerCase():String(t).toLowerCase();return e===429||/ratelimit/i.test(o)?"PROVIDER_RATE_LIMIT":/timeout/i.test(o)?"PROVIDER_TIMEOUT":e===401||/authentication/i.test(o)?"PROVIDER_AUTH_ERROR":n.includes("quota")?"PROVIDER_QUOTA_LIMIT":n.includes("timeout")||n.includes("timed out")?"PROVIDER_TIMEOUT":e!==void 0?"PROVIDER_ERROR":"UNKNOWN_ERROR"}var so=Y(require("@opentelemetry/api"));var Ko={openai:Ge,anthropic:Fe,"openai.azure":Ke,google:Ft,vertexai:ze,"amazon.bedrock":Ye,"anthropic.bedrock":He,mistral:Xe},jo=t=>{if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=["status","value","error_message","raw_error_message","is_output_node"];return Object.values(t).every(n=>typeof n!="object"||n===null?!1:e.every(r=>r in n))},zt=class{constructor({apiKey:e=Bt("PROMPTLAYER_API_KEY"),baseURL:o=Bt("PROMPTLAYER_BASE_URL"),enableTracing:n=!1,throwOnError:r=!0}={}){if(e===void 0)throw new Error("PromptLayer API key not provided. Please set the PROMPTLAYER_API_KEY environment variable or pass the api_key parameter.");this.apiKey=e,this.baseURL=o||"https://api.promptlayer.com",this.enableTracing=n,this.throwOnError=r,this.templates=new qt(e,this.baseURL,this.throwOnError),this.group=new Lt(e,this.baseURL,this.throwOnError),this.track=new $t(e,this.baseURL,this.throwOnError),this.wrapWithSpan=no,n&&eo(n,e,this.baseURL)}get Anthropic(){try{let e=require("@anthropic-ai/sdk").default;return Jt(this.apiKey,this.baseURL,e,"anthropic","anthropic")}catch(e){console.error("To use the Anthropic module, you must install the @anthropic-ai/sdk package.")}}get OpenAI(){try{let e=require("openai").default;return Jt(this.apiKey,this.baseURL,e,"openai","openai")}catch(e){console.error("To use the OpenAI module, you must install the @openai/api package.")}}run(_){return y(this,arguments,function*({promptName:e,promptVersion:o,promptReleaseLabel:n,inputVariables:r,tags:s,metadata:i,groupId:l,modelParameterOverrides:c,stream:p=!1,provider:m,model:g}){return ct().startActiveSpan("PromptLayer Run",w=>y(this,null,function*(){try{let P={promptName:e,promptVersion:o,promptReleaseLabel:n,inputVariables:r,tags:s,metadata:i,groupId:l,modelParameterOverrides:c,stream:p};w.setAttribute("function_input",JSON.stringify(P));let I=r,A={label:n,version:o,metadata_filters:i,provider:m,model:g,model_parameter_overrides:c};r&&(A.input_variables=r);let R=yield this.templates.get(e,A);if(!R)throw new Error(`Cannot proceed: prompt template '${e}' could not be fetched. Check the warnings above for the actual error.`);let S=R.prompt_template;if(!R.llm_kwargs){let L=`Prompt '${e}' does not have any LLM kwargs associated with it. Please set your model parameters in the registry in the PromptLayer dashboard.`;if(this.throwOnError)throw new Error(L);console.warn(`WARNING: ${L}`)}let N=R.metadata;if(!N)throw new Error(`Prompt '${e}' does not have any metadata associated with it.`);let M=N.model;if(!M)throw new Error(`Prompt '${e}' does not have a model parameters associated with it.`);let B=R.custom_provider,C=new Date().toISOString(),{provider_type:k,kwargs:V}=Ve(R,B,c,p),K=k;if(k==="openai"||k==="openai.azure"){let L=M.api_type;K=`${k}:${L}`}M.name.startsWith("gemini")?K="google":M.name.startsWith("claude")&&(K="anthropic");let Z=Je(K,S),{function_name:j,stream_function:J}=Z,ot=Ko[k];if(!ot)throw new Error(`No request function found for provider: ${k}`);let Q=L=>{let v=new Date().toISOString();return We(this.baseURL,h({function_name:j,provider_type:k,args:[],kwargs:V,tags:s,request_start_time:C,request_end_time:v,api_key:this.apiKey,metadata:i,prompt_id:R.id,prompt_version:R.version,prompt_input_variables:I,group_id:l,return_prompt_blueprint:!0,span_id:w.spanContext().spanId},L),this.throwOnError)},z;try{z=yield ot(R,V)}catch(L){let v=ro(L),st=L instanceof Error?L.message:String(L);throw yield Q({request_response:{},status:"ERROR",error_type:v,error_message:st}),L}if(p)return ge(z,Q,J,i||R.metadata);let nt=yield Q({request_response:z}),rt={request_id:nt.request_id,raw_response:z,prompt_blueprint:nt.prompt_blueprint};return w.setAttribute("function_output",JSON.stringify(rt)),rt}catch(P){throw w.setStatus({code:so.SpanStatusCode.ERROR,message:P instanceof Error?P.message:"Unknown error"}),P}finally{w.end()}}))})}runWorkflow(l){return y(this,arguments,function*({workflowName:e,inputVariables:o={},metadata:n={},workflowLabelName:r=null,workflowVersion:s=null,returnAllOutputs:i=!1}){try{let c=yield $e({workflow_name:e,input_variables:o,metadata:n,workflow_label_name:r,workflow_version_number:s,return_all_outputs:i,api_key:this.apiKey,baseURL:this.baseURL});if(!i&&jo(c)){let m=Object.values(c).filter(_=>_.is_output_node===!0);if(m.length===0)throw new Error(JSON.stringify(c,null,2));if(!m.some(_=>_.status==="SUCCESS"))throw new Error(JSON.stringify(c,null,2))}return c}catch(c){throw c instanceof Error?(console.error("Error running workflow:",c.message),new Error(`Error running workflow: ${c.message}`)):(console.error("Unknown error running workflow:",c),new Error("Unknown error running workflow"))}})}logRequest(e){return y(this,null,function*(){return Be(this.apiKey,this.baseURL,e,this.throwOnError)})}};0&&(module.exports={PromptLayer});
3
3
  //# sourceMappingURL=index.js.map