judgeval 1.2.0 → 1.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTracer.d.ts","sourceRoot":"","sources":["../../src/trace/BaseTracer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,OAAO,EAEZ,KAAK,IAAI,EAET,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EACP,UAAU,EACV,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKpD,OAAO,EAGL,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAKhF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,+BAA+B;IAC/B,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,6CAA6C;IAC7C,2BAA2B,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,yBAAyB;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iFAAiF;IACjF,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,8BAAsB,UAAU;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAQ;IAMrD,SAAS,aACP,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,mBAAmB,EACnC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,gBAAgB,EAAE,OAAO;IAc3B;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAQpB,QAAQ,CAAC,gBAAgB,IAAI,qBAAqB;IAClD,QAAQ,CAAC,eAAe,IAAI,oBAAoB;IAMhD,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IASxC,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B;;;;OAIG;IACH,MAAM,CAAC,cAAc,IAAI,IAAI,GAAG,SAAS;IAKzC;;;;;;;;;OASG;WACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;;;;OAOG;WACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,2BAA2B,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI;IAOvE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAQ3C;;;;OAIG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM;IAK9B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;IAM7D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,EACtB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE,EAClD,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,GACpB,CAAC;IA4BJ;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC;IAoB1D;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC;IAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAUpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO;IAC9B,MAAM,CAAC,OAAO,CACZ,OAAO,CAAC,EAAE,cAAc,GACvB,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAClC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EACjC,OAAO,CAAC,EAAE,OAAO,KACd,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO;IA8MhC,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACtC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAWlD;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,IAAI;IAI1B;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,IAAI;IAQ7B;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IACtD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAalE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAC/D,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAQ3E;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IACzC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAOrD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAC3C,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAOvD;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAUjD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IACrD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAyDjE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAcxC;;;;;;;;OAQG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAO9C;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAOtD;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAW5C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAyBzC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IACzD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;CA+CtE"}
1
+ {"version":3,"file":"BaseTracer.d.ts","sourceRoot":"","sources":["../../src/trace/BaseTracer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- var ks=Object.defineProperty;var rs=(s,t)=>{for(var e in t)ks(s,e,{get:t[e],enumerable:!0,configurable:!0,set:(o)=>t[e]=()=>o})};import{INVALID_SPAN_CONTEXT as ht,SpanStatusCode as x}from"@opentelemetry/api";function Y(s,t){let e=process.env[s];if(!e)return t??null;return e}var Jt=Y("JUDGMENT_API_KEY"),wt=Y("JUDGMENT_ORG_ID"),Ht=Y("JUDGMENT_API_URL","https://api.judgmentlabs.ai"),us=Y("JUDGMENT_LOG_LEVEL","warn");class m{static RESET="\x1B[0m";static RED="\x1B[31m";static YELLOW="\x1B[33m";static GRAY="\x1B[90m";static Level={DEBUG:0,INFO:1,WARNING:2,ERROR:3,CRITICAL:4};static initialized=!1;static levelSetManually=!1;static currentLevel=m.Level.WARNING;static useColor=!0;static initialize(){if(!m.initialized){let s=process.env.JUDGMENT_NO_COLOR;if(m.useColor=!s&&process.stdout.isTTY,!m.levelSetManually){let t=us.toLowerCase();if(t){let e={debug:m.Level.DEBUG,info:m.Level.INFO,warning:m.Level.WARNING,warn:m.Level.WARNING,error:m.Level.ERROR,critical:m.Level.CRITICAL};m.currentLevel=e[t]??m.Level.WARNING}}m.initialized=!0}}static setLevel(s){m.currentLevel=s,m.levelSetManually=!0}static setUseColor(s){m.useColor=s}static log(s,t){if(m.initialize(),s<m.currentLevel)return;let e=new Date().toISOString().replace("T"," ").substring(0,19),o=Object.keys(m.Level).find((f)=>m.Level[f]===s)??"UNKNOWN",n=`${e} - judgeval - ${o} - ${t}`;if(m.useColor)n=`${s===m.Level.DEBUG||s===m.Level.INFO?m.GRAY:s===m.Level.WARNING?m.YELLOW:m.RED}${n}${m.RESET}`;(s>=m.Level.ERROR?process.stderr:process.stdout).write(n+`
2
- `)}static debug(s){m.log(m.Level.DEBUG,s)}static info(s){m.log(m.Level.INFO,s)}static warning(s){m.log(m.Level.WARNING,s)}static warn(s){m.log(m.Level.WARNING,s)}static error(s){m.log(m.Level.ERROR,s)}static critical(s){m.log(m.Level.CRITICAL,s)}}function u(s,t,e){try{return t()}catch(o){let n=o instanceof Error&&o.stack?`
3
- ${o.stack}`:"";return m.error(`[Caught] An exception was raised in ${s}: ${String(o)}${n}`),e}}function bs(){let s=new WeakSet;return function(t,e){if(typeof e==="bigint")return e.toString();if(typeof e==="object"&&e!==null){if(s.has(e))return"[Circular]";s.add(e)}return e}}function q(s){try{let t=JSON.stringify(s);if(typeof t==="string")return t;return String(t)}catch{try{let t=JSON.stringify(s,bs());return typeof t==="string"?t:String(s)}catch(t){return m.error(`safeStringify failed: ${t}`),String(s)}}}function T(s,t){if(typeof s==="string"||typeof s==="number"||typeof s==="boolean")return s;return t(s)}function h(s,t={}){let{pre:e,post:o,error:n,finally:p}=t;return async function(...r){let i=e?u("immutableWrapAsync.pre",()=>e(...r)):void 0,d;try{let S=await s.apply(this,r);if(o)d=u("immutableWrapAsync.post",()=>o(i,S,r));return S}catch(S){if(n)d=u("immutableWrapAsync.error",()=>n(i,S,r));throw S}finally{if(p)u("immutableWrapAsync.finally",()=>{p(d)})}}}function K(s,t={}){let{pre:e,yield:o,post:n,error:p,finally:f}=t;return async function*(...i){let d=e?u("immutableWrapAsyncIterator.pre",()=>e(...i)):void 0,S;try{for await(let U of s(...i)){if(o)u("immutableWrapAsyncIterator.yield",()=>{o(d,U)});yield U}if(n)S=u("immutableWrapAsyncIterator.post",()=>n(d))}catch(U){if(p)S=u("immutableWrapAsyncIterator.error",()=>p(d,U));throw U}finally{if(f)u("immutableWrapAsyncIterator.finally",()=>{f(S)})}}}function v(s,t){let e=s[Symbol.asyncIterator].bind(s),o=K(()=>({[Symbol.asyncIterator]:e}),{yield:(n,p)=>{t.onYield(p)},post:()=>{t.onDone()},error:(n,p)=>{t.onError(p)},finally:()=>{t.onFinally()}});s[Symbol.asyncIterator]=()=>o()}function J(s,t){u("recordChatUsage",()=>{let e=t.prompt_tokens_details?.cached_tokens??0,o=t.prompt_tokens+t.completion_tokens+e;R.recordLLMMetadata({non_cached_input_tokens:o>t.total_tokens?t.prompt_tokens-e:t.prompt_tokens,output_tokens:t.completion_tokens||void 0,cache_read_input_tokens:e||void 0},s),R.setAttribute("judgment.usage.metadata",q(t),s)})}function ds(s){s.chat.completions.parse=h(s.chat.completions.parse.bind(s.chat.completions),{pre:(t)=>{let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),e},post:(t,e)=>{if(!t)return;if(R.setOutput(q(e),t),e.usage)J(t,e.usage);return R.recordLLMMetadata({model:e.model},t),t},error:(t,e)=>{if(t)R.setError(e,t);return t},finally:(t)=>{t?.end()}})}function Ss(s){s.chat.completions.create=h(s.chat.completions.create.bind(s.chat.completions),{pre:(t)=>{if(t.stream)t.stream_options??={include_usage:!0};let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),{span:e,proxied:!1}},post:(t,e,o)=>{if(!t)return;let{span:n}=t;if(o[0].stream){let f=e,r="";return v(f,{onYield(i){if(typeof i.choices[0]?.delta.content==="string")r+=i.choices[0].delta.content;if(i.usage)J(n,i.usage)},onDone(){R.setOutput(r,n)},onError(i){R.setError(i,n)},onFinally(){n.end()}}),{span:n,proxied:!0}}let p=e;if(R.setOutput(q(p),n),p.usage)J(n,p.usage);return R.recordLLMMetadata({model:p.model},n),t},error:(t,e)=>{if(t)R.setError(e,t.span);return t},finally:(t)=>{if(t&&!t.proxied)t.span.end()}})}var Ks=new Set(["image_generation.completed","image_edit.completed"]);function Ps(s,t){u("images.recordUsage",()=>{let e="input_tokens_details"in t?t.input_tokens_details:void 0,o=e?.image_tokens??0;if(R.recordLLMMetadata({non_cached_input_tokens:e?.text_tokens??0,output_tokens:t.output_tokens||void 0},s),o)R.setAttribute("judgment.usage.non_cached_input_image_tokens",o,s);if(t.output_tokens)R.setAttribute("judgment.usage.output_image_tokens",t.output_tokens,s);R.setAttribute("judgment.usage.metadata",q(t),s)})}function qs(s){s.images.generate=h(s.images.generate.bind(s.images),{pre:(t)=>{let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),{span:e,proxied:!1}},post:(t,e,o)=>{if(!t)return;let{span:n}=t;if(o[0].stream){let f=e,r;return v(f,{onYield(i){if(Ks.has(i.type))r=i,Ps(n,r.usage)},onDone(){R.setOutput(q(r??{}),n)},onError(i){R.setError(i,n)},onFinally(){n.end()}}),{span:n,proxied:!0}}let p=e;if(R.setOutput(q(p),n),p.usage)Ps(n,p.usage);return t},error:(t,e)=>{if(t)R.setError(e,t.span);return t},finally:(t)=>{if(t&&!t.proxied)t.span.end()}})}function Es(s,t){u("responses.recordUsage",()=>{let e=t.input_tokens_details.cached_tokens,o=t.input_tokens+t.output_tokens+e;R.recordLLMMetadata({non_cached_input_tokens:o>t.total_tokens?t.input_tokens-e:t.input_tokens,output_tokens:t.output_tokens||void 0,cache_read_input_tokens:e||void 0},s),R.setAttribute("judgment.usage.metadata",q(t),s)})}function js(s){s.responses.create=h(s.responses.create.bind(s.responses),{pre:(t)=>{let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),{span:e,proxied:!1}},post:(t,e,o)=>{if(!t)return;let{span:n}=t;if(o[0].stream){let f=e,r="";return v(f,{onYield(i){if(i.type==="response.output_text.delta")r+=i.delta;if(i.type==="response.completed"){let d=i.response;if(d.usage)Es(n,d.usage);R.recordLLMMetadata({model:d.model},n)}},onDone(){R.setOutput(r,n)},onError(i){R.setError(i,n)},onFinally(){n.end()}}),{span:n,proxied:!0}}let p=e;if(R.setOutput(q(p),n),p.usage)Es(n,p.usage);if(typeof p.model==="string")R.recordLLMMetadata({model:p.model},n);return t},error:(t,e)=>{if(t)R.setError(e,t.span);return t},finally:(t)=>{if(t&&!t.proxied)t.span.end()}})}function B(s){return u("wrapOpenAI",()=>{Ss(s),ds(s),js(s),qs(s)}),s}function g(s){return B(s)}var Bs=/^([^(]+?)=>/,gs=/^[^(]*\(\s*([^)]*)\)/m,as=/,/,st=/^\s*(_?)(\S+?)\1\s*$/,tt=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function et(s){return Function.prototype.toString.call(s)}function ot(s){let t=et(s).replace(tt,"");return t.match(Bs)||t.match(gs)}function Us(s){let t=ot(s);if(!t||!t[1])return[];return t[1].split(as).map((e)=>{return e.replace(st,(n,p,f)=>f).trim()}).filter((e)=>e.length>0)}var cs={};rs(cs,{setBaggage:()=>y,getBaggage:()=>l,getActiveBaggage:()=>ut,deleteBaggage:()=>dt,createBaggage:()=>H,baggageEntryMetadataFromString:()=>St,JudgmentBaggagePropagator:()=>O});import{createContextKey as rt,propagation as _s}from"@opentelemetry/api";import{ROOT_CONTEXT as Rt,trace as $s}from"@opentelemetry/api";import{INVALID_SPAN_CONTEXT as nt,trace as pt}from"@opentelemetry/api";class Ds{startSpan(){return pt.wrapSpanContext(nt)}startActiveSpan(s,...t){return(t.length===1?t[0]:t.length===2?t[1]:t[2])(this.startSpan())}}var M=new Ds;var ft={register(){},deregister(){},setActive(){return!1},getActiveTracer(){return null},getCurrentContext(){return Rt},setSpan(s,t){return $s.setSpan(s,t)},wrapSpanContext(s){return $s.wrapSpanContext(s)},getCurrentSpan(){return},getTracer(){return m.debug("No active tracer provider, returning NoOpTracer"),M},addInstrumentation(){m.warning("No active tracer provider. Instrumentation was not registered.")},useSpan(s,t,e,o,n){return n()},attachContext(){},withContext(s,t){return t()},forceFlush(){return Promise.resolve()},shutdown(){return Promise.resolve()}},hs=null;function Cs(s){hs=s}function C(){return hs??ft}import{baggageEntryMetadataFromString as St}from"@opentelemetry/api";import{isTracingSuppressed as mt}from"@opentelemetry/core";var ls="=",G=";",w=",",Z="baggage",Ts=180,vs=4096,Vs=8192;import{baggageEntryMetadataFromString as it}from"@opentelemetry/api";function Fs(s){return s.reduce((t,e)=>{let o=`${t}${t!==""?w:""}${e}`;return o.length>Vs?t:o},"")}function Os(s){return s.getAllEntries().map(([t,e])=>{let o=`${encodeURIComponent(t)}=${encodeURIComponent(e.value)}`;if(e.metadata!==void 0)o+=G+e.metadata.toString();return o})}function xs(s){let t=s.split(G);if(t.length<=0)return;let e=t.shift();if(!e)return;let o=e.indexOf(ls);if(o<=0)return;let n=decodeURIComponent(e.substring(0,o).trim()),p=decodeURIComponent(e.substring(o+1).trim()),f;if(t.length>0)f=it(t.join(G));return{key:n,value:p,metadata:f}}class O{inject(s,t,e){let o=l(s);if(!o||mt(s))return;let n=Os(o).filter((f)=>f.length<=vs).slice(0,Ts),p=Fs(n);if(p.length>0)e.set(t,Z,p)}extract(s,t,e){let o=e.get(t,Z),n=Array.isArray(o)?o.join(w):o;if(!n)return s;let p={};if(n.length===0)return s;if(n.split(w).forEach((r)=>{let i=xs(r);if(i){let d={value:i.value};if(i.metadata)d.metadata=i.metadata;p[i.key]=d}}),Object.entries(p).length===0)return s;return y(s,H(p))}fields(){return[Z]}}var H=_s.createBaggage.bind(_s),a=rt("baggage");function l(s){return s.getValue(a)}function ut(){return l(C().getCurrentContext())}function y(s,t){return s.setValue(a,t)}function dt(s){return s.deleteValue(a)}var ws={};rs(ws,{setGlobalTextmap:()=>Ut,inject:()=>Dt,getGlobalTextmap:()=>ss,extract:()=>ts});import{defaultTextMapGetter as Pt,defaultTextMapSetter as qt}from"@opentelemetry/api";import{CompositePropagator as Et,W3CTraceContextPropagator as jt}from"@opentelemetry/core";var Is=new Et({propagators:[new jt,new O]});function ss(){return Is}function Ut(s){Is=s}function Js(s){if(s!==void 0)return s;return C().getCurrentContext()}function Dt(s,t,e=qt){u("propagation.inject",()=>{ss().inject(Js(t),s,e)})}function ts(s,t,e=Pt){let o=Js(t);return u("propagation.extract",()=>ss().extract(o,s,e),o)}var Hs="judgeval";class R{projectName;projectId;apiKey;organizationId;apiUrl;environment;serializer;_tracerProvider;_client;_enableMonitoring;supportsLiveInstrumentation=!0;constructor(s,t,e,o,n,p,f,r,i,d){this.projectName=s,this.projectId=t,this.apiKey=e,this.organizationId=o,this.apiUrl=n,this.environment=p,this.serializer=f,this._tracerProvider=r,this._client=i,this._enableMonitoring=d}setActive(){return C().setActive(this)}static _getProxyProvider(){return C()}static _getSerializer(){return R._getProxyProvider().getActiveTracer()?.serializer??q}static _getCurrentTraceAndSpanId(){let t=R._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return null;let e=t.spanContext();if(!e.traceId||!(e.traceFlags&1))return null;return[e.traceId,e.spanId]}static _emitPartial(){u("BaseTracer._emitPartial",()=>{let s=R._getProxyProvider().getActiveTracer();if(!s||!s.supportsLiveInstrumentation)return;s.getSpanProcessor().emitPartial()})}static getCurrentSpan(){return R._getProxyProvider().getCurrentSpan()}static async forceFlush(){await R._getProxyProvider().forceFlush()}static async shutdown(){await R._getProxyProvider().shutdown()}static registerOTELInstrumentation(s){u("BaseTracer.registerOTELInstrumentation",()=>{R._getProxyProvider().addInstrumentation(s)})}static wrap(s){return g(s)}static getOTELTracer(){return R._getProxyProvider().getTracer(Hs)}static startSpan(s,t){let e=R.getOTELTracer().startSpan(s,{attributes:t});return R._emitPartial(),e}static startActiveSpan(s,t){let{name:e,attributes:o}=s;return R.getOTELTracer().startActiveSpan(e,{attributes:o},(n)=>{R._emitPartial();try{let p=t(n);if(p instanceof Promise)return p.finally(()=>{n.end()});return n.end(),p}catch(p){throw n.end(),p}})}static span(s,t){return R.startActiveSpan({name:s},(e)=>{try{let o=t(e);if(o instanceof Promise)return o.catch((n)=>{throw e.setStatus({code:x.ERROR,message:String(n)}),e.recordException(n),n});return o}catch(o){throw e.setStatus({code:x.ERROR,message:String(o)}),e.recordException(o),o}})}static with(s,t){return R.span(s,t)}static continueTrace(s,t){let e=R._getProxyProvider(),o=ts(s);return e.withContext(o,()=>t(o))}static observe(s,t){let e;if(typeof s==="function")e=s;else t=s;let{spanType:o="span",spanName:n,recordInput:p=!0,recordOutput:f=!0,fork:r=!1}=t??{},i=R._getProxyProvider(),d=(S)=>{let U=n??S.name;return function(...I){let V=i.getTracer(Hs);if(r&&i.getActiveTracer()!==null&&i.getCurrentSpan()?.isRecording()===!0){let j=R._getSerializer(),P=V.startSpan(U),$=P.spanContext();if(o)P.setAttribute("judgment.span_kind",o);let Rs={"judgment.link.source_trace_id":$.traceId,"judgment.link.source_span_id":$.spanId};if(o)Rs["judgment.span_kind"]=o;let As=i.setSpan(i.getCurrentContext(),i.wrapSpanContext(ht)),F=V.startSpan(U,{attributes:Rs},As),fs=F.spanContext();P.setAttribute("judgment.link.target_trace_id",fs.traceId),P.setAttribute("judgment.link.target_span_id",fs.spanId);let b=()=>{F.end(),P.end()},is=(E)=>{for(let D of[F,P])D.recordException(E),D.setStatus({code:x.ERROR,message:String(E)})},ms=(E)=>{let D=T(E,j);F.setAttribute("judgment.output",D),P.setAttribute("judgment.output",D)};if(p){let E=T(ys(S,I),j);F.setAttribute("judgment.input",E),P.setAttribute("judgment.input",E)}return R._emitPartial(),i.useSpan(F,!1,!1,!1,()=>{try{let E=S.call(this,...I);if(E instanceof Promise)return E.then((D)=>{if(f)ms(D);return D}).catch((D)=>{throw is(D),D}).finally(b);if(f)ms(E);return b(),E}catch(E){throw is(E),b(),E}})}return V.startActiveSpan(U,(j)=>{if(o)j.setAttribute("judgment.span_kind",o);try{if(p)j.setAttribute("judgment.input",T(ys(S,I),R._getSerializer()));R._emitPartial();let P=S.call(this,...I);if(P instanceof Promise)return P.then(($)=>{if(f)j.setAttribute("judgment.output",T($,R._getSerializer()));return $}).catch(($)=>{throw j.recordException($),j.setStatus({code:x.ERROR,message:String($)}),$}).finally(()=>{j.end()});if(f)j.setAttribute("judgment.output",T(P,R._getSerializer()));return j.end(),P}catch(P){throw j.recordException(P),j.setStatus({code:x.ERROR,message:String(P)}),j.end(),P}})}};if(!e)return d;return d(e)}static _resolveSpan(s){if(s)return s;return R._getProxyProvider().getCurrentSpan()}static setSpanKind(s,t){u("BaseTracer.setSpanKind",()=>{if(!s)return;let e=R._resolveSpan(t);if(e?.isRecording())e.setAttribute("judgment.span_kind",s)})}static setLLMSpan(){R.setSpanKind("llm")}static setToolSpan(){R.setSpanKind("tool")}static setGeneralSpan(){R.setSpanKind("span")}static setAttribute(s,t,e){u("BaseTracer.setAttribute",()=>{let o=R._resolveSpan(e);if(!o?.isRecording())return;if(!s||t==null)return;o.setAttribute(s,T(t,R._getSerializer()))})}static setAttributes(s,t){for(let[e,o]of Object.entries(s))if(t)R.setAttribute(e,o,t);else R.setAttribute(e,o)}static setInput(s,t){if(t)R.setAttribute("judgment.input",s,t);else R.setAttribute("judgment.input",s)}static setOutput(s,t){if(t)R.setAttribute("judgment.output",s,t);else R.setAttribute("judgment.output",s)}static setError(s,t){u("BaseTracer.setError",()=>{let e=R._resolveSpan(t);if(!e?.isRecording())return;e.recordException(s),e.setStatus({code:x.ERROR,message:String(s)})})}static recordLLMMetadata(s,t){u("BaseTracer.recordLLMMetadata",()=>{let e=R._resolveSpan(t);if(!e?.isRecording())return;if(typeof s.model==="string")e.setAttribute("judgment.llm.model",s.model);if(typeof s.provider==="string")e.setAttribute("judgment.llm.provider",s.provider);if(typeof s.non_cached_input_tokens==="number")e.setAttribute("judgment.usage.non_cached_input_tokens",s.non_cached_input_tokens);if(typeof s.output_tokens==="number")e.setAttribute("judgment.usage.output_tokens",s.output_tokens);if(typeof s.cache_read_input_tokens==="number")e.setAttribute("judgment.usage.cache_read_input_tokens",s.cache_read_input_tokens);if(typeof s.cache_creation_input_tokens==="number")e.setAttribute("judgment.usage.cache_creation_input_tokens",s.cache_creation_input_tokens);if(typeof s.total_cost_usd==="number")e.setAttribute("judgment.usage.total_cost_usd",s.total_cost_usd)})}static _setPropagatingBaggageKey(s,t){u("BaseTracer._setPropagatingBaggageKey",()=>{let e=R._getProxyProvider(),o=e.getCurrentSpan();if(!o?.isRecording())return;o.setAttribute(s,t);let n=e.getCurrentContext(),p=(l(n)??H()).setEntry(s,{value:t});e.attachContext(y(n,p))})}static setCustomerId(s){R._setPropagatingBaggageKey("judgment.customer_id",s)}static setCustomerUserId(s){R._setPropagatingBaggageKey("judgment.customer_user_id",s)}static setSessionId(s){R._setPropagatingBaggageKey("judgment.session_id",s)}static tag(s){u("BaseTracer.tag",()=>{if(!s||Array.isArray(s)&&s.length===0)return;let e=R._getProxyProvider().getActiveTracer();if(!e?.projectId||!e._client)return;if(!e.supportsLiveInstrumentation)return;let o=R._getCurrentTraceAndSpanId();if(!o)return;let[n]=o,p=Array.isArray(s)?s:[s];e._client.postV1projectsTracesByTraceIdTags(e.projectId,n,{tags:p}).catch((f)=>{m.error(`tag failed: ${String(f)}`)})})}static asyncEvaluate(s,t){u("BaseTracer.asyncEvaluate",()=>{let{judge:e,example:o}=s,p=R._getProxyProvider().getActiveTracer();if(!p?.projectId)return;if(!p.supportsLiveInstrumentation)return;let f=R._resolveSpan(t);if(!f?.isRecording())return;let r=p.getSpanProcessor(),i=f.spanContext(),d=r.stateIncr(i,"pending_evals_count"),S={project_id:p.projectId,eval_name:`async_evaluate_${e}_${d}`,judges:[{name:e}],examples:[{...o,example_id:crypto.randomUUID(),created_at:new Date().toISOString(),trace_id:i.traceId,span_id:i.spanId}],is_offline:!1,is_behavior:!1},U=r.stateAppend(i,"pending_evals",S);f.setAttribute("judgment.pending_trace_eval",JSON.stringify(U))})}}function ys(s,t){try{let e=Us(s).map((n)=>n.replace(/^\.\.\./,"").split("=")[0].trim()).filter((n)=>n.length>0),o={};return e.forEach((n,p)=>{if(p<t.length)o[n]=t[p]}),o}catch{return{}}}import{defaultResource as xt,resourceFromAttributes as _t}from"@opentelemetry/resources";import{WebTracerProvider as Ls}from"@opentelemetry/sdk-trace-web";class es{baseUrl;apiKey;organizationId;constructor(s,t,e){this.baseUrl=s,this.apiKey=t,this.organizationId=e}getBaseUrl(){return this.baseUrl}getApiKey(){return this.apiKey}getOrganizationId(){return this.organizationId}async request(s,t,e){let o=await fetch(t,{method:s,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,"X-Organization-Id":this.organizationId},body:e!==void 0?JSON.stringify(e):void 0});if(!o.ok){let n=await o.text();throw Error(`HTTP ${o.status}: ${n}`)}return o.json()}async postOtelV1traces(){let s=this.baseUrl+"/otel/v1/traces";return this.request("POST",s,{})}async postOtelV1offlineTraces(){let s=this.baseUrl+"/otel/v1/offline-traces";return this.request("POST",s,{})}async postV1projectsResolve(s){let t=this.baseUrl+"/v1/projects/resolve/";return this.request("POST",t,s)}async postV1projects(s){let t=this.baseUrl+"/v1/projects";return this.request("POST",t,s)}async deleteV1projects(s){let t=this.baseUrl+`/v1/projects/${s}`;return this.request("DELETE",t,{})}async postV1projectsDatasets(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets`;return this.request("POST",e,t)}async getV1projectsDatasets(s){let t=this.baseUrl+`/v1/projects/${s}/datasets`;return this.request("GET",t,void 0)}async getV1projectsDatasetsByDatasetIdentifierVersions(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets/${t}/versions`;return this.request("GET",e,void 0)}async getV1projectsDatasetsByDatasetIdentifierPage(s,t,e,o,n,p){let f=new URLSearchParams;if(e!==void 0)f.set("version",e);if(o!==void 0)f.set("limit",o);if(n!==void 0)f.set("cursor_created_at",n);if(p!==void 0)f.set("cursor_example_id",p);let r=this.baseUrl+`/v1/projects/${s}/datasets/${t}/page`+(f.toString()?"?"+f.toString():"");return this.request("GET",r,void 0)}async postV1projectsDatasetsByDatasetIdentifierExamples(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/datasets/${t}/examples`;return this.request("POST",o,e)}async deleteV1projectsDatasetsByDatasetIdentifier(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets/${t}`;return this.request("DELETE",e,{})}async getV1projectsDatasetsByDatasetIdentifier(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets/${t}`;return this.request("GET",e,void 0)}async getV1projectsTestConfigs(s,t){let e=new URLSearchParams;if(t!==void 0)e.set("dataset_id",t);let o=this.baseUrl+`/v1/projects/${s}/test-configs`+(e.toString()?"?"+e.toString():"");return this.request("GET",o,void 0)}async postV1projectsTestConfigs(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-configs`;return this.request("POST",e,t)}async getV1projectsTestConfigsByTestConfigId(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-configs/${t}`;return this.request("GET",e,void 0)}async patchV1projectsTestConfigsByTestConfigId(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/test-configs/${t}`;return this.request("PATCH",o,e)}async deleteV1projectsTestConfigsByTestConfigId(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-configs/${t}`;return this.request("DELETE",e,{})}async getV1projectsTestRuns(s,t,e,o,n){let p=new URLSearchParams;if(t!==void 0)p.set("test_config_id",t);if(e!==void 0)p.set("dataset_id",e);if(o!==void 0)p.set("status",o);if(n!==void 0)p.set("limit",n);let f=this.baseUrl+`/v1/projects/${s}/test-runs`+(p.toString()?"?"+p.toString():"");return this.request("GET",f,void 0)}async postV1projectsTestRuns(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-runs`;return this.request("POST",e,t)}async getV1projectsTestRunsByTestRunId(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-runs/${t}`;return this.request("GET",e,void 0)}async patchV1projectsTestRunsByTestRunIdStatus(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/status`;return this.request("PATCH",o,e)}async patchV1projectsTestRunsByTestRunIdSuccess(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/success`;return this.request("PATCH",o,e)}async getV1projectsTestRunsByTestRunIdItems(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("limit",e);if(o!==void 0)n.set("cursor",o);let p=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/items`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async getV1projectsTestRunsByTestRunIdResults(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("limit",e);if(o!==void 0)n.set("cursor",o);let p=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/results`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async getV1projectsTestRunsByTestRunIdGraph(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/graph`;return this.request("GET",e,void 0)}async getV1projectsExperimentsByRunId(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("limit",e);if(o!==void 0)n.set("cursor",o);let p=this.baseUrl+`/v1/projects/${s}/experiments/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async postV1projectsEvalResults(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-results`;return this.request("POST",e,t)}async postV1projectsEvalResultsExamples(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-results/examples`;return this.request("POST",e,t)}async postV1projectsEvaluateExamples(s,t){let e=this.baseUrl+`/v1/projects/${s}/evaluate/examples`;return this.request("POST",e,t)}async postV1projectsEvaluateTraces(s,t){let e=this.baseUrl+`/v1/projects/${s}/evaluate/traces`;return this.request("POST",e,t)}async postV1projectsEvalQueueExamples(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-queue/examples`;return this.request("POST",e,t)}async postV1projectsEvalQueueTraces(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-queue/traces`;return this.request("POST",e,t)}async getV1projectsPromptsByName(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("commit_id",e);if(o!==void 0)n.set("tag",o);let p=this.baseUrl+`/v1/projects/${s}/prompts/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async postV1projectsPrompts(s,t){let e=this.baseUrl+`/v1/projects/${s}/prompts`;return this.request("POST",e,t)}async postV1projectsPromptsByNameTags(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/prompts/${t}/tags`;return this.request("POST",o,e)}async deleteV1projectsPromptsByNameTags(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/prompts/${t}/tags`;return this.request("DELETE",o,e)}async getV1projectsPromptsByNameVersions(s,t){let e=this.baseUrl+`/v1/projects/${s}/prompts/${t}/versions`;return this.request("GET",e,void 0)}async getV1projectsScorers(s,t,e){let o=new URLSearchParams;if(t!==void 0)o.set("names",t);if(e!==void 0)o.set("is_trace",e);let n=this.baseUrl+`/v1/projects/${s}/scorers`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async getV1projectsScorersByNameExists(s,t){let e=this.baseUrl+`/v1/projects/${s}/scorers/${t}/exists`;return this.request("GET",e,void 0)}async postV1projectsScorersCustom(s){let t=this.baseUrl+`/v1/projects/${s}/scorers/custom`;return this.request("POST",t,{})}async postV1projectsScorersCustomBundle(s){let t=this.baseUrl+`/v1/projects/${s}/scorers/custom/bundle`;return this.request("POST",t,{})}async getV1projectsScorersCustomByNameExists(s,t){let e=this.baseUrl+`/v1/projects/${s}/scorers/custom/${t}/exists`;return this.request("GET",e,void 0)}async postV1projectsTracesByTraceIdTags(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/traces/${t}/tags`;return this.request("POST",o,e)}async getV1e2eFetchTraceByProjectNameByTraceId(s,t){let e=this.baseUrl+`/v1/e2e_fetch_trace/${s}/${t}`;return this.request("GET",e,void 0)}async getV1e2eTracesPerProject(s){let t=this.baseUrl+`/v1/e2e_traces_per_project/${s}`;return this.request("GET",t,void 0)}async postV1e2eFetchSpanScore(s){let t=this.baseUrl+"/v1/e2e_fetch_span_score/";return this.request("POST",t,s)}async postV1projectsJudges(s,t){let e=this.baseUrl+`/v1/projects/${s}/judges`;return this.request("POST",e,t)}async patchV1projectsJudgesByJudgeId(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/judges/${t}`;return this.request("PATCH",o,e)}}function Qs(s){return new Promise((t)=>setTimeout(t,s))}async function Ys(s,t={}){let{maxRetries:e=3,backoff:o=()=>1000,onRetry:n}=t;for(let p=1;p<=e;p++)try{return await s()}catch(f){if(p===e)throw f;n?.(p,f),await Qs(o(p))}throw Error("retry: exhausted all attempts")}var Ws=new Map,os=new Map;async function Ms(s,t){let e=`org:${s.getOrganizationId()}:project:${t}`,o=Ws.get(e);if(o)return o;let n=os.get(e);if(n)return n;let p=(async()=>{m.info(`Resolving project ID for project: ${t}`);let f=await Ys(async()=>{let i=(await s.postV1projectsResolve({project_name:t})).project_id;if(!i)throw Error(`Project ID not found for project: ${t}`);return i},{maxRetries:3,backoff:(r)=>r*1000,onRetry:(r,i)=>{m.warning(`Failed to resolve project ID for '${t}' (attempt ${r}): ${String(i)}`)}});return m.info(`Resolved project ID: ${f}`),Ws.set(e,f),f})();os.set(e,p);try{return await p}finally{os.delete(e)}}var Gs="1.2.0";var Zs=Gs;import{BatchSpanProcessor as lt}from"@opentelemetry/sdk-trace-base";var Xs=()=>!0;class X{_keyPredicate;constructor(s=Xs){this._keyPredicate=s}onStart(s,t){let e=l(t)?.getAllEntries()??[];for(let[o,n]of e)if(this._keyPredicate(o))s.setAttribute(o,n.value)}onEnd(s){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}function _(s){return`${s.traceId}:${s.spanId}`}function Tt(s){return s[0]===0&&s[1]===0}class N extends lt{tracer;_state=new Map;_spanFinalizers;_baggageProcessor;constructor(s,t,e){super(t,e);this.tracer=s,this._spanFinalizers=new FinalizationRegistry((o)=>{this._cleanupSpanState(o)}),this._baggageProcessor=new X}_cleanupSpanState(s){this._state.delete(s)}_registerSpan(s){let t=s.spanContext();if(!t.traceId||!t.spanId)return;let e=_(t);this._spanFinalizers.register(s,e)}stateSet(s,t,e){let o=_(s),n=this._state.get(o);if(!n)n=new Map,this._state.set(o,n);n.set(t,e)}stateGet(s,t,e){let o=_(s),n=this._state.get(o);if(!n?.has(t))return e;return n.get(t)}stateIncr(s,t){let e=_(s),o=this._state.get(e);if(!o)o=new Map,this._state.set(e,o);let n=o.get(t),p=typeof n==="number"?n:0;return o.set(t,p+1),p}stateAppend(s,t,e){let o=_(s),n=this._state.get(o);if(!n)n=new Map,this._state.set(o,n);let p=n.get(t),f=Array.isArray(p)?[...p,e]:[e];return n.set(t,f),f}_emitSpan(s,t=!1){let e=s.spanContext();if(!e.traceId)return;let o=this.stateIncr(e,"judgment.update_id"),n={...s.attributes,"judgment.update_id":o};if(t)delete n["judgment.pending_trace_eval"];let p=Object.create(s);Object.defineProperty(p,"attributes",{value:n,writable:!1});let f=Tt(s.endTime)?s.startTime:s.endTime;Object.defineProperty(p,"endTime",{value:f,writable:!1}),super.onEnd(p)}emitPartial(){u("JudgmentSpanProcessor.emitPartial",()=>{let s=C().getCurrentSpan();if(!s?.isRecording())return;let t=s.spanContext();if(!t.traceId)return;if(this.stateGet(t,"disable_partial_emit",!1))return;this._emitSpan(s,!0)})}onStart(s,t){u("JudgmentSpanProcessor.onStart",()=>{this._baggageProcessor.onStart(s,t),this._registerSpan(s)})}onEnd(s){u("JudgmentSpanProcessor.onEnd",()=>{let t=s.spanContext();if(!t.traceId){super.onEnd(s);return}let e=_(t);try{if(!this.stateGet(t,"cancelled",!1))this._emitSpan(s)}finally{this._cleanupSpanState(e)}})}}import{ROOT_CONTEXT as vt,SpanStatusCode as Ns,trace as Q}from"@opentelemetry/api";import{AsyncLocalStorage as Vt}from"async_hooks";var Ft="judgeval",z=new Vt;class zs{_provider;constructor(s){this._provider=s}startSpan(s,t,e){let o=e??this._provider.getCurrentContext();return this._provider._getDelegateTracer().startSpan(s,t,o)}startActiveSpan(s,...t){let e={},o=this._provider.getCurrentContext(),n;if(t.length===1)n=t[0];else if(t.length===2)e=t[0],n=t[1];else e=t[0],o=t[1],n=t[2];let p=this.startSpan(s,e,o);return this._provider.useSpan(p,!1,!1,!1,()=>n(p))}}class c{static _instance=null;_activeTracer=null;_proxyTracer;_tracers=new Set;constructor(){this._proxyTracer=new zs(this),Cs(this)}static getInstance(){return c._instance??=new c,c._instance}register(s){this._tracers.add(s)}deregister(s){this._tracers.delete(s)}setActive(s){let t=this.getCurrentSpan();if(t?.isRecording()){if(Q.getSpan(this.getCurrentContext())===t)return m.error("Cannot set_active() while a root span is active. Keeping existing tracer provider."),!1}return this.register(s),this._activeTracer=s,!0}getActiveTracer(){return this._activeTracer}getCurrentContext(){return z.getStore()?.ctx??vt}setSpan(s,t){return Q.setSpan(s,t)}wrapSpanContext(s){return Q.wrapSpanContext(s)}getCurrentSpan(){return Q.getSpan(this.getCurrentContext())}_getDelegateTracer(){let s=this._activeTracer;if(!s)return m.debug("No active tracer, returning NoOpTracer"),M;return s._tracerProvider.getTracer(Ft)}getTracer(s,t,e){return this._proxyTracer}addInstrumentation(s){m.warning("OpenTelemetry instrumentations are only supported by the Node entrypoint.")}useSpan(s,t,e,o,n){let p=this.getCurrentContext(),f=Q.setSpan(p,s);return z.run({ctx:f},()=>{try{let r=n();if(r instanceof Promise)return r.catch((i)=>{if(s.isRecording()){if(e)s.recordException(i);if(o){let d=i;s.setStatus({code:Ns.ERROR,message:`${d.name}: ${d.message}`})}}throw i}).finally(()=>{if(t)s.end()});if(t)s.end();return r}catch(r){if(s.isRecording()){if(e)s.recordException(r);if(o){let i=r;s.setStatus({code:Ns.ERROR,message:`${i.name}: ${i.message}`})}}if(t)s.end();throw r}})}attachContext(s){let t=z.getStore();if(t)t.ctx=s}withContext(s,t){return z.run({ctx:s},t)}async forceFlush(){let s=await Promise.allSettled(Array.from(this._tracers).map((t)=>t._tracerProvider.forceFlush()));for(let t of s)if(t.status==="rejected")m.error(`forceFlush failed: ${String(t.reason)}`)}async shutdown(){let s=await Promise.allSettled(Array.from(this._tracers).map((t)=>t._tracerProvider.shutdown()));for(let t of s)if(t.status==="rejected")m.error(`shutdown failed: ${String(t.reason)}`);this._activeTracer=null,this._tracers.clear()}}import{ExportResultCode as L}from"@opentelemetry/core";import{ProtobufTraceSerializer as Ot}from"@opentelemetry/otlp-transformer";class A{_endpoint;_apiKey;_organizationId;_projectId;constructor(s,t,e,o){this._endpoint=s;this._apiKey=t;this._organizationId=e;this._projectId=o}export(s,t){let e=Ot.serializeRequest(s);if(!e){t({code:L.SUCCESS});return}fetch(this._endpoint,{method:"POST",headers:{Authorization:`Bearer ${this._apiKey}`,"Content-Type":"application/x-protobuf","X-Organization-Id":this._organizationId,"X-Project-Id":this._projectId},body:e}).then(async(o)=>{if(o.ok){t({code:L.SUCCESS});return}let n=(await o.text().catch(()=>"")).slice(0,500);t({code:L.FAILED,error:Error(n?`OTLP export failed: ${o.status}: ${n}`:`OTLP export failed: ${o.status}`)})}).catch((o)=>{t({code:L.FAILED,error:o instanceof Error?o:Error(String(o))})})}shutdown(){return Promise.resolve()}}function k(s,t){if(!s)throw Error(`${t} is required for judgeval/workers Tracer.init`);return s}class ns extends R{_spanExporter=null;_spanProcessor=null;constructor(s,t,e,o,n,p,f,r,i){super(s,t,e,o,n,p,f,r,i,!0)}static async init(s){let t=k(s.apiKey,"apiKey"),e=k(s.organizationId,"organizationId"),o=k(s.apiUrl,"apiUrl"),n=s.serializer??q,p=new es(o,t,e),f=s.projectId;if(!f){let V=k(s.projectName,"projectName");try{f=await Ms(p,V)}catch(ps){throw Error(`Project '${V}' not found; cannot start judgeval/workers tracer: ${String(ps)}`)}}let i={"service.name":s.projectName??f,"telemetry.sdk.name":"judgeval","telemetry.sdk.version":Zs,"judgment.project_id":f};if(s.environment)i["deployment.environment"]=s.environment;if(s.resourceAttributes)Object.assign(i,s.resourceAttributes);let d=xt().merge(_t(i)),S=new ns(s.projectName??null,f,t,e,o,s.environment??null,n,new Ls({resource:d,sampler:s.sampler,spanLimits:s.spanLimits}),p),U=new Ls({resource:d,sampler:s.sampler,spanLimits:s.spanLimits,spanProcessors:[S.getSpanProcessor(),...s.spanProcessors??[]]});if(S._tracerProvider=U,c.getInstance().register(S),s.setActive??!0)S.setActive();return S}getSpanExporter(){if(this._spanExporter)return this._spanExporter;let s=this.apiUrl.endsWith("/")?this.apiUrl+"otel/v1/traces":this.apiUrl+"/otel/v1/traces";return this._spanExporter=new A(s,this.apiKey,this.organizationId,this.projectId),this._spanExporter}getSpanProcessor(){if(this._spanProcessor)return this._spanProcessor;return this._spanProcessor=new N(this,this.getSpanExporter()),this._spanProcessor}}export{B as wrapOpenAI,g as wrap,ws as propagation,cs as baggage,A as WorkerSpanExporter,ns as Tracer,N as JudgmentSpanProcessor,X as JudgmentBaggageSpanProcessor,O as JudgmentBaggagePropagator,R as BaseTracer,Xs as ALLOW_ALL_BAGGAGE_KEYS};
1
+ var ks=Object.defineProperty;var us=(s,t)=>{for(var e in t)ks(s,e,{get:t[e],enumerable:!0,configurable:!0,set:(o)=>t[e]=()=>o})};import{INVALID_SPAN_CONTEXT as ht,SpanStatusCode as x}from"@opentelemetry/api";function W(s,t){let e=process.env[s];if(!e)return t??null;return e}var Jt=W("JUDGMENT_API_KEY"),wt=W("JUDGMENT_ORG_ID"),Ht=W("JUDGMENT_API_URL","https://api.judgmentlabs.ai"),rs=W("JUDGMENT_LOG_LEVEL","warn");class m{static RESET="\x1B[0m";static RED="\x1B[31m";static YELLOW="\x1B[33m";static GRAY="\x1B[90m";static Level={DEBUG:0,INFO:1,WARNING:2,ERROR:3,CRITICAL:4};static initialized=!1;static levelSetManually=!1;static currentLevel=m.Level.WARNING;static useColor=!0;static initialize(){if(!m.initialized){let s=process.env.JUDGMENT_NO_COLOR;if(m.useColor=!s&&process.stdout.isTTY,!m.levelSetManually){let t=rs.toLowerCase();if(t){let e={debug:m.Level.DEBUG,info:m.Level.INFO,warning:m.Level.WARNING,warn:m.Level.WARNING,error:m.Level.ERROR,critical:m.Level.CRITICAL};m.currentLevel=e[t]??m.Level.WARNING}}m.initialized=!0}}static setLevel(s){m.currentLevel=s,m.levelSetManually=!0}static setUseColor(s){m.useColor=s}static log(s,t){if(m.initialize(),s<m.currentLevel)return;let e=new Date().toISOString().replace("T"," ").substring(0,19),o=Object.keys(m.Level).find((f)=>m.Level[f]===s)??"UNKNOWN",n=`${e} - judgeval - ${o} - ${t}`;if(m.useColor)n=`${s===m.Level.DEBUG||s===m.Level.INFO?m.GRAY:s===m.Level.WARNING?m.YELLOW:m.RED}${n}${m.RESET}`;(s>=m.Level.ERROR?process.stderr:process.stdout).write(n+`
2
+ `)}static debug(s){m.log(m.Level.DEBUG,s)}static info(s){m.log(m.Level.INFO,s)}static warning(s){m.log(m.Level.WARNING,s)}static warn(s){m.log(m.Level.WARNING,s)}static error(s){m.log(m.Level.ERROR,s)}static critical(s){m.log(m.Level.CRITICAL,s)}}function r(s,t,e){try{return t()}catch(o){let n=o instanceof Error&&o.stack?`
3
+ ${o.stack}`:"";return m.error(`[Caught] An exception was raised in ${s}: ${String(o)}${n}`),e}}function bs(){let s=new WeakSet;return function(t,e){if(typeof e==="bigint")return e.toString();if(typeof e==="object"&&e!==null){if(s.has(e))return"[Circular]";s.add(e)}return e}}function q(s){try{let t=JSON.stringify(s);if(typeof t==="string")return t;return String(t)}catch{try{let t=JSON.stringify(s,bs());return typeof t==="string"?t:String(s)}catch(t){return m.error(`safeStringify failed: ${t}`),String(s)}}}function T(s,t){if(typeof s==="string"||typeof s==="number"||typeof s==="boolean")return s;return t(s)}function h(s,t={}){let{pre:e,post:o,error:n,finally:p}=t;return async function(...u){let i=e?r("immutableWrapAsync.pre",()=>e(...u)):void 0,d;try{let S=await s.apply(this,u);if(o)d=r("immutableWrapAsync.post",()=>o(i,S,u));return S}catch(S){if(n)d=r("immutableWrapAsync.error",()=>n(i,S,u));throw S}finally{if(p)r("immutableWrapAsync.finally",()=>{p(d)})}}}function K(s,t={}){let{pre:e,yield:o,post:n,error:p,finally:f}=t;return async function*(...i){let d=e?r("immutableWrapAsyncIterator.pre",()=>e(...i)):void 0,S;try{for await(let U of s(...i)){if(o)r("immutableWrapAsyncIterator.yield",()=>{o(d,U)});yield U}if(n)S=r("immutableWrapAsyncIterator.post",()=>n(d))}catch(U){if(p)S=r("immutableWrapAsyncIterator.error",()=>p(d,U));throw U}finally{if(f)r("immutableWrapAsyncIterator.finally",()=>{f(S)})}}}function v(s,t){let e=s[Symbol.asyncIterator].bind(s),o=K(()=>({[Symbol.asyncIterator]:e}),{yield:(n,p)=>{t.onYield(p)},post:()=>{t.onDone()},error:(n,p)=>{t.onError(p)},finally:()=>{t.onFinally()}});s[Symbol.asyncIterator]=()=>o()}function J(s,t){r("recordChatUsage",()=>{let e=t.prompt_tokens_details?.cached_tokens??0,o=t.prompt_tokens+t.completion_tokens+e;R.recordLLMMetadata({non_cached_input_tokens:o>t.total_tokens?t.prompt_tokens-e:t.prompt_tokens,output_tokens:t.completion_tokens||void 0,cache_read_input_tokens:e||void 0},s),R.setAttribute("judgment.usage.metadata",q(t),s)})}function ds(s){s.chat.completions.parse=h(s.chat.completions.parse.bind(s.chat.completions),{pre:(t)=>{let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),e},post:(t,e)=>{if(!t)return;if(R.setOutput(q(e),t),e.usage)J(t,e.usage);return R.recordLLMMetadata({model:e.model},t),t},error:(t,e)=>{if(t)R.setError(e,t);return t},finally:(t)=>{t?.end()}})}function Ss(s){s.chat.completions.create=h(s.chat.completions.create.bind(s.chat.completions),{pre:(t)=>{if(t.stream)t.stream_options??={include_usage:!0};let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),{span:e,proxied:!1}},post:(t,e,o)=>{if(!t)return;let{span:n}=t;if(o[0].stream){let f=e,u="";return v(f,{onYield(i){if(typeof i.choices[0]?.delta.content==="string")u+=i.choices[0].delta.content;if(i.usage)J(n,i.usage)},onDone(){R.setOutput(u,n)},onError(i){R.setError(i,n)},onFinally(){n.end()}}),{span:n,proxied:!0}}let p=e;if(R.setOutput(q(p),n),p.usage)J(n,p.usage);return R.recordLLMMetadata({model:p.model},n),t},error:(t,e)=>{if(t)R.setError(e,t.span);return t},finally:(t)=>{if(t&&!t.proxied)t.span.end()}})}var Ks=new Set(["image_generation.completed","image_edit.completed"]);function Ps(s,t){r("images.recordUsage",()=>{let e="input_tokens_details"in t?t.input_tokens_details:void 0,o=e?.image_tokens??0;if(R.recordLLMMetadata({non_cached_input_tokens:e?.text_tokens??0,output_tokens:t.output_tokens||void 0},s),o)R.setAttribute("judgment.usage.non_cached_input_image_tokens",o,s);if(t.output_tokens)R.setAttribute("judgment.usage.output_image_tokens",t.output_tokens,s);R.setAttribute("judgment.usage.metadata",q(t),s)})}function qs(s){s.images.generate=h(s.images.generate.bind(s.images),{pre:(t)=>{let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),{span:e,proxied:!1}},post:(t,e,o)=>{if(!t)return;let{span:n}=t;if(o[0].stream){let f=e,u;return v(f,{onYield(i){if(Ks.has(i.type))u=i,Ps(n,u.usage)},onDone(){R.setOutput(q(u??{}),n)},onError(i){R.setError(i,n)},onFinally(){n.end()}}),{span:n,proxied:!0}}let p=e;if(R.setOutput(q(p),n),p.usage)Ps(n,p.usage);return t},error:(t,e)=>{if(t)R.setError(e,t.span);return t},finally:(t)=>{if(t&&!t.proxied)t.span.end()}})}function Es(s,t){r("responses.recordUsage",()=>{let e=t.input_tokens_details.cached_tokens,o=t.input_tokens+t.output_tokens+e;R.recordLLMMetadata({non_cached_input_tokens:o>t.total_tokens?t.input_tokens-e:t.input_tokens,output_tokens:t.output_tokens||void 0,cache_read_input_tokens:e||void 0},s),R.setAttribute("judgment.usage.metadata",q(t),s)})}function js(s){s.responses.create=h(s.responses.create.bind(s.responses),{pre:(t)=>{let e=R.startSpan("OPENAI_API_CALL");return R.setSpanKind("llm",e),R.recordLLMMetadata({model:t.model},e),R.setInput(t,e),{span:e,proxied:!1}},post:(t,e,o)=>{if(!t)return;let{span:n}=t;if(o[0].stream){let f=e,u="";return v(f,{onYield(i){if(i.type==="response.output_text.delta")u+=i.delta;if(i.type==="response.completed"){let d=i.response;if(d.usage)Es(n,d.usage);R.recordLLMMetadata({model:d.model},n)}},onDone(){R.setOutput(u,n)},onError(i){R.setError(i,n)},onFinally(){n.end()}}),{span:n,proxied:!0}}let p=e;if(R.setOutput(q(p),n),p.usage)Es(n,p.usage);if(typeof p.model==="string")R.recordLLMMetadata({model:p.model},n);return t},error:(t,e)=>{if(t)R.setError(e,t.span);return t},finally:(t)=>{if(t&&!t.proxied)t.span.end()}})}function B(s){return r("wrapOpenAI",()=>{Ss(s),ds(s),js(s),qs(s)}),s}function g(s){return B(s)}var Bs=/^([^(]+?)=>/,gs=/^[^(]*\(\s*([^)]*)\)/m,as=/,/,st=/^\s*(_?)(\S+?)\1\s*$/,tt=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function et(s){return Function.prototype.toString.call(s)}function ot(s){let t=et(s).replace(tt,"");return t.match(Bs)||t.match(gs)}function Us(s){let t=ot(s);if(!t||!t[1])return[];return t[1].split(as).map((e)=>{return e.replace(st,(n,p,f)=>f).trim()}).filter((e)=>e.length>0)}var cs={};us(cs,{setBaggage:()=>Q,getBaggage:()=>l,getActiveBaggage:()=>rt,deleteBaggage:()=>dt,createBaggage:()=>H,baggageEntryMetadataFromString:()=>St,JudgmentBaggagePropagator:()=>O});import{createContextKey as ut,propagation as _s}from"@opentelemetry/api";import{ROOT_CONTEXT as Rt,trace as $s}from"@opentelemetry/api";import{INVALID_SPAN_CONTEXT as nt,trace as pt}from"@opentelemetry/api";class Ds{startSpan(){return pt.wrapSpanContext(nt)}startActiveSpan(s,...t){return(t.length===1?t[0]:t.length===2?t[1]:t[2])(this.startSpan())}}var M=new Ds;var ft={register(){},deregister(){},setActive(){return!1},getActiveTracer(){return null},getCurrentContext(){return Rt},setSpan(s,t){return $s.setSpan(s,t)},wrapSpanContext(s){return $s.wrapSpanContext(s)},getCurrentSpan(){return},getTracer(){return m.debug("No active tracer provider, returning NoOpTracer"),M},addInstrumentation(){m.warning("No active tracer provider. Instrumentation was not registered.")},useSpan(s,t,e,o,n){return n()},attachContext(){},withContext(s,t){return t()},forceFlush(){return Promise.resolve()},shutdown(){return Promise.resolve()}},hs=null;function Cs(s){hs=s}function C(){return hs??ft}import{baggageEntryMetadataFromString as St}from"@opentelemetry/api";import{isTracingSuppressed as mt}from"@opentelemetry/core";var ls="=",G=";",w=",",Z="baggage",Ts=180,vs=4096,Vs=8192;import{baggageEntryMetadataFromString as it}from"@opentelemetry/api";function Fs(s){return s.reduce((t,e)=>{let o=`${t}${t!==""?w:""}${e}`;return o.length>Vs?t:o},"")}function Os(s){return s.getAllEntries().map(([t,e])=>{let o=`${encodeURIComponent(t)}=${encodeURIComponent(e.value)}`;if(e.metadata!==void 0)o+=G+e.metadata.toString();return o})}function xs(s){let t=s.split(G);if(t.length<=0)return;let e=t.shift();if(!e)return;let o=e.indexOf(ls);if(o<=0)return;let n=decodeURIComponent(e.substring(0,o).trim()),p=decodeURIComponent(e.substring(o+1).trim()),f;if(t.length>0)f=it(t.join(G));return{key:n,value:p,metadata:f}}class O{inject(s,t,e){let o=l(s);if(!o||mt(s))return;let n=Os(o).filter((f)=>f.length<=vs).slice(0,Ts),p=Fs(n);if(p.length>0)e.set(t,Z,p)}extract(s,t,e){let o=e.get(t,Z),n=Array.isArray(o)?o.join(w):o;if(!n)return s;let p={};if(n.length===0)return s;if(n.split(w).forEach((u)=>{let i=xs(u);if(i){let d={value:i.value};if(i.metadata)d.metadata=i.metadata;p[i.key]=d}}),Object.entries(p).length===0)return s;return Q(s,H(p))}fields(){return[Z]}}var H=_s.createBaggage.bind(_s),a=ut("baggage");function l(s){return s.getValue(a)}function rt(){return l(C().getCurrentContext())}function Q(s,t){return s.setValue(a,t)}function dt(s){return s.deleteValue(a)}var ws={};us(ws,{setGlobalTextmap:()=>Ut,inject:()=>Dt,getGlobalTextmap:()=>ss,extract:()=>ts});import{defaultTextMapGetter as Pt,defaultTextMapSetter as qt}from"@opentelemetry/api";import{CompositePropagator as Et,W3CTraceContextPropagator as jt}from"@opentelemetry/core";var Is=new Et({propagators:[new jt,new O]});function ss(){return Is}function Ut(s){Is=s}function Js(s){if(s!==void 0)return s;return C().getCurrentContext()}function Dt(s,t,e=qt){r("propagation.inject",()=>{ss().inject(Js(t),s,e)})}function ts(s,t,e=Pt){let o=Js(t);return r("propagation.extract",()=>ss().extract(o,s,e),o)}var Hs="judgeval";class R{projectName;projectId;apiKey;organizationId;apiUrl;environment;serializer;_tracerProvider;_client;_enableMonitoring;supportsLiveInstrumentation=!0;constructor(s,t,e,o,n,p,f,u,i,d){this.projectName=s,this.projectId=t,this.apiKey=e,this.organizationId=o,this.apiUrl=n,this.environment=p,this.serializer=f,this._tracerProvider=u,this._client=i,this._enableMonitoring=d}setActive(){return C().setActive(this)}static _getProxyProvider(){return C()}static _getSerializer(){return R._getProxyProvider().getActiveTracer()?.serializer??q}static _getCurrentTraceAndSpanId(){let t=R._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return null;let e=t.spanContext();if(!e.traceId||!(e.traceFlags&1))return null;return[e.traceId,e.spanId]}static _emitPartial(){r("BaseTracer._emitPartial",()=>{let s=R._getProxyProvider().getActiveTracer();if(!s||!s.supportsLiveInstrumentation)return;s.getSpanProcessor().emitPartial()})}static getCurrentSpan(){return R._getProxyProvider().getCurrentSpan()}static async forceFlush(){await R._getProxyProvider().forceFlush()}static async shutdown(){await R._getProxyProvider().shutdown()}static registerOTELInstrumentation(s){r("BaseTracer.registerOTELInstrumentation",()=>{R._getProxyProvider().addInstrumentation(s)})}static wrap(s){return g(s)}static getOTELTracer(){return R._getProxyProvider().getTracer(Hs)}static startSpan(s,t){let e=R.getOTELTracer().startSpan(s,{attributes:t});return R._emitPartial(),e}static startActiveSpan(s,t){let{name:e,attributes:o}=s;return R.getOTELTracer().startActiveSpan(e,{attributes:o},(n)=>{R._emitPartial();try{let p=t(n);if(p instanceof Promise)return p.finally(()=>{n.end()});return n.end(),p}catch(p){throw n.end(),p}})}static span(s,t){return R.startActiveSpan({name:s},(e)=>{try{let o=t(e);if(o instanceof Promise)return o.catch((n)=>{throw e.setStatus({code:x.ERROR,message:String(n)}),e.recordException(n),n});return o}catch(o){throw e.setStatus({code:x.ERROR,message:String(o)}),e.recordException(o),o}})}static with(s,t){return R.span(s,t)}static continueTrace(s,t){let e=R._getProxyProvider(),o=ts(s);return e.withContext(o,()=>t(o))}static observe(s,t){let e;if(typeof s==="function")e=s;else t=s;let{spanType:o="span",spanName:n,recordInput:p=!0,recordOutput:f=!0,fork:u=!1}=t??{},i=R._getProxyProvider(),d=(S)=>{let U=n??S.name;return function(...I){let V=i.getTracer(Hs);if(u&&i.getActiveTracer()!==null&&i.getCurrentSpan()?.isRecording()===!0){let j=R._getSerializer(),P=V.startSpan(U),$=P.spanContext();if(o)P.setAttribute("judgment.span_kind",o);let Rs={"judgment.link.source_trace_id":$.traceId,"judgment.link.source_span_id":$.spanId};if(o)Rs["judgment.span_kind"]=o;let As=i.setSpan(i.getCurrentContext(),i.wrapSpanContext(ht)),F=V.startSpan(U,{attributes:Rs},As),fs=F.spanContext();P.setAttribute("judgment.link.target_trace_id",fs.traceId),P.setAttribute("judgment.link.target_span_id",fs.spanId);let b=()=>{F.end(),P.end()},is=(E)=>{for(let D of[F,P])D.recordException(E),D.setStatus({code:x.ERROR,message:String(E)})},ms=(E)=>{let D=T(E,j);F.setAttribute("judgment.output",D),P.setAttribute("judgment.output",D)};if(p){let E=T(Qs(S,I),j);F.setAttribute("judgment.input",E),P.setAttribute("judgment.input",E)}return R._emitPartial(),i.useSpan(F,!1,!1,!1,()=>{try{let E=S.call(this,...I);if(E instanceof Promise)return E.then((D)=>{if(f)ms(D);return D}).catch((D)=>{throw is(D),D}).finally(b);if(f)ms(E);return b(),E}catch(E){throw is(E),b(),E}})}return V.startActiveSpan(U,(j)=>{if(o)j.setAttribute("judgment.span_kind",o);try{if(p)j.setAttribute("judgment.input",T(Qs(S,I),R._getSerializer()));R._emitPartial();let P=S.call(this,...I);if(P instanceof Promise)return P.then(($)=>{if(f)j.setAttribute("judgment.output",T($,R._getSerializer()));return $}).catch(($)=>{throw j.recordException($),j.setStatus({code:x.ERROR,message:String($)}),$}).finally(()=>{j.end()});if(f)j.setAttribute("judgment.output",T(P,R._getSerializer()));return j.end(),P}catch(P){throw j.recordException(P),j.setStatus({code:x.ERROR,message:String(P)}),j.end(),P}})}};if(!e)return d;return d(e)}static _resolveSpan(s){if(s)return s;return R._getProxyProvider().getCurrentSpan()}static setSpanKind(s,t){r("BaseTracer.setSpanKind",()=>{if(!s)return;let e=R._resolveSpan(t);if(e?.isRecording())e.setAttribute("judgment.span_kind",s)})}static setLLMSpan(){R.setSpanKind("llm")}static setToolSpan(){R.setSpanKind("tool")}static setGeneralSpan(){R.setSpanKind("span")}static setAttribute(s,t,e){r("BaseTracer.setAttribute",()=>{let o=R._resolveSpan(e);if(!o?.isRecording())return;if(!s||t==null)return;o.setAttribute(s,T(t,R._getSerializer()))})}static setAttributes(s,t){for(let[e,o]of Object.entries(s))if(t)R.setAttribute(e,o,t);else R.setAttribute(e,o)}static setInput(s,t){if(t)R.setAttribute("judgment.input",s,t);else R.setAttribute("judgment.input",s)}static setOutput(s,t){if(t)R.setAttribute("judgment.output",s,t);else R.setAttribute("judgment.output",s)}static setError(s,t){r("BaseTracer.setError",()=>{let e=R._resolveSpan(t);if(!e?.isRecording())return;e.recordException(s),e.setStatus({code:x.ERROR,message:String(s)})})}static recordLLMMetadata(s,t){r("BaseTracer.recordLLMMetadata",()=>{let e=R._resolveSpan(t);if(!e?.isRecording())return;if(typeof s.model==="string")e.setAttribute("judgment.llm.model",s.model);if(typeof s.provider==="string")e.setAttribute("judgment.llm.provider",s.provider);if(typeof s.non_cached_input_tokens==="number")e.setAttribute("judgment.usage.non_cached_input_tokens",s.non_cached_input_tokens);if(typeof s.output_tokens==="number")e.setAttribute("judgment.usage.output_tokens",s.output_tokens);if(typeof s.cache_read_input_tokens==="number")e.setAttribute("judgment.usage.cache_read_input_tokens",s.cache_read_input_tokens);if(typeof s.cache_creation_input_tokens==="number")e.setAttribute("judgment.usage.cache_creation_input_tokens",s.cache_creation_input_tokens);if(typeof s.total_cost_usd==="number")e.setAttribute("judgment.usage.total_cost_usd",s.total_cost_usd)})}static _setPropagatingBaggageKey(s,t){r("BaseTracer._setPropagatingBaggageKey",()=>{let e=R._getProxyProvider(),o=e.getCurrentSpan();if(!o?.isRecording())return;o.setAttribute(s,t);let n=e.getCurrentContext(),p=(l(n)??H()).setEntry(s,{value:t});e.attachContext(Q(n,p))})}static setCustomerId(s){R._setPropagatingBaggageKey("judgment.customer_id",s)}static setCustomerUserId(s){R._setPropagatingBaggageKey("judgment.customer_user_id",s)}static setSessionId(s){R._setPropagatingBaggageKey("judgment.session_id",s)}static setPropagatingAttribute(s,t){if(s.startsWith("judgment.")){m.error(`setPropagatingAttribute: key "${s}" uses the reserved "judgment." prefix; ignoring`);return}R._setPropagatingBaggageKey(s,t)}static tag(s){r("BaseTracer.tag",()=>{if(!s||Array.isArray(s)&&s.length===0)return;let e=R._getProxyProvider().getActiveTracer();if(!e?.projectId||!e._client)return;if(!e.supportsLiveInstrumentation)return;let o=R._getCurrentTraceAndSpanId();if(!o)return;let[n]=o,p=Array.isArray(s)?s:[s];e._client.postV1projectsTracesByTraceIdTags(e.projectId,n,{tags:p}).catch((f)=>{m.error(`tag failed: ${String(f)}`)})})}static asyncEvaluate(s,t){r("BaseTracer.asyncEvaluate",()=>{let{judge:e,example:o}=s,p=R._getProxyProvider().getActiveTracer();if(!p?.projectId)return;if(!p.supportsLiveInstrumentation)return;let f=R._resolveSpan(t);if(!f?.isRecording())return;let u=p.getSpanProcessor(),i=f.spanContext(),d=u.stateIncr(i,"pending_evals_count"),S={project_id:p.projectId,eval_name:`async_evaluate_${e}_${d}`,judges:[{name:e}],examples:[{...o,example_id:crypto.randomUUID(),created_at:new Date().toISOString(),trace_id:i.traceId,span_id:i.spanId}],is_offline:!1,is_behavior:!1},U=u.stateAppend(i,"pending_evals",S);f.setAttribute("judgment.pending_trace_eval",JSON.stringify(U))})}}function Qs(s,t){try{let e=Us(s).map((n)=>n.replace(/^\.\.\./,"").split("=")[0].trim()).filter((n)=>n.length>0),o={};return e.forEach((n,p)=>{if(p<t.length)o[n]=t[p]}),o}catch{return{}}}import{defaultResource as xt,resourceFromAttributes as _t}from"@opentelemetry/resources";import{WebTracerProvider as Ls}from"@opentelemetry/sdk-trace-web";class es{baseUrl;apiKey;organizationId;constructor(s,t,e){this.baseUrl=s,this.apiKey=t,this.organizationId=e}getBaseUrl(){return this.baseUrl}getApiKey(){return this.apiKey}getOrganizationId(){return this.organizationId}async request(s,t,e){let o=await fetch(t,{method:s,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,"X-Organization-Id":this.organizationId},body:e!==void 0?JSON.stringify(e):void 0});if(!o.ok){let n=await o.text();throw Error(`HTTP ${o.status}: ${n}`)}return o.json()}async postOtelV1traces(){let s=this.baseUrl+"/otel/v1/traces";return this.request("POST",s,{})}async postOtelV1offlineTraces(){let s=this.baseUrl+"/otel/v1/offline-traces";return this.request("POST",s,{})}async postV1projectsResolve(s){let t=this.baseUrl+"/v1/projects/resolve/";return this.request("POST",t,s)}async postV1projects(s){let t=this.baseUrl+"/v1/projects";return this.request("POST",t,s)}async deleteV1projects(s){let t=this.baseUrl+`/v1/projects/${s}`;return this.request("DELETE",t,{})}async postV1projectsDatasets(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets`;return this.request("POST",e,t)}async getV1projectsDatasets(s){let t=this.baseUrl+`/v1/projects/${s}/datasets`;return this.request("GET",t,void 0)}async getV1projectsDatasetsByDatasetIdentifierVersions(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets/${t}/versions`;return this.request("GET",e,void 0)}async getV1projectsDatasetsByDatasetIdentifierPage(s,t,e,o,n,p){let f=new URLSearchParams;if(e!==void 0)f.set("version",e);if(o!==void 0)f.set("limit",o);if(n!==void 0)f.set("cursor_created_at",n);if(p!==void 0)f.set("cursor_example_id",p);let u=this.baseUrl+`/v1/projects/${s}/datasets/${t}/page`+(f.toString()?"?"+f.toString():"");return this.request("GET",u,void 0)}async postV1projectsDatasetsByDatasetIdentifierExamples(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/datasets/${t}/examples`;return this.request("POST",o,e)}async deleteV1projectsDatasetsByDatasetIdentifier(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets/${t}`;return this.request("DELETE",e,{})}async getV1projectsDatasetsByDatasetIdentifier(s,t){let e=this.baseUrl+`/v1/projects/${s}/datasets/${t}`;return this.request("GET",e,void 0)}async getV1projectsTestConfigs(s,t){let e=new URLSearchParams;if(t!==void 0)e.set("dataset_id",t);let o=this.baseUrl+`/v1/projects/${s}/test-configs`+(e.toString()?"?"+e.toString():"");return this.request("GET",o,void 0)}async postV1projectsTestConfigs(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-configs`;return this.request("POST",e,t)}async getV1projectsTestConfigsByTestConfigId(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-configs/${t}`;return this.request("GET",e,void 0)}async patchV1projectsTestConfigsByTestConfigId(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/test-configs/${t}`;return this.request("PATCH",o,e)}async deleteV1projectsTestConfigsByTestConfigId(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-configs/${t}`;return this.request("DELETE",e,{})}async getV1projectsTestRuns(s,t,e,o,n){let p=new URLSearchParams;if(t!==void 0)p.set("test_config_id",t);if(e!==void 0)p.set("dataset_id",e);if(o!==void 0)p.set("status",o);if(n!==void 0)p.set("limit",n);let f=this.baseUrl+`/v1/projects/${s}/test-runs`+(p.toString()?"?"+p.toString():"");return this.request("GET",f,void 0)}async postV1projectsTestRuns(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-runs`;return this.request("POST",e,t)}async getV1projectsTestRunsByTestRunId(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-runs/${t}`;return this.request("GET",e,void 0)}async patchV1projectsTestRunsByTestRunIdStatus(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/status`;return this.request("PATCH",o,e)}async patchV1projectsTestRunsByTestRunIdSuccess(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/success`;return this.request("PATCH",o,e)}async getV1projectsTestRunsByTestRunIdItems(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("limit",e);if(o!==void 0)n.set("cursor",o);let p=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/items`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async getV1projectsTestRunsByTestRunIdResults(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("limit",e);if(o!==void 0)n.set("cursor",o);let p=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/results`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async getV1projectsTestRunsByTestRunIdGraph(s,t){let e=this.baseUrl+`/v1/projects/${s}/test-runs/${t}/graph`;return this.request("GET",e,void 0)}async getV1projectsExperimentsByRunId(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("limit",e);if(o!==void 0)n.set("cursor",o);let p=this.baseUrl+`/v1/projects/${s}/experiments/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async postV1projectsEvalResults(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-results`;return this.request("POST",e,t)}async postV1projectsEvalResultsExamples(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-results/examples`;return this.request("POST",e,t)}async postV1projectsEvaluateExamples(s,t){let e=this.baseUrl+`/v1/projects/${s}/evaluate/examples`;return this.request("POST",e,t)}async postV1projectsEvaluateTraces(s,t){let e=this.baseUrl+`/v1/projects/${s}/evaluate/traces`;return this.request("POST",e,t)}async postV1projectsEvalQueueExamples(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-queue/examples`;return this.request("POST",e,t)}async postV1projectsEvalQueueTraces(s,t){let e=this.baseUrl+`/v1/projects/${s}/eval-queue/traces`;return this.request("POST",e,t)}async getV1projectsPromptsByName(s,t,e,o){let n=new URLSearchParams;if(e!==void 0)n.set("commit_id",e);if(o!==void 0)n.set("tag",o);let p=this.baseUrl+`/v1/projects/${s}/prompts/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",p,void 0)}async postV1projectsPrompts(s,t){let e=this.baseUrl+`/v1/projects/${s}/prompts`;return this.request("POST",e,t)}async postV1projectsPromptsByNameTags(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/prompts/${t}/tags`;return this.request("POST",o,e)}async deleteV1projectsPromptsByNameTags(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/prompts/${t}/tags`;return this.request("DELETE",o,e)}async getV1projectsPromptsByNameVersions(s,t){let e=this.baseUrl+`/v1/projects/${s}/prompts/${t}/versions`;return this.request("GET",e,void 0)}async getV1projectsScorers(s,t,e){let o=new URLSearchParams;if(t!==void 0)o.set("names",t);if(e!==void 0)o.set("is_trace",e);let n=this.baseUrl+`/v1/projects/${s}/scorers`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async getV1projectsScorersByNameExists(s,t){let e=this.baseUrl+`/v1/projects/${s}/scorers/${t}/exists`;return this.request("GET",e,void 0)}async postV1projectsScorersCustom(s){let t=this.baseUrl+`/v1/projects/${s}/scorers/custom`;return this.request("POST",t,{})}async postV1projectsScorersCustomBundle(s){let t=this.baseUrl+`/v1/projects/${s}/scorers/custom/bundle`;return this.request("POST",t,{})}async getV1projectsScorersCustomByNameExists(s,t){let e=this.baseUrl+`/v1/projects/${s}/scorers/custom/${t}/exists`;return this.request("GET",e,void 0)}async postV1projectsTracesByTraceIdTags(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/traces/${t}/tags`;return this.request("POST",o,e)}async getV1e2eFetchTraceByProjectNameByTraceId(s,t){let e=this.baseUrl+`/v1/e2e_fetch_trace/${s}/${t}`;return this.request("GET",e,void 0)}async getV1e2eTracesPerProject(s){let t=this.baseUrl+`/v1/e2e_traces_per_project/${s}`;return this.request("GET",t,void 0)}async postV1e2eFetchSpanScore(s){let t=this.baseUrl+"/v1/e2e_fetch_span_score/";return this.request("POST",t,s)}async postV1projectsJudges(s,t){let e=this.baseUrl+`/v1/projects/${s}/judges`;return this.request("POST",e,t)}async patchV1projectsJudgesByJudgeId(s,t,e){let o=this.baseUrl+`/v1/projects/${s}/judges/${t}`;return this.request("PATCH",o,e)}}function Ys(s){return new Promise((t)=>setTimeout(t,s))}async function Ws(s,t={}){let{maxRetries:e=3,backoff:o=()=>1000,onRetry:n}=t;for(let p=1;p<=e;p++)try{return await s()}catch(f){if(p===e)throw f;n?.(p,f),await Ys(o(p))}throw Error("retry: exhausted all attempts")}var ys=new Map,os=new Map;async function Ms(s,t){let e=`org:${s.getOrganizationId()}:project:${t}`,o=ys.get(e);if(o)return o;let n=os.get(e);if(n)return n;let p=(async()=>{m.info(`Resolving project ID for project: ${t}`);let f=await Ws(async()=>{let i=(await s.postV1projectsResolve({project_name:t})).project_id;if(!i)throw Error(`Project ID not found for project: ${t}`);return i},{maxRetries:3,backoff:(u)=>u*1000,onRetry:(u,i)=>{m.warning(`Failed to resolve project ID for '${t}' (attempt ${u}): ${String(i)}`)}});return m.info(`Resolved project ID: ${f}`),ys.set(e,f),f})();os.set(e,p);try{return await p}finally{os.delete(e)}}var Gs="1.2.1";var Zs=Gs;import{BatchSpanProcessor as lt}from"@opentelemetry/sdk-trace-base";var Xs=()=>!0;class X{_keyPredicate;constructor(s=Xs){this._keyPredicate=s}onStart(s,t){let e=l(t)?.getAllEntries()??[];for(let[o,n]of e)if(this._keyPredicate(o))s.setAttribute(o,n.value)}onEnd(s){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}function _(s){return`${s.traceId}:${s.spanId}`}function Tt(s){return s[0]===0&&s[1]===0}class N extends lt{tracer;_state=new Map;_spanFinalizers;_baggageProcessor;constructor(s,t,e){super(t,e);this.tracer=s,this._spanFinalizers=new FinalizationRegistry((o)=>{this._cleanupSpanState(o)}),this._baggageProcessor=new X}_cleanupSpanState(s){this._state.delete(s)}_registerSpan(s){let t=s.spanContext();if(!t.traceId||!t.spanId)return;let e=_(t);this._spanFinalizers.register(s,e)}stateSet(s,t,e){let o=_(s),n=this._state.get(o);if(!n)n=new Map,this._state.set(o,n);n.set(t,e)}stateGet(s,t,e){let o=_(s),n=this._state.get(o);if(!n?.has(t))return e;return n.get(t)}stateIncr(s,t){let e=_(s),o=this._state.get(e);if(!o)o=new Map,this._state.set(e,o);let n=o.get(t),p=typeof n==="number"?n:0;return o.set(t,p+1),p}stateAppend(s,t,e){let o=_(s),n=this._state.get(o);if(!n)n=new Map,this._state.set(o,n);let p=n.get(t),f=Array.isArray(p)?[...p,e]:[e];return n.set(t,f),f}_emitSpan(s,t=!1){let e=s.spanContext();if(!e.traceId)return;let o=this.stateIncr(e,"judgment.update_id"),n={...s.attributes,"judgment.update_id":o};if(t)delete n["judgment.pending_trace_eval"];let p=Object.create(s);Object.defineProperty(p,"attributes",{value:n,writable:!1});let f=Tt(s.endTime)?s.startTime:s.endTime;Object.defineProperty(p,"endTime",{value:f,writable:!1}),super.onEnd(p)}emitPartial(){r("JudgmentSpanProcessor.emitPartial",()=>{let s=C().getCurrentSpan();if(!s?.isRecording())return;let t=s.spanContext();if(!t.traceId)return;if(this.stateGet(t,"disable_partial_emit",!1))return;this._emitSpan(s,!0)})}onStart(s,t){r("JudgmentSpanProcessor.onStart",()=>{this._baggageProcessor.onStart(s,t),this._registerSpan(s)})}onEnd(s){r("JudgmentSpanProcessor.onEnd",()=>{let t=s.spanContext();if(!t.traceId){super.onEnd(s);return}let e=_(t);try{if(!this.stateGet(t,"cancelled",!1))this._emitSpan(s)}finally{this._cleanupSpanState(e)}})}}import{ROOT_CONTEXT as vt,SpanStatusCode as Ns,trace as Y}from"@opentelemetry/api";import{AsyncLocalStorage as Vt}from"async_hooks";var Ft="judgeval",z=new Vt;class zs{_provider;constructor(s){this._provider=s}startSpan(s,t,e){let o=e??this._provider.getCurrentContext();return this._provider._getDelegateTracer().startSpan(s,t,o)}startActiveSpan(s,...t){let e={},o=this._provider.getCurrentContext(),n;if(t.length===1)n=t[0];else if(t.length===2)e=t[0],n=t[1];else e=t[0],o=t[1],n=t[2];let p=this.startSpan(s,e,o);return this._provider.useSpan(p,!1,!1,!1,()=>n(p))}}class c{static _instance=null;_activeTracer=null;_proxyTracer;_tracers=new Set;constructor(){this._proxyTracer=new zs(this),Cs(this)}static getInstance(){return c._instance??=new c,c._instance}register(s){this._tracers.add(s)}deregister(s){this._tracers.delete(s)}setActive(s){let t=this.getCurrentSpan();if(t?.isRecording()){if(Y.getSpan(this.getCurrentContext())===t)return m.error("Cannot set_active() while a root span is active. Keeping existing tracer provider."),!1}return this.register(s),this._activeTracer=s,!0}getActiveTracer(){return this._activeTracer}getCurrentContext(){return z.getStore()?.ctx??vt}setSpan(s,t){return Y.setSpan(s,t)}wrapSpanContext(s){return Y.wrapSpanContext(s)}getCurrentSpan(){return Y.getSpan(this.getCurrentContext())}_getDelegateTracer(){let s=this._activeTracer;if(!s)return m.debug("No active tracer, returning NoOpTracer"),M;return s._tracerProvider.getTracer(Ft)}getTracer(s,t,e){return this._proxyTracer}addInstrumentation(s){m.warning("OpenTelemetry instrumentations are only supported by the Node entrypoint.")}useSpan(s,t,e,o,n){let p=this.getCurrentContext(),f=Y.setSpan(p,s);return z.run({ctx:f},()=>{try{let u=n();if(u instanceof Promise)return u.catch((i)=>{if(s.isRecording()){if(e)s.recordException(i);if(o){let d=i;s.setStatus({code:Ns.ERROR,message:`${d.name}: ${d.message}`})}}throw i}).finally(()=>{if(t)s.end()});if(t)s.end();return u}catch(u){if(s.isRecording()){if(e)s.recordException(u);if(o){let i=u;s.setStatus({code:Ns.ERROR,message:`${i.name}: ${i.message}`})}}if(t)s.end();throw u}})}attachContext(s){let t=z.getStore();if(t)t.ctx=s}withContext(s,t){return z.run({ctx:s},t)}async forceFlush(){let s=await Promise.allSettled(Array.from(this._tracers).map((t)=>t._tracerProvider.forceFlush()));for(let t of s)if(t.status==="rejected")m.error(`forceFlush failed: ${String(t.reason)}`)}async shutdown(){let s=await Promise.allSettled(Array.from(this._tracers).map((t)=>t._tracerProvider.shutdown()));for(let t of s)if(t.status==="rejected")m.error(`shutdown failed: ${String(t.reason)}`);this._activeTracer=null,this._tracers.clear()}}import{ExportResultCode as L}from"@opentelemetry/core";import{ProtobufTraceSerializer as Ot}from"@opentelemetry/otlp-transformer";class A{_endpoint;_apiKey;_organizationId;_projectId;constructor(s,t,e,o){this._endpoint=s;this._apiKey=t;this._organizationId=e;this._projectId=o}export(s,t){let e=Ot.serializeRequest(s);if(!e){t({code:L.SUCCESS});return}fetch(this._endpoint,{method:"POST",headers:{Authorization:`Bearer ${this._apiKey}`,"Content-Type":"application/x-protobuf","X-Organization-Id":this._organizationId,"X-Project-Id":this._projectId},body:e}).then(async(o)=>{if(o.ok){t({code:L.SUCCESS});return}let n=(await o.text().catch(()=>"")).slice(0,500);t({code:L.FAILED,error:Error(n?`OTLP export failed: ${o.status}: ${n}`:`OTLP export failed: ${o.status}`)})}).catch((o)=>{t({code:L.FAILED,error:o instanceof Error?o:Error(String(o))})})}shutdown(){return Promise.resolve()}}function k(s,t){if(!s)throw Error(`${t} is required for judgeval/workers Tracer.init`);return s}class ns extends R{_spanExporter=null;_spanProcessor=null;constructor(s,t,e,o,n,p,f,u,i){super(s,t,e,o,n,p,f,u,i,!0)}static async init(s){let t=k(s.apiKey,"apiKey"),e=k(s.organizationId,"organizationId"),o=k(s.apiUrl,"apiUrl"),n=s.serializer??q,p=new es(o,t,e),f=s.projectId;if(!f){let V=k(s.projectName,"projectName");try{f=await Ms(p,V)}catch(ps){throw Error(`Project '${V}' not found; cannot start judgeval/workers tracer: ${String(ps)}`)}}let i={"service.name":s.projectName??f,"telemetry.sdk.name":"judgeval","telemetry.sdk.version":Zs,"judgment.project_id":f};if(s.environment)i["deployment.environment"]=s.environment;if(s.resourceAttributes)Object.assign(i,s.resourceAttributes);let d=xt().merge(_t(i)),S=new ns(s.projectName??null,f,t,e,o,s.environment??null,n,new Ls({resource:d,sampler:s.sampler,spanLimits:s.spanLimits}),p),U=new Ls({resource:d,sampler:s.sampler,spanLimits:s.spanLimits,spanProcessors:[S.getSpanProcessor(),...s.spanProcessors??[]]});if(S._tracerProvider=U,c.getInstance().register(S),s.setActive??!0)S.setActive();return S}getSpanExporter(){if(this._spanExporter)return this._spanExporter;let s=this.apiUrl.endsWith("/")?this.apiUrl+"otel/v1/traces":this.apiUrl+"/otel/v1/traces";return this._spanExporter=new A(s,this.apiKey,this.organizationId,this.projectId),this._spanExporter}getSpanProcessor(){if(this._spanProcessor)return this._spanProcessor;return this._spanProcessor=new N(this,this.getSpanExporter()),this._spanProcessor}}export{B as wrapOpenAI,g as wrap,ws as propagation,cs as baggage,A as WorkerSpanExporter,ns as Tracer,N as JudgmentSpanProcessor,X as JudgmentBaggageSpanProcessor,O as JudgmentBaggagePropagator,R as BaseTracer,Xs as ALLOW_ALL_BAGGAGE_KEYS};
4
4
 
5
- //# debugId=89E216D3105A8A9C64756E2164756E21
5
+ //# debugId=2AF355154FC590C464756E2164756E21
6
6
  //# sourceMappingURL=index.mjs.map