promptlayer 1.0.57 → 1.0.59
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/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/span-exporter.ts +2 -1
- package/src/types.ts +1 -0
- package/src/utils/utils.ts +38 -38
- package/tsup.config.ts +17 -0
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var Ze=Object.defineProperty,Qe=Object.defineProperties;var ve=Object.getOwnPropertyDescriptors;var St=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var Ut=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e);var oe=(e,t,o)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,O=(e,t)=>{for(var o in t||(t={}))ne.call(t,o)&&oe(e,o,t[o]);if(St)for(var o of St(t))re.call(t,o)&&oe(e,o,t[o]);return e},j=(e,t)=>Qe(e,ve(t));var rt=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,o)=>(typeof require!="undefined"?require:t)[o]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Et=(e,t)=>{var o={};for(var n in e)ne.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&St)for(var n of St(e))t.indexOf(n)<0&&re.call(e,n)&&(o[n]=e[n]);return o};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())}),H=function(e,t){this[0]=e,this[1]=t},Ot=(e,t,o)=>{var n=(i,l,c,p)=>{try{var m=o[i](l),g=(l=m.value)instanceof H,y=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:y})).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(e,t),s[Ut("asyncIterator")]=()=>s,r("next"),r("throw"),r("return"),s};var At=(e,t,o)=>(t=e[Ut("asyncIterator")])?t.call(e):(e=e[Ut("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);import so from"ably";import{Centrifuge as io}from"centrifuge";import ao from"p-retry";var F=(e,t,o,n)=>{let r={id:e,function:{name:t,input:o}};return n&&(r.tool_id=n),r},x=n=>{var r=n,{type:e,item_id:t}=r,o=Et(r,["type","item_id"]);let s=O({type:e},o);return t&&(s.item_id=t),s},wt=(e,t)=>({input_variables:[],template_format:"f-string",content:e,role:"assistant",function_call:null,name:null,tool_calls:t}),xt=(e,t)=>({prompt_template:{messages:[e],type:"chat",input_variables:[]},metadata:t}),se=(e,t)=>{let o=[],n=[];e.type==="content_block_start"?e.content_block.type==="thinking"?o.push(x({type:"thinking",thinking:"",signature:""})):e.content_block.type==="text"?o.push(x({type:"text",text:""})):e.content_block.type==="tool_use"&&n.push(F(e.content_block.id||"",e.content_block.name||"",{})):e.type==="content_block_delta"&&(e.delta.type==="thinking_delta"?o.push(x({type:"thinking",thinking:e.delta.thinking||"",signature:""})):e.delta.type==="text_delta"?o.push(x({type:"text",text:e.delta.text||""})):e.delta.type==="signature_delta"?o.push(x({type:"thinking",thinking:"",signature:e.delta.signature||""})):e.delta.type==="input_json_delta"&&n.push(F("","",e.delta.partial_json)));let r=wt(o,n);return xt(r,t)},ie=(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(x({type:"thinking",thinking:i.text,signature:i.thoughtSignature||""})):o.push(x({type:"text",text:i.text})):i.functionCall&&n.push(F(i.functionCall.id||"",i.functionCall.name||"",i.functionCall.args||{}));let r=wt(o,n);return xt(r,t)},$t=(e,t)=>{let o=[],n=[];for(let s of e.choices)if(s.delta){s.delta.content&&o.push(x({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=wt(o,n);return xt(r,t)},ae=(e,t)=>{var i,l,c,p,m,g,y,b,R,S,A,C,h,E,L,$,D,I,k,B,G,Y,M,J,Z,V,Q,v,tt,K,et,it,at,ct,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,bt,Rt,P,N,u,d,w,Jt,zt,Yt,Vt,Xt,Ht,Zt,Qt,vt,te;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:"",T=(l=e==null?void 0:e.item_id)!=null?l:"";a&&o.push(x({type:"thinking",item_id:T,thinking:a,signature:""}))}else if(r==="response.reasoning_summary_text.done"){let a=(c=e==null?void 0:e.text)!=null?c:"",T=(p=e==null?void 0:e.item_id)!=null?p:"";a&&o.push(x({type:"thinking",item_id:T,thinking:a,signature:""}))}else if(r==="response.reasoning_summary_part.added"){let a=(m=e==null?void 0:e.part)!=null?m:{},T=(g=e==null?void 0:e.item_id)!=null?g:"";if((a==null?void 0:a.type)==="summary_text"){let f=(y=a==null?void 0:a.text)!=null?y:"";o.push(x({type:"thinking",item_id:T,thinking:f,signature:""}))}}else if(r==="response.reasoning_summary_part.done"){let a=(b=e==null?void 0:e.part)!=null?b:{},T=(R=e==null?void 0:e.item_id)!=null?R:"";if((a==null?void 0:a.type)==="summary_text"){let f=(S=a==null?void 0:a.text)!=null?S:"";f&&o.push(x({type:"thinking",item_id:T,thinking:f,signature:""}))}}else if(r==="response.function_call_arguments.delta"){let a=(A=e==null?void 0:e.item_id)!=null?A:"",T=(C=e==null?void 0:e.delta)!=null?C:"";T&&n.push(F("","",T,a))}else if(r==="response.function_call_arguments.done"){let a=(h=e==null?void 0:e.item_id)!=null?h:"",T=(E=e==null?void 0:e.arguments)!=null?E:"";T&&n.push(F("","",T,a))}else if(r==="response.output_item.added"){let a=(L=e==null?void 0:e.item)!=null?L:{},T=a==null?void 0:a.type,f=($=a==null?void 0:a.id)!=null?$:"";T==="reasoning"?o.push(x({type:"thinking",thinking:"",signature:"",item_id:f})):T==="function_call"?n.push(F((a==null?void 0:a.call_id)||"",(a==null?void 0:a.name)||"","",f)):T==="message"?o.push(x({type:"text",item_id:f,text:""})):T==="code_interpreter_call"&&o.push(x({type:"code",item_id:f,code:(D=a==null?void 0:a.code)!=null?D:"",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:{},T=(B=a==null?void 0:a.type)!=null?B:"output_text",f=(G=e==null?void 0:e.item_id)!=null?G:"";T==="output_text"&&o.push(x({type:"text",item_id:f,text:(Y=a==null?void 0:a.text)!=null?Y:"",annotations:(a==null?void 0:a.annotations)||[]}))}else if(r==="response.content_part.done"){let a=(M=e==null?void 0:e.part)!=null?M:{},T=(J=a==null?void 0:a.type)!=null?J:"output_text",f=(Z=e==null?void 0:e.item_id)!=null?Z:"";T==="output_text"&&o.push(x({type:"text",item_id:f,text:(V=a==null?void 0:a.text)!=null?V:"",annotations:(a==null?void 0:a.annotations)||[]}))}else if(r==="response.output_text.annotation.added"){let a=(e==null?void 0:e.annotation)||{},T=a==null?void 0:a.type,f=null;T==="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}:T=="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(x({type:"text",item_id:(Q=e==null?void 0:e.item_id)!=null?Q:"",text:"",annotations:[f]}))}else if(r==="response.code_interpreter_call.in_progress")o.push(x({type:"code",item_id:(v=e==null?void 0:e.item_id)!=null?v:"",code:(tt=e==null?void 0:e.code)!=null?tt:"",container_id:(K=e==null?void 0:e.container_id)!=null?K:""}));else if(r==="response.code_interpreter_call_code.delta")o.push(x({type:"code",item_id:(et=e==null?void 0:e.item_id)!=null?et:"",code:(it=e==null?void 0:e.delta)!=null?it:"",container_id:(at=e==null?void 0:e.container_id)!=null?at:""}));else if(r==="response.output_text.delta"){let a=(ct=e==null?void 0:e.delta)!=null?ct:"";a&&o.push(x({type:"text",item_id:(pt=e==null?void 0:e.item_id)!=null?pt:"",text:a}))}else if(r==="response.output_text.done"){let a=(lt=e==null?void 0:e.text)!=null?lt:"";a&&o.push(x({type:"text",item_id:(ut=e==null?void 0:e.item_id)!=null?ut:"",text:a}))}else if(r==="response.output_item.done"){let a=(mt=e==null?void 0:e.item)!=null?mt:{},T=a==null?void 0:a.type,f=(dt=a==null?void 0:a.id)!=null?dt:"";if(T==="reasoning"){let W=((ft=a==null?void 0:a.summary)!=null?ft:[]).map(X=>{var U;return(U=X==null?void 0:X.text)!=null?U:""}).join("");o.push(x({type:"thinking",item_id:f,thinking:W,signature:""}))}else if(T==="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(T==="message"){let ot=(_t=a==null?void 0:a.content)!=null?_t:[];for(let W of ot)if((W==null?void 0:W.type)==="output_text"){let X=(yt=W==null?void 0:W.text)!=null?yt:"";X&&o.push(x({type:"text",item_id:f,text:X}))}}else T==="code_interpreter_call"&&o.push(x({type:"code",item_id:f,code:(ht=a==null?void 0:a.code)!=null?ht:"",container_id:(gt=a==null?void 0:a.container_id)!=null?gt:""}))}else if(r==="response.code_interpreter_call_code.done")o.push(x({type:"code",item_id:(bt=e==null?void 0:e.item_id)!=null?bt:"",code:(Rt=e==null?void 0:e.code)!=null?Rt:"",container_id:(P=e==null?void 0:e.container_id)!=null?P:""}));else if(r==="response.code_interpreter_call.interpreting")o.push(x({type:"code",item_id:(N=e==null?void 0:e.item_id)!=null?N:"",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(x({type:"code",item_id:(w=e==null?void 0:e.item_id)!=null?w:"",code:(Jt=e==null?void 0:e.code)!=null?Jt:"",container_id:(zt=e==null?void 0:e.container_id)!=null?zt:""}));else if(r==="response.completed"){let a=(Yt=e==null?void 0:e.response)!=null?Yt:{},T=(Vt=a==null?void 0:a.output)!=null?Vt:[];for(let f of T){let ot=f==null?void 0:f.type,W=(Xt=f==null?void 0:f.id)!=null?Xt:"";if(ot==="reasoning"){let U=((Ht=f==null?void 0:f.summary)!=null?Ht:[]).map(nt=>{var ee;return(ee=nt==null?void 0:nt.text)!=null?ee:""}).join("");o.push(x({type:"thinking",item_id:W,thinking:U,signature:""}))}else if(ot==="function_call")n.push(F((f==null?void 0:f.call_id)||"",(f==null?void 0:f.name)||"",(f==null?void 0:f.arguments)||"",W));else if(ot==="message"){let X=(Zt=f==null?void 0:f.content)!=null?Zt:[];for(let U of X)if((U==null?void 0:U.type)==="output_text"){let nt=(Qt=U==null?void 0:U.text)!=null?Qt:"";nt&&o.push(x({type:"text",item_id:W,text:nt,annotations:(U==null?void 0:U.annotations)||[]}))}}else ot==="code_interpreter_call"&&o.push(x({type:"code",item_id:W,code:(vt=f==null?void 0:f.code)!=null?vt:"",container_id:(te=f==null?void 0:f.container_id)!=null?te:""}))}}let s=wt(o,n||[]);return xt(s,t)},ce=(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)||"",g=((l=p.reasoningContent)==null?void 0:l.signature)||"";o.push(x({type:"thinking",thinking:m,signature:g}))}else if("text"in p)o.push(x({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 e){let p=((c=e.contentBlockStart)==null?void 0:c.start)||{};if("toolUse"in p){let m=p.toolUse||{};n.push(F(m.toolUseId||"",m.name||"",""))}}let r=wt(o,n);return xt(r,t)};var me=["openai","openai.azure"],Tt=e=>{var n,r,s,i,l,c,p,m,g,y,b,R,S,A,C,h,E,L,$,D,I,k,B,G,Y,M,J,Z,V,Q,v,tt,K,et,it,at,ct,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,bt,Rt;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 P of e){let N=P==null?void 0:P.type;if(N==="response.created"){let u=P.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=(g=u.top_p)!=null?g:t.top_p,t.truncation=(y=u.truncation)!=null?y:t.truncation,t.max_output_tokens=(b=u.max_output_tokens)!=null?b:t.max_output_tokens,t.previous_response_id=(R=u.previous_response_id)!=null?R:t.previous_response_id,t.store=(S=u.store)!=null?S: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 w=u.reasoning;w&&(t.reasoning=w);continue}if(N==="response.in_progress"){let u=P.response||{};t.status=(h=u.status)!=null?h:t.status;continue}if(N==="response.output_item.added"){let u=P.item||{},d=u.id,w=u.type;w==="reasoning"?o[d]={type:"reasoning",id:d,summary:[],status:(E=u.status)!=null?E:"in_progress"}:w==="function_call"?o[d]={type:"function_call",id:d,call_id:u.call_id,name:u.name,arguments:"",status:(L=u.status)!=null?L:"in_progress"}:w==="message"?o[d]={type:"message",id:d,role:($=u.role)!=null?$:"assistant",content:[],status:(D=u.status)!=null?D:"in_progress"}:w==="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(N==="response.reasoning_summary_part.added"){let u=P.item_id,d=P.part||{};if(u in o&&o[u].type==="reasoning"){let w={type:(B=d.type)!=null?B:"summary_text",text:(G=d.text)!=null?G:""};o[u].summary.push(w)}continue}if(N==="response.reasoning_summary_text.delta"){let u=P.item_id,d=(Y=P.delta)!=null?Y:"",w=(M=P.summary_index)!=null?M:0;if(u in o&&o[u].type==="reasoning"){for(;o[u].summary.length<=w;)o[u].summary.push({type:"summary_text",text:""});o[u].summary[w].text+=d}continue}if(N==="response.reasoning_summary_text.done"){let u=P.item_id,d=(J=P.text)!=null?J:"",w=(Z=P.summary_index)!=null?Z:0;if(u in o&&o[u].type==="reasoning"){for(;o[u].summary.length<=w;)o[u].summary.push({type:"summary_text",text:""});o[u].summary[w].text=d}continue}if(N==="response.reasoning_summary_part.done"){let u=P.item_id,d=P.part||{};if(u in o&&o[u].type==="reasoning"){let w=(V=P.summary_index)!=null?V:0;w<o[u].summary.length&&(o[u].summary[w]={type:(Q=d.type)!=null?Q:"summary_text",text:(v=d.text)!=null?v:""})}continue}if(N==="response.function_call_arguments.delta"){let u=P.item_id,d=(tt=P.delta)!=null?tt:"";u in o&&(o[u].arguments=`${o[u].arguments||""}${d}`);continue}if(N==="response.function_call_arguments.done"){let u=P.item_id,d=(K=P.arguments)!=null?K:"";u in o&&(o[u].arguments=d);continue}if(N==="response.content_part.added"){let u=P.part||{},d=Object.values(o).find(w=>w.type==="message");if(d){let w={type:(et=u.type)!=null?et:"output_text",text:(it=u.text)!=null?it:"",annotations:(at=u.annotations)!=null?at:[]};d.content.push(w)}continue}if(N==="response.output_text.delta"){let u=(ct=P.delta)!=null?ct:"";for(let d of Object.values(o))if(d.type==="message"&&d.content&&d.content.length){let w=d.content[d.content.length-1];w&&w.type==="output_text"&&(w.text=`${w.text||""}${u}`);break}continue}if(N==="response.output_text.done"){let u=(pt=P.text)!=null?pt:"";for(let d of Object.values(o))if(d.type==="message"&&d.content&&d.content.length){let w=d.content[d.content.length-1];w&&w.type==="output_text"&&(w.text=u);break}continue}if(N==="response.output_item.done"){let u=P.item||{},d=u.id;d in o&&(o[d].status=(lt=u.status)!=null?lt:"completed",u.type==="reasoning"?o[d].summary=(ut=u.summary)!=null?ut:o[d].summary:u.type==="function_call"?(o[d].arguments=(mt=u.arguments)!=null?mt:o[d].arguments,o[d].call_id=(dt=u.call_id)!=null?dt:o[d].call_id,o[d].name=(ft=u.name)!=null?ft:o[d].name):u.type==="message"&&(o[d].content=(_t=u.content)!=null?_t:o[d].content,o[d].role=(yt=u.role)!=null?yt:o[d].role),t.output.push(o[d]));continue}if(N==="response.completed"){let u=P.response||{};t.status=(gt=(ht=u.status)!=null?ht:t.status)!=null?gt:"completed",t.usage=(bt=u.usage)!=null?bt:t.usage,t.output=(Rt=u.output)!=null?Rt:t.output,u.reasoning&&(t.reasoning=u.reasoning);continue}}return t},Wt=e=>{var l,c,p,m,g,y,b,R,S,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 h=C.choices[0].delta;h.content&&(t=`${t||""}${h.content||""}`),h.function_call&&(o={name:`${o?o.name:""}${h.function_call.name||""}`,arguments:`${o?o.arguments:""}${h.function_call.arguments||""}`});let E=(l=h.tool_calls)==null?void 0:l[0];if(E){s=s||[];let L=s.at(-1);if(!L||E.id){s.push({id:E.id||"",type:E.type||"function",function:{name:((c=E.function)==null?void 0:c.name)||"",arguments:((p=E.function)==null?void 0:p.arguments)||""}});continue}L.function.name=`${L.function.name}${((m=E.function)==null?void 0:m.name)||""}`,L.function.arguments=`${L.function.arguments}${((g=E.function)==null?void 0:g.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:(b=i==null?void 0:i.index)!=null?b:0,logprobs:(R=i==null?void 0:i.logprobs)!=null?R:null,message:{role:"assistant",content:t,function_call:o||void 0,tool_calls:s||void 0,refusal:(S=i==null?void 0:i.delta.refusal)!=null?S: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},pe=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},Gt=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=O({},p.message);else if(p.type==="content_block_start")n=O({},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=j(O({},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},le=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},to=e=>{var i,l,c,p,m,g,y,b,R,S;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 h=(i=C.toolCalls)==null?void 0:i[0];if(h){r=r||[];let E=r.at(-1);if(!E||h.id){r.push({id:h.id||"",type:h.type||"function",function:{name:((l=h.function)==null?void 0:l.name)||"",arguments:((c=h.function)==null?void 0:c.arguments)||""}});continue}E.function.name=`${E.function.name}${((p=h.function)==null?void 0:p.name)||""}`,E.function.arguments=`${E.function.arguments}${((m=h.function)==null?void 0:m.arguments)||""}`}}let s=e[0].data.choices.at(0);return o.choices.push({finish_reason:(g=s==null?void 0:s.finish_reason)!=null?g:"stop",index:(y=s==null?void 0:s.index)!=null?y:0,logprobs:(b=s==null?void 0:s.logprobs)!=null?b:null,message:{role:"assistant",content:t,tool_calls:r||void 0,refusal:(R=s==null?void 0:s.delta.refusal)!=null?R:null}}),o.id=n.id,o.model=n.model,o.created=n.created,o.usage=(S=n.usage)!=null?S:void 0,o},ue=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},eo=(e,t,o,n)=>{var i,l;let r=O({},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},de=e=>{var s,i;let{GenerateContentResponse:t}=rt("@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 eo(o,n,r,e[e.length-1])},oo=e=>de(e),no=e=>de(e),fe=(e,t="openai.chat.completions.create")=>{if(t==="openai.responses.create"||t==="openai.AzureOpenAI.responses.create")return Tt(e);if("completion"in e[0])return e.reduce((o,n)=>j(O({},n),{completion:`${o.completion}${n.completion}`}),{});if(t==="anthropic.messages.create")return Gt(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=Wt(e);return o.choices[0]=O(O({},o.choices[0]),o.choices[0].message),o}return""},ro=(e,t)=>{let o=t.model.provider,n=t.model.name;return o==="anthropic"||o==="anthropic.bedrock"||o==="vertexai"&&n.startsWith("claude")?se(e,t):o==="google"||o==="vertexai"&&n.startsWith("gemini")?ie(e,t):o==="amazon.bedrock"?ce(e,t):o==="mistral"?$t(e.data,t):o==="openai"||o==="openai.azure"?(t.model.api_type||"chat-completions")==="responses"?ae(e,t):$t(e,t):null};function _e(e,t,o,n){return Ot(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=At(e),g,y,b;g=!(y=yield new H(m.next())).done;g=!1){let R=y.value;l.push(R),r.raw_response=R,r.prompt_blueprint=ro(R,n),yield r}}catch(y){b=[y]}finally{try{g&&(y=m.return)&&(yield new H(y.call(m)))}finally{if(b)throw b[0]}}let c=o(l);i==="amazon.bedrock"&&(c.ResponseMetadata=s);let p=yield new H(t({request_response:c}));r.request_id=p.request_id,r.prompt_blueprint=p.prompt_blueprint,yield r})}var ye={"openai:chat-completions":{chat:{function_name:"openai.chat.completions.create",stream_function:Wt},completion:{function_name:"openai.completions.create",stream_function:pe}},"openai:responses":{chat:{function_name:"openai.responses.create",stream_function:Tt},completion:{function_name:"openai.responses.create",stream_function:Tt}},anthropic:{chat:{function_name:"anthropic.messages.create",stream_function:Gt},completion:{function_name:"anthropic.completions.create",stream_function:le}},"openai.azure:chat-completions":{chat:{function_name:"openai.AzureOpenAI.chat.completions.create",stream_function:Wt},completion:{function_name:"openai.AzureOpenAI.completions.create",stream_function:pe}},"openai.azure:responses":{chat:{function_name:"openai.AzureOpenAI.responses.create",stream_function:Tt},completion:{function_name:"openai.AzureOpenAI.responses.create",stream_function:Tt}},google:{chat:{function_name:"google.convo.send_message",stream_function:oo},completion:{function_name:"google.model.generate_content",stream_function:no}},"amazon.bedrock":{chat:{function_name:"boto3.bedrock-runtime.converse",stream_function:ue},completion:{function_name:"boto3.bedrock-runtime.converse",stream_function:ue}},"anthropic.bedrock":{chat:{function_name:"anthropic.messages.create",stream_function:Gt},completion:{function_name:"anthropic.completions.create",stream_function:le}},mistral:{chat:{function_name:"mistral.client.chat",stream_function:to},completion:{function_name:"",stream_function:null}}};var Mt="SET_WORKFLOW_COMPLETE";function co(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}`,{headers:n});if(!r.ok)throw new Error("Failed to fetch final output");return r.json()})}function ge(e,t,o,n,r){return function(s){return _(this,null,function*(){if(s.name===Mt)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 co(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 po(l){return _(this,arguments,function*({token:e,channelName:t,executionId:o,returnAllOutputs:n,headers:r,timeout:s,baseURL:i}){let c=new so.Realtime(e),p=c.channels.get(t),m={},g=new Promise((b,R)=>{m.resolve=b,m.reject=R}),y=ge(i,m,o,n,r);yield p.subscribe(Mt,y);try{return yield new Promise((b,R)=>{let S=setTimeout(()=>{R(new Error("Workflow execution did not complete properly (timeout)"))},s);g.then(A=>{clearTimeout(S),b(A)}).catch(A=>{clearTimeout(S),R(A)})})}finally{console.log("Closing client"),p.unsubscribe(Mt,y),c.close(),console.log("Closed client")}})}var q=(e,t)=>_(null,null,function*(){return ao(()=>_(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.`)}})}),be=(e,t,o,n=!0)=>_(null,null,function*(){return o.request_response[Symbol.asyncIterator]!==void 0?uo(e,t,o.request_response,o,n):yield Re(e,t,o,n)}),Re=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/track-request`,{method:"POST",headers:{"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);z(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}),we=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/library-track-metadata`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j(O({},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 z(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}),xe=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/library-track-score`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j(O({},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 z(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}),Te=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/library-track-prompt`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j(O({},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 z(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}),Pe=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/track-group`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j(O({},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 z(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}),Se=(e,t,o=!0)=>_(null,null,function*(){try{let n=yield q(`${t}/create-group`,{method:"POST",headers:{"Content-Type":"application/json"},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 z(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}}),Ee=(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:{"Content-Type":"application/json","X-API-KEY":e},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}}),Oe=(e,t,o,n=!0)=>_(null,null,function*(){let r=yield q(`${t}/rest/prompt-templates`,{method:"POST",headers:{"Content-Type":"application/json","X-API-KEY":e},body:JSON.stringify({prompt_template:O({},o),prompt_version:O({},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);z(s,"WARNING: While publishing a prompt template PromptLayer had the following error")}return s}),Ae=(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:{"Content-Type":"application/json","X-API-KEY":e}}),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 z(i,"WARNING: While fetching all prompt templates PromptLayer had the following error"),[]}return(l=i.items)!=null?l:[]}),lo=e=>_(null,null,function*(){let t=new URL(`${e.baseURL}/connection/websocket`);t.protocol=t.protocol==="https:"?"wss:":"ws:";let o=new io(t.toString(),{token:e.token}),n=o.newSubscription(e.channelName);return new Promise((r,s)=>{let i=m=>{p(),r(m)},l=ge(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()})}),Ce=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},g={"X-API-KEY":i,"Content-Type":"application/json"};try{let y=yield q(`${c}/workflows/${encodeURIComponent(e)}/run`,{method:"POST",headers:g,body:JSON.stringify(m)});if(y.status!==201)return{success:!1,message:`Failed to run workflow: ${(yield y.json().catch(()=>({}))).error||y.statusText}`};let b=yield y.json();b.warning&&console.warn(`WARNING: ${b.warning}`);let R=b.workflow_version_execution_id;if(!R)return console.log("No execution ID returned from workflow run"),{success:!1,message:"Failed to run workflow"};let S=`workflow_updates:${R}`,C=yield(yield q(`${c}/ws-token-request-library?capability=${S}`,{method:"POST",headers:g})).json(),E={token:C.token_details.token,channelName:S,executionId:R,returnAllOutputs:s,headers:g,timeout:l,baseURL:c};return C.messaging_backend==="centrifugo"?lo(E):yield po(E)}catch(y){throw console.error(`Failed to run workflow: ${y instanceof Error?y.message:y}`),y}});function uo(e,t,o,n,r=!0){return Ot(this,null,function*(){let s=[];try{for(var c=At(o),p,m,g;p=!(m=yield new H(c.next())).done;p=!1){let y=m.value;yield n.return_pl_id?[y,null]:y,s.push(y)}}catch(m){g=[m]}finally{try{p&&(m=c.return)&&(yield new H(m.call(c)))}finally{if(g)throw g[0]}}let i=fe(s,n.function_name),l=yield new H(Re(e,t,j(O({},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 z=(e,t)=>{try{console.warn(`${t}: ${e.message}`)}catch(o){console.warn(`${t}: ${e}`)}},Ie=(e,t,o=!0)=>_(null,null,function*(){try{let n=yield q(`${e}/track-request`,{method:"POST",headers:{"Content-Type":"application/json"},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);z(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{}}),mo=(e,t)=>_(null,null,function*(){return yield e.chat.completions.create(t)}),fo=(e,t)=>_(null,null,function*(){return yield e.completions.create(t)}),ke={chat:mo,completion:fo},Le=(e,t)=>_(null,null,function*(){var s,i;let o=rt("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=ke[e.prompt_template.type];return yield l(n,t)}else return yield n.responses.create(t)}),Ne=(e,t)=>_(null,null,function*(){var s,i;let{AzureOpenAI:o}=rt("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=ke[e.prompt_template.type];return yield l(n,t)}else return yield n.responses.create(t)}),qe=(e,t)=>_(null,null,function*(){return e.messages.create(t)}),_o=(e,t)=>_(null,null,function*(){return e.completions.create(t)}),Ue={chat:qe,completion:_o},$e=(e,t)=>_(null,null,function*(){let o=rt("@anthropic-ai/sdk").default,n=new o({baseURL:t.baseURL,apiKey:t.apiKey}),r=Ue[e.prompt_template.type];return r(n,t)}),We=(e,t,o,n=!0)=>_(null,null,function*(){try{let r=yield q(`${t}/log-request`,{method:"POST",headers:{"X-API-KEY":e,"Content-Type":"application/json"},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 z(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}}),yo=(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})}),ho=(e,n)=>_(null,null,function*(){var r=n,{stream:t}=r,o=Et(r,["stream"]);return t?yield e.generateContentStream(O({},o)):yield e.generateContent(O({},o))}),go={chat:yo,completion:ho},Kt=(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=go[e.prompt_template.type];return yield c(l,t)}),he=e=>e.replace(/_([a-z])/g,(t,o)=>o.toUpperCase()),Ct=(e,t=new Set)=>!e||typeof e!="object"?e:Array.isArray(e)?e.map(o=>Ct(o,t)):Object.fromEntries(Object.entries(e).map(([o,n])=>t.has(o)?[he(o),n]:[he(o),Ct(n,t)])),Ge=(e,t,o={},n=!1)=>{var c,p,m,g,y,b,R,S,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=(g=e.metadata)==null?void 0:g.model)==null?void 0:y.api_type;if(!r)throw new Error("Provider type not found in prompt blueprint or custom provider");let i=j(O({},e.llm_kwargs||{}),{stream:n});["google","vertexai"].includes(r)&&((R=(b=e.metadata)==null?void 0:b.model)!=null&&R.name.startsWith("gemini"))&&(i=Ct(i,new Set(["function_declarations","properties"])));let l={baseURL:(A=t==null?void 0:t.base_url)!=null?A:(S=e.provider_base_url)==null?void 0:S.url,apiKey:t==null?void 0:t.api_key};return Object.entries(l).forEach(([C,h])=>{h!==void 0&&(i[C]=h)}),n&&me.includes(r)&&s==="chat-completions"&&(i.stream_options={include_usage:!0}),{provider_type:r,kwargs:i}},Me=(e,t)=>{let o=ye[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},Ke=(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 Kt(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 qe(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`)}),je=(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(O({},t));return yield s.send(i)}else{t==null||delete t.stream;let i=new n(O({},t));return yield s.send(i)}}),Fe=(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=Ue[e.prompt_template.type];return r(n,t)}),De=(e,t)=>_(null,null,function*(){let{Mistral:o}=yield import("@mistralai/mistralai"),n=new o({apiKey:process.env.MISTRAL_API_KEY});return t=Ct(t,new Set),t!=null&&t.stream?(delete t.stream,yield n.chat.stream(t)):(delete t.stream,yield n.chat.complete(t))}),jt=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 It=class{constructor(t,o,n=!0){this.create=()=>Se(this.apiKey,this.baseURL,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};import{SpanKind as Pt,SpanStatusCode as Ft}from"@opentelemetry/api";import{ExportResultCode as kt}from"@opentelemetry/core";var Dt=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{[Pt.INTERNAL]:"SpanKind.INTERNAL",[Pt.SERVER]:"SpanKind.SERVER",[Pt.CLIENT]:"SpanKind.CLIENT",[Pt.PRODUCER]:"SpanKind.PRODUCER",[Pt.CONSUMER]:"SpanKind.CONSUMER"}[t]||"SpanKind.INTERNAL"}statusCodeToString(t){return{[Ft.ERROR]:"StatusCode.ERROR",[Ft.OK]:"StatusCode.OK",[Ft.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(kt.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:j(O({},n.resource.attributes),{"service.name":"prompt-layer-js"}),schema_url:""}}});return q(this.url,{method:"POST",headers:{"Content-Type":"application/json","X-API-KEY":this.apiKey||""},body:JSON.stringify({spans:o})}).then(n=>n.ok?kt.SUCCESS:(console.error(`Error exporting spans
|
|
2
|
-
HTTP error! status: ${n.status}`),
|
|
1
|
+
var ve=Object.defineProperty,to=Object.defineProperties;var eo=Object.getOwnPropertyDescriptors;var Et=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var $t=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e);var ne=(e,t,o)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,h=(e,t)=>{for(var o in t||(t={}))re.call(t,o)&&ne(e,o,t[o]);if(Et)for(var o of Et(t))se.call(t,o)&&ne(e,o,t[o]);return e},F=(e,t)=>to(e,eo(t));var st=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,o)=>(typeof require!="undefined"?require:t)[o]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Ot=(e,t)=>{var o={};for(var n in e)re.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&Et)for(var n of Et(e))t.indexOf(n)<0&&se.call(e,n)&&(o[n]=e[n]);return o};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())}),Z=function(e,t){this[0]=e,this[1]=t},At=(e,t,o)=>{var n=(i,l,c,p)=>{try{var m=o[i](l),b=(l=m.value)instanceof Z,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[$t("asyncIterator")]=()=>s,r("next"),r("throw"),r("return"),s};var Ct=(e,t,o)=>(t=e[$t("asyncIterator")])?t.call(e):(e=e[$t("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);import ao from"ably";import{Centrifuge as co}from"centrifuge";import po from"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=Ot(r,["type","item_id"]);let s=h({type:e},o);return t&&(s.item_id=t),s},xt=(e,t)=>({input_variables:[],template_format:"f-string",content:e,role:"assistant",function_call:null,name:null,tool_calls:t}),Tt=(e,t)=>({prompt_template:{messages:[e],type:"chat",input_variables:[]},metadata:t}),ie=(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=xt(o,n);return Tt(r,t)},ae=(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=xt(o,n);return Tt(r,t)},Wt=(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=xt(o,n);return Tt(r,t)},ce=(e,t)=>{var i,l,c,p,m,b,y,R,w,E,A,C,g,O,N,W,B,I,k,J,M,V,K,z,Q,X,v,tt,et,j,ot,at,ct,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,bt,Rt,wt,S,L,u,d,x,zt,Yt,Vt,Xt,Ht,Zt,Qt,vt,te,ee;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:(V=a==null?void 0:a.text)!=null?V:"",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=(Q=e==null?void 0:e.item_id)!=null?Q:"";P==="output_text"&&o.push(T({type:"text",item_id:f,text:(X=a==null?void 0:a.text)!=null?X:"",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:(v=e==null?void 0:e.item_id)!=null?v:"",text:"",annotations:[f]}))}else if(r==="response.code_interpreter_call.in_progress")o.push(T({type:"code",item_id:(tt=e==null?void 0:e.item_id)!=null?tt:"",code:(et=e==null?void 0:e.code)!=null?et:"",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:(ot=e==null?void 0:e.item_id)!=null?ot:"",code:(at=e==null?void 0:e.delta)!=null?at:"",container_id:(ct=e==null?void 0:e.container_id)!=null?ct:""}));else if(r==="response.output_text.delta"){let a=(pt=e==null?void 0:e.delta)!=null?pt:"";a&&o.push(T({type:"text",item_id:(lt=e==null?void 0:e.item_id)!=null?lt:"",text:a}))}else if(r==="response.output_text.done"){let a=(ut=e==null?void 0:e.text)!=null?ut:"";a&&o.push(T({type:"text",item_id:(mt=e==null?void 0:e.item_id)!=null?mt:"",text:a}))}else if(r==="response.output_item.done"){let a=(dt=e==null?void 0:e.item)!=null?dt:{},P=a==null?void 0:a.type,f=(ft=a==null?void 0:a.id)!=null?ft:"";if(P==="reasoning"){let G=((_t=a==null?void 0:a.summary)!=null?_t:[]).map(H=>{var $;return($=H==null?void 0:H.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 nt=(yt=a==null?void 0:a.content)!=null?yt:[];for(let G of nt)if((G==null?void 0:G.type)==="output_text"){let H=(ht=G==null?void 0:G.text)!=null?ht:"";H&&o.push(T({type:"text",item_id:f,text:H}))}}else P==="code_interpreter_call"&&o.push(T({type:"code",item_id:f,code:(gt=a==null?void 0:a.code)!=null?gt:"",container_id:(bt=a==null?void 0:a.container_id)!=null?bt:""}))}else if(r==="response.code_interpreter_call_code.done")o.push(T({type:"code",item_id:(Rt=e==null?void 0:e.item_id)!=null?Rt:"",code:(wt=e==null?void 0:e.code)!=null?wt:"",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:(zt=e==null?void 0:e.code)!=null?zt:"",container_id:(Yt=e==null?void 0:e.container_id)!=null?Yt:""}));else if(r==="response.completed"){let a=(Vt=e==null?void 0:e.response)!=null?Vt:{},P=(Xt=a==null?void 0:a.output)!=null?Xt:[];for(let f of P){let nt=f==null?void 0:f.type,G=(Ht=f==null?void 0:f.id)!=null?Ht:"";if(nt==="reasoning"){let $=((Zt=f==null?void 0:f.summary)!=null?Zt:[]).map(rt=>{var oe;return(oe=rt==null?void 0:rt.text)!=null?oe:""}).join("");o.push(T({type:"thinking",item_id:G,thinking:$,signature:""}))}else if(nt==="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(nt==="message"){let H=(Qt=f==null?void 0:f.content)!=null?Qt:[];for(let $ of H)if(($==null?void 0:$.type)==="output_text"){let rt=(vt=$==null?void 0:$.text)!=null?vt:"";rt&&o.push(T({type:"text",item_id:G,text:rt,annotations:($==null?void 0:$.annotations)||[]}))}}else nt==="code_interpreter_call"&&o.push(T({type:"code",item_id:G,code:(te=f==null?void 0:f.code)!=null?te:"",container_id:(ee=f==null?void 0:f.container_id)!=null?ee:""}))}}let s=xt(o,n||[]);return Tt(s,t)},pe=(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=xt(o,n);return Tt(r,t)};var de=["openai","openai.azure"],Pt=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,V,K,z,Q,X,v,tt,et,j,ot,at,ct,pt,lt,ut,mt,dt,ft,_t,yt,ht,gt,bt,Rt,wt;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=(V=S.delta)!=null?V:"",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=(Q=S.summary_index)!=null?Q: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=(X=S.summary_index)!=null?X:0;x<o[u].summary.length&&(o[u].summary[x]={type:(v=d.type)!=null?v:"summary_text",text:(tt=d.text)!=null?tt:""})}continue}if(L==="response.function_call_arguments.delta"){let u=S.item_id,d=(et=S.delta)!=null?et:"";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:(ot=u.type)!=null?ot:"output_text",text:(at=u.text)!=null?at:"",annotations:(ct=u.annotations)!=null?ct:[]};d.content.push(x)}continue}if(L==="response.output_text.delta"){let u=(pt=S.delta)!=null?pt:"";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=(lt=S.text)!=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=u);break}continue}if(L==="response.output_item.done"){let u=S.item||{},d=u.id;d in o&&(o[d].status=(ut=u.status)!=null?ut:"completed",u.type==="reasoning"?o[d].summary=(mt=u.summary)!=null?mt:o[d].summary:u.type==="function_call"?(o[d].arguments=(dt=u.arguments)!=null?dt:o[d].arguments,o[d].call_id=(ft=u.call_id)!=null?ft:o[d].call_id,o[d].name=(_t=u.name)!=null?_t:o[d].name):u.type==="message"&&(o[d].content=(yt=u.content)!=null?yt:o[d].content,o[d].role=(ht=u.role)!=null?ht:o[d].role),t.output.push(o[d]));continue}if(L==="response.completed"){let u=S.response||{};t.status=(bt=(gt=u.status)!=null?gt:t.status)!=null?bt:"completed",t.usage=(Rt=u.usage)!=null?Rt:t.usage,t.output=(wt=u.output)!=null?wt:t.output,u.reasoning&&(t.reasoning=u.reasoning);continue}}return t},Gt=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},le=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},Mt=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},ue=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},oo=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},me=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},no=(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},fe=e=>{var s,i;let{GenerateContentResponse:t}=st("@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 no(o,n,r,e[e.length-1])},ro=e=>fe(e),so=e=>fe(e),_e=(e,t="openai.chat.completions.create")=>{if(t==="openai.responses.create"||t==="openai.AzureOpenAI.responses.create")return Pt(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 Mt(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=Gt(e);return o.choices[0]=h(h({},o.choices[0]),o.choices[0].message),o}return""},io=(e,t)=>{let o=t.model.provider,n=t.model.name;return o==="anthropic"||o==="anthropic.bedrock"||o==="vertexai"&&n.startsWith("claude")?ie(e,t):o==="google"||o==="vertexai"&&n.startsWith("gemini")?ae(e,t):o==="amazon.bedrock"?pe(e,t):o==="mistral"?Wt(e.data,t):o==="openai"||o==="openai.azure"?(t.model.api_type||"chat-completions")==="responses"?ce(e,t):Wt(e,t):null};function ye(e,t,o,n){return At(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=Ct(e),b,y,R;b=!(y=yield new Z(m.next())).done;b=!1){let w=y.value;l.push(w),r.raw_response=w,r.prompt_blueprint=io(w,n),yield r}}catch(y){R=[y]}finally{try{b&&(y=m.return)&&(yield new Z(y.call(m)))}finally{if(R)throw R[0]}}let c=o(l);i==="amazon.bedrock"&&(c.ResponseMetadata=s);let p=yield new Z(t({request_response:c}));r.request_id=p.request_id,r.prompt_blueprint=p.prompt_blueprint,yield r})}var he={"openai:chat-completions":{chat:{function_name:"openai.chat.completions.create",stream_function:Gt},completion:{function_name:"openai.completions.create",stream_function:le}},"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:Mt},completion:{function_name:"anthropic.completions.create",stream_function:ue}},"openai.azure:chat-completions":{chat:{function_name:"openai.AzureOpenAI.chat.completions.create",stream_function:Gt},completion:{function_name:"openai.AzureOpenAI.completions.create",stream_function:le}},"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:ro},completion:{function_name:"google.model.generate_content",stream_function:so}},"amazon.bedrock":{chat:{function_name:"boto3.bedrock-runtime.converse",stream_function:me},completion:{function_name:"boto3.bedrock-runtime.converse",stream_function:me}},"anthropic.bedrock":{chat:{function_name:"anthropic.messages.create",stream_function:Mt},completion:{function_name:"anthropic.completions.create",stream_function:ue}},mistral:{chat:{function_name:"mistral.client.chat",stream_function:oo},completion:{function_name:"",stream_function:null}}};var be="1.0.59",lo=()=>{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"},uo=lo(),mo=`promptlayer-js/${be} (node ${uo})`,U=()=>({"User-Agent":mo,"X-SDK-Version":be}),Kt="SET_WORKFLOW_COMPLETE";function fo(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 Re(e,t,o,n,r){return function(s){return _(this,null,function*(){if(s.name===Kt)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 fo(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 _o(l){return _(this,arguments,function*({token:e,channelName:t,executionId:o,returnAllOutputs:n,headers:r,timeout:s,baseURL:i}){let c=new ao.Realtime(e),p=c.channels.get(t),m={},b=new Promise((R,w)=>{m.resolve=R,m.reject=w}),y=Re(i,m,o,n,r);yield p.subscribe(Kt,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(Kt,y),c.close(),console.log("Closed client")}})}var q=(e,t)=>_(null,null,function*(){return po(()=>_(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.`)}})}),we=(e,t,o,n=!0)=>_(null,null,function*(){return o.request_response[Symbol.asyncIterator]!==void 0?ho(e,t,o.request_response,o,n):yield xe(e,t,o,n)}),xe=(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);Y(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}),Te=(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 Y(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}),Pe=(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 Y(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}),Se=(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 Y(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}),Ee=(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 Y(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}),Oe=(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 Y(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}}),Ae=(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}}),Ce=(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);Y(s,"WARNING: While publishing a prompt template PromptLayer had the following error")}return s}),Ie=(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 Y(i,"WARNING: While fetching all prompt templates PromptLayer had the following error"),[]}return(l=i.items)!=null?l:[]}),yo=e=>_(null,null,function*(){let t=new URL(`${e.baseURL}/connection/websocket`);t.protocol=t.protocol==="https:"?"wss:":"ws:";let o=new co(t.toString(),{token:e.token}),n=o.newSubscription(e.channelName);return new Promise((r,s)=>{let i=m=>{p(),r(m)},l=Re(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()})}),ke=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"?yo(O):yield _o(O)}catch(y){throw console.error(`Failed to run workflow: ${y instanceof Error?y.message:y}`),y}});function ho(e,t,o,n,r=!0){return At(this,null,function*(){let s=[];try{for(var c=Ct(o),p,m,b;p=!(m=yield new Z(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 Z(m.call(c)))}finally{if(b)throw b[0]}}let i=_e(s,n.function_name),l=yield new Z(xe(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 Y=(e,t)=>{try{console.warn(`${t}: ${e.message}`)}catch(o){console.warn(`${t}: ${e}`)}},Ne=(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);Y(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{}}),go=(e,t)=>_(null,null,function*(){return yield e.chat.completions.create(t)}),bo=(e,t)=>_(null,null,function*(){return yield e.completions.create(t)}),Le={chat:go,completion:bo},qe=(e,t)=>_(null,null,function*(){var s,i;let o=st("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=Le[e.prompt_template.type];return yield l(n,t)}else return yield n.responses.create(t)}),Ue=(e,t)=>_(null,null,function*(){var s,i;let{AzureOpenAI:o}=st("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=Le[e.prompt_template.type];return yield l(n,t)}else return yield n.responses.create(t)}),$e=(e,t)=>_(null,null,function*(){return e.messages.create(t)}),Ro=(e,t)=>_(null,null,function*(){return e.completions.create(t)}),We={chat:$e,completion:Ro},Ge=(e,t)=>_(null,null,function*(){let o=st("@anthropic-ai/sdk").default,n=new o({baseURL:t.baseURL,apiKey:t.apiKey}),r=We[e.prompt_template.type];return r(n,t)}),Me=(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 Y(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}}),wo=(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})}),xo=(e,n)=>_(null,null,function*(){var r=n,{stream:t}=r,o=Ot(r,["stream"]);return t?yield e.generateContentStream(h({},o)):yield e.generateContent(h({},o))}),To={chat:wo,completion:xo},jt=(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=To[e.prompt_template.type];return yield c(l,t)}),ge=e=>e.replace(/_([a-z])/g,(t,o)=>o.toUpperCase()),It=(e,t=new Set)=>!e||typeof e!="object"?e:Array.isArray(e)?e.map(o=>It(o,t)):Object.fromEntries(Object.entries(e).map(([o,n])=>t.has(o)?[ge(o),n]:[ge(o),It(n,t)])),Ke=(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=It(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&&de.includes(r)&&s==="chat-completions"&&(i.stream_options={include_usage:!0}),{provider_type:r,kwargs:i}},je=(e,t)=>{let o=he[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},Fe=(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 jt(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 $e(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`)}),De=(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)}}),Be=(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=We[e.prompt_template.type];return r(n,t)}),Je=(e,t)=>_(null,null,function*(){let{Mistral:o}=yield import("@mistralai/mistralai"),n=new o({apiKey:process.env.MISTRAL_API_KEY});return t=It(t,new Set),t!=null&&t.stream?(delete t.stream,yield n.chat.stream(t)):(delete t.stream,yield n.chat.complete(t))}),Ft=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 kt=class{constructor(t,o,n=!0){this.create=()=>Oe(this.apiKey,this.baseURL,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};import{SpanKind as St,SpanStatusCode as Dt}from"@opentelemetry/api";import{ExportResultCode as Nt}from"@opentelemetry/core";var Bt=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{[St.INTERNAL]:"SpanKind.INTERNAL",[St.SERVER]:"SpanKind.SERVER",[St.CLIENT]:"SpanKind.CLIENT",[St.PRODUCER]:"SpanKind.PRODUCER",[St.CONSUMER]:"SpanKind.CONSUMER"}[t]||"SpanKind.INTERNAL"}statusCodeToString(t){return{[Dt.ERROR]:"StatusCode.ERROR",[Dt.OK]:"StatusCode.OK",[Dt.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(Nt.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?Nt.SUCCESS:(console.error(`Error exporting spans
|
|
2
|
+
HTTP error! status: ${n.status}`),Nt.FAILED)).catch(n=>(console.error("Error exporting spans:",n),Nt.FAILED))}shutdown(){return Promise.resolve()}},ze=Bt;import*as Ye from"@opentelemetry/api";import{SimpleSpanProcessor as Po}from"@opentelemetry/sdk-trace-base";import{NodeTracerProvider as So}from"@opentelemetry/sdk-trace-node";var it=(e="promptlayer-tracer")=>Ye.trace.getTracer(e),Ve=(e,t,o)=>{let n=new So,r=new ze(e,t,o),s=new Po(r);n.addSpanProcessor(s),n.register()};var Eo=it(),Jt=(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,Eo.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,V)=>{k.then(K=>_(null,null,function*(){let z=yield we(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(),V(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)};import*as Lt from"@opentelemetry/api";var He=(e,t,o)=>function(...n){let r=it(),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:Lt.SpanStatusCode.OK}),c)).catch(c=>{throw Xe(i,c,n),c}).finally(()=>i.end()):(i.setAttribute("function_output",JSON.stringify(l)),i.setStatus({code:Lt.SpanStatusCode.OK}),i.end(),l)}catch(l){throw Xe(i,l,n),l}};return r.startActiveSpan(e,s)},Xe=(e,t,o)=>{e.setAttribute("function_input",JSON.stringify(o)),e.setStatus({code:Lt.SpanStatusCode.ERROR,message:t instanceof Error?t.message:"Unknown error"}),e.end()};var qt=class{constructor(t,o,n=!0){this.get=(t,o)=>Ae(this.apiKey,this.baseURL,t,o,this.throwOnError);this.publish=t=>Ce(this.apiKey,this.baseURL,t,this.throwOnError);this.all=t=>Ie(this.apiKey,this.baseURL,t,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};var Oo=(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 Te(e,t,o,n)},Ao=(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 Pe(e,t,o,n)},Co=(e,t,o,n=!0)=>{if(!(o.prompt_input_variables instanceof Object))throw new Error("Prompt template input variable dictionary not provided.");return Se(e,t,o,n)},Io=(e,t,o,n=!0)=>Ee(e,t,o,n),Ut=class{constructor(t,o,n=!0){this.group=t=>Io(this.apiKey,this.baseURL,t,this.throwOnError);this.metadata=t=>Oo(this.apiKey,this.baseURL,t,this.throwOnError);this.prompt=t=>Co(this.apiKey,this.baseURL,t,this.throwOnError);this.score=t=>Ao(this.apiKey,this.baseURL,t,this.throwOnError);this.apiKey=t,this.baseURL=o,this.throwOnError=n}};import*as Qe from"@opentelemetry/api";var ko={openai:qe,anthropic:Ge,"openai.azure":Ue,google:jt,vertexai:Fe,"amazon.bedrock":De,"anthropic.bedrock":Be,mistral:Je},No=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))},Ze=class{constructor({apiKey:t=Ft("PROMPTLAYER_API_KEY"),baseURL:o=Ft("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 qt(t,this.baseURL,this.throwOnError),this.group=new kt(t,this.baseURL,this.throwOnError),this.track=new Ut(t,this.baseURL,this.throwOnError),this.wrapWithSpan=He,n&&Ve(n,t,this.baseURL)}get Anthropic(){try{let t=st("@anthropic-ai/sdk").default;return Jt(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=st("openai").default;return Jt(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 it().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}=Ke(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 V=je(M,O),{function_name:K,stream_function:z}=V,Q=ko[k];if(!Q)throw new Error(`No request function found for provider: ${k}`);let X=yield Q(g,J),v=j=>{let ot=new Date().toISOString();return Ne(this.baseURL,h({function_name:K,provider_type:k,args:[],kwargs:J,tags:s,request_start_time:I,request_end_time:ot,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 ye(X,v,z,i||g.metadata);let tt=yield v({request_response:X}),et={request_id:tt.request_id,raw_response:X,prompt_blueprint:tt.prompt_blueprint};return w.setAttribute("function_output",JSON.stringify(et)),et}catch(E){throw w.setStatus({code:Qe.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 ke({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&&No(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 Me(this.apiKey,this.baseURL,t,this.throwOnError)})}};export{Ze as PromptLayer};
|
|
3
3
|
//# sourceMappingURL=index.js.map
|