judgeval 0.9.3 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- var{defineProperty:$,getOwnPropertyNames:Te,getOwnPropertyDescriptor:he}=Object,xe=Object.prototype.hasOwnProperty;var K=new WeakMap,ve=(e)=>{var t=K.get(e),s;if(t)return t;if(t=$({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Te(e).map((o)=>!xe.call(t,o)&&$(t,o,{get:()=>e[o],enumerable:!(s=he(e,o))||s.enumerable}));return K.set(e,t),t};var ge=(e,t)=>{for(var s in t)$(e,s,{get:t[s],enumerable:!0,configurable:!0,set:(o)=>t[s]=()=>o})};var Le={};ge(Le,{Tracer:()=>N,NoOpSpanExporter:()=>P,JudgmentTracerProvider:()=>R,JudgmentSpanExporter:()=>f,Judgeval:()=>A,BaseTracer:()=>p});module.exports=ve(Le);function I(e,t){let s=process.env[e];if(!s)return t??null;return s}var C=I("JUDGMENT_API_KEY"),G=I("JUDGMENT_ORG_ID"),j=I("JUDGMENT_API_URL","https://api.judgmentlabs.ai"),B=I("JUDGMENT_LOG_LEVEL","warn");class x{baseUrl;apiKey;organizationId;constructor(e,t,s){this.baseUrl=e,this.apiKey=t,this.organizationId=s}getBaseUrl(){return this.baseUrl}getApiKey(){return this.apiKey}getOrganizationId(){return this.organizationId}async request(e,t,s){let o=await fetch(t,{method:e,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,"X-Organization-Id":this.organizationId},body:s!==void 0?JSON.stringify(s):void 0});if(!o.ok){let n=await o.text();throw Error(`HTTP ${o.status}: ${n}`)}return o.json()}async postOtelV1traces(){let e=this.baseUrl+"/otel/v1/traces";return this.request("POST",e,{})}async postOtelTriggerRootSpanRules(e){let t=this.baseUrl+"/otel/trigger_root_span_rules";return this.request("POST",t,e)}async postV1projectsResolve(e){let t=this.baseUrl+"/v1/projects/resolve/";return this.request("POST",t,e)}async postV1projects(e){let t=this.baseUrl+"/v1/projects";return this.request("POST",t,e)}async deleteV1projects(e){let t=this.baseUrl+`/v1/projects/${e}`;return this.request("DELETE",t,{})}async postV1projectsDatasets(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("POST",s,t)}async getV1projectsDatasets(e){let t=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("GET",t,void 0)}async postV1projectsDatasetsByDatasetNameExamples(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/datasets/${t}/examples`;return this.request("POST",o,s)}async getV1projectsDatasetsByDatasetName(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvaluateExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/examples`;return this.request("POST",s,t)}async postV1projectsEvaluateTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/traces`;return this.request("POST",s,t)}async postV1projectsEvalResults(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results`;return this.request("POST",s,t)}async postV1projectsEvalResultsExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results/examples`;return this.request("POST",s,t)}async getV1projectsExperimentsByRunId(e,t){let s=this.baseUrl+`/v1/projects/${e}/experiments/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvalQueueExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/examples`;return this.request("POST",s,t)}async postV1projectsEvalQueueTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/traces`;return this.request("POST",s,t)}async getV1projectsPromptsByName(e,t,s,o){let n=new URLSearchParams;if(s!==void 0)n.set("commit_id",s);if(o!==void 0)n.set("tag",o);let i=this.baseUrl+`/v1/projects/${e}/prompts/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",i,void 0)}async postV1projectsPrompts(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts`;return this.request("POST",s,t)}async postV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("POST",o,s)}async deleteV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("DELETE",o,s)}async getV1projectsPromptsByNameVersions(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts/${t}/versions`;return this.request("GET",s,void 0)}async getV1projectsScorers(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("names",t);if(s!==void 0)o.set("is_trace",s);let n=this.baseUrl+`/v1/projects/${e}/scorers`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async getV1projectsScorersByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsScorersCustom(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom`;return this.request("POST",s,t)}async getV1projectsScorersCustomByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsTracesByTraceIdTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/traces/${t}/tags`;return this.request("POST",o,s)}async getV1e2eFetchTraceByProjectNameByTraceId(e,t){let s=this.baseUrl+`/v1/e2e_fetch_trace/${e}/${t}`;return this.request("GET",s,void 0)}async getV1e2eTracesPerProject(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("limit",t);if(s!==void 0)o.set("offset",s);let n=this.baseUrl+`/v1/e2e_traces_per_project/${e}`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async postV1e2eFetchSpanScore(e){let t=this.baseUrl+"/v1/e2e_fetch_span_score/";return this.request("POST",t,e)}}class A{internalClient;constructor(e={}){let t=e.apiKey??C,s=e.organizationId??G,o=e.apiUrl??j;if(!t)throw Error("API key is required");if(!s)throw Error("Organization ID is required");if(!o)throw Error("API URL is required");this.internalClient=new x(o,t,s)}static create(e={}){return new A(e)}}var y=require("@opentelemetry/api"),Ee=require("crypto");var Ue=/^([^(]+?)=>/,ye=/^[^(]*\(\s*([^)]*)\)/m,De=/,/,Ne=/^\s*(_?)(\S+?)\1\s*$/,Ie=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function Ce(e){return Function.prototype.toString.call(e)}function Ge(e){let t=Ce(e).replace(Ie,"");return t.match(Ue)||t.match(ye)}function ee(e){let t=Ge(e);if(!t||!t[1])return[];return t[1].split(De).map((s)=>{return s.replace(Ne,(n,i,l)=>l).trim()}).filter((s)=>s.length>0)}class r{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 currentLevel=r.Level.WARNING;static useColor=!0;static initialize(){if(!r.initialized){let e=process.env.JUDGMENT_NO_COLOR;r.useColor=!e&&process.stdout.isTTY;let t=B.toLowerCase();if(t){let s={debug:r.Level.DEBUG,info:r.Level.INFO,warning:r.Level.WARNING,warn:r.Level.WARNING,error:r.Level.ERROR,critical:r.Level.CRITICAL};r.currentLevel=s[t]??r.Level.WARNING}r.initialized=!0}}static setLevel(e){r.currentLevel=e}static setUseColor(e){r.useColor=e}static log(e,t){if(r.initialize(),e<r.currentLevel)return;let s=new Date().toISOString().replace("T"," ").substring(0,19),o=Object.keys(r.Level).find((l)=>r.Level[l]===e)??"UNKNOWN",n=`${s} - judgeval - ${o} - ${t}`;if(r.useColor)n=`${e===r.Level.DEBUG||e===r.Level.INFO?r.GRAY:e===r.Level.WARNING?r.YELLOW:r.RED}${n}${r.RESET}`;(e>=r.Level.ERROR?process.stderr:process.stdout).write(n+`
2
- `)}static debug(e){r.log(r.Level.DEBUG,e)}static info(e){r.log(r.Level.INFO,e)}static warning(e){r.log(r.Level.WARNING,e)}static warn(e){r.log(r.Level.WARNING,e)}static error(e){r.log(r.Level.ERROR,e)}static critical(e){r.log(r.Level.CRITICAL,e)}}var J;function je(e,t){if(typeof t==="bigint")return t.toString();if(typeof t==="object"&&t!==null){if(J.has(t))return"[Circular]";J.add(t)}return t}function q(e){try{let t=JSON.stringify(e);if(typeof t==="string")return t;return String(t)}catch{try{J=new WeakSet;let t=JSON.stringify(e,je);return typeof t==="string"?t:String(e)}catch(t){return r.error(`safeStringify failed: ${t}`),String(e)}}}function v(e,t){if(typeof e==="string"||typeof e==="number"||typeof e==="boolean")return e;return t(e)}var c=require("@opentelemetry/api"),pe=require("@opentelemetry/instrumentation"),ie=require("async_hooks");var S=require("@opentelemetry/api"),k=require("async_hooks"),te=!1,F=null,oe=new k.AsyncLocalStorage,O=new k.AsyncLocalStorage,se=S.context.active.bind(S.context),Ae=S.context.with.bind(S.context),qe=S.context.bind.bind(S.context);function V(){return oe.getStore()===!0}function ne(e){if(F=e,te)return;let t=S.context;t.active=()=>{if(!V())return se();let s=O.getStore();if(s)return s;return F?F():se()},t.with=(s,o,n,...i)=>{if(!V())return Ae(s,o,n,...i);return O.run(s,()=>o.apply(n,i))},t.bind=(s,o)=>{if(!V())return qe(s,o);if(typeof o!=="function")return o;let n=o;return(...i)=>O.run(s,()=>n(...i))},te=!0}function re(e,t){return oe.run(!0,()=>O.run(e,t))}var Oe="judgeval",Y=new ie.AsyncLocalStorage;class le{_provider;constructor(e){this._provider=e}startSpan(e,t,s){let o=s??this._provider.getCurrentContext();return this._provider._getDelegateTracer().startSpan(e,t,o)}startActiveSpan(e,...t){let s={},o=this._provider.getCurrentContext(),n;if(t.length===1)n=t[0];else if(t.length===2)s=t[0],n=t[1];else s=t[0],o=t[1],n=t[2];let i=this.startSpan(e,s,o);return this._provider.useSpan(i,!0,!0,!0,()=>n(i))}}class me{startSpan(){return c.trace.wrapSpanContext(c.INVALID_SPAN_CONTEXT)}startActiveSpan(e,...t){return(t.length===1?t[0]:t.length===2?t[1]:t[2])(this.startSpan())}}class R{static _instance=null;_activeTracer=null;_instrumentations=[];_noOpTracer;_proxyTracer;_tracers=new Set;constructor(){this._noOpTracer=new me,this._proxyTracer=new le(this),ne(()=>this.getCurrentContext())}static getInstance(){return R._instance??=new R,R._instance}static installAsGlobalTracerProvider(){let e=R.getInstance();return c.trace.setGlobalTracerProvider(e)}register(e){this._tracers.add(e)}deregister(e){this._tracers.delete(e)}setActive(e){let t=this.getCurrentSpan();if(t?.isRecording()){if(c.trace.getSpan(this.getCurrentContext())===t)return r.error("Cannot set_active() while a root span is active. Keeping existing tracer provider."),!1}return this.register(e),this._activeTracer=e,!0}getActiveTracer(){return this._activeTracer}getCurrentContext(){return Y.getStore()??c.context.active()}getCurrentSpan(){let e=this.getCurrentContext();return c.trace.getSpan(e)}hasActiveRootSpan(){if(!this.getCurrentSpan()?.isRecording())return!1;return!0}_getDelegateTracer(){let e=this._activeTracer;if(!e)return r.debug("No active tracer, returning NoOpTracer"),this._noOpTracer;return e._tracerProvider.getTracer(Oe)}getTracer(e,t,s){return this._proxyTracer}addInstrumentation(e){try{pe.registerInstrumentations({tracerProvider:this,instrumentations:[e]}),this._instrumentations.push(e)}catch(t){r.error(`Failed to add instrumentation: ${String(t)}`)}}useSpan(e,t,s,o,n){let i=this.getCurrentContext(),l=c.trace.setSpan(i,e);return Y.run(l,()=>re(l,()=>{try{let m=n();if(m instanceof Promise)return m.catch((u)=>{if(e.isRecording()){if(s)e.recordException(u);if(o){let _=u;e.setStatus({code:c.SpanStatusCode.ERROR,message:`${_.name}: ${_.message}`})}}throw u}).finally(()=>{if(t)e.end()});if(t)e.end();return m}catch(m){if(e.isRecording()){if(s)e.recordException(m);if(o){let u=m;e.setStatus({code:c.SpanStatusCode.ERROR,message:`${u.name}: ${u.message}`})}}if(t)e.end();throw m}}))}attachContext(e){Y.enterWith(e)}async forceFlush(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.forceFlush()))}async shutdown(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.shutdown())),this._activeTracer=null,this._tracers.clear()}}var g=Symbol.for("judgment.customer_id"),U=Symbol.for("judgment.session_id");var ue="judgeval";class p{projectName;projectId;apiKey;organizationId;apiUrl;environment;serializer;_tracerProvider;_client;_enableMonitoring;constructor(e,t,s,o,n,i,l,m,u,_){this.projectName=e,this.projectId=t,this.apiKey=s,this.organizationId=o,this.apiUrl=n,this.environment=i,this.serializer=l,this._tracerProvider=m,this._client=u,this._enableMonitoring=_}setActive(){return R.getInstance().setActive(this)}static _getProxyProvider(){return R.getInstance()}static _getSerializer(){return p._getProxyProvider().getActiveTracer()?.serializer??q}static _getCurrentTraceAndSpanId(){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return null;let s=t.spanContext();if(!s.traceId||!(s.traceFlags&1))return null;return[s.traceId,s.spanId]}static _emitPartial(){let e=p._getProxyProvider().getActiveTracer();if(!e)return;e.getSpanProcessor().emitPartial()}static getCurrentSpan(){return p._getProxyProvider().getCurrentSpan()}static async forceFlush(){await p._getProxyProvider().forceFlush()}static async shutdown(){await p._getProxyProvider().shutdown()}static registerOTELInstrumentation(e){p._getProxyProvider().addInstrumentation(e)}static getOTELTracer(){return p._getProxyProvider().getTracer(ue)}static startSpan(e,t){let s=p.getOTELTracer().startSpan(e,{attributes:t});return p._emitPartial(),s}static startActiveSpan(e,t,s){return p.getOTELTracer().startActiveSpan(e,{attributes:s},(o)=>{p._emitPartial();let n=t(o);if(n instanceof Promise)return n.finally(()=>{o.end()});return o.end(),n})}static span(e,t){return p.startActiveSpan(e,(s)=>{try{let o=t(s);if(o instanceof Promise)return o.catch((n)=>{throw s.setStatus({code:y.SpanStatusCode.ERROR,message:String(n)}),s.recordException(n),n});return o}catch(o){throw s.setStatus({code:y.SpanStatusCode.ERROR,message:String(o)}),s.recordException(o),o}})}static with(e,t){return p.span(e,t)}static observe(e,t="span",s,o=!0,n=!0,i=!1){let l=p._getProxyProvider(),m=(u)=>{let _=s??u.name;return(...h)=>{return l.getTracer(ue).startActiveSpan(_,(E)=>{if(t)E.setAttribute("judgment.span_kind",t);try{if(o)E.setAttribute("judgment.input",v(Me(u,h),p._getSerializer()));p._emitPartial();let d=u(...h);if(d instanceof Promise)return d.then((a)=>{if(n)E.setAttribute("judgment.output",v(a,p._getSerializer()));return a}).catch((a)=>{throw E.recordException(a),E.setStatus({code:y.SpanStatusCode.ERROR,message:String(a)}),a}).finally(()=>{E.end()});if(n)E.setAttribute("judgment.output",v(d,p._getSerializer()));return E.end(),d}catch(d){throw E.recordException(d),E.setStatus({code:y.SpanStatusCode.ERROR,message:String(d)}),E.end(),d}})}};if(!e)return m;return m(e)}static setSpanKind(e){if(!e)return;let t=p._getProxyProvider().getCurrentSpan();if(t?.isRecording())t.setAttribute("judgment.span_kind",e)}static setLLMSpan(){p.setSpanKind("llm")}static setToolSpan(){p.setSpanKind("tool")}static setGeneralSpan(){p.setSpanKind("span")}static setAttribute(e,t){let s=p._getProxyProvider().getCurrentSpan();if(!s?.isRecording())return;if(!e||t==null)return;s.setAttribute(e,v(t,p._getSerializer()))}static setAttributes(e){for(let[t,s]of Object.entries(e))p.setAttribute(t,s)}static setInput(e){p.setAttribute("judgment.input",e)}static setOutput(e){p.setAttribute("judgment.output",e)}static recordLLMMetadata(e){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return;if(typeof e.model==="string")t.setAttribute("judgment.llm.model",e.model);if(typeof e.provider==="string")t.setAttribute("judgment.llm.provider",e.provider);if(typeof e.non_cached_input_tokens==="number")t.setAttribute("judgment.usage.non_cached_input_tokens",e.non_cached_input_tokens);if(typeof e.output_tokens==="number")t.setAttribute("judgment.usage.output_tokens",e.output_tokens);if(typeof e.cache_read_input_tokens==="number")t.setAttribute("judgment.usage.cache_read_input_tokens",e.cache_read_input_tokens);if(typeof e.cache_creation_input_tokens==="number")t.setAttribute("judgment.usage.cache_creation_input_tokens",e.cache_creation_input_tokens);if(typeof e.total_cost_usd==="number")t.setAttribute("judgment.usage.total_cost_usd",e.total_cost_usd)}static setCustomerId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;s.setAttribute("judgment.customer_id",e);let o=t.getCurrentContext().setValue(g,e);t.attachContext(o)}static setSessionId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;let o=s.spanContext();if(!o.traceId||!(o.traceFlags&1))return;s.setAttribute("judgment.session_id",e);let n=t.getCurrentContext().setValue(U,e);t.attachContext(n)}static tag(e){if(!e||Array.isArray(e)&&e.length===0)return;let s=p._getProxyProvider().getActiveTracer();if(!s?.projectId||!s._client)return;let o=p._getCurrentTraceAndSpanId();if(!o)return;let[n]=o,i=Array.isArray(e)?e:[e];s._client.postV1projectsTracesByTraceIdTags(s.projectId,n,{tags:i}).catch((l)=>{r.error(`tag failed: ${String(l)}`)})}static _pendingEvals=new Map;static asyncEvaluate(e,t){let s=p._getProxyProvider(),o=s.getActiveTracer();if(!o){r.warning("asyncEvaluate: no active tracer");return}if(!o.projectId){r.warning("asyncEvaluate: no project configured");return}let n=s.getCurrentSpan();if(!n?.isRecording()){r.warning("asyncEvaluate: no active span");return}let i=n.spanContext(),l=`${i.traceId}:${i.spanId}`,m=p._pendingEvals.get(l)??[],u={project_id:o.projectId,eval_name:`async_evaluate_${e}_${m.length}`,judges:[{name:e}],examples:[{...t,example_id:Ee.randomUUID(),created_at:new Date().toISOString(),trace_id:i.traceId,span_id:i.spanId}],is_offline:!1,is_behavior:!1};m.push(u),p._pendingEvals.set(l,m),n.setAttribute("judgment.pending_trace_eval",JSON.stringify(m))}}function Me(e,t){try{let s=ee(e).map((n)=>n.replace(/^\.\.\./,"").split("=")[0].trim()).filter((n)=>n.length>0),o={};return s.forEach((n,i)=>{if(i<t.length)o[n]=t[i]}),o}catch{return{}}}var Re=require("@opentelemetry/exporter-trace-otlp-http");class f{_delegate;constructor(e,t,s,o){this._delegate=new Re.OTLPTraceExporter({url:e,headers:{Authorization:`Bearer ${t}`,"X-Organization-Id":s,"X-Project-Id":o}})}export(e,t){r.info(`Exported ${e.length} spans`),this._delegate?.export(e,t)}shutdown(){return this._delegate?.shutdown()??Promise.resolve()}forceFlush(){return this._delegate?.forceFlush()??Promise.resolve()}}var ce=require("@opentelemetry/core");class P extends f{constructor(){super("https://api.judgmentlabs.ai/otel/v1/traces","","","");this._delegate=null}export(e,t){t({code:ce.ExportResultCode.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}}var de=require("@opentelemetry/sdk-trace-base");var _e=[];function D(e){_e.push(e)}function M(){return _e.map((e)=>e())}class Q{onStart(e,t){let s=t.getValue(g);if(s)e.setAttribute("judgment.customer_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}D(()=>new Q);class H{onStart(e,t){let s=t.getValue(U);if(s)e.setAttribute("judgment.session_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}D(()=>new H);function w(e){return`${e.traceId}:${e.spanId}`}function we(e){return e[0]===0&&e[1]===0}class T extends de.BatchSpanProcessor{tracer;_internalAttributes=new Map;constructor(e,t,s){super(t,s);this.tracer=e}_cleanupSpanState(e){this._internalAttributes.delete(e)}setInternalAttribute(e,t,s){let o=w(e),n=this._internalAttributes.get(o);if(!n)n=new Map,this._internalAttributes.set(o,n);n.set(t,s)}getInternalAttribute(e,t,s=null){let o=w(e),n=this._internalAttributes.get(o);if(!n)return s;return n.has(t)?n.get(t):s}_emitSpan(e){let t=e.spanContext(),s=w(t),o=this._internalAttributes.get(s);if(!o)o=new Map,this._internalAttributes.set(s,o);let n=o.get("judgment.update_id")??0;o.set("judgment.update_id",n+1);let i={...e.attributes,"judgment.update_id":n},l=Object.create(e);Object.defineProperty(l,"attributes",{value:i,writable:!1});let m=we(e.endTime)?e.startTime:e.endTime;Object.defineProperty(l,"endTime",{value:m,writable:!1}),super.onEnd(l)}emitPartial(){let t=R.getInstance().getCurrentSpan();if(!t?.isRecording())return;if(this.getInternalAttribute(t.spanContext(),"disable_partial_emit",!1))return;this._emitSpan(t)}onStart(e,t){for(let s of M())s.onStart(e,t)}onEnd(e){for(let n of M())n.onEnd(e);let t=e.spanContext();if(!this.getInternalAttribute(t,"cancelled",!1))this._emitSpan(e);let o=w(t);this._cleanupSpanState(o)}}class b extends T{constructor(){super(null,new P)}onStart(e,t){}onEnd(e){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}emitPartial(){}setInternalAttribute(e,t,s){}getInternalAttribute(e,t,s=null){return s}}var L=require("@opentelemetry/resources"),Z=require("@opentelemetry/sdk-trace-node");var ae=new Map,X=new Map;async function Se(e,t){let s=`org:${e.getOrganizationId()}:project:${t}`,o=ae.get(s);if(o)return o;let n=X.get(s);if(n)return n;let i=(async()=>{r.info(`Resolving project ID for project: ${t}`);let m=(await e.postV1projectsResolve({project_name:t})).project_id;if(!m)throw Error(`Project ID not found for project: ${t}`);return r.info(`Resolved project ID: ${m}`),ae.set(s,m),m})();X.set(s,i);try{return await i}finally{X.delete(s)}}var fe="0.9.3";var Pe=fe;class N extends p{_spanExporter=null;_spanProcessor=null;constructor(e,t,s,o,n,i,l,m,u,_){super(e,t,s,o,n,i,l,m,u,_)}static async init(e={}){let t=e.apiKey??C,s=e.organizationId??G,o=e.apiUrl??j,n=e.projectName??null,i=e.serializer??q,l=!0;if(!n)r.warning("project_name not provided. Tracer will not export spans."),l=!1;if(!t)r.warning("api_key not provided. Tracer will not export spans."),l=!1;if(!s)r.warning("organization_id not provided. Tracer will not export spans."),l=!1;if(!o)r.warning("api_url not provided. Tracer will not export spans."),l=!1;let m=null,u=null;if(l&&n&&t&&s&&o){if(m=new x(o,t,s),u=await Se(m,n).catch(()=>null),!u)r.warning(`Project '${n}' not found. Tracer will not export spans.`),l=!1}let _={"service.name":n??"unknown","telemetry.sdk.name":"judgeval","telemetry.sdk.version":Pe};if(e.environment)_["deployment.environment"]=e.environment;if(e.resourceAttributes)Object.assign(_,e.resourceAttributes);let h=L.defaultResource().merge(L.resourceFromAttributes(_)),z=new Z.NodeTracerProvider({resource:h}),E=new N(n,u,t,s,o,e.environment??null,i,z,m,l);if(l){let a=new Z.NodeTracerProvider({resource:h,spanProcessors:[E.getSpanProcessor()]});E._tracerProvider=a}if(R.getInstance().register(E),e.setActive??!0)E.setActive();return E}getSpanExporter(){if(this._spanExporter)return this._spanExporter;if(!this._enableMonitoring||!this.projectId||!this.apiKey||!this.organizationId||!this.apiUrl)this._spanExporter=new P;else{let e=this.apiUrl.endsWith("/")?this.apiUrl+"otel/v1/traces":this.apiUrl+"/otel/v1/traces";this._spanExporter=new f(e,this.apiKey,this.organizationId,this.projectId)}return this._spanExporter}getSpanProcessor(){if(this._spanProcessor)return this._spanProcessor;if(!this._enableMonitoring)this._spanProcessor=new b;else this._spanProcessor=new T(this,this.getSpanExporter());return this._spanProcessor}}
1
+ var{defineProperty:$,getOwnPropertyNames:Pe,getOwnPropertyDescriptor:Te}=Object,xe=Object.prototype.hasOwnProperty;var K=new WeakMap,he=(e)=>{var t=K.get(e),s;if(t)return t;if(t=$({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Pe(e).map((o)=>!xe.call(t,o)&&$(t,o,{get:()=>e[o],enumerable:!(s=Te(e,o))||s.enumerable}));return K.set(e,t),t};var ve=(e,t)=>{for(var s in t)$(e,s,{get:t[s],enumerable:!0,configurable:!0,set:(o)=>t[s]=()=>o})};var Le={};ve(Le,{Tracer:()=>N,NoOpSpanExporter:()=>P,JudgmentTracerProvider:()=>R,JudgmentSpanExporter:()=>f,Judgeval:()=>A,BaseTracer:()=>p});module.exports=he(Le);function I(e,t){let s=process.env[e];if(!s)return t??null;return s}var C=I("JUDGMENT_API_KEY"),G=I("JUDGMENT_ORG_ID"),j=I("JUDGMENT_API_URL","https://api.judgmentlabs.ai"),B=I("JUDGMENT_LOG_LEVEL","warn");class h{baseUrl;apiKey;organizationId;constructor(e,t,s){this.baseUrl=e,this.apiKey=t,this.organizationId=s}getBaseUrl(){return this.baseUrl}getApiKey(){return this.apiKey}getOrganizationId(){return this.organizationId}async request(e,t,s){let o=await fetch(t,{method:e,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,"X-Organization-Id":this.organizationId},body:s!==void 0?JSON.stringify(s):void 0});if(!o.ok){let n=await o.text();throw Error(`HTTP ${o.status}: ${n}`)}return o.json()}async postOtelV1traces(){let e=this.baseUrl+"/otel/v1/traces";return this.request("POST",e,{})}async postOtelTriggerRootSpanRules(e){let t=this.baseUrl+"/otel/trigger_root_span_rules";return this.request("POST",t,e)}async postV1projectsResolve(e){let t=this.baseUrl+"/v1/projects/resolve/";return this.request("POST",t,e)}async postV1projects(e){let t=this.baseUrl+"/v1/projects";return this.request("POST",t,e)}async deleteV1projects(e){let t=this.baseUrl+`/v1/projects/${e}`;return this.request("DELETE",t,{})}async postV1projectsDatasets(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("POST",s,t)}async getV1projectsDatasets(e){let t=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("GET",t,void 0)}async postV1projectsDatasetsByDatasetNameExamples(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/datasets/${t}/examples`;return this.request("POST",o,s)}async getV1projectsDatasetsByDatasetName(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvaluateExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/examples`;return this.request("POST",s,t)}async postV1projectsEvaluateTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/traces`;return this.request("POST",s,t)}async postV1projectsEvalResults(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results`;return this.request("POST",s,t)}async postV1projectsEvalResultsExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results/examples`;return this.request("POST",s,t)}async getV1projectsExperimentsByRunId(e,t){let s=this.baseUrl+`/v1/projects/${e}/experiments/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvalQueueExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/examples`;return this.request("POST",s,t)}async postV1projectsEvalQueueTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/traces`;return this.request("POST",s,t)}async getV1projectsPromptsByName(e,t,s,o){let n=new URLSearchParams;if(s!==void 0)n.set("commit_id",s);if(o!==void 0)n.set("tag",o);let i=this.baseUrl+`/v1/projects/${e}/prompts/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",i,void 0)}async postV1projectsPrompts(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts`;return this.request("POST",s,t)}async postV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("POST",o,s)}async deleteV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("DELETE",o,s)}async getV1projectsPromptsByNameVersions(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts/${t}/versions`;return this.request("GET",s,void 0)}async getV1projectsScorers(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("names",t);if(s!==void 0)o.set("is_trace",s);let n=this.baseUrl+`/v1/projects/${e}/scorers`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async getV1projectsScorersByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsScorersCustom(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom`;return this.request("POST",s,t)}async getV1projectsScorersCustomByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsTracesByTraceIdTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/traces/${t}/tags`;return this.request("POST",o,s)}async getV1e2eFetchTraceByProjectNameByTraceId(e,t){let s=this.baseUrl+`/v1/e2e_fetch_trace/${e}/${t}`;return this.request("GET",s,void 0)}async getV1e2eTracesPerProject(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("limit",t);if(s!==void 0)o.set("offset",s);let n=this.baseUrl+`/v1/e2e_traces_per_project/${e}`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async postV1e2eFetchSpanScore(e){let t=this.baseUrl+"/v1/e2e_fetch_span_score/";return this.request("POST",t,e)}}class A{internalClient;constructor(e={}){let t=e.apiKey??C,s=e.organizationId??G,o=e.apiUrl??j;if(!t)throw Error("API key is required");if(!s)throw Error("Organization ID is required");if(!o)throw Error("API URL is required");this.internalClient=new h(o,t,s)}static create(e={}){return new A(e)}}var y=require("@opentelemetry/api"),ue=require("crypto");var ge=/^([^(]+?)=>/,Ue=/^[^(]*\(\s*([^)]*)\)/m,ye=/,/,De=/^\s*(_?)(\S+?)\1\s*$/,Ne=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function Ie(e){return Function.prototype.toString.call(e)}function Ce(e){let t=Ie(e).replace(Ne,"");return t.match(ge)||t.match(Ue)}function ee(e){let t=Ce(e);if(!t||!t[1])return[];return t[1].split(ye).map((s)=>{return s.replace(De,(n,i,l)=>l).trim()}).filter((s)=>s.length>0)}class r{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 currentLevel=r.Level.WARNING;static useColor=!0;static initialize(){if(!r.initialized){let e=process.env.JUDGMENT_NO_COLOR;r.useColor=!e&&process.stdout.isTTY;let t=B.toLowerCase();if(t){let s={debug:r.Level.DEBUG,info:r.Level.INFO,warning:r.Level.WARNING,warn:r.Level.WARNING,error:r.Level.ERROR,critical:r.Level.CRITICAL};r.currentLevel=s[t]??r.Level.WARNING}r.initialized=!0}}static setLevel(e){r.currentLevel=e}static setUseColor(e){r.useColor=e}static log(e,t){if(r.initialize(),e<r.currentLevel)return;let s=new Date().toISOString().replace("T"," ").substring(0,19),o=Object.keys(r.Level).find((l)=>r.Level[l]===e)??"UNKNOWN",n=`${s} - judgeval - ${o} - ${t}`;if(r.useColor)n=`${e===r.Level.DEBUG||e===r.Level.INFO?r.GRAY:e===r.Level.WARNING?r.YELLOW:r.RED}${n}${r.RESET}`;(e>=r.Level.ERROR?process.stderr:process.stdout).write(n+`
2
+ `)}static debug(e){r.log(r.Level.DEBUG,e)}static info(e){r.log(r.Level.INFO,e)}static warning(e){r.log(r.Level.WARNING,e)}static warn(e){r.log(r.Level.WARNING,e)}static error(e){r.log(r.Level.ERROR,e)}static critical(e){r.log(r.Level.CRITICAL,e)}}var J;function Ge(e,t){if(typeof t==="bigint")return t.toString();if(typeof t==="object"&&t!==null){if(J.has(t))return"[Circular]";J.add(t)}return t}function q(e){try{let t=JSON.stringify(e);if(typeof t==="string")return t;return String(t)}catch{try{J=new WeakSet;let t=JSON.stringify(e,Ge);return typeof t==="string"?t:String(e)}catch(t){return r.error(`safeStringify failed: ${t}`),String(e)}}}function v(e,t){if(typeof e==="string"||typeof e==="number"||typeof e==="boolean")return e;return t(e)}var c=require("@opentelemetry/api"),re=require("@opentelemetry/instrumentation"),pe=require("async_hooks");var d=require("@opentelemetry/api"),k=require("async_hooks"),te=!1,F=null,se=new k.AsyncLocalStorage,O=new k.AsyncLocalStorage,je=d.context.active.bind(d.context),Ae=d.context.with.bind(d.context),qe=d.context.bind.bind(d.context);function V(){return se.getStore()===!0}function oe(e){if(F=e,te)return;let t=d.context;t.active=()=>{if(!V())return je();let s=O.getStore();if(s)return s;return F?F():d.ROOT_CONTEXT},t.with=(s,o,n,...i)=>{if(!V())return Ae(s,o,n,...i);return O.run(s,()=>o.apply(n,i))},t.bind=(s,o)=>{if(!V())return qe(s,o);if(typeof o!=="function")return o;let n=o;return(...i)=>O.run(s,()=>n(...i))},te=!0}function ne(e,t){return se.run(!0,()=>O.run(e,t))}var Oe="judgeval",Y=new pe.AsyncLocalStorage;class ie{_provider;constructor(e){this._provider=e}startSpan(e,t,s){let o=s??this._provider.getCurrentContext();return this._provider._getDelegateTracer().startSpan(e,t,o)}startActiveSpan(e,...t){let s={},o=this._provider.getCurrentContext(),n;if(t.length===1)n=t[0];else if(t.length===2)s=t[0],n=t[1];else s=t[0],o=t[1],n=t[2];let i=this.startSpan(e,s,o);return this._provider.useSpan(i,!0,!0,!0,()=>n(i))}}class le{startSpan(){return c.trace.wrapSpanContext(c.INVALID_SPAN_CONTEXT)}startActiveSpan(e,...t){return(t.length===1?t[0]:t.length===2?t[1]:t[2])(this.startSpan())}}class R{static _instance=null;_activeTracer=null;_instrumentations=[];_noOpTracer;_proxyTracer;_tracers=new Set;constructor(){this._noOpTracer=new le,this._proxyTracer=new ie(this),oe(()=>this.getCurrentContext())}static getInstance(){return R._instance??=new R,R._instance}static installAsGlobalTracerProvider(){let e=R.getInstance();return c.trace.setGlobalTracerProvider(e)}register(e){this._tracers.add(e)}deregister(e){this._tracers.delete(e)}setActive(e){let t=this.getCurrentSpan();if(t?.isRecording()){if(c.trace.getSpan(this.getCurrentContext())===t)return r.error("Cannot set_active() while a root span is active. Keeping existing tracer provider."),!1}return this.register(e),this._activeTracer=e,!0}getActiveTracer(){return this._activeTracer}getCurrentContext(){return Y.getStore()??c.ROOT_CONTEXT}getCurrentSpan(){let e=this.getCurrentContext();return c.trace.getSpan(e)}hasActiveRootSpan(){if(!this.getCurrentSpan()?.isRecording())return!1;return!0}_getDelegateTracer(){let e=this._activeTracer;if(!e)return r.debug("No active tracer, returning NoOpTracer"),this._noOpTracer;return e._tracerProvider.getTracer(Oe)}getTracer(e,t,s){return this._proxyTracer}addInstrumentation(e){try{re.registerInstrumentations({tracerProvider:this,instrumentations:[e]}),this._instrumentations.push(e)}catch(t){r.error(`Failed to add instrumentation: ${String(t)}`)}}useSpan(e,t,s,o,n){let i=this.getCurrentContext(),l=c.trace.setSpan(i,e);return Y.run(l,()=>ne(l,()=>{try{let m=n();if(m instanceof Promise)return m.catch((u)=>{if(e.isRecording()){if(s)e.recordException(u);if(o){let _=u;e.setStatus({code:c.SpanStatusCode.ERROR,message:`${_.name}: ${_.message}`})}}throw u}).finally(()=>{if(t)e.end()});if(t)e.end();return m}catch(m){if(e.isRecording()){if(s)e.recordException(m);if(o){let u=m;e.setStatus({code:c.SpanStatusCode.ERROR,message:`${u.name}: ${u.message}`})}}if(t)e.end();throw m}}))}attachContext(e){Y.enterWith(e)}async forceFlush(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.forceFlush()))}async shutdown(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.shutdown())),this._activeTracer=null,this._tracers.clear()}}var g=Symbol.for("judgment.customer_id"),U=Symbol.for("judgment.session_id");var me="judgeval";class p{projectName;projectId;apiKey;organizationId;apiUrl;environment;serializer;_tracerProvider;_client;_enableMonitoring;constructor(e,t,s,o,n,i,l,m,u,_){this.projectName=e,this.projectId=t,this.apiKey=s,this.organizationId=o,this.apiUrl=n,this.environment=i,this.serializer=l,this._tracerProvider=m,this._client=u,this._enableMonitoring=_}setActive(){return R.getInstance().setActive(this)}static _getProxyProvider(){return R.getInstance()}static _getSerializer(){return p._getProxyProvider().getActiveTracer()?.serializer??q}static _getCurrentTraceAndSpanId(){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return null;let s=t.spanContext();if(!s.traceId||!(s.traceFlags&1))return null;return[s.traceId,s.spanId]}static _emitPartial(){let e=p._getProxyProvider().getActiveTracer();if(!e)return;e.getSpanProcessor().emitPartial()}static getCurrentSpan(){return p._getProxyProvider().getCurrentSpan()}static async forceFlush(){await p._getProxyProvider().forceFlush()}static async shutdown(){await p._getProxyProvider().shutdown()}static registerOTELInstrumentation(e){p._getProxyProvider().addInstrumentation(e)}static getOTELTracer(){return p._getProxyProvider().getTracer(me)}static startSpan(e,t){let s=p.getOTELTracer().startSpan(e,{attributes:t});return p._emitPartial(),s}static startActiveSpan(e,t,s){return p.getOTELTracer().startActiveSpan(e,{attributes:s},(o)=>{p._emitPartial();let n=t(o);if(n instanceof Promise)return n.finally(()=>{o.end()});return o.end(),n})}static span(e,t){return p.startActiveSpan(e,(s)=>{try{let o=t(s);if(o instanceof Promise)return o.catch((n)=>{throw s.setStatus({code:y.SpanStatusCode.ERROR,message:String(n)}),s.recordException(n),n});return o}catch(o){throw s.setStatus({code:y.SpanStatusCode.ERROR,message:String(o)}),s.recordException(o),o}})}static with(e,t){return p.span(e,t)}static observe(e,t="span",s,o=!0,n=!0,i=!1){let l=p._getProxyProvider(),m=(u)=>{let _=s??u.name;return(...x)=>{return l.getTracer(me).startActiveSpan(_,(E)=>{if(t)E.setAttribute("judgment.span_kind",t);try{if(o)E.setAttribute("judgment.input",v(Me(u,x),p._getSerializer()));p._emitPartial();let a=u(...x);if(a instanceof Promise)return a.then((S)=>{if(n)E.setAttribute("judgment.output",v(S,p._getSerializer()));return S}).catch((S)=>{throw E.recordException(S),E.setStatus({code:y.SpanStatusCode.ERROR,message:String(S)}),S}).finally(()=>{E.end()});if(n)E.setAttribute("judgment.output",v(a,p._getSerializer()));return E.end(),a}catch(a){throw E.recordException(a),E.setStatus({code:y.SpanStatusCode.ERROR,message:String(a)}),E.end(),a}})}};if(!e)return m;return m(e)}static setSpanKind(e){if(!e)return;let t=p._getProxyProvider().getCurrentSpan();if(t?.isRecording())t.setAttribute("judgment.span_kind",e)}static setLLMSpan(){p.setSpanKind("llm")}static setToolSpan(){p.setSpanKind("tool")}static setGeneralSpan(){p.setSpanKind("span")}static setAttribute(e,t){let s=p._getProxyProvider().getCurrentSpan();if(!s?.isRecording())return;if(!e||t==null)return;s.setAttribute(e,v(t,p._getSerializer()))}static setAttributes(e){for(let[t,s]of Object.entries(e))p.setAttribute(t,s)}static setInput(e){p.setAttribute("judgment.input",e)}static setOutput(e){p.setAttribute("judgment.output",e)}static recordLLMMetadata(e){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return;if(typeof e.model==="string")t.setAttribute("judgment.llm.model",e.model);if(typeof e.provider==="string")t.setAttribute("judgment.llm.provider",e.provider);if(typeof e.non_cached_input_tokens==="number")t.setAttribute("judgment.usage.non_cached_input_tokens",e.non_cached_input_tokens);if(typeof e.output_tokens==="number")t.setAttribute("judgment.usage.output_tokens",e.output_tokens);if(typeof e.cache_read_input_tokens==="number")t.setAttribute("judgment.usage.cache_read_input_tokens",e.cache_read_input_tokens);if(typeof e.cache_creation_input_tokens==="number")t.setAttribute("judgment.usage.cache_creation_input_tokens",e.cache_creation_input_tokens);if(typeof e.total_cost_usd==="number")t.setAttribute("judgment.usage.total_cost_usd",e.total_cost_usd)}static setCustomerId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;s.setAttribute("judgment.customer_id",e);let o=t.getCurrentContext().setValue(g,e);t.attachContext(o)}static setSessionId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;let o=s.spanContext();if(!o.traceId||!(o.traceFlags&1))return;s.setAttribute("judgment.session_id",e);let n=t.getCurrentContext().setValue(U,e);t.attachContext(n)}static tag(e){if(!e||Array.isArray(e)&&e.length===0)return;let s=p._getProxyProvider().getActiveTracer();if(!s?.projectId||!s._client)return;let o=p._getCurrentTraceAndSpanId();if(!o)return;let[n]=o,i=Array.isArray(e)?e:[e];s._client.postV1projectsTracesByTraceIdTags(s.projectId,n,{tags:i}).catch((l)=>{r.error(`tag failed: ${String(l)}`)})}static _pendingEvals=new Map;static asyncEvaluate(e,t){let s=p._getProxyProvider(),o=s.getActiveTracer();if(!o){r.warning("asyncEvaluate: no active tracer");return}if(!o.projectId){r.warning("asyncEvaluate: no project configured");return}let n=s.getCurrentSpan();if(!n?.isRecording()){r.warning("asyncEvaluate: no active span");return}let i=n.spanContext(),l=`${i.traceId}:${i.spanId}`,m=p._pendingEvals.get(l)??[],u={project_id:o.projectId,eval_name:`async_evaluate_${e}_${m.length}`,judges:[{name:e}],examples:[{...t,example_id:ue.randomUUID(),created_at:new Date().toISOString(),trace_id:i.traceId,span_id:i.spanId}],is_offline:!1,is_behavior:!1};m.push(u),p._pendingEvals.set(l,m),n.setAttribute("judgment.pending_trace_eval",JSON.stringify(m))}}function Me(e,t){try{let s=ee(e).map((n)=>n.replace(/^\.\.\./,"").split("=")[0].trim()).filter((n)=>n.length>0),o={};return s.forEach((n,i)=>{if(i<t.length)o[n]=t[i]}),o}catch{return{}}}var Ee=require("@opentelemetry/exporter-trace-otlp-http");class f{_delegate;constructor(e,t,s,o){this._delegate=new Ee.OTLPTraceExporter({url:e,headers:{Authorization:`Bearer ${t}`,"X-Organization-Id":s,"X-Project-Id":o}})}export(e,t){r.info(`Exported ${e.length} spans`),this._delegate?.export(e,t)}shutdown(){return this._delegate?.shutdown()??Promise.resolve()}forceFlush(){return this._delegate?.forceFlush()??Promise.resolve()}}var Re=require("@opentelemetry/core");class P extends f{constructor(){super("https://api.judgmentlabs.ai/otel/v1/traces","","","");this._delegate=null}export(e,t){t({code:Re.ExportResultCode.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}}var _e=require("@opentelemetry/sdk-trace-base");var ce=[];function D(e){ce.push(e)}function M(){return ce.map((e)=>e())}class Q{onStart(e,t){let s=t.getValue(g);if(s)e.setAttribute("judgment.customer_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}D(()=>new Q);class H{onStart(e,t){let s=t.getValue(U);if(s)e.setAttribute("judgment.session_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}D(()=>new H);function w(e){return`${e.traceId}:${e.spanId}`}function we(e){return e[0]===0&&e[1]===0}class T extends _e.BatchSpanProcessor{tracer;_internalAttributes=new Map;constructor(e,t,s){super(t,s);this.tracer=e}_cleanupSpanState(e){this._internalAttributes.delete(e)}setInternalAttribute(e,t,s){let o=w(e),n=this._internalAttributes.get(o);if(!n)n=new Map,this._internalAttributes.set(o,n);n.set(t,s)}getInternalAttribute(e,t,s=null){let o=w(e),n=this._internalAttributes.get(o);if(!n)return s;return n.has(t)?n.get(t):s}_emitSpan(e){let t=e.spanContext(),s=w(t),o=this._internalAttributes.get(s);if(!o)o=new Map,this._internalAttributes.set(s,o);let n=o.get("judgment.update_id")??0;o.set("judgment.update_id",n+1);let i={...e.attributes,"judgment.update_id":n},l=Object.create(e);Object.defineProperty(l,"attributes",{value:i,writable:!1});let m=we(e.endTime)?e.startTime:e.endTime;Object.defineProperty(l,"endTime",{value:m,writable:!1}),super.onEnd(l)}emitPartial(){let t=R.getInstance().getCurrentSpan();if(!t?.isRecording())return;if(this.getInternalAttribute(t.spanContext(),"disable_partial_emit",!1))return;this._emitSpan(t)}onStart(e,t){for(let s of M())s.onStart(e,t)}onEnd(e){for(let n of M())n.onEnd(e);let t=e.spanContext();if(!this.getInternalAttribute(t,"cancelled",!1))this._emitSpan(e);let o=w(t);this._cleanupSpanState(o)}}class b extends T{constructor(){super(null,new P)}onStart(e,t){}onEnd(e){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}emitPartial(){}setInternalAttribute(e,t,s){}getInternalAttribute(e,t,s=null){return s}}var L=require("@opentelemetry/resources"),Z=require("@opentelemetry/sdk-trace-node");var de=new Map,X=new Map;async function ae(e,t){let s=`org:${e.getOrganizationId()}:project:${t}`,o=de.get(s);if(o)return o;let n=X.get(s);if(n)return n;let i=(async()=>{r.info(`Resolving project ID for project: ${t}`);let m=(await e.postV1projectsResolve({project_name:t})).project_id;if(!m)throw Error(`Project ID not found for project: ${t}`);return r.info(`Resolved project ID: ${m}`),de.set(s,m),m})();X.set(s,i);try{return await i}finally{X.delete(s)}}var Se="0.9.4";var fe=Se;class N extends p{_spanExporter=null;_spanProcessor=null;constructor(e,t,s,o,n,i,l,m,u,_){super(e,t,s,o,n,i,l,m,u,_)}static async init(e={}){let t=e.apiKey??C,s=e.organizationId??G,o=e.apiUrl??j,n=e.projectName??null,i=e.serializer??q,l=!0;if(!n)r.warning("project_name not provided. Tracer will not export spans."),l=!1;if(!t)r.warning("api_key not provided. Tracer will not export spans."),l=!1;if(!s)r.warning("organization_id not provided. Tracer will not export spans."),l=!1;if(!o)r.warning("api_url not provided. Tracer will not export spans."),l=!1;let m=null,u=null;if(l&&n&&t&&s&&o){if(m=new h(o,t,s),u=await ae(m,n).catch(()=>null),!u)r.warning(`Project '${n}' not found. Tracer will not export spans.`),l=!1}let _={"service.name":n??"unknown","telemetry.sdk.name":"judgeval","telemetry.sdk.version":fe};if(e.environment)_["deployment.environment"]=e.environment;if(e.resourceAttributes)Object.assign(_,e.resourceAttributes);let x=L.defaultResource().merge(L.resourceFromAttributes(_)),z=new Z.NodeTracerProvider({resource:x}),E=new N(n,u,t,s,o,e.environment??null,i,z,m,l);if(l){let S=new Z.NodeTracerProvider({resource:x,spanProcessors:[E.getSpanProcessor()]});E._tracerProvider=S}if(R.getInstance().register(E),e.setActive??!0)E.setActive();return E}getSpanExporter(){if(this._spanExporter)return this._spanExporter;if(!this._enableMonitoring||!this.projectId||!this.apiKey||!this.organizationId||!this.apiUrl)this._spanExporter=new P;else{let e=this.apiUrl.endsWith("/")?this.apiUrl+"otel/v1/traces":this.apiUrl+"/otel/v1/traces";this._spanExporter=new f(e,this.apiKey,this.organizationId,this.projectId)}return this._spanExporter}getSpanProcessor(){if(this._spanProcessor)return this._spanProcessor;if(!this._enableMonitoring)this._spanProcessor=new b;else this._spanProcessor=new T(this,this.getSpanExporter());return this._spanProcessor}}
3
3
 
4
- //# debugId=57BEA594B633BC4564756E2164756E21
4
+ //# debugId=55BDD4DADB8412CF64756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map
@@ -9,8 +9,8 @@
9
9
  "/* eslint-disable */\n/// Adopted from https://github.com/angular/angular.js/blob/master/src/auto/injector.js\n\nconst ARROW_ARG = /^([^(]+?)=>/;\nconst FN_ARGS = /^[^(]*\\(\\s*([^)]*)\\)/m;\nconst FN_ARG_SPLIT = /,/;\nconst FN_ARG = /^\\s*(_?)(\\S+?)\\1\\s*$/;\nconst STRIP_COMMENTS = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/gm;\n\nfunction stringifyFn(fn: Function): string {\n return Function.prototype.toString.call(fn);\n}\n\nfunction extractArgs(fn: Function): RegExpMatchArray | null {\n const fnText = stringifyFn(fn).replace(STRIP_COMMENTS, \"\");\n return fnText.match(ARROW_ARG) || fnText.match(FN_ARGS);\n}\n\nexport function parseFunctionArgs(fn: Function): string[] {\n const args = extractArgs(fn);\n if (!args || !args[1]) {\n return [];\n }\n\n return args[1]\n .split(FN_ARG_SPLIT)\n .map((arg) => {\n const match = arg.replace(FN_ARG, (all, underscore, name) => name);\n return match.trim();\n })\n .filter((name) => name.length > 0);\n}\n",
10
10
  "import { JUDGMENT_LOG_LEVEL } from \"../env\";\n\nexport class Logger {\n private static readonly RESET = \"\\x1b[0m\";\n private static readonly RED = \"\\x1b[31m\";\n private static readonly YELLOW = \"\\x1b[33m\";\n private static readonly GRAY = \"\\x1b[90m\";\n\n public static Level = {\n DEBUG: 0,\n INFO: 1,\n WARNING: 2,\n ERROR: 3,\n CRITICAL: 4,\n } as const;\n\n private static initialized = false;\n private static currentLevel: number = Logger.Level.WARNING;\n private static useColor = true;\n\n private static initialize(): void {\n if (!Logger.initialized) {\n const noColor = process.env.JUDGMENT_NO_COLOR;\n Logger.useColor = !noColor && process.stdout.isTTY;\n\n const logLevel = JUDGMENT_LOG_LEVEL.toLowerCase();\n if (logLevel) {\n const levelMap: Record<string, number> = {\n debug: Logger.Level.DEBUG,\n info: Logger.Level.INFO,\n warning: Logger.Level.WARNING,\n warn: Logger.Level.WARNING,\n error: Logger.Level.ERROR,\n critical: Logger.Level.CRITICAL,\n };\n Logger.currentLevel = levelMap[logLevel] ?? Logger.Level.WARNING;\n }\n\n Logger.initialized = true;\n }\n }\n\n public static setLevel(level: number): void {\n Logger.currentLevel = level;\n }\n\n public static setUseColor(useColor: boolean): void {\n Logger.useColor = useColor;\n }\n\n private static log(level: number, message: string): void {\n Logger.initialize();\n\n if (level < Logger.currentLevel) {\n return;\n }\n\n const timestamp = new Date()\n .toISOString()\n .replace(\"T\", \" \")\n .substring(0, 19);\n const levelName =\n Object.keys(Logger.Level).find(\n (key) => Logger.Level[key as keyof typeof Logger.Level] === level,\n ) ?? \"UNKNOWN\";\n let formattedMessage = `${timestamp} - judgeval - ${levelName} - ${message}`;\n\n if (Logger.useColor) {\n const color =\n level === Logger.Level.DEBUG || level === Logger.Level.INFO\n ? Logger.GRAY\n : level === Logger.Level.WARNING\n ? Logger.YELLOW\n : Logger.RED;\n formattedMessage = `${color}${formattedMessage}${Logger.RESET}`;\n }\n\n const output =\n level >= Logger.Level.ERROR ? process.stderr : process.stdout;\n output.write(formattedMessage + \"\\n\");\n }\n\n public static debug(message: string): void {\n Logger.log(Logger.Level.DEBUG, message);\n }\n\n public static info(message: string): void {\n Logger.log(Logger.Level.INFO, message);\n }\n\n public static warning(message: string): void {\n Logger.log(Logger.Level.WARNING, message);\n }\n\n public static warn(message: string): void {\n Logger.log(Logger.Level.WARNING, message);\n }\n\n public static error(message: string): void {\n Logger.log(Logger.Level.ERROR, message);\n }\n\n public static critical(message: string): void {\n Logger.log(Logger.Level.CRITICAL, message);\n }\n}\n",
11
11
  "import { Logger } from \"./logger\";\n\nexport type Serializer = (obj: unknown) => string;\n\nlet seen: WeakSet<object>;\n\nfunction safeReplacer(this: unknown, _key: string, value: unknown): unknown {\n if (typeof value === \"bigint\") return value.toString();\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) return \"[Circular]\";\n seen.add(value);\n }\n return value;\n}\n\nexport function safeStringify(obj: unknown): string {\n try {\n const result = JSON.stringify(obj);\n if (typeof result === \"string\") return result;\n return String(result);\n } catch {\n try {\n seen = new WeakSet<object>();\n const result = JSON.stringify(obj, safeReplacer);\n return typeof result === \"string\" ? result : String(obj);\n } catch (e) {\n Logger.error(`safeStringify failed: ${e}`);\n return String(obj);\n }\n }\n}\n\n/**\n * Serializes an attribute to an \"Attribute\" compatible value. Primitives are returned as is, objects are serialized using the provided serializer.\n *\n * @param value - The value to serialize.\n * @param serializer - The serializer to use.\n * @returns A string, number, or boolean value.\n */\nexport function serializeAttribute(\n value: unknown,\n serializer: Serializer,\n): string | number | boolean {\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n return serializer(value);\n}\n",
12
- "import {\n INVALID_SPAN_CONTEXT,\n context as otelContext,\n SpanStatusCode,\n trace,\n type Context,\n type Span,\n type SpanOptions,\n type Tracer,\n type TracerProvider,\n} from \"@opentelemetry/api\";\nimport {\n registerInstrumentations,\n type Instrumentation,\n} from \"@opentelemetry/instrumentation\";\nimport { AsyncLocalStorage } from \"async_hooks\";\nimport { Logger } from \"../utils/logger\";\nimport type { BaseTracer } from \"./BaseTracer\";\nimport {\n installOtelContextBridge,\n runWithOtelBridgeGate,\n} from \"./instrumentation/OtelContextBridge\";\n\nconst TRACER_NAME = \"judgeval\";\n\nconst _contextStorage = new AsyncLocalStorage<Context>();\n\nclass ProxyTracer implements Tracer {\n private _provider: JudgmentTracerProvider;\n\n constructor(provider: JudgmentTracerProvider) {\n this._provider = provider;\n }\n\n startSpan(name: string, options?: SpanOptions, context?: Context): Span {\n const ctx = context ?? this._provider.getCurrentContext();\n const delegate = this._provider._getDelegateTracer();\n return delegate.startSpan(name, options, ctx);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n let options: SpanOptions = {};\n let context: Context = this._provider.getCurrentContext();\n let fn: F;\n\n if (args.length === 1) {\n fn = args[0];\n } else if (args.length === 2) {\n options = args[0];\n fn = args[1];\n } else {\n options = args[0];\n context = args[1];\n fn = args[2];\n }\n\n const span = this.startSpan(name, options, context);\n return this._provider.useSpan(span, true, true, true, () =>\n fn(span),\n ) as ReturnType<F>;\n }\n}\n\nclass NoOpTracer implements Tracer {\n startSpan(): Span {\n return trace.wrapSpanContext(INVALID_SPAN_CONTEXT);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n _name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n const fn =\n args.length === 1 ? args[0] : args.length === 2 ? args[1] : args[2];\n return fn(this.startSpan()) as ReturnType<F>;\n }\n}\n\nexport class JudgmentTracerProvider implements TracerProvider {\n private static _instance: JudgmentTracerProvider | null = null;\n\n private _activeTracer: BaseTracer | null = null;\n private _instrumentations: Instrumentation[] = [];\n private _noOpTracer: NoOpTracer;\n private _proxyTracer: ProxyTracer;\n private _tracers = new Set<BaseTracer>();\n\n private constructor() {\n this._noOpTracer = new NoOpTracer();\n this._proxyTracer = new ProxyTracer(this);\n installOtelContextBridge(() => this.getCurrentContext());\n }\n\n static getInstance(): JudgmentTracerProvider {\n JudgmentTracerProvider._instance ??= new JudgmentTracerProvider();\n return JudgmentTracerProvider._instance;\n }\n\n /**\n * Install the JudgmentTracerProvider as the global tracer provider.\n * This generally does not need to be called - Judgeval automatically uses this for all its observability functionality.\n * Only use this if you specifically want to override the global tracer provider, which will enable all Opentelemetry captured instrumentations to flow through judgeval.\n * @returns True if the installation was successful, false otherwise.\n */\n static installAsGlobalTracerProvider(): boolean {\n const instance = JudgmentTracerProvider.getInstance();\n return trace.setGlobalTracerProvider(instance);\n }\n\n register(tracer: BaseTracer): void {\n this._tracers.add(tracer);\n }\n\n deregister(tracer: BaseTracer): void {\n this._tracers.delete(tracer);\n }\n\n setActive(tracer: BaseTracer): boolean {\n const currentSpan = this.getCurrentSpan();\n if (currentSpan?.isRecording()) {\n if (trace.getSpan(this.getCurrentContext()) === currentSpan) {\n Logger.error(\n \"Cannot set_active() while a root span is active. Keeping existing tracer provider.\",\n );\n return false;\n }\n }\n this.register(tracer);\n this._activeTracer = tracer;\n return true;\n }\n\n getActiveTracer(): BaseTracer | null {\n return this._activeTracer;\n }\n\n getCurrentContext(): Context {\n return _contextStorage.getStore() ?? otelContext.active();\n }\n\n getCurrentSpan(): Span | undefined {\n const ctx = this.getCurrentContext();\n return trace.getSpan(ctx);\n }\n\n hasActiveRootSpan(): boolean {\n const currentSpan = this.getCurrentSpan();\n if (!currentSpan?.isRecording()) return false;\n return true;\n }\n\n _getDelegateTracer(): Tracer {\n const tracer = this._activeTracer;\n if (!tracer) {\n Logger.debug(\"No active tracer, returning NoOpTracer\");\n return this._noOpTracer;\n }\n return tracer._tracerProvider.getTracer(TRACER_NAME);\n }\n\n getTracer(\n _instrumentingModuleName: string,\n _instrumentingLibraryVersion?: string,\n _options?: { schemaUrl?: string },\n ): Tracer {\n return this._proxyTracer;\n }\n\n addInstrumentation(instrumentor: Instrumentation): void {\n try {\n registerInstrumentations({\n tracerProvider: this,\n instrumentations: [instrumentor],\n });\n this._instrumentations.push(instrumentor);\n } catch (err: unknown) {\n Logger.error(`Failed to add instrumentation: ${String(err)}`);\n }\n }\n\n useSpan<T>(\n span: Span,\n endOnExit: boolean,\n recordException: boolean,\n setStatusOnException: boolean,\n fn: () => T,\n ): T {\n const prevCtx = this.getCurrentContext();\n const ctx = trace.setSpan(prevCtx, span);\n return _contextStorage.run(ctx, () =>\n runWithOtelBridgeGate(ctx, () => {\n try {\n const result = fn();\n if (result instanceof Promise) {\n return result\n .catch((exc: unknown) => {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n throw exc;\n })\n .finally(() => {\n if (endOnExit) span.end();\n }) as T;\n }\n if (endOnExit) span.end();\n return result;\n } catch (exc) {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n if (endOnExit) span.end();\n throw exc;\n }\n }),\n );\n }\n\n attachContext(ctx: Context): void {\n _contextStorage.enterWith(ctx);\n }\n\n async forceFlush(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.forceFlush()),\n );\n }\n\n async shutdown(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.shutdown()),\n );\n this._activeTracer = null;\n this._tracers.clear();\n }\n}\n",
13
- "import { context as otelContext, type Context } from \"@opentelemetry/api\";\nimport { AsyncLocalStorage } from \"async_hooks\";\n\ntype OTelContextApi = typeof otelContext;\n\nlet installed = false;\nlet getJudgmentContext: (() => Context) | null = null;\n\nconst gateStorage = new AsyncLocalStorage<boolean>();\nconst bridgeContextStorage = new AsyncLocalStorage<Context>();\n\nconst originalActive = otelContext.active.bind(otelContext);\nconst originalWith = otelContext.with.bind(otelContext);\nconst originalBind = otelContext.bind.bind(otelContext);\n\nfunction isGateEnabled(): boolean {\n return gateStorage.getStore() === true;\n}\n\nexport function installOtelContextBridge(\n getCurrentJudgmentContext: () => Context,\n): void {\n getJudgmentContext = getCurrentJudgmentContext;\n if (installed) return;\n\n const api = otelContext as OTelContextApi & {\n active: () => Context;\n with: <A extends unknown[], F extends (...args: A) => ReturnType<F>>(\n context: Context,\n fn: F,\n thisArg?: ThisParameterType<F>,\n ...args: A\n ) => ReturnType<F>;\n bind: <T>(context: Context, target: T) => T;\n };\n\n api.active = (): Context => {\n if (!isGateEnabled()) return originalActive();\n const bridged = bridgeContextStorage.getStore();\n if (bridged) return bridged;\n return getJudgmentContext ? getJudgmentContext() : originalActive();\n };\n\n api.with = (contextValue, fn, thisArg, ...args) => {\n if (!isGateEnabled())\n return originalWith(contextValue, fn, thisArg, ...args);\n return bridgeContextStorage.run(contextValue, () =>\n fn.apply(thisArg, args),\n );\n };\n\n api.bind = (contextValue, target) => {\n if (!isGateEnabled()) return originalBind(contextValue, target);\n if (typeof target !== \"function\") return target;\n const fn = target as unknown as (...args: unknown[]) => unknown;\n return ((...args: unknown[]) =>\n bridgeContextStorage.run(contextValue, () =>\n fn(...args),\n )) as typeof target;\n };\n\n installed = true;\n}\n\nexport function runWithOtelBridgeGate<T>(ctx: Context, fn: () => T): T {\n return gateStorage.run(true, () => bridgeContextStorage.run(ctx, fn));\n}\n",
12
+ "import {\n INVALID_SPAN_CONTEXT,\n ROOT_CONTEXT,\n SpanStatusCode,\n trace,\n type Context,\n type Span,\n type SpanOptions,\n type Tracer,\n type TracerProvider,\n} from \"@opentelemetry/api\";\nimport {\n registerInstrumentations,\n type Instrumentation,\n} from \"@opentelemetry/instrumentation\";\nimport { AsyncLocalStorage } from \"async_hooks\";\nimport { Logger } from \"../utils/logger\";\nimport type { BaseTracer } from \"./BaseTracer\";\nimport {\n installOtelContextBridge,\n runWithOtelBridgeGate,\n} from \"./instrumentation/OtelContextBridge\";\n\nconst TRACER_NAME = \"judgeval\";\n\nconst _contextStorage = new AsyncLocalStorage<Context>();\n\nclass ProxyTracer implements Tracer {\n private _provider: JudgmentTracerProvider;\n\n constructor(provider: JudgmentTracerProvider) {\n this._provider = provider;\n }\n\n startSpan(name: string, options?: SpanOptions, context?: Context): Span {\n const ctx = context ?? this._provider.getCurrentContext();\n const delegate = this._provider._getDelegateTracer();\n return delegate.startSpan(name, options, ctx);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n let options: SpanOptions = {};\n let context: Context = this._provider.getCurrentContext();\n let fn: F;\n\n if (args.length === 1) {\n fn = args[0];\n } else if (args.length === 2) {\n options = args[0];\n fn = args[1];\n } else {\n options = args[0];\n context = args[1];\n fn = args[2];\n }\n\n const span = this.startSpan(name, options, context);\n return this._provider.useSpan(span, true, true, true, () =>\n fn(span),\n ) as ReturnType<F>;\n }\n}\n\nclass NoOpTracer implements Tracer {\n startSpan(): Span {\n return trace.wrapSpanContext(INVALID_SPAN_CONTEXT);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n _name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n const fn =\n args.length === 1 ? args[0] : args.length === 2 ? args[1] : args[2];\n return fn(this.startSpan()) as ReturnType<F>;\n }\n}\n\nexport class JudgmentTracerProvider implements TracerProvider {\n private static _instance: JudgmentTracerProvider | null = null;\n\n private _activeTracer: BaseTracer | null = null;\n private _instrumentations: Instrumentation[] = [];\n private _noOpTracer: NoOpTracer;\n private _proxyTracer: ProxyTracer;\n private _tracers = new Set<BaseTracer>();\n\n private constructor() {\n this._noOpTracer = new NoOpTracer();\n this._proxyTracer = new ProxyTracer(this);\n installOtelContextBridge(() => this.getCurrentContext());\n }\n\n static getInstance(): JudgmentTracerProvider {\n JudgmentTracerProvider._instance ??= new JudgmentTracerProvider();\n return JudgmentTracerProvider._instance;\n }\n\n /**\n * Install the JudgmentTracerProvider as the global tracer provider.\n * This generally does not need to be called - Judgeval automatically uses this for all its observability functionality.\n * Only use this if you specifically want to override the global tracer provider, which will enable all Opentelemetry captured instrumentations to flow through judgeval.\n * @returns True if the installation was successful, false otherwise.\n */\n static installAsGlobalTracerProvider(): boolean {\n const instance = JudgmentTracerProvider.getInstance();\n return trace.setGlobalTracerProvider(instance);\n }\n\n register(tracer: BaseTracer): void {\n this._tracers.add(tracer);\n }\n\n deregister(tracer: BaseTracer): void {\n this._tracers.delete(tracer);\n }\n\n setActive(tracer: BaseTracer): boolean {\n const currentSpan = this.getCurrentSpan();\n if (currentSpan?.isRecording()) {\n if (trace.getSpan(this.getCurrentContext()) === currentSpan) {\n Logger.error(\n \"Cannot set_active() while a root span is active. Keeping existing tracer provider.\",\n );\n return false;\n }\n }\n this.register(tracer);\n this._activeTracer = tracer;\n return true;\n }\n\n getActiveTracer(): BaseTracer | null {\n return this._activeTracer;\n }\n\n getCurrentContext(): Context {\n return _contextStorage.getStore() ?? ROOT_CONTEXT;\n }\n\n getCurrentSpan(): Span | undefined {\n const ctx = this.getCurrentContext();\n return trace.getSpan(ctx);\n }\n\n hasActiveRootSpan(): boolean {\n const currentSpan = this.getCurrentSpan();\n if (!currentSpan?.isRecording()) return false;\n return true;\n }\n\n _getDelegateTracer(): Tracer {\n const tracer = this._activeTracer;\n if (!tracer) {\n Logger.debug(\"No active tracer, returning NoOpTracer\");\n return this._noOpTracer;\n }\n return tracer._tracerProvider.getTracer(TRACER_NAME);\n }\n\n getTracer(\n _instrumentingModuleName: string,\n _instrumentingLibraryVersion?: string,\n _options?: { schemaUrl?: string },\n ): Tracer {\n return this._proxyTracer;\n }\n\n addInstrumentation(instrumentor: Instrumentation): void {\n try {\n registerInstrumentations({\n tracerProvider: this,\n instrumentations: [instrumentor],\n });\n this._instrumentations.push(instrumentor);\n } catch (err: unknown) {\n Logger.error(`Failed to add instrumentation: ${String(err)}`);\n }\n }\n\n useSpan<T>(\n span: Span,\n endOnExit: boolean,\n recordException: boolean,\n setStatusOnException: boolean,\n fn: () => T,\n ): T {\n const prevCtx = this.getCurrentContext();\n const ctx = trace.setSpan(prevCtx, span);\n return _contextStorage.run(ctx, () =>\n runWithOtelBridgeGate(ctx, () => {\n try {\n const result = fn();\n if (result instanceof Promise) {\n return result\n .catch((exc: unknown) => {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n throw exc;\n })\n .finally(() => {\n if (endOnExit) span.end();\n }) as T;\n }\n if (endOnExit) span.end();\n return result;\n } catch (exc) {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n if (endOnExit) span.end();\n throw exc;\n }\n }),\n );\n }\n\n attachContext(ctx: Context): void {\n _contextStorage.enterWith(ctx);\n }\n\n async forceFlush(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.forceFlush()),\n );\n }\n\n async shutdown(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.shutdown()),\n );\n this._activeTracer = null;\n this._tracers.clear();\n }\n}\n",
13
+ "import {\n ROOT_CONTEXT,\n context as otelContext,\n type Context,\n} from \"@opentelemetry/api\";\nimport { AsyncLocalStorage } from \"async_hooks\";\n\ntype OTelContextApi = typeof otelContext;\n\nlet installed = false;\nlet getJudgmentContext: (() => Context) | null = null;\n\nconst gateStorage = new AsyncLocalStorage<boolean>();\nconst bridgeContextStorage = new AsyncLocalStorage<Context>();\n\nconst originalActive = otelContext.active.bind(otelContext);\nconst originalWith = otelContext.with.bind(otelContext);\nconst originalBind = otelContext.bind.bind(otelContext);\n\nfunction isGateEnabled(): boolean {\n return gateStorage.getStore() === true;\n}\n\nexport function installOtelContextBridge(\n getCurrentJudgmentContext: () => Context,\n): void {\n getJudgmentContext = getCurrentJudgmentContext;\n if (installed) return;\n\n const api = otelContext as OTelContextApi & {\n active: () => Context;\n with: <A extends unknown[], F extends (...args: A) => ReturnType<F>>(\n context: Context,\n fn: F,\n thisArg?: ThisParameterType<F>,\n ...args: A\n ) => ReturnType<F>;\n bind: <T>(context: Context, target: T) => T;\n };\n\n api.active = (): Context => {\n if (!isGateEnabled()) return originalActive();\n const bridged = bridgeContextStorage.getStore();\n if (bridged) return bridged;\n return getJudgmentContext ? getJudgmentContext() : ROOT_CONTEXT;\n };\n\n api.with = (contextValue, fn, thisArg, ...args) => {\n if (!isGateEnabled())\n return originalWith(contextValue, fn, thisArg, ...args);\n return bridgeContextStorage.run(contextValue, () =>\n fn.apply(thisArg, args),\n );\n };\n\n api.bind = (contextValue, target) => {\n if (!isGateEnabled()) return originalBind(contextValue, target);\n if (typeof target !== \"function\") return target;\n const fn = target as unknown as (...args: unknown[]) => unknown;\n return ((...args: unknown[]) =>\n bridgeContextStorage.run(contextValue, () =>\n fn(...args),\n )) as typeof target;\n };\n\n installed = true;\n}\n\nexport function runWithOtelBridgeGate<T>(ctx: Context, fn: () => T): T {\n return gateStorage.run(true, () => bridgeContextStorage.run(ctx, fn));\n}\n",
14
14
  "export const CUSTOMER_ID_KEY = Symbol.for(\"judgment.customer_id\");\nexport const SESSION_ID_KEY = Symbol.for(\"judgment.session_id\");\n",
15
15
  "import type { ExportResult } from \"@opentelemetry/core\";\nimport { OTLPTraceExporter } from \"@opentelemetry/exporter-trace-otlp-http\";\nimport type { ReadableSpan, SpanExporter } from \"@opentelemetry/sdk-trace-base\";\nimport { Logger } from \"../../utils/logger\";\n\nexport class JudgmentSpanExporter implements SpanExporter {\n protected _delegate: OTLPTraceExporter | null;\n\n constructor(\n endpoint: string,\n apiKey: string,\n organizationId: string,\n projectId: string,\n ) {\n this._delegate = new OTLPTraceExporter({\n url: endpoint,\n headers: {\n Authorization: `Bearer ${apiKey}`,\n \"X-Organization-Id\": organizationId,\n \"X-Project-Id\": projectId,\n },\n });\n }\n\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void,\n ): void {\n Logger.info(`Exported ${spans.length} spans`);\n this._delegate?.export(spans, resultCallback);\n }\n\n shutdown(): Promise<void> {\n return this._delegate?.shutdown() ?? Promise.resolve();\n }\n\n forceFlush(): Promise<void> {\n return this._delegate?.forceFlush() ?? Promise.resolve();\n }\n}\n",
16
16
  "import { ExportResultCode, type ExportResult } from \"@opentelemetry/core\";\nimport type { ReadableSpan } from \"@opentelemetry/sdk-trace-base\";\nimport { JudgmentSpanExporter } from \"./JudgmentSpanExporter\";\n\nexport class NoOpSpanExporter extends JudgmentSpanExporter {\n constructor() {\n // Not used.\n super(\"https://api.judgmentlabs.ai/otel/v1/traces\", \"\", \"\", \"\");\n this._delegate = null;\n }\n\n override export(\n _spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void,\n ): void {\n resultCallback({ code: ExportResultCode.SUCCESS });\n }\n\n override shutdown(): Promise<void> {\n return Promise.resolve();\n }\n\n override forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n}\n",
@@ -23,7 +23,7 @@
23
23
  "import type { JudgmentApiClient } from \"../internal/api\";\nimport { Logger } from \"./logger\";\n\nconst cache = new Map<string, string>();\nconst inflight = new Map<string, Promise<string>>();\n\nexport async function resolveProjectId(\n client: JudgmentApiClient,\n projectName: string,\n): Promise<string> {\n const cacheKey = `org:${client.getOrganizationId()}:project:${projectName}`;\n const cached = cache.get(cacheKey);\n if (cached) {\n return cached;\n }\n const pending = inflight.get(cacheKey);\n if (pending) {\n return pending;\n }\n const request = (async (): Promise<string> => {\n Logger.info(`Resolving project ID for project: ${projectName}`);\n const response = await client.postV1projectsResolve({\n project_name: projectName,\n });\n const projectId = response.project_id;\n if (!projectId) {\n throw new Error(`Project ID not found for project: ${projectName}`);\n }\n Logger.info(`Resolved project ID: ${projectId}`);\n cache.set(cacheKey, projectId);\n return projectId;\n })();\n inflight.set(cacheKey, request);\n try {\n return await request;\n } finally {\n inflight.delete(cacheKey);\n }\n}\n",
24
24
  "import { version } from \"../package.json\" with { type: \"json\" };\n\nexport const VERSION = version;\n"
25
25
  ],
26
- "mappings": "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",
27
- "debugId": "57BEA594B633BC4564756E2164756E21",
26
+ "mappings": "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",
27
+ "debugId": "55BDD4DADB8412CF64756E2164756E21",
28
28
  "names": []
29
29
  }
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- function D(e,t){let s=process.env[e];if(!s)return t??null;return s}var N=D("JUDGMENT_API_KEY"),I=D("JUDGMENT_ORG_ID"),C=D("JUDGMENT_API_URL","https://api.judgmentlabs.ai"),H=D("JUDGMENT_LOG_LEVEL","warn");class h{baseUrl;apiKey;organizationId;constructor(e,t,s){this.baseUrl=e,this.apiKey=t,this.organizationId=s}getBaseUrl(){return this.baseUrl}getApiKey(){return this.apiKey}getOrganizationId(){return this.organizationId}async request(e,t,s){let o=await fetch(t,{method:e,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,"X-Organization-Id":this.organizationId},body:s!==void 0?JSON.stringify(s):void 0});if(!o.ok){let n=await o.text();throw Error(`HTTP ${o.status}: ${n}`)}return o.json()}async postOtelV1traces(){let e=this.baseUrl+"/otel/v1/traces";return this.request("POST",e,{})}async postOtelTriggerRootSpanRules(e){let t=this.baseUrl+"/otel/trigger_root_span_rules";return this.request("POST",t,e)}async postV1projectsResolve(e){let t=this.baseUrl+"/v1/projects/resolve/";return this.request("POST",t,e)}async postV1projects(e){let t=this.baseUrl+"/v1/projects";return this.request("POST",t,e)}async deleteV1projects(e){let t=this.baseUrl+`/v1/projects/${e}`;return this.request("DELETE",t,{})}async postV1projectsDatasets(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("POST",s,t)}async getV1projectsDatasets(e){let t=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("GET",t,void 0)}async postV1projectsDatasetsByDatasetNameExamples(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/datasets/${t}/examples`;return this.request("POST",o,s)}async getV1projectsDatasetsByDatasetName(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvaluateExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/examples`;return this.request("POST",s,t)}async postV1projectsEvaluateTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/traces`;return this.request("POST",s,t)}async postV1projectsEvalResults(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results`;return this.request("POST",s,t)}async postV1projectsEvalResultsExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results/examples`;return this.request("POST",s,t)}async getV1projectsExperimentsByRunId(e,t){let s=this.baseUrl+`/v1/projects/${e}/experiments/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvalQueueExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/examples`;return this.request("POST",s,t)}async postV1projectsEvalQueueTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/traces`;return this.request("POST",s,t)}async getV1projectsPromptsByName(e,t,s,o){let n=new URLSearchParams;if(s!==void 0)n.set("commit_id",s);if(o!==void 0)n.set("tag",o);let i=this.baseUrl+`/v1/projects/${e}/prompts/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",i,void 0)}async postV1projectsPrompts(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts`;return this.request("POST",s,t)}async postV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("POST",o,s)}async deleteV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("DELETE",o,s)}async getV1projectsPromptsByNameVersions(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts/${t}/versions`;return this.request("GET",s,void 0)}async getV1projectsScorers(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("names",t);if(s!==void 0)o.set("is_trace",s);let n=this.baseUrl+`/v1/projects/${e}/scorers`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async getV1projectsScorersByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsScorersCustom(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom`;return this.request("POST",s,t)}async getV1projectsScorersCustomByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsTracesByTraceIdTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/traces/${t}/tags`;return this.request("POST",o,s)}async getV1e2eFetchTraceByProjectNameByTraceId(e,t){let s=this.baseUrl+`/v1/e2e_fetch_trace/${e}/${t}`;return this.request("GET",s,void 0)}async getV1e2eTracesPerProject(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("limit",t);if(s!==void 0)o.set("offset",s);let n=this.baseUrl+`/v1/e2e_traces_per_project/${e}`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async postV1e2eFetchSpanScore(e){let t=this.baseUrl+"/v1/e2e_fetch_span_score/";return this.request("POST",t,e)}}class b{internalClient;constructor(e={}){let t=e.apiKey??N,s=e.organizationId??I,o=e.apiUrl??C;if(!t)throw Error("API key is required");if(!s)throw Error("Organization ID is required");if(!o)throw Error("API URL is required");this.internalClient=new h(o,t,s)}static create(e={}){return new b(e)}}import{SpanStatusCode as A}from"@opentelemetry/api";import{randomUUID as De}from"crypto";var Re=/^([^(]+?)=>/,ce=/^[^(]*\(\s*([^)]*)\)/m,_e=/,/,de=/^\s*(_?)(\S+?)\1\s*$/,ae=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function Se(e){return Function.prototype.toString.call(e)}function fe(e){let t=Se(e).replace(ae,"");return t.match(Re)||t.match(ce)}function X(e){let t=fe(e);if(!t||!t[1])return[];return t[1].split(_e).map((s)=>{return s.replace(de,(n,i,l)=>l).trim()}).filter((s)=>s.length>0)}class r{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 currentLevel=r.Level.WARNING;static useColor=!0;static initialize(){if(!r.initialized){let e=process.env.JUDGMENT_NO_COLOR;r.useColor=!e&&process.stdout.isTTY;let t=H.toLowerCase();if(t){let s={debug:r.Level.DEBUG,info:r.Level.INFO,warning:r.Level.WARNING,warn:r.Level.WARNING,error:r.Level.ERROR,critical:r.Level.CRITICAL};r.currentLevel=s[t]??r.Level.WARNING}r.initialized=!0}}static setLevel(e){r.currentLevel=e}static setUseColor(e){r.useColor=e}static log(e,t){if(r.initialize(),e<r.currentLevel)return;let s=new Date().toISOString().replace("T"," ").substring(0,19),o=Object.keys(r.Level).find((l)=>r.Level[l]===e)??"UNKNOWN",n=`${s} - judgeval - ${o} - ${t}`;if(r.useColor)n=`${e===r.Level.DEBUG||e===r.Level.INFO?r.GRAY:e===r.Level.WARNING?r.YELLOW:r.RED}${n}${r.RESET}`;(e>=r.Level.ERROR?process.stderr:process.stdout).write(n+`
2
- `)}static debug(e){r.log(r.Level.DEBUG,e)}static info(e){r.log(r.Level.INFO,e)}static warning(e){r.log(r.Level.WARNING,e)}static warn(e){r.log(r.Level.WARNING,e)}static error(e){r.log(r.Level.ERROR,e)}static critical(e){r.log(r.Level.CRITICAL,e)}}var L;function Pe(e,t){if(typeof t==="bigint")return t.toString();if(typeof t==="object"&&t!==null){if(L.has(t))return"[Circular]";L.add(t)}return t}function G(e){try{let t=JSON.stringify(e);if(typeof t==="string")return t;return String(t)}catch{try{L=new WeakSet;let t=JSON.stringify(e,Pe);return typeof t==="string"?t:String(e)}catch(t){return r.error(`safeStringify failed: ${t}`),String(e)}}}function x(e,t){if(typeof e==="string"||typeof e==="number"||typeof e==="boolean")return e;return t(e)}import{INVALID_SPAN_CONTEXT as xe,context as ve,SpanStatusCode as se,trace as v}from"@opentelemetry/api";import{registerInstrumentations as ge}from"@opentelemetry/instrumentation";import{AsyncLocalStorage as Ue}from"async_hooks";import{context as a}from"@opentelemetry/api";import{AsyncLocalStorage as K}from"async_hooks";var Z=!1,$=null,B=new K,j=new K,z=a.active.bind(a),Te=a.with.bind(a),he=a.bind.bind(a);function J(){return B.getStore()===!0}function ee(e){if($=e,Z)return;let t=a;t.active=()=>{if(!J())return z();let s=j.getStore();if(s)return s;return $?$():z()},t.with=(s,o,n,...i)=>{if(!J())return Te(s,o,n,...i);return j.run(s,()=>o.apply(n,i))},t.bind=(s,o)=>{if(!J())return he(s,o);if(typeof o!=="function")return o;let n=o;return(...i)=>j.run(s,()=>n(...i))},Z=!0}function te(e,t){return B.run(!0,()=>j.run(e,t))}var ye="judgeval",F=new Ue;class oe{_provider;constructor(e){this._provider=e}startSpan(e,t,s){let o=s??this._provider.getCurrentContext();return this._provider._getDelegateTracer().startSpan(e,t,o)}startActiveSpan(e,...t){let s={},o=this._provider.getCurrentContext(),n;if(t.length===1)n=t[0];else if(t.length===2)s=t[0],n=t[1];else s=t[0],o=t[1],n=t[2];let i=this.startSpan(e,s,o);return this._provider.useSpan(i,!0,!0,!0,()=>n(i))}}class ne{startSpan(){return v.wrapSpanContext(xe)}startActiveSpan(e,...t){return(t.length===1?t[0]:t.length===2?t[1]:t[2])(this.startSpan())}}class R{static _instance=null;_activeTracer=null;_instrumentations=[];_noOpTracer;_proxyTracer;_tracers=new Set;constructor(){this._noOpTracer=new ne,this._proxyTracer=new oe(this),ee(()=>this.getCurrentContext())}static getInstance(){return R._instance??=new R,R._instance}static installAsGlobalTracerProvider(){let e=R.getInstance();return v.setGlobalTracerProvider(e)}register(e){this._tracers.add(e)}deregister(e){this._tracers.delete(e)}setActive(e){let t=this.getCurrentSpan();if(t?.isRecording()){if(v.getSpan(this.getCurrentContext())===t)return r.error("Cannot set_active() while a root span is active. Keeping existing tracer provider."),!1}return this.register(e),this._activeTracer=e,!0}getActiveTracer(){return this._activeTracer}getCurrentContext(){return F.getStore()??ve.active()}getCurrentSpan(){let e=this.getCurrentContext();return v.getSpan(e)}hasActiveRootSpan(){if(!this.getCurrentSpan()?.isRecording())return!1;return!0}_getDelegateTracer(){let e=this._activeTracer;if(!e)return r.debug("No active tracer, returning NoOpTracer"),this._noOpTracer;return e._tracerProvider.getTracer(ye)}getTracer(e,t,s){return this._proxyTracer}addInstrumentation(e){try{ge({tracerProvider:this,instrumentations:[e]}),this._instrumentations.push(e)}catch(t){r.error(`Failed to add instrumentation: ${String(t)}`)}}useSpan(e,t,s,o,n){let i=this.getCurrentContext(),l=v.setSpan(i,e);return F.run(l,()=>te(l,()=>{try{let m=n();if(m instanceof Promise)return m.catch((u)=>{if(e.isRecording()){if(s)e.recordException(u);if(o){let c=u;e.setStatus({code:se.ERROR,message:`${c.name}: ${c.message}`})}}throw u}).finally(()=>{if(t)e.end()});if(t)e.end();return m}catch(m){if(e.isRecording()){if(s)e.recordException(m);if(o){let u=m;e.setStatus({code:se.ERROR,message:`${u.name}: ${u.message}`})}}if(t)e.end();throw m}}))}attachContext(e){F.enterWith(e)}async forceFlush(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.forceFlush()))}async shutdown(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.shutdown())),this._activeTracer=null,this._tracers.clear()}}var g=Symbol.for("judgment.customer_id"),U=Symbol.for("judgment.session_id");var re="judgeval";class p{projectName;projectId;apiKey;organizationId;apiUrl;environment;serializer;_tracerProvider;_client;_enableMonitoring;constructor(e,t,s,o,n,i,l,m,u,c){this.projectName=e,this.projectId=t,this.apiKey=s,this.organizationId=o,this.apiUrl=n,this.environment=i,this.serializer=l,this._tracerProvider=m,this._client=u,this._enableMonitoring=c}setActive(){return R.getInstance().setActive(this)}static _getProxyProvider(){return R.getInstance()}static _getSerializer(){return p._getProxyProvider().getActiveTracer()?.serializer??G}static _getCurrentTraceAndSpanId(){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return null;let s=t.spanContext();if(!s.traceId||!(s.traceFlags&1))return null;return[s.traceId,s.spanId]}static _emitPartial(){let e=p._getProxyProvider().getActiveTracer();if(!e)return;e.getSpanProcessor().emitPartial()}static getCurrentSpan(){return p._getProxyProvider().getCurrentSpan()}static async forceFlush(){await p._getProxyProvider().forceFlush()}static async shutdown(){await p._getProxyProvider().shutdown()}static registerOTELInstrumentation(e){p._getProxyProvider().addInstrumentation(e)}static getOTELTracer(){return p._getProxyProvider().getTracer(re)}static startSpan(e,t){let s=p.getOTELTracer().startSpan(e,{attributes:t});return p._emitPartial(),s}static startActiveSpan(e,t,s){return p.getOTELTracer().startActiveSpan(e,{attributes:s},(o)=>{p._emitPartial();let n=t(o);if(n instanceof Promise)return n.finally(()=>{o.end()});return o.end(),n})}static span(e,t){return p.startActiveSpan(e,(s)=>{try{let o=t(s);if(o instanceof Promise)return o.catch((n)=>{throw s.setStatus({code:A.ERROR,message:String(n)}),s.recordException(n),n});return o}catch(o){throw s.setStatus({code:A.ERROR,message:String(o)}),s.recordException(o),o}})}static with(e,t){return p.span(e,t)}static observe(e,t="span",s,o=!0,n=!0,i=!1){let l=p._getProxyProvider(),m=(u)=>{let c=s??u.name;return(...T)=>{return l.getTracer(re).startActiveSpan(c,(E)=>{if(t)E.setAttribute("judgment.span_kind",t);try{if(o)E.setAttribute("judgment.input",x(Ne(u,T),p._getSerializer()));p._emitPartial();let _=u(...T);if(_ instanceof Promise)return _.then((d)=>{if(n)E.setAttribute("judgment.output",x(d,p._getSerializer()));return d}).catch((d)=>{throw E.recordException(d),E.setStatus({code:A.ERROR,message:String(d)}),d}).finally(()=>{E.end()});if(n)E.setAttribute("judgment.output",x(_,p._getSerializer()));return E.end(),_}catch(_){throw E.recordException(_),E.setStatus({code:A.ERROR,message:String(_)}),E.end(),_}})}};if(!e)return m;return m(e)}static setSpanKind(e){if(!e)return;let t=p._getProxyProvider().getCurrentSpan();if(t?.isRecording())t.setAttribute("judgment.span_kind",e)}static setLLMSpan(){p.setSpanKind("llm")}static setToolSpan(){p.setSpanKind("tool")}static setGeneralSpan(){p.setSpanKind("span")}static setAttribute(e,t){let s=p._getProxyProvider().getCurrentSpan();if(!s?.isRecording())return;if(!e||t==null)return;s.setAttribute(e,x(t,p._getSerializer()))}static setAttributes(e){for(let[t,s]of Object.entries(e))p.setAttribute(t,s)}static setInput(e){p.setAttribute("judgment.input",e)}static setOutput(e){p.setAttribute("judgment.output",e)}static recordLLMMetadata(e){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return;if(typeof e.model==="string")t.setAttribute("judgment.llm.model",e.model);if(typeof e.provider==="string")t.setAttribute("judgment.llm.provider",e.provider);if(typeof e.non_cached_input_tokens==="number")t.setAttribute("judgment.usage.non_cached_input_tokens",e.non_cached_input_tokens);if(typeof e.output_tokens==="number")t.setAttribute("judgment.usage.output_tokens",e.output_tokens);if(typeof e.cache_read_input_tokens==="number")t.setAttribute("judgment.usage.cache_read_input_tokens",e.cache_read_input_tokens);if(typeof e.cache_creation_input_tokens==="number")t.setAttribute("judgment.usage.cache_creation_input_tokens",e.cache_creation_input_tokens);if(typeof e.total_cost_usd==="number")t.setAttribute("judgment.usage.total_cost_usd",e.total_cost_usd)}static setCustomerId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;s.setAttribute("judgment.customer_id",e);let o=t.getCurrentContext().setValue(g,e);t.attachContext(o)}static setSessionId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;let o=s.spanContext();if(!o.traceId||!(o.traceFlags&1))return;s.setAttribute("judgment.session_id",e);let n=t.getCurrentContext().setValue(U,e);t.attachContext(n)}static tag(e){if(!e||Array.isArray(e)&&e.length===0)return;let s=p._getProxyProvider().getActiveTracer();if(!s?.projectId||!s._client)return;let o=p._getCurrentTraceAndSpanId();if(!o)return;let[n]=o,i=Array.isArray(e)?e:[e];s._client.postV1projectsTracesByTraceIdTags(s.projectId,n,{tags:i}).catch((l)=>{r.error(`tag failed: ${String(l)}`)})}static _pendingEvals=new Map;static asyncEvaluate(e,t){let s=p._getProxyProvider(),o=s.getActiveTracer();if(!o){r.warning("asyncEvaluate: no active tracer");return}if(!o.projectId){r.warning("asyncEvaluate: no project configured");return}let n=s.getCurrentSpan();if(!n?.isRecording()){r.warning("asyncEvaluate: no active span");return}let i=n.spanContext(),l=`${i.traceId}:${i.spanId}`,m=p._pendingEvals.get(l)??[],u={project_id:o.projectId,eval_name:`async_evaluate_${e}_${m.length}`,judges:[{name:e}],examples:[{...t,example_id:De(),created_at:new Date().toISOString(),trace_id:i.traceId,span_id:i.spanId}],is_offline:!1,is_behavior:!1};m.push(u),p._pendingEvals.set(l,m),n.setAttribute("judgment.pending_trace_eval",JSON.stringify(m))}}function Ne(e,t){try{let s=X(e).map((n)=>n.replace(/^\.\.\./,"").split("=")[0].trim()).filter((n)=>n.length>0),o={};return s.forEach((n,i)=>{if(i<t.length)o[n]=t[i]}),o}catch{return{}}}import{OTLPTraceExporter as Ie}from"@opentelemetry/exporter-trace-otlp-http";class S{_delegate;constructor(e,t,s,o){this._delegate=new Ie({url:e,headers:{Authorization:`Bearer ${t}`,"X-Organization-Id":s,"X-Project-Id":o}})}export(e,t){r.info(`Exported ${e.length} spans`),this._delegate?.export(e,t)}shutdown(){return this._delegate?.shutdown()??Promise.resolve()}forceFlush(){return this._delegate?.forceFlush()??Promise.resolve()}}import{ExportResultCode as Ce}from"@opentelemetry/core";class f extends S{constructor(){super("https://api.judgmentlabs.ai/otel/v1/traces","","","");this._delegate=null}export(e,t){t({code:Ce.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}}import{BatchSpanProcessor as Ge}from"@opentelemetry/sdk-trace-base";var pe=[];function y(e){pe.push(e)}function q(){return pe.map((e)=>e())}class k{onStart(e,t){let s=t.getValue(g);if(s)e.setAttribute("judgment.customer_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}y(()=>new k);class Y{onStart(e,t){let s=t.getValue(U);if(s)e.setAttribute("judgment.session_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}y(()=>new Y);function O(e){return`${e.traceId}:${e.spanId}`}function je(e){return e[0]===0&&e[1]===0}class P extends Ge{tracer;_internalAttributes=new Map;constructor(e,t,s){super(t,s);this.tracer=e}_cleanupSpanState(e){this._internalAttributes.delete(e)}setInternalAttribute(e,t,s){let o=O(e),n=this._internalAttributes.get(o);if(!n)n=new Map,this._internalAttributes.set(o,n);n.set(t,s)}getInternalAttribute(e,t,s=null){let o=O(e),n=this._internalAttributes.get(o);if(!n)return s;return n.has(t)?n.get(t):s}_emitSpan(e){let t=e.spanContext(),s=O(t),o=this._internalAttributes.get(s);if(!o)o=new Map,this._internalAttributes.set(s,o);let n=o.get("judgment.update_id")??0;o.set("judgment.update_id",n+1);let i={...e.attributes,"judgment.update_id":n},l=Object.create(e);Object.defineProperty(l,"attributes",{value:i,writable:!1});let m=je(e.endTime)?e.startTime:e.endTime;Object.defineProperty(l,"endTime",{value:m,writable:!1}),super.onEnd(l)}emitPartial(){let t=R.getInstance().getCurrentSpan();if(!t?.isRecording())return;if(this.getInternalAttribute(t.spanContext(),"disable_partial_emit",!1))return;this._emitSpan(t)}onStart(e,t){for(let s of q())s.onStart(e,t)}onEnd(e){for(let n of q())n.onEnd(e);let t=e.spanContext();if(!this.getInternalAttribute(t,"cancelled",!1))this._emitSpan(e);let o=O(t);this._cleanupSpanState(o)}}class M extends P{constructor(){super(null,new f)}onStart(e,t){}onEnd(e){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}emitPartial(){}setInternalAttribute(e,t,s){}getInternalAttribute(e,t,s=null){return s}}import{defaultResource as qe,resourceFromAttributes as Oe}from"@opentelemetry/resources";import{NodeTracerProvider as Ee}from"@opentelemetry/sdk-trace-node";var ie=new Map,W=new Map;async function le(e,t){let s=`org:${e.getOrganizationId()}:project:${t}`,o=ie.get(s);if(o)return o;let n=W.get(s);if(n)return n;let i=(async()=>{r.info(`Resolving project ID for project: ${t}`);let m=(await e.postV1projectsResolve({project_name:t})).project_id;if(!m)throw Error(`Project ID not found for project: ${t}`);return r.info(`Resolved project ID: ${m}`),ie.set(s,m),m})();W.set(s,i);try{return await i}finally{W.delete(s)}}var me="0.9.3";var ue=me;class w extends p{_spanExporter=null;_spanProcessor=null;constructor(e,t,s,o,n,i,l,m,u,c){super(e,t,s,o,n,i,l,m,u,c)}static async init(e={}){let t=e.apiKey??N,s=e.organizationId??I,o=e.apiUrl??C,n=e.projectName??null,i=e.serializer??G,l=!0;if(!n)r.warning("project_name not provided. Tracer will not export spans."),l=!1;if(!t)r.warning("api_key not provided. Tracer will not export spans."),l=!1;if(!s)r.warning("organization_id not provided. Tracer will not export spans."),l=!1;if(!o)r.warning("api_url not provided. Tracer will not export spans."),l=!1;let m=null,u=null;if(l&&n&&t&&s&&o){if(m=new h(o,t,s),u=await le(m,n).catch(()=>null),!u)r.warning(`Project '${n}' not found. Tracer will not export spans.`),l=!1}let c={"service.name":n??"unknown","telemetry.sdk.name":"judgeval","telemetry.sdk.version":ue};if(e.environment)c["deployment.environment"]=e.environment;if(e.resourceAttributes)Object.assign(c,e.resourceAttributes);let T=qe().merge(Oe(c)),Q=new Ee({resource:T}),E=new w(n,u,t,s,o,e.environment??null,i,Q,m,l);if(l){let d=new Ee({resource:T,spanProcessors:[E.getSpanProcessor()]});E._tracerProvider=d}if(R.getInstance().register(E),e.setActive??!0)E.setActive();return E}getSpanExporter(){if(this._spanExporter)return this._spanExporter;if(!this._enableMonitoring||!this.projectId||!this.apiKey||!this.organizationId||!this.apiUrl)this._spanExporter=new f;else{let e=this.apiUrl.endsWith("/")?this.apiUrl+"otel/v1/traces":this.apiUrl+"/otel/v1/traces";this._spanExporter=new S(e,this.apiKey,this.organizationId,this.projectId)}return this._spanExporter}getSpanProcessor(){if(this._spanProcessor)return this._spanProcessor;if(!this._enableMonitoring)this._spanProcessor=new M;else this._spanProcessor=new P(this,this.getSpanExporter());return this._spanProcessor}}export{w as Tracer,f as NoOpSpanExporter,R as JudgmentTracerProvider,S as JudgmentSpanExporter,b as Judgeval,p as BaseTracer};
1
+ function D(e,t){let s=process.env[e];if(!s)return t??null;return s}var N=D("JUDGMENT_API_KEY"),I=D("JUDGMENT_ORG_ID"),C=D("JUDGMENT_API_URL","https://api.judgmentlabs.ai"),H=D("JUDGMENT_LOG_LEVEL","warn");class x{baseUrl;apiKey;organizationId;constructor(e,t,s){this.baseUrl=e,this.apiKey=t,this.organizationId=s}getBaseUrl(){return this.baseUrl}getApiKey(){return this.apiKey}getOrganizationId(){return this.organizationId}async request(e,t,s){let o=await fetch(t,{method:e,headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,"X-Organization-Id":this.organizationId},body:s!==void 0?JSON.stringify(s):void 0});if(!o.ok){let n=await o.text();throw Error(`HTTP ${o.status}: ${n}`)}return o.json()}async postOtelV1traces(){let e=this.baseUrl+"/otel/v1/traces";return this.request("POST",e,{})}async postOtelTriggerRootSpanRules(e){let t=this.baseUrl+"/otel/trigger_root_span_rules";return this.request("POST",t,e)}async postV1projectsResolve(e){let t=this.baseUrl+"/v1/projects/resolve/";return this.request("POST",t,e)}async postV1projects(e){let t=this.baseUrl+"/v1/projects";return this.request("POST",t,e)}async deleteV1projects(e){let t=this.baseUrl+`/v1/projects/${e}`;return this.request("DELETE",t,{})}async postV1projectsDatasets(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("POST",s,t)}async getV1projectsDatasets(e){let t=this.baseUrl+`/v1/projects/${e}/datasets`;return this.request("GET",t,void 0)}async postV1projectsDatasetsByDatasetNameExamples(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/datasets/${t}/examples`;return this.request("POST",o,s)}async getV1projectsDatasetsByDatasetName(e,t){let s=this.baseUrl+`/v1/projects/${e}/datasets/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvaluateExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/examples`;return this.request("POST",s,t)}async postV1projectsEvaluateTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/evaluate/traces`;return this.request("POST",s,t)}async postV1projectsEvalResults(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results`;return this.request("POST",s,t)}async postV1projectsEvalResultsExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-results/examples`;return this.request("POST",s,t)}async getV1projectsExperimentsByRunId(e,t){let s=this.baseUrl+`/v1/projects/${e}/experiments/${t}`;return this.request("GET",s,void 0)}async postV1projectsEvalQueueExamples(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/examples`;return this.request("POST",s,t)}async postV1projectsEvalQueueTraces(e,t){let s=this.baseUrl+`/v1/projects/${e}/eval-queue/traces`;return this.request("POST",s,t)}async getV1projectsPromptsByName(e,t,s,o){let n=new URLSearchParams;if(s!==void 0)n.set("commit_id",s);if(o!==void 0)n.set("tag",o);let i=this.baseUrl+`/v1/projects/${e}/prompts/${t}`+(n.toString()?"?"+n.toString():"");return this.request("GET",i,void 0)}async postV1projectsPrompts(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts`;return this.request("POST",s,t)}async postV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("POST",o,s)}async deleteV1projectsPromptsByNameTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/prompts/${t}/tags`;return this.request("DELETE",o,s)}async getV1projectsPromptsByNameVersions(e,t){let s=this.baseUrl+`/v1/projects/${e}/prompts/${t}/versions`;return this.request("GET",s,void 0)}async getV1projectsScorers(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("names",t);if(s!==void 0)o.set("is_trace",s);let n=this.baseUrl+`/v1/projects/${e}/scorers`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async getV1projectsScorersByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsScorersCustom(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom`;return this.request("POST",s,t)}async getV1projectsScorersCustomByNameExists(e,t){let s=this.baseUrl+`/v1/projects/${e}/scorers/custom/${t}/exists`;return this.request("GET",s,void 0)}async postV1projectsTracesByTraceIdTags(e,t,s){let o=this.baseUrl+`/v1/projects/${e}/traces/${t}/tags`;return this.request("POST",o,s)}async getV1e2eFetchTraceByProjectNameByTraceId(e,t){let s=this.baseUrl+`/v1/e2e_fetch_trace/${e}/${t}`;return this.request("GET",s,void 0)}async getV1e2eTracesPerProject(e,t,s){let o=new URLSearchParams;if(t!==void 0)o.set("limit",t);if(s!==void 0)o.set("offset",s);let n=this.baseUrl+`/v1/e2e_traces_per_project/${e}`+(o.toString()?"?"+o.toString():"");return this.request("GET",n,void 0)}async postV1e2eFetchSpanScore(e){let t=this.baseUrl+"/v1/e2e_fetch_span_score/";return this.request("POST",t,e)}}class b{internalClient;constructor(e={}){let t=e.apiKey??N,s=e.organizationId??I,o=e.apiUrl??C;if(!t)throw Error("API key is required");if(!s)throw Error("Organization ID is required");if(!o)throw Error("API URL is required");this.internalClient=new x(o,t,s)}static create(e={}){return new b(e)}}import{SpanStatusCode as A}from"@opentelemetry/api";import{randomUUID as Ne}from"crypto";var Ee=/^([^(]+?)=>/,Re=/^[^(]*\(\s*([^)]*)\)/m,ce=/,/,_e=/^\s*(_?)(\S+?)\1\s*$/,de=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function ae(e){return Function.prototype.toString.call(e)}function Se(e){let t=ae(e).replace(de,"");return t.match(Ee)||t.match(Re)}function X(e){let t=Se(e);if(!t||!t[1])return[];return t[1].split(ce).map((s)=>{return s.replace(_e,(n,i,l)=>l).trim()}).filter((s)=>s.length>0)}class r{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 currentLevel=r.Level.WARNING;static useColor=!0;static initialize(){if(!r.initialized){let e=process.env.JUDGMENT_NO_COLOR;r.useColor=!e&&process.stdout.isTTY;let t=H.toLowerCase();if(t){let s={debug:r.Level.DEBUG,info:r.Level.INFO,warning:r.Level.WARNING,warn:r.Level.WARNING,error:r.Level.ERROR,critical:r.Level.CRITICAL};r.currentLevel=s[t]??r.Level.WARNING}r.initialized=!0}}static setLevel(e){r.currentLevel=e}static setUseColor(e){r.useColor=e}static log(e,t){if(r.initialize(),e<r.currentLevel)return;let s=new Date().toISOString().replace("T"," ").substring(0,19),o=Object.keys(r.Level).find((l)=>r.Level[l]===e)??"UNKNOWN",n=`${s} - judgeval - ${o} - ${t}`;if(r.useColor)n=`${e===r.Level.DEBUG||e===r.Level.INFO?r.GRAY:e===r.Level.WARNING?r.YELLOW:r.RED}${n}${r.RESET}`;(e>=r.Level.ERROR?process.stderr:process.stdout).write(n+`
2
+ `)}static debug(e){r.log(r.Level.DEBUG,e)}static info(e){r.log(r.Level.INFO,e)}static warning(e){r.log(r.Level.WARNING,e)}static warn(e){r.log(r.Level.WARNING,e)}static error(e){r.log(r.Level.ERROR,e)}static critical(e){r.log(r.Level.CRITICAL,e)}}var L;function fe(e,t){if(typeof t==="bigint")return t.toString();if(typeof t==="object"&&t!==null){if(L.has(t))return"[Circular]";L.add(t)}return t}function G(e){try{let t=JSON.stringify(e);if(typeof t==="string")return t;return String(t)}catch{try{L=new WeakSet;let t=JSON.stringify(e,fe);return typeof t==="string"?t:String(e)}catch(t){return r.error(`safeStringify failed: ${t}`),String(e)}}}function h(e,t){if(typeof e==="string"||typeof e==="number"||typeof e==="boolean")return e;return t(e)}import{INVALID_SPAN_CONTEXT as ve,ROOT_CONTEXT as ge,SpanStatusCode as te,trace as v}from"@opentelemetry/api";import{registerInstrumentations as Ue}from"@opentelemetry/instrumentation";import{AsyncLocalStorage as ye}from"async_hooks";import{ROOT_CONTEXT as Pe,context as a}from"@opentelemetry/api";import{AsyncLocalStorage as z}from"async_hooks";var Z=!1,$=null,K=new z,j=new z,Te=a.active.bind(a),xe=a.with.bind(a),he=a.bind.bind(a);function J(){return K.getStore()===!0}function B(e){if($=e,Z)return;let t=a;t.active=()=>{if(!J())return Te();let s=j.getStore();if(s)return s;return $?$():Pe},t.with=(s,o,n,...i)=>{if(!J())return xe(s,o,n,...i);return j.run(s,()=>o.apply(n,i))},t.bind=(s,o)=>{if(!J())return he(s,o);if(typeof o!=="function")return o;let n=o;return(...i)=>j.run(s,()=>n(...i))},Z=!0}function ee(e,t){return K.run(!0,()=>j.run(e,t))}var De="judgeval",F=new ye;class se{_provider;constructor(e){this._provider=e}startSpan(e,t,s){let o=s??this._provider.getCurrentContext();return this._provider._getDelegateTracer().startSpan(e,t,o)}startActiveSpan(e,...t){let s={},o=this._provider.getCurrentContext(),n;if(t.length===1)n=t[0];else if(t.length===2)s=t[0],n=t[1];else s=t[0],o=t[1],n=t[2];let i=this.startSpan(e,s,o);return this._provider.useSpan(i,!0,!0,!0,()=>n(i))}}class oe{startSpan(){return v.wrapSpanContext(ve)}startActiveSpan(e,...t){return(t.length===1?t[0]:t.length===2?t[1]:t[2])(this.startSpan())}}class R{static _instance=null;_activeTracer=null;_instrumentations=[];_noOpTracer;_proxyTracer;_tracers=new Set;constructor(){this._noOpTracer=new oe,this._proxyTracer=new se(this),B(()=>this.getCurrentContext())}static getInstance(){return R._instance??=new R,R._instance}static installAsGlobalTracerProvider(){let e=R.getInstance();return v.setGlobalTracerProvider(e)}register(e){this._tracers.add(e)}deregister(e){this._tracers.delete(e)}setActive(e){let t=this.getCurrentSpan();if(t?.isRecording()){if(v.getSpan(this.getCurrentContext())===t)return r.error("Cannot set_active() while a root span is active. Keeping existing tracer provider."),!1}return this.register(e),this._activeTracer=e,!0}getActiveTracer(){return this._activeTracer}getCurrentContext(){return F.getStore()??ge}getCurrentSpan(){let e=this.getCurrentContext();return v.getSpan(e)}hasActiveRootSpan(){if(!this.getCurrentSpan()?.isRecording())return!1;return!0}_getDelegateTracer(){let e=this._activeTracer;if(!e)return r.debug("No active tracer, returning NoOpTracer"),this._noOpTracer;return e._tracerProvider.getTracer(De)}getTracer(e,t,s){return this._proxyTracer}addInstrumentation(e){try{Ue({tracerProvider:this,instrumentations:[e]}),this._instrumentations.push(e)}catch(t){r.error(`Failed to add instrumentation: ${String(t)}`)}}useSpan(e,t,s,o,n){let i=this.getCurrentContext(),l=v.setSpan(i,e);return F.run(l,()=>ee(l,()=>{try{let m=n();if(m instanceof Promise)return m.catch((u)=>{if(e.isRecording()){if(s)e.recordException(u);if(o){let c=u;e.setStatus({code:te.ERROR,message:`${c.name}: ${c.message}`})}}throw u}).finally(()=>{if(t)e.end()});if(t)e.end();return m}catch(m){if(e.isRecording()){if(s)e.recordException(m);if(o){let u=m;e.setStatus({code:te.ERROR,message:`${u.name}: ${u.message}`})}}if(t)e.end();throw m}}))}attachContext(e){F.enterWith(e)}async forceFlush(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.forceFlush()))}async shutdown(){await Promise.all(Array.from(this._tracers).map((e)=>e._tracerProvider.shutdown())),this._activeTracer=null,this._tracers.clear()}}var g=Symbol.for("judgment.customer_id"),U=Symbol.for("judgment.session_id");var ne="judgeval";class p{projectName;projectId;apiKey;organizationId;apiUrl;environment;serializer;_tracerProvider;_client;_enableMonitoring;constructor(e,t,s,o,n,i,l,m,u,c){this.projectName=e,this.projectId=t,this.apiKey=s,this.organizationId=o,this.apiUrl=n,this.environment=i,this.serializer=l,this._tracerProvider=m,this._client=u,this._enableMonitoring=c}setActive(){return R.getInstance().setActive(this)}static _getProxyProvider(){return R.getInstance()}static _getSerializer(){return p._getProxyProvider().getActiveTracer()?.serializer??G}static _getCurrentTraceAndSpanId(){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return null;let s=t.spanContext();if(!s.traceId||!(s.traceFlags&1))return null;return[s.traceId,s.spanId]}static _emitPartial(){let e=p._getProxyProvider().getActiveTracer();if(!e)return;e.getSpanProcessor().emitPartial()}static getCurrentSpan(){return p._getProxyProvider().getCurrentSpan()}static async forceFlush(){await p._getProxyProvider().forceFlush()}static async shutdown(){await p._getProxyProvider().shutdown()}static registerOTELInstrumentation(e){p._getProxyProvider().addInstrumentation(e)}static getOTELTracer(){return p._getProxyProvider().getTracer(ne)}static startSpan(e,t){let s=p.getOTELTracer().startSpan(e,{attributes:t});return p._emitPartial(),s}static startActiveSpan(e,t,s){return p.getOTELTracer().startActiveSpan(e,{attributes:s},(o)=>{p._emitPartial();let n=t(o);if(n instanceof Promise)return n.finally(()=>{o.end()});return o.end(),n})}static span(e,t){return p.startActiveSpan(e,(s)=>{try{let o=t(s);if(o instanceof Promise)return o.catch((n)=>{throw s.setStatus({code:A.ERROR,message:String(n)}),s.recordException(n),n});return o}catch(o){throw s.setStatus({code:A.ERROR,message:String(o)}),s.recordException(o),o}})}static with(e,t){return p.span(e,t)}static observe(e,t="span",s,o=!0,n=!0,i=!1){let l=p._getProxyProvider(),m=(u)=>{let c=s??u.name;return(...T)=>{return l.getTracer(ne).startActiveSpan(c,(E)=>{if(t)E.setAttribute("judgment.span_kind",t);try{if(o)E.setAttribute("judgment.input",h(Ie(u,T),p._getSerializer()));p._emitPartial();let _=u(...T);if(_ instanceof Promise)return _.then((d)=>{if(n)E.setAttribute("judgment.output",h(d,p._getSerializer()));return d}).catch((d)=>{throw E.recordException(d),E.setStatus({code:A.ERROR,message:String(d)}),d}).finally(()=>{E.end()});if(n)E.setAttribute("judgment.output",h(_,p._getSerializer()));return E.end(),_}catch(_){throw E.recordException(_),E.setStatus({code:A.ERROR,message:String(_)}),E.end(),_}})}};if(!e)return m;return m(e)}static setSpanKind(e){if(!e)return;let t=p._getProxyProvider().getCurrentSpan();if(t?.isRecording())t.setAttribute("judgment.span_kind",e)}static setLLMSpan(){p.setSpanKind("llm")}static setToolSpan(){p.setSpanKind("tool")}static setGeneralSpan(){p.setSpanKind("span")}static setAttribute(e,t){let s=p._getProxyProvider().getCurrentSpan();if(!s?.isRecording())return;if(!e||t==null)return;s.setAttribute(e,h(t,p._getSerializer()))}static setAttributes(e){for(let[t,s]of Object.entries(e))p.setAttribute(t,s)}static setInput(e){p.setAttribute("judgment.input",e)}static setOutput(e){p.setAttribute("judgment.output",e)}static recordLLMMetadata(e){let t=p._getProxyProvider().getCurrentSpan();if(!t?.isRecording())return;if(typeof e.model==="string")t.setAttribute("judgment.llm.model",e.model);if(typeof e.provider==="string")t.setAttribute("judgment.llm.provider",e.provider);if(typeof e.non_cached_input_tokens==="number")t.setAttribute("judgment.usage.non_cached_input_tokens",e.non_cached_input_tokens);if(typeof e.output_tokens==="number")t.setAttribute("judgment.usage.output_tokens",e.output_tokens);if(typeof e.cache_read_input_tokens==="number")t.setAttribute("judgment.usage.cache_read_input_tokens",e.cache_read_input_tokens);if(typeof e.cache_creation_input_tokens==="number")t.setAttribute("judgment.usage.cache_creation_input_tokens",e.cache_creation_input_tokens);if(typeof e.total_cost_usd==="number")t.setAttribute("judgment.usage.total_cost_usd",e.total_cost_usd)}static setCustomerId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;s.setAttribute("judgment.customer_id",e);let o=t.getCurrentContext().setValue(g,e);t.attachContext(o)}static setSessionId(e){let t=p._getProxyProvider(),s=t.getCurrentSpan();if(!s?.isRecording())return;let o=s.spanContext();if(!o.traceId||!(o.traceFlags&1))return;s.setAttribute("judgment.session_id",e);let n=t.getCurrentContext().setValue(U,e);t.attachContext(n)}static tag(e){if(!e||Array.isArray(e)&&e.length===0)return;let s=p._getProxyProvider().getActiveTracer();if(!s?.projectId||!s._client)return;let o=p._getCurrentTraceAndSpanId();if(!o)return;let[n]=o,i=Array.isArray(e)?e:[e];s._client.postV1projectsTracesByTraceIdTags(s.projectId,n,{tags:i}).catch((l)=>{r.error(`tag failed: ${String(l)}`)})}static _pendingEvals=new Map;static asyncEvaluate(e,t){let s=p._getProxyProvider(),o=s.getActiveTracer();if(!o){r.warning("asyncEvaluate: no active tracer");return}if(!o.projectId){r.warning("asyncEvaluate: no project configured");return}let n=s.getCurrentSpan();if(!n?.isRecording()){r.warning("asyncEvaluate: no active span");return}let i=n.spanContext(),l=`${i.traceId}:${i.spanId}`,m=p._pendingEvals.get(l)??[],u={project_id:o.projectId,eval_name:`async_evaluate_${e}_${m.length}`,judges:[{name:e}],examples:[{...t,example_id:Ne(),created_at:new Date().toISOString(),trace_id:i.traceId,span_id:i.spanId}],is_offline:!1,is_behavior:!1};m.push(u),p._pendingEvals.set(l,m),n.setAttribute("judgment.pending_trace_eval",JSON.stringify(m))}}function Ie(e,t){try{let s=X(e).map((n)=>n.replace(/^\.\.\./,"").split("=")[0].trim()).filter((n)=>n.length>0),o={};return s.forEach((n,i)=>{if(i<t.length)o[n]=t[i]}),o}catch{return{}}}import{OTLPTraceExporter as Ce}from"@opentelemetry/exporter-trace-otlp-http";class S{_delegate;constructor(e,t,s,o){this._delegate=new Ce({url:e,headers:{Authorization:`Bearer ${t}`,"X-Organization-Id":s,"X-Project-Id":o}})}export(e,t){r.info(`Exported ${e.length} spans`),this._delegate?.export(e,t)}shutdown(){return this._delegate?.shutdown()??Promise.resolve()}forceFlush(){return this._delegate?.forceFlush()??Promise.resolve()}}import{ExportResultCode as Ge}from"@opentelemetry/core";class f extends S{constructor(){super("https://api.judgmentlabs.ai/otel/v1/traces","","","");this._delegate=null}export(e,t){t({code:Ge.SUCCESS})}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}}import{BatchSpanProcessor as je}from"@opentelemetry/sdk-trace-base";var re=[];function y(e){re.push(e)}function q(){return re.map((e)=>e())}class k{onStart(e,t){let s=t.getValue(g);if(s)e.setAttribute("judgment.customer_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}y(()=>new k);class Y{onStart(e,t){let s=t.getValue(U);if(s)e.setAttribute("judgment.session_id",s)}onEnd(e){}forceFlush(){return Promise.resolve()}shutdown(){return Promise.resolve()}}y(()=>new Y);function O(e){return`${e.traceId}:${e.spanId}`}function Ae(e){return e[0]===0&&e[1]===0}class P extends je{tracer;_internalAttributes=new Map;constructor(e,t,s){super(t,s);this.tracer=e}_cleanupSpanState(e){this._internalAttributes.delete(e)}setInternalAttribute(e,t,s){let o=O(e),n=this._internalAttributes.get(o);if(!n)n=new Map,this._internalAttributes.set(o,n);n.set(t,s)}getInternalAttribute(e,t,s=null){let o=O(e),n=this._internalAttributes.get(o);if(!n)return s;return n.has(t)?n.get(t):s}_emitSpan(e){let t=e.spanContext(),s=O(t),o=this._internalAttributes.get(s);if(!o)o=new Map,this._internalAttributes.set(s,o);let n=o.get("judgment.update_id")??0;o.set("judgment.update_id",n+1);let i={...e.attributes,"judgment.update_id":n},l=Object.create(e);Object.defineProperty(l,"attributes",{value:i,writable:!1});let m=Ae(e.endTime)?e.startTime:e.endTime;Object.defineProperty(l,"endTime",{value:m,writable:!1}),super.onEnd(l)}emitPartial(){let t=R.getInstance().getCurrentSpan();if(!t?.isRecording())return;if(this.getInternalAttribute(t.spanContext(),"disable_partial_emit",!1))return;this._emitSpan(t)}onStart(e,t){for(let s of q())s.onStart(e,t)}onEnd(e){for(let n of q())n.onEnd(e);let t=e.spanContext();if(!this.getInternalAttribute(t,"cancelled",!1))this._emitSpan(e);let o=O(t);this._cleanupSpanState(o)}}class M extends P{constructor(){super(null,new f)}onStart(e,t){}onEnd(e){}shutdown(){return Promise.resolve()}forceFlush(){return Promise.resolve()}emitPartial(){}setInternalAttribute(e,t,s){}getInternalAttribute(e,t,s=null){return s}}import{defaultResource as Oe,resourceFromAttributes as Me}from"@opentelemetry/resources";import{NodeTracerProvider as ue}from"@opentelemetry/sdk-trace-node";var pe=new Map,W=new Map;async function ie(e,t){let s=`org:${e.getOrganizationId()}:project:${t}`,o=pe.get(s);if(o)return o;let n=W.get(s);if(n)return n;let i=(async()=>{r.info(`Resolving project ID for project: ${t}`);let m=(await e.postV1projectsResolve({project_name:t})).project_id;if(!m)throw Error(`Project ID not found for project: ${t}`);return r.info(`Resolved project ID: ${m}`),pe.set(s,m),m})();W.set(s,i);try{return await i}finally{W.delete(s)}}var le="0.9.4";var me=le;class w extends p{_spanExporter=null;_spanProcessor=null;constructor(e,t,s,o,n,i,l,m,u,c){super(e,t,s,o,n,i,l,m,u,c)}static async init(e={}){let t=e.apiKey??N,s=e.organizationId??I,o=e.apiUrl??C,n=e.projectName??null,i=e.serializer??G,l=!0;if(!n)r.warning("project_name not provided. Tracer will not export spans."),l=!1;if(!t)r.warning("api_key not provided. Tracer will not export spans."),l=!1;if(!s)r.warning("organization_id not provided. Tracer will not export spans."),l=!1;if(!o)r.warning("api_url not provided. Tracer will not export spans."),l=!1;let m=null,u=null;if(l&&n&&t&&s&&o){if(m=new x(o,t,s),u=await ie(m,n).catch(()=>null),!u)r.warning(`Project '${n}' not found. Tracer will not export spans.`),l=!1}let c={"service.name":n??"unknown","telemetry.sdk.name":"judgeval","telemetry.sdk.version":me};if(e.environment)c["deployment.environment"]=e.environment;if(e.resourceAttributes)Object.assign(c,e.resourceAttributes);let T=Oe().merge(Me(c)),Q=new ue({resource:T}),E=new w(n,u,t,s,o,e.environment??null,i,Q,m,l);if(l){let d=new ue({resource:T,spanProcessors:[E.getSpanProcessor()]});E._tracerProvider=d}if(R.getInstance().register(E),e.setActive??!0)E.setActive();return E}getSpanExporter(){if(this._spanExporter)return this._spanExporter;if(!this._enableMonitoring||!this.projectId||!this.apiKey||!this.organizationId||!this.apiUrl)this._spanExporter=new f;else{let e=this.apiUrl.endsWith("/")?this.apiUrl+"otel/v1/traces":this.apiUrl+"/otel/v1/traces";this._spanExporter=new S(e,this.apiKey,this.organizationId,this.projectId)}return this._spanExporter}getSpanProcessor(){if(this._spanProcessor)return this._spanProcessor;if(!this._enableMonitoring)this._spanProcessor=new M;else this._spanProcessor=new P(this,this.getSpanExporter());return this._spanProcessor}}export{w as Tracer,f as NoOpSpanExporter,R as JudgmentTracerProvider,S as JudgmentSpanExporter,b as Judgeval,p as BaseTracer};
3
3
 
4
- //# debugId=687F1644B3A1259E64756E2164756E21
4
+ //# debugId=FD77E1D045E3860B64756E2164756E21
5
5
  //# sourceMappingURL=index.mjs.map
@@ -9,8 +9,8 @@
9
9
  "/* eslint-disable */\n/// Adopted from https://github.com/angular/angular.js/blob/master/src/auto/injector.js\n\nconst ARROW_ARG = /^([^(]+?)=>/;\nconst FN_ARGS = /^[^(]*\\(\\s*([^)]*)\\)/m;\nconst FN_ARG_SPLIT = /,/;\nconst FN_ARG = /^\\s*(_?)(\\S+?)\\1\\s*$/;\nconst STRIP_COMMENTS = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/gm;\n\nfunction stringifyFn(fn: Function): string {\n return Function.prototype.toString.call(fn);\n}\n\nfunction extractArgs(fn: Function): RegExpMatchArray | null {\n const fnText = stringifyFn(fn).replace(STRIP_COMMENTS, \"\");\n return fnText.match(ARROW_ARG) || fnText.match(FN_ARGS);\n}\n\nexport function parseFunctionArgs(fn: Function): string[] {\n const args = extractArgs(fn);\n if (!args || !args[1]) {\n return [];\n }\n\n return args[1]\n .split(FN_ARG_SPLIT)\n .map((arg) => {\n const match = arg.replace(FN_ARG, (all, underscore, name) => name);\n return match.trim();\n })\n .filter((name) => name.length > 0);\n}\n",
10
10
  "import { JUDGMENT_LOG_LEVEL } from \"../env\";\n\nexport class Logger {\n private static readonly RESET = \"\\x1b[0m\";\n private static readonly RED = \"\\x1b[31m\";\n private static readonly YELLOW = \"\\x1b[33m\";\n private static readonly GRAY = \"\\x1b[90m\";\n\n public static Level = {\n DEBUG: 0,\n INFO: 1,\n WARNING: 2,\n ERROR: 3,\n CRITICAL: 4,\n } as const;\n\n private static initialized = false;\n private static currentLevel: number = Logger.Level.WARNING;\n private static useColor = true;\n\n private static initialize(): void {\n if (!Logger.initialized) {\n const noColor = process.env.JUDGMENT_NO_COLOR;\n Logger.useColor = !noColor && process.stdout.isTTY;\n\n const logLevel = JUDGMENT_LOG_LEVEL.toLowerCase();\n if (logLevel) {\n const levelMap: Record<string, number> = {\n debug: Logger.Level.DEBUG,\n info: Logger.Level.INFO,\n warning: Logger.Level.WARNING,\n warn: Logger.Level.WARNING,\n error: Logger.Level.ERROR,\n critical: Logger.Level.CRITICAL,\n };\n Logger.currentLevel = levelMap[logLevel] ?? Logger.Level.WARNING;\n }\n\n Logger.initialized = true;\n }\n }\n\n public static setLevel(level: number): void {\n Logger.currentLevel = level;\n }\n\n public static setUseColor(useColor: boolean): void {\n Logger.useColor = useColor;\n }\n\n private static log(level: number, message: string): void {\n Logger.initialize();\n\n if (level < Logger.currentLevel) {\n return;\n }\n\n const timestamp = new Date()\n .toISOString()\n .replace(\"T\", \" \")\n .substring(0, 19);\n const levelName =\n Object.keys(Logger.Level).find(\n (key) => Logger.Level[key as keyof typeof Logger.Level] === level,\n ) ?? \"UNKNOWN\";\n let formattedMessage = `${timestamp} - judgeval - ${levelName} - ${message}`;\n\n if (Logger.useColor) {\n const color =\n level === Logger.Level.DEBUG || level === Logger.Level.INFO\n ? Logger.GRAY\n : level === Logger.Level.WARNING\n ? Logger.YELLOW\n : Logger.RED;\n formattedMessage = `${color}${formattedMessage}${Logger.RESET}`;\n }\n\n const output =\n level >= Logger.Level.ERROR ? process.stderr : process.stdout;\n output.write(formattedMessage + \"\\n\");\n }\n\n public static debug(message: string): void {\n Logger.log(Logger.Level.DEBUG, message);\n }\n\n public static info(message: string): void {\n Logger.log(Logger.Level.INFO, message);\n }\n\n public static warning(message: string): void {\n Logger.log(Logger.Level.WARNING, message);\n }\n\n public static warn(message: string): void {\n Logger.log(Logger.Level.WARNING, message);\n }\n\n public static error(message: string): void {\n Logger.log(Logger.Level.ERROR, message);\n }\n\n public static critical(message: string): void {\n Logger.log(Logger.Level.CRITICAL, message);\n }\n}\n",
11
11
  "import { Logger } from \"./logger\";\n\nexport type Serializer = (obj: unknown) => string;\n\nlet seen: WeakSet<object>;\n\nfunction safeReplacer(this: unknown, _key: string, value: unknown): unknown {\n if (typeof value === \"bigint\") return value.toString();\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) return \"[Circular]\";\n seen.add(value);\n }\n return value;\n}\n\nexport function safeStringify(obj: unknown): string {\n try {\n const result = JSON.stringify(obj);\n if (typeof result === \"string\") return result;\n return String(result);\n } catch {\n try {\n seen = new WeakSet<object>();\n const result = JSON.stringify(obj, safeReplacer);\n return typeof result === \"string\" ? result : String(obj);\n } catch (e) {\n Logger.error(`safeStringify failed: ${e}`);\n return String(obj);\n }\n }\n}\n\n/**\n * Serializes an attribute to an \"Attribute\" compatible value. Primitives are returned as is, objects are serialized using the provided serializer.\n *\n * @param value - The value to serialize.\n * @param serializer - The serializer to use.\n * @returns A string, number, or boolean value.\n */\nexport function serializeAttribute(\n value: unknown,\n serializer: Serializer,\n): string | number | boolean {\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n )\n return value;\n return serializer(value);\n}\n",
12
- "import {\n INVALID_SPAN_CONTEXT,\n context as otelContext,\n SpanStatusCode,\n trace,\n type Context,\n type Span,\n type SpanOptions,\n type Tracer,\n type TracerProvider,\n} from \"@opentelemetry/api\";\nimport {\n registerInstrumentations,\n type Instrumentation,\n} from \"@opentelemetry/instrumentation\";\nimport { AsyncLocalStorage } from \"async_hooks\";\nimport { Logger } from \"../utils/logger\";\nimport type { BaseTracer } from \"./BaseTracer\";\nimport {\n installOtelContextBridge,\n runWithOtelBridgeGate,\n} from \"./instrumentation/OtelContextBridge\";\n\nconst TRACER_NAME = \"judgeval\";\n\nconst _contextStorage = new AsyncLocalStorage<Context>();\n\nclass ProxyTracer implements Tracer {\n private _provider: JudgmentTracerProvider;\n\n constructor(provider: JudgmentTracerProvider) {\n this._provider = provider;\n }\n\n startSpan(name: string, options?: SpanOptions, context?: Context): Span {\n const ctx = context ?? this._provider.getCurrentContext();\n const delegate = this._provider._getDelegateTracer();\n return delegate.startSpan(name, options, ctx);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n let options: SpanOptions = {};\n let context: Context = this._provider.getCurrentContext();\n let fn: F;\n\n if (args.length === 1) {\n fn = args[0];\n } else if (args.length === 2) {\n options = args[0];\n fn = args[1];\n } else {\n options = args[0];\n context = args[1];\n fn = args[2];\n }\n\n const span = this.startSpan(name, options, context);\n return this._provider.useSpan(span, true, true, true, () =>\n fn(span),\n ) as ReturnType<F>;\n }\n}\n\nclass NoOpTracer implements Tracer {\n startSpan(): Span {\n return trace.wrapSpanContext(INVALID_SPAN_CONTEXT);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n _name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n const fn =\n args.length === 1 ? args[0] : args.length === 2 ? args[1] : args[2];\n return fn(this.startSpan()) as ReturnType<F>;\n }\n}\n\nexport class JudgmentTracerProvider implements TracerProvider {\n private static _instance: JudgmentTracerProvider | null = null;\n\n private _activeTracer: BaseTracer | null = null;\n private _instrumentations: Instrumentation[] = [];\n private _noOpTracer: NoOpTracer;\n private _proxyTracer: ProxyTracer;\n private _tracers = new Set<BaseTracer>();\n\n private constructor() {\n this._noOpTracer = new NoOpTracer();\n this._proxyTracer = new ProxyTracer(this);\n installOtelContextBridge(() => this.getCurrentContext());\n }\n\n static getInstance(): JudgmentTracerProvider {\n JudgmentTracerProvider._instance ??= new JudgmentTracerProvider();\n return JudgmentTracerProvider._instance;\n }\n\n /**\n * Install the JudgmentTracerProvider as the global tracer provider.\n * This generally does not need to be called - Judgeval automatically uses this for all its observability functionality.\n * Only use this if you specifically want to override the global tracer provider, which will enable all Opentelemetry captured instrumentations to flow through judgeval.\n * @returns True if the installation was successful, false otherwise.\n */\n static installAsGlobalTracerProvider(): boolean {\n const instance = JudgmentTracerProvider.getInstance();\n return trace.setGlobalTracerProvider(instance);\n }\n\n register(tracer: BaseTracer): void {\n this._tracers.add(tracer);\n }\n\n deregister(tracer: BaseTracer): void {\n this._tracers.delete(tracer);\n }\n\n setActive(tracer: BaseTracer): boolean {\n const currentSpan = this.getCurrentSpan();\n if (currentSpan?.isRecording()) {\n if (trace.getSpan(this.getCurrentContext()) === currentSpan) {\n Logger.error(\n \"Cannot set_active() while a root span is active. Keeping existing tracer provider.\",\n );\n return false;\n }\n }\n this.register(tracer);\n this._activeTracer = tracer;\n return true;\n }\n\n getActiveTracer(): BaseTracer | null {\n return this._activeTracer;\n }\n\n getCurrentContext(): Context {\n return _contextStorage.getStore() ?? otelContext.active();\n }\n\n getCurrentSpan(): Span | undefined {\n const ctx = this.getCurrentContext();\n return trace.getSpan(ctx);\n }\n\n hasActiveRootSpan(): boolean {\n const currentSpan = this.getCurrentSpan();\n if (!currentSpan?.isRecording()) return false;\n return true;\n }\n\n _getDelegateTracer(): Tracer {\n const tracer = this._activeTracer;\n if (!tracer) {\n Logger.debug(\"No active tracer, returning NoOpTracer\");\n return this._noOpTracer;\n }\n return tracer._tracerProvider.getTracer(TRACER_NAME);\n }\n\n getTracer(\n _instrumentingModuleName: string,\n _instrumentingLibraryVersion?: string,\n _options?: { schemaUrl?: string },\n ): Tracer {\n return this._proxyTracer;\n }\n\n addInstrumentation(instrumentor: Instrumentation): void {\n try {\n registerInstrumentations({\n tracerProvider: this,\n instrumentations: [instrumentor],\n });\n this._instrumentations.push(instrumentor);\n } catch (err: unknown) {\n Logger.error(`Failed to add instrumentation: ${String(err)}`);\n }\n }\n\n useSpan<T>(\n span: Span,\n endOnExit: boolean,\n recordException: boolean,\n setStatusOnException: boolean,\n fn: () => T,\n ): T {\n const prevCtx = this.getCurrentContext();\n const ctx = trace.setSpan(prevCtx, span);\n return _contextStorage.run(ctx, () =>\n runWithOtelBridgeGate(ctx, () => {\n try {\n const result = fn();\n if (result instanceof Promise) {\n return result\n .catch((exc: unknown) => {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n throw exc;\n })\n .finally(() => {\n if (endOnExit) span.end();\n }) as T;\n }\n if (endOnExit) span.end();\n return result;\n } catch (exc) {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n if (endOnExit) span.end();\n throw exc;\n }\n }),\n );\n }\n\n attachContext(ctx: Context): void {\n _contextStorage.enterWith(ctx);\n }\n\n async forceFlush(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.forceFlush()),\n );\n }\n\n async shutdown(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.shutdown()),\n );\n this._activeTracer = null;\n this._tracers.clear();\n }\n}\n",
13
- "import { context as otelContext, type Context } from \"@opentelemetry/api\";\nimport { AsyncLocalStorage } from \"async_hooks\";\n\ntype OTelContextApi = typeof otelContext;\n\nlet installed = false;\nlet getJudgmentContext: (() => Context) | null = null;\n\nconst gateStorage = new AsyncLocalStorage<boolean>();\nconst bridgeContextStorage = new AsyncLocalStorage<Context>();\n\nconst originalActive = otelContext.active.bind(otelContext);\nconst originalWith = otelContext.with.bind(otelContext);\nconst originalBind = otelContext.bind.bind(otelContext);\n\nfunction isGateEnabled(): boolean {\n return gateStorage.getStore() === true;\n}\n\nexport function installOtelContextBridge(\n getCurrentJudgmentContext: () => Context,\n): void {\n getJudgmentContext = getCurrentJudgmentContext;\n if (installed) return;\n\n const api = otelContext as OTelContextApi & {\n active: () => Context;\n with: <A extends unknown[], F extends (...args: A) => ReturnType<F>>(\n context: Context,\n fn: F,\n thisArg?: ThisParameterType<F>,\n ...args: A\n ) => ReturnType<F>;\n bind: <T>(context: Context, target: T) => T;\n };\n\n api.active = (): Context => {\n if (!isGateEnabled()) return originalActive();\n const bridged = bridgeContextStorage.getStore();\n if (bridged) return bridged;\n return getJudgmentContext ? getJudgmentContext() : originalActive();\n };\n\n api.with = (contextValue, fn, thisArg, ...args) => {\n if (!isGateEnabled())\n return originalWith(contextValue, fn, thisArg, ...args);\n return bridgeContextStorage.run(contextValue, () =>\n fn.apply(thisArg, args),\n );\n };\n\n api.bind = (contextValue, target) => {\n if (!isGateEnabled()) return originalBind(contextValue, target);\n if (typeof target !== \"function\") return target;\n const fn = target as unknown as (...args: unknown[]) => unknown;\n return ((...args: unknown[]) =>\n bridgeContextStorage.run(contextValue, () =>\n fn(...args),\n )) as typeof target;\n };\n\n installed = true;\n}\n\nexport function runWithOtelBridgeGate<T>(ctx: Context, fn: () => T): T {\n return gateStorage.run(true, () => bridgeContextStorage.run(ctx, fn));\n}\n",
12
+ "import {\n INVALID_SPAN_CONTEXT,\n ROOT_CONTEXT,\n SpanStatusCode,\n trace,\n type Context,\n type Span,\n type SpanOptions,\n type Tracer,\n type TracerProvider,\n} from \"@opentelemetry/api\";\nimport {\n registerInstrumentations,\n type Instrumentation,\n} from \"@opentelemetry/instrumentation\";\nimport { AsyncLocalStorage } from \"async_hooks\";\nimport { Logger } from \"../utils/logger\";\nimport type { BaseTracer } from \"./BaseTracer\";\nimport {\n installOtelContextBridge,\n runWithOtelBridgeGate,\n} from \"./instrumentation/OtelContextBridge\";\n\nconst TRACER_NAME = \"judgeval\";\n\nconst _contextStorage = new AsyncLocalStorage<Context>();\n\nclass ProxyTracer implements Tracer {\n private _provider: JudgmentTracerProvider;\n\n constructor(provider: JudgmentTracerProvider) {\n this._provider = provider;\n }\n\n startSpan(name: string, options?: SpanOptions, context?: Context): Span {\n const ctx = context ?? this._provider.getCurrentContext();\n const delegate = this._provider._getDelegateTracer();\n return delegate.startSpan(name, options, ctx);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n let options: SpanOptions = {};\n let context: Context = this._provider.getCurrentContext();\n let fn: F;\n\n if (args.length === 1) {\n fn = args[0];\n } else if (args.length === 2) {\n options = args[0];\n fn = args[1];\n } else {\n options = args[0];\n context = args[1];\n fn = args[2];\n }\n\n const span = this.startSpan(name, options, context);\n return this._provider.useSpan(span, true, true, true, () =>\n fn(span),\n ) as ReturnType<F>;\n }\n}\n\nclass NoOpTracer implements Tracer {\n startSpan(): Span {\n return trace.wrapSpanContext(INVALID_SPAN_CONTEXT);\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n context: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n _name: string,\n ...args: [F] | [SpanOptions, F] | [SpanOptions, Context, F]\n ): ReturnType<F> {\n const fn =\n args.length === 1 ? args[0] : args.length === 2 ? args[1] : args[2];\n return fn(this.startSpan()) as ReturnType<F>;\n }\n}\n\nexport class JudgmentTracerProvider implements TracerProvider {\n private static _instance: JudgmentTracerProvider | null = null;\n\n private _activeTracer: BaseTracer | null = null;\n private _instrumentations: Instrumentation[] = [];\n private _noOpTracer: NoOpTracer;\n private _proxyTracer: ProxyTracer;\n private _tracers = new Set<BaseTracer>();\n\n private constructor() {\n this._noOpTracer = new NoOpTracer();\n this._proxyTracer = new ProxyTracer(this);\n installOtelContextBridge(() => this.getCurrentContext());\n }\n\n static getInstance(): JudgmentTracerProvider {\n JudgmentTracerProvider._instance ??= new JudgmentTracerProvider();\n return JudgmentTracerProvider._instance;\n }\n\n /**\n * Install the JudgmentTracerProvider as the global tracer provider.\n * This generally does not need to be called - Judgeval automatically uses this for all its observability functionality.\n * Only use this if you specifically want to override the global tracer provider, which will enable all Opentelemetry captured instrumentations to flow through judgeval.\n * @returns True if the installation was successful, false otherwise.\n */\n static installAsGlobalTracerProvider(): boolean {\n const instance = JudgmentTracerProvider.getInstance();\n return trace.setGlobalTracerProvider(instance);\n }\n\n register(tracer: BaseTracer): void {\n this._tracers.add(tracer);\n }\n\n deregister(tracer: BaseTracer): void {\n this._tracers.delete(tracer);\n }\n\n setActive(tracer: BaseTracer): boolean {\n const currentSpan = this.getCurrentSpan();\n if (currentSpan?.isRecording()) {\n if (trace.getSpan(this.getCurrentContext()) === currentSpan) {\n Logger.error(\n \"Cannot set_active() while a root span is active. Keeping existing tracer provider.\",\n );\n return false;\n }\n }\n this.register(tracer);\n this._activeTracer = tracer;\n return true;\n }\n\n getActiveTracer(): BaseTracer | null {\n return this._activeTracer;\n }\n\n getCurrentContext(): Context {\n return _contextStorage.getStore() ?? ROOT_CONTEXT;\n }\n\n getCurrentSpan(): Span | undefined {\n const ctx = this.getCurrentContext();\n return trace.getSpan(ctx);\n }\n\n hasActiveRootSpan(): boolean {\n const currentSpan = this.getCurrentSpan();\n if (!currentSpan?.isRecording()) return false;\n return true;\n }\n\n _getDelegateTracer(): Tracer {\n const tracer = this._activeTracer;\n if (!tracer) {\n Logger.debug(\"No active tracer, returning NoOpTracer\");\n return this._noOpTracer;\n }\n return tracer._tracerProvider.getTracer(TRACER_NAME);\n }\n\n getTracer(\n _instrumentingModuleName: string,\n _instrumentingLibraryVersion?: string,\n _options?: { schemaUrl?: string },\n ): Tracer {\n return this._proxyTracer;\n }\n\n addInstrumentation(instrumentor: Instrumentation): void {\n try {\n registerInstrumentations({\n tracerProvider: this,\n instrumentations: [instrumentor],\n });\n this._instrumentations.push(instrumentor);\n } catch (err: unknown) {\n Logger.error(`Failed to add instrumentation: ${String(err)}`);\n }\n }\n\n useSpan<T>(\n span: Span,\n endOnExit: boolean,\n recordException: boolean,\n setStatusOnException: boolean,\n fn: () => T,\n ): T {\n const prevCtx = this.getCurrentContext();\n const ctx = trace.setSpan(prevCtx, span);\n return _contextStorage.run(ctx, () =>\n runWithOtelBridgeGate(ctx, () => {\n try {\n const result = fn();\n if (result instanceof Promise) {\n return result\n .catch((exc: unknown) => {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n throw exc;\n })\n .finally(() => {\n if (endOnExit) span.end();\n }) as T;\n }\n if (endOnExit) span.end();\n return result;\n } catch (exc) {\n if (span.isRecording()) {\n if (recordException) span.recordException(exc as Error);\n if (setStatusOnException) {\n const err = exc as Error;\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: `${err.name}: ${err.message}`,\n });\n }\n }\n if (endOnExit) span.end();\n throw exc;\n }\n }),\n );\n }\n\n attachContext(ctx: Context): void {\n _contextStorage.enterWith(ctx);\n }\n\n async forceFlush(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.forceFlush()),\n );\n }\n\n async shutdown(): Promise<void> {\n await Promise.all(\n Array.from(this._tracers).map((t) => t._tracerProvider.shutdown()),\n );\n this._activeTracer = null;\n this._tracers.clear();\n }\n}\n",
13
+ "import {\n ROOT_CONTEXT,\n context as otelContext,\n type Context,\n} from \"@opentelemetry/api\";\nimport { AsyncLocalStorage } from \"async_hooks\";\n\ntype OTelContextApi = typeof otelContext;\n\nlet installed = false;\nlet getJudgmentContext: (() => Context) | null = null;\n\nconst gateStorage = new AsyncLocalStorage<boolean>();\nconst bridgeContextStorage = new AsyncLocalStorage<Context>();\n\nconst originalActive = otelContext.active.bind(otelContext);\nconst originalWith = otelContext.with.bind(otelContext);\nconst originalBind = otelContext.bind.bind(otelContext);\n\nfunction isGateEnabled(): boolean {\n return gateStorage.getStore() === true;\n}\n\nexport function installOtelContextBridge(\n getCurrentJudgmentContext: () => Context,\n): void {\n getJudgmentContext = getCurrentJudgmentContext;\n if (installed) return;\n\n const api = otelContext as OTelContextApi & {\n active: () => Context;\n with: <A extends unknown[], F extends (...args: A) => ReturnType<F>>(\n context: Context,\n fn: F,\n thisArg?: ThisParameterType<F>,\n ...args: A\n ) => ReturnType<F>;\n bind: <T>(context: Context, target: T) => T;\n };\n\n api.active = (): Context => {\n if (!isGateEnabled()) return originalActive();\n const bridged = bridgeContextStorage.getStore();\n if (bridged) return bridged;\n return getJudgmentContext ? getJudgmentContext() : ROOT_CONTEXT;\n };\n\n api.with = (contextValue, fn, thisArg, ...args) => {\n if (!isGateEnabled())\n return originalWith(contextValue, fn, thisArg, ...args);\n return bridgeContextStorage.run(contextValue, () =>\n fn.apply(thisArg, args),\n );\n };\n\n api.bind = (contextValue, target) => {\n if (!isGateEnabled()) return originalBind(contextValue, target);\n if (typeof target !== \"function\") return target;\n const fn = target as unknown as (...args: unknown[]) => unknown;\n return ((...args: unknown[]) =>\n bridgeContextStorage.run(contextValue, () =>\n fn(...args),\n )) as typeof target;\n };\n\n installed = true;\n}\n\nexport function runWithOtelBridgeGate<T>(ctx: Context, fn: () => T): T {\n return gateStorage.run(true, () => bridgeContextStorage.run(ctx, fn));\n}\n",
14
14
  "export const CUSTOMER_ID_KEY = Symbol.for(\"judgment.customer_id\");\nexport const SESSION_ID_KEY = Symbol.for(\"judgment.session_id\");\n",
15
15
  "import type { ExportResult } from \"@opentelemetry/core\";\nimport { OTLPTraceExporter } from \"@opentelemetry/exporter-trace-otlp-http\";\nimport type { ReadableSpan, SpanExporter } from \"@opentelemetry/sdk-trace-base\";\nimport { Logger } from \"../../utils/logger\";\n\nexport class JudgmentSpanExporter implements SpanExporter {\n protected _delegate: OTLPTraceExporter | null;\n\n constructor(\n endpoint: string,\n apiKey: string,\n organizationId: string,\n projectId: string,\n ) {\n this._delegate = new OTLPTraceExporter({\n url: endpoint,\n headers: {\n Authorization: `Bearer ${apiKey}`,\n \"X-Organization-Id\": organizationId,\n \"X-Project-Id\": projectId,\n },\n });\n }\n\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void,\n ): void {\n Logger.info(`Exported ${spans.length} spans`);\n this._delegate?.export(spans, resultCallback);\n }\n\n shutdown(): Promise<void> {\n return this._delegate?.shutdown() ?? Promise.resolve();\n }\n\n forceFlush(): Promise<void> {\n return this._delegate?.forceFlush() ?? Promise.resolve();\n }\n}\n",
16
16
  "import { ExportResultCode, type ExportResult } from \"@opentelemetry/core\";\nimport type { ReadableSpan } from \"@opentelemetry/sdk-trace-base\";\nimport { JudgmentSpanExporter } from \"./JudgmentSpanExporter\";\n\nexport class NoOpSpanExporter extends JudgmentSpanExporter {\n constructor() {\n // Not used.\n super(\"https://api.judgmentlabs.ai/otel/v1/traces\", \"\", \"\", \"\");\n this._delegate = null;\n }\n\n override export(\n _spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void,\n ): void {\n resultCallback({ code: ExportResultCode.SUCCESS });\n }\n\n override shutdown(): Promise<void> {\n return Promise.resolve();\n }\n\n override forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n}\n",
@@ -23,7 +23,7 @@
23
23
  "import type { JudgmentApiClient } from \"../internal/api\";\nimport { Logger } from \"./logger\";\n\nconst cache = new Map<string, string>();\nconst inflight = new Map<string, Promise<string>>();\n\nexport async function resolveProjectId(\n client: JudgmentApiClient,\n projectName: string,\n): Promise<string> {\n const cacheKey = `org:${client.getOrganizationId()}:project:${projectName}`;\n const cached = cache.get(cacheKey);\n if (cached) {\n return cached;\n }\n const pending = inflight.get(cacheKey);\n if (pending) {\n return pending;\n }\n const request = (async (): Promise<string> => {\n Logger.info(`Resolving project ID for project: ${projectName}`);\n const response = await client.postV1projectsResolve({\n project_name: projectName,\n });\n const projectId = response.project_id;\n if (!projectId) {\n throw new Error(`Project ID not found for project: ${projectName}`);\n }\n Logger.info(`Resolved project ID: ${projectId}`);\n cache.set(cacheKey, projectId);\n return projectId;\n })();\n inflight.set(cacheKey, request);\n try {\n return await request;\n } finally {\n inflight.delete(cacheKey);\n }\n}\n",
24
24
  "import { version } from \"../package.json\" with { type: \"json\" };\n\nexport const VERSION = version;\n"
25
25
  ],
26
- "mappings": "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",
27
- "debugId": "687F1644B3A1259E64756E2164756E21",
26
+ "mappings": "AAEA,SAAS,CAAS,CAAC,EAAiB,EAAsC,CACxE,IAAM,EAAQ,QAAQ,IAAI,GAC1B,GAAI,CAAC,EACH,OAAO,GAAgB,KAEzB,OAAO,EAGF,IAAM,EAAmB,EAAU,kBAAkB,EAC/C,EAAkB,EAAU,iBAAiB,EAC7C,EAAmB,EAC9B,mBACA,6BACF,EACa,EAAqB,EAAU,qBAAsB,MAAM,EC+BjE,MAAM,CAAkB,CACrB,QACA,OACA,eAER,WAAW,CAAC,EAAiB,EAAgB,EAAwB,CACnE,KAAK,QAAU,EACf,KAAK,OAAS,EACd,KAAK,eAAiB,EAGxB,UAAU,EAAW,CACnB,OAAO,KAAK,QAEd,SAAS,EAAW,CAClB,OAAO,KAAK,OAEd,iBAAiB,EAAW,CAC1B,OAAO,KAAK,oBAGA,QAAU,CACtB,EACA,EACA,EACY,CACZ,IAAM,EAAW,MAAM,MAAM,EAAK,CAChC,SACA,QAAS,CACP,eAAgB,mBAChB,cAAe,UAAU,KAAK,SAC9B,oBAAqB,KAAK,cAC5B,EACA,KAAM,IAAS,OAAY,KAAK,UAAU,CAAI,EAAI,MACpD,CAAC,EACD,GAAI,CAAC,EAAS,GAAI,CAChB,IAAM,EAAO,MAAM,EAAS,KAAK,EACjC,MAAU,MAAM,QAAQ,EAAS,WAAW,GAAM,EAEpD,OAAO,EAAS,KAAK,OAGjB,iBAAgB,EAAqB,CACzC,IAAM,EAAM,KAAK,QAAU,kBAC3B,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAC,CAAC,OAG/B,6BAA4B,CAChC,EACuC,CACvC,IAAM,EAAM,KAAK,QAAU,gCAC3B,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,sBAAqB,CACzB,EACiC,CACjC,IAAM,EAAM,KAAK,QAAU,wBAC3B,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,eAAc,CAClB,EAC6B,CAC7B,IAAM,EAAM,KAAK,QAAU,eAC3B,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,iBAAgB,CAAC,EAAmD,CACxE,IAAM,EAAM,KAAK,QAAU,gBAAgB,IAC3C,OAAO,KAAK,QAAQ,SAAU,EAAK,CAAC,CAAC,OAGjC,uBAAsB,CAC1B,EACA,EACgC,CAChC,IAAM,EAAM,KAAK,QAAU,gBAAgB,aAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,sBAAqB,CACzB,EACkC,CAClC,IAAM,EAAM,KAAK,QAAU,gBAAgB,aAC3C,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,4CAA2C,CAC/C,EACA,EACA,EACiC,CACjC,IAAM,EACJ,KAAK,QACL,gBAAgB,cAAsB,aACxC,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,mCAAkC,CACtC,EACA,EAC8B,CAC9B,IAAM,EACJ,KAAK,QAAU,gBAAgB,cAAsB,IACvD,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,+BAA8B,CAClC,EACA,EACkB,CAClB,IAAM,EAAM,KAAK,QAAU,gBAAgB,sBAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,6BAA4B,CAChC,EACA,EACkB,CAClB,IAAM,EAAM,KAAK,QAAU,gBAAgB,oBAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,0BAAyB,CAC7B,EACA,EACiC,CACjC,IAAM,EAAM,KAAK,QAAU,gBAAgB,iBAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,kCAAiC,CACrC,EACA,EACyC,CACzC,IAAM,EACJ,KAAK,QAAU,gBAAgB,0BACjC,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,gCAA+B,CACnC,EACA,EACqC,CACrC,IAAM,EAAM,KAAK,QAAU,gBAAgB,iBAAyB,IACpE,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,gCAA+B,CACnC,EACA,EAC4C,CAC5C,IAAM,EAAM,KAAK,QAAU,gBAAgB,wBAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,8BAA6B,CACjC,EACA,EAC0C,CAC1C,IAAM,EAAM,KAAK,QAAU,gBAAgB,sBAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,2BAA0B,CAC9B,EACA,EACA,EACA,EAC8B,CAC9B,IAAM,EAAS,IAAI,gBACnB,GAAI,IAAc,OAAW,EAAO,IAAI,YAAa,CAAS,EAC9D,GAAI,IAAQ,OAAW,EAAO,IAAI,MAAO,CAAG,EAC5C,IAAM,EACJ,KAAK,QACL,gBAAgB,aAAqB,KACpC,EAAO,SAAS,EAAI,IAAM,EAAO,SAAS,EAAI,IACjD,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,sBAAqB,CACzB,EACA,EAC+B,CAC/B,IAAM,EAAM,KAAK,QAAU,gBAAgB,YAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,gCAA+B,CACnC,EACA,EACA,EAC4B,CAC5B,IAAM,EAAM,KAAK,QAAU,gBAAgB,aAAqB,SAChE,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,kCAAiC,CACrC,EACA,EACA,EAC8B,CAC9B,IAAM,EAAM,KAAK,QAAU,gBAAgB,aAAqB,SAChE,OAAO,KAAK,QAAQ,SAAU,EAAK,CAAO,OAGtC,mCAAkC,CACtC,EACA,EACoC,CACpC,IAAM,EACJ,KAAK,QAAU,gBAAgB,aAAqB,aACtD,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,qBAAoB,CACxB,EACA,EACA,EACqC,CACrC,IAAM,EAAS,IAAI,gBACnB,GAAI,IAAU,OAAW,EAAO,IAAI,QAAS,CAAK,EAClD,GAAI,IAAa,OAAW,EAAO,IAAI,WAAY,CAAQ,EAC3D,IAAM,EACJ,KAAK,QACL,gBAAgB,aACf,EAAO,SAAS,EAAI,IAAM,EAAO,SAAS,EAAI,IACjD,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,iCAAgC,CACpC,EACA,EAC+B,CAC/B,IAAM,EACJ,KAAK,QAAU,gBAAgB,aAAqB,WACtD,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,4BAA2B,CAC/B,EACA,EACqC,CACrC,IAAM,EAAM,KAAK,QAAU,gBAAgB,mBAC3C,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,uCAAsC,CAC1C,EACA,EACqC,CACrC,IAAM,EACJ,KAAK,QAAU,gBAAgB,oBAA4B,WAC7D,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,kCAAiC,CACrC,EACA,EACA,EAC+B,CAC/B,IAAM,EACJ,KAAK,QAAU,gBAAgB,YAAoB,SACrD,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,OAGpC,yCAAwC,CAC5C,EACA,EACgC,CAChC,IAAM,EAAM,KAAK,QAAU,uBAAuB,KAAe,IACjE,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,yBAAwB,CAC5B,EACA,EACA,EACsC,CACtC,IAAM,EAAS,IAAI,gBACnB,GAAI,IAAU,OAAW,EAAO,IAAI,QAAS,CAAK,EAClD,GAAI,IAAW,OAAW,EAAO,IAAI,SAAU,CAAM,EACrD,IAAM,EACJ,KAAK,QACL,8BAA8B,KAC7B,EAAO,SAAS,EAAI,IAAM,EAAO,SAAS,EAAI,IACjD,OAAO,KAAK,QAAQ,MAAO,EAAK,MAAS,OAGrC,wBAAuB,CAC3B,EACoC,CACpC,IAAM,EAAM,KAAK,QAAU,4BAC3B,OAAO,KAAK,QAAQ,OAAQ,EAAK,CAAO,EAE5C,CC/UO,MAAM,CAAS,CACH,eAEP,WAAW,CAAC,EAAyB,CAAC,EAAG,CACjD,IAAM,EAAS,EAAO,QAAU,EAC1B,EAAiB,EAAO,gBAAkB,EAC1C,EAAS,EAAO,QAAU,EAEhC,GAAI,CAAC,EACH,MAAU,MAAM,qBAAqB,EAEvC,GAAI,CAAC,EACH,MAAU,MAAM,6BAA6B,EAE/C,GAAI,CAAC,EACH,MAAU,MAAM,qBAAqB,EAGvC,KAAK,eAAiB,IAAI,EAAkB,EAAQ,EAAQ,CAAc,QAGrE,OAAM,CAAC,EAAyB,CAAC,EAAa,CACnD,OAAO,IAAI,EAAS,CAAM,EAE9B,CChCA,yBAGE,2BAKF,qBAAS,gBCLT,IAAM,GAAY,cACZ,GAAU,wBACV,GAAe,IACf,GAAS,uBACT,GAAiB,mCAEvB,SAAS,EAAW,CAAC,EAAsB,CACzC,OAAO,SAAS,UAAU,SAAS,KAAK,CAAE,EAG5C,SAAS,EAAW,CAAC,EAAuC,CAC1D,IAAM,EAAS,GAAY,CAAE,EAAE,QAAQ,GAAgB,EAAE,EACzD,OAAO,EAAO,MAAM,EAAS,GAAK,EAAO,MAAM,EAAO,EAGjD,SAAS,CAAiB,CAAC,EAAwB,CACxD,IAAM,EAAO,GAAY,CAAE,EAC3B,GAAI,CAAC,GAAQ,CAAC,EAAK,GACjB,MAAO,CAAC,EAGV,OAAO,EAAK,GACT,MAAM,EAAY,EAClB,IAAI,CAAC,IAAQ,CAEZ,OADc,EAAI,QAAQ,GAAQ,CAAC,EAAK,EAAY,IAAS,CAAI,EACpD,KAAK,EACnB,EACA,OAAO,CAAC,IAAS,EAAK,OAAS,CAAC,EC5B9B,MAAM,CAAO,OACM,OAAQ,gBACR,KAAM,iBACN,QAAS,iBACT,MAAO,iBAEjB,OAAQ,CACpB,MAAO,EACP,KAAM,EACN,QAAS,EACT,MAAO,EACP,SAAU,CACZ,QAEe,aAAc,SACd,cAAuB,EAAO,MAAM,cACpC,UAAW,SAEX,WAAU,EAAS,CAChC,GAAI,CAAC,EAAO,YAAa,CACvB,IAAM,EAAU,QAAQ,IAAI,kBAC5B,EAAO,SAAW,CAAC,GAAW,QAAQ,OAAO,MAE7C,IAAM,EAAW,EAAmB,YAAY,EAChD,GAAI,EAAU,CACZ,IAAM,EAAmC,CACvC,MAAO,EAAO,MAAM,MACpB,KAAM,EAAO,MAAM,KACnB,QAAS,EAAO,MAAM,QACtB,KAAM,EAAO,MAAM,QACnB,MAAO,EAAO,MAAM,MACpB,SAAU,EAAO,MAAM,QACzB,EACA,EAAO,aAAe,EAAS,IAAa,EAAO,MAAM,QAG3D,EAAO,YAAc,UAIX,SAAQ,CAAC,EAAqB,CAC1C,EAAO,aAAe,QAGV,YAAW,CAAC,EAAyB,CACjD,EAAO,SAAW,QAGL,IAAG,CAAC,EAAe,EAAuB,CAGvD,GAFA,EAAO,WAAW,EAEd,EAAQ,EAAO,aACjB,OAGF,IAAM,EAAY,IAAI,KAAK,EACxB,YAAY,EACZ,QAAQ,IAAK,GAAG,EAChB,UAAU,EAAG,EAAE,EACZ,EACJ,OAAO,KAAK,EAAO,KAAK,EAAE,KACxB,CAAC,IAAQ,EAAO,MAAM,KAAsC,CAC9D,GAAK,UACH,EAAmB,GAAG,kBAA0B,OAAe,IAEnE,GAAI,EAAO,SAOT,EAAmB,GALjB,IAAU,EAAO,MAAM,OAAS,IAAU,EAAO,MAAM,KACnD,EAAO,KACP,IAAU,EAAO,MAAM,QACrB,EAAO,OACP,EAAO,MACe,IAAmB,EAAO,SAIxD,GAAS,EAAO,MAAM,MAAQ,QAAQ,OAAS,QAAQ,QAClD,MAAM,EAAmB;AAAA,CAAI,QAGxB,MAAK,CAAC,EAAuB,CACzC,EAAO,IAAI,EAAO,MAAM,MAAO,CAAO,QAG1B,KAAI,CAAC,EAAuB,CACxC,EAAO,IAAI,EAAO,MAAM,KAAM,CAAO,QAGzB,QAAO,CAAC,EAAuB,CAC3C,EAAO,IAAI,EAAO,MAAM,QAAS,CAAO,QAG5B,KAAI,CAAC,EAAuB,CACxC,EAAO,IAAI,EAAO,MAAM,QAAS,CAAO,QAG5B,MAAK,CAAC,EAAuB,CACzC,EAAO,IAAI,EAAO,MAAM,MAAO,CAAO,QAG1B,SAAQ,CAAC,EAAuB,CAC5C,EAAO,IAAI,EAAO,MAAM,SAAU,CAAO,EAE7C,CCrGA,IAAI,EAEJ,SAAS,EAAY,CAAgB,EAAc,EAAyB,CAC1E,GAAI,OAAO,IAAU,SAAU,OAAO,EAAM,SAAS,EACrD,GAAI,OAAO,IAAU,UAAY,IAAU,KAAM,CAC/C,GAAI,EAAK,IAAI,CAAK,EAAG,MAAO,aAC5B,EAAK,IAAI,CAAK,EAEhB,OAAO,EAGF,SAAS,CAAa,CAAC,EAAsB,CAClD,GAAI,CACF,IAAM,EAAS,KAAK,UAAU,CAAG,EACjC,GAAI,OAAO,IAAW,SAAU,OAAO,EACvC,OAAO,OAAO,CAAM,EACpB,KAAM,CACN,GAAI,CACF,EAAO,IAAI,QACX,IAAM,EAAS,KAAK,UAAU,EAAK,EAAY,EAC/C,OAAO,OAAO,IAAW,SAAW,EAAS,OAAO,CAAG,EACvD,MAAO,EAAG,CAEV,OADA,EAAO,MAAM,yBAAyB,GAAG,EAClC,OAAO,CAAG,IAYhB,SAAS,CAAkB,CAChC,EACA,EAC2B,CAC3B,GACE,OAAO,IAAU,UACjB,OAAO,IAAU,UACjB,OAAO,IAAU,UAEjB,OAAO,EACT,OAAO,EAAW,CAAK,ECjDzB,+BACE,mBACA,qBACA,YACA,2BAOF,mCACE,wCAGF,4BAAS,qBCfT,uBACE,cACA,2BAGF,4BAAS,oBAIT,IAAI,EAAY,GACZ,EAA6C,KAE3C,EAAc,IAAI,EAClB,EAAuB,IAAI,EAE3B,GAAiB,EAAY,OAAO,KAAK,CAAW,EACpD,GAAe,EAAY,KAAK,KAAK,CAAW,EAChD,GAAe,EAAY,KAAK,KAAK,CAAW,EAEtD,SAAS,CAAa,EAAY,CAChC,OAAO,EAAY,SAAS,IAAM,GAG7B,SAAS,CAAwB,CACtC,EACM,CAEN,GADA,EAAqB,EACjB,EAAW,OAEf,IAAM,EAAM,EAWZ,EAAI,OAAS,IAAe,CAC1B,GAAI,CAAC,EAAc,EAAG,OAAO,GAAe,EAC5C,IAAM,EAAU,EAAqB,SAAS,EAC9C,GAAI,EAAS,OAAO,EACpB,OAAO,EAAqB,EAAmB,EAAI,IAGrD,EAAI,KAAO,CAAC,EAAc,EAAI,KAAY,IAAS,CACjD,GAAI,CAAC,EAAc,EACjB,OAAO,GAAa,EAAc,EAAI,EAAS,GAAG,CAAI,EACxD,OAAO,EAAqB,IAAI,EAAc,IAC5C,EAAG,MAAM,EAAS,CAAI,CACxB,GAGF,EAAI,KAAO,CAAC,EAAc,IAAW,CACnC,GAAI,CAAC,EAAc,EAAG,OAAO,GAAa,EAAc,CAAM,EAC9D,GAAI,OAAO,IAAW,WAAY,OAAO,EACzC,IAAM,EAAK,EACX,MAAQ,IAAI,IACV,EAAqB,IAAI,EAAc,IACrC,EAAG,GAAG,CAAI,CACZ,GAGJ,EAAY,GAGP,SAAS,EAAwB,CAAC,EAAc,EAAgB,CACrE,OAAO,EAAY,IAAI,GAAM,IAAM,EAAqB,IAAI,EAAK,CAAE,CAAC,ED9CtE,IAAM,GAAc,WAEd,EAAkB,IAAI,GAE5B,MAAM,EAA8B,CAC1B,UAER,WAAW,CAAC,EAAkC,CAC5C,KAAK,UAAY,EAGnB,SAAS,CAAC,EAAc,EAAuB,EAAyB,CACtE,IAAM,EAAM,GAAW,KAAK,UAAU,kBAAkB,EAExD,OADiB,KAAK,UAAU,mBAAmB,EACnC,UAAU,EAAM,EAAS,CAAG,EAkB9C,eAAkD,CAChD,KACG,EACY,CACf,IAAI,EAAuB,CAAC,EACxB,EAAmB,KAAK,UAAU,kBAAkB,EACpD,EAEJ,GAAI,EAAK,SAAW,EAClB,EAAK,EAAK,GACL,QAAI,EAAK,SAAW,EACzB,EAAU,EAAK,GACf,EAAK,EAAK,GAEV,OAAU,EAAK,GACf,EAAU,EAAK,GACf,EAAK,EAAK,GAGZ,IAAM,EAAO,KAAK,UAAU,EAAM,EAAS,CAAO,EAClD,OAAO,KAAK,UAAU,QAAQ,EAAM,GAAM,GAAM,GAAM,IACpD,EAAG,CAAI,CACT,EAEJ,CAEA,MAAM,EAA6B,CACjC,SAAS,EAAS,CAChB,OAAO,EAAM,gBAAgB,EAAoB,EAkBnD,eAAkD,CAChD,KACG,EACY,CAGf,OADE,EAAK,SAAW,EAAI,EAAK,GAAK,EAAK,SAAW,EAAI,EAAK,GAAK,EAAK,IACzD,KAAK,UAAU,CAAC,EAE9B,CAEO,MAAM,CAAiD,OAC7C,WAA2C,KAElD,cAAmC,KACnC,kBAAuC,CAAC,EACxC,YACA,aACA,SAAW,IAAI,IAEf,WAAW,EAAG,CACpB,KAAK,YAAc,IAAI,GACvB,KAAK,aAAe,IAAI,GAAY,IAAI,EACxC,EAAyB,IAAM,KAAK,kBAAkB,CAAC,QAGlD,YAAW,EAA2B,CAE3C,OADA,EAAuB,YAAc,IAAI,EAClC,EAAuB,gBASzB,8BAA6B,EAAY,CAC9C,IAAM,EAAW,EAAuB,YAAY,EACpD,OAAO,EAAM,wBAAwB,CAAQ,EAG/C,QAAQ,CAAC,EAA0B,CACjC,KAAK,SAAS,IAAI,CAAM,EAG1B,UAAU,CAAC,EAA0B,CACnC,KAAK,SAAS,OAAO,CAAM,EAG7B,SAAS,CAAC,EAA6B,CACrC,IAAM,EAAc,KAAK,eAAe,EACxC,GAAI,GAAa,YAAY,GAC3B,GAAI,EAAM,QAAQ,KAAK,kBAAkB,CAAC,IAAM,EAI9C,OAHA,EAAO,MACL,oFACF,EACO,GAKX,OAFA,KAAK,SAAS,CAAM,EACpB,KAAK,cAAgB,EACd,GAGT,eAAe,EAAsB,CACnC,OAAO,KAAK,cAGd,iBAAiB,EAAY,CAC3B,OAAO,EAAgB,SAAS,GAAK,GAGvC,cAAc,EAAqB,CACjC,IAAM,EAAM,KAAK,kBAAkB,EACnC,OAAO,EAAM,QAAQ,CAAG,EAG1B,iBAAiB,EAAY,CAE3B,GAAI,CADgB,KAAK,eAAe,GACtB,YAAY,EAAG,MAAO,GACxC,MAAO,GAGT,kBAAkB,EAAW,CAC3B,IAAM,EAAS,KAAK,cACpB,GAAI,CAAC,EAEH,OADA,EAAO,MAAM,wCAAwC,EAC9C,KAAK,YAEd,OAAO,EAAO,gBAAgB,UAAU,EAAW,EAGrD,SAAS,CACP,EACA,EACA,EACQ,CACR,OAAO,KAAK,aAGd,kBAAkB,CAAC,EAAqC,CACtD,GAAI,CACF,GAAyB,CACvB,eAAgB,KAChB,iBAAkB,CAAC,CAAY,CACjC,CAAC,EACD,KAAK,kBAAkB,KAAK,CAAY,EACxC,MAAO,EAAc,CACrB,EAAO,MAAM,kCAAkC,OAAO,CAAG,GAAG,GAIhE,OAAU,CACR,EACA,EACA,EACA,EACA,EACG,CACH,IAAM,EAAU,KAAK,kBAAkB,EACjC,EAAM,EAAM,QAAQ,EAAS,CAAI,EACvC,OAAO,EAAgB,IAAI,EAAK,IAC9B,GAAsB,EAAK,IAAM,CAC/B,GAAI,CACF,IAAM,EAAS,EAAG,EAClB,GAAI,aAAkB,QACpB,OAAO,EACJ,MAAM,CAAC,IAAiB,CACvB,GAAI,EAAK,YAAY,EAAG,CACtB,GAAI,EAAiB,EAAK,gBAAgB,CAAY,EACtD,GAAI,EAAsB,CACxB,IAAM,EAAM,EACZ,EAAK,UAAU,CACb,KAAM,GAAe,MACrB,QAAS,GAAG,EAAI,SAAS,EAAI,SAC/B,CAAC,GAGL,MAAM,EACP,EACA,QAAQ,IAAM,CACb,GAAI,EAAW,EAAK,IAAI,EACzB,EAEL,GAAI,EAAW,EAAK,IAAI,EACxB,OAAO,EACP,MAAO,EAAK,CACZ,GAAI,EAAK,YAAY,EAAG,CACtB,GAAI,EAAiB,EAAK,gBAAgB,CAAY,EACtD,GAAI,EAAsB,CACxB,IAAM,EAAM,EACZ,EAAK,UAAU,CACb,KAAM,GAAe,MACrB,QAAS,GAAG,EAAI,SAAS,EAAI,SAC/B,CAAC,GAGL,GAAI,EAAW,EAAK,IAAI,EACxB,MAAM,GAET,CACH,EAGF,aAAa,CAAC,EAAoB,CAChC,EAAgB,UAAU,CAAG,OAGzB,WAAU,EAAkB,CAChC,MAAM,QAAQ,IACZ,MAAM,KAAK,KAAK,QAAQ,EAAE,IAAI,CAAC,IAAM,EAAE,gBAAgB,WAAW,CAAC,CACrE,OAGI,SAAQ,EAAkB,CAC9B,MAAM,QAAQ,IACZ,MAAM,KAAK,KAAK,QAAQ,EAAE,IAAI,CAAC,IAAM,EAAE,gBAAgB,SAAS,CAAC,CACnE,EACA,KAAK,cAAgB,KACrB,KAAK,SAAS,MAAM,EAExB,CE1RO,IAAM,EAAkB,OAAO,IAAI,sBAAsB,EACnD,EAAiB,OAAO,IAAI,qBAAqB,EN2B9D,IAAM,GAAc,WAgCb,MAAe,CAAW,CAC/B,YACA,UACA,OACA,eACA,OACA,YACA,WACA,gBACA,QACA,kBAMU,WAAW,CACnB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,KAAK,YAAc,EACnB,KAAK,UAAY,EACjB,KAAK,OAAS,EACd,KAAK,eAAiB,EACtB,KAAK,OAAS,EACd,KAAK,YAAc,EACnB,KAAK,WAAa,EAClB,KAAK,gBAAkB,EACvB,KAAK,QAAU,EACf,KAAK,kBAAoB,EAG3B,SAAS,EAAY,CACnB,OAAO,EAAuB,YAAY,EAAE,UAAU,IAAI,QAc7C,kBAAiB,EAA2B,CACzD,OAAO,EAAuB,YAAY,QAG7B,eAAc,EAAe,CAE1C,OADe,EAAW,kBAAkB,EAAE,gBAAgB,GAC/C,YAAc,QAGhB,0BAAyB,EAA4B,CAElE,IAAM,EADQ,EAAW,kBAAkB,EACjB,eAAe,EACzC,GAAI,CAAC,GAAa,YAAY,EAAG,OAAO,KACxC,IAAM,EAAM,EAAY,YAAY,EACpC,GAAI,CAAC,EAAI,SAAW,EAAE,EAAI,WAAa,GAAO,OAAO,KACrD,MAAO,CAAC,EAAI,QAAS,EAAI,MAAM,QAGlB,aAAY,EAAS,CAClC,IAAM,EAAS,EAAW,kBAAkB,EAAE,gBAAgB,EAC9D,GAAI,CAAC,EAAQ,OACb,EAAO,iBAAiB,EAAE,YAAY,QAOjC,eAAc,EAAqB,CAExC,OADc,EAAW,kBAAkB,EAC9B,eAAe,cAGjB,WAAU,EAAkB,CAEvC,MADc,EAAW,kBAAkB,EAC/B,WAAW,cAGZ,SAAQ,EAAkB,CAErC,MADc,EAAW,kBAAkB,EAC/B,SAAS,QAGhB,4BAA2B,CAAC,EAAqC,CACxD,EAAW,kBAAkB,EACrC,mBAAmB,CAAY,QAOhC,cAAa,EAAW,CAE7B,OADc,EAAW,kBAAkB,EAC9B,UAAU,EAAW,QAG7B,UAAS,CAAC,EAAc,EAA+B,CAC5D,IAAM,EAAO,EAAW,cAAc,EAAE,UAAU,EAAM,CAAE,YAAW,CAAC,EAEtE,OADA,EAAW,aAAa,EACjB,QAGF,gBAAkB,CACvB,EACA,EACA,EACG,CACH,OAAO,EAAW,cAAc,EAAE,gBAChC,EACA,CAAE,YAAW,EACb,CAAC,IAAS,CACR,EAAW,aAAa,EACxB,IAAM,EAAS,EAAG,CAAI,EACtB,GAAI,aAAkB,QACpB,OAAQ,EAA4B,QAAQ,IAAM,CAChD,EAAK,IAAI,EACV,EAGH,OADA,EAAK,IAAI,EACF,EAEX,QAOK,KAAO,CAAC,EAAkB,EAA0B,CACzD,OAAO,EAAW,gBAAgB,EAAU,CAAC,IAAS,CACpD,GAAI,CACF,IAAM,EAAS,EAAG,CAAI,EACtB,GAAI,aAAkB,QACpB,OAAO,EAAO,MAAM,CAAC,IAAe,CAGlC,MAFA,EAAK,UAAU,CAAE,KAAM,EAAe,MAAO,QAAS,OAAO,CAAC,CAAE,CAAC,EACjE,EAAK,gBAAgB,CAAU,EACzB,EACP,EAEH,OAAO,EACP,MAAO,EAAG,CAGV,MAFA,EAAK,UAAU,CAAE,KAAM,EAAe,MAAO,QAAS,OAAO,CAAC,CAAE,CAAC,EACjE,EAAK,gBAAgB,CAAU,EACzB,GAET,QAGI,KAAO,CAAC,EAAkB,EAA0B,CACzD,OAAO,EAAW,KAAK,EAAU,CAAE,QAuB9B,QAAyC,CAC9C,EACA,EAAW,OACX,EACA,EAAc,GACd,EAAe,GACf,EAA4B,GAG2C,CAEvE,IAAM,EAAQ,EAAW,kBAAkB,EACrC,EAAY,CAChB,IACkC,CAClC,IAAM,EAAO,GAAY,EAAU,KACnC,MAAO,IAAI,IAAyB,CAElC,OADmB,EAAM,UAAU,EAAW,EAC5B,gBAAgB,EAAM,CAAC,IAAS,CAChD,GAAI,EACF,EAAK,kCAA+C,CAAQ,EAE9D,GAAI,CACF,GAAI,EACF,EAAK,8BAEH,EACE,GAAU,EAAW,CAAI,EACzB,EAAW,eAAe,CAC5B,CACF,EAEF,EAAW,aAAa,EACxB,IAAM,EAAS,EAAU,GAAG,CAAI,EAEhC,GAAI,aAAkB,QACpB,OAAQ,EACL,KAAK,CAAC,IAAQ,CACb,GAAI,EACF,EAAK,+BAEH,EAAmB,EAAK,EAAW,eAAe,CAAC,CACrD,EAEF,OAAO,EACR,EACA,MAAM,CAAC,IAAe,CAMrB,MALA,EAAK,gBAAgB,CAAU,EAC/B,EAAK,UAAU,CACb,KAAM,EAAe,MACrB,QAAS,OAAO,CAAC,CACnB,CAAC,EACK,EACP,EACA,QAAQ,IAAM,CACb,EAAK,IAAI,EACV,EAGL,GAAI,EACF,EAAK,+BAEH,EAAmB,EAAQ,EAAW,eAAe,CAAC,CACxD,EAGF,OADA,EAAK,IAAI,EACF,EACP,MAAO,EAAG,CAIV,MAHA,EAAK,gBAAgB,CAAU,EAC/B,EAAK,UAAU,CAAE,KAAM,EAAe,MAAO,QAAS,OAAO,CAAC,CAAE,CAAC,EACjE,EAAK,IAAI,EACH,GAET,IAIL,GAAI,CAAC,EAAM,OAAO,EAClB,OAAO,EAAU,CAAI,QAOhB,YAAW,CAAC,EAAoB,CACrC,GAAI,CAAC,EAAM,OACX,IAAM,EAAc,EAAW,kBAAkB,EAAE,eAAe,EAClE,GAAI,GAAa,YAAY,EAC3B,EAAY,kCAA+C,CAAI,QAI5D,WAAU,EAAS,CACxB,EAAW,YAAY,KAAK,QAGvB,YAAW,EAAS,CACzB,EAAW,YAAY,MAAM,QAGxB,eAAc,EAAS,CAC5B,EAAW,YAAY,MAAM,QAOxB,aAAY,CAAC,EAAa,EAAsB,CACrD,IAAM,EAAc,EAAW,kBAAkB,EAAE,eAAe,EAClE,GAAI,CAAC,GAAa,YAAY,EAAG,OACjC,GAAI,CAAC,GAAO,GAAS,KAAM,OAC3B,EAAY,aACV,EACA,EAAmB,EAAO,EAAW,eAAe,CAAC,CACvD,QAGK,cAAa,CAAC,EAA2C,CAC9D,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAU,EAClD,EAAW,aAAa,EAAK,CAAK,QAI/B,SAAQ,CAAC,EAA0B,CACxC,EAAW,8BAA2C,CAAS,QAG1D,UAAS,CAAC,EAA2B,CAC1C,EAAW,+BAA4C,CAAU,QAG5D,kBAAiB,CAAC,EAA6B,CACpD,IAAM,EAAc,EAAW,kBAAkB,EAAE,eAAe,EAClE,GAAI,CAAC,GAAa,YAAY,EAAG,OAEjC,GAAI,OAAO,EAAS,QAAU,SAC5B,EAAY,kCAEV,EAAS,KACX,EAGF,GAAI,OAAO,EAAS,WAAa,SAC/B,EAAY,qCAEV,EAAS,QACX,EAGF,GAAI,OAAO,EAAS,0BAA4B,SAC9C,EAAY,sDAEV,EAAS,uBACX,EAEF,GAAI,OAAO,EAAS,gBAAkB,SACpC,EAAY,4CAEV,EAAS,aACX,EAEF,GAAI,OAAO,EAAS,0BAA4B,SAC9C,EAAY,sDAEV,EAAS,uBACX,EAEF,GAAI,OAAO,EAAS,8BAAgC,SAClD,EAAY,0DAEV,EAAS,2BACX,EAEF,GAAI,OAAO,EAAS,iBAAmB,SACrC,EAAY,6CAEV,EAAS,cACX,QAQG,cAAa,CAAC,EAA0B,CAC7C,IAAM,EAAQ,EAAW,kBAAkB,EACrC,EAAc,EAAM,eAAe,EACzC,GAAI,CAAC,GAAa,YAAY,EAAG,OACjC,EAAY,oCAAiD,CAAU,EACvE,IAAM,EAAM,EAAM,kBAAkB,EAAE,SAAS,EAAiB,CAAU,EAC1E,EAAM,cAAc,CAAG,QAGlB,aAAY,CAAC,EAAyB,CAC3C,IAAM,EAAQ,EAAW,kBAAkB,EACrC,EAAc,EAAM,eAAe,EACzC,GAAI,CAAC,GAAa,YAAY,EAAG,OACjC,IAAM,EAAU,EAAY,YAAY,EACxC,GAAI,CAAC,EAAQ,SAAW,EAAE,EAAQ,WAAa,GAAO,OACtD,EAAY,mCAAgD,CAAS,EACrE,IAAM,EAAM,EAAM,kBAAkB,EAAE,SAAS,EAAgB,CAAS,EACxE,EAAM,cAAc,CAAG,QAOlB,IAAG,CAAC,EAA+B,CACxC,GAAI,CAAC,GAAS,MAAM,QAAQ,CAAI,GAAK,EAAK,SAAW,EAAI,OAEzD,IAAM,EADQ,EAAW,kBAAkB,EACtB,gBAAgB,EACrC,GAAI,CAAC,GAAQ,WAAa,CAAC,EAAO,QAAS,OAC3C,IAAM,EAAM,EAAW,0BAA0B,EACjD,GAAI,CAAC,EAAK,OACV,IAAO,GAAW,EACZ,EAAW,MAAM,QAAQ,CAAI,EAAI,EAAO,CAAC,CAAI,EACnD,EAAO,QACJ,kCAAkC,EAAO,UAAW,EAAS,CAC5D,KAAM,CACR,CAAC,EACA,MAAM,CAAC,IAAiB,CACvB,EAAO,MAAM,eAAe,OAAO,CAAG,GAAG,EAC1C,QAQU,eAAgB,IAAI,UAE5B,cAAa,CAAC,EAAe,EAAyC,CAC3E,IAAM,EAAQ,EAAW,kBAAkB,EACrC,EAAS,EAAM,gBAAgB,EACrC,GAAI,CAAC,EAAQ,CACX,EAAO,QAAQ,iCAAiC,EAChD,OAEF,GAAI,CAAC,EAAO,UAAW,CACrB,EAAO,QAAQ,sCAAsC,EACrD,OAEF,IAAM,EAAc,EAAM,eAAe,EACzC,GAAI,CAAC,GAAa,YAAY,EAAG,CAC/B,EAAO,QAAQ,+BAA+B,EAC9C,OAGF,IAAM,EAAM,EAAY,YAAY,EAC9B,EAAU,GAAG,EAAI,WAAW,EAAI,SAChC,EAAW,EAAW,cAAc,IAAI,CAAO,GAAK,CAAC,EAErD,EAA8B,CAClC,WAAY,EAAO,UACnB,UAAW,kBAAkB,KAAS,EAAS,SAC/C,OAAQ,CAAC,CAAE,KAAM,CAAM,CAAC,EACxB,SAAU,CACR,IACK,EACH,WAAY,GAAW,EACvB,WAAY,IAAI,KAAK,EAAE,YAAY,EACnC,SAAU,EAAI,QACd,QAAS,EAAI,MACf,CACF,EACA,WAAY,GACZ,YAAa,EACf,EAEA,EAAS,KAAK,CAAO,EACrB,EAAW,cAAc,IAAI,EAAS,CAAQ,EAE9C,EAAY,2CAEV,KAAK,UAAU,CAAQ,CACzB,EAEJ,CAEA,SAAS,EAAkC,CACzC,EACA,EACyB,CACzB,GAAI,CACF,IAAM,EAAa,EAAkB,CAAC,EACnC,IAAI,CAAC,IACJ,EACG,QAAQ,UAAW,EAAE,EACrB,MAAM,GAAG,EAAE,GACX,KAAK,CACV,EACC,OAAO,CAAC,IAAU,EAAM,OAAS,CAAC,EAC/B,EAAkC,CAAC,EAMzC,OALA,EAAW,QAAQ,CAAC,EAAM,IAAU,CAClC,GAAI,EAAQ,EAAK,OACf,EAAO,GAAQ,EAAK,GAEvB,EACM,EACP,KAAM,CACN,MAAO,CAAC,GOxiBZ,4BAAS,iDAIF,MAAM,CAA6C,CAC9C,UAEV,WAAW,CACT,EACA,EACA,EACA,EACA,CACA,KAAK,UAAY,IAAI,GAAkB,CACrC,IAAK,EACL,QAAS,CACP,cAAe,UAAU,IACzB,oBAAqB,EACrB,eAAgB,CAClB,CACF,CAAC,EAGH,MAAM,CACJ,EACA,EACM,CACN,EAAO,KAAK,YAAY,EAAM,cAAc,EAC5C,KAAK,WAAW,OAAO,EAAO,CAAc,EAG9C,QAAQ,EAAkB,CACxB,OAAO,KAAK,WAAW,SAAS,GAAK,QAAQ,QAAQ,EAGvD,UAAU,EAAkB,CAC1B,OAAO,KAAK,WAAW,WAAW,GAAK,QAAQ,QAAQ,EAE3D,CCvCA,2BAAS,6BAIF,MAAM,UAAyB,CAAqB,CACzD,WAAW,EAAG,CAEZ,MAAM,6CAA8C,GAAI,GAAI,EAAE,EAC9D,KAAK,UAAY,KAGV,MAAM,CACb,EACA,EACM,CACN,EAAe,CAAE,KAAM,GAAiB,OAAQ,CAAC,EAG1C,QAAQ,EAAkB,CACjC,OAAO,QAAQ,QAAQ,EAGhB,UAAU,EAAkB,CACnC,OAAO,QAAQ,QAAQ,EAE3B,CCxBA,6BACE,uCCCF,IAAM,GAAiC,CAAC,EAEjC,SAAS,CAAQ,CAAC,EAA0C,CACjE,GAAW,KAAK,CAAgB,EAG3B,SAAS,CAAM,EAAoB,CACxC,OAAO,GAAW,IAAI,CAAC,IAAY,EAAQ,CAAC,ECC9C,MAAM,CAA6C,CACjD,OAAO,CAAC,EAAY,EAA8B,CAChD,IAAM,EAAa,EAAc,SAAS,CAAe,EACzD,GAAI,EACF,EAAK,oCAAiD,CAAU,EAIpE,KAAK,CAAC,EAA2B,EAGjC,UAAU,EAAkB,CAC1B,OAAO,QAAQ,QAAQ,EAEzB,QAAQ,EAAkB,CACxB,OAAO,QAAQ,QAAQ,EAE3B,CAEA,EAAS,IAAM,IAAI,CAAqB,ECnBxC,MAAM,CAA4C,CAChD,OAAO,CAAC,EAAY,EAA8B,CAChD,IAAM,EAAY,EAAc,SAAS,CAAc,EACvD,GAAI,EACF,EAAK,mCAAgD,CAAS,EAIlE,KAAK,CAAC,EAA2B,EAGjC,UAAU,EAAkB,CAC1B,OAAO,QAAQ,QAAQ,EAEzB,QAAQ,EAAkB,CACxB,OAAO,QAAQ,QAAQ,EAE3B,CAEA,EAAS,IAAM,IAAI,CAAoB,EHbvC,SAAS,CAAW,CAAC,EAA2B,CAC9C,MAAO,GAAG,EAAI,WAAW,EAAI,SAG/B,SAAS,EAAY,CAAC,EAAyB,CAC7C,OAAO,EAAO,KAAO,GAAK,EAAO,KAAO,EAGnC,MAAM,UAA8B,EAAmB,CAC5D,OACQ,oBAAsB,IAAI,IAElC,WAAW,CACT,EACA,EACA,EAMA,CACA,MAAM,EAAU,CAAM,EACtB,KAAK,OAAS,EAGR,iBAAiB,CAAC,EAAwB,CAChD,KAAK,oBAAoB,OAAO,CAAO,EAGzC,oBAAoB,CAClB,EACA,EACA,EACM,CACN,IAAM,EAAU,EAAY,CAAW,EACnC,EAAQ,KAAK,oBAAoB,IAAI,CAAO,EAChD,GAAI,CAAC,EACH,EAAQ,IAAI,IACZ,KAAK,oBAAoB,IAAI,EAAS,CAAK,EAE7C,EAAM,IAAI,EAAK,CAAK,EAGtB,oBAAoB,CAClB,EACA,EACA,EAAwB,KACf,CACT,IAAM,EAAU,EAAY,CAAW,EACjC,EAAQ,KAAK,oBAAoB,IAAI,CAAO,EAClD,GAAI,CAAC,EAAO,OAAO,EACnB,OAAO,EAAM,IAAI,CAAG,EAAI,EAAM,IAAI,CAAG,EAAI,EAGnC,SAAS,CAAC,EAA0B,CAC1C,IAAM,EAAM,EAAK,YAAY,EACvB,EAAU,EAAY,CAAG,EAC3B,EAAQ,KAAK,oBAAoB,IAAI,CAAO,EAChD,GAAI,CAAC,EACH,EAAQ,IAAI,IACZ,KAAK,oBAAoB,IAAI,EAAS,CAAK,EAG7C,IAAM,EACH,EAAM,wBAAoC,GAA4B,EACzE,EAAM,yBAAsC,EAAS,CAAC,EAEtD,IAAM,EAAgB,IACjB,EAAK,WACP,qBAAmC,CACtC,EAEM,EAAc,OAAO,OAAO,CAAI,EACtC,OAAO,eAAe,EAAa,aAAc,CAC/C,MAAO,EACP,SAAU,EACZ,CAAC,EACD,IAAM,EAAU,GAAa,EAAK,OAAO,EAAI,EAAK,UAAY,EAAK,QACnE,OAAO,eAAe,EAAa,UAAW,CAC5C,MAAO,EACP,SAAU,EACZ,CAAC,EAED,MAAM,MAAM,CAAW,EAGzB,WAAW,EAAS,CAElB,IAAM,EADQ,EAAuB,YAAY,EAC9B,eAAe,EAClC,GAAI,CAAC,GAAM,YAAY,EAAG,OAC1B,GACE,KAAK,qBACH,EAAK,YAAY,yBAEjB,EACF,EAEA,OAEF,KAAK,UAAU,CAA+B,EAGhD,OAAO,CAAC,EAAY,EAA8B,CAChD,QAAW,KAAa,EAAO,EAC7B,EAAU,QAAQ,EAAM,CAAa,EAIzC,KAAK,CAAC,EAA0B,CAC9B,QAAW,KAAa,EAAO,EAC7B,EAAU,MAAM,CAAI,EAEtB,IAAM,EAAM,EAAK,YAAY,EAM7B,GAAI,CALgB,KAAK,qBACvB,cAEA,EACF,EAEE,KAAK,UAAU,CAAI,EAErB,IAAM,EAAU,EAAY,CAAG,EAC/B,KAAK,kBAAkB,CAAO,EAElC,CIzIO,MAAM,UAA0B,CAAsB,CAC3D,WAAW,EAAG,CACZ,MAAM,KAAM,IAAI,CAAkB,EAGpC,OAAO,CAAC,EAAa,EAA+B,EAIpD,KAAK,CAAC,EAA2B,EAIjC,QAAQ,EAAkB,CACxB,OAAO,QAAQ,QAAQ,EAGzB,UAAU,EAAkB,CAC1B,OAAO,QAAQ,QAAQ,EAGzB,WAAW,EAAS,EAIpB,oBAAoB,CAClB,EACA,EACA,EACM,EAIR,oBAAoB,CAClB,EACA,EACA,EAAwB,KACf,CACT,OAAO,EAEX,CC7CA,0BACE,6BACA,kCAEF,6BAAS,uCCDT,IAAM,GAAQ,IAAI,IACZ,EAAW,IAAI,IAErB,eAAsB,EAAgB,CACpC,EACA,EACiB,CACjB,IAAM,EAAW,OAAO,EAAO,kBAAkB,aAAa,IACxD,EAAS,GAAM,IAAI,CAAQ,EACjC,GAAI,EACF,OAAO,EAET,IAAM,EAAU,EAAS,IAAI,CAAQ,EACrC,GAAI,EACF,OAAO,EAET,IAAM,GAAW,SAA6B,CAC5C,EAAO,KAAK,qCAAqC,GAAa,EAI9D,IAAM,GAHW,MAAM,EAAO,sBAAsB,CAClD,aAAc,CAChB,CAAC,GAC0B,WAC3B,GAAI,CAAC,EACH,MAAU,MAAM,qCAAqC,GAAa,EAIpE,OAFA,EAAO,KAAK,wBAAwB,GAAW,EAC/C,GAAM,IAAI,EAAU,CAAS,EACtB,IACN,EACH,EAAS,IAAI,EAAU,CAAO,EAC9B,GAAI,CACF,OAAO,MAAM,SACb,CACA,EAAS,OAAO,CAAQ,kBClCrB,IAAM,GAAU,GFiBhB,MAAM,UAAe,CAAW,CAC7B,cAA6C,KAC7C,eAA+C,KAE/C,WAAW,CACjB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,MACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,cAGW,KAAI,CAAC,EAAuB,CAAC,EAAoB,CAC5D,IAAM,EAAS,EAAO,QAAU,EAC1B,EAAiB,EAAO,gBAAkB,EAC1C,EAAS,EAAO,QAAU,EAC1B,EAAc,EAAO,aAAe,KACpC,EAAa,EAAO,YAAc,EAEpC,EAAmB,GAEvB,GAAI,CAAC,EACH,EAAO,QACL,0DACF,EACA,EAAmB,GAErB,GAAI,CAAC,EACH,EAAO,QAAQ,qDAAqD,EACpE,EAAmB,GAErB,GAAI,CAAC,EACH,EAAO,QACL,6DACF,EACA,EAAmB,GAErB,GAAI,CAAC,EACH,EAAO,QAAQ,qDAAqD,EACpE,EAAmB,GAGrB,IAAI,EAAmC,KACnC,EAA2B,KAE/B,GAAI,GAAoB,GAAe,GAAU,GAAkB,GAGjE,GAFA,EAAS,IAAI,EAAkB,EAAQ,EAAQ,CAAc,EAC7D,EAAY,MAAM,GAAiB,EAAQ,CAAW,EAAE,MAAM,IAAM,IAAI,EACpE,CAAC,EACH,EAAO,QACL,YAAY,6CACd,EACA,EAAmB,GAIvB,IAAM,EAAwC,CAC5C,eAAgB,GAAe,UAC/B,qBAAsB,WACtB,wBAAyB,EAC3B,EACA,GAAI,EAAO,YACT,EAAc,0BAA4B,EAAO,YAEnD,GAAI,EAAO,mBACT,OAAO,OAAO,EAAe,EAAO,kBAAkB,EAGxD,IAAM,EAAW,GAAgB,EAAE,MACjC,GAAuB,CAAa,CACtC,EAEM,EAAiB,IAAI,GAAmB,CAAE,UAAS,CAAC,EAEpD,EAAS,IAAI,EACjB,EACA,EACA,EACA,EACA,EACA,EAAO,aAAe,KACtB,EACA,EACA,EACA,CACF,EAEA,GAAI,EAAkB,CACpB,IAAM,EAAwB,IAAI,GAAmB,CACnD,WACA,eAAgB,CAAC,EAAO,iBAAiB,CAAC,CAC5C,CAAC,EACD,EAAO,gBAAkB,EAM3B,GAHc,EAAuB,YAAY,EAC3C,SAAS,CAAM,EAEjB,EAAO,WAAa,GACtB,EAAO,UAAU,EAGnB,OAAO,EAGT,eAAe,EAAyB,CACtC,GAAI,KAAK,cAAe,OAAO,KAAK,cAEpC,GACE,CAAC,KAAK,mBACN,CAAC,KAAK,WACN,CAAC,KAAK,QACN,CAAC,KAAK,gBACN,CAAC,KAAK,OAEN,KAAK,cAAgB,IAAI,EACpB,KACL,IAAM,EAAW,KAAK,OAAO,SAAS,GAAG,EACrC,KAAK,OAAS,iBACd,KAAK,OAAS,kBAClB,KAAK,cAAgB,IAAI,EACvB,EACA,KAAK,OACL,KAAK,eACL,KAAK,SACP,EAEF,OAAO,KAAK,cAGd,gBAAgB,EAA0B,CACxC,GAAI,KAAK,eAAgB,OAAO,KAAK,eAErC,GAAI,CAAC,KAAK,kBACR,KAAK,eAAiB,IAAI,EAE1B,UAAK,eAAiB,IAAI,EACxB,KACA,KAAK,gBAAgB,CACvB,EAEF,OAAO,KAAK,eAEhB",
27
+ "debugId": "FD77E1D045E3860B64756E2164756E21",
28
28
  "names": []
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OtelContextBridge.d.ts","sourceRoot":"","sources":["../../../src/trace/instrumentation/OtelContextBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAmB1E,wBAAgB,wBAAwB,CACtC,yBAAyB,EAAE,MAAM,OAAO,GACvC,IAAI,CAyCN;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAErE"}
1
+ {"version":3,"file":"OtelContextBridge.d.ts","sourceRoot":"","sources":["../../../src/trace/instrumentation/OtelContextBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAmB5B,wBAAgB,wBAAwB,CACtC,yBAAyB,EAAE,MAAM,OAAO,GACvC,IAAI,CAyCN;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAErE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "judgeval",
3
- "version": "0.9.3",
3
+ "version": "0.9.4",
4
4
  "description": "JavaScript/TypeScript client for Judgment evaluation platform",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",