braintrust 0.0.57 → 0.0.58

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/browser.js CHANGED
@@ -1,5 +1,5 @@
1
- function M(t,e){return function(){return t.apply(e,arguments)}}var{toString:Tt}=Object.prototype,{getPrototypeOf:we}=Object,ee=(t=>e=>{let r=Tt.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),O=t=>(t=t.toLowerCase(),e=>ee(e)===t),te=t=>e=>typeof e===t,{isArray:k}=Array,q=te("undefined");function Pt(t){return t!==null&&!q(t)&&t.constructor!==null&&!q(t.constructor)&&_(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var Ke=O("ArrayBuffer");function Ut(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Ke(t.buffer),e}var Lt=te("string"),_=te("function"),We=te("number"),re=t=>t!==null&&typeof t=="object",kt=t=>t===!0||t===!1,Z=t=>{if(ee(t)!=="object")return!1;let e=we(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},It=O("Date"),Ft=O("File"),Dt=O("Blob"),jt=O("FileList"),vt=t=>re(t)&&_(t.pipe),Bt=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||_(t.append)&&((e=ee(t))==="formdata"||e==="object"&&_(t.toString)&&t.toString()==="[object FormData]"))},zt=O("URLSearchParams"),Ht=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function J(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,i;if(typeof t!="object"&&(t=[t]),k(t))for(n=0,i=t.length;n<i;n++)e.call(null,t[n],n,t);else{let s=r?Object.getOwnPropertyNames(t):Object.keys(t),o=s.length,u;for(n=0;n<o;n++)u=s[n],e.call(null,t[u],u,t)}}function Ge(t,e){e=e.toLowerCase();let r=Object.keys(t),n=r.length,i;for(;n-- >0;)if(i=r[n],e===i.toLowerCase())return i;return null}var Xe=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Qe=t=>!q(t)&&t!==Xe;function be(){let{caseless:t}=Qe(this)&&this||{},e={},r=(n,i)=>{let s=t&&Ge(e,i)||i;Z(e[s])&&Z(n)?e[s]=be(e[s],n):Z(n)?e[s]=be({},n):k(n)?e[s]=n.slice():e[s]=n};for(let n=0,i=arguments.length;n<i;n++)arguments[n]&&J(arguments[n],r);return e}var Mt=(t,e,r,{allOwnKeys:n}={})=>(J(e,(i,s)=>{r&&_(i)?t[s]=M(i,r):t[s]=i},{allOwnKeys:n}),t),qt=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Jt=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},Vt=(t,e,r,n)=>{let i,s,o,u={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),s=i.length;s-- >0;)o=i[s],(!n||n(o,t,e))&&!u[o]&&(e[o]=t[o],u[o]=!0);t=r!==!1&&we(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},$t=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},Kt=t=>{if(!t)return null;if(k(t))return t;let e=t.length;if(!We(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Wt=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&we(Uint8Array)),Gt=(t,e)=>{let n=(t&&t[Symbol.iterator]).call(t),i;for(;(i=n.next())&&!i.done;){let s=i.value;e.call(t,s[0],s[1])}},Xt=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},Qt=O("HTMLFormElement"),Yt=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),Ve=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),Zt=O("RegExp"),Ye=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};J(r,(i,s)=>{e(i,s,t)!==!1&&(n[s]=i)}),Object.defineProperties(t,n)},er=t=>{Ye(t,(e,r)=>{if(_(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=t[r];if(_(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},tr=(t,e)=>{let r={},n=i=>{i.forEach(s=>{r[s]=!0})};return k(t)?n(t):n(String(t).split(e)),r},rr=()=>{},nr=(t,e)=>(t=+t,Number.isFinite(t)?t:e),xe="abcdefghijklmnopqrstuvwxyz",$e="0123456789",Ze={DIGIT:$e,ALPHA:xe,ALPHA_DIGIT:xe+xe.toUpperCase()+$e},ir=(t=16,e=Ze.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r};function sr(t){return!!(t&&_(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}var or=t=>{let e=new Array(10),r=(n,i)=>{if(re(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[i]=n;let s=k(n)?[]:{};return J(n,(o,u)=>{let p=r(o,i+1);!q(p)&&(s[u]=p)}),e[i]=void 0,s}}return n};return r(t,0)},ar=O("AsyncFunction"),ur=t=>t&&(re(t)||_(t))&&_(t.then)&&_(t.catch),a={isArray:k,isArrayBuffer:Ke,isBuffer:Pt,isFormData:Bt,isArrayBufferView:Ut,isString:Lt,isNumber:We,isBoolean:kt,isObject:re,isPlainObject:Z,isUndefined:q,isDate:It,isFile:Ft,isBlob:Dt,isRegExp:Zt,isFunction:_,isStream:vt,isURLSearchParams:zt,isTypedArray:Wt,isFileList:jt,forEach:J,merge:be,extend:Mt,trim:Ht,stripBOM:qt,inherits:Jt,toFlatObject:Vt,kindOf:ee,kindOfTest:O,endsWith:$t,toArray:Kt,forEachEntry:Gt,matchAll:Xt,isHTMLForm:Qt,hasOwnProperty:Ve,hasOwnProp:Ve,reduceDescriptors:Ye,freezeMethods:er,toObjectSet:tr,toCamelCase:Yt,noop:rr,toFiniteNumber:nr,findKey:Ge,global:Xe,isContextDefined:Qe,ALPHABET:Ze,generateString:ir,isSpecCompliantForm:sr,toJSONObject:or,isAsyncFn:ar,isThenable:ur};function I(t,e,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}a.inherits(I,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var et=I.prototype,tt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{tt[t]={value:t}});Object.defineProperties(I,tt);Object.defineProperty(et,"isAxiosError",{value:!0});I.from=(t,e,r,n,i,s)=>{let o=Object.create(et);return a.toFlatObject(t,o,function(p){return p!==Error.prototype},u=>u!=="isAxiosError"),I.call(o,t.message,e,r,n,i),o.cause=t,o.name=t.name,s&&Object.assign(o,s),o};var h=I;var ne=null;function Ee(t){return a.isPlainObject(t)||a.isArray(t)}function nt(t){return a.endsWith(t,"[]")?t.slice(0,-2):t}function rt(t,e,r){return t?t.concat(e).map(function(i,s){return i=nt(i),!r&&s?"["+i+"]":i}).join(r?".":""):e}function cr(t){return a.isArray(t)&&!t.some(Ee)}var lr=a.toFlatObject(a,{},null,function(e){return/^is[A-Z]/.test(e)});function pr(t,e,r){if(!a.isObject(t))throw new TypeError("target must be an object");e=e||new(ne||FormData),r=a.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,C){return!a.isUndefined(C[g])});let n=r.metaTokens,i=r.visitor||l,s=r.dots,o=r.indexes,p=(r.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(e);if(!a.isFunction(i))throw new TypeError("visitor must be a function");function c(d){if(d===null)return"";if(a.isDate(d))return d.toISOString();if(!p&&a.isBlob(d))throw new h("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(d)||a.isTypedArray(d)?p&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function l(d,g,C){let A=d;if(d&&!C&&typeof d=="object"){if(a.endsWith(g,"{}"))g=n?g:g.slice(0,-2),d=JSON.stringify(d);else if(a.isArray(d)&&cr(d)||(a.isFileList(d)||a.endsWith(g,"[]"))&&(A=a.toArray(d)))return g=nt(g),A.forEach(function(Y,Nt){!(a.isUndefined(Y)||Y===null)&&e.append(o===!0?rt([g],Nt,s):o===null?g:g+"[]",c(Y))}),!1}return Ee(d)?!0:(e.append(rt(C,g,s),c(d)),!1)}let f=[],x=Object.assign(lr,{defaultVisitor:l,convertValue:c,isVisitable:Ee});function y(d,g){if(!a.isUndefined(d)){if(f.indexOf(d)!==-1)throw Error("Circular reference detected in "+g.join("."));f.push(d),a.forEach(d,function(A,L){(!(a.isUndefined(A)||A===null)&&i.call(e,A,a.isString(L)?L.trim():L,g,x))===!0&&y(A,g?g.concat(L):[L])}),f.pop()}}if(!a.isObject(t))throw new TypeError("data must be an object");return y(t),e}var T=pr;function it(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function st(t,e){this._pairs=[],t&&T(t,this,e)}var ot=st.prototype;ot.append=function(e,r){this._pairs.push([e,r])};ot.toString=function(e){let r=e?function(n){return e.call(this,n,it)}:it;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var ie=st;function dr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function V(t,e,r){if(!e)return t;let n=r&&r.encode||dr,i=r&&r.serialize,s;if(i?s=i(e,r):s=a.isURLSearchParams(e)?e.toString():new ie(e,r).toString(n),s){let o=t.indexOf("#");o!==-1&&(t=t.slice(0,o)),t+=(t.indexOf("?")===-1?"?":"&")+s}return t}var Se=class{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){a.forEach(this.handlers,function(n){n!==null&&e(n)})}},_e=Se;var se={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var at=typeof URLSearchParams<"u"?URLSearchParams:ie;var ut=typeof FormData<"u"?FormData:null;var ct=typeof Blob<"u"?Blob:null;var fr=(()=>{let t;return typeof navigator<"u"&&((t=navigator.product)==="ReactNative"||t==="NativeScript"||t==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),mr=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),E={isBrowser:!0,classes:{URLSearchParams:at,FormData:ut,Blob:ct},isStandardBrowserEnv:fr,isStandardBrowserWebWorkerEnv:mr,protocols:["http","https","file","blob","url","data"]};function Re(t,e){return T(t,new E.classes.URLSearchParams,Object.assign({visitor:function(r,n,i,s){return E.isNode&&a.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}function hr(t){return a.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function gr(t){let e={},r=Object.keys(t),n,i=r.length,s;for(n=0;n<i;n++)s=r[n],e[s]=t[s];return e}function yr(t){function e(r,n,i,s){let o=r[s++],u=Number.isFinite(+o),p=s>=r.length;return o=!o&&a.isArray(i)?i.length:o,p?(a.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!u):((!i[o]||!a.isObject(i[o]))&&(i[o]=[]),e(r,n,i[o],s)&&a.isArray(i[o])&&(i[o]=gr(i[o])),!u)}if(a.isFormData(t)&&a.isFunction(t.entries)){let r={};return a.forEachEntry(t,(n,i)=>{e(hr(n),i,r,0)}),r}return null}var oe=yr;var xr={"Content-Type":void 0};function br(t,e,r){if(a.isString(t))try{return(e||JSON.parse)(t),a.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var ae={transitional:se,adapter:["xhr","http"],transformRequest:[function(e,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,s=a.isObject(e);if(s&&a.isHTMLForm(e)&&(e=new FormData(e)),a.isFormData(e))return i&&i?JSON.stringify(oe(e)):e;if(a.isArrayBuffer(e)||a.isBuffer(e)||a.isStream(e)||a.isFile(e)||a.isBlob(e))return e;if(a.isArrayBufferView(e))return e.buffer;if(a.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let u;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Re(e,this.formSerializer).toString();if((u=a.isFileList(e))||n.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return T(u?{"files[]":e}:e,p&&new p,this.formSerializer)}}return s||i?(r.setContentType("application/json",!1),br(e)):e}],transformResponse:[function(e){let r=this.transitional||ae.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(e&&a.isString(e)&&(n&&!this.responseType||i)){let o=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(u){if(o)throw u.name==="SyntaxError"?h.from(u,h.ERR_BAD_RESPONSE,this,null,this.response):u}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:E.classes.FormData,Blob:E.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};a.forEach(["delete","get","head"],function(e){ae.headers[e]={}});a.forEach(["post","put","patch"],function(e){ae.headers[e]=a.merge(xr)});var F=ae;var wr=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),lt=t=>{let e={},r,n,i;return t&&t.split(`
2
- `).forEach(function(o){i=o.indexOf(":"),r=o.substring(0,i).trim().toLowerCase(),n=o.substring(i+1).trim(),!(!r||e[r]&&wr[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e};var pt=Symbol("internals");function $(t){return t&&String(t).trim().toLowerCase()}function ue(t){return t===!1||t==null?t:a.isArray(t)?t.map(ue):String(t)}function Er(t){let e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}var Sr=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Ae(t,e,r,n,i){if(a.isFunction(n))return n.call(this,e,r);if(i&&(e=r),!!a.isString(e)){if(a.isString(n))return e.indexOf(n)!==-1;if(a.isRegExp(n))return n.test(e)}}function _r(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function Rr(t,e){let r=a.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(i,s,o){return this[n].call(this,e,i,s,o)},configurable:!0})})}var D=class{constructor(e){e&&this.set(e)}set(e,r,n){let i=this;function s(u,p,c){let l=$(p);if(!l)throw new Error("header name must be a non-empty string");let f=a.findKey(i,l);(!f||i[f]===void 0||c===!0||c===void 0&&i[f]!==!1)&&(i[f||p]=ue(u))}let o=(u,p)=>a.forEach(u,(c,l)=>s(c,l,p));return a.isPlainObject(e)||e instanceof this.constructor?o(e,r):a.isString(e)&&(e=e.trim())&&!Sr(e)?o(lt(e),r):e!=null&&s(r,e,n),this}get(e,r){if(e=$(e),e){let n=a.findKey(this,e);if(n){let i=this[n];if(!r)return i;if(r===!0)return Er(i);if(a.isFunction(r))return r.call(this,i,n);if(a.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=$(e),e){let n=a.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||Ae(this,this[n],n,r)))}return!1}delete(e,r){let n=this,i=!1;function s(o){if(o=$(o),o){let u=a.findKey(n,o);u&&(!r||Ae(n,n[u],u,r))&&(delete n[u],i=!0)}}return a.isArray(e)?e.forEach(s):s(e),i}clear(e){let r=Object.keys(this),n=r.length,i=!1;for(;n--;){let s=r[n];(!e||Ae(this,this[s],s,e,!0))&&(delete this[s],i=!0)}return i}normalize(e){let r=this,n={};return a.forEach(this,(i,s)=>{let o=a.findKey(n,s);if(o){r[o]=ue(i),delete r[s];return}let u=e?_r(s):String(s).trim();u!==s&&delete r[s],r[u]=ue(i),n[u]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let r=Object.create(null);return a.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=e&&a.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
3
- `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){let n=new this(e);return r.forEach(i=>n.set(i)),n}static accessor(e){let n=(this[pt]=this[pt]={accessors:{}}).accessors,i=this.prototype;function s(o){let u=$(o);n[u]||(Rr(i,o),n[u]=!0)}return a.isArray(e)?e.forEach(s):s(e),this}};D.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.freezeMethods(D.prototype);a.freezeMethods(D);var S=D;function K(t,e){let r=this||F,n=e||r,i=S.from(n.headers),s=n.data;return a.forEach(t,function(u){s=u.call(r,s,i.normalize(),e?e.status:void 0)}),i.normalize(),s}function W(t){return!!(t&&t.__CANCEL__)}function dt(t,e,r){h.call(this,t??"canceled",h.ERR_CANCELED,e,r),this.name="CanceledError"}a.inherits(dt,h,{__CANCEL__:!0});var P=dt;function Oe(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new h("Request failed with status code "+r.status,[h.ERR_BAD_REQUEST,h.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}var ft=E.isStandardBrowserEnv?function(){return{write:function(r,n,i,s,o,u){let p=[];p.push(r+"="+encodeURIComponent(n)),a.isNumber(i)&&p.push("expires="+new Date(i).toGMTString()),a.isString(s)&&p.push("path="+s),a.isString(o)&&p.push("domain="+o),u===!0&&p.push("secure"),document.cookie=p.join("; ")},read:function(r){let n=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Ce(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Ne(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}function G(t,e){return t&&!Ce(e)?Ne(t,e):e}var mt=E.isStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function i(s){let o=s;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=i(window.location.href),function(o){let u=a.isString(o)?i(o):o;return u.protocol===n.protocol&&u.host===n.host}}():function(){return function(){return!0}}();function Te(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Ar(t,e){t=t||10;let r=new Array(t),n=new Array(t),i=0,s=0,o;return e=e!==void 0?e:1e3,function(p){let c=Date.now(),l=n[s];o||(o=c),r[i]=p,n[i]=c;let f=s,x=0;for(;f!==i;)x+=r[f++],f=f%t;if(i=(i+1)%t,i===s&&(s=(s+1)%t),c-o<e)return;let y=l&&c-l;return y?Math.round(x*1e3/y):void 0}}var ht=Ar;function gt(t,e){let r=0,n=ht(50,250);return i=>{let s=i.loaded,o=i.lengthComputable?i.total:void 0,u=s-r,p=n(u),c=s<=o;r=s;let l={loaded:s,total:o,progress:o?s/o:void 0,bytes:u,rate:p||void 0,estimated:p&&o&&c?(o-s)/p:void 0,event:i};l[e?"download":"upload"]=!0,t(l)}}var Or=typeof XMLHttpRequest<"u",yt=Or&&function(t){return new Promise(function(r,n){let i=t.data,s=S.from(t.headers).normalize(),o=t.responseType,u;function p(){t.cancelToken&&t.cancelToken.unsubscribe(u),t.signal&&t.signal.removeEventListener("abort",u)}a.isFormData(i)&&(E.isStandardBrowserEnv||E.isStandardBrowserWebWorkerEnv?s.setContentType(!1):s.setContentType("multipart/form-data;",!1));let c=new XMLHttpRequest;if(t.auth){let y=t.auth.username||"",d=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";s.set("Authorization","Basic "+btoa(y+":"+d))}let l=G(t.baseURL,t.url);c.open(t.method.toUpperCase(),V(l,t.params,t.paramsSerializer),!0),c.timeout=t.timeout;function f(){if(!c)return;let y=S.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),g={data:!o||o==="text"||o==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:y,config:t,request:c};Oe(function(A){r(A),p()},function(A){n(A),p()},g),c=null}if("onloadend"in c?c.onloadend=f:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(f)},c.onabort=function(){c&&(n(new h("Request aborted",h.ECONNABORTED,t,c)),c=null)},c.onerror=function(){n(new h("Network Error",h.ERR_NETWORK,t,c)),c=null},c.ontimeout=function(){let d=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",g=t.transitional||se;t.timeoutErrorMessage&&(d=t.timeoutErrorMessage),n(new h(d,g.clarifyTimeoutError?h.ETIMEDOUT:h.ECONNABORTED,t,c)),c=null},E.isStandardBrowserEnv){let y=(t.withCredentials||mt(l))&&t.xsrfCookieName&&ft.read(t.xsrfCookieName);y&&s.set(t.xsrfHeaderName,y)}i===void 0&&s.setContentType(null),"setRequestHeader"in c&&a.forEach(s.toJSON(),function(d,g){c.setRequestHeader(g,d)}),a.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),o&&o!=="json"&&(c.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&c.addEventListener("progress",gt(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",gt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(u=y=>{c&&(n(!y||y.type?new P(null,t,c):y),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(u),t.signal&&(t.signal.aborted?u():t.signal.addEventListener("abort",u)));let x=Te(l);if(x&&E.protocols.indexOf(x)===-1){n(new h("Unsupported protocol "+x+":",h.ERR_BAD_REQUEST,t));return}c.send(i||null)})};var ce={http:ne,xhr:yt};a.forEach(ce,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var xt={getAdapter:t=>{t=a.isArray(t)?t:[t];let{length:e}=t,r,n;for(let i=0;i<e&&(r=t[i],!(n=a.isString(r)?ce[r.toLowerCase()]:r));i++);if(!n)throw n===!1?new h(`Adapter ${r} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(a.hasOwnProp(ce,r)?`Adapter '${r}' is not available in the build`:`Unknown adapter '${r}'`);if(!a.isFunction(n))throw new TypeError("adapter is not a function");return n},adapters:ce};function Pe(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new P(null,t)}function le(t){return Pe(t),t.headers=S.from(t.headers),t.data=K.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),xt.getAdapter(t.adapter||F.adapter)(t).then(function(n){return Pe(t),n.data=K.call(t,t.transformResponse,n),n.headers=S.from(n.headers),n},function(n){return W(n)||(Pe(t),n&&n.response&&(n.response.data=K.call(t,t.transformResponse,n.response),n.response.headers=S.from(n.response.headers))),Promise.reject(n)})}var bt=t=>t instanceof S?t.toJSON():t;function N(t,e){e=e||{};let r={};function n(c,l,f){return a.isPlainObject(c)&&a.isPlainObject(l)?a.merge.call({caseless:f},c,l):a.isPlainObject(l)?a.merge({},l):a.isArray(l)?l.slice():l}function i(c,l,f){if(a.isUndefined(l)){if(!a.isUndefined(c))return n(void 0,c,f)}else return n(c,l,f)}function s(c,l){if(!a.isUndefined(l))return n(void 0,l)}function o(c,l){if(a.isUndefined(l)){if(!a.isUndefined(c))return n(void 0,c)}else return n(void 0,l)}function u(c,l,f){if(f in e)return n(c,l);if(f in t)return n(void 0,c)}let p={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:u,headers:(c,l)=>i(bt(c),bt(l),!0)};return a.forEach(Object.keys(Object.assign({},t,e)),function(l){let f=p[l]||i,x=f(t[l],e[l],l);a.isUndefined(x)&&f!==u||(r[l]=x)}),r}var pe="1.4.0";var Ue={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ue[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var wt={};Ue.transitional=function(e,r,n){function i(s,o){return"[Axios v"+pe+"] Transitional option '"+s+"'"+o+(n?". "+n:"")}return(s,o,u)=>{if(e===!1)throw new h(i(o," has been removed"+(r?" in "+r:"")),h.ERR_DEPRECATED);return r&&!wt[o]&&(wt[o]=!0,console.warn(i(o," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(s,o,u):!0}};function Cr(t,e,r){if(typeof t!="object")throw new h("options must be an object",h.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),i=n.length;for(;i-- >0;){let s=n[i],o=e[s];if(o){let u=t[s],p=u===void 0||o(u,s,t);if(p!==!0)throw new h("option "+s+" must be "+p,h.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new h("Unknown option "+s,h.ERR_BAD_OPTION)}}var de={assertOptions:Cr,validators:Ue};var U=de.validators,j=class{constructor(e){this.defaults=e,this.interceptors={request:new _e,response:new _e}}request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=N(this.defaults,r);let{transitional:n,paramsSerializer:i,headers:s}=r;n!==void 0&&de.assertOptions(n,{silentJSONParsing:U.transitional(U.boolean),forcedJSONParsing:U.transitional(U.boolean),clarifyTimeoutError:U.transitional(U.boolean)},!1),i!=null&&(a.isFunction(i)?r.paramsSerializer={serialize:i}:de.assertOptions(i,{encode:U.function,serialize:U.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let o;o=s&&a.merge(s.common,s[r.method]),o&&a.forEach(["delete","get","head","post","put","patch","common"],d=>{delete s[d]}),r.headers=S.concat(o,s);let u=[],p=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(r)===!1||(p=p&&g.synchronous,u.unshift(g.fulfilled,g.rejected))});let c=[];this.interceptors.response.forEach(function(g){c.push(g.fulfilled,g.rejected)});let l,f=0,x;if(!p){let d=[le.bind(this),void 0];for(d.unshift.apply(d,u),d.push.apply(d,c),x=d.length,l=Promise.resolve(r);f<x;)l=l.then(d[f++],d[f++]);return l}x=u.length;let y=r;for(f=0;f<x;){let d=u[f++],g=u[f++];try{y=d(y)}catch(C){g.call(this,C);break}}try{l=le.call(this,y)}catch(d){return Promise.reject(d)}for(f=0,x=c.length;f<x;)l=l.then(c[f++],c[f++]);return l}getUri(e){e=N(this.defaults,e);let r=G(e.baseURL,e.url);return V(r,e.params,e.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(e){j.prototype[e]=function(r,n){return this.request(N(n||{},{method:e,url:r,data:(n||{}).data}))}});a.forEach(["post","put","patch"],function(e){function r(n){return function(s,o,u){return this.request(N(u||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}j.prototype[e]=r(),j.prototype[e+"Form"]=r(!0)});var X=j;var Le=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});let n=this;this.promise.then(i=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](i);n._listeners=null}),this.promise.then=i=>{let s,o=new Promise(u=>{n.subscribe(u),s=u}).then(i);return o.cancel=function(){n.unsubscribe(s)},o},e(function(s,o,u){n.reason||(n.reason=new P(s,o,u),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}static source(){let e;return{token:new t(function(i){e=i}),cancel:e}}},Et=Le;function ke(t){return function(r){return t.apply(null,r)}}function Ie(t){return a.isObject(t)&&t.isAxiosError===!0}var Fe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Fe).forEach(([t,e])=>{Fe[e]=t});var St=Fe;function _t(t){let e=new X(t),r=M(X.prototype.request,e);return a.extend(r,X.prototype,e,{allOwnKeys:!0}),a.extend(r,e,null,{allOwnKeys:!0}),r.create=function(i){return _t(N(t,i))},r}var b=_t(F);b.Axios=X;b.CanceledError=P;b.CancelToken=Et;b.isCancel=W;b.VERSION=pe;b.toFormData=T;b.AxiosError=h;b.Cancel=b.CanceledError;b.all=function(e){return Promise.all(e)};b.spread=ke;b.isAxiosError=Ie;b.mergeConfig=N;b.AxiosHeaders=S;b.formToJSON=t=>oe(a.isHTMLForm(t)?new FormData(t):t);b.HttpStatusCode=St;b.default=b;var v=b;var{Axios:ws,AxiosError:Es,CanceledError:Ss,isCancel:_s,CancelToken:Rs,VERSION:As,all:Os,Cancel:Cs,isAxiosError:Ns,spread:Ts,toFormData:Ps,AxiosHeaders:Us,HttpStatusCode:Ls,formToJSON:ks,mergeConfig:Is}=v;var fe,Nr=new Uint8Array(16);function De(){if(!fe&&(fe=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!fe))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return fe(Nr)}var w=[];for(let t=0;t<256;++t)w.push((t+256).toString(16).slice(1));function Rt(t,e=0){return(w[t[e+0]]+w[t[e+1]]+w[t[e+2]]+w[t[e+3]]+"-"+w[t[e+4]]+w[t[e+5]]+"-"+w[t[e+6]]+w[t[e+7]]+"-"+w[t[e+8]]+w[t[e+9]]+"-"+w[t[e+10]]+w[t[e+11]]+w[t[e+12]]+w[t[e+13]]+w[t[e+14]]+w[t[e+15]]).toLowerCase()}var Tr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),je={randomUUID:Tr};function Pr(t,e,r){if(je.randomUUID&&!e&&!t)return je.randomUUID();t=t||{};let n=t.random||(t.rng||De)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i<16;++i)e[r+i]=n[i];return e}return Rt(n)}var B=Pr;var ve=class{constructor(){}enterWith(e){}run(e,r){return r()}getStore(){}},Ur={makeAxios:t=>v.create({...t}),getRepoStatus:async()=>{},getPastNAncestors:async()=>[],getEnv:t=>{},getCallerLocation:()=>{},newAsyncLocalStorage:()=>new ve},R=Ur;function z(t,e){let r=!0;try{let n=t();return n instanceof Promise?(r=!1,n.finally(e)):n}finally{r&&e()}}var Be=class{constructor(){this.kind="span";this.id="",this.span_id="",this.root_span_id=""}log(e){}startSpan(e,r){return this}traced(e,r,n){return r(this)}end(e){return e?.endTime??ge()}close(e){return this.end(e)}},At=new Be,me=class{constructor(){this.id=B(),this.currentExperiment=R.newAsyncLocalStorage(),this.currentSpan=R.newAsyncLocalStorage(),this.apiUrl=null,this.loginToken=null,this.orgId=null,this.orgName=null,this.logUrl=null,this.loggedIn=!1,this._apiConn=null,this._logConn=null,this._userInfo=null,globalThis.__inherited_braintrust_state=this}apiConn(){if(!this._apiConn){if(!this.apiUrl)throw new Error("Must initialize apiUrl before requesting apiConn");this._apiConn=new Q(this.apiUrl)}return this._apiConn}logConn(){if(!this._logConn){if(!this.logUrl)throw new Error("Must initialize logUrl before requesting logConn");this._logConn=new Q(this.logUrl)}return this._logConn}async userInfo(){return this._userInfo||(this._userInfo=await this.logConn().get_json("ping")),this._userInfo}setUserInfoIfNull(e){this._userInfo||(this._userInfo=e)}},m=globalThis.__inherited_braintrust_state||new me,no=()=>m,ze=class{constructor(){this.unterminatedObjects=new Map,process.on("exit",()=>{this.warnUnterminated()})}addUnterminated(e,r){this.unterminatedObjects.set(e,r)}removeUnterminated(e){this.unterminatedObjects.delete(e)}warnUnterminated(){if(this.unterminatedObjects.size===0)return;let e="WARNING: Did not close the following braintrust objects. We recommend running `.close` on the listed objects, or by running them inside a callback so they are closed automatically:";this.unterminatedObjects.forEach((r,n)=>{let i=`
4
- Object of type ${n?.constructor?.name}`;r&&(i+=` created at ${JSON.stringify(r)}`),e+=i}),console.warn(e)}},H=new ze,Lr="_xact_id",Q=class t{constructor(e){this.base_url=e,this.token=null,this.session=null,this._reset()}async ping(){try{let e=await this.get("ping");return m.setUserInfoIfNull(e.data),e.status===200}catch{return!1}}make_long_lived(){this._reset()}static sanitize_token(e){return e.trim()}set_token(e){e=t.sanitize_token(e),this.token=e,this._reset()}_reset(){let e={};this.token&&(e.Authorization=`Bearer ${this.token}`),this.session=R.makeAxios({headers:e})}async get(e,r=void 0){return await this.session.get(He(this.base_url,e),{params:r})}async post(e,r=void 0,n=void 0){return await this.session.post(He(this.base_url,e),r,n)}async get_json(e,r=void 0,n=0){let i=n+1;for(let s=0;s<i;s++)try{return(await this.get(`${e}`,r)).data}catch(o){if(s<i-1){console.log(`Retrying API request ${e} ${r} ${o.status} ${o.text}`);continue}throw o}}async post_json(e,r=void 0){return(await this.post(`${e}`,r,{headers:{"Content-Type":"application/json"}})).data}},Ot=class{constructor(e,r,n){this.name=e,this.id=r,this.org_id=n}},kr=10*1024*1024;function Ir(t){return`[${t.join(",")}]`}var he=class{constructor(){this.items=[];this.active_flush=Promise.resolve([]);this.active_flush_resolved=!0}log(e){this.items.push(...e),this.active_flush_resolved&&(this.active_flush_resolved=!1,this.active_flush=this.flush_once())}async flush_once(e=100){this.active_flush_resolved=!1;let r=(this.items||[]).reverse();this.items=[];let n=[];for(;;){let i=[],s=0;for(;i.length<e&&s<kr/2;){let o=null;if(r.length>0)o=r.pop();else break;let u=JSON.stringify(o);i.push(u),s+=u.length}if(i.length>0)n=(await m.logConn().post_json("logs",Ir(i))).data;else break}return this.items.length>0?this.active_flush=this.flush_once():this.active_flush_resolved=!0,n}async flush(){for(;await this.active_flush,!this.active_flush_resolved;);}};async function Fr(t,e={}){let{experiment:r,description:n,dataset:i,baseExperiment:s,isPublic:o,update:u,apiUrl:p,apiKey:c,orgName:l,disableCache:f}=e||{};return await Ct({orgName:l,disableCache:f,apiKey:c,apiUrl:p}),await qr(t,{experimentName:r,description:n,dataset:i,update:u,baseExperiment:s,isPublic:o})}async function io(t,e,r={}){let n=await Fr(t,r);return z(()=>r.setCurrent??!0?ye(n,()=>e(n)):e(n),()=>n.close())}async function Dr(t,e={}){let{dataset:r,description:n,version:i,apiUrl:s,apiKey:o,orgName:u,disableCache:p}=e||{};return await Ct({orgName:u,disableCache:p,apiKey:o,apiUrl:s}),await Jr(t,{name:r,description:n,version:i})}async function so(t,e,r={}){let n=await Dr(t,r);return z(()=>e(n),()=>n.close())}async function Ct(t={}){let{apiUrl:e=R.getEnv("BRAINTRUST_API_URL")||"https://www.braintrustdata.com",apiKey:r=R.getEnv("BRAINTRUST_API_KEY"),orgName:n=void 0,disableCache:i=!1}=t||{},{forceLogin:s=!1}=t||{};if((e!=m.apiUrl||r!==void 0&&Q.sanitize_token(r)!=m.loginToken||n!==void 0&&n!=m.orgName)&&(s=!0),m.loggedIn&&!s)return;m=new me,m.apiUrl=e;let o=null,u=!1,p=null;if(r!==void 0){let l=(await v.post(He(m.apiUrl,"/api/apikey/login"),{token:r})).data;zr(l.org_info,n),p=m.logConn(),p.set_token(r),u=await p.ping()}else throw new Error("Please specify an api key. Token based login is not yet implemented in the JS client.");if(!p)throw new Error("Conn should be set at this point (a bug)");u||await p.get("ping"),p.make_long_lived(),m.apiConn().set_token(r),m.loginToken=p.token,m.loggedIn=!0}function oo(t){let e=m.currentExperiment.getStore();if(!e)throw new Error("Not initialized. Please call init() first");return e.log(t)}async function ao(t={}){let e=m.currentExperiment.getStore();if(!e)throw new Error("Not initialized. Please call init() first");return await e.summarize(t)}function jr(){return m.currentExperiment.getStore()}function vr(){return m.currentSpan.getStore()}function Br(t){let{name:e,...r}=t??{},n=(e??R.getCallerLocation()?.caller_functionname)||"root",i=vr();if(!Object.is(i,At))return i.startSpan(n,r);let s=jr();return s?s.startSpan({name:n,...r}):At}function uo(t,e){let r=Br(e);return z(()=>e?.setCurrent??!0?ye(r,()=>t(r)):t(r),()=>r.end())}function ye(t,e){if(t.kind==="experiment")return m.currentExperiment.run(t,e);if(t.kind==="span")return m.currentSpan.run(t,e);throw new Error(`Invalid object of type ${t.constructor.name}`)}function zr(t,e){if(t.length===0)throw new Error("This user is not part of any organizations.");for(let r of t)if(e===void 0||r.name===e){m.orgId=r.id,m.orgName=r.name,m.logUrl=r.api_url;break}if(m.orgId===void 0)throw new Error(`Organization ${e} not found. Must be one of ${t.map(r=>r.name).join(", ")}`)}function He(...t){return t.map(e=>e.replace(/^\//,"")).join("/")}function ge(){return new Date().getTime()/1e3}function Hr(t){if(t.scores)for(let[e,r]of Object.entries(t.scores)){if(typeof e!="string")throw new Error("score names must be strings");if(typeof r=="boolean"&&(r=r?1:0,t.scores[e]=r),typeof r!="number")throw new Error("score values must be numbers");if(r<0||r>1)throw new Error("score values must be between 0 and 1")}if(t.metadata){for(let e of Object.keys(t.metadata))if(typeof e!="string")throw new Error("metadata keys must be strings")}if(t.metrics){for(let e of Object.keys(t.metrics))if(typeof e!="string")throw new Error("metric keys must be strings");for(let e of["start","end","caller_functionname","caller_filename","caller_lineno"])if(e in t.metrics)throw new Error(`Key ${e} may not be specified in metrics`)}if("input"in t&&t.input&&"inputs"in t&&t.inputs)throw new Error("Only one of input or inputs (deprecated) can be specified. Prefer input.");if("inputs"in t){let{inputs:e,...r}=t;return{input:e,...r}}else return{...t}}function Mr(t,e){if("input"in t&&t.input&&"inputs"in t&&t.inputs||!("input"in t)&&!("inputs"in t))throw new Error("Exactly one of input or inputs (deprecated) must be specified. Prefer input.");if(!t.scores)throw new Error("scores must be specified");if(e&&t.datasetRecordId===void 0)throw new Error("datasetRecordId must be specified when using a dataset");if(!e&&t.datasetRecordId!==void 0)throw new Error("datasetRecordId cannot be specified when not using a dataset");return t}async function qr(t,{experimentName:e,description:r,dataset:n,update:i,baseExperiment:s,isPublic:o}={experimentName:void 0,description:void 0,baseExperiment:void 0,isPublic:!1}){let u={project_name:t,org_id:m.orgId};e&&(u.experiment_name=e),r&&(u.description=r),i&&(u.update=i);let p=await R.getRepoStatus();p&&(u.repo_info=p),s?u.base_experiment=s:u.ancestor_commits=await R.getPastNAncestors(),n!==void 0&&(u.dataset_id=n.id,u.dataset_version=await n.version()),o!==void 0&&(u.public=o);let c=await m.apiConn().post_json("api/experiment/register",u),l=c.project,f=c.experiment,x=(await m.userInfo()).id;return new Me(l,f.id,f.name,x,n)}var Me=class{constructor(e,r,n,i,s){this.kind="experiment";this.finished=!1,this.project=e,this.id=r,this.name=n,this.user_id=i,this.dataset=s,this.logger=new he,this.lastStartTime=ge(),H.addUnterminated(this,R.getCallerLocation())}log(e){this.checkNotFinished(),e=Mr(e,!!this.dataset);let r=this.startSpan({startTime:this.lastStartTime,event:e});return this.lastStartTime=r.end(),r.id}startSpan(e){this.checkNotFinished();let{name:r,...n}=e??{};return new qe({experimentLogger:this.logger,name:r??"root",...n,rootExperiment:this})}traced(e,r){let{setCurrent:n,...i}=r??{},s=this.startSpan(i);return z(()=>n??!0?ye(s,()=>e(s)):e(s),()=>s.end())}async summarize(e={}){let{summarizeScores:r=!0,comparisonExperimentId:n=void 0}=e||{};await this.logger.flush();let i=`${m.apiUrl}/app/${encodeURIComponent(m.orgName)}/p/${encodeURIComponent(this.project.name)}`,s=`${i}/${encodeURIComponent(this.name)}`,o,u;if(r){if(n===void 0){let l=(await m.logConn().get("/crud/base_experiments",{id:this.id})).data;l.length>0&&(n=l[0].base_exp_id,u=l[0].base_exp_name)}n!==void 0&&(o=await m.logConn().get_json("/experiment-comparison",{experiment_id:this.id,base_experiment_id:n},3))}return{projectName:this.project.name,experimentName:this.name,projectUrl:i,experimentUrl:s,comparisonExperimentName:u,scores:o}}async close(){return this.checkNotFinished(),await this.logger.flush(),this.finished=!0,H.removeUnterminated(this),this.id}checkNotFinished(){if(this.finished)throw new Error("Cannot invoke method on finished experiment")}},qe=class t{constructor(e){this.kind="span";this.finished=!1,this.experimentLogger=e.experimentLogger;let r=R.getCallerLocation();if(this.internalData={metrics:{start:e.startTime??ge(),...r},span_attributes:{...e.spanAttributes,name:e.name}},this.id=e.event?.id??B(),this.span_id=B(),"rootExperiment"in e)this.root_span_id=this.span_id,this._project_id=e.rootExperiment.project.id,this._experiment_id=e.rootExperiment.id,this.internalData=Object.assign(this.internalData,{user_id:e.rootExperiment.user_id,created:new Date().toISOString()});else if("parentSpan"in e)this.root_span_id=e.parentSpan.root_span_id,this._project_id=e.parentSpan._project_id,this._experiment_id=e.parentSpan._experiment_id,this.internalData.span_parents=[e.parentSpan.span_id];else throw new Error("Must provide either 'rootExperiment' or 'parentSpan'");this.isMerge=!1;let{id:n,...i}=e.event??{};this.log(i),this.isMerge=!0,H.addUnterminated(this,r)}log(e){this.checkNotFinished();let n={...Hr(e),...this.internalData,id:this.id,span_id:this.span_id,root_span_id:this.root_span_id,project_id:this._project_id,experiment_id:this._experiment_id,_is_merge:this.isMerge};this.internalData={},this.experimentLogger.log([n])}startSpan(e,r){return this.checkNotFinished(),new t({experimentLogger:this.experimentLogger,name:e,...r,parentSpan:this})}traced(e,r,n){let{setCurrent:i,...s}=n??{},o=this.startSpan(e,s);return z(()=>i??!0?ye(o,()=>r(o)):r(o),()=>o.end())}end(e){this.checkNotFinished();let r=e?.endTime??ge();return this.internalData={metrics:{end:r}},this.log({}),this.finished=!0,H.removeUnterminated(this),r}close(e){return this.end(e)}checkNotFinished(){if(this.finished)throw new Error("Cannot invoke method on finished span")}};async function Jr(t,{name:e,description:r,version:n}={}){let i={org_id:m.orgId,project_name:t,dataset_name:e,description:r},s=await m.apiConn().post_json("api/dataset/register",i),o=s.project,u=s.dataset,p=(await m.userInfo()).id;return new Je(o,u.id,u.name,p,n)}var Je=class{constructor(e,r,n,i,s){this._fetchedData=void 0;this.finished=!1,this.project=e,this.id=r,this.name=n,this.user_id=i,this.pinnedVersion=s,this.logger=new he,H.addUnterminated(this,R.getCallerLocation())}insert({input:e,output:r,metadata:n,id:i}){if(this.checkNotFinished(),n!==void 0){for(let o of Object.keys(n))if(typeof o!="string")throw new Error("metadata keys must be strings")}let s={id:i||B(),inputs:e,output:r,project_id:this.project.id,dataset_id:this.id,user_id:this.user_id,created:new Date().toISOString(),metadata:n};return this.logger.log([s]),s.id}delete(e){this.checkNotFinished();let r=this.user_id,n={id:e,project_id:this.project.id,dataset_id:this.id,user_id:r,created:new Date().toISOString(),_object_delete:!0};return this.logger.log([n]),n.id}async summarize(e={}){this.checkNotFinished();let{summarizeData:r=!0}=e||{};await this.logger.flush();let n=`${m.apiUrl}/app/${encodeURIComponent(m.orgName)}/p/${encodeURIComponent(this.project.name)}`,i=`${n}/d/${encodeURIComponent(this.name)}`,s;return r&&(s=await m.logConn().get_json("dataset-summary",{dataset_id:this.id},3)),{projectName:this.project.name,datasetName:this.name,projectUrl:n,datasetUrl:i,dataSummary:s}}async*fetch(){this.checkNotFinished();let e=await this.fetchedData();for(let r of e)yield{id:r.id,input:r.input&&JSON.parse(r.input),output:r.input&&JSON.parse(r.output),metadata:r.metadata&&JSON.parse(r.metadata)};this.clearCache()}[Symbol.asyncIterator](){return this.checkNotFinished(),this.fetch()}async fetchedData(){if(this.checkNotFinished(),this._fetchedData===void 0){let r=await(await m.logConn().get("object/dataset",{id:this.id,fmt:"json",version:this.pinnedVersion})).data;this._fetchedData=r.split(`
5
- `).filter(n=>n.trim()!=="").map(n=>JSON.parse(n))}return this._fetchedData||[]}clearCache(){this.checkNotFinished(),this._fetchedData=void 0}async version(){if(this.checkNotFinished(),this.pinnedVersion!==void 0)return this.pinnedVersion;{let e=await this.fetchedData(),r;for(let n of e){let i=n[Lr];(r===void 0||(i??i>r))&&(r=i)}return r}}async close(){return this.checkNotFinished(),await this.logger.flush(),this.finished=!0,H.removeUnterminated(this),this.id}checkNotFinished(){if(this.finished)throw new Error("Cannot invoke method on finished dataset")}};export{Je as Dataset,Me as Experiment,Be as NoopSpan,Ot as Project,qe as SpanImpl,no as _internalGetGlobalState,jr as currentExperiment,vr as currentSpan,Fr as init,Dr as initDataset,oo as log,Ct as login,At as noopSpan,Br as startSpan,ao as summarize,uo as traced,ye as withCurrent,so as withDataset,io as withExperiment};
1
+ function q(t,e){return function(){return t.apply(e,arguments)}}var{toString:kt}=Object.prototype,{getPrototypeOf:Ee}=Object,te=(t=>e=>{let r=kt.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),O=t=>(t=t.toLowerCase(),e=>te(e)===t),re=t=>e=>typeof e===t,{isArray:L}=Array,$=re("undefined");function Ft(t){return t!==null&&!$(t)&&t.constructor!==null&&!$(t.constructor)&&_(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var Xe=O("ArrayBuffer");function jt(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Xe(t.buffer),e}var vt=re("string"),_=re("function"),Qe=re("number"),ne=t=>t!==null&&typeof t=="object",Bt=t=>t===!0||t===!1,ee=t=>{if(te(t)!=="object")return!1;let e=Ee(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},zt=O("Date"),Mt=O("File"),Ht=O("Blob"),qt=O("FileList"),$t=t=>ne(t)&&_(t.pipe),Jt=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||_(t.append)&&((e=te(t))==="formdata"||e==="object"&&_(t.toString)&&t.toString()==="[object FormData]"))},Vt=O("URLSearchParams"),Kt=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function J(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,i;if(typeof t!="object"&&(t=[t]),L(t))for(n=0,i=t.length;n<i;n++)e.call(null,t[n],n,t);else{let s=r?Object.getOwnPropertyNames(t):Object.keys(t),o=s.length,c;for(n=0;n<o;n++)c=s[n],e.call(null,t[c],c,t)}}function Ye(t,e){e=e.toLowerCase();let r=Object.keys(t),n=r.length,i;for(;n-- >0;)if(i=r[n],e===i.toLowerCase())return i;return null}var Ze=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),et=t=>!$(t)&&t!==Ze;function we(){let{caseless:t}=et(this)&&this||{},e={},r=(n,i)=>{let s=t&&Ye(e,i)||i;ee(e[s])&&ee(n)?e[s]=we(e[s],n):ee(n)?e[s]=we({},n):L(n)?e[s]=n.slice():e[s]=n};for(let n=0,i=arguments.length;n<i;n++)arguments[n]&&J(arguments[n],r);return e}var Wt=(t,e,r,{allOwnKeys:n}={})=>(J(e,(i,s)=>{r&&_(i)?t[s]=q(i,r):t[s]=i},{allOwnKeys:n}),t),Gt=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Xt=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},Qt=(t,e,r,n)=>{let i,s,o,c={};if(e=e||{},t==null)return e;do{for(i=Object.getOwnPropertyNames(t),s=i.length;s-- >0;)o=i[s],(!n||n(o,t,e))&&!c[o]&&(e[o]=t[o],c[o]=!0);t=r!==!1&&Ee(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},Yt=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},Zt=t=>{if(!t)return null;if(L(t))return t;let e=t.length;if(!Qe(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},er=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Ee(Uint8Array)),tr=(t,e)=>{let n=(t&&t[Symbol.iterator]).call(t),i;for(;(i=n.next())&&!i.done;){let s=i.value;e.call(t,s[0],s[1])}},rr=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},nr=O("HTMLFormElement"),ir=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),We=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),sr=O("RegExp"),tt=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};J(r,(i,s)=>{e(i,s,t)!==!1&&(n[s]=i)}),Object.defineProperties(t,n)},or=t=>{tt(t,(e,r)=>{if(_(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=t[r];if(_(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},ar=(t,e)=>{let r={},n=i=>{i.forEach(s=>{r[s]=!0})};return L(t)?n(t):n(String(t).split(e)),r},cr=()=>{},ur=(t,e)=>(t=+t,Number.isFinite(t)?t:e),be="abcdefghijklmnopqrstuvwxyz",Ge="0123456789",rt={DIGIT:Ge,ALPHA:be,ALPHA_DIGIT:be+be.toUpperCase()+Ge},lr=(t=16,e=rt.ALPHA_DIGIT)=>{let r="",{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r};function dr(t){return!!(t&&_(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}var pr=t=>{let e=new Array(10),r=(n,i)=>{if(ne(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[i]=n;let s=L(n)?[]:{};return J(n,(o,c)=>{let d=r(o,i+1);!$(d)&&(s[c]=d)}),e[i]=void 0,s}}return n};return r(t,0)},fr=O("AsyncFunction"),mr=t=>t&&(ne(t)||_(t))&&_(t.then)&&_(t.catch),a={isArray:L,isArrayBuffer:Xe,isBuffer:Ft,isFormData:Jt,isArrayBufferView:jt,isString:vt,isNumber:Qe,isBoolean:Bt,isObject:ne,isPlainObject:ee,isUndefined:$,isDate:zt,isFile:Mt,isBlob:Ht,isRegExp:sr,isFunction:_,isStream:$t,isURLSearchParams:Vt,isTypedArray:er,isFileList:qt,forEach:J,merge:we,extend:Wt,trim:Kt,stripBOM:Gt,inherits:Xt,toFlatObject:Qt,kindOf:te,kindOfTest:O,endsWith:Yt,toArray:Zt,forEachEntry:tr,matchAll:rr,isHTMLForm:nr,hasOwnProperty:We,hasOwnProp:We,reduceDescriptors:tt,freezeMethods:or,toObjectSet:ar,toCamelCase:ir,noop:cr,toFiniteNumber:ur,findKey:Ye,global:Ze,isContextDefined:et,ALPHABET:rt,generateString:lr,isSpecCompliantForm:dr,toJSONObject:pr,isAsyncFn:fr,isThenable:mr};function D(t,e,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}a.inherits(D,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var nt=D.prototype,it={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{it[t]={value:t}});Object.defineProperties(D,it);Object.defineProperty(nt,"isAxiosError",{value:!0});D.from=(t,e,r,n,i,s)=>{let o=Object.create(nt);return a.toFlatObject(t,o,function(d){return d!==Error.prototype},c=>c!=="isAxiosError"),D.call(o,t.message,e,r,n,i),o.cause=t,o.name=t.name,s&&Object.assign(o,s),o};var h=D;var ie=null;function Se(t){return a.isPlainObject(t)||a.isArray(t)}function ot(t){return a.endsWith(t,"[]")?t.slice(0,-2):t}function st(t,e,r){return t?t.concat(e).map(function(i,s){return i=ot(i),!r&&s?"["+i+"]":i}).join(r?".":""):e}function hr(t){return a.isArray(t)&&!t.some(Se)}var gr=a.toFlatObject(a,{},null,function(e){return/^is[A-Z]/.test(e)});function yr(t,e,r){if(!a.isObject(t))throw new TypeError("target must be an object");e=e||new(ie||FormData),r=a.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,C){return!a.isUndefined(C[g])});let n=r.metaTokens,i=r.visitor||l,s=r.dots,o=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(e);if(!a.isFunction(i))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(a.isDate(p))return p.toISOString();if(!d&&a.isBlob(p))throw new h("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(p)||a.isTypedArray(p)?d&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function l(p,g,C){let A=p;if(p&&!C&&typeof p=="object"){if(a.endsWith(g,"{}"))g=n?g:g.slice(0,-2),p=JSON.stringify(p);else if(a.isArray(p)&&hr(p)||(a.isFileList(p)||a.endsWith(g,"[]"))&&(A=a.toArray(p)))return g=ot(g),A.forEach(function(Z,Dt){!(a.isUndefined(Z)||Z===null)&&e.append(o===!0?st([g],Dt,s):o===null?g:g+"[]",u(Z))}),!1}return Se(p)?!0:(e.append(st(C,g,s),u(p)),!1)}let f=[],x=Object.assign(gr,{defaultVisitor:l,convertValue:u,isVisitable:Se});function y(p,g){if(!a.isUndefined(p)){if(f.indexOf(p)!==-1)throw Error("Circular reference detected in "+g.join("."));f.push(p),a.forEach(p,function(A,U){(!(a.isUndefined(A)||A===null)&&i.call(e,A,a.isString(U)?U.trim():U,g,x))===!0&&y(A,g?g.concat(U):[U])}),f.pop()}}if(!a.isObject(t))throw new TypeError("data must be an object");return y(t),e}var T=yr;function at(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function ct(t,e){this._pairs=[],t&&T(t,this,e)}var ut=ct.prototype;ut.append=function(e,r){this._pairs.push([e,r])};ut.toString=function(e){let r=e?function(n){return e.call(this,n,at)}:at;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};var se=ct;function xr(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function V(t,e,r){if(!e)return t;let n=r&&r.encode||xr,i=r&&r.serialize,s;if(i?s=i(e,r):s=a.isURLSearchParams(e)?e.toString():new se(e,r).toString(n),s){let o=t.indexOf("#");o!==-1&&(t=t.slice(0,o)),t+=(t.indexOf("?")===-1?"?":"&")+s}return t}var _e=class{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){a.forEach(this.handlers,function(n){n!==null&&e(n)})}},Re=_e;var oe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var lt=typeof URLSearchParams<"u"?URLSearchParams:se;var dt=typeof FormData<"u"?FormData:null;var pt=typeof Blob<"u"?Blob:null;var br=(()=>{let t;return typeof navigator<"u"&&((t=navigator.product)==="ReactNative"||t==="NativeScript"||t==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),wr=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),E={isBrowser:!0,classes:{URLSearchParams:lt,FormData:dt,Blob:pt},isStandardBrowserEnv:br,isStandardBrowserWebWorkerEnv:wr,protocols:["http","https","file","blob","url","data"]};function Ae(t,e){return T(t,new E.classes.URLSearchParams,Object.assign({visitor:function(r,n,i,s){return E.isNode&&a.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}function Er(t){return a.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Sr(t){let e={},r=Object.keys(t),n,i=r.length,s;for(n=0;n<i;n++)s=r[n],e[s]=t[s];return e}function _r(t){function e(r,n,i,s){let o=r[s++],c=Number.isFinite(+o),d=s>=r.length;return o=!o&&a.isArray(i)?i.length:o,d?(a.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!c):((!i[o]||!a.isObject(i[o]))&&(i[o]=[]),e(r,n,i[o],s)&&a.isArray(i[o])&&(i[o]=Sr(i[o])),!c)}if(a.isFormData(t)&&a.isFunction(t.entries)){let r={};return a.forEachEntry(t,(n,i)=>{e(Er(n),i,r,0)}),r}return null}var ae=_r;var Rr={"Content-Type":void 0};function Ar(t,e,r){if(a.isString(t))try{return(e||JSON.parse)(t),a.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var ce={transitional:oe,adapter:["xhr","http"],transformRequest:[function(e,r){let n=r.getContentType()||"",i=n.indexOf("application/json")>-1,s=a.isObject(e);if(s&&a.isHTMLForm(e)&&(e=new FormData(e)),a.isFormData(e))return i&&i?JSON.stringify(ae(e)):e;if(a.isArrayBuffer(e)||a.isBuffer(e)||a.isStream(e)||a.isFile(e)||a.isBlob(e))return e;if(a.isArrayBufferView(e))return e.buffer;if(a.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Ae(e,this.formSerializer).toString();if((c=a.isFileList(e))||n.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return T(c?{"files[]":e}:e,d&&new d,this.formSerializer)}}return s||i?(r.setContentType("application/json",!1),Ar(e)):e}],transformResponse:[function(e){let r=this.transitional||ce.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(e&&a.isString(e)&&(n&&!this.responseType||i)){let o=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(c){if(o)throw c.name==="SyntaxError"?h.from(c,h.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:E.classes.FormData,Blob:E.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};a.forEach(["delete","get","head"],function(e){ce.headers[e]={}});a.forEach(["post","put","patch"],function(e){ce.headers[e]=a.merge(Rr)});var k=ce;var Or=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ft=t=>{let e={},r,n,i;return t&&t.split(`
2
+ `).forEach(function(o){i=o.indexOf(":"),r=o.substring(0,i).trim().toLowerCase(),n=o.substring(i+1).trim(),!(!r||e[r]&&Or[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e};var mt=Symbol("internals");function K(t){return t&&String(t).trim().toLowerCase()}function ue(t){return t===!1||t==null?t:a.isArray(t)?t.map(ue):String(t)}function Cr(t){let e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}var Nr=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Oe(t,e,r,n,i){if(a.isFunction(n))return n.call(this,e,r);if(i&&(e=r),!!a.isString(e)){if(a.isString(n))return e.indexOf(n)!==-1;if(a.isRegExp(n))return n.test(e)}}function Tr(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function Pr(t,e){let r=a.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{value:function(i,s,o){return this[n].call(this,e,i,s,o)},configurable:!0})})}var F=class{constructor(e){e&&this.set(e)}set(e,r,n){let i=this;function s(c,d,u){let l=K(d);if(!l)throw new Error("header name must be a non-empty string");let f=a.findKey(i,l);(!f||i[f]===void 0||u===!0||u===void 0&&i[f]!==!1)&&(i[f||d]=ue(c))}let o=(c,d)=>a.forEach(c,(u,l)=>s(u,l,d));return a.isPlainObject(e)||e instanceof this.constructor?o(e,r):a.isString(e)&&(e=e.trim())&&!Nr(e)?o(ft(e),r):e!=null&&s(r,e,n),this}get(e,r){if(e=K(e),e){let n=a.findKey(this,e);if(n){let i=this[n];if(!r)return i;if(r===!0)return Cr(i);if(a.isFunction(r))return r.call(this,i,n);if(a.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=K(e),e){let n=a.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||Oe(this,this[n],n,r)))}return!1}delete(e,r){let n=this,i=!1;function s(o){if(o=K(o),o){let c=a.findKey(n,o);c&&(!r||Oe(n,n[c],c,r))&&(delete n[c],i=!0)}}return a.isArray(e)?e.forEach(s):s(e),i}clear(e){let r=Object.keys(this),n=r.length,i=!1;for(;n--;){let s=r[n];(!e||Oe(this,this[s],s,e,!0))&&(delete this[s],i=!0)}return i}normalize(e){let r=this,n={};return a.forEach(this,(i,s)=>{let o=a.findKey(n,s);if(o){r[o]=ue(i),delete r[s];return}let c=e?Tr(s):String(s).trim();c!==s&&delete r[s],r[c]=ue(i),n[c]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let r=Object.create(null);return a.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=e&&a.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
3
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){let n=new this(e);return r.forEach(i=>n.set(i)),n}static accessor(e){let n=(this[mt]=this[mt]={accessors:{}}).accessors,i=this.prototype;function s(o){let c=K(o);n[c]||(Pr(i,o),n[c]=!0)}return a.isArray(e)?e.forEach(s):s(e),this}};F.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.freezeMethods(F.prototype);a.freezeMethods(F);var S=F;function W(t,e){let r=this||k,n=e||r,i=S.from(n.headers),s=n.data;return a.forEach(t,function(c){s=c.call(r,s,i.normalize(),e?e.status:void 0)}),i.normalize(),s}function G(t){return!!(t&&t.__CANCEL__)}function ht(t,e,r){h.call(this,t??"canceled",h.ERR_CANCELED,e,r),this.name="CanceledError"}a.inherits(ht,h,{__CANCEL__:!0});var P=ht;function Ce(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new h("Request failed with status code "+r.status,[h.ERR_BAD_REQUEST,h.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}var gt=E.isStandardBrowserEnv?function(){return{write:function(r,n,i,s,o,c){let d=[];d.push(r+"="+encodeURIComponent(n)),a.isNumber(i)&&d.push("expires="+new Date(i).toGMTString()),a.isString(s)&&d.push("path="+s),a.isString(o)&&d.push("domain="+o),c===!0&&d.push("secure"),document.cookie=d.join("; ")},read:function(r){let n=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Ne(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Te(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}function X(t,e){return t&&!Ne(e)?Te(t,e):e}var yt=E.isStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function i(s){let o=s;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=i(window.location.href),function(o){let c=a.isString(o)?i(o):o;return c.protocol===n.protocol&&c.host===n.host}}():function(){return function(){return!0}}();function Pe(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Ir(t,e){t=t||10;let r=new Array(t),n=new Array(t),i=0,s=0,o;return e=e!==void 0?e:1e3,function(d){let u=Date.now(),l=n[s];o||(o=u),r[i]=d,n[i]=u;let f=s,x=0;for(;f!==i;)x+=r[f++],f=f%t;if(i=(i+1)%t,i===s&&(s=(s+1)%t),u-o<e)return;let y=l&&u-l;return y?Math.round(x*1e3/y):void 0}}var xt=Ir;function bt(t,e){let r=0,n=xt(50,250);return i=>{let s=i.loaded,o=i.lengthComputable?i.total:void 0,c=s-r,d=n(c),u=s<=o;r=s;let l={loaded:s,total:o,progress:o?s/o:void 0,bytes:c,rate:d||void 0,estimated:d&&o&&u?(o-s)/d:void 0,event:i};l[e?"download":"upload"]=!0,t(l)}}var Ur=typeof XMLHttpRequest<"u",wt=Ur&&function(t){return new Promise(function(r,n){let i=t.data,s=S.from(t.headers).normalize(),o=t.responseType,c;function d(){t.cancelToken&&t.cancelToken.unsubscribe(c),t.signal&&t.signal.removeEventListener("abort",c)}a.isFormData(i)&&(E.isStandardBrowserEnv||E.isStandardBrowserWebWorkerEnv?s.setContentType(!1):s.setContentType("multipart/form-data;",!1));let u=new XMLHttpRequest;if(t.auth){let y=t.auth.username||"",p=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";s.set("Authorization","Basic "+btoa(y+":"+p))}let l=X(t.baseURL,t.url);u.open(t.method.toUpperCase(),V(l,t.params,t.paramsSerializer),!0),u.timeout=t.timeout;function f(){if(!u)return;let y=S.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),g={data:!o||o==="text"||o==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:y,config:t,request:u};Ce(function(A){r(A),d()},function(A){n(A),d()},g),u=null}if("onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(f)},u.onabort=function(){u&&(n(new h("Request aborted",h.ECONNABORTED,t,u)),u=null)},u.onerror=function(){n(new h("Network Error",h.ERR_NETWORK,t,u)),u=null},u.ontimeout=function(){let p=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",g=t.transitional||oe;t.timeoutErrorMessage&&(p=t.timeoutErrorMessage),n(new h(p,g.clarifyTimeoutError?h.ETIMEDOUT:h.ECONNABORTED,t,u)),u=null},E.isStandardBrowserEnv){let y=(t.withCredentials||yt(l))&&t.xsrfCookieName&&gt.read(t.xsrfCookieName);y&&s.set(t.xsrfHeaderName,y)}i===void 0&&s.setContentType(null),"setRequestHeader"in u&&a.forEach(s.toJSON(),function(p,g){u.setRequestHeader(g,p)}),a.isUndefined(t.withCredentials)||(u.withCredentials=!!t.withCredentials),o&&o!=="json"&&(u.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&u.addEventListener("progress",bt(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",bt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(c=y=>{u&&(n(!y||y.type?new P(null,t,u):y),u.abort(),u=null)},t.cancelToken&&t.cancelToken.subscribe(c),t.signal&&(t.signal.aborted?c():t.signal.addEventListener("abort",c)));let x=Pe(l);if(x&&E.protocols.indexOf(x)===-1){n(new h("Unsupported protocol "+x+":",h.ERR_BAD_REQUEST,t));return}u.send(i||null)})};var le={http:ie,xhr:wt};a.forEach(le,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var Et={getAdapter:t=>{t=a.isArray(t)?t:[t];let{length:e}=t,r,n;for(let i=0;i<e&&(r=t[i],!(n=a.isString(r)?le[r.toLowerCase()]:r));i++);if(!n)throw n===!1?new h(`Adapter ${r} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(a.hasOwnProp(le,r)?`Adapter '${r}' is not available in the build`:`Unknown adapter '${r}'`);if(!a.isFunction(n))throw new TypeError("adapter is not a function");return n},adapters:le};function Ie(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new P(null,t)}function de(t){return Ie(t),t.headers=S.from(t.headers),t.data=W.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Et.getAdapter(t.adapter||k.adapter)(t).then(function(n){return Ie(t),n.data=W.call(t,t.transformResponse,n),n.headers=S.from(n.headers),n},function(n){return G(n)||(Ie(t),n&&n.response&&(n.response.data=W.call(t,t.transformResponse,n.response),n.response.headers=S.from(n.response.headers))),Promise.reject(n)})}var St=t=>t instanceof S?t.toJSON():t;function N(t,e){e=e||{};let r={};function n(u,l,f){return a.isPlainObject(u)&&a.isPlainObject(l)?a.merge.call({caseless:f},u,l):a.isPlainObject(l)?a.merge({},l):a.isArray(l)?l.slice():l}function i(u,l,f){if(a.isUndefined(l)){if(!a.isUndefined(u))return n(void 0,u,f)}else return n(u,l,f)}function s(u,l){if(!a.isUndefined(l))return n(void 0,l)}function o(u,l){if(a.isUndefined(l)){if(!a.isUndefined(u))return n(void 0,u)}else return n(void 0,l)}function c(u,l,f){if(f in e)return n(u,l);if(f in t)return n(void 0,u)}let d={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(u,l)=>i(St(u),St(l),!0)};return a.forEach(Object.keys(Object.assign({},t,e)),function(l){let f=d[l]||i,x=f(t[l],e[l],l);a.isUndefined(x)&&f!==c||(r[l]=x)}),r}var pe="1.4.0";var Ue={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ue[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var _t={};Ue.transitional=function(e,r,n){function i(s,o){return"[Axios v"+pe+"] Transitional option '"+s+"'"+o+(n?". "+n:"")}return(s,o,c)=>{if(e===!1)throw new h(i(o," has been removed"+(r?" in "+r:"")),h.ERR_DEPRECATED);return r&&!_t[o]&&(_t[o]=!0,console.warn(i(o," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(s,o,c):!0}};function Lr(t,e,r){if(typeof t!="object")throw new h("options must be an object",h.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),i=n.length;for(;i-- >0;){let s=n[i],o=e[s];if(o){let c=t[s],d=c===void 0||o(c,s,t);if(d!==!0)throw new h("option "+s+" must be "+d,h.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new h("Unknown option "+s,h.ERR_BAD_OPTION)}}var fe={assertOptions:Lr,validators:Ue};var I=fe.validators,j=class{constructor(e){this.defaults=e,this.interceptors={request:new Re,response:new Re}}request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=N(this.defaults,r);let{transitional:n,paramsSerializer:i,headers:s}=r;n!==void 0&&fe.assertOptions(n,{silentJSONParsing:I.transitional(I.boolean),forcedJSONParsing:I.transitional(I.boolean),clarifyTimeoutError:I.transitional(I.boolean)},!1),i!=null&&(a.isFunction(i)?r.paramsSerializer={serialize:i}:fe.assertOptions(i,{encode:I.function,serialize:I.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let o;o=s&&a.merge(s.common,s[r.method]),o&&a.forEach(["delete","get","head","post","put","patch","common"],p=>{delete s[p]}),r.headers=S.concat(o,s);let c=[],d=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(r)===!1||(d=d&&g.synchronous,c.unshift(g.fulfilled,g.rejected))});let u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let l,f=0,x;if(!d){let p=[de.bind(this),void 0];for(p.unshift.apply(p,c),p.push.apply(p,u),x=p.length,l=Promise.resolve(r);f<x;)l=l.then(p[f++],p[f++]);return l}x=c.length;let y=r;for(f=0;f<x;){let p=c[f++],g=c[f++];try{y=p(y)}catch(C){g.call(this,C);break}}try{l=de.call(this,y)}catch(p){return Promise.reject(p)}for(f=0,x=u.length;f<x;)l=l.then(u[f++],u[f++]);return l}getUri(e){e=N(this.defaults,e);let r=X(e.baseURL,e.url);return V(r,e.params,e.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(e){j.prototype[e]=function(r,n){return this.request(N(n||{},{method:e,url:r,data:(n||{}).data}))}});a.forEach(["post","put","patch"],function(e){function r(n){return function(s,o,c){return this.request(N(c||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}j.prototype[e]=r(),j.prototype[e+"Form"]=r(!0)});var Q=j;var Le=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});let n=this;this.promise.then(i=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](i);n._listeners=null}),this.promise.then=i=>{let s,o=new Promise(c=>{n.subscribe(c),s=c}).then(i);return o.cancel=function(){n.unsubscribe(s)},o},e(function(s,o,c){n.reason||(n.reason=new P(s,o,c),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}static source(){let e;return{token:new t(function(i){e=i}),cancel:e}}},Rt=Le;function De(t){return function(r){return t.apply(null,r)}}function ke(t){return a.isObject(t)&&t.isAxiosError===!0}var Fe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Fe).forEach(([t,e])=>{Fe[e]=t});var At=Fe;function Ot(t){let e=new Q(t),r=q(Q.prototype.request,e);return a.extend(r,Q.prototype,e,{allOwnKeys:!0}),a.extend(r,e,null,{allOwnKeys:!0}),r.create=function(i){return Ot(N(t,i))},r}var b=Ot(k);b.Axios=Q;b.CanceledError=P;b.CancelToken=Rt;b.isCancel=G;b.VERSION=pe;b.toFormData=T;b.AxiosError=h;b.Cancel=b.CanceledError;b.all=function(e){return Promise.all(e)};b.spread=De;b.isAxiosError=ke;b.mergeConfig=N;b.AxiosHeaders=S;b.formToJSON=t=>ae(a.isHTMLForm(t)?new FormData(t):t);b.HttpStatusCode=At;b.default=b;var v=b;var{Axios:Cs,AxiosError:Ct,CanceledError:Ns,isCancel:Ts,CancelToken:Ps,VERSION:Is,all:Us,Cancel:Ls,isAxiosError:Ds,spread:ks,toFormData:Fs,AxiosHeaders:js,HttpStatusCode:vs,formToJSON:Bs,mergeConfig:zs}=v;var me,Dr=new Uint8Array(16);function je(){if(!me&&(me=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!me))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return me(Dr)}var w=[];for(let t=0;t<256;++t)w.push((t+256).toString(16).slice(1));function Nt(t,e=0){return(w[t[e+0]]+w[t[e+1]]+w[t[e+2]]+w[t[e+3]]+"-"+w[t[e+4]]+w[t[e+5]]+"-"+w[t[e+6]]+w[t[e+7]]+"-"+w[t[e+8]]+w[t[e+9]]+"-"+w[t[e+10]]+w[t[e+11]]+w[t[e+12]]+w[t[e+13]]+w[t[e+14]]+w[t[e+15]]).toLowerCase()}var kr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ve={randomUUID:kr};function Fr(t,e,r){if(ve.randomUUID&&!e&&!t)return ve.randomUUID();t=t||{};let n=t.random||(t.rng||je)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let i=0;i<16;++i)e[r+i]=n[i];return e}return Nt(n)}var B=Fr;var Be=class{constructor(){}enterWith(e){}run(e,r){return r()}getStore(){}},jr={makeAxios:t=>v.create({...t}),getRepoStatus:async()=>{},getPastNAncestors:async()=>[],getEnv:t=>{},getCallerLocation:()=>{},newAsyncLocalStorage:()=>new Be},R=jr;var Tt="_xact_id",z="_is_merge";function M(t,e){let r=!0;try{let n=t();return n instanceof Promise?(r=!1,n.finally(e)):n}finally{r&&e()}}function ze(t,e){for(let[r,n]of Object.entries(e)){let i=t[r];i instanceof Object&&!Array.isArray(i)&&e instanceof Object&&!Array.isArray(n)?ze(i,n):t[r]=n}}function vr(t){let e=r=>t[r]??"";return e("experiment_id")+":"+e("dataset_id")+":"+e("prompt_session_id")+":"+e("id")}function Pt(t){let e=[],r=[];for(let i of t)i.id===void 0?e.push(i):r.push(i);let n={};for(let i of r){let s=vr(i),o=n[s];if(o!==void 0&&i[z]){let c=!o[z];ze(o,i),c&&delete o[z]}else n[s]=i}return e.push(...Object.values(n)),e}var He=class{constructor(){this.kind="span";this.id="",this.span_id="",this.root_span_id=""}log(e){}startSpan(e,r){return this}traced(e,r,n){return r(this)}end(e){return e?.endTime??ye()}close(e){return this.end(e)}},It=new He,he=class{constructor(){this.id=B(),this.currentExperiment=R.newAsyncLocalStorage(),this.currentSpan=R.newAsyncLocalStorage(),this.apiUrl=null,this.loginToken=null,this.orgId=null,this.orgName=null,this.logUrl=null,this.loggedIn=!1,this._apiConn=null,this._logConn=null,this._userInfo=null,globalThis.__inherited_braintrust_state=this}apiConn(){if(!this._apiConn){if(!this.apiUrl)throw new Error("Must initialize apiUrl before requesting apiConn");this._apiConn=new Y(this.apiUrl)}return this._apiConn}logConn(){if(!this._logConn){if(!this.logUrl)throw new Error("Must initialize logUrl before requesting logConn");this._logConn=new Y(this.logUrl)}return this._logConn}async userInfo(){return this._userInfo||(this._userInfo=await this.logConn().get_json("ping")),this._userInfo}setUserInfoIfNull(e){this._userInfo||(this._userInfo=e)}},m=globalThis.__inherited_braintrust_state||new he,fo=()=>m,qe=class{constructor(){this.unterminatedObjects=new Map,process.on("exit",()=>{this.warnUnterminated()})}addUnterminated(e,r){this.unterminatedObjects.set(e,r)}removeUnterminated(e){this.unterminatedObjects.delete(e)}warnUnterminated(){if(this.unterminatedObjects.size===0)return;let e="WARNING: Did not close the following braintrust objects. We recommend running `.close` on the listed objects, or by running them inside a callback so they are closed automatically:";this.unterminatedObjects.forEach((r,n)=>{let i=`
4
+ Object of type ${n?.constructor?.name}`;r&&(i+=` created at ${JSON.stringify(r)}`),e+=i}),console.warn(e)}},H=new qe,Y=class t{constructor(e){this.base_url=e,this.token=null,this.session=null,this._reset()}async ping(){try{let e=await this.get("ping");return m.setUserInfoIfNull(e.data),e.status===200}catch{return!1}}make_long_lived(){this._reset()}static sanitize_token(e){return e.trim()}set_token(e){e=t.sanitize_token(e),this.token=e,this._reset()}_reset(){let e={};this.token&&(e.Authorization=`Bearer ${this.token}`),this.session=R.makeAxios({headers:e})}async get(e,r=void 0){return await this.session.get($e(this.base_url,e),{params:r})}async post(e,r=void 0,n=void 0){return await this.session.post($e(this.base_url,e),r,n)}async get_json(e,r=void 0,n=0){let i=n+1;for(let s=0;s<i;s++)try{return(await this.get(`${e}`,r)).data}catch(o){if(s<i-1){console.log(`Retrying API request ${e} ${r} ${o.status} ${o.text}`);continue}throw o}}async post_json(e,r=void 0){return(await this.post(`${e}`,r,{headers:{"Content-Type":"application/json"}})).data}},Ut=class{constructor(e,r,n){this.name=e,this.id=r,this.org_id=n}},Br=10*1024*1024;function zr(t){return`[${t.join(",")}]`}var Mr=100,Me=3,ge=class{constructor(){this.items=[];this.active_flush=Promise.resolve([]);this.active_flush_resolved=!0}log(e){this.items.push(...e),this.active_flush_resolved&&(this.active_flush_resolved=!1,this.active_flush=this.flush_once())}async flush_once(e=Mr){this.active_flush_resolved=!1;let r=Pt(this.items||[]).reverse();this.items=[];let n=[];for(;;){let s=[],o=0;for(;s.length<e&&o<Br/2;){let c=null;if(r.length>0)c=r.pop();else break;let d=JSON.stringify(c);s.push(d),o+=d.length}if(s.length===0)break;n.push((async()=>{let c=zr(s);for(let d=0;d<Me;d++){let u=performance.now();try{return(await m.logConn().post_json("logs",c)).map(l=>l.id)}catch(l){let f=d+1===Me?"":" Retrying",x=(()=>l instanceof Ct&&l.response?`${l.response.status}: ${JSON.stringify(l.response.data)}`:`${l}`)();console.warn(`log request failed. Elapsed time: ${(performance.now()-u)/1e3} seconds. Payload size: ${c.length}. Error: ${x}.${f}`)}}return console.warn(`log request failed after ${Me} retries. Dropping batch`),[]})())}let i=await Promise.all(n);return this.items.length>0?this.active_flush=this.flush_once():this.active_flush_resolved=!0,i}async flush(){for(;await this.active_flush,!this.active_flush_resolved;);}};async function Hr(t,e={}){let{experiment:r,description:n,dataset:i,baseExperiment:s,isPublic:o,update:c,apiUrl:d,apiKey:u,orgName:l,disableCache:f}=e||{};return await Lt({orgName:l,disableCache:f,apiKey:u,apiUrl:d}),await Xr(t,{experimentName:r,description:n,dataset:i,update:c,baseExperiment:s,isPublic:o})}async function mo(t,e,r={}){let n=await Hr(t,r);return M(()=>r.setCurrent??!0?xe(n,()=>e(n)):e(n),()=>n.close())}async function qr(t,e={}){let{dataset:r,description:n,version:i,apiUrl:s,apiKey:o,orgName:c,disableCache:d}=e||{};return await Lt({orgName:c,disableCache:d,apiKey:o,apiUrl:s}),await Qr(t,{name:r,description:n,version:i})}async function ho(t,e,r={}){let n=await qr(t,r);return M(()=>e(n),()=>n.close())}async function Lt(t={}){let{apiUrl:e=R.getEnv("BRAINTRUST_API_URL")||"https://www.braintrustdata.com",apiKey:r=R.getEnv("BRAINTRUST_API_KEY"),orgName:n=void 0,disableCache:i=!1}=t||{},{forceLogin:s=!1}=t||{};if((e!=m.apiUrl||r!==void 0&&Y.sanitize_token(r)!=m.loginToken||n!==void 0&&n!=m.orgName)&&(s=!0),m.loggedIn&&!s)return;m=new he,m.apiUrl=e;let o=null,c=!1,d=null;if(r!==void 0){let l=(await v.post($e(m.apiUrl,"/api/apikey/login"),{token:r})).data;Kr(l.org_info,n),d=m.logConn(),d.set_token(r),c=await d.ping()}else throw new Error("Please specify an api key. Token based login is not yet implemented in the JS client.");if(!d)throw new Error("Conn should be set at this point (a bug)");c||await d.get("ping"),d.make_long_lived(),m.apiConn().set_token(r),m.loginToken=d.token,m.loggedIn=!0}function go(t){let e=m.currentExperiment.getStore();if(!e)throw new Error("Not initialized. Please call init() first");return e.log(t)}async function yo(t={}){let e=m.currentExperiment.getStore();if(!e)throw new Error("Not initialized. Please call init() first");return await e.summarize(t)}function $r(){return m.currentExperiment.getStore()}function Jr(){return m.currentSpan.getStore()}function Vr(t){let{name:e,...r}=t??{},n=(e??R.getCallerLocation()?.caller_functionname)||"root",i=Jr();if(!Object.is(i,It))return i.startSpan(n,r);let s=$r();return s?s.startSpan({name:n,...r}):It}function xo(t,e){let r=Vr(e);return M(()=>e?.setCurrent??!0?xe(r,()=>t(r)):t(r),()=>r.end())}function xe(t,e){if(t.kind==="experiment")return m.currentExperiment.run(t,e);if(t.kind==="span")return m.currentSpan.run(t,e);throw new Error(`Invalid object of type ${t.constructor.name}`)}function Kr(t,e){if(t.length===0)throw new Error("This user is not part of any organizations.");for(let r of t)if(e===void 0||r.name===e){m.orgId=r.id,m.orgName=r.name,m.logUrl=r.api_url;break}if(m.orgId===void 0)throw new Error(`Organization ${e} not found. Must be one of ${t.map(r=>r.name).join(", ")}`)}function $e(...t){return t.map(e=>e.replace(/^\//,"")).join("/")}function ye(){return new Date().getTime()/1e3}function Wr(t){if(t.scores)for(let[e,r]of Object.entries(t.scores)){if(typeof e!="string")throw new Error("score names must be strings");if(typeof r=="boolean"&&(r=r?1:0,t.scores[e]=r),typeof r!="number")throw new Error("score values must be numbers");if(r<0||r>1)throw new Error("score values must be between 0 and 1")}if(t.metadata){for(let e of Object.keys(t.metadata))if(typeof e!="string")throw new Error("metadata keys must be strings")}if(t.metrics){for(let e of Object.keys(t.metrics))if(typeof e!="string")throw new Error("metric keys must be strings");for(let e of["start","end","caller_functionname","caller_filename","caller_lineno"])if(e in t.metrics)throw new Error(`Key ${e} may not be specified in metrics`)}if("input"in t&&t.input&&"inputs"in t&&t.inputs)throw new Error("Only one of input or inputs (deprecated) can be specified. Prefer input.");if("inputs"in t){let{inputs:e,...r}=t;return{input:e,...r}}else return{...t}}function Gr(t,e){if("input"in t&&t.input&&"inputs"in t&&t.inputs||!("input"in t)&&!("inputs"in t))throw new Error("Exactly one of input or inputs (deprecated) must be specified. Prefer input.");if(!t.scores)throw new Error("scores must be specified");if(e&&t.datasetRecordId===void 0)throw new Error("datasetRecordId must be specified when using a dataset");if(!e&&t.datasetRecordId!==void 0)throw new Error("datasetRecordId cannot be specified when not using a dataset");return t}async function Xr(t,{experimentName:e,description:r,dataset:n,update:i,baseExperiment:s,isPublic:o}={experimentName:void 0,description:void 0,baseExperiment:void 0,isPublic:!1}){let c={project_name:t,org_id:m.orgId};e&&(c.experiment_name=e),r&&(c.description=r),i&&(c.update=i);let d=await R.getRepoStatus();d&&(c.repo_info=d),s?c.base_experiment=s:c.ancestor_commits=await R.getPastNAncestors(),n!==void 0&&(c.dataset_id=n.id,c.dataset_version=await n.version()),o!==void 0&&(c.public=o);let u=await m.apiConn().post_json("api/experiment/register",c),l=u.project,f=u.experiment,x=(await m.userInfo()).id;return new Je(l,f.id,f.name,x,n)}var Je=class{constructor(e,r,n,i,s){this.kind="experiment";this.finished=!1,this.project=e,this.id=r,this.name=n,this.user_id=i,this.dataset=s,this.logger=new ge,this.lastStartTime=ye(),H.addUnterminated(this,R.getCallerLocation())}log(e){this.checkNotFinished(),e=Gr(e,!!this.dataset);let r=this.startSpan({startTime:this.lastStartTime,event:e});return this.lastStartTime=r.end(),r.id}startSpan(e){this.checkNotFinished();let{name:r,...n}=e??{};return new Ve({experimentLogger:this.logger,name:r??"root",...n,rootExperiment:this})}traced(e,r){let{setCurrent:n,...i}=r??{},s=this.startSpan(i);return M(()=>n??!0?xe(s,()=>e(s)):e(s),()=>s.end())}async summarize(e={}){let{summarizeScores:r=!0,comparisonExperimentId:n=void 0}=e||{};await this.logger.flush();let i=`${m.apiUrl}/app/${encodeURIComponent(m.orgName)}/p/${encodeURIComponent(this.project.name)}`,s=`${i}/${encodeURIComponent(this.name)}`,o,c;if(r){if(n===void 0){let l=(await m.logConn().get("/crud/base_experiments",{id:this.id})).data;l.length>0&&(n=l[0].base_exp_id,c=l[0].base_exp_name)}n!==void 0&&(o=await m.logConn().get_json("/experiment-comparison",{experiment_id:this.id,base_experiment_id:n},3))}return{projectName:this.project.name,experimentName:this.name,projectUrl:i,experimentUrl:s,comparisonExperimentName:c,scores:o}}async close(){return this.checkNotFinished(),await this.logger.flush(),this.finished=!0,H.removeUnterminated(this),this.id}checkNotFinished(){if(this.finished)throw new Error("Cannot invoke method on finished experiment")}},Ve=class t{constructor(e){this.kind="span";this.finished=!1,this.experimentLogger=e.experimentLogger;let r=R.getCallerLocation();if(this.internalData={metrics:{start:e.startTime??ye(),...r},span_attributes:{...e.spanAttributes,name:e.name}},this.id=e.event?.id??B(),this.span_id=B(),"rootExperiment"in e)this.root_span_id=this.span_id,this._project_id=e.rootExperiment.project.id,this._experiment_id=e.rootExperiment.id,this.internalData=Object.assign(this.internalData,{user_id:e.rootExperiment.user_id,created:new Date().toISOString()});else if("parentSpan"in e)this.root_span_id=e.parentSpan.root_span_id,this._project_id=e.parentSpan._project_id,this._experiment_id=e.parentSpan._experiment_id,this.internalData.span_parents=[e.parentSpan.span_id];else throw new Error("Must provide either 'rootExperiment' or 'parentSpan'");this.isMerge=!1;let{id:n,...i}=e.event??{};this.log(i),this.isMerge=!0,H.addUnterminated(this,r)}log(e){this.checkNotFinished();let n={...Wr(e),...this.internalData,id:this.id,span_id:this.span_id,root_span_id:this.root_span_id,project_id:this._project_id,experiment_id:this._experiment_id,[z]:this.isMerge};this.internalData={},this.experimentLogger.log([n])}startSpan(e,r){return this.checkNotFinished(),new t({experimentLogger:this.experimentLogger,name:e,...r,parentSpan:this})}traced(e,r,n){let{setCurrent:i,...s}=n??{},o=this.startSpan(e,s);return M(()=>i??!0?xe(o,()=>r(o)):r(o),()=>o.end())}end(e){this.checkNotFinished();let r=e?.endTime??ye();return this.internalData={metrics:{end:r}},this.log({}),this.finished=!0,H.removeUnterminated(this),r}close(e){return this.end(e)}checkNotFinished(){if(this.finished)throw new Error("Cannot invoke method on finished span")}};async function Qr(t,{name:e,description:r,version:n}={}){let i={org_id:m.orgId,project_name:t,dataset_name:e,description:r},s=await m.apiConn().post_json("api/dataset/register",i),o=s.project,c=s.dataset,d=(await m.userInfo()).id;return new Ke(o,c.id,c.name,d,n)}var Ke=class{constructor(e,r,n,i,s){this._fetchedData=void 0;this.finished=!1,this.project=e,this.id=r,this.name=n,this.user_id=i,this.pinnedVersion=s,this.logger=new ge,H.addUnterminated(this,R.getCallerLocation())}insert({input:e,output:r,metadata:n,id:i}){if(this.checkNotFinished(),n!==void 0){for(let o of Object.keys(n))if(typeof o!="string")throw new Error("metadata keys must be strings")}let s={id:i||B(),inputs:e,output:r,project_id:this.project.id,dataset_id:this.id,user_id:this.user_id,created:new Date().toISOString(),metadata:n};return this.logger.log([s]),s.id}delete(e){this.checkNotFinished();let r=this.user_id,n={id:e,project_id:this.project.id,dataset_id:this.id,user_id:r,created:new Date().toISOString(),_object_delete:!0};return this.logger.log([n]),n.id}async summarize(e={}){this.checkNotFinished();let{summarizeData:r=!0}=e||{};await this.logger.flush();let n=`${m.apiUrl}/app/${encodeURIComponent(m.orgName)}/p/${encodeURIComponent(this.project.name)}`,i=`${n}/d/${encodeURIComponent(this.name)}`,s;return r&&(s=await m.logConn().get_json("dataset-summary",{dataset_id:this.id},3)),{projectName:this.project.name,datasetName:this.name,projectUrl:n,datasetUrl:i,dataSummary:s}}async*fetch(){this.checkNotFinished();let e=await this.fetchedData();for(let r of e)yield{id:r.id,input:r.input&&JSON.parse(r.input),output:r.input&&JSON.parse(r.output),metadata:r.metadata&&JSON.parse(r.metadata)};this.clearCache()}[Symbol.asyncIterator](){return this.checkNotFinished(),this.fetch()}async fetchedData(){if(this.checkNotFinished(),this._fetchedData===void 0){let r=await(await m.logConn().get("object/dataset",{id:this.id,fmt:"json",version:this.pinnedVersion})).data;this._fetchedData=r.split(`
5
+ `).filter(n=>n.trim()!=="").map(n=>JSON.parse(n))}return this._fetchedData||[]}clearCache(){this.checkNotFinished(),this._fetchedData=void 0}async version(){if(this.checkNotFinished(),this.pinnedVersion!==void 0)return this.pinnedVersion;{let e=await this.fetchedData(),r;for(let n of e){let i=n[Tt];(r===void 0||(i??i>r))&&(r=i)}return r}}async close(){return this.checkNotFinished(),await this.logger.flush(),this.finished=!0,H.removeUnterminated(this),this.id}checkNotFinished(){if(this.finished)throw new Error("Cannot invoke method on finished dataset")}};export{Ke as Dataset,Je as Experiment,He as NoopSpan,Ut as Project,Ve as SpanImpl,fo as _internalGetGlobalState,$r as currentExperiment,Jr as currentSpan,Hr as init,qr as initDataset,go as log,Lt as login,It as noopSpan,Vr as startSpan,yo as summarize,xo as traced,xe as withCurrent,ho as withDataset,mo as withExperiment};
package/dist/cli.js CHANGED
@@ -18915,7 +18915,7 @@ var require_package = __commonJS({
18915
18915
  "package.json"(exports2, module2) {
18916
18916
  module2.exports = {
18917
18917
  name: "braintrust",
18918
- version: "0.0.57",
18918
+ version: "0.0.58",
18919
18919
  description: "SDK for integrating Braintrust",
18920
18920
  main: "./dist/index.js",
18921
18921
  browser: {
@@ -18982,7 +18982,7 @@ var import_chalk = __toESM(require_source());
18982
18982
  var import_fs = __toESM(require("fs"));
18983
18983
  var import_os = __toESM(require("os"));
18984
18984
  var import_path = __toESM(require("path"));
18985
- var import_util4 = __toESM(require("util"));
18985
+ var import_util5 = __toESM(require("util"));
18986
18986
  var fsWalk = __toESM(require_out3());
18987
18987
 
18988
18988
  // node_modules/minimatch/dist/mjs/index.js
@@ -23321,6 +23321,8 @@ var iso = {
23321
23321
  var isomorph_default = iso;
23322
23322
 
23323
23323
  // src/util.ts
23324
+ var TRANSACTION_ID_FIELD = "_xact_id";
23325
+ var IS_MERGE_FIELD = "_is_merge";
23324
23326
  function runFinally(f, finallyF) {
23325
23327
  let runSyncCleanup = true;
23326
23328
  try {
@@ -23337,6 +23339,49 @@ function runFinally(f, finallyF) {
23337
23339
  }
23338
23340
  }
23339
23341
  }
23342
+ function mergeDicts(mergeInto, mergeFrom) {
23343
+ for (const [k, mergeFromV] of Object.entries(mergeFrom)) {
23344
+ const mergeIntoV = mergeInto[k];
23345
+ if (mergeIntoV instanceof Object && !Array.isArray(mergeIntoV) && mergeFrom instanceof Object && !Array.isArray(mergeFromV)) {
23346
+ mergeDicts(mergeIntoV, mergeFromV);
23347
+ } else {
23348
+ mergeInto[k] = mergeFromV;
23349
+ }
23350
+ }
23351
+ }
23352
+
23353
+ // src/merge_row_batch.ts
23354
+ function generateUniqueRowKey(row) {
23355
+ const coalesceEmpty = (field) => row[field] ?? "";
23356
+ return coalesceEmpty("experiment_id") + ":" + coalesceEmpty("dataset_id") + ":" + coalesceEmpty("prompt_session_id") + ":" + coalesceEmpty("id");
23357
+ }
23358
+ function mergeRowBatch(rows) {
23359
+ const out = [];
23360
+ const remainingRows = [];
23361
+ for (const row of rows) {
23362
+ if (row["id"] === void 0) {
23363
+ out.push(row);
23364
+ } else {
23365
+ remainingRows.push(row);
23366
+ }
23367
+ }
23368
+ const rowGroups = {};
23369
+ for (const row of remainingRows) {
23370
+ const key = generateUniqueRowKey(row);
23371
+ const existingRow = rowGroups[key];
23372
+ if (existingRow !== void 0 && row[IS_MERGE_FIELD]) {
23373
+ const preserveNoMerge = !existingRow[IS_MERGE_FIELD];
23374
+ mergeDicts(existingRow, row);
23375
+ if (preserveNoMerge) {
23376
+ delete existingRow[IS_MERGE_FIELD];
23377
+ }
23378
+ } else {
23379
+ rowGroups[key] = row;
23380
+ }
23381
+ }
23382
+ out.push(...Object.values(rowGroups));
23383
+ return out;
23384
+ }
23340
23385
 
23341
23386
  // src/logger.ts
23342
23387
  var NoopSpan = class {
@@ -23440,7 +23485,6 @@ var UnterminatedObjectsHandler = class {
23440
23485
  }
23441
23486
  };
23442
23487
  var unterminatedObjects = new UnterminatedObjectsHandler();
23443
- var TRANSACTION_ID_FIELD = "_xact_id";
23444
23488
  var HTTPConnection = class _HTTPConnection {
23445
23489
  constructor(base_url) {
23446
23490
  this.base_url = base_url;
@@ -23515,6 +23559,8 @@ var MaxRequestSize = 10 * 1024 * 1024;
23515
23559
  function constructJsonArray(items) {
23516
23560
  return `[${items.join(",")}]`;
23517
23561
  }
23562
+ var DefaultBatchSize = 100;
23563
+ var NumRetries = 3;
23518
23564
  var LogThread = class {
23519
23565
  constructor() {
23520
23566
  this.items = [];
@@ -23528,11 +23574,11 @@ var LogThread = class {
23528
23574
  this.active_flush = this.flush_once();
23529
23575
  }
23530
23576
  }
23531
- async flush_once(batchSize = 100) {
23577
+ async flush_once(batchSize = DefaultBatchSize) {
23532
23578
  this.active_flush_resolved = false;
23533
- const initialItems = (this.items || []).reverse();
23579
+ const initialItems = mergeRowBatch(this.items || []).reverse();
23534
23580
  this.items = [];
23535
- let ret = [];
23581
+ let postPromises = [];
23536
23582
  while (true) {
23537
23583
  const items = [];
23538
23584
  let itemsLen = 0;
@@ -23547,13 +23593,42 @@ var LogThread = class {
23547
23593
  items.push(itemS);
23548
23594
  itemsLen += itemS.length;
23549
23595
  }
23550
- if (items.length > 0) {
23551
- const resp = await _state.logConn().post_json("logs", constructJsonArray(items));
23552
- ret = resp.data;
23553
- } else {
23596
+ if (items.length === 0) {
23554
23597
  break;
23555
23598
  }
23599
+ postPromises.push(
23600
+ (async () => {
23601
+ const itemsS = constructJsonArray(items);
23602
+ for (let i = 0; i < NumRetries; i++) {
23603
+ const startTime = performance.now();
23604
+ try {
23605
+ return (await _state.logConn().post_json("logs", itemsS)).map(
23606
+ (res) => res.id
23607
+ );
23608
+ } catch (e) {
23609
+ const retryingText = i + 1 === NumRetries ? "" : " Retrying";
23610
+ const errMsg = (() => {
23611
+ if (e instanceof AxiosError2 && e.response) {
23612
+ return `${e.response.status}: ${JSON.stringify(
23613
+ e.response.data
23614
+ )}`;
23615
+ } else {
23616
+ return `${e}`;
23617
+ }
23618
+ })();
23619
+ console.warn(
23620
+ `log request failed. Elapsed time: ${(performance.now() - startTime) / 1e3} seconds. Payload size: ${itemsS.length}. Error: ${errMsg}.${retryingText}`
23621
+ );
23622
+ }
23623
+ }
23624
+ console.warn(
23625
+ `log request failed after ${NumRetries} retries. Dropping batch`
23626
+ );
23627
+ return [];
23628
+ })()
23629
+ );
23556
23630
  }
23631
+ let ret = await Promise.all(postPromises);
23557
23632
  if (this.items.length > 0) {
23558
23633
  this.active_flush = this.flush_once();
23559
23634
  } else {
@@ -24027,7 +24102,7 @@ var SpanImpl = class _SpanImpl {
24027
24102
  root_span_id: this.root_span_id,
24028
24103
  project_id: this._project_id,
24029
24104
  experiment_id: this._experiment_id,
24030
- _is_merge: this.isMerge
24105
+ [IS_MERGE_FIELD]: this.isMerge
24031
24106
  };
24032
24107
  this.internalData = {};
24033
24108
  this.experimentLogger.log([record]);
@@ -28911,7 +28986,7 @@ async function collectFiles(inputPath) {
28911
28986
  files.push(inputPath);
28912
28987
  }
28913
28988
  } else {
28914
- const walked = await import_util4.default.promisify(fsWalk.walk)(inputPath, {
28989
+ const walked = await import_util5.default.promisify(fsWalk.walk)(inputPath, {
28915
28990
  deepFilter: (entry) => {
28916
28991
  return checkMatch(entry.path, null, EXCLUDE);
28917
28992
  },
package/dist/index.js CHANGED
@@ -17962,6 +17962,8 @@ function v4(options, buf, offset) {
17962
17962
  var v4_default = v4;
17963
17963
 
17964
17964
  // src/util.ts
17965
+ var TRANSACTION_ID_FIELD = "_xact_id";
17966
+ var IS_MERGE_FIELD = "_is_merge";
17965
17967
  function runFinally(f, finallyF) {
17966
17968
  let runSyncCleanup = true;
17967
17969
  try {
@@ -17978,6 +17980,49 @@ function runFinally(f, finallyF) {
17978
17980
  }
17979
17981
  }
17980
17982
  }
17983
+ function mergeDicts(mergeInto, mergeFrom) {
17984
+ for (const [k, mergeFromV] of Object.entries(mergeFrom)) {
17985
+ const mergeIntoV = mergeInto[k];
17986
+ if (mergeIntoV instanceof Object && !Array.isArray(mergeIntoV) && mergeFrom instanceof Object && !Array.isArray(mergeFromV)) {
17987
+ mergeDicts(mergeIntoV, mergeFromV);
17988
+ } else {
17989
+ mergeInto[k] = mergeFromV;
17990
+ }
17991
+ }
17992
+ }
17993
+
17994
+ // src/merge_row_batch.ts
17995
+ function generateUniqueRowKey(row) {
17996
+ const coalesceEmpty = (field) => row[field] ?? "";
17997
+ return coalesceEmpty("experiment_id") + ":" + coalesceEmpty("dataset_id") + ":" + coalesceEmpty("prompt_session_id") + ":" + coalesceEmpty("id");
17998
+ }
17999
+ function mergeRowBatch(rows) {
18000
+ const out = [];
18001
+ const remainingRows = [];
18002
+ for (const row of rows) {
18003
+ if (row["id"] === void 0) {
18004
+ out.push(row);
18005
+ } else {
18006
+ remainingRows.push(row);
18007
+ }
18008
+ }
18009
+ const rowGroups = {};
18010
+ for (const row of remainingRows) {
18011
+ const key = generateUniqueRowKey(row);
18012
+ const existingRow = rowGroups[key];
18013
+ if (existingRow !== void 0 && row[IS_MERGE_FIELD]) {
18014
+ const preserveNoMerge = !existingRow[IS_MERGE_FIELD];
18015
+ mergeDicts(existingRow, row);
18016
+ if (preserveNoMerge) {
18017
+ delete existingRow[IS_MERGE_FIELD];
18018
+ }
18019
+ } else {
18020
+ rowGroups[key] = row;
18021
+ }
18022
+ }
18023
+ out.push(...Object.values(rowGroups));
18024
+ return out;
18025
+ }
17981
18026
 
17982
18027
  // src/logger.ts
17983
18028
  var NoopSpan = class {
@@ -18081,7 +18126,6 @@ var UnterminatedObjectsHandler = class {
18081
18126
  }
18082
18127
  };
18083
18128
  var unterminatedObjects = new UnterminatedObjectsHandler();
18084
- var TRANSACTION_ID_FIELD = "_xact_id";
18085
18129
  var HTTPConnection = class _HTTPConnection {
18086
18130
  constructor(base_url) {
18087
18131
  this.base_url = base_url;
@@ -18163,6 +18207,8 @@ var MaxRequestSize = 10 * 1024 * 1024;
18163
18207
  function constructJsonArray(items) {
18164
18208
  return `[${items.join(",")}]`;
18165
18209
  }
18210
+ var DefaultBatchSize = 100;
18211
+ var NumRetries = 3;
18166
18212
  var LogThread = class {
18167
18213
  constructor() {
18168
18214
  this.items = [];
@@ -18176,11 +18222,11 @@ var LogThread = class {
18176
18222
  this.active_flush = this.flush_once();
18177
18223
  }
18178
18224
  }
18179
- async flush_once(batchSize = 100) {
18225
+ async flush_once(batchSize = DefaultBatchSize) {
18180
18226
  this.active_flush_resolved = false;
18181
- const initialItems = (this.items || []).reverse();
18227
+ const initialItems = mergeRowBatch(this.items || []).reverse();
18182
18228
  this.items = [];
18183
- let ret = [];
18229
+ let postPromises = [];
18184
18230
  while (true) {
18185
18231
  const items = [];
18186
18232
  let itemsLen = 0;
@@ -18195,13 +18241,42 @@ var LogThread = class {
18195
18241
  items.push(itemS);
18196
18242
  itemsLen += itemS.length;
18197
18243
  }
18198
- if (items.length > 0) {
18199
- const resp = await _state.logConn().post_json("logs", constructJsonArray(items));
18200
- ret = resp.data;
18201
- } else {
18244
+ if (items.length === 0) {
18202
18245
  break;
18203
18246
  }
18247
+ postPromises.push(
18248
+ (async () => {
18249
+ const itemsS = constructJsonArray(items);
18250
+ for (let i = 0; i < NumRetries; i++) {
18251
+ const startTime = performance.now();
18252
+ try {
18253
+ return (await _state.logConn().post_json("logs", itemsS)).map(
18254
+ (res) => res.id
18255
+ );
18256
+ } catch (e) {
18257
+ const retryingText = i + 1 === NumRetries ? "" : " Retrying";
18258
+ const errMsg = (() => {
18259
+ if (e instanceof AxiosError2 && e.response) {
18260
+ return `${e.response.status}: ${JSON.stringify(
18261
+ e.response.data
18262
+ )}`;
18263
+ } else {
18264
+ return `${e}`;
18265
+ }
18266
+ })();
18267
+ console.warn(
18268
+ `log request failed. Elapsed time: ${(performance.now() - startTime) / 1e3} seconds. Payload size: ${itemsS.length}. Error: ${errMsg}.${retryingText}`
18269
+ );
18270
+ }
18271
+ }
18272
+ console.warn(
18273
+ `log request failed after ${NumRetries} retries. Dropping batch`
18274
+ );
18275
+ return [];
18276
+ })()
18277
+ );
18204
18278
  }
18279
+ let ret = await Promise.all(postPromises);
18205
18280
  if (this.items.length > 0) {
18206
18281
  this.active_flush = this.flush_once();
18207
18282
  } else {
@@ -18731,7 +18806,7 @@ var SpanImpl = class _SpanImpl {
18731
18806
  root_span_id: this.root_span_id,
18732
18807
  project_id: this._project_id,
18733
18808
  experiment_id: this._experiment_id,
18734
- _is_merge: this.isMerge
18809
+ [IS_MERGE_FIELD]: this.isMerge
18735
18810
  };
18736
18811
  this.internalData = {};
18737
18812
  this.experimentLogger.log([record]);
package/dist/logger.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AxiosInstance } from "axios";
2
2
  import { IsoAsyncLocalStorage } from "./isomorph";
3
+ import { IS_MERGE_FIELD } from "./util";
3
4
  export type SetCurrentArg = {
4
5
  setCurrent?: boolean;
5
6
  };
@@ -159,7 +160,7 @@ type ExperimentEvent = Partial<InputField> & Partial<OtherExperimentLogFields> &
159
160
  root_span_id: string;
160
161
  project_id: string;
161
162
  experiment_id: string;
162
- _is_merge: boolean;
163
+ [IS_MERGE_FIELD]: boolean;
163
164
  } & Partial<{
164
165
  user_id: string;
165
166
  created: string;
@@ -0,0 +1 @@
1
+ export declare function mergeRowBatch(rows: Record<string, any>[]): Record<string, any>[];
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/axios/index.d.ts","../node_modules/@types/uuid/index.d.ts","../src/isomorph.ts","../src/util.ts","../src/logger.ts","../src/browser.ts","../src/cache.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/minimatch/dist/cjs/ast.d.ts","../node_modules/minimatch/dist/cjs/escape.d.ts","../node_modules/minimatch/dist/cjs/unescape.d.ts","../node_modules/minimatch/dist/cjs/index.d.ts","../node_modules/@types/argparse/index.d.ts","../node_modules/@types/pluralize/index.d.ts","../node_modules/@types/cli-progress/index.d.ts","../src/progress.ts","../node_modules/@types/graceful-fs/index.d.ts","../src/jest/tryrealpath.ts","../src/jest/nodemodulespaths.ts","../../autoevals/jsdist/base.d.ts","../../autoevals/jsdist/oai.d.ts","../../autoevals/jsdist/templates.d.ts","../../autoevals/jsdist/llm.d.ts","../../autoevals/jsdist/string.d.ts","../../autoevals/jsdist/number.d.ts","../../autoevals/jsdist/json.d.ts","../../autoevals/jsdist/index.d.ts","../src/framework.ts","../node_modules/simple-git/dist/src/lib/tasks/task.d.ts","../node_modules/simple-git/dist/src/lib/types/tasks.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-error.d.ts","../node_modules/simple-git/dist/src/lib/types/handlers.d.ts","../node_modules/simple-git/dist/src/lib/types/index.d.ts","../node_modules/simple-git/dist/src/lib/tasks/log.d.ts","../node_modules/simple-git/dist/typings/response.d.ts","../node_modules/simple-git/dist/src/lib/responses/getremotesummary.d.ts","../node_modules/simple-git/dist/src/lib/args/pathspec.d.ts","../node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts","../node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clean.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clone.d.ts","../node_modules/simple-git/dist/src/lib/tasks/config.d.ts","../node_modules/simple-git/dist/src/lib/tasks/grep.d.ts","../node_modules/simple-git/dist/src/lib/tasks/reset.d.ts","../node_modules/simple-git/dist/src/lib/tasks/version.d.ts","../node_modules/simple-git/dist/typings/types.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts","../node_modules/simple-git/dist/typings/errors.d.ts","../node_modules/simple-git/dist/typings/simple-git.d.ts","../node_modules/simple-git/dist/typings/index.d.ts","../src/gitutil.ts","../src/stackutil.ts","../src/node.ts","../src/cli.ts","../src/index.ts","../node_modules/openai/dist/configuration.d.ts","../node_modules/openai/node_modules/axios/index.d.ts","../node_modules/openai/dist/base.d.ts","../node_modules/openai/dist/api.d.ts","../node_modules/openai/dist/index.d.ts","../src/oai.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1d729ea435a93e1a70519d06a6f13fa418c4c39a52b69e6db86750ebfcdf5554","95c617b16c4765ff6de307629b6918181908bee82a59fca0b2c95f170a4be7ea",{"version":"7d8ad3a285ff54b1fc3f5bfd3eda08947d88e9f0b6b94210680bc817da07f3b9","signature":"6cd169f65455d7a94acb9f1d97cf8f71a5bfae0eda688ebfbcad9824a2113105"},{"version":"9d6e2d11ac4df9b1f25f5b936890915f20a635c26a9b656c264065e909bb40c7","signature":"a8a51d767f9d1df693435c8bddcac81735e7f67674d4f62f51f98fbb3494d7e8"},{"version":"06345895469e201600cfc12306abadc46f4e7afb68f46fdb8fd0efb9b604a186","signature":"5e5a9fc35cff07f5167c159fdea7b769187a86cae6e242131868544f5222b04a","affectsGlobalScope":true},"c967d7ca4d2ecc37d4a12833fad823f02e935542f6be307214ea7d2a9af02995",{"version":"43361e6b831db1ef828f60d9219c09bfc43acb1b75ce86ead48f557a0935c0d2","signature":"b4324240466cc26262b0a4876ba6e405a8ad714cd15d4e309b765a3b41d90fb9"},"850040826cfa77593d44f44487133af21917f4f21507258bd4269501b80d32f0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"8d74c73e21579ffe9f77ce969bc0317470c63797bd4719c8895a60ce6ae6a263","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","765f9f91293be0c057d5bf2b59494e1eac70efae55ff1c27c6e47c359bc889d2","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","c58642af30c06a8e250d248a747ceb045af9a92d8cab22478d80c3bef276bfd5","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"13a50542a358c093fee2d204915241f85ca4f571262ea159960610c21a644f8a","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"562e1951bb48e89df7b821d998bfcd9458d93b0afd06cf6db8286606da5f21fd","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","5adf3c3c7204b3614dbc585681a33ef598c68df387298859f9a2521cfb449437","6d8c708a5237a8508ee8553f22143a6d2fb60807de0574b41622c1e281b04c6d",{"version":"d096d550acd00bd6d66825d9a4e572121bd854b28edc5ae2c1d4e80d51a147a9","signature":"46966a0da8f681c479166dd3060b63d3cafc3d5e9e218157490f3697122a3e57"},"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e",{"version":"c0b4084226d4ad0a3c78580c50f85985f4a3e808eb59a15c9fb389c8349f9056","signature":"f155bcfea5ae8b647b26fef54caf159a514950ac9cb3c192dcfab787d4588eec"},{"version":"0f3a9fccbf341d90a4be583161e6415c8c0543f5dd180419ea13e3db991ccca0","signature":"d4cb0878684926011f20ef763f982c78e1b0b699c0faefee31d2a7bdcf44a7bb"},"26ed2b3579b00785d7b8028002d5e638444e32e1fad135100a2419e48e5fb458","41274c6cc805d2945895a3654a9fc6bfd2339f2feb647ab5c5f4df664a04cf53","e725e4e013e946cccba3ec0fb642af7b5b9bd7872357b435ffe551dd80d552bc","b8dcce8ae07139e9f4c6019db31d3d1105806025d41e04a40f38cdd0d2dab92f","209dc81a1af545c80808f08403929d4a28791b0c059f3a4dd5b0724bf142fe03","1f6c6d022f61fe4e98a6fc773e400cead9988bf2353290472d7205dec0604b8f","4abcc60b395352b0b1400e3ee5e4b345c54daa6bd86a6ef39bfb3a66bea3daf0","f1535d688ff92c7f16fcd4ff415413edef056ab63008cbec0ac1a1abbefd8f6b",{"version":"ab32dafc196d60378a72fefffbb815d5c1cd800124400a7456c0a452d61b84f5","signature":"cd42351a6264a3b3565553572313f11102ea367acd3fe887ecaa82fcf7cda7e8","affectsGlobalScope":true},"82c661f1f20d29212d2e0408bee2e0f54bf8930cdcdd88f23ef8e03e4618afb4","d53d8a71b9525be3fb65c331f20db99b826edfa922703578af284736dc780db5","6256cf36c8ae7e82bff606595af8fe08a06f8478140fcf304ee2f10c7716ddc8","2ba0457b958954b9b2041077df992fad015e85c615dc1ccebeddb561d4ab89cf","81c4fd49117bc25b8aac796a345db4315cc31861f61772da6bd405989ede0f79","1f8d4c8257ba50385865ce887940c8fdc745bcf3cea2dc09173bc8d3320b6efe","8459a11cb29556837148a3f82ccff6f3d9745070c3ed77264e279e7fe35ed0b7","7c774169686976056434799723bd7a48348df9d2204b928a0b77920505585214","5e95379e81e2d373e5235cedc4579938e39db274a32cfa32f8906e7ff6698763","d3c8a891b0554f4319651b5c89c2d91a442a792bf84afcbc399be033b96b4abd","8758b438b12ea50fb8b678d29ab0ef42d77abfb801cec481596ce6002b537a6f","88074e936d33e224b83f81eebbaf835467e1c0a6ba1239b950e6476dd7f73356","c895675912a8b2d0dcb13d24433757d233de16a3bb5c60f7d903099d96d61ea8","f73cf81342d2a25b65179c262ca7c38df023969129094607d0eb52510a56f10f","e7d7e67bd66b30f2216e4678b97bb09629a2b31766a79119acaa30e3005ef5fb","4a7b9005bef99460ba60da67219f0aff852cfd44038f17626bf59a6b5c6960b5","e137f087bda0256410b28743ef9a1bf57a4cafd43ffa6b62d5c17a8f5a08b3b5","fa8d9c5ea6ad2a5d3d6ee7703cfe1ddd962f1e4da08a370c6db642b1a1a091b8","af504042a6db047c40cc0aeb14550bbc954f194f2b8c5ad8944f2da502f45bf5","5b25b6ab5ad6c17f90b592162b2e9978ad8d81edf24cd3957306eb6e5edb89a9","24693bd77ac3be0b16e564d0ab498a397feb758ce7f4ed9f13478d566e3aafde","208dad548b895c7d02465de6ba79064b7c67bc4d94e5227b09f21d58790e634c","048c0ced65fa41fbf4bcc3d5e8e5b6f6c7f27335ceb54d401be654e821adbc08","f1c7ab18a927d1a9e3a452ef9b5d2d636dc7f39a116add1a48b0b78a323f19eb","9a57d654b0a0e4bf56a8eb0aa3ede1c7d349cec6220e36b5288c26626c8688ed",{"version":"58110fc19e964fec56d787ad4288b6a47d054676983d798a883c19772be222a0","signature":"68212fb8e2c0dae39c22959cf18904f22a1315a856c20173484371cbb74addbf"},{"version":"282c7c74d33d5ec6a9067728647227358018bf878a6c381973efd5be87f0d2a8","signature":"eef6c9e9e2ced98a276734cb82f81b12d154026659e84128ad42a3a69caced38"},{"version":"81794b7644e4c630704874822f117724fee861c5958c09db78158d995968a951","signature":"1518a19a9cb02ce4439e1bd5d07e5dd4f496d4598142ff82264b40785ba28789"},{"version":"c1f47ada066fe226350b4d2e5f43862cc98d8ff0deb654fd40478faddae9232c","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"334d16141236880327094c2a42341edbe3dfa6f382e3180dd998eb1c133a0e62","signature":"6c85d798db2f35d3c202acc3ebfc4b8ca84a3a1b460ca6a0616660453995496c"},"3ac893bb831cf929af812392e1568467766536d79abd4e29d6ae653695c18cdd","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","98cd87f84eb134151b0b760d49e09f0ae3ca01d9f86e6b64f6bb933cc4a40b29","db750d991d0c6e773c114cfe170c5ee4fc1bea43364e0efa5cecb03d198be80a","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14",{"version":"e9ffdbc59d4b3dbbfce1f2a1dbb757d88c54f77af3de24be8839aa3f03492b44","signature":"4ce870ab24a6630dd481ccb3c2b5929e9e5d9090ff003514f1dd1613e6053ee8"}],"root":[[46,50],130,132,133,142,[168,172],178],"options":{"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[99],[99,134,136,137,138,139,140],[99,134],[99,134,135,136],[99,111,112],[99,112,113,114,115],[99,106,112,114],[99,111,113],[70,99,106],[70,99,106,107],[99,107,108,109,110],[99,107,109],[99,108],[87,99,106,116,117,118,121],[99,117,118,120],[69,99,106,116,117,118,119],[99,118],[99,116,117],[99,106,116],[69,99,106],[53,99],[56,99],[57,62,90,99],[58,69,70,77,87,98,99],[58,59,69,77,99],[60,99],[61,62,70,78,99],[62,87,95,99],[63,65,69,77,99],[64,99],[65,66,99],[69,99],[67,69,99],[69,70,71,87,98,99],[69,70,71,84,87,90,99],[99,103],[65,69,72,77,87,98,99],[69,70,72,73,77,87,95,98,99],[72,74,87,95,98,99],[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],[69,75,99],[76,98,99],[65,69,77,87,99],[78,99],[79,99],[56,80,99],[81,97,99,103],[82,99],[83,99],[69,84,85,99],[84,86,99,101],[57,69,87,88,89,90,99],[57,87,89,99],[87,88,99],[90,99],[91,99],[56,87,99],[69,93,94,99],[93,94,99],[62,77,87,95,99],[96,99],[77,97,99],[57,72,83,98,99],[62,99],[87,99,100],[99,101],[99,102],[57,62,69,71,80,87,98,99,101,103],[87,99,104],[99,126],[99,123,124,125],[99,173,174,175],[99,173,174],[99,173,176],[99,145,147],[99,147],[99,145],[99,143,147,167],[99,143,147],[99,167],[99,147,167],[58,99,106,144,146],[99,106,143,147],[99,145,161,162,163,164],[99,149,160,165,166],[99,148],[99,149,160,165],[99,147,148,150,151,152,153,154,155,156,157,158,159],[48,99],[78,79,99],[45,48,51,52,70,78,79,99,122,126,127,128,130,133,142,170],[48,99,130,141],[48,99,142,170],[44,99],[79,99,132],[99,131],[44,45,46,47,99],[44,46,56,72,74,99,168,169],[99,177],[99,129],[46,79,99],[48,130,141],[167],[48,142],[44],[44,46],[177],[46]],"referencedMap":[[134,1],[141,2],[140,3],[137,4],[139,3],[135,1],[138,3],[136,1],[113,5],[116,6],[115,7],[114,8],[112,9],[108,10],[111,11],[110,12],[109,13],[107,9],[122,14],[121,15],[120,16],[119,17],[118,18],[117,19],[127,1],[129,20],[131,9],[53,21],[54,21],[56,22],[57,23],[58,24],[59,25],[60,26],[61,27],[62,28],[63,29],[64,30],[65,31],[66,31],[68,32],[67,33],[69,32],[70,34],[71,35],[55,36],[105,1],[72,37],[73,38],[74,39],[106,40],[75,41],[76,42],[77,43],[78,44],[79,45],[80,46],[81,47],[82,48],[83,49],[84,50],[85,50],[86,51],[87,52],[89,53],[88,54],[90,55],[91,56],[92,57],[93,58],[94,59],[95,60],[96,61],[97,62],[98,63],[99,64],[100,65],[101,66],[102,67],[103,68],[104,69],[128,1],[45,1],[44,1],[52,1],[51,1],[123,70],[124,70],[126,71],[125,70],[176,72],[175,73],[173,1],[177,74],[174,1],[151,1],[161,75],[145,76],[162,75],[163,77],[164,77],[150,1],[152,76],[153,76],[154,78],[155,79],[156,80],[157,80],[148,81],[158,76],[143,76],[159,80],[146,77],[147,82],[144,83],[165,84],[167,85],[149,86],[166,87],[160,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[49,89],[50,90],[171,91],[142,92],[168,80],[172,93],[46,94],[133,95],[132,96],[48,97],[170,98],[178,99],[130,100],[169,101],[47,1]],"exportedModulesMap":[[134,1],[141,2],[140,3],[137,4],[139,3],[135,1],[138,3],[136,1],[113,5],[116,6],[115,7],[114,8],[112,9],[108,10],[111,11],[110,12],[109,13],[107,9],[122,14],[121,15],[120,16],[119,17],[118,18],[117,19],[127,1],[129,20],[131,9],[53,21],[54,21],[56,22],[57,23],[58,24],[59,25],[60,26],[61,27],[62,28],[63,29],[64,30],[65,31],[66,31],[68,32],[67,33],[69,32],[70,34],[71,35],[55,36],[105,1],[72,37],[73,38],[74,39],[106,40],[75,41],[76,42],[77,43],[78,44],[79,45],[80,46],[81,47],[82,48],[83,49],[84,50],[85,50],[86,51],[87,52],[89,53],[88,54],[90,55],[91,56],[92,57],[93,58],[94,59],[95,60],[96,61],[97,62],[98,63],[99,64],[100,65],[101,66],[102,67],[103,68],[104,69],[128,1],[45,1],[44,1],[52,1],[51,1],[123,70],[124,70],[126,71],[125,70],[176,72],[175,73],[173,1],[177,74],[174,1],[151,1],[161,75],[145,76],[162,75],[163,77],[164,77],[150,1],[152,76],[153,76],[154,78],[155,79],[156,80],[157,80],[148,81],[158,76],[143,76],[159,80],[146,77],[147,82],[144,83],[165,84],[167,85],[149,86],[166,87],[160,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[49,89],[142,102],[168,103],[172,104],[46,105],[48,106],[178,107],[169,108]],"semanticDiagnosticsPerFile":[134,141,140,137,139,135,138,136,113,116,115,114,112,108,111,110,109,107,122,121,120,119,118,117,127,129,131,53,54,56,57,58,59,60,61,62,63,64,65,66,68,67,69,70,71,55,105,72,73,74,106,75,76,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,128,45,44,52,51,123,124,126,125,176,175,173,177,174,151,161,145,162,163,164,150,152,153,154,155,156,157,148,158,143,159,146,147,144,165,167,149,166,160,42,43,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,1,41,49,50,171,142,168,172,46,133,132,48,170,178,130,169,47]},"version":"5.1.6"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/axios/index.d.ts","../node_modules/@types/uuid/index.d.ts","../src/isomorph.ts","../src/util.ts","../src/merge_row_batch.ts","../src/logger.ts","../src/browser.ts","../src/cache.ts","../node_modules/esbuild/lib/main.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nodelib/fs.stat/out/types/index.d.ts","../node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.stat/out/settings.d.ts","../node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../node_modules/@nodelib/fs.stat/out/index.d.ts","../node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../node_modules/@nodelib/fs.scandir/out/settings.d.ts","../node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../node_modules/@nodelib/fs.scandir/out/index.d.ts","../node_modules/@nodelib/fs.walk/out/types/index.d.ts","../node_modules/@nodelib/fs.walk/out/settings.d.ts","../node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../node_modules/@nodelib/fs.walk/out/index.d.ts","../node_modules/minimatch/dist/cjs/ast.d.ts","../node_modules/minimatch/dist/cjs/escape.d.ts","../node_modules/minimatch/dist/cjs/unescape.d.ts","../node_modules/minimatch/dist/cjs/index.d.ts","../node_modules/@types/argparse/index.d.ts","../node_modules/@types/pluralize/index.d.ts","../node_modules/@types/cli-progress/index.d.ts","../src/progress.ts","../node_modules/@types/graceful-fs/index.d.ts","../src/jest/tryrealpath.ts","../src/jest/nodemodulespaths.ts","../../autoevals/jsdist/base.d.ts","../../autoevals/jsdist/oai.d.ts","../../autoevals/jsdist/templates.d.ts","../../autoevals/jsdist/llm.d.ts","../../autoevals/jsdist/string.d.ts","../../autoevals/jsdist/number.d.ts","../../autoevals/jsdist/json.d.ts","../../autoevals/jsdist/index.d.ts","../src/framework.ts","../node_modules/simple-git/dist/src/lib/tasks/task.d.ts","../node_modules/simple-git/dist/src/lib/types/tasks.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-error.d.ts","../node_modules/simple-git/dist/src/lib/types/handlers.d.ts","../node_modules/simple-git/dist/src/lib/types/index.d.ts","../node_modules/simple-git/dist/src/lib/tasks/log.d.ts","../node_modules/simple-git/dist/typings/response.d.ts","../node_modules/simple-git/dist/src/lib/responses/getremotesummary.d.ts","../node_modules/simple-git/dist/src/lib/args/pathspec.d.ts","../node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts","../node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clean.d.ts","../node_modules/simple-git/dist/src/lib/tasks/clone.d.ts","../node_modules/simple-git/dist/src/lib/tasks/config.d.ts","../node_modules/simple-git/dist/src/lib/tasks/grep.d.ts","../node_modules/simple-git/dist/src/lib/tasks/reset.d.ts","../node_modules/simple-git/dist/src/lib/tasks/version.d.ts","../node_modules/simple-git/dist/typings/types.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts","../node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts","../node_modules/simple-git/dist/typings/errors.d.ts","../node_modules/simple-git/dist/typings/simple-git.d.ts","../node_modules/simple-git/dist/typings/index.d.ts","../src/gitutil.ts","../src/stackutil.ts","../src/node.ts","../src/cli.ts","../src/index.ts","../node_modules/openai/dist/configuration.d.ts","../node_modules/openai/node_modules/axios/index.d.ts","../node_modules/openai/dist/base.d.ts","../node_modules/openai/dist/api.d.ts","../node_modules/openai/dist/index.d.ts","../src/oai.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1d729ea435a93e1a70519d06a6f13fa418c4c39a52b69e6db86750ebfcdf5554","95c617b16c4765ff6de307629b6918181908bee82a59fca0b2c95f170a4be7ea",{"version":"7d8ad3a285ff54b1fc3f5bfd3eda08947d88e9f0b6b94210680bc817da07f3b9","signature":"6cd169f65455d7a94acb9f1d97cf8f71a5bfae0eda688ebfbcad9824a2113105"},{"version":"ef5ed92e30f4e4473b87fc40233bafefcd6e1a54bbf0226027fef370db4a1e3a","signature":"880ce4c1d8ee57f7d534f75adc9386ce87f2dea2b84f9b24f6539dbc677c76c2"},{"version":"7c68682b787dd2ff3ffd394df7e0a186f7e665d2d4490bb0fc87275217953293","signature":"1deac3c94c91ac1b2e60d29a14b4d4eb1e2964d005b7614a372c9eded6a40f92"},{"version":"1e35824fc219207c7146f046eeb6898af7a4686b0c64cbe7dc4da8e3d845e2f5","signature":"f7a671a04511af8e52fcda88d9388a7181e450be5fc7415fdfcfc6b5b49921a5","affectsGlobalScope":true},"c967d7ca4d2ecc37d4a12833fad823f02e935542f6be307214ea7d2a9af02995",{"version":"43361e6b831db1ef828f60d9219c09bfc43acb1b75ce86ead48f557a0935c0d2","signature":"b4324240466cc26262b0a4876ba6e405a8ad714cd15d4e309b765a3b41d90fb9"},"850040826cfa77593d44f44487133af21917f4f21507258bd4269501b80d32f0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"8d74c73e21579ffe9f77ce969bc0317470c63797bd4719c8895a60ce6ae6a263","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","765f9f91293be0c057d5bf2b59494e1eac70efae55ff1c27c6e47c359bc889d2","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","c58642af30c06a8e250d248a747ceb045af9a92d8cab22478d80c3bef276bfd5","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"13a50542a358c093fee2d204915241f85ca4f571262ea159960610c21a644f8a","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"562e1951bb48e89df7b821d998bfcd9458d93b0afd06cf6db8286606da5f21fd","46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","5adf3c3c7204b3614dbc585681a33ef598c68df387298859f9a2521cfb449437","6d8c708a5237a8508ee8553f22143a6d2fb60807de0574b41622c1e281b04c6d",{"version":"d096d550acd00bd6d66825d9a4e572121bd854b28edc5ae2c1d4e80d51a147a9","signature":"46966a0da8f681c479166dd3060b63d3cafc3d5e9e218157490f3697122a3e57"},"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e",{"version":"c0b4084226d4ad0a3c78580c50f85985f4a3e808eb59a15c9fb389c8349f9056","signature":"f155bcfea5ae8b647b26fef54caf159a514950ac9cb3c192dcfab787d4588eec"},{"version":"0f3a9fccbf341d90a4be583161e6415c8c0543f5dd180419ea13e3db991ccca0","signature":"d4cb0878684926011f20ef763f982c78e1b0b699c0faefee31d2a7bdcf44a7bb"},"26ed2b3579b00785d7b8028002d5e638444e32e1fad135100a2419e48e5fb458","41274c6cc805d2945895a3654a9fc6bfd2339f2feb647ab5c5f4df664a04cf53","e725e4e013e946cccba3ec0fb642af7b5b9bd7872357b435ffe551dd80d552bc","b8dcce8ae07139e9f4c6019db31d3d1105806025d41e04a40f38cdd0d2dab92f","209dc81a1af545c80808f08403929d4a28791b0c059f3a4dd5b0724bf142fe03","1f6c6d022f61fe4e98a6fc773e400cead9988bf2353290472d7205dec0604b8f","4abcc60b395352b0b1400e3ee5e4b345c54daa6bd86a6ef39bfb3a66bea3daf0","f1535d688ff92c7f16fcd4ff415413edef056ab63008cbec0ac1a1abbefd8f6b",{"version":"ab32dafc196d60378a72fefffbb815d5c1cd800124400a7456c0a452d61b84f5","signature":"cd42351a6264a3b3565553572313f11102ea367acd3fe887ecaa82fcf7cda7e8","affectsGlobalScope":true},"82c661f1f20d29212d2e0408bee2e0f54bf8930cdcdd88f23ef8e03e4618afb4","d53d8a71b9525be3fb65c331f20db99b826edfa922703578af284736dc780db5","6256cf36c8ae7e82bff606595af8fe08a06f8478140fcf304ee2f10c7716ddc8","2ba0457b958954b9b2041077df992fad015e85c615dc1ccebeddb561d4ab89cf","81c4fd49117bc25b8aac796a345db4315cc31861f61772da6bd405989ede0f79","1f8d4c8257ba50385865ce887940c8fdc745bcf3cea2dc09173bc8d3320b6efe","8459a11cb29556837148a3f82ccff6f3d9745070c3ed77264e279e7fe35ed0b7","7c774169686976056434799723bd7a48348df9d2204b928a0b77920505585214","5e95379e81e2d373e5235cedc4579938e39db274a32cfa32f8906e7ff6698763","d3c8a891b0554f4319651b5c89c2d91a442a792bf84afcbc399be033b96b4abd","8758b438b12ea50fb8b678d29ab0ef42d77abfb801cec481596ce6002b537a6f","88074e936d33e224b83f81eebbaf835467e1c0a6ba1239b950e6476dd7f73356","c895675912a8b2d0dcb13d24433757d233de16a3bb5c60f7d903099d96d61ea8","f73cf81342d2a25b65179c262ca7c38df023969129094607d0eb52510a56f10f","e7d7e67bd66b30f2216e4678b97bb09629a2b31766a79119acaa30e3005ef5fb","4a7b9005bef99460ba60da67219f0aff852cfd44038f17626bf59a6b5c6960b5","e137f087bda0256410b28743ef9a1bf57a4cafd43ffa6b62d5c17a8f5a08b3b5","fa8d9c5ea6ad2a5d3d6ee7703cfe1ddd962f1e4da08a370c6db642b1a1a091b8","af504042a6db047c40cc0aeb14550bbc954f194f2b8c5ad8944f2da502f45bf5","5b25b6ab5ad6c17f90b592162b2e9978ad8d81edf24cd3957306eb6e5edb89a9","24693bd77ac3be0b16e564d0ab498a397feb758ce7f4ed9f13478d566e3aafde","208dad548b895c7d02465de6ba79064b7c67bc4d94e5227b09f21d58790e634c","048c0ced65fa41fbf4bcc3d5e8e5b6f6c7f27335ceb54d401be654e821adbc08","f1c7ab18a927d1a9e3a452ef9b5d2d636dc7f39a116add1a48b0b78a323f19eb","9a57d654b0a0e4bf56a8eb0aa3ede1c7d349cec6220e36b5288c26626c8688ed",{"version":"58110fc19e964fec56d787ad4288b6a47d054676983d798a883c19772be222a0","signature":"68212fb8e2c0dae39c22959cf18904f22a1315a856c20173484371cbb74addbf"},{"version":"282c7c74d33d5ec6a9067728647227358018bf878a6c381973efd5be87f0d2a8","signature":"eef6c9e9e2ced98a276734cb82f81b12d154026659e84128ad42a3a69caced38"},{"version":"81794b7644e4c630704874822f117724fee861c5958c09db78158d995968a951","signature":"1518a19a9cb02ce4439e1bd5d07e5dd4f496d4598142ff82264b40785ba28789"},{"version":"c1f47ada066fe226350b4d2e5f43862cc98d8ff0deb654fd40478faddae9232c","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"334d16141236880327094c2a42341edbe3dfa6f382e3180dd998eb1c133a0e62","signature":"6c85d798db2f35d3c202acc3ebfc4b8ca84a3a1b460ca6a0616660453995496c"},"3ac893bb831cf929af812392e1568467766536d79abd4e29d6ae653695c18cdd","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","98cd87f84eb134151b0b760d49e09f0ae3ca01d9f86e6b64f6bb933cc4a40b29","db750d991d0c6e773c114cfe170c5ee4fc1bea43364e0efa5cecb03d198be80a","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14",{"version":"e9ffdbc59d4b3dbbfce1f2a1dbb757d88c54f77af3de24be8839aa3f03492b44","signature":"4ce870ab24a6630dd481ccb3c2b5929e9e5d9090ff003514f1dd1613e6053ee8"}],"root":[[46,51],131,133,134,143,[169,173],179],"options":{"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[100],[100,135,137,138,139,140,141],[100,135],[100,135,136,137],[100,112,113],[100,113,114,115,116],[100,107,113,115],[100,112,114],[71,100,107],[71,100,107,108],[100,108,109,110,111],[100,108,110],[100,109],[88,100,107,117,118,119,122],[100,118,119,121],[70,100,107,117,118,119,120],[100,119],[100,117,118],[100,107,117],[70,100,107],[54,100],[57,100],[58,63,91,100],[59,70,71,78,88,99,100],[59,60,70,78,100],[61,100],[62,63,71,79,100],[63,88,96,100],[64,66,70,78,100],[65,100],[66,67,100],[70,100],[68,70,100],[70,71,72,88,99,100],[70,71,72,85,88,91,100],[100,104],[66,70,73,78,88,99,100],[70,71,73,74,78,88,96,99,100],[73,75,88,96,99,100],[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106],[70,76,100],[77,99,100],[66,70,78,88,100],[79,100],[80,100],[57,81,100],[82,98,100,104],[83,100],[84,100],[70,85,86,100],[85,87,100,102],[58,70,88,89,90,91,100],[58,88,90,100],[88,89,100],[91,100],[92,100],[57,88,100],[70,94,95,100],[94,95,100],[63,78,88,96,100],[97,100],[78,98,100],[58,73,84,99,100],[63,100],[88,100,101],[100,102],[100,103],[58,63,70,72,81,88,99,100,102,104],[88,100,105],[100,127],[100,124,125,126],[100,174,175,176],[100,174,175],[100,174,177],[100,146,148],[100,148],[100,146],[100,144,148,168],[100,144,148],[100,168],[100,148,168],[59,100,107,145,147],[100,107,144,148],[100,146,162,163,164,165],[100,150,161,166,167],[100,149],[100,150,161,166],[100,148,149,151,152,153,154,155,156,157,158,159,160],[49,100],[79,80,100],[45,49,52,53,71,79,80,100,123,127,128,129,131,134,143,171],[49,100,131,142],[49,100,143,171],[44,100],[80,100,133],[100,132],[44,45,46,47,48,100],[47,100],[44,46,57,73,75,100,169,170],[100,178],[100,130],[46,80,100],[49,131,142],[168],[49,143],[44],[44,46,47],[178],[46]],"referencedMap":[[135,1],[142,2],[141,3],[138,4],[140,3],[136,1],[139,3],[137,1],[114,5],[117,6],[116,7],[115,8],[113,9],[109,10],[112,11],[111,12],[110,13],[108,9],[123,14],[122,15],[121,16],[120,17],[119,18],[118,19],[128,1],[130,20],[132,9],[54,21],[55,21],[57,22],[58,23],[59,24],[60,25],[61,26],[62,27],[63,28],[64,29],[65,30],[66,31],[67,31],[69,32],[68,33],[70,32],[71,34],[72,35],[56,36],[106,1],[73,37],[74,38],[75,39],[107,40],[76,41],[77,42],[78,43],[79,44],[80,45],[81,46],[82,47],[83,48],[84,49],[85,50],[86,50],[87,51],[88,52],[90,53],[89,54],[91,55],[92,56],[93,57],[94,58],[95,59],[96,60],[97,61],[98,62],[99,63],[100,64],[101,65],[102,66],[103,67],[104,68],[105,69],[129,1],[45,1],[44,1],[53,1],[52,1],[124,70],[125,70],[127,71],[126,70],[177,72],[176,73],[174,1],[178,74],[175,1],[152,1],[162,75],[146,76],[163,75],[164,77],[165,77],[151,1],[153,76],[154,76],[155,78],[156,79],[157,80],[158,80],[149,81],[159,76],[144,76],[160,80],[147,77],[148,82],[145,83],[166,84],[168,85],[150,86],[167,87],[161,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[50,89],[51,90],[172,91],[143,92],[169,80],[173,93],[46,94],[134,95],[133,96],[49,97],[48,98],[171,99],[179,100],[131,101],[170,102],[47,1]],"exportedModulesMap":[[135,1],[142,2],[141,3],[138,4],[140,3],[136,1],[139,3],[137,1],[114,5],[117,6],[116,7],[115,8],[113,9],[109,10],[112,11],[111,12],[110,13],[108,9],[123,14],[122,15],[121,16],[120,17],[119,18],[118,19],[128,1],[130,20],[132,9],[54,21],[55,21],[57,22],[58,23],[59,24],[60,25],[61,26],[62,27],[63,28],[64,29],[65,30],[66,31],[67,31],[69,32],[68,33],[70,32],[71,34],[72,35],[56,36],[106,1],[73,37],[74,38],[75,39],[107,40],[76,41],[77,42],[78,43],[79,44],[80,45],[81,46],[82,47],[83,48],[84,49],[85,50],[86,50],[87,51],[88,52],[90,53],[89,54],[91,55],[92,56],[93,57],[94,58],[95,59],[96,60],[97,61],[98,62],[99,63],[100,64],[101,65],[102,66],[103,67],[104,68],[105,69],[129,1],[45,1],[44,1],[53,1],[52,1],[124,70],[125,70],[127,71],[126,70],[177,72],[176,73],[174,1],[178,74],[175,1],[152,1],[162,75],[146,76],[163,75],[164,77],[165,77],[151,1],[153,76],[154,76],[155,78],[156,79],[157,80],[158,80],[149,81],[159,76],[144,76],[160,80],[147,77],[148,82],[145,83],[166,84],[168,85],[150,86],[167,87],[161,88],[42,1],[43,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[32,1],[29,1],[30,1],[31,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[50,89],[143,103],[169,104],[173,105],[46,106],[49,107],[179,108],[170,109]],"semanticDiagnosticsPerFile":[135,142,141,138,140,136,139,137,114,117,116,115,113,109,112,111,110,108,123,122,121,120,119,118,128,130,132,54,55,57,58,59,60,61,62,63,64,65,66,67,69,68,70,71,72,56,106,73,74,75,107,76,77,78,79,80,81,82,83,84,85,86,87,88,90,89,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,129,45,44,53,52,124,125,127,126,177,176,174,178,175,152,162,146,163,164,165,151,153,154,155,156,157,158,149,159,144,160,147,148,145,166,168,150,167,161,42,43,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,1,41,50,51,172,143,169,173,46,134,133,49,48,171,179,131,170,47]},"version":"5.1.6"}
package/dist/util.d.ts CHANGED
@@ -1 +1,4 @@
1
+ export declare const TRANSACTION_ID_FIELD = "_xact_id";
2
+ export declare const IS_MERGE_FIELD = "_is_merge";
1
3
  export declare function runFinally<R>(f: () => R, finallyF: () => void): R;
4
+ export declare function mergeDicts(mergeInto: Record<any, any>, mergeFrom: Record<any, any>): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braintrust",
3
- "version": "0.0.57",
3
+ "version": "0.0.58",
4
4
  "description": "SDK for integrating Braintrust",
5
5
  "main": "./dist/index.js",
6
6
  "browser": {