braintrust 0.0.41 → 0.0.43

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- An isomorphic JS library for logging data to BrainTrust.
1
+ An isomorphic JS library for logging data to Braintrust.
2
2
 
3
3
  ### Quickstart
4
4
 
@@ -9,7 +9,7 @@ npm install braintrust
9
9
  ```
10
10
 
11
11
  Then, run a simple experiment with the following code (replace `YOUR_API_KEY` with
12
- your BrainTrust API key):
12
+ your Braintrust API key):
13
13
 
14
14
  ```javascript
15
15
  import * as braintrust from "braintrust";
package/dist/browser.js CHANGED
@@ -1,4 +1,4 @@
1
- function z(e,t){return function(){return e.apply(t,arguments)}}var{toString:Dt}=Object.prototype,{getPrototypeOf:be}=Object,Z=(e=>t=>{let r=Dt.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),A=e=>(e=e.toLowerCase(),t=>Z(t)===e),ee=e=>t=>typeof t===e,{isArray:j}=Array,H=ee("undefined");function Ut(e){return e!==null&&!H(e)&&e.constructor!==null&&!H(e.constructor)&&_(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var $e=A("ArrayBuffer");function jt(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&$e(e.buffer),t}var kt=ee("string"),_=ee("function"),Ke=ee("number"),te=e=>e!==null&&typeof e=="object",Lt=e=>e===!0||e===!1,Y=e=>{if(Z(e)!=="object")return!1;let t=be(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Ft=A("Date"),It=A("File"),Bt=A("Blob"),vt=A("FileList"),zt=e=>te(e)&&_(e.pipe),Ht=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||_(e.append)&&((t=Z(e))==="formdata"||t==="object"&&_(e.toString)&&e.toString()==="[object FormData]"))},qt=A("URLSearchParams"),Mt=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function q(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),j(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{let i=r?Object.getOwnPropertyNames(e):Object.keys(e),s=i.length,u;for(n=0;n<s;n++)u=i[n],t.call(null,e[u],u,e)}}function We(e,t){t=t.toLowerCase();let r=Object.keys(e),n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}var Ge=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Xe=e=>!H(e)&&e!==Ge;function we(){let{caseless:e}=Xe(this)&&this||{},t={},r=(n,o)=>{let i=e&&We(t,o)||o;Y(t[i])&&Y(n)?t[i]=we(t[i],n):Y(n)?t[i]=we({},n):j(n)?t[i]=n.slice():t[i]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&q(arguments[n],r);return t}var Jt=(e,t,r,{allOwnKeys:n}={})=>(q(t,(o,i)=>{r&&_(o)?e[i]=z(o,r):e[i]=o},{allOwnKeys:n}),e),Vt=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),$t=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},Kt=(e,t,r,n)=>{let o,i,s,u={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],(!n||n(s,e,t))&&!u[s]&&(t[s]=e[s],u[s]=!0);e=r!==!1&&be(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},Wt=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},Gt=e=>{if(!e)return null;if(j(e))return e;let t=e.length;if(!Ke(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},Xt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&be(Uint8Array)),Qt=(e,t)=>{let n=(e&&e[Symbol.iterator]).call(e),o;for(;(o=n.next())&&!o.done;){let i=o.value;t.call(e,i[0],i[1])}},Yt=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},Zt=A("HTMLFormElement"),er=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),Je=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),tr=A("RegExp"),Qe=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};q(r,(o,i)=>{t(o,i,e)!==!1&&(n[i]=o)}),Object.defineProperties(e,n)},rr=e=>{Qe(e,(t,r)=>{if(_(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(_(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},nr=(e,t)=>{let r={},n=o=>{o.forEach(i=>{r[i]=!0})};return j(e)?n(e):n(String(e).split(t)),r},or=()=>{},ir=(e,t)=>(e=+e,Number.isFinite(e)?e:t),ye="abcdefghijklmnopqrstuvwxyz",Ve="0123456789",Ye={DIGIT:Ve,ALPHA:ye,ALPHA_DIGIT:ye+ye.toUpperCase()+Ve},sr=(e=16,t=Ye.ALPHA_DIGIT)=>{let r="",{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r};function ar(e){return!!(e&&_(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var ur=e=>{let t=new Array(10),r=(n,o)=>{if(te(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;let i=j(n)?[]:{};return q(n,(s,u)=>{let d=r(s,o+1);!H(d)&&(i[u]=d)}),t[o]=void 0,i}}return n};return r(e,0)},cr=A("AsyncFunction"),lr=e=>e&&(te(e)||_(e))&&_(e.then)&&_(e.catch),a={isArray:j,isArrayBuffer:$e,isBuffer:Ut,isFormData:Ht,isArrayBufferView:jt,isString:kt,isNumber:Ke,isBoolean:Lt,isObject:te,isPlainObject:Y,isUndefined:H,isDate:Ft,isFile:It,isBlob:Bt,isRegExp:tr,isFunction:_,isStream:zt,isURLSearchParams:qt,isTypedArray:Xt,isFileList:vt,forEach:q,merge:we,extend:Jt,trim:Mt,stripBOM:Vt,inherits:$t,toFlatObject:Kt,kindOf:Z,kindOfTest:A,endsWith:Wt,toArray:Gt,forEachEntry:Qt,matchAll:Yt,isHTMLForm:Zt,hasOwnProperty:Je,hasOwnProp:Je,reduceDescriptors:Qe,freezeMethods:rr,toObjectSet:nr,toCamelCase:er,noop:or,toFiniteNumber:ir,findKey:We,global:Ge,isContextDefined:Xe,ALPHABET:Ye,generateString:sr,isSpecCompliantForm:ar,toJSONObject:ur,isAsyncFn:cr,isThenable:lr};function k(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}a.inherits(k,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 Ze=k.prototype,et={};["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(e=>{et[e]={value:e}});Object.defineProperties(k,et);Object.defineProperty(Ze,"isAxiosError",{value:!0});k.from=(e,t,r,n,o,i)=>{let s=Object.create(Ze);return a.toFlatObject(e,s,function(d){return d!==Error.prototype},u=>u!=="isAxiosError"),k.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var m=k;var re=null;function xe(e){return a.isPlainObject(e)||a.isArray(e)}function rt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function tt(e,t,r){return e?e.concat(t).map(function(o,i){return o=rt(o),!r&&i?"["+o+"]":o}).join(r?".":""):t}function dr(e){return a.isArray(e)&&!e.some(xe)}var fr=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function pr(e,t,r){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new(re||FormData),r=a.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,O){return!a.isUndefined(O[h])});let n=r.metaTokens,o=r.visitor||l,i=r.dots,s=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(o))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(!d&&a.isBlob(f))throw new m("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?d&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,h,O){let S=f;if(f&&!O&&typeof f=="object"){if(a.endsWith(h,"{}"))h=n?h:h.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&dr(f)||(a.isFileList(f)||a.endsWith(h,"[]"))&&(S=a.toArray(f)))return h=rt(h),S.forEach(function(Q,Ct){!(a.isUndefined(Q)||Q===null)&&t.append(s===!0?tt([h],Ct,i):s===null?h:h+"[]",c(Q))}),!1}return xe(f)?!0:(t.append(tt(O,h,i),c(f)),!1)}let p=[],y=Object.assign(fr,{defaultVisitor:l,convertValue:c,isVisitable:xe});function g(f,h){if(!a.isUndefined(f)){if(p.indexOf(f)!==-1)throw Error("Circular reference detected in "+h.join("."));p.push(f),a.forEach(f,function(S,U){(!(a.isUndefined(S)||S===null)&&o.call(t,S,a.isString(U)?U.trim():U,h,y))===!0&&g(S,h?h.concat(U):[U])}),p.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return g(e),t}var P=pr;function nt(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function ot(e,t){this._pairs=[],e&&P(e,this,t)}var it=ot.prototype;it.append=function(t,r){this._pairs.push([t,r])};it.toString=function(t){let r=t?function(n){return t.call(this,n,nt)}:nt;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};var ne=ot;function mr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function M(e,t,r){if(!t)return e;let n=r&&r.encode||mr,o=r&&r.serialize,i;if(o?i=o(t,r):i=a.isURLSearchParams(t)?t.toString():new ne(t,r).toString(n),i){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var Ee=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(n){n!==null&&t(n)})}},_e=Ee;var oe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var st=typeof URLSearchParams<"u"?URLSearchParams:ne;var at=typeof FormData<"u"?FormData:null;var ut=typeof Blob<"u"?Blob:null;var hr=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),gr=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),x={isBrowser:!0,classes:{URLSearchParams:st,FormData:at,Blob:ut},isStandardBrowserEnv:hr,isStandardBrowserWebWorkerEnv:gr,protocols:["http","https","file","blob","url","data"]};function Se(e,t){return P(e,new x.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,i){return x.isNode&&a.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function yr(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function wr(e){let t={},r=Object.keys(e),n,o=r.length,i;for(n=0;n<o;n++)i=r[n],t[i]=e[i];return t}function br(e){function t(r,n,o,i){let s=r[i++],u=Number.isFinite(+s),d=i>=r.length;return s=!s&&a.isArray(o)?o.length:s,d?(a.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!u):((!o[s]||!a.isObject(o[s]))&&(o[s]=[]),t(r,n,o[s],i)&&a.isArray(o[s])&&(o[s]=wr(o[s])),!u)}if(a.isFormData(e)&&a.isFunction(e.entries)){let r={};return a.forEachEntry(e,(n,o)=>{t(yr(n),o,r,0)}),r}return null}var ie=br;var xr={"Content-Type":void 0};function Er(e,t,r){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var se={transitional:oe,adapter:["xhr","http"],transformRequest:[function(t,r){let n=r.getContentType()||"",o=n.indexOf("application/json")>-1,i=a.isObject(t);if(i&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return o&&o?JSON.stringify(ie(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Se(t,this.formSerializer).toString();if((u=a.isFileList(t))||n.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return P(u?{"files[]":t}:t,d&&new d,this.formSerializer)}}return i||o?(r.setContentType("application/json",!1),Er(t)):t}],transformResponse:[function(t){let r=this.transitional||se.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(t&&a.isString(t)&&(n&&!this.responseType||o)){let s=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(u){if(s)throw u.name==="SyntaxError"?m.from(u,m.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:x.classes.FormData,Blob:x.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};a.forEach(["delete","get","head"],function(t){se.headers[t]={}});a.forEach(["post","put","patch"],function(t){se.headers[t]=a.merge(xr)});var L=se;var _r=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"]),ct=e=>{let t={},r,n,o;return e&&e.split(`
2
- `).forEach(function(s){o=s.indexOf(":"),r=s.substring(0,o).trim().toLowerCase(),n=s.substring(o+1).trim(),!(!r||t[r]&&_r[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var lt=Symbol("internals");function J(e){return e&&String(e).trim().toLowerCase()}function ae(e){return e===!1||e==null?e:a.isArray(e)?e.map(ae):String(e)}function Sr(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var Rr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Re(e,t,r,n,o){if(a.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!a.isString(t)){if(a.isString(n))return t.indexOf(n)!==-1;if(a.isRegExp(n))return n.test(t)}}function Ar(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Or(e,t){let r=a.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,i,s){return this[n].call(this,t,o,i,s)},configurable:!0})})}var F=class{constructor(t){t&&this.set(t)}set(t,r,n){let o=this;function i(u,d,c){let l=J(d);if(!l)throw new Error("header name must be a non-empty string");let p=a.findKey(o,l);(!p||o[p]===void 0||c===!0||c===void 0&&o[p]!==!1)&&(o[p||d]=ae(u))}let s=(u,d)=>a.forEach(u,(c,l)=>i(c,l,d));return a.isPlainObject(t)||t instanceof this.constructor?s(t,r):a.isString(t)&&(t=t.trim())&&!Rr(t)?s(ct(t),r):t!=null&&i(r,t,n),this}get(t,r){if(t=J(t),t){let n=a.findKey(this,t);if(n){let o=this[n];if(!r)return o;if(r===!0)return Sr(o);if(a.isFunction(r))return r.call(this,o,n);if(a.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=J(t),t){let n=a.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Re(this,this[n],n,r)))}return!1}delete(t,r){let n=this,o=!1;function i(s){if(s=J(s),s){let u=a.findKey(n,s);u&&(!r||Re(n,n[u],u,r))&&(delete n[u],o=!0)}}return a.isArray(t)?t.forEach(i):i(t),o}clear(t){let r=Object.keys(this),n=r.length,o=!1;for(;n--;){let i=r[n];(!t||Re(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){let r=this,n={};return a.forEach(this,(o,i)=>{let s=a.findKey(n,i);if(s){r[s]=ae(o),delete r[i];return}let u=t?Ar(i):String(i).trim();u!==i&&delete r[i],r[u]=ae(o),n[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return a.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&a.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
3
- `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){let n=(this[lt]=this[lt]={accessors:{}}).accessors,o=this.prototype;function i(s){let u=J(s);n[u]||(Or(o,s),n[u]=!0)}return a.isArray(t)?t.forEach(i):i(t),this}};F.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.freezeMethods(F.prototype);a.freezeMethods(F);var E=F;function V(e,t){let r=this||L,n=t||r,o=E.from(n.headers),i=n.data;return a.forEach(e,function(u){i=u.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function $(e){return!!(e&&e.__CANCEL__)}function dt(e,t,r){m.call(this,e??"canceled",m.ERR_CANCELED,t,r),this.name="CanceledError"}a.inherits(dt,m,{__CANCEL__:!0});var T=dt;function Ae(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new m("Request failed with status code "+r.status,[m.ERR_BAD_REQUEST,m.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}var ft=x.isStandardBrowserEnv?function(){return{write:function(r,n,o,i,s,u){let d=[];d.push(r+"="+encodeURIComponent(n)),a.isNumber(o)&&d.push("expires="+new Date(o).toGMTString()),a.isString(i)&&d.push("path="+i),a.isString(s)&&d.push("domain="+s),u===!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 Oe(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Ne(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function K(e,t){return e&&!Oe(t)?Ne(e,t):t}var pt=x.isStandardBrowserEnv?function(){let t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function o(i){let s=i;return t&&(r.setAttribute("href",s),s=r.href),r.setAttribute("href",s),{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=o(window.location.href),function(s){let u=a.isString(s)?o(s):s;return u.protocol===n.protocol&&u.host===n.host}}():function(){return function(){return!0}}();function Pe(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Nr(e,t){e=e||10;let r=new Array(e),n=new Array(e),o=0,i=0,s;return t=t!==void 0?t:1e3,function(d){let c=Date.now(),l=n[i];s||(s=c),r[o]=d,n[o]=c;let p=i,y=0;for(;p!==o;)y+=r[p++],p=p%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-s<t)return;let g=l&&c-l;return g?Math.round(y*1e3/g):void 0}}var mt=Nr;function ht(e,t){let r=0,n=mt(50,250);return o=>{let i=o.loaded,s=o.lengthComputable?o.total:void 0,u=i-r,d=n(u),c=i<=s;r=i;let l={loaded:i,total:s,progress:s?i/s:void 0,bytes:u,rate:d||void 0,estimated:d&&s&&c?(s-i)/d:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}var Pr=typeof XMLHttpRequest<"u",gt=Pr&&function(e){return new Promise(function(r,n){let o=e.data,i=E.from(e.headers).normalize(),s=e.responseType,u;function d(){e.cancelToken&&e.cancelToken.unsubscribe(u),e.signal&&e.signal.removeEventListener("abort",u)}a.isFormData(o)&&(x.isStandardBrowserEnv||x.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.setContentType("multipart/form-data;",!1));let c=new XMLHttpRequest;if(e.auth){let g=e.auth.username||"",f=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(g+":"+f))}let l=K(e.baseURL,e.url);c.open(e.method.toUpperCase(),M(l,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function p(){if(!c)return;let g=E.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),h={data:!s||s==="text"||s==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:g,config:e,request:c};Ae(function(S){r(S),d()},function(S){n(S),d()},h),c=null}if("onloadend"in c?c.onloadend=p:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(p)},c.onabort=function(){c&&(n(new m("Request aborted",m.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new m("Network Error",m.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let f=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",h=e.transitional||oe;e.timeoutErrorMessage&&(f=e.timeoutErrorMessage),n(new m(f,h.clarifyTimeoutError?m.ETIMEDOUT:m.ECONNABORTED,e,c)),c=null},x.isStandardBrowserEnv){let g=(e.withCredentials||pt(l))&&e.xsrfCookieName&&ft.read(e.xsrfCookieName);g&&i.set(e.xsrfHeaderName,g)}o===void 0&&i.setContentType(null),"setRequestHeader"in c&&a.forEach(i.toJSON(),function(f,h){c.setRequestHeader(h,f)}),a.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),s&&s!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",ht(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",ht(e.onUploadProgress)),(e.cancelToken||e.signal)&&(u=g=>{c&&(n(!g||g.type?new T(null,e,c):g),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(u),e.signal&&(e.signal.aborted?u():e.signal.addEventListener("abort",u)));let y=Pe(l);if(y&&x.protocols.indexOf(y)===-1){n(new m("Unsupported protocol "+y+":",m.ERR_BAD_REQUEST,e));return}c.send(o||null)})};var ue={http:re,xhr:gt};a.forEach(ue,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var yt={getAdapter:e=>{e=a.isArray(e)?e:[e];let{length:t}=e,r,n;for(let o=0;o<t&&(r=e[o],!(n=a.isString(r)?ue[r.toLowerCase()]:r));o++);if(!n)throw n===!1?new m(`Adapter ${r} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(a.hasOwnProp(ue,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:ue};function Te(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new T(null,e)}function ce(e){return Te(e),e.headers=E.from(e.headers),e.data=V.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),yt.getAdapter(e.adapter||L.adapter)(e).then(function(n){return Te(e),n.data=V.call(e,e.transformResponse,n),n.headers=E.from(n.headers),n},function(n){return $(n)||(Te(e),n&&n.response&&(n.response.data=V.call(e,e.transformResponse,n.response),n.response.headers=E.from(n.response.headers))),Promise.reject(n)})}var wt=e=>e instanceof E?e.toJSON():e;function N(e,t){t=t||{};let r={};function n(c,l,p){return a.isPlainObject(c)&&a.isPlainObject(l)?a.merge.call({caseless:p},c,l):a.isPlainObject(l)?a.merge({},l):a.isArray(l)?l.slice():l}function o(c,l,p){if(a.isUndefined(l)){if(!a.isUndefined(c))return n(void 0,c,p)}else return n(c,l,p)}function i(c,l){if(!a.isUndefined(l))return n(void 0,l)}function s(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,p){if(p in t)return n(c,l);if(p in e)return n(void 0,c)}let d={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:u,headers:(c,l)=>o(wt(c),wt(l),!0)};return a.forEach(Object.keys(Object.assign({},e,t)),function(l){let p=d[l]||o,y=p(e[l],t[l],l);a.isUndefined(y)&&p!==u||(r[l]=y)}),r}var le="1.4.0";var Ce={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ce[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var bt={};Ce.transitional=function(t,r,n){function o(i,s){return"[Axios v"+le+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,u)=>{if(t===!1)throw new m(o(s," has been removed"+(r?" in "+r:"")),m.ERR_DEPRECATED);return r&&!bt[s]&&(bt[s]=!0,console.warn(o(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(i,s,u):!0}};function Tr(e,t,r){if(typeof e!="object")throw new m("options must be an object",m.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),o=n.length;for(;o-- >0;){let i=n[o],s=t[i];if(s){let u=e[i],d=u===void 0||s(u,i,e);if(d!==!0)throw new m("option "+i+" must be "+d,m.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new m("Unknown option "+i,m.ERR_BAD_OPTION)}}var de={assertOptions:Tr,validators:Ce};var C=de.validators,I=class{constructor(t){this.defaults=t,this.interceptors={request:new _e,response:new _e}}request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=N(this.defaults,r);let{transitional:n,paramsSerializer:o,headers:i}=r;n!==void 0&&de.assertOptions(n,{silentJSONParsing:C.transitional(C.boolean),forcedJSONParsing:C.transitional(C.boolean),clarifyTimeoutError:C.transitional(C.boolean)},!1),o!=null&&(a.isFunction(o)?r.paramsSerializer={serialize:o}:de.assertOptions(o,{encode:C.function,serialize:C.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s;s=i&&a.merge(i.common,i[r.method]),s&&a.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),r.headers=E.concat(s,i);let u=[],d=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(d=d&&h.synchronous,u.unshift(h.fulfilled,h.rejected))});let c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let l,p=0,y;if(!d){let f=[ce.bind(this),void 0];for(f.unshift.apply(f,u),f.push.apply(f,c),y=f.length,l=Promise.resolve(r);p<y;)l=l.then(f[p++],f[p++]);return l}y=u.length;let g=r;for(p=0;p<y;){let f=u[p++],h=u[p++];try{g=f(g)}catch(O){h.call(this,O);break}}try{l=ce.call(this,g)}catch(f){return Promise.reject(f)}for(p=0,y=c.length;p<y;)l=l.then(c[p++],c[p++]);return l}getUri(t){t=N(this.defaults,t);let r=K(t.baseURL,t.url);return M(r,t.params,t.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(t){I.prototype[t]=function(r,n){return this.request(N(n||{},{method:t,url:r,data:(n||{}).data}))}});a.forEach(["post","put","patch"],function(t){function r(n){return function(i,s,u){return this.request(N(u||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}I.prototype[t]=r(),I.prototype[t+"Form"]=r(!0)});var W=I;var De=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(o=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](o);n._listeners=null}),this.promise.then=o=>{let i,s=new Promise(u=>{n.subscribe(u),i=u}).then(o);return s.cancel=function(){n.unsubscribe(i)},s},t(function(i,s,u){n.reason||(n.reason=new T(i,s,u),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}static source(){let t;return{token:new e(function(o){t=o}),cancel:t}}},xt=De;function Ue(e){return function(r){return e.apply(null,r)}}function je(e){return a.isObject(e)&&e.isAxiosError===!0}var ke={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(ke).forEach(([e,t])=>{ke[t]=e});var Et=ke;function _t(e){let t=new W(e),r=z(W.prototype.request,t);return a.extend(r,W.prototype,t,{allOwnKeys:!0}),a.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return _t(N(e,o))},r}var w=_t(L);w.Axios=W;w.CanceledError=T;w.CancelToken=xt;w.isCancel=$;w.VERSION=le;w.toFormData=P;w.AxiosError=m;w.Cancel=w.CanceledError;w.all=function(t){return Promise.all(t)};w.spread=Ue;w.isAxiosError=je;w.mergeConfig=N;w.AxiosHeaders=E;w.formToJSON=e=>ie(a.isHTMLForm(e)?new FormData(e):e);w.HttpStatusCode=Et;w.default=w;var B=w;var{Axios:hi,AxiosError:gi,CanceledError:yi,isCancel:wi,CancelToken:bi,VERSION:xi,all:Ei,Cancel:_i,isAxiosError:Si,spread:Ri,toFormData:Ai,AxiosHeaders:Oi,HttpStatusCode:Ni,formToJSON:Pi,mergeConfig:Ti}=B;var fe,Cr=new Uint8Array(16);function Le(){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(Cr)}var b=[];for(let e=0;e<256;++e)b.push((e+256).toString(16).slice(1));function St(e,t=0){return(b[e[t+0]]+b[e[t+1]]+b[e[t+2]]+b[e[t+3]]+"-"+b[e[t+4]]+b[e[t+5]]+"-"+b[e[t+6]]+b[e[t+7]]+"-"+b[e[t+8]]+b[e[t+9]]+"-"+b[e[t+10]]+b[e[t+11]]+b[e[t+12]]+b[e[t+13]]+b[e[t+14]]+b[e[t+15]]).toLowerCase()}var Dr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Fe={randomUUID:Dr};function Ur(e,t,r){if(Fe.randomUUID&&!t&&!e)return Fe.randomUUID();e=e||{};let n=e.random||(e.rng||Le)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let o=0;o<16;++o)t[r+o]=n[o];return t}return St(n)}var pe=Ur;var jr={makeAxios:e=>B.create({...e}),getRepoStatus:async()=>{},getPastNAncestors:async()=>[],getEnv:e=>{}},v=jr;var D={current_project:null,current_experiment:null},X=null,me=null,Me=null,Ot=null,Rt=!1,kr="_xact_id",he=class{constructor(t){this.base_url=t,this.token=null,this.session=null,this._reset()}async ping(){try{let t=await this.get("ping");return G===null&&(G=t.data),t.status===200}catch{return!1}}make_long_lived(){this._reset()}set_token(t){t=t.trim(),this.token=t,this._reset()}_reset(){let t={};this.token&&(t.Authorization=`Bearer ${this.token}`),this.session=v.makeAxios({headers:t})}async get(t,r=void 0){return await this.session.get(ze(this.base_url,t),{params:r})}async post(t,r=void 0){return await this.session.post(ze(this.base_url,t),r)}async get_json(t,r=void 0,n=0){let o=n+1;for(let i=0;i<o;i++)try{return(await this.get(`${t}`,r)).data}catch(s){if(i<o-1){console.log(`Retrying API request ${t} ${r} ${s.status} ${s.text}`);continue}throw s}}async post_json(t,r=void 0){return(await this.post(`${t}`,r)).data}},Ie=null;function Nt(){return Ie||(Ie=new he(X)),Ie}var Be=null;function R(){return Be||(Be=new he(Ot)),Be}var G=null;async function Pt(){return G===null&&(G=await R().get_json("ping")),G}var At=class{constructor(t,r,n){this.name=t,this.id=r,this.org_id=n}},ve="projects";async function Lr(e){let t={name:e,org_id:me},r=[];for(let n=0;n<2&&(r=await R().get_json(ve,t),!(r.length>0));n++)try{r=await R().post_json(ve,t)}catch{continue}if(r)return r[0];throw new Error(`Unable to find record in ${ve}`)}var ge=class{constructor(){this.items=[];this.active_flush=Promise.resolve([]);this.active_flush_resolved=!0}log(t){this.items.push(...t),this.active_flush_resolved&&(this.active_flush_resolved=!1,this.active_flush=this.flush_once())}async flush_once(){this.active_flush_resolved=!1;let t=this.items;this.items=[];let r=[];return t.length>0&&(r=(await R().post_json("logs",t)).data),this.items.length>0?this.active_flush=this.flush_once():this.active_flush_resolved=!0,r}async flush(){for(;await this.active_flush,!this.active_flush_resolved;);}};async function Wi(e,t={}){let{experiment:r,description:n,dataset:o,baseExperiment:i,update:s,apiUrl:u,apiKey:d,orgName:c,disableCache:l}=t||{};return await Tt({orgName:c,disableCache:l,apiKey:d,apiUrl:u}),D.current_project=await Lr(e),D.current_experiment=await Ir(D.current_project,{name:r,description:n,dataset:o,update:s,baseExperiment:i}),D.current_experiment}async function Gi(e,t={}){let{dataset:r,description:n,version:o,apiUrl:i,apiKey:s,orgName:u,disableCache:d}=t||{};return await Tt({orgName:u,disableCache:d,apiKey:s,apiUrl:i}),await Br(e,{name:r,description:n,version:o})}async function Tt(e={}){let{apiUrl:t=v.getEnv("BRAINTRUST_API_URL")||"https://www.braintrustdata.com",apiKey:r=v.getEnv("BRAINTRUST_API_KEY"),orgName:n=void 0,disableCache:o=!1,forceLogin:i=!1}=e||{};if(Rt&&!i)return;X=t;let s=null,u=!1,d=null;if(r!==void 0){let l=(await B.post(ze(X,"/api/apikey/login"),{token:r})).data;Fr(l.org_info,n),d=R(),d.set_token(r),u=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)");u||await d.get("ping"),d.make_long_lived(),Nt().set_token(r),Rt=!0}function Xi(e){if(!D.current_experiment)throw new Error("Not initialized. Please call init() first");return D.current_experiment.log(e)}async function Qi(e={}){if(!D.current_experiment)throw new Error("Not initialized. Please call init() first");return await D.current_experiment.summarize(e)}function Fr(e,t){if(e.length===0)throw new Error("This user is not part of any organizations.");for(let r of e)if(t===void 0||r.name===t){me=r.id,Me=r.name,Ot=r.api_url;break}if(me===void 0)throw new Error(`Organization ${t} not found. Must be one of ${e.map(r=>r.name).join(", ")}`)}function ze(...e){return e.map(t=>t.replace(/^\//,"")).join("/")}async function Ir(e,{name:t,description:r,dataset:n,update:o,baseExperiment:i}={name:void 0,description:void 0,baseExperiment:void 0}){let s={project_id:e.id};t&&(s.name=t),r&&(s.description=r),o&&(s.update=o);let u=await v.getRepoStatus();u&&(s.repo_info=u);let d=R(),c;if(i!==void 0){let g=(await d.get("experiments",{project_id:e.id,name:i})).data;if(g.length>0)c=g[0].id;else throw new Error(`Base experiment ${i} not found`)}c===void 0&&(c=(await d.post("experiments-by-commits",{project_id:e.id,commits:await v.getPastNAncestors()})).data.experiment_id),c!==void 0&&(s.base_exp_id=c),n!==void 0&&(s.dataset_id=n.id,s.dataset_version=await n.version());let l=(await R().post_json("register-experiment",s))[0],p=(await Pt()).id;return new He(e,l.id,l.name,p,n)}var He=class{constructor(t,r,n,o,i){this.project=t,this.id=r,this.name=n,this.user_id=o,this.dataset=i,this.logger=new ge}log({input:t,output:r,expected:n,scores:o,metadata:i,id:s,datasetRecordId:u,allowLarge:d=!1,inputs:c}){if(t===void 0&&c===void 0)throw new Error("Either input or inputs (deprecated) must be specified. Prefer input.");if(t!==void 0&&c!==void 0)throw new Error("Only one of input or inputs (deprecated) can be specified. Prefer input.");for(let[p,y]of Object.entries(o)){if(typeof p!="string")throw new Error("score names must be strings");if(typeof y!="number")throw new Error("score values must be numbers");if(y<0||y>1)throw new Error("score values must be between 0 and 1")}if(i!==void 0){for(let p of Object.keys(i))if(typeof p!="string")throw new Error("metadata keys must be strings")}if(this.dataset&&u===void 0)throw new Error("datasetRecordId must be specified when using a dataset");if(!this.dataset&&u!==void 0)throw new Error("datasetRecordId cannot be specified when not using a dataset");let l={id:s||pe(),inputs:t??c,output:r,expected:n,scores:o,project_id:this.project.id,experiment_id:this.id,user_id:this.user_id,created:new Date().toISOString(),dataset_record_id:u,metadata:i};if(!d)for(let[p,y]of Object.entries(l)){let g=JSON.stringify(y);if(g&&g.length>65535)throw new Error(`Events must be less than 64KB in size. Please reduce the size of your ${p}.`)}return this.logger.log([l]),l.id}async summarize(t={}){let{summarizeScores:r=!0,comparisonExperimentId:n=void 0}=t||{};await this.logger.flush();let o=`${X}/app/${encodeURIComponent(Me)}/p/${encodeURIComponent(this.project.name)}`,i=`${o}/${encodeURIComponent(this.name)}`,s,u;if(r){if(n===void 0){let l=(await R().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&&(s=await R().get_json("/experiment-comparison",{experiment_id:this.id,base_experiment_id:n},3))}return{projectName:this.project.name,experimentName:this.name,projectUrl:o,experimentUrl:i,comparisonExperimentName:u,scores:s}}};async function Br(e,{name:t,description:r,version:n}={}){let o={org_id:me,project_name:e,dataset_name:t,description:r},i=await Nt().post_json("api/dataset/register",o),s=i.project,u=i.dataset,d=(await Pt()).id;return new qe(s,u.id,u.name,d,n)}var qe=class{constructor(t,r,n,o,i){this._fetchedData=void 0;this.project=t,this.id=r,this.name=n,this.user_id=o,this.pinnedVersion=i,this.logger=new ge}insert({input:t,output:r,metadata:n,id:o,allowLarge:i=!1}){if(n!==void 0){for(let u of Object.keys(n))if(typeof u!="string")throw new Error("metadata keys must be strings")}let s={id:o||pe(),inputs:t,output:r,project_id:this.project.id,dataset_id:this.id,user_id:this.user_id,created:new Date().toISOString(),metadata:n};if(!i)for(let[u,d]of Object.entries(s)){let c=JSON.stringify(d);if(c&&c.length>65535)throw new Error(`Records must be less than 64KB in size. Please reduce the size of your ${u}.`)}return this.logger.log([s]),s.id}delete(t){let r=this.user_id,n={id:t,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(t={}){let{summarizeData:r=!0}=t||{};await this.logger.flush();let n=`${X}/app/${encodeURIComponent(Me)}/p/${encodeURIComponent(this.project.name)}`,o=`${n}/d/${encodeURIComponent(this.name)}`,i;return r&&(i=await R().get_json("dataset-summary",{dataset_id:this.id},3)),{projectName:this.project.name,datasetName:this.name,projectUrl:n,datasetUrl:o,dataSummary:i}}async*fetch(){let t=await this.fetchedData();for(let r of t)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.fetch()}async fetchedData(){if(this._fetchedData===void 0){let r=await(await R().get("object/dataset",{id:this.id,fmt:"json",version:this.pinnedVersion})).data;this._fetchedData=r.split(`
4
- `).filter(n=>n.trim()!=="").map(n=>JSON.parse(n))}return this._fetchedData||[]}clearCache(){this._fetchedData=void 0}async version(){if(this.pinnedVersion!==void 0)return this.pinnedVersion;{let t=await this.fetchedData(),r;for(let n of t){let o=n[kr];(r===void 0||(o??o>r))&&(r=o)}return r}}};export{qe as Dataset,He as Experiment,At as Project,Wi as init,Gi as initDataset,Xi as log,Tt as login,Qi as summarize};
1
+ function v(e,t){return function(){return e.apply(t,arguments)}}var{toString:Ct}=Object.prototype,{getPrototypeOf:xe}=Object,Z=(e=>t=>{let r=Ct.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),R=e=>(e=e.toLowerCase(),t=>Z(t)===e),ee=e=>t=>typeof t===e,{isArray:U}=Array,H=ee("undefined");function Dt(e){return e!==null&&!H(e)&&e.constructor!==null&&!H(e.constructor)&&_(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var $e=R("ArrayBuffer");function Ut(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&$e(e.buffer),t}var jt=ee("string"),_=ee("function"),Ke=ee("number"),te=e=>e!==null&&typeof e=="object",kt=e=>e===!0||e===!1,Y=e=>{if(Z(e)!=="object")return!1;let t=xe(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Lt=R("Date"),Ft=R("File"),It=R("Blob"),Bt=R("FileList"),vt=e=>te(e)&&_(e.pipe),Ht=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||_(e.append)&&((t=Z(e))==="formdata"||t==="object"&&_(e.toString)&&e.toString()==="[object FormData]"))},zt=R("URLSearchParams"),qt=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function z(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),U(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{let i=r?Object.getOwnPropertyNames(e):Object.keys(e),s=i.length,u;for(n=0;n<s;n++)u=i[n],t.call(null,e[u],u,e)}}function We(e,t){t=t.toLowerCase();let r=Object.keys(e),n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}var Ge=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Xe=e=>!H(e)&&e!==Ge;function we(){let{caseless:e}=Xe(this)&&this||{},t={},r=(n,o)=>{let i=e&&We(t,o)||o;Y(t[i])&&Y(n)?t[i]=we(t[i],n):Y(n)?t[i]=we({},n):U(n)?t[i]=n.slice():t[i]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&z(arguments[n],r);return t}var Mt=(e,t,r,{allOwnKeys:n}={})=>(z(t,(o,i)=>{r&&_(o)?e[i]=v(o,r):e[i]=o},{allOwnKeys:n}),e),Jt=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Vt=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},$t=(e,t,r,n)=>{let o,i,s,u={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],(!n||n(s,e,t))&&!u[s]&&(t[s]=e[s],u[s]=!0);e=r!==!1&&xe(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},Kt=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},Wt=e=>{if(!e)return null;if(U(e))return e;let t=e.length;if(!Ke(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},Gt=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&xe(Uint8Array)),Xt=(e,t)=>{let n=(e&&e[Symbol.iterator]).call(e),o;for(;(o=n.next())&&!o.done;){let i=o.value;t.call(e,i[0],i[1])}},Qt=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},Yt=R("HTMLFormElement"),Zt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),Je=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),er=R("RegExp"),Qe=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};z(r,(o,i)=>{t(o,i,e)!==!1&&(n[i]=o)}),Object.defineProperties(e,n)},tr=e=>{Qe(e,(t,r)=>{if(_(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(_(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},rr=(e,t)=>{let r={},n=o=>{o.forEach(i=>{r[i]=!0})};return U(e)?n(e):n(String(e).split(t)),r},nr=()=>{},or=(e,t)=>(e=+e,Number.isFinite(e)?e:t),ye="abcdefghijklmnopqrstuvwxyz",Ve="0123456789",Ye={DIGIT:Ve,ALPHA:ye,ALPHA_DIGIT:ye+ye.toUpperCase()+Ve},ir=(e=16,t=Ye.ALPHA_DIGIT)=>{let r="",{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r};function sr(e){return!!(e&&_(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var ar=e=>{let t=new Array(10),r=(n,o)=>{if(te(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;let i=U(n)?[]:{};return z(n,(s,u)=>{let d=r(s,o+1);!H(d)&&(i[u]=d)}),t[o]=void 0,i}}return n};return r(e,0)},ur=R("AsyncFunction"),cr=e=>e&&(te(e)||_(e))&&_(e.then)&&_(e.catch),a={isArray:U,isArrayBuffer:$e,isBuffer:Dt,isFormData:Ht,isArrayBufferView:Ut,isString:jt,isNumber:Ke,isBoolean:kt,isObject:te,isPlainObject:Y,isUndefined:H,isDate:Lt,isFile:Ft,isBlob:It,isRegExp:er,isFunction:_,isStream:vt,isURLSearchParams:zt,isTypedArray:Gt,isFileList:Bt,forEach:z,merge:we,extend:Mt,trim:qt,stripBOM:Jt,inherits:Vt,toFlatObject:$t,kindOf:Z,kindOfTest:R,endsWith:Kt,toArray:Wt,forEachEntry:Xt,matchAll:Qt,isHTMLForm:Yt,hasOwnProperty:Je,hasOwnProp:Je,reduceDescriptors:Qe,freezeMethods:tr,toObjectSet:rr,toCamelCase:Zt,noop:nr,toFiniteNumber:or,findKey:We,global:Ge,isContextDefined:Xe,ALPHABET:Ye,generateString:ir,isSpecCompliantForm:sr,toJSONObject:ar,isAsyncFn:ur,isThenable:cr};function j(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}a.inherits(j,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 Ze=j.prototype,et={};["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(e=>{et[e]={value:e}});Object.defineProperties(j,et);Object.defineProperty(Ze,"isAxiosError",{value:!0});j.from=(e,t,r,n,o,i)=>{let s=Object.create(Ze);return a.toFlatObject(e,s,function(d){return d!==Error.prototype},u=>u!=="isAxiosError"),j.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var m=j;var re=null;function Ee(e){return a.isPlainObject(e)||a.isArray(e)}function rt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function tt(e,t,r){return e?e.concat(t).map(function(o,i){return o=rt(o),!r&&i?"["+o+"]":o}).join(r?".":""):t}function lr(e){return a.isArray(e)&&!e.some(Ee)}var dr=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function fr(e,t,r){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new(re||FormData),r=a.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,A){return!a.isUndefined(A[h])});let n=r.metaTokens,o=r.visitor||l,i=r.dots,s=r.indexes,d=(r.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(o))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(!d&&a.isBlob(f))throw new m("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?d&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,h,A){let S=f;if(f&&!A&&typeof f=="object"){if(a.endsWith(h,"{}"))h=n?h:h.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&lr(f)||(a.isFileList(f)||a.endsWith(h,"[]"))&&(S=a.toArray(f)))return h=rt(h),S.forEach(function(Q,Tt){!(a.isUndefined(Q)||Q===null)&&t.append(s===!0?tt([h],Tt,i):s===null?h:h+"[]",c(Q))}),!1}return Ee(f)?!0:(t.append(tt(A,h,i),c(f)),!1)}let p=[],w=Object.assign(dr,{defaultVisitor:l,convertValue:c,isVisitable:Ee});function g(f,h){if(!a.isUndefined(f)){if(p.indexOf(f)!==-1)throw Error("Circular reference detected in "+h.join("."));p.push(f),a.forEach(f,function(S,D){(!(a.isUndefined(S)||S===null)&&o.call(t,S,a.isString(D)?D.trim():D,h,w))===!0&&g(S,h?h.concat(D):[D])}),p.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return g(e),t}var N=fr;function nt(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function ot(e,t){this._pairs=[],e&&N(e,this,t)}var it=ot.prototype;it.append=function(t,r){this._pairs.push([t,r])};it.toString=function(t){let r=t?function(n){return t.call(this,n,nt)}:nt;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};var ne=ot;function pr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function q(e,t,r){if(!t)return e;let n=r&&r.encode||pr,o=r&&r.serialize,i;if(o?i=o(t,r):i=a.isURLSearchParams(t)?t.toString():new ne(t,r).toString(n),i){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var be=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(n){n!==null&&t(n)})}},_e=be;var oe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var st=typeof URLSearchParams<"u"?URLSearchParams:ne;var at=typeof FormData<"u"?FormData:null;var ut=typeof Blob<"u"?Blob:null;var mr=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),hr=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),E={isBrowser:!0,classes:{URLSearchParams:st,FormData:at,Blob:ut},isStandardBrowserEnv:mr,isStandardBrowserWebWorkerEnv:hr,protocols:["http","https","file","blob","url","data"]};function Se(e,t){return N(e,new E.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,i){return E.isNode&&a.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function gr(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function yr(e){let t={},r=Object.keys(e),n,o=r.length,i;for(n=0;n<o;n++)i=r[n],t[i]=e[i];return t}function wr(e){function t(r,n,o,i){let s=r[i++],u=Number.isFinite(+s),d=i>=r.length;return s=!s&&a.isArray(o)?o.length:s,d?(a.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!u):((!o[s]||!a.isObject(o[s]))&&(o[s]=[]),t(r,n,o[s],i)&&a.isArray(o[s])&&(o[s]=yr(o[s])),!u)}if(a.isFormData(e)&&a.isFunction(e.entries)){let r={};return a.forEachEntry(e,(n,o)=>{t(gr(n),o,r,0)}),r}return null}var ie=wr;var xr={"Content-Type":void 0};function Er(e,t,r){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var se={transitional:oe,adapter:["xhr","http"],transformRequest:[function(t,r){let n=r.getContentType()||"",o=n.indexOf("application/json")>-1,i=a.isObject(t);if(i&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return o&&o?JSON.stringify(ie(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Se(t,this.formSerializer).toString();if((u=a.isFileList(t))||n.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return N(u?{"files[]":t}:t,d&&new d,this.formSerializer)}}return i||o?(r.setContentType("application/json",!1),Er(t)):t}],transformResponse:[function(t){let r=this.transitional||se.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(t&&a.isString(t)&&(n&&!this.responseType||o)){let s=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(u){if(s)throw u.name==="SyntaxError"?m.from(u,m.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:E.classes.FormData,Blob:E.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};a.forEach(["delete","get","head"],function(t){se.headers[t]={}});a.forEach(["post","put","patch"],function(t){se.headers[t]=a.merge(xr)});var k=se;var br=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"]),ct=e=>{let t={},r,n,o;return e&&e.split(`
2
+ `).forEach(function(s){o=s.indexOf(":"),r=s.substring(0,o).trim().toLowerCase(),n=s.substring(o+1).trim(),!(!r||t[r]&&br[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var lt=Symbol("internals");function M(e){return e&&String(e).trim().toLowerCase()}function ae(e){return e===!1||e==null?e:a.isArray(e)?e.map(ae):String(e)}function _r(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var Sr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Re(e,t,r,n,o){if(a.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!a.isString(t)){if(a.isString(n))return t.indexOf(n)!==-1;if(a.isRegExp(n))return n.test(t)}}function Rr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Ar(e,t){let r=a.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,i,s){return this[n].call(this,t,o,i,s)},configurable:!0})})}var L=class{constructor(t){t&&this.set(t)}set(t,r,n){let o=this;function i(u,d,c){let l=M(d);if(!l)throw new Error("header name must be a non-empty string");let p=a.findKey(o,l);(!p||o[p]===void 0||c===!0||c===void 0&&o[p]!==!1)&&(o[p||d]=ae(u))}let s=(u,d)=>a.forEach(u,(c,l)=>i(c,l,d));return a.isPlainObject(t)||t instanceof this.constructor?s(t,r):a.isString(t)&&(t=t.trim())&&!Sr(t)?s(ct(t),r):t!=null&&i(r,t,n),this}get(t,r){if(t=M(t),t){let n=a.findKey(this,t);if(n){let o=this[n];if(!r)return o;if(r===!0)return _r(o);if(a.isFunction(r))return r.call(this,o,n);if(a.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=M(t),t){let n=a.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Re(this,this[n],n,r)))}return!1}delete(t,r){let n=this,o=!1;function i(s){if(s=M(s),s){let u=a.findKey(n,s);u&&(!r||Re(n,n[u],u,r))&&(delete n[u],o=!0)}}return a.isArray(t)?t.forEach(i):i(t),o}clear(t){let r=Object.keys(this),n=r.length,o=!1;for(;n--;){let i=r[n];(!t||Re(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){let r=this,n={};return a.forEach(this,(o,i)=>{let s=a.findKey(n,i);if(s){r[s]=ae(o),delete r[i];return}let u=t?Rr(i):String(i).trim();u!==i&&delete r[i],r[u]=ae(o),n[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return a.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&a.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
3
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){let n=(this[lt]=this[lt]={accessors:{}}).accessors,o=this.prototype;function i(s){let u=M(s);n[u]||(Ar(o,s),n[u]=!0)}return a.isArray(t)?t.forEach(i):i(t),this}};L.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.freezeMethods(L.prototype);a.freezeMethods(L);var b=L;function J(e,t){let r=this||k,n=t||r,o=b.from(n.headers),i=n.data;return a.forEach(e,function(u){i=u.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function V(e){return!!(e&&e.__CANCEL__)}function dt(e,t,r){m.call(this,e??"canceled",m.ERR_CANCELED,t,r),this.name="CanceledError"}a.inherits(dt,m,{__CANCEL__:!0});var P=dt;function Ae(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new m("Request failed with status code "+r.status,[m.ERR_BAD_REQUEST,m.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}var ft=E.isStandardBrowserEnv?function(){return{write:function(r,n,o,i,s,u){let d=[];d.push(r+"="+encodeURIComponent(n)),a.isNumber(o)&&d.push("expires="+new Date(o).toGMTString()),a.isString(i)&&d.push("path="+i),a.isString(s)&&d.push("domain="+s),u===!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 Oe(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Ne(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function $(e,t){return e&&!Oe(t)?Ne(e,t):t}var pt=E.isStandardBrowserEnv?function(){let t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function o(i){let s=i;return t&&(r.setAttribute("href",s),s=r.href),r.setAttribute("href",s),{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=o(window.location.href),function(s){let u=a.isString(s)?o(s):s;return u.protocol===n.protocol&&u.host===n.host}}():function(){return function(){return!0}}();function Pe(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Or(e,t){e=e||10;let r=new Array(e),n=new Array(e),o=0,i=0,s;return t=t!==void 0?t:1e3,function(d){let c=Date.now(),l=n[i];s||(s=c),r[o]=d,n[o]=c;let p=i,w=0;for(;p!==o;)w+=r[p++],p=p%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-s<t)return;let g=l&&c-l;return g?Math.round(w*1e3/g):void 0}}var mt=Or;function ht(e,t){let r=0,n=mt(50,250);return o=>{let i=o.loaded,s=o.lengthComputable?o.total:void 0,u=i-r,d=n(u),c=i<=s;r=i;let l={loaded:i,total:s,progress:s?i/s:void 0,bytes:u,rate:d||void 0,estimated:d&&s&&c?(s-i)/d:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}var Nr=typeof XMLHttpRequest<"u",gt=Nr&&function(e){return new Promise(function(r,n){let o=e.data,i=b.from(e.headers).normalize(),s=e.responseType,u;function d(){e.cancelToken&&e.cancelToken.unsubscribe(u),e.signal&&e.signal.removeEventListener("abort",u)}a.isFormData(o)&&(E.isStandardBrowserEnv||E.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.setContentType("multipart/form-data;",!1));let c=new XMLHttpRequest;if(e.auth){let g=e.auth.username||"",f=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(g+":"+f))}let l=$(e.baseURL,e.url);c.open(e.method.toUpperCase(),q(l,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function p(){if(!c)return;let g=b.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),h={data:!s||s==="text"||s==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:g,config:e,request:c};Ae(function(S){r(S),d()},function(S){n(S),d()},h),c=null}if("onloadend"in c?c.onloadend=p:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(p)},c.onabort=function(){c&&(n(new m("Request aborted",m.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new m("Network Error",m.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let f=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",h=e.transitional||oe;e.timeoutErrorMessage&&(f=e.timeoutErrorMessage),n(new m(f,h.clarifyTimeoutError?m.ETIMEDOUT:m.ECONNABORTED,e,c)),c=null},E.isStandardBrowserEnv){let g=(e.withCredentials||pt(l))&&e.xsrfCookieName&&ft.read(e.xsrfCookieName);g&&i.set(e.xsrfHeaderName,g)}o===void 0&&i.setContentType(null),"setRequestHeader"in c&&a.forEach(i.toJSON(),function(f,h){c.setRequestHeader(h,f)}),a.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),s&&s!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",ht(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",ht(e.onUploadProgress)),(e.cancelToken||e.signal)&&(u=g=>{c&&(n(!g||g.type?new P(null,e,c):g),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(u),e.signal&&(e.signal.aborted?u():e.signal.addEventListener("abort",u)));let w=Pe(l);if(w&&E.protocols.indexOf(w)===-1){n(new m("Unsupported protocol "+w+":",m.ERR_BAD_REQUEST,e));return}c.send(o||null)})};var ue={http:re,xhr:gt};a.forEach(ue,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var yt={getAdapter:e=>{e=a.isArray(e)?e:[e];let{length:t}=e,r,n;for(let o=0;o<t&&(r=e[o],!(n=a.isString(r)?ue[r.toLowerCase()]:r));o++);if(!n)throw n===!1?new m(`Adapter ${r} is not supported by the environment`,"ERR_NOT_SUPPORT"):new Error(a.hasOwnProp(ue,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:ue};function Te(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new P(null,e)}function ce(e){return Te(e),e.headers=b.from(e.headers),e.data=J.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),yt.getAdapter(e.adapter||k.adapter)(e).then(function(n){return Te(e),n.data=J.call(e,e.transformResponse,n),n.headers=b.from(n.headers),n},function(n){return V(n)||(Te(e),n&&n.response&&(n.response.data=J.call(e,e.transformResponse,n.response),n.response.headers=b.from(n.response.headers))),Promise.reject(n)})}var wt=e=>e instanceof b?e.toJSON():e;function O(e,t){t=t||{};let r={};function n(c,l,p){return a.isPlainObject(c)&&a.isPlainObject(l)?a.merge.call({caseless:p},c,l):a.isPlainObject(l)?a.merge({},l):a.isArray(l)?l.slice():l}function o(c,l,p){if(a.isUndefined(l)){if(!a.isUndefined(c))return n(void 0,c,p)}else return n(c,l,p)}function i(c,l){if(!a.isUndefined(l))return n(void 0,l)}function s(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,p){if(p in t)return n(c,l);if(p in e)return n(void 0,c)}let d={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:u,headers:(c,l)=>o(wt(c),wt(l),!0)};return a.forEach(Object.keys(Object.assign({},e,t)),function(l){let p=d[l]||o,w=p(e[l],t[l],l);a.isUndefined(w)&&p!==u||(r[l]=w)}),r}var le="1.4.0";var Ce={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ce[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var xt={};Ce.transitional=function(t,r,n){function o(i,s){return"[Axios v"+le+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,u)=>{if(t===!1)throw new m(o(s," has been removed"+(r?" in "+r:"")),m.ERR_DEPRECATED);return r&&!xt[s]&&(xt[s]=!0,console.warn(o(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(i,s,u):!0}};function Pr(e,t,r){if(typeof e!="object")throw new m("options must be an object",m.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),o=n.length;for(;o-- >0;){let i=n[o],s=t[i];if(s){let u=e[i],d=u===void 0||s(u,i,e);if(d!==!0)throw new m("option "+i+" must be "+d,m.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new m("Unknown option "+i,m.ERR_BAD_OPTION)}}var de={assertOptions:Pr,validators:Ce};var T=de.validators,F=class{constructor(t){this.defaults=t,this.interceptors={request:new _e,response:new _e}}request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=O(this.defaults,r);let{transitional:n,paramsSerializer:o,headers:i}=r;n!==void 0&&de.assertOptions(n,{silentJSONParsing:T.transitional(T.boolean),forcedJSONParsing:T.transitional(T.boolean),clarifyTimeoutError:T.transitional(T.boolean)},!1),o!=null&&(a.isFunction(o)?r.paramsSerializer={serialize:o}:de.assertOptions(o,{encode:T.function,serialize:T.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s;s=i&&a.merge(i.common,i[r.method]),s&&a.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f]}),r.headers=b.concat(s,i);let u=[],d=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(r)===!1||(d=d&&h.synchronous,u.unshift(h.fulfilled,h.rejected))});let c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let l,p=0,w;if(!d){let f=[ce.bind(this),void 0];for(f.unshift.apply(f,u),f.push.apply(f,c),w=f.length,l=Promise.resolve(r);p<w;)l=l.then(f[p++],f[p++]);return l}w=u.length;let g=r;for(p=0;p<w;){let f=u[p++],h=u[p++];try{g=f(g)}catch(A){h.call(this,A);break}}try{l=ce.call(this,g)}catch(f){return Promise.reject(f)}for(p=0,w=c.length;p<w;)l=l.then(c[p++],c[p++]);return l}getUri(t){t=O(this.defaults,t);let r=$(t.baseURL,t.url);return q(r,t.params,t.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(t){F.prototype[t]=function(r,n){return this.request(O(n||{},{method:t,url:r,data:(n||{}).data}))}});a.forEach(["post","put","patch"],function(t){function r(n){return function(i,s,u){return this.request(O(u||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}F.prototype[t]=r(),F.prototype[t+"Form"]=r(!0)});var K=F;var De=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(o=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](o);n._listeners=null}),this.promise.then=o=>{let i,s=new Promise(u=>{n.subscribe(u),i=u}).then(o);return s.cancel=function(){n.unsubscribe(i)},s},t(function(i,s,u){n.reason||(n.reason=new P(i,s,u),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}static source(){let t;return{token:new e(function(o){t=o}),cancel:t}}},Et=De;function Ue(e){return function(r){return e.apply(null,r)}}function je(e){return a.isObject(e)&&e.isAxiosError===!0}var ke={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(ke).forEach(([e,t])=>{ke[t]=e});var bt=ke;function _t(e){let t=new K(e),r=v(K.prototype.request,t);return a.extend(r,K.prototype,t,{allOwnKeys:!0}),a.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return _t(O(e,o))},r}var y=_t(k);y.Axios=K;y.CanceledError=P;y.CancelToken=Et;y.isCancel=V;y.VERSION=le;y.toFormData=N;y.AxiosError=m;y.Cancel=y.CanceledError;y.all=function(t){return Promise.all(t)};y.spread=Ue;y.isAxiosError=je;y.mergeConfig=O;y.AxiosHeaders=b;y.formToJSON=e=>ie(a.isHTMLForm(e)?new FormData(e):e);y.HttpStatusCode=bt;y.default=y;var I=y;var{Axios:pi,AxiosError:mi,CanceledError:hi,isCancel:gi,CancelToken:yi,VERSION:wi,all:xi,Cancel:Ei,isAxiosError:bi,spread:_i,toFormData:Si,AxiosHeaders:Ri,HttpStatusCode:Ai,formToJSON:Oi,mergeConfig:Ni}=I;var fe,Tr=new Uint8Array(16);function Le(){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(Tr)}var x=[];for(let e=0;e<256;++e)x.push((e+256).toString(16).slice(1));function St(e,t=0){return(x[e[t+0]]+x[e[t+1]]+x[e[t+2]]+x[e[t+3]]+"-"+x[e[t+4]]+x[e[t+5]]+"-"+x[e[t+6]]+x[e[t+7]]+"-"+x[e[t+8]]+x[e[t+9]]+"-"+x[e[t+10]]+x[e[t+11]]+x[e[t+12]]+x[e[t+13]]+x[e[t+14]]+x[e[t+15]]).toLowerCase()}var Cr=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Fe={randomUUID:Cr};function Dr(e,t,r){if(Fe.randomUUID&&!t&&!e)return Fe.randomUUID();e=e||{};let n=e.random||(e.rng||Le)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let o=0;o<16;++o)t[r+o]=n[o];return t}return St(n)}var pe=Dr;var Ur={makeAxios:e=>I.create({...e}),getRepoStatus:async()=>{},getPastNAncestors:async()=>[],getEnv:e=>{}},B=Ur;var G={current_project:null,current_experiment:null},X=null,me=null,qe=null,Ot=null,Rt=!1,jr="_xact_id",he=class{constructor(t){this.base_url=t,this.token=null,this.session=null,this._reset()}async ping(){try{let t=await this.get("ping");return W===null&&(W=t.data),t.status===200}catch{return!1}}make_long_lived(){this._reset()}set_token(t){t=t.trim(),this.token=t,this._reset()}_reset(){let t={};this.token&&(t.Authorization=`Bearer ${this.token}`),this.session=B.makeAxios({headers:t})}async get(t,r=void 0){return await this.session.get(ve(this.base_url,t),{params:r})}async post(t,r=void 0){return await this.session.post(ve(this.base_url,t),r)}async get_json(t,r=void 0,n=0){let o=n+1;for(let i=0;i<o;i++)try{return(await this.get(`${t}`,r)).data}catch(s){if(i<o-1){console.log(`Retrying API request ${t} ${r} ${s.status} ${s.text}`);continue}throw s}}async post_json(t,r=void 0){return(await this.post(`${t}`,r)).data}},Ie=null;function Me(){return Ie||(Ie=new he(X)),Ie}var Be=null;function C(){return Be||(Be=new he(Ot)),Be}var W=null;async function Nt(){return W===null&&(W=await C().get_json("ping")),W}var At=class{constructor(t,r,n){this.name=t,this.id=r,this.org_id=n}};var ge=class{constructor(){this.items=[];this.active_flush=Promise.resolve([]);this.active_flush_resolved=!0}log(t){this.items.push(...t),this.active_flush_resolved&&(this.active_flush_resolved=!1,this.active_flush=this.flush_once())}async flush_once(){this.active_flush_resolved=!1;let t=this.items;this.items=[];let r=[];return t.length>0&&(r=(await C().post_json("logs",t)).data),this.items.length>0?this.active_flush=this.flush_once():this.active_flush_resolved=!0,r}async flush(){for(;await this.active_flush,!this.active_flush_resolved;);}};async function $i(e,t={}){let{experiment:r,description:n,dataset:o,baseExperiment:i,update:s,apiUrl:u,apiKey:d,orgName:c,disableCache:l}=t||{};await Pt({orgName:c,disableCache:l,apiKey:d,apiUrl:u});let p=await Lr(e,{experimentName:r,description:n,dataset:o,update:s,baseExperiment:i});return G.current_experiment=p,p}async function Ki(e,t={}){let{dataset:r,description:n,version:o,apiUrl:i,apiKey:s,orgName:u,disableCache:d}=t||{};return await Pt({orgName:u,disableCache:d,apiKey:s,apiUrl:i}),await Fr(e,{name:r,description:n,version:o})}async function Pt(e={}){let{apiUrl:t=B.getEnv("BRAINTRUST_API_URL")||"https://www.braintrustdata.com",apiKey:r=B.getEnv("BRAINTRUST_API_KEY"),orgName:n=void 0,disableCache:o=!1,forceLogin:i=!1}=e||{};if(Rt&&!i)return;X=t;let s=null,u=!1,d=null;if(r!==void 0){let l=(await I.post(ve(X,"/api/apikey/login"),{token:r})).data;kr(l.org_info,n),d=C(),d.set_token(r),u=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)");u||await d.get("ping"),d.make_long_lived(),Me().set_token(r),Rt=!0}function Wi(e){if(!G.current_experiment)throw new Error("Not initialized. Please call init() first");return G.current_experiment.log(e)}async function Gi(e={}){if(!G.current_experiment)throw new Error("Not initialized. Please call init() first");return await G.current_experiment.summarize(e)}function kr(e,t){if(e.length===0)throw new Error("This user is not part of any organizations.");for(let r of e)if(t===void 0||r.name===t){me=r.id,qe=r.name,Ot=r.api_url;break}if(me===void 0)throw new Error(`Organization ${t} not found. Must be one of ${e.map(r=>r.name).join(", ")}`)}function ve(...e){return e.map(t=>t.replace(/^\//,"")).join("/")}async function Lr(e,{experimentName:t,description:r,dataset:n,update:o,baseExperiment:i}={experimentName:void 0,description:void 0,baseExperiment:void 0}){let s={project_name:e,org_id:me};t&&(s.experiment_name=t),r&&(s.description=r),o&&(s.update=o);let u=await B.getRepoStatus();u&&(s.repo_info=u),i?s.base_experiment=i:s.ancestor_commits=await B.getPastNAncestors(),n!==void 0&&(s.dataset_id=n.id,s.dataset_version=await n.version());let d=await Me().post_json("api/experiment/register",s),c=d.project,l=d.experiment,p=(await Nt()).id;return new He(c,l.id,l.name,p,n)}var He=class{constructor(t,r,n,o,i){this.project=t,this.id=r,this.name=n,this.user_id=o,this.dataset=i,this.logger=new ge}log({input:t,output:r,expected:n,scores:o,metadata:i,id:s,datasetRecordId:u,inputs:d}){if(t===void 0&&d===void 0)throw new Error("Either input or inputs (deprecated) must be specified. Prefer input.");if(t!==void 0&&d!==void 0)throw new Error("Only one of input or inputs (deprecated) can be specified. Prefer input.");for(let[l,p]of Object.entries(o)){if(typeof l!="string")throw new Error("score names must be strings");if(typeof p!="number")throw new Error("score values must be numbers");if(p<0||p>1)throw new Error("score values must be between 0 and 1")}if(i!==void 0){for(let l of Object.keys(i))if(typeof l!="string")throw new Error("metadata keys must be strings")}if(this.dataset&&u===void 0)throw new Error("datasetRecordId must be specified when using a dataset");if(!this.dataset&&u!==void 0)throw new Error("datasetRecordId cannot be specified when not using a dataset");let c={id:s||pe(),inputs:t??d,output:r,expected:n,scores:o,project_id:this.project.id,experiment_id:this.id,user_id:this.user_id,created:new Date().toISOString(),dataset_record_id:u,metadata:i};return this.logger.log([c]),c.id}async summarize(t={}){let{summarizeScores:r=!0,comparisonExperimentId:n=void 0}=t||{};await this.logger.flush();let o=`${X}/app/${encodeURIComponent(qe)}/p/${encodeURIComponent(this.project.name)}`,i=`${o}/${encodeURIComponent(this.name)}`,s,u;if(r){if(n===void 0){let l=(await C().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&&(s=await C().get_json("/experiment-comparison",{experiment_id:this.id,base_experiment_id:n},3))}return{projectName:this.project.name,experimentName:this.name,projectUrl:o,experimentUrl:i,comparisonExperimentName:u,scores:s}}};async function Fr(e,{name:t,description:r,version:n}={}){let o={org_id:me,project_name:e,dataset_name:t,description:r},i=await Me().post_json("api/dataset/register",o),s=i.project,u=i.dataset,d=(await Nt()).id;return new ze(s,u.id,u.name,d,n)}var ze=class{constructor(t,r,n,o,i){this._fetchedData=void 0;this.project=t,this.id=r,this.name=n,this.user_id=o,this.pinnedVersion=i,this.logger=new ge}insert({input:t,output:r,metadata:n,id:o}){if(n!==void 0){for(let s of Object.keys(n))if(typeof s!="string")throw new Error("metadata keys must be strings")}let i={id:o||pe(),inputs:t,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([i]),i.id}delete(t){let r=this.user_id,n={id:t,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(t={}){let{summarizeData:r=!0}=t||{};await this.logger.flush();let n=`${X}/app/${encodeURIComponent(qe)}/p/${encodeURIComponent(this.project.name)}`,o=`${n}/d/${encodeURIComponent(this.name)}`,i;return r&&(i=await C().get_json("dataset-summary",{dataset_id:this.id},3)),{projectName:this.project.name,datasetName:this.name,projectUrl:n,datasetUrl:o,dataSummary:i}}async*fetch(){let t=await this.fetchedData();for(let r of t)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.fetch()}async fetchedData(){if(this._fetchedData===void 0){let r=await(await C().get("object/dataset",{id:this.id,fmt:"json",version:this.pinnedVersion})).data;this._fetchedData=r.split(`
4
+ `).filter(n=>n.trim()!=="").map(n=>JSON.parse(n))}return this._fetchedData||[]}clearCache(){this._fetchedData=void 0}async version(){if(this.pinnedVersion!==void 0)return this.pinnedVersion;{let t=await this.fetchedData(),r;for(let n of t){let o=n[jr];(r===void 0||(o??o>r))&&(r=o)}return r}}};export{ze as Dataset,He as Experiment,At as Project,$i as init,Ki as initDataset,Wi as log,Pt as login,Gi as summarize};
package/dist/cli.js CHANGED
@@ -18915,8 +18915,8 @@ var require_package = __commonJS({
18915
18915
  "package.json"(exports2, module2) {
18916
18916
  module2.exports = {
18917
18917
  name: "braintrust",
18918
- version: "0.0.41",
18919
- description: "SDK for integrating BrainTrust",
18918
+ version: "0.0.43",
18919
+ description: "SDK for integrating Braintrust",
18920
18920
  main: "./dist/index.js",
18921
18921
  browser: {
18922
18922
  "./dist/index.js": "./dist/browser.js",
@@ -23400,28 +23400,6 @@ async function _user_info() {
23400
23400
  }
23401
23401
  return _var_user_info;
23402
23402
  }
23403
- var _PROJECTS_ENDPOINT = "projects";
23404
- async function _initProject(name) {
23405
- const unique_key = { name, org_id: ORG_ID };
23406
- let existing = [];
23407
- for (let i = 0; i < 2; i++) {
23408
- existing = await log_conn().get_json(_PROJECTS_ENDPOINT, unique_key);
23409
- if (existing.length > 0) {
23410
- break;
23411
- } else {
23412
- try {
23413
- existing = await log_conn().post_json(_PROJECTS_ENDPOINT, unique_key);
23414
- } catch (e) {
23415
- continue;
23416
- }
23417
- }
23418
- }
23419
- if (existing) {
23420
- return existing[0];
23421
- } else {
23422
- throw new Error(`Unable to find record in ${_PROJECTS_ENDPOINT}`);
23423
- }
23424
- }
23425
23403
  var LogThread = class {
23426
23404
  constructor() {
23427
23405
  this.items = [];
@@ -23478,15 +23456,15 @@ async function init(project, options = {}) {
23478
23456
  apiKey,
23479
23457
  apiUrl
23480
23458
  });
23481
- _state.current_project = await _initProject(project);
23482
- _state.current_experiment = await _initExperiment(_state.current_project, {
23483
- name: experiment,
23459
+ const ret = await _initExperiment(project, {
23460
+ experimentName: experiment,
23484
23461
  description,
23485
23462
  dataset,
23486
23463
  update,
23487
23464
  baseExperiment
23488
23465
  });
23489
- return _state.current_experiment;
23466
+ _state.current_experiment = ret;
23467
+ return ret;
23490
23468
  }
23491
23469
  async function login(options = {}) {
23492
23470
  const {
@@ -23548,20 +23526,23 @@ function _check_org_info(org_info, org_name) {
23548
23526
  function _urljoin(...parts) {
23549
23527
  return parts.map((x) => x.replace(/^\//, "")).join("/");
23550
23528
  }
23551
- async function _initExperiment(project, {
23552
- name,
23529
+ async function _initExperiment(projectName, {
23530
+ experimentName,
23553
23531
  description,
23554
23532
  dataset,
23555
23533
  update,
23556
23534
  baseExperiment
23557
23535
  } = {
23558
- name: void 0,
23536
+ experimentName: void 0,
23559
23537
  description: void 0,
23560
23538
  baseExperiment: void 0
23561
23539
  }) {
23562
- const args = { project_id: project.id };
23563
- if (name) {
23564
- args["name"] = name;
23540
+ const args = {
23541
+ project_name: projectName,
23542
+ org_id: ORG_ID
23543
+ };
23544
+ if (experimentName) {
23545
+ args["experiment_name"] = experimentName;
23565
23546
  }
23566
23547
  if (description) {
23567
23548
  args["description"] = description;
@@ -23573,37 +23554,26 @@ async function _initExperiment(project, {
23573
23554
  if (repoStatus) {
23574
23555
  args["repo_info"] = repoStatus;
23575
23556
  }
23576
- const conn = log_conn();
23577
- let base_exp_id = void 0;
23578
- if (baseExperiment !== void 0) {
23579
- const resp = await conn.get("experiments", {
23580
- project_id: project.id,
23581
- name: baseExperiment
23582
- });
23583
- const experiments = resp.data;
23584
- if (experiments.length > 0) {
23585
- base_exp_id = experiments[0]["id"];
23586
- } else {
23587
- throw new Error(`Base experiment ${baseExperiment} not found`);
23588
- }
23589
- }
23590
- if (base_exp_id === void 0) {
23591
- const resp = await conn.post("experiments-by-commits", {
23592
- project_id: project.id,
23593
- commits: await isomorph_default.getPastNAncestors()
23594
- });
23595
- base_exp_id = resp.data["experiment_id"];
23596
- }
23597
- if (base_exp_id !== void 0) {
23598
- args["base_exp_id"] = base_exp_id;
23557
+ if (baseExperiment) {
23558
+ args["base_experiment"] = baseExperiment;
23559
+ } else {
23560
+ args["ancestor_commits"] = await isomorph_default.getPastNAncestors();
23599
23561
  }
23600
23562
  if (dataset !== void 0) {
23601
23563
  args["dataset_id"] = dataset.id;
23602
23564
  args["dataset_version"] = await dataset.version();
23603
23565
  }
23604
- const data = (await log_conn().post_json("register-experiment", args))[0];
23566
+ const response = await api_conn().post_json("api/experiment/register", args);
23567
+ const project = response.project;
23568
+ const experiment = response.experiment;
23605
23569
  const user_id = (await _user_info())["id"];
23606
- return new Experiment(project, data.id, data.name, user_id, dataset);
23570
+ return new Experiment(
23571
+ project,
23572
+ experiment.id,
23573
+ experiment.name,
23574
+ user_id,
23575
+ dataset
23576
+ );
23607
23577
  }
23608
23578
  var Experiment = class {
23609
23579
  constructor(project, id, name, user_id, dataset) {
@@ -23619,7 +23589,7 @@ var Experiment = class {
23619
23589
  *
23620
23590
  * @param event The event to log.
23621
23591
  * @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
23622
- * BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
23592
+ * Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should
23623
23593
  * not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
23624
23594
  * `input` should be identical.
23625
23595
  * @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
@@ -23627,7 +23597,7 @@ var Experiment = class {
23627
23597
  * the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
23628
23598
  * be multiple valid queries that answer a single question.
23629
23599
  * @param event.expected The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to
23630
- * determine if your `output` value is correct or not. BrainTrust currently does not compare `output` to `expected` for
23600
+ * determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for
23631
23601
  * you, since there are so many different ways to do that correctly. Instead, these values are just used to help you
23632
23602
  * navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or
23633
23603
  * fine-tune your models.
@@ -23640,9 +23610,7 @@ var Experiment = class {
23640
23610
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
23641
23611
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
23642
23612
  * JSON-serializable type, but its keys must be strings.
23643
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
23644
- * @param event.allowLarge: (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
23645
- * upload pipeline or be truncated.
23613
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
23646
23614
  * @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
23647
23615
  * @returns The `id` of the logged event.
23648
23616
  */
@@ -23654,7 +23622,6 @@ var Experiment = class {
23654
23622
  metadata,
23655
23623
  id,
23656
23624
  datasetRecordId,
23657
- allowLarge = false,
23658
23625
  inputs
23659
23626
  }) {
23660
23627
  if (input === void 0 && inputs === void 0) {
@@ -23704,16 +23671,6 @@ var Experiment = class {
23704
23671
  dataset_record_id: datasetRecordId,
23705
23672
  metadata
23706
23673
  };
23707
- if (!allowLarge) {
23708
- for (const [key, value] of Object.entries(args)) {
23709
- const serialized = JSON.stringify(value);
23710
- if (serialized && serialized.length > 65535) {
23711
- throw new Error(
23712
- `Events must be less than 64KB in size. Please reduce the size of your ${key}.`
23713
- );
23714
- }
23715
- }
23716
- }
23717
23674
  this.logger.log([args]);
23718
23675
  return args.id;
23719
23676
  }
@@ -23788,17 +23745,14 @@ var Dataset = class {
23788
23745
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
23789
23746
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
23790
23747
  * JSON-serializable type, but its keys must be strings.
23791
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
23792
- * @param event.allowLarge (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
23793
- * upload pipeline or be truncated.
23748
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
23794
23749
  * @returns The `id` of the logged record.
23795
23750
  */
23796
23751
  insert({
23797
23752
  input,
23798
23753
  output,
23799
23754
  metadata,
23800
- id,
23801
- allowLarge = false
23755
+ id
23802
23756
  }) {
23803
23757
  if (metadata !== void 0) {
23804
23758
  for (const key of Object.keys(metadata)) {
@@ -23817,16 +23771,6 @@ var Dataset = class {
23817
23771
  created: (/* @__PURE__ */ new Date()).toISOString(),
23818
23772
  metadata
23819
23773
  };
23820
- if (!allowLarge) {
23821
- for (const [key, value] of Object.entries(args)) {
23822
- const serialized = JSON.stringify(value);
23823
- if (serialized && serialized.length > 65535) {
23824
- throw new Error(
23825
- `Records must be less than 64KB in size. Please reduce the size of your ${key}.`
23826
- );
23827
- }
23828
- }
23829
- }
23830
23774
  this.logger.log([args]);
23831
23775
  return args.id;
23832
23776
  }
@@ -28637,7 +28581,7 @@ async function main() {
28637
28581
  help: "The name of a specific organization to connect to. This is useful if you belong to multiple."
28638
28582
  });
28639
28583
  parser_run.add_argument("--api-url", {
28640
- help: "Specify a custom braintrust api url. Defaults to https://www.braintrustdata.com. This is only necessary if you are using an experimental version of BrainTrust"
28584
+ help: "Specify a custom braintrust api url. Defaults to https://www.braintrustdata.com. This is only necessary if you are using an experimental version of Braintrust"
28641
28585
  });
28642
28586
  parser_run.add_argument("--watch", {
28643
28587
  action: "store_true",
@@ -28652,7 +28596,7 @@ async function main() {
28652
28596
  });
28653
28597
  parser_run.add_argument("--no-send-logs", {
28654
28598
  action: "store_true",
28655
- help: "Do not send logs to BrainTrust. Useful for testing evaluators without uploading results."
28599
+ help: "Do not send logs to Braintrust. Useful for testing evaluators without uploading results."
28656
28600
  });
28657
28601
  parser_run.add_argument("--no-progress-bars", {
28658
28602
  action: "store_true",
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * An isomorphic JS library for logging data to BrainTrust.
2
+ * An isomorphic JS library for logging data to Braintrust.
3
3
  *
4
4
  * ### Quickstart
5
5
  *
@@ -10,7 +10,7 @@
10
10
  * ```
11
11
  *
12
12
  * Then, run a simple experiment with the following code (replace `YOUR_API_KEY` with
13
- * your BrainTrust API key):
13
+ * your Braintrust API key):
14
14
  *
15
15
  * ```javascript
16
16
  * import * as braintrust from "braintrust";
package/dist/index.js CHANGED
@@ -17988,28 +17988,6 @@ var Project = class {
17988
17988
  this.org_id = org_id;
17989
17989
  }
17990
17990
  };
17991
- var _PROJECTS_ENDPOINT = "projects";
17992
- async function _initProject(name) {
17993
- const unique_key = { name, org_id: ORG_ID };
17994
- let existing = [];
17995
- for (let i = 0; i < 2; i++) {
17996
- existing = await log_conn().get_json(_PROJECTS_ENDPOINT, unique_key);
17997
- if (existing.length > 0) {
17998
- break;
17999
- } else {
18000
- try {
18001
- existing = await log_conn().post_json(_PROJECTS_ENDPOINT, unique_key);
18002
- } catch (e) {
18003
- continue;
18004
- }
18005
- }
18006
- }
18007
- if (existing) {
18008
- return existing[0];
18009
- } else {
18010
- throw new Error(`Unable to find record in ${_PROJECTS_ENDPOINT}`);
18011
- }
18012
- }
18013
17991
  var LogThread = class {
18014
17992
  constructor() {
18015
17993
  this.items = [];
@@ -18066,15 +18044,15 @@ async function init(project, options = {}) {
18066
18044
  apiKey,
18067
18045
  apiUrl
18068
18046
  });
18069
- _state.current_project = await _initProject(project);
18070
- _state.current_experiment = await _initExperiment(_state.current_project, {
18071
- name: experiment,
18047
+ const ret = await _initExperiment(project, {
18048
+ experimentName: experiment,
18072
18049
  description,
18073
18050
  dataset,
18074
18051
  update,
18075
18052
  baseExperiment
18076
18053
  });
18077
- return _state.current_experiment;
18054
+ _state.current_experiment = ret;
18055
+ return ret;
18078
18056
  }
18079
18057
  async function initDataset(project, options = {}) {
18080
18058
  const {
@@ -18170,20 +18148,23 @@ function _check_org_info(org_info, org_name) {
18170
18148
  function _urljoin(...parts) {
18171
18149
  return parts.map((x) => x.replace(/^\//, "")).join("/");
18172
18150
  }
18173
- async function _initExperiment(project, {
18174
- name,
18151
+ async function _initExperiment(projectName, {
18152
+ experimentName,
18175
18153
  description,
18176
18154
  dataset,
18177
18155
  update,
18178
18156
  baseExperiment
18179
18157
  } = {
18180
- name: void 0,
18158
+ experimentName: void 0,
18181
18159
  description: void 0,
18182
18160
  baseExperiment: void 0
18183
18161
  }) {
18184
- const args = { project_id: project.id };
18185
- if (name) {
18186
- args["name"] = name;
18162
+ const args = {
18163
+ project_name: projectName,
18164
+ org_id: ORG_ID
18165
+ };
18166
+ if (experimentName) {
18167
+ args["experiment_name"] = experimentName;
18187
18168
  }
18188
18169
  if (description) {
18189
18170
  args["description"] = description;
@@ -18195,37 +18176,26 @@ async function _initExperiment(project, {
18195
18176
  if (repoStatus) {
18196
18177
  args["repo_info"] = repoStatus;
18197
18178
  }
18198
- const conn = log_conn();
18199
- let base_exp_id = void 0;
18200
- if (baseExperiment !== void 0) {
18201
- const resp = await conn.get("experiments", {
18202
- project_id: project.id,
18203
- name: baseExperiment
18204
- });
18205
- const experiments = resp.data;
18206
- if (experiments.length > 0) {
18207
- base_exp_id = experiments[0]["id"];
18208
- } else {
18209
- throw new Error(`Base experiment ${baseExperiment} not found`);
18210
- }
18211
- }
18212
- if (base_exp_id === void 0) {
18213
- const resp = await conn.post("experiments-by-commits", {
18214
- project_id: project.id,
18215
- commits: await isomorph_default.getPastNAncestors()
18216
- });
18217
- base_exp_id = resp.data["experiment_id"];
18218
- }
18219
- if (base_exp_id !== void 0) {
18220
- args["base_exp_id"] = base_exp_id;
18179
+ if (baseExperiment) {
18180
+ args["base_experiment"] = baseExperiment;
18181
+ } else {
18182
+ args["ancestor_commits"] = await isomorph_default.getPastNAncestors();
18221
18183
  }
18222
18184
  if (dataset !== void 0) {
18223
18185
  args["dataset_id"] = dataset.id;
18224
18186
  args["dataset_version"] = await dataset.version();
18225
18187
  }
18226
- const data = (await log_conn().post_json("register-experiment", args))[0];
18188
+ const response = await api_conn().post_json("api/experiment/register", args);
18189
+ const project = response.project;
18190
+ const experiment = response.experiment;
18227
18191
  const user_id = (await _user_info())["id"];
18228
- return new Experiment(project, data.id, data.name, user_id, dataset);
18192
+ return new Experiment(
18193
+ project,
18194
+ experiment.id,
18195
+ experiment.name,
18196
+ user_id,
18197
+ dataset
18198
+ );
18229
18199
  }
18230
18200
  var Experiment = class {
18231
18201
  constructor(project, id, name, user_id, dataset) {
@@ -18241,7 +18211,7 @@ var Experiment = class {
18241
18211
  *
18242
18212
  * @param event The event to log.
18243
18213
  * @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
18244
- * BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
18214
+ * Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should
18245
18215
  * not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
18246
18216
  * `input` should be identical.
18247
18217
  * @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
@@ -18249,7 +18219,7 @@ var Experiment = class {
18249
18219
  * the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
18250
18220
  * be multiple valid queries that answer a single question.
18251
18221
  * @param event.expected The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to
18252
- * determine if your `output` value is correct or not. BrainTrust currently does not compare `output` to `expected` for
18222
+ * determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for
18253
18223
  * you, since there are so many different ways to do that correctly. Instead, these values are just used to help you
18254
18224
  * navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or
18255
18225
  * fine-tune your models.
@@ -18262,9 +18232,7 @@ var Experiment = class {
18262
18232
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
18263
18233
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
18264
18234
  * JSON-serializable type, but its keys must be strings.
18265
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
18266
- * @param event.allowLarge: (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
18267
- * upload pipeline or be truncated.
18235
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
18268
18236
  * @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
18269
18237
  * @returns The `id` of the logged event.
18270
18238
  */
@@ -18276,7 +18244,6 @@ var Experiment = class {
18276
18244
  metadata,
18277
18245
  id,
18278
18246
  datasetRecordId,
18279
- allowLarge = false,
18280
18247
  inputs
18281
18248
  }) {
18282
18249
  if (input === void 0 && inputs === void 0) {
@@ -18326,16 +18293,6 @@ var Experiment = class {
18326
18293
  dataset_record_id: datasetRecordId,
18327
18294
  metadata
18328
18295
  };
18329
- if (!allowLarge) {
18330
- for (const [key, value] of Object.entries(args)) {
18331
- const serialized = JSON.stringify(value);
18332
- if (serialized && serialized.length > 65535) {
18333
- throw new Error(
18334
- `Events must be less than 64KB in size. Please reduce the size of your ${key}.`
18335
- );
18336
- }
18337
- }
18338
- }
18339
18296
  this.logger.log([args]);
18340
18297
  return args.id;
18341
18298
  }
@@ -18427,17 +18384,14 @@ var Dataset = class {
18427
18384
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
18428
18385
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
18429
18386
  * JSON-serializable type, but its keys must be strings.
18430
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
18431
- * @param event.allowLarge (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
18432
- * upload pipeline or be truncated.
18387
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
18433
18388
  * @returns The `id` of the logged record.
18434
18389
  */
18435
18390
  insert({
18436
18391
  input,
18437
18392
  output,
18438
18393
  metadata,
18439
- id,
18440
- allowLarge = false
18394
+ id
18441
18395
  }) {
18442
18396
  if (metadata !== void 0) {
18443
18397
  for (const key of Object.keys(metadata)) {
@@ -18456,16 +18410,6 @@ var Dataset = class {
18456
18410
  created: (/* @__PURE__ */ new Date()).toISOString(),
18457
18411
  metadata
18458
18412
  };
18459
- if (!allowLarge) {
18460
- for (const [key, value] of Object.entries(args)) {
18461
- const serialized = JSON.stringify(value);
18462
- if (serialized && serialized.length > 65535) {
18463
- throw new Error(
18464
- `Records must be less than 64KB in size. Please reduce the size of your ${key}.`
18465
- );
18466
- }
18467
- }
18468
- }
18469
18413
  this.logger.log([args]);
18470
18414
  return args.id;
18471
18415
  }
package/dist/logger.d.ts CHANGED
@@ -22,7 +22,7 @@ export interface DatasetRecord {
22
22
  * @param options.update If the experiment already exists, continue logging to it.
23
23
  * @param options.baseExperiment An optional experiment name to use as a base. If specified, the new experiment will be summarized and compared to this
24
24
  * experiment. Otherwise, it will pick an experiment by finding the closest ancestor on the default (e.g. main) branch.
25
- * @param options.apiUrl The URL of the BrainTrust API. Defaults to https://www.braintrustdata.com.
25
+ * @param options.apiUrl The URL of the Braintrust API. Defaults to https://www.braintrustdata.com.
26
26
  * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. If no API
27
27
  * key is specified, will prompt the user to login.
28
28
  * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
@@ -47,7 +47,7 @@ export declare function init(project: string, options?: {
47
47
  * @param options Additional options for configuring init().
48
48
  * @param options.dataset The name of the dataset to create. If not specified, a name will be generated automatically.
49
49
  * @param options.description An optional description of the dataset.
50
- * @param options.apiUrl The URL of the BrainTrust API. Defaults to https://www.braintrustdata.com.
50
+ * @param options.apiUrl The URL of the Braintrust API. Defaults to https://www.braintrustdata.com.
51
51
  * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. If no API
52
52
  * key is specified, will prompt the user to login.
53
53
  * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
@@ -64,11 +64,11 @@ export declare function initDataset(project: string, options?: {
64
64
  readonly disableCache?: boolean;
65
65
  }): Promise<Dataset>;
66
66
  /**
67
- * Log into BrainTrust. This will prompt you for your API token, which you can find at
67
+ * Log into Braintrust. This will prompt you for your API token, which you can find at
68
68
  * https://www.braintrustdata.com/app/token. This method is called automatically by `init()`.
69
69
  *
70
70
  * @param options Options for configuring login().
71
- * @param options.apiUrl The URL of the BrainTrust API. Defaults to https://www.braintrustdata.com.
71
+ * @param options.apiUrl The URL of the Braintrust API. Defaults to https://www.braintrustdata.com.
72
72
  * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. If no API
73
73
  * key is specified, will prompt the user to login.
74
74
  * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
@@ -87,7 +87,7 @@ export declare function login(options?: {
87
87
  *
88
88
  * @param event The event to log.
89
89
  * @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
90
- * BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
90
+ * Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should
91
91
  * not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
92
92
  * `input` should be identical.
93
93
  * @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
@@ -95,7 +95,7 @@ export declare function login(options?: {
95
95
  * the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
96
96
  * be multiple valid queries that answer a single question.
97
97
  * @param event.expected The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to
98
- * determine if your `output` value is correct or not. BrainTrust currently does not compare `output` to `expected` for
98
+ * determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for
99
99
  * you, since there are so many different ways to do that correctly. Instead, these values are just used to help you
100
100
  * navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or
101
101
  * fine-tune your models.
@@ -108,7 +108,7 @@ export declare function login(options?: {
108
108
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
109
109
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
110
110
  * JSON-serializable type, but its keys must be strings.
111
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
111
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
112
112
  * @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
113
113
  * @returns The `id` of the logged event.
114
114
  */
@@ -158,7 +158,7 @@ export declare class Experiment {
158
158
  *
159
159
  * @param event The event to log.
160
160
  * @param event.input The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on,
161
- * BrainTrust will use the `input` to know whether two test cases are the same between experiments, so they should
161
+ * Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should
162
162
  * not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the
163
163
  * `input` should be identical.
164
164
  * @param event.output The output of your application, including post-processing (an arbitrary, JSON serializable object),
@@ -166,7 +166,7 @@ export declare class Experiment {
166
166
  * the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may
167
167
  * be multiple valid queries that answer a single question.
168
168
  * @param event.expected The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to
169
- * determine if your `output` value is correct or not. BrainTrust currently does not compare `output` to `expected` for
169
+ * determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for
170
170
  * you, since there are so many different ways to do that correctly. Instead, these values are just used to help you
171
171
  * navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or
172
172
  * fine-tune your models.
@@ -179,13 +179,11 @@ export declare class Experiment {
179
179
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
180
180
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
181
181
  * JSON-serializable type, but its keys must be strings.
182
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
183
- * @param event.allowLarge: (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
184
- * upload pipeline or be truncated.
182
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
185
183
  * @param event.inputs (Deprecated) the same as `input` (will be removed in a future version)
186
184
  * @returns The `id` of the logged event.
187
185
  */
188
- log({ input, output, expected, scores, metadata, id, datasetRecordId, allowLarge, inputs, }: {
186
+ log({ input, output, expected, scores, metadata, id, datasetRecordId, inputs, }: {
189
187
  readonly input?: unknown;
190
188
  readonly output: unknown;
191
189
  readonly expected?: unknown;
@@ -193,7 +191,6 @@ export declare class Experiment {
193
191
  readonly metadata?: Record<string, unknown>;
194
192
  readonly id?: string;
195
193
  readonly datasetRecordId?: string;
196
- readonly allowLarge?: boolean;
197
194
  readonly inputs?: unknown;
198
195
  }): string;
199
196
  /**
@@ -236,17 +233,14 @@ export declare class Dataset {
236
233
  * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
237
234
  * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
238
235
  * JSON-serializable type, but its keys must be strings.
239
- * @param event.id (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
240
- * @param event.allowLarge (Optional) Allow large objects (greater than 64KB) to be uploaded. Proceed with caution, as they may cause issues with the
241
- * upload pipeline or be truncated.
236
+ * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
242
237
  * @returns The `id` of the logged record.
243
238
  */
244
- insert({ input, output, metadata, id, allowLarge, }: {
239
+ insert({ input, output, metadata, id, }: {
245
240
  readonly input?: unknown;
246
241
  readonly output: unknown;
247
242
  readonly metadata?: Record<string, unknown>;
248
243
  readonly id?: string;
249
- readonly allowLarge?: boolean;
250
244
  }): string;
251
245
  delete(id: string): string;
252
246
  /**
@@ -312,8 +306,8 @@ export interface ScoreSummary {
312
306
  * Summary of an experiment's scores and metadata.
313
307
  * @property projectName Name of the project that the experiment belongs to.
314
308
  * @property experimentName Name of the experiment.
315
- * @property projectUrl URL to the project's page in the BrainTrust app.
316
- * @property experimentUrl URL to the experiment's page in the BrainTrust app.
309
+ * @property projectUrl URL to the project's page in the Braintrust app.
310
+ * @property experimentUrl URL to the experiment's page in the Braintrust app.
317
311
  * @property comparisonExperimentName The experiment scores are baselined against.
318
312
  * @property scores Summary of the experiment's scores.
319
313
  */
@@ -340,8 +334,8 @@ export interface DataSummary {
340
334
  *
341
335
  * @property projectName Name of the project that the dataset belongs to.
342
336
  * @property datasetName Name of the dataset.
343
- * @property projectUrl URL to the project's page in the BrainTrust app.
344
- * @property datasetUrl URL to the experiment's page in the BrainTrust app.
337
+ * @property projectUrl URL to the project's page in the Braintrust app.
338
+ * @property datasetUrl URL to the experiment's page in the Braintrust app.
345
339
  * @property dataSummary Summary of the dataset's data.
346
340
  */
347
341
  export interface DatasetSummary {
@@ -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/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/node_modules/openai/dist/configuration.d.ts","../../autoevals/node_modules/axios/index.d.ts","../../autoevals/node_modules/openai/dist/base.d.ts","../../autoevals/node_modules/openai/dist/api.d.ts","../../autoevals/node_modules/openai/dist/index.d.ts","../../autoevals/jsdist/oai.d.ts","../../autoevals/jsdist/templates.d.ts","../../autoevals/jsdist/llm.d.ts","../../autoevals/jsdist/string.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/node.ts","../src/cli.ts","../src/index.ts","../node_modules/openai/dist/index.d.ts","../src/oai.ts","../../../node_modules/@types/segment-analytics/index.d.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":"33afbdba3f5e7dfbb721775f324d64675074704c2d1a83ada260600b4063295a","signature":"d7df1bf79ee700e9017d4e2d4f431aa6f5b052c5b1876dcf455d43e2abc0891f"},{"version":"3aa59e997945d7173a994c1fd407a784bf6989d7f5c4e03c26571072773830fb","signature":"d5af8055c3a5f3913dbc37c8d5226b14e1c59843c38470ec86ceb5be4f3c1270"},"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","3ac893bb831cf929af812392e1568467766536d79abd4e29d6ae653695c18cdd","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","98cd87f84eb134151b0b760d49e09f0ae3ca01d9f86e6b64f6bb933cc4a40b29","db750d991d0c6e773c114cfe170c5ee4fc1bea43364e0efa5cecb03d198be80a","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14","a26f77c3dade8bbe508a51031e61e7491f9ab2c18c0335a5734d6f7dfdc26c1e","e725e4e013e946cccba3ec0fb642af7b5b9bd7872357b435ffe551dd80d552bc","ff42d458265136652db682ce4526b1e6f4944c5576b74ba85e815a91f5b27ed3","209dc81a1af545c80808f08403929d4a28791b0c059f3a4dd5b0724bf142fe03","481a8d651aaa424759d97f855331a662f2ce35e7cdc27104d6f2ba0e2626a66e",{"version":"0dde1ac5920174af2f69518b6f6024c197e2502f9599b70439c6526aff05777b","signature":"10c534cce6e500ef3c51a17ce91acc66165556bd048481062ea74d14eee57e9e","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":"72b1a4a18fcd279fb98314251e5703c88059da79e90809d6ff8e3e18369b6b38","signature":"1518a19a9cb02ce4439e1bd5d07e5dd4f496d4598142ff82264b40785ba28789"},{"version":"bf03c79a2681219865f7350b4117b7d5bd60e2362061c0420f46c38b8e2bab45","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"6429ebdfc3defffc0b9714ddb7d0facb35000bacb36f7a017e39201c35361389","signature":"1a602ba41329f6a79d2534ac8ad4bec506f4daa0dcb7a2ab1d79c8226ca79c43"},"c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14",{"version":"e9ffdbc59d4b3dbbfce1f2a1dbb757d88c54f77af3de24be8839aa3f03492b44","signature":"4ce870ab24a6630dd481ccb3c2b5929e9e5d9090ff003514f1dd1613e6053ee8"},{"version":"24dad5a88886a80321c27482f3a1faf91b8db7c9688e592eaa558203a14e4a19","affectsGlobalScope":true}],"root":[[46,49],129,131,132,144,[170,173],175],"options":{"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[98],[98,133,140,141,142],[98,133,138,139,140],[98,138],[98,133],[98,134,135,136],[98,134,135],[98,134,137],[98,110,111],[98,111,112,113,114],[98,105,111,113],[98,110,112],[69,98,105],[69,98,105,106],[98,106,107,108,109],[98,106,108],[98,107],[86,98,105,115,116,117,120],[98,116,117,119],[68,98,105,115,116,117,118],[98,117],[98,115,116],[98,105,115],[68,98,105],[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[64,68,71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,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],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[55,86,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[98,125],[98,122,123,124],[98,147,149],[98,149],[98,147],[98,145,149,169],[98,145,149],[98,169],[98,149,169],[57,98,105,146,148],[98,105,145,149],[98,147,163,164,165,166],[98,151,162,167,168],[98,150],[98,151,162,167],[98,149,150,152,153,154,155,156,157,158,159,160,161],[47,98],[77,78,98],[45,47,50,51,69,77,78,98,121,125,126,127,129,132,144,171],[47,98,129,143],[47,98,144,171],[44,98],[78,98,131],[98,130],[44,45,46,98],[44,46,71,73,98,170],[98,128],[47,129,143],[169],[47,144],[44],[138]],"referencedMap":[[176,1],[133,1],[143,2],[141,3],[139,4],[142,5],[140,1],[135,1],[137,6],[136,7],[134,1],[138,8],[112,9],[115,10],[114,11],[113,12],[111,13],[107,14],[110,15],[109,16],[108,17],[106,13],[121,18],[120,19],[119,20],[118,21],[117,22],[116,23],[126,1],[128,24],[130,13],[52,25],[53,25],[55,26],[56,27],[57,28],[58,29],[59,30],[60,31],[61,32],[62,33],[63,34],[64,35],[65,35],[67,36],[66,37],[68,36],[69,38],[70,39],[54,40],[104,1],[71,41],[72,42],[73,43],[105,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[83,54],[84,54],[85,55],[86,56],[88,57],[87,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[98,68],[99,69],[100,70],[101,71],[102,72],[103,73],[127,1],[45,1],[44,1],[51,1],[50,1],[122,74],[123,74],[125,75],[124,74],[174,8],[153,1],[163,76],[147,77],[164,76],[165,78],[166,78],[152,1],[154,77],[155,77],[156,79],[157,80],[158,81],[159,81],[150,82],[160,77],[145,77],[161,81],[148,78],[149,83],[146,84],[167,85],[169,86],[151,87],[168,88],[162,89],[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],[48,90],[49,91],[172,92],[144,93],[170,81],[173,94],[46,95],[132,96],[131,97],[47,98],[171,99],[175,4],[129,100]],"exportedModulesMap":[[176,1],[133,1],[143,2],[141,3],[139,4],[142,5],[140,1],[135,1],[137,6],[136,7],[134,1],[138,8],[112,9],[115,10],[114,11],[113,12],[111,13],[107,14],[110,15],[109,16],[108,17],[106,13],[121,18],[120,19],[119,20],[118,21],[117,22],[116,23],[126,1],[128,24],[130,13],[52,25],[53,25],[55,26],[56,27],[57,28],[58,29],[59,30],[60,31],[61,32],[62,33],[63,34],[64,35],[65,35],[67,36],[66,37],[68,36],[69,38],[70,39],[54,40],[104,1],[71,41],[72,42],[73,43],[105,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[83,54],[84,54],[85,55],[86,56],[88,57],[87,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[98,68],[99,69],[100,70],[101,71],[102,72],[103,73],[127,1],[45,1],[44,1],[51,1],[50,1],[122,74],[123,74],[125,75],[124,74],[174,8],[153,1],[163,76],[147,77],[164,76],[165,78],[166,78],[152,1],[154,77],[155,77],[156,79],[157,80],[158,81],[159,81],[150,82],[160,77],[145,77],[161,81],[148,78],[149,83],[146,84],[167,85],[169,86],[151,87],[168,88],[162,89],[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],[48,90],[144,101],[170,102],[173,103],[46,104],[175,105]],"semanticDiagnosticsPerFile":[176,133,143,141,139,142,140,135,137,136,134,138,112,115,114,113,111,107,110,109,108,106,121,120,119,118,117,116,126,128,130,52,53,55,56,57,58,59,60,61,62,63,64,65,67,66,68,69,70,54,104,71,72,73,105,74,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,127,45,44,51,50,122,123,125,124,174,153,163,147,164,165,166,152,154,155,156,157,158,159,150,160,145,161,148,149,146,167,169,151,168,162,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,48,49,172,144,170,173,46,132,131,47,171,175,129]},"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/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/node_modules/openai/dist/configuration.d.ts","../../autoevals/node_modules/axios/index.d.ts","../../autoevals/node_modules/openai/dist/base.d.ts","../../autoevals/node_modules/openai/dist/api.d.ts","../../autoevals/node_modules/openai/dist/index.d.ts","../../autoevals/jsdist/oai.d.ts","../../autoevals/jsdist/templates.d.ts","../../autoevals/jsdist/llm.d.ts","../../autoevals/jsdist/string.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/node.ts","../src/cli.ts","../src/index.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":"33afbdba3f5e7dfbb721775f324d64675074704c2d1a83ada260600b4063295a","signature":"d7df1bf79ee700e9017d4e2d4f431aa6f5b052c5b1876dcf455d43e2abc0891f"},{"version":"bb259855bb7f110010b8d78482ee980d431f6f9dba4e9706b41d3c43300305c0","signature":"28d3cf0aebcea1250004af755a26b6cc5956aee1b5bd1c924e3bc651e1fa488b"},"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","3ac893bb831cf929af812392e1568467766536d79abd4e29d6ae653695c18cdd","2808645b990069e5f8b5ff14c9f1e6077eb642583c3f7854012d60757f23c70e","98cd87f84eb134151b0b760d49e09f0ae3ca01d9f86e6b64f6bb933cc4a40b29","db750d991d0c6e773c114cfe170c5ee4fc1bea43364e0efa5cecb03d198be80a","c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14","a26f77c3dade8bbe508a51031e61e7491f9ab2c18c0335a5734d6f7dfdc26c1e","e725e4e013e946cccba3ec0fb642af7b5b9bd7872357b435ffe551dd80d552bc","ff42d458265136652db682ce4526b1e6f4944c5576b74ba85e815a91f5b27ed3","209dc81a1af545c80808f08403929d4a28791b0c059f3a4dd5b0724bf142fe03","481a8d651aaa424759d97f855331a662f2ce35e7cdc27104d6f2ba0e2626a66e",{"version":"0dde1ac5920174af2f69518b6f6024c197e2502f9599b70439c6526aff05777b","signature":"10c534cce6e500ef3c51a17ce91acc66165556bd048481062ea74d14eee57e9e","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":"72b1a4a18fcd279fb98314251e5703c88059da79e90809d6ff8e3e18369b6b38","signature":"1518a19a9cb02ce4439e1bd5d07e5dd4f496d4598142ff82264b40785ba28789"},{"version":"5fdee05eac1a871159cf92ade3ffc4ce0ae0b5f9f9899ba19fb9b51d31692fd6","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},{"version":"334d16141236880327094c2a42341edbe3dfa6f382e3180dd998eb1c133a0e62","signature":"6c85d798db2f35d3c202acc3ebfc4b8ca84a3a1b460ca6a0616660453995496c"},"c5dde9dd9e1bf7168d8a2480a31f9799158f84e3aa1bb061fd09a0cf5a1fcb14",{"version":"e9ffdbc59d4b3dbbfce1f2a1dbb757d88c54f77af3de24be8839aa3f03492b44","signature":"4ce870ab24a6630dd481ccb3c2b5929e9e5d9090ff003514f1dd1613e6053ee8"}],"root":[[46,49],129,131,132,144,[170,173],175],"options":{"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":2},"fileIdsList":[[98],[98,133,140,141,142],[98,133,138,139,140],[98,138],[98,133],[98,134,135,136],[98,134,135],[98,134,137],[98,110,111],[98,111,112,113,114],[98,105,111,113],[98,110,112],[69,98,105],[69,98,105,106],[98,106,107,108,109],[98,106,108],[98,107],[86,98,105,115,116,117,120],[98,116,117,119],[68,98,105,115,116,117,118],[98,117],[98,115,116],[98,105,115],[68,98,105],[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[64,68,71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,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],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[55,86,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[98,125],[98,122,123,124],[98,147,149],[98,149],[98,147],[98,145,149,169],[98,145,149],[98,169],[98,149,169],[57,98,105,146,148],[98,105,145,149],[98,147,163,164,165,166],[98,151,162,167,168],[98,150],[98,151,162,167],[98,149,150,152,153,154,155,156,157,158,159,160,161],[47,98],[77,78,98],[45,47,50,51,69,77,78,98,121,125,126,127,129,132,144,171],[47,98,129,143],[47,98,144,171],[44,98],[78,98,131],[98,130],[44,45,46,98],[44,46,71,73,98,170],[98,128],[47,129,143],[169],[47,144],[44],[138]],"referencedMap":[[133,1],[143,2],[141,3],[139,4],[142,5],[140,1],[135,1],[137,6],[136,7],[134,1],[138,8],[112,9],[115,10],[114,11],[113,12],[111,13],[107,14],[110,15],[109,16],[108,17],[106,13],[121,18],[120,19],[119,20],[118,21],[117,22],[116,23],[126,1],[128,24],[130,13],[52,25],[53,25],[55,26],[56,27],[57,28],[58,29],[59,30],[60,31],[61,32],[62,33],[63,34],[64,35],[65,35],[67,36],[66,37],[68,36],[69,38],[70,39],[54,40],[104,1],[71,41],[72,42],[73,43],[105,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[83,54],[84,54],[85,55],[86,56],[88,57],[87,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[98,68],[99,69],[100,70],[101,71],[102,72],[103,73],[127,1],[45,1],[44,1],[51,1],[50,1],[122,74],[123,74],[125,75],[124,74],[174,8],[153,1],[163,76],[147,77],[164,76],[165,78],[166,78],[152,1],[154,77],[155,77],[156,79],[157,80],[158,81],[159,81],[150,82],[160,77],[145,77],[161,81],[148,78],[149,83],[146,84],[167,85],[169,86],[151,87],[168,88],[162,89],[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],[48,90],[49,91],[172,92],[144,93],[170,81],[173,94],[46,95],[132,96],[131,97],[47,98],[171,99],[175,4],[129,100]],"exportedModulesMap":[[133,1],[143,2],[141,3],[139,4],[142,5],[140,1],[135,1],[137,6],[136,7],[134,1],[138,8],[112,9],[115,10],[114,11],[113,12],[111,13],[107,14],[110,15],[109,16],[108,17],[106,13],[121,18],[120,19],[119,20],[118,21],[117,22],[116,23],[126,1],[128,24],[130,13],[52,25],[53,25],[55,26],[56,27],[57,28],[58,29],[59,30],[60,31],[61,32],[62,33],[63,34],[64,35],[65,35],[67,36],[66,37],[68,36],[69,38],[70,39],[54,40],[104,1],[71,41],[72,42],[73,43],[105,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[83,54],[84,54],[85,55],[86,56],[88,57],[87,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[97,67],[98,68],[99,69],[100,70],[101,71],[102,72],[103,73],[127,1],[45,1],[44,1],[51,1],[50,1],[122,74],[123,74],[125,75],[124,74],[174,8],[153,1],[163,76],[147,77],[164,76],[165,78],[166,78],[152,1],[154,77],[155,77],[156,79],[157,80],[158,81],[159,81],[150,82],[160,77],[145,77],[161,81],[148,78],[149,83],[146,84],[167,85],[169,86],[151,87],[168,88],[162,89],[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],[48,90],[144,101],[170,102],[173,103],[46,104],[175,105]],"semanticDiagnosticsPerFile":[133,143,141,139,142,140,135,137,136,134,138,112,115,114,113,111,107,110,109,108,106,121,120,119,118,117,116,126,128,130,52,53,55,56,57,58,59,60,61,62,63,64,65,67,66,68,69,70,54,104,71,72,73,105,74,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,127,45,44,51,50,122,123,125,124,174,153,163,147,164,165,166,152,154,155,156,157,158,159,150,160,145,161,148,149,146,167,169,151,168,162,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,48,49,172,144,170,173,46,132,131,47,171,175,129]},"version":"5.1.6"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "braintrust",
3
- "version": "0.0.41",
4
- "description": "SDK for integrating BrainTrust",
3
+ "version": "0.0.43",
4
+ "description": "SDK for integrating Braintrust",
5
5
  "main": "./dist/index.js",
6
6
  "browser": {
7
7
  "./dist/index.js": "./dist/browser.js",