PageSourceSearch

http://parisobs.com/_next/static/chunks/8503-42495efa32e9897a.js

js parisobs.com collected 2026-10-04 01:42:19 UTC 54,011 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8503],{4672:(e,a,t)=>{t.d(a,{Bv:()=>d,Lb:()=>n,Px:()=>p,UL:()=>u,Zh:()=>i,aB:()=>m,al:()=>c,ou:()=>o,vz:()=>s});var l=t(45596);let r=new Map([["ragas","Ragas"]]),n=e=>null===e.projectId?e.partner?"".concat((e=>{var a;return null!=(a=r.get(e))?a:"Unknown"})(e.partner)," maintained"):"Langfuse maintained":"User maintained",s=e=>e===l.EvalTargetObject.TRACE||e===l.EvalTargetObject.DATASET,i=e=>e===l.EvalTargetObject.TRACE,o=e=>e===l.EvalTargetObject.EVENT,c=e=>e===l.EvalTargetObject.DATASET,d=e=>e===l.EvalTargetObject.EXPERIMENT,u=e=>e===l.EvalTargetObject.TRACE||e===l.EvalTargetObject.EVENT,m=e=>"trace"===e||"dataset_item"===e,p=e=>e===l.EvalTargetObject.TRACE?l.EvalTargetObject.EVENT:e===l.EvalTargetObject.DATASET?l.EvalTargetObject.EXPERIMENT:e},8684:(e,a,t)=>{t.d(a,{$i:()=>o,DH:()=>d,Nk:()=>n,RD:()=>r,hk:()=>s,uv:()=>c});var l=t(45596);let r=[{id:"observation",display:"Observation",availableColumns:l.observationEvalVariableColumns.map(e=>({id:e.id,name:e.name,...e.type?{type:e.type}:{},internal:e.internal}))}],n=new Set(["release","traceName","userId","sessionId","tags"]),s=["generation","output","response","answer","completion"],i=[l.LangfuseInternalTraceEnvironment.LLMJudge,"langfuse-prompt-experiment","langfuse-evaluation","sdk-experiment"],o=[{column:"environment",operator:"none of",value:[...i],type:"stringOptions"}],c=[{column:"type",operator:"any of",value:["GENERATION"],type:"stringOptions"},{column:"environment",operator:"none of",value:[...i],type:"stringOptions"}],d=[{column:"parentObservationId",operator:"is null",value:"",type:"null"}]},26159:(e,a,t)=>{t.d(a,{A:()=>s});var l=t(73154),r=t(49757),n=t(81509);let s=e=>{let{children:a,headerProps:t,scrollable:s=!1,withPadding:i=!1}=e;return(0,l.jsxs)("div",{className:(0,n.cn)("flex flex-col",s?"relative flex min-h-screen-with-banner flex-1":"h-full"),id:"page","data-sentry-component":"Page","data-sentry-source-file":"page.tsx",children:[(0,l.jsx)("header",{className:"sticky top-0 z-50 w-full",children:(0,l.jsx)(r.A,{...t,container:!1,className:"top-0","data-sentry-element":"PageHeader","data-sentry-source-file":"page.tsx"})}),(0,l.jsx)("main",{className:(0,n.cn)("flex flex-1 flex-col",s?"relative flex min-h-screen-with-banner":"h-full overflow-hidden",i&&"p-3"),children:a})]})}},47282:(e,a,t)=>{t.d(a,{o:()=>l});function l(){return!1}},61871:(e,a,t)=>{t.d(a,{W:()=>ed});
1var l=t(73154),r=t(17020),n=t(79071),s=t(90270),i=t(86843),o=t(10873),c=t(33100),d=t(90859),u=t(67716),m=t(45596),p=t(41454),v=t(96810),x=t(93367),g=t(37352),h=t(39156),f=t(71452),j=t(25277),b=t(92125),y=t(80740),N=t(1597),w=t(8684);let E=p.z.object({scoreName:p.z.string(),target:p.z.string(),filter:p.z.array(m.singleFilter).nullable(),mapping:p.z.array(m.wipVariableMapping),sampling:p.z.coerce.number().gt(0).lte(1),delay:p.z.coerce.number().min(0).optional().default(10),timeScope:m.TimeScopeSchema,runOnLive:p.z.boolean().optional().default(!0)}),T=e=>{switch(e){case"trace":return"traces";case"event":return"observations";case"dataset":return"dataset run items";case"experiment":return"experiments";default:return e}};var I=t(4672),C=t(67005);let O=e=>{let{projectId:a,item:t,filter:r}=e,n=x.FH.evals.globalJobConfigs.useQuery({projectId:a}),{isLoading:s,totalCount:i,isTraceTarget:o}=function(e){var a,t;let{projectId:l,item:r,filter:n,enabled:s=!0}=e,i=(0,I.Zh)(r),o={projectId:l,filter:n},c={...o,searchQuery:null,searchType:["id"],orderBy:null,page:0,limit:1},d=x.FH.traces.countAll.useQuery(c,{enabled:s&&i}),u=x.FH.datasets.countAllDatasetItems.useQuery(o,{enabled:s&&!i});return{isLoading:i?d.isLoading:u.isLoading,totalCount:i?null==(a=d.data)?void 0:a.totalCount:null==(t=u.data)?void 0:t.totalCount,isTraceTarget:i}}({projectId:a,item:t,filter:r,enabled:!0});return(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("span",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:["(",s?(0,l.jsx)("span",{className:"inline-block font-mono",children:"..."}):(0,C.zo)(!n.data||i&&i<n.data?i:n.data),o?" traces":" dataset run items",")"]})})};var S=t(8277),V=t(80263);function k(e){let{targetObject:a,evalCapabilities:t}=e,r=((e,a)=>{let t={visible:!1,title:"",description:""};return(0,I.ou)(e)?a.isNewCompatible?t:{visible:!0,title:"Please verify your SDK version",description:(0,l.jsxs)(l.Fragment,{children:["This evaluator targets observations, which require JS SDK v4+ or Python SDK v3+. You can still configure this evaluator now—it will start running once you upgrade."," ",(0,l.jsx)("a",{href:"https://langfuse.com/docs/tracing/overview#langfuse-tracing-vs-opentelemetry",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-dark-blue hover:opacity-80",children:"Learn more"}),"."]})}:(0,I.Bv)(e)?a.isNewCompatible?t:{visible:!0,title:"Please verify you are using the Experiment Runner SDK",description:(0,l.jsxs)(l.Fragment,{children:["The Experiment Runner SDK requires JS SDK v4.4+ or Python SDK v3.9+. You can still configure this evaluator now—it will start running once you upgrade."," ",(0,l.jsx)("a",{href:"https://langfuse.com/docs/evaluation/experiments/experiments-via-sdk#experiment-runner-sdk",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-dark-blue hover:opacity-80",children:"Learn more about the Experiment Runner SDK."}),"."]})}:(0,I.al)(e)?{visible:!0,title:"Legacy low-level SDK methods",description:(0,l.jsxs)(l.Fragment,{children:["This evaluator targets traces from legacy low-level SDK methods for dataset runs that manually linked dataset items to traces. Consider upgrading to the Experiment Runner SDK for improved performance and features."," ",(0,l.jsx)("a",{href:"https://langfuse.com/docs/evaluation/experiments/experiments-via-sdk#experiment-runner-sdk",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-dark-blue hover:opacity-80",children:"Learn more"}),"."]})}:(0,I.Zh)(e)?{visible:!0,title:"Consider upgrading to observation evaluators",description:(0,l.jsxs)(l.Fragment,{children:["Observation evaluators provide more granular control and an easier workflow. We strongly recommend upgrading to observation evaluators."," ",(0,l.jsx)("a",{href:"https://langfuse.com/faq/all/llm-as-a-judge-migration",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-dark-blue hover:opacity-80",children:"Learn more"}),"."]})}:t})(a,t);return r.visible?(0,l.jsxs)(n.Fc,{variant:"default",className:"mt-2 max-w-4xl border-light-blue bg-light-blue","data-sentry-element":"Alert","data-sentry-component":"EvalVersionCallout","data-sentry-source-file":"eval-version-callout.tsx",children:[(0,l.jsx)(V.A,{className:"h-4 w-4 text-dark-blue dark:text-dark-blue","data-sentry-element":"Info","data-sentry-source-file":"eval-version-callout.tsx"}),(0,l.jsx)(n.TN,{"data-sentry-element":"AlertDescription","data-sentry-source-file":"eval-version-callout.tsx",children:(0,l.jsx)("div",{className:"flex flex-col gap-2",children:(0,l.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,l.jsx)("span",{className:"font-medium text-foreground",children:r.title}),(0,l.jsx)("span",{className:"text-sm text-foreground",children:r.description})]})})})]}):null}var A=t(84750),R=t(14183),F=t(53524),L=t(49101),M=t(78446),D=t(55210),z=t(77585),P=t(13640),B=t(93323),_=t(56664),J=t
1(35157),H=t(81509),W=t(70883);function K(e){return(0,l.jsxs)("div",{className:"flex w-1/2 items-center","data-sentry-component":"VariableMappingDescription","data-sentry-source-file":"eval-form-descriptions.tsx",children:[(0,l.jsx)(W.J,{className:"muted-foreground text-sm font-light","data-sentry-element":"Label","data-sentry-source-file":"eval-form-descriptions.tsx",children:e.title}),(0,l.jsx)(J.A,{description:e.description,href:e.href,"data-sentry-element":"DocPopup","data-sentry-source-file":"eval-form-descriptions.tsx"})]})}var q=t(57404),U=t(47415),Z=t(68389),X=t.n(Z);let Q=["text-primary-accent","text-dark-yellow","text-dark-blue","text-dark-green","text-dark-red"],G=e=>Q[e%Q.length],$=e=>{let{value:a,index:t}=e,r=G(t),n=(()=>{if(null==a)return"";if("string"==typeof a){if(a.startsWith('"')&&a.endsWith('"')&&a.length>=2)try{let e=JSON.parse(a);if("string"==typeof e)return e}catch(e){}return""===a?"":a}return"object"==typeof a?JSON.stringify(a,null,2):String(a)})(),s="string"==typeof n&&n.length>1e3;return(0,l.jsx)("span",{className:(0,H.cn)(r,"font-mono"),"data-sentry-component":"ColoredVariable","data-sentry-source-file":"evaluation-prompt-preview.tsx",children:s?n.substring(0,1e3)+"...":n})},Y=e=>{let{fragments:a,className:t}=e;return(0,l.jsx)("div",{className:(0,H.cn)("flex flex-col",t),"data-sentry-component":"ColoredPromptView","data-sentry-source-file":"evaluation-prompt-preview.tsx",children:(0,l.jsx)("div",{className:"relative flex flex-col gap-2",children:(0,l.jsx)("pre",{className:"flex-1 whitespace-pre-wrap break-words p-3 font-mono text-xs",children:a.map((e,a)=>(0,l.jsx)(v.Fragment,{children:"text"===e.type?e.content:(0,l.jsx)($,{value:e.value||"",index:e.colorIndex||0})},a))})})})},ee=e=>{let{previewData:a,projectId:t,evalTemplate:r,variableMapping:n,isLoading:s,showControls:i=!0,className:o,controlButtons:c}=e,{extractedVariables:d,isExtracting:u}=function(e){let{variables:a,variableMapping:t,previewData:l,isLoading:r}=e,n=x.FH.useUtils(),[s,i]=(0,v.useState)([]),[o,c]=(0,v.useState)(!1),[d,u]=(0,v.useState)(null),p=(0,v.useRef)(""),g=a.length>0?JSON.stringify(t):"",h=l.type===m.EvalTargetObject.EVENT?l.observationId:l.traceId,f=(0,v.useRef)(h);return(0,v.useEffect)(()=>{d&&(0,U.t)(d)},[d]),(0,v.useEffect)(()=>{if(r)return void i([]);if(!a.length)return void i(e=>0===e.length?e:[]);let e=p.current!==g,s=f.current!==h;s&&(f.current=h),(e||s)&&(s&&i(a.map(e=>({variable:e,value:"n/a"}))),c(!0),u(null),Promise.all(a.map(async e=>{var a,r,s;let i,o=t.find(a=>a.templateVariable===e);if(!o||!o.selectedColumnId||!o.langfuseObject&&"event"!==l.type)return{variable:e,value:"n/a"};if("event"===l.type)i=l.data;else if("trace"===o.langfuseObject)i=l.data;else if("dataset_item"!==o.langfuseObject){let e=(r=o.objectName,s=l.data.observations,r&&s&&s.find(e=>e.name===r)||null);if(null==e?void 0:e.id)try{i=await n.observations.byId.fetch({observationId:e.id,startTime:e.startTime,traceId:l.data.id,projectId:l.data.projectId})}catch(e){console.error("Error fetching observation data:",e)}}if(!i)return{variable:e,value:"n/a"};let{value:c,error:d}=(0,m.extractValueFromObject)(i,o.selectedColumnId,null!=(a=o.jsonSelector)?a:void 0);return{variable:e,value:c,error:d}})).then(e=>{let a=e.find(e=>e.error instanceof Error);a&&u(a.error),i(e),p.current=g}).catch(e=>{console.error("Error extracting variables:",e),u(e),i(a.map(e=>({variable:e,value:""})))}).finally(()=>{c(!1)}))},[a,t,g,r,h,n.observations.byId,l]),{extractedVariables:s,isExtracting:o}}({variables:(0,v.useMemo)(()=>n.map(e=>{let{templateVariable:a}=e;return a}),[n]),variableMapping:n,previewData:a,isLoading:s});if(u)return(0,l.jsx)(A.E,{className:"h-[200px] w-full"});let p=(0,l.jsx)("div",{className:"max-h-full min-h-0 flex-1 overflow-y-auto rounded-md border",children:s?(0,l.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,l.jsx)("p",{children:"Loading variables..."})}):(0,l.jsx)(Y,{fragments:(()=>{let e;if(!r.prompt)return[{type:"text",content:""}];let a=[],t=0,l=/{{([^{}]+)}}/g,n=0,s=r.prompt;
1for(;null!==(e=l.exec(s));){var i;e.index>t&&a.push({type:"text",content:s.substring(t,e.index)});let l=e[1],r=(null==(i=d.find(e=>e.variable===l))?void 0:i.value)||"";a.push({type:"variable",name:l,value:r,colorIndex:n++}),t=e.index+e[0].length}return t<s.length&&a.push({type:"text",content:s.substring(t)}),a})()})});if(!i)return p;let g=(0,I.Zh)(a.type)?{href:"/project/".concat(t,"/traces/").concat(a.traceId),badgeType:"TRACE"}:a.type===m.EvalTargetObject.EVENT?{href:"/project/".concat(t,"/traces/").concat(a.traceId,"?observation=").concat(a.observationId),badgeType:"OBSERVATION"}:void 0;return(0,l.jsxs)("div",{className:(0,H.cn)("flex flex-col",o),"data-sentry-component":"EvaluationPromptPreview","data-sentry-source-file":"evaluation-prompt-preview.tsx",children:[(0,l.jsxs)("span",{className:"mb-1 flex flex-row items-center justify-between py-0 text-sm font-medium capitalize",children:[(0,l.jsxs)("div",{className:"flex flex-row items-center gap-2",children:["Evaluation Prompt Preview",g&&(0,l.jsx)(X(),{href:g.href,className:"hover:cursor-pointer",target:"_blank",rel:"noopener noreferrer",children:(0,l.jsx)(q.L,{type:g.badgeType,showLabel:!0})})]}),c]}),p]})};var ea=t(82473),et=t(55803);let el=e=>{let{projectId:a,availableVariables:t,evalTemplate:n,form:i,oldConfigId:c,disabled:d=!1,shouldWrapVariables:u=!1,hideAdvancedSettings:p=!1}=e,[g,f]=(0,v.useState)(!1),{fields:b}=(0,r.jz)({control:i.control,name:"mapping"}),{namesByObject:y,isLoading:w,previewData:E}=function(e,a){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],l=(0,h.useRouter)(),{previewData:r,isLoading:n}=function(e,a,t,l,r){var n,s,i,o,c,d,u,p,v,g,h,f,j,b,y,N,w,E,T;let{isBetaEnabled:C}=(0,et.I)(),O=a.watch("target"),S=(0,I.ou)(O),V=O===m.EvalTargetObject.TRACE,k=x.FH.traces.all.useQuery({projectId:e,filter:a.watch("filter"),searchQuery:"",searchType:[],limit:1,page:0,orderBy:{column:"timestamp",order:"DESC"}},{enabled:t&&!l&&V}),A=null!=l?l:null==(s=k.data)||null==(n=s.traces[0])?void 0:n.id,R=x.FH.traces.byIdWithObservationsAndScores.useQuery({projectId:e,traceId:A},{enabled:t&&!!A&&V}),F=x.FH.generations.all.useQuery({projectId:e,filter:null!=(w=(T=a.watch("filter"))?T.map(e=>"tags"===e.column?{...e,column:"traceTags"}:e):[])?w:[],searchQuery:"",searchType:[],limit:1,page:0,orderBy:{column:"startTime",order:"DESC"}},{enabled:t&&!r&&S&&!C}),L=x.FH.events.all.useQuery({projectId:e,filter:null!=(E=a.watch("filter"))?E:[],searchQuery:"",searchType:[],limit:1,page:0,orderBy:{column:"startTime",order:"DESC"}},{enabled:t&&!r&&S&&C}),M=r?l:C?null==(o=L.data)||null==(i=o.observations[0])?void 0:i.traceId:null==(d=F.data)||null==(c=d.generations[0])?void 0:c.traceId,D=r||(C?null==(p=L.data)||null==(u=p.observations[0])?void 0:u.id:null==(g=F.data)||null==(v=g.generations[0])?void 0:v.id),z=null==(f=L.data)||null==(h=f.observations[0])?void 0:h.startTime,P=null==(b=L.data)||null==(j=b.observations[0])?void 0:j.endTime,B=x.FH.observations.byId.useQuery({projectId:e,traceId:M,observationId:D,startTime:null},{enabled:t&&!!M&&!!D&&S&&!C}),_=x.FH.events.batchIO.useQuery({projectId:e,observations:[{id:D,traceId:M}],minStartTime:z,maxStartTime:P,truncated:!1},{enabled:t&&!!M&&!!D&&!!z&&!!P&&S&&C});return{previewData:S?(C?null==(y=_.data)?void 0:y[0]:B.data)&&M&&D?{type:m.EvalTargetObject.EVENT,traceId:M,observationId:D,data:C?null==(N=_.data)?void 0:N[0]:B.data}:null:R.data&&A?{type:m.EvalTargetObject.TRACE,traceId:A,data:R.data}:null,isLoading:k.isLoading||R.isLoading||(C?_.isLoading:B.isLoading)}}(e,a,!t,"string"==typeof l.query.traceId?l.query.traceId:void 0,"string"==typeof l.query.observationId?l.query.observationId:void 0),s=a.watch("target"),i=(0,v.useRef)(s);(0,v.useEffect)(()=>{if(i.current!==s&&void 0!==i.current){let{traceId:e,observationId:a,...t}=l.query;l.replace({pathname:l.pathname,query:t},void 0,{shallow:!0})}i.current=s},[s,l]);let o=new Map([["SPAN",new Set],["EVENT",new Set],["GENERATION",new Set]]);if((null==r?void 0:r.type)===m.EvalTargetObject.TRACE){var c;null==r||null==(c=r.data)||c.observations.forEach(e=>{if(e.type&&e.name){var a;null==(a=o.get(e.type))||a.add(e.name)}})}
1return{namesByObject:new Map,isLoading:n,previewData:r}}(a,i,d);(0,v.useEffect)(()=>{(0,I.UL)(i.getValues("target"))&&!d?f(!0):f(!1)},[i.watch("target"),d]);let T=(0,l.jsx)("div",{className:"flex items-center gap-2",children:(0,I.UL)(i.watch("target"))&&!d&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Preview"}),(0,l.jsx)(N.d,{checked:g,onCheckedChange:f,disabled:d}),g&&(E?(0,l.jsx)(ea.y,{currentId:E.type===m.EvalTargetObject.EVENT?E.observationId:E.traceId,listKey:(0,I.ou)(i.watch("target"))?"observations":"traces",path:e=>{var t;let l=(0,I.ou)(i.watch("target")),r=p?"/project/".concat(a,"/evals/remap?evaluator=").concat(c):"/project/".concat(a,"/evals/new?evaluator=").concat(n.id);return l?"".concat(r,"&traceId=").concat(null==(t=e.params)?void 0:t.traceId,"&observationId=").concat(e.id):"".concat(r,"&traceId=").concat(e.id)}}):(0,l.jsxs)("div",{className:"flex flex-row gap-1",children:[(0,l.jsx)(A.E,{className:"h-8 w-[54px]"}),(0,l.jsx)(A.E,{className:"h-8 w-[54px]"})]}))]})});return(0,l.jsxs)(j.Zp,{className:"min-w-0 max-w-full p-4","data-sentry-element":"Card","data-sentry-component":"VariableMappingCard","data-sentry-source-file":"variable-mapping-card.tsx",children:[(0,l.jsx)("div",{className:"mb-2 flex items-center justify-between",children:(0,l.jsx)("span",{className:"text-lg font-medium",children:"Variable mapping"})}),(0,I.Zh)(i.watch("target"))&&!d&&(0,l.jsx)(o.Rr,{children:"Preview of the evaluation prompt with the variables replaced with the first matched trace data subject to the filters."}),(0,l.jsx)("div",{className:"flex max-w-full flex-col gap-4",children:(0,l.jsx)(o.zB,{control:i.control,name:"mapping",render:()=>{var e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:(0,H.cn)("my-2 flex max-w-full flex-col gap-2",!u&&"lg:flex-row"),children:[g?E?(0,l.jsx)(ee,{projectId:a,previewData:E,evalTemplate:n,variableMapping:i.watch("mapping"),isLoading:w,className:(0,H.cn)("min-h-48 bg-muted/50",!u&&"lg:w-2/3"),controlButtons:T}):(0,l.jsxs)("div",{className:"flex max-h-full min-h-48 w-full flex-col gap-1 bg-muted/50 lg:w-2/3",children:[(0,l.jsxs)("div",{className:"flex flex-row items-center justify-between py-0 text-sm font-medium capitalize",children:[(0,l.jsxs)("div",{className:"flex flex-row items-center gap-2",children:["Evaluation Prompt Preview",(0,l.jsx)(A.E,{className:"h-[25px] w-[63px]"})]}),(0,l.jsx)("div",{className:"flex justify-end",children:T})]}),(0,l.jsx)("div",{className:"flex h-full w-full flex-1 items-center justify-center rounded border",children:(0,l.jsx)("p",{className:"text-center text-sm text-muted-foreground",children:"No trace data found, please adjust filters or switch to not show preview."})})]}):(0,l.jsx)(_.GJ,{title:"Evaluation Prompt",json:null!=(e=n.prompt)?e:null,className:(0,H.cn)("min-h-48 bg-muted/50",!u&&"lg:w-2/3"),codeClassName:"flex-1",collapseStringsAfterLength:null,controlButtons:T}),(0,l.jsx)("div",{className:(0,H.cn)("flex flex-col gap-2",!u&&"lg:w-1/3"),children:(0,I.vz)(i.watch("target"))?b.map((e,a)=>{var r;return(0,l.jsxs)(j.Zp,{className:"flex flex-col gap-2 p-4",children:[(0,l.jsxs)("div",{className:(0,H.cn)("text-sm font-semibold",G(a)),children:["{{",e.templateVariable,"}}",(0,l.jsx)(J.A,{description:"Variable in the template to be replaced with the mapped data.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"})]}),(0,l.jsx)(o.zB,{control:i.control,name:"mapping.".concat(a,".langfuseObject"),render:e=>{let{field:r}=e;return(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"Object",description:"Langfuse object to retrieve the data from.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsxs)(o.eI,{className:"w-2/3",children:[(0,l.jsx)(o.MJ,{children:(0,l.jsxs)(B.l6,{disabled:d,defaultValue:r.value,onValueChange:e=>{r.onChange(e),i.setValue("mapping.".concat(a,".objectName"),void 0)},children:[(0,l.jsx)(B.bq,{children:(0,l.jsx)(B.yv,{})}),(0,l.jsx)(B.gC,{children:t.map(e=>(0,l.jsx)(B.eb,{value:e.id,children:e.display}
1,e.id))})]})}),(0,l.jsx)(o.C5,{})]})]})}},"".concat(e.id,"-langfuseObject")),(0,I.aB)(null!=(r=i.watch("mapping.".concat(a,".langfuseObject")))?r:"")?void 0:(0,l.jsx)(o.zB,{control:i.control,name:"mapping.".concat(a,".objectName"),render:e=>{var t,r;let{field:n}=e,c=String(i.watch("mapping.".concat(a,".langfuseObject"))).toUpperCase(),u=Array.from(null!=(t=y.get(c))?t:[]),m="custom"===n.value||n.value&&!u.includes(n.value);return(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"Object Name",description:"Name of the Langfuse object to retrieve the data from.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsxs)(o.eI,{className:"w-2/3",children:[(0,l.jsx)(o.MJ,{children:m?(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsxs)(B.l6,{onValueChange:e=>{"custom"!==e&&n.onChange(e)},value:"custom",disabled:d,children:[(0,l.jsx)(B.bq,{children:(0,l.jsx)(B.yv,{children:"Enter name..."})}),(0,l.jsxs)(B.gC,{children:[null==u?void 0:u.map(e=>(0,l.jsx)(B.eb,{value:e,children:e},e)),(0,l.jsx)(B.eb,{value:"custom",children:"Enter name..."},"custom")]})]}),(0,l.jsx)(s.p,{value:"custom"===n.value?"":n.value||"",onChange:e=>n.onChange(e.target.value),placeholder:"Enter langfuse object name",disabled:d})]}):(0,l.jsxs)(B.l6,{...n,value:null!=(r=n.value)?r:"",onValueChange:n.onChange,disabled:d,children:[(0,l.jsx)(B.bq,{children:(0,l.jsx)(B.yv,{})}),(0,l.jsxs)(B.gC,{children:[null==u?void 0:u.map(e=>(0,l.jsx)(B.eb,{value:e,children:e},e)),(0,l.jsx)(B.eb,{value:"custom",children:"Enter name..."},"custom")]})]})}),(0,l.jsx)(o.C5,{})]})]})}},"".concat(e.id,"-objectName")),(0,l.jsx)(o.zB,{control:i.control,name:"mapping.".concat(a,".selectedColumnId"),render:e=>{var r,n;let{field:s}=e;return(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"Object Field",description:"Field on the Langfuse object to insert into the template.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsxs)(o.eI,{className:"w-2/3",children:[(0,l.jsx)(o.MJ,{children:(0,l.jsxs)(B.l6,{disabled:d,defaultValue:null!=(n=s.value)?n:void 0,onValueChange:e=>{var l;let r=null==(l=t.find(e=>e.id===i.watch("mapping.".concat(a,".langfuseObject"))))?void 0:l.availableColumns,n=null==r?void 0:r.find(a=>a.id===e);s.onChange(null==n?void 0:n.id)},children:[(0,l.jsx)(B.bq,{children:(0,l.jsx)(B.yv,{placeholder:"Object type"})}),(0,l.jsx)(B.gC,{children:null==(r=t.find(e=>e.id===i.watch("mapping.".concat(a,".langfuseObject"))))?void 0:r.availableColumns.map(e=>(0,l.jsx)(B.eb,{value:e.id,children:e.name},e.id))})]})}),(0,l.jsx)(o.C5,{})]})]})}},"".concat(e.id,"-selectedColumnId")),(e=>"input"===e||"output"===e||"metadata"===e||"expected_output"===e||"experiment_item_expected_output"===e||"expectedOutput"===e||"experimentItemExpectedOutput"===e)(i.watch("mapping.".concat(a,".selectedColumnId")))?(0,l.jsx)(o.zB,{control:i.control,name:"mapping.".concat(a,".jsonSelector"),render:e=>{var a;let{field:t}=e;return(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"JsonPath",description:"Optional selection: Use JsonPath syntax to select from a JSON object stored on a trace. If not selected, we will pass the entire object into the prompt.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsxs)(o.eI,{className:"w-2/3",children:[(0,l.jsx)(o.MJ,{children:(0,l.jsx)(s.p,{...t,value:null!=(a=t.value)?a:"",disabled:d,placeholder:"Optional"})}),(0,l.jsx)(o.C5,{})]})]})}},"".concat(e.id,"-jsonSelector")):void 0]},a)}):b.map((e,a)=>(0,l.jsxs)(j.Zp,{className:"flex flex-col gap-2 p-4",children:[(0,l.jsxs)("div",{className:(0,H.cn)("text-sm font-semibold",G(a)),children:["{{",e.templateVariable,"}}",(0,l.jsx)(J.A,{description:"Variable in the template to be replaced with the mapped data.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"})]}),p&&(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"Object",description:"Type of object to retrieve the data from.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsx)("div",{className:"w-2/3",children:(0,l.jsx)(s.p,{value:(0,I.ou)(i.watch("target"))?"Observation":"Experiment item",disabled:!0})})]}),(0,l.jsx)(o.zB,{control:i.control,name:"mapping.".concat(a,".selectedColumnId"),render:e=>{var a;let{field:t}=e,r=i.watch("target")===m.EvalTargetObject.EVENT?m.observationEvalVariableColumns.filter(e=>"experimentItemExpectedOutput"!==e.id):m.observationEvalVariableColumns;return(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"Object Field",description:"Observation field to insert into the template.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsxs)(o.eI,{className:"w-2/3",children:[(0,l.jsx)(o.MJ,{children:(0,l.jsxs)(B.l6,{disabled:d,defaultValue:null!=(a=t.value)?a:void 0,onValueChange:t.onChange,children:[(0,l.jsx)(B.bq,{children:(0,l.jsx)(B.yv,{placeholder:"Select field"})}),(0,l.jsx)(B.gC,{children:r.map(e=>(0,l.jsx)(B.eb,{value:e.id,children:e.name},e.id))})]})}),(0,l.jsx)(o.C5,{})]})]})}},"".concat(e.id,"-selectedColumnId")),("metadata"===i.watch("mapping.".concat(a,".selectedColumnId"))||"input"===i.watch("mapping.".concat(a,".selectedColumnId"))||"output"===i.watch("mapping.".concat(a,".selectedColumnId"))||"experimentItemExpectedOutput"===i.watch("mapping.".concat(a,".selectedColumnId")))&&(0,l.jsx)(o.zB,{control:i.control,name:"mapping.".concat(a,".jsonSelector"),render:e=>{var a;let{field:t}=e;return(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(K,{title:"JsonPath",description:"Optional selection: Use JsonPath syntax to select from a JSON object. If not selected, we will pass the entire object into the prompt.",href:"https://langfuse.com/docs/evaluation/evaluation-methods/llm-as-a-judge"}),(0,l.jsxs)(o.eI,{className:"w-2/3",children:[(0,l.jsx)(o.MJ,{children:(0,l.jsx)(s.p,{...t,value:null!=(a=t.value)?a:"",disabled:d,placeholder:"Optional"})}),(0,l.jsx)(o.C5,{})]})]})}},"".concat(e.id,"-jsonSelector"))]},a))})]}),(0,l.jsx)(o.C5,{})]})},"data-sentry-element":"FormField","data-sentry-source-file":"variable-mapping-card.tsx"})})]})};var er=t(47282);let en=(0,v.lazy)(()=>Promise.all([t.e(789),t.e(4623),t.e(7515),t.e(973),t.e(2517),t.e(6694),t.e(2896),t.e(7769),t.e(5895),t.e(1555),t.e(4652),t.e(5309),t.e(5037),t.e(2949),t.e(402),t.e(7638),t.e(2297),t.e(4355),t.e(4200),t.e(8568),t.e(1064)]).then(t.bind(t,28568))),es=(0,v.lazy)(()=>Promise.all([t.e(789),t.e(4623),t.e(7515),t.e(973),t.e(2517),t.e(6694),t.e(2896),t.e(7769),t.e(5895),t.e(1555),t.e(4652),t.e(5309),t.e(5037),t.e(2949),t.e(402),t.e(7638),t.e(2297),t.e(4355),t.e(4200),t.e(3277),t.e(6641)]).then(t.bind(t,66641))),ei=(0,v.lazy)(()=>Promise.all([t.e(789),t.e(4623),t.e(7515),t.e(973),t.e(2517),t.e(6694),t.e(2896),t.e(7769),t.e(5895),t.e(1555),t.e(4652),t.e(5309),t.e(5037),t.e(2949),t.e(402),t.e(7638),t.e(2297),t.e(4355),t.e(4200),t.e(3277),t.e(7816)]).then(t.bind(t,97816))),eo=(0,v.memo)(e=>{let{projectId:a,filterState:t}=e,r=(0,v.useMemo)(()=>({from:(0,S.q1)({filterSource:"TABLE",option:"last1Day"})}),[]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"flex flex-col items-start gap-1",children:[(0,l.jsx)("span",{className:"text-sm font-medium leading-none",children:"Preview sample matched traces"}),(0,l.jsx)(o.Rr,{children:"Sample over the last 24 hours that match these filters"})]}),(0,l.jsx)("div",{className:"mb-4 flex max-h-[30dvh] w-full flex-col overflow-hidden border-b border-l border-r",children:(0,l.jsx)(v.Suspense,{fallback:(0,l.jsx)(A.E,{className:"h-[30dvh] w-full"}),children:(0,l.jsx)(en,{projectId:a,hideControls:!0,externalFilterState:t,externalDateRange:r,limitRows:10})})})]})});eo.displayName="TracesPreview";let ec=(0,v.memo)(e=>{let{projectId:a,filterState:t}=e,{isBetaEnabled:r}=(0,et.I)(),n=(0,v.useMemo)(()=>({from:(0,S.q1)({filterSource:"TABLE",option:"last1Day"})}),[]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"flex flex-col items-start gap-1",children:(0,l.jsx)(o.Rr,{children:"Sample over the last 24 hours that match filters"})}),(0,l.jsx)("div",{className:"mb-4 flex max-h-[30dvh] w-full flex-col overflow-hidden border-b border-l border-r",children:(0,l.jsx)(v.Suspense,{fallback:(0,l.jsx)(A.E,{className:"h-[30dvh] w-full"}),children:r?(0,l.jsx)(ei,{projectId:a,hideControls:!0,externalFilterState:t,externalDateRange:n,limitRows:10}):(0,l.jsx)(es,{projectId:a,hideControls:!0,externalFilterState:t,externalDateRange:n,limitRows:10})})})]})});ec.displayName="ObservationsPreview";let ed=e=>{var a,t,C,S,A,B,_,J,H,W,K,q,U,Z,X,Q,G,$;let[Y,ee]=(0,v.useState)(null),ea=(0,er.o)(),et=(0,b.B)(),en=(0,h.useRouter)(),[es,ei]=(0,v.useState)(!1),{allowLegacy:ed,allowPropagationFilters:eu}=e.evalCapabilities,{userFacingTarget:em,setUserFacingTarget:ep,useOtelDataForExperiment:ev,setUseOtelDataForExperiment:ex}=(e=>{let[a,t]=(0,v.useState)("event"),[l,r]=(0,v.useState)(!0);return(0,v.useEffect)(()=>{let a=null!=e?e:m.EvalTargetObject.EVENT;(0,I.Zh)(a)?t("trace"):(0,I.ou)(a)?t("event"):(0,I.Bv)(a)?(t("offline-experiment"),r(!0)):(0,I.vz)(a)&&(t("offline-experiment"),r(!1))},[e]),{userFacingTarget:a,setUserFacingTarget:t,useOtelDataForExperiment:l,setUseOtelDataForExperiment:r}})(null==(a=e.existingEvaluator)?void 0:a.targetObject),{traceFilterOptions:eg,observationEvalFilterOptions:eh,experimentEvalFilterOptions:ef,datasetFilterOptions:ej}=function(e){let{projectId:a}=e,t=x.FH.traces.filterOptions.useQuery({projectId:a},{trpc:{context:{skipBatch:!0}},refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,staleTime:1/0}),l=x.FH.projects.environmentFilterOptions.useQuery({projectId:a},{trpc:{context:{skipBatch:!0}},refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,staleTime:1/0}),r=x.FH.generations.filterOptions.useQuery({projectId:a,observationType:"ALL"}),n=(0,v.useMemo)(()=>{var e,a,r;return{...t.data?{name:null==(e=t.data.name)?void 0:e.map(e=>({value:e.value,count:Number(e.count)})),scores_avg:t.data.scores_avg,score_categories:t.data.score_categories,tags:null==(a=t.data.tags)?void 0:a.map(e=>({value:e.value}))}:{},environment:null==(r=l.data)?void 0:r.map(e=>({value:e.environment}))}},[t.data,l.data]),s=x.FH.datasets.allDatasetMeta.useQuery({projectId:a},{trpc:{context:{skipBatch:!0}},refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,staleTime:1/0}),i=(0,v.useMemo)(()=>{var e;if(s.data)return{datasetId:null==(e=s.data)?void 0:e.map(e=>({value:e.id,displayValue:e.name}))}},[s.data]),o=(0,v.useMemo)(()=>{var e,a,n,s,i,o,c;return{environment:null==(e=l.data)?void 0:e.map(e=>({value:e.environment})),tags:null==(n=t.data)||null==(a=n.tags)?void 0:a.map(e=>({value:e.value})),traceName:null==(i=t.data)||null==(s=i.name)?void 0:s.map(e=>({value:e.value})),name:null==(c=r.data)||null==(o=c.name)?void 0:o.map(e=>({value:e.value}))}},[t.data,l.data,r.data]),c=(0,v.useMemo)(()=>({experimentDatasetId:null==i?void 0:i.datasetId}),[i]);return{traceFilterOptions:n,datasetFilterOptions:i,observationEvalFilterOptions:o,experimentEvalFilterOptions:c}}({projectId:e.projectId}),eb={getAvailableVariables:e=>(0,I.ou)(e)||(0,I.Bv)(e)?w.RD:(0,I.Zh)(e)?m.availableTraceEvalVariables:m.availableDatasetEvalVariables,transformMapping:(e,a)=>{let t=(0,I.ou)(a)||(0,I.Bv)(a);return e.map(e=>{var l;return t?{templateVariable:e.templateVariable,selectedColumnId:e.selectedColumnId,jsonSelector:e.jsonSelector,langfuseObject:"event",objectName:null}:{...e,langfuseObject:(0,I.Zh)(a)?"trace":"dataset_item",objectName:null!=(l=e.objectName)?l:null}})}},ey=(0,r.mN)({resolver:(0,c.u)(E),disabled:e.disabled,defaultValues:{scoreName:null!=(K=null==(t=e.existingEvaluator)?void 0:t.scoreName)?K:"".concat(e.evalTemplate.name),target:null!=(q=null==(C=e.existingEvaluator)?void 0:C.targetObject)?q:m.EvalTargetObject.EVENT,filter:(null==(S=e.existingEvaluator)?void 0:S.filter)?p.z.array(m.singleFilter).parse(e.existingEvaluator.filter):(null!=(U=null==(A=e.existingEvaluator)?void 0:A.targetObject)?U:m.EvalTargetObject.EVENT)===m.EvalTargetObject.TRACE?w.$i:(null!=(Z=null==(B=e.existingEvaluator)?void 0:B.targetObject)?Z:m.EvalTargetObject.EVENT)===m.EvalTargetObject.EVENT?w.uv:[],mapping:(null==(_=e.existingEvaluator)?void 0:_.variableMapping)?(0,I.ou)(e.existingEvaluator.targetObject)||(0,I.Bv)(e.existingEvaluator.targetObject)?p.z.array(m.observationVariableMapping).parse(e.existingEvaluator.variableMapping):p.z.array(m.variableMapping).parse(e.existingEvaluator.variableMapping):p.z.array(m.variableMapping).parse(e.evalTemplate?e.evalTemplate.vars.map(e=>({templateVariable:e,langfuseObject:"trace",objectName:null,selectedColumnId:"input",jsonSelector:null})):[]),sampling:(null==(J=e.existingEvaluator)?void 0:J.sampling)?e.existingEvaluator.sampling.toNumber():1,delay:(null==(H=e.existingEvaluator)?void 0:H.delay)?e.existingEvaluator.delay/1e3:30,timeScope:(null!=(X=null==(W=e.existingEvaluator)?void 0:W.timeScope)?X:["NEW"]).filter(e=>["NEW","EXISTING"].includes(e)),runOnLive:e.existingEvaluator?"ACTIVE"===e.existingEvaluator.status:null==(Q=e.defaultRunOnLive)||Q}});(0,v.useEffect)(()=>
1{if(e.evalTemplate&&0===ey.getValues("mapping").length){let a=ey.getValues("target");ey.setValue("mapping",e.evalTemplate.vars.map(e=>({templateVariable:e,langfuseObject:(0,I.vz)(a)?"trace":void 0,...{selectedColumnId:w.hk.includes(e.toLowerCase())?"output":"input"}}))),ey.setValue("scoreName","".concat(e.evalTemplate.name))}},[ey,e.evalTemplate]);let eN=x.FH.useUtils(),ew=x.FH.evals.createJob.useMutation({onSuccess:()=>eN.models.invalidate(),onError:e=>ee(e.message)}),eE=x.FH.evals.updateEvalJob.useMutation({onSuccess:()=>eN.evals.invalidate(),onError:e=>ee(e.message)}),[eT,eI]=(0,v.useState)(()=>{var a,t;return eb.getAvailableVariables(null!=(t=null==(a=e.existingEvaluator)?void 0:a.targetObject)?t:m.EvalTargetObject.EVENT)});function eC(a){var t,l;et("edit"===e.mode?"eval_config:update":"eval_config:new_form_submit"),e.preprocessFormValues&&(a=e.preprocessFormValues(a));let r=p.z.array(m.singleFilter).safeParse(a.filter);if((null==(t=e.existingEvaluator)?void 0:t.timeScope.includes("EXISTING"))&&"edit"===e.mode&&!a.timeScope.includes("EXISTING"))return void ey.setError("timeScope",{type:"manual",message:"The evaluator ran on existing traces already. This cannot be changed anymore."});if(0===ey.getValues("timeScope").length)return void ey.setError("timeScope",{type:"manual",message:"Please select at least one."});if(!1===r.success)return void ey.setError("filter",{type:"manual",message:"Please fill out all filter fields"});let n=function(e,a){let t=(0,I.ou)(a)||(0,I.Bv)(a);if(e.filter(e=>!e.selectedColumnId||null===e.selectedColumnId||""===e.selectedColumnId.trim()).length>0||!t&&e.filter(e=>"trace"!==e.langfuseObject&&"dataset_item"!==e.langfuseObject&&(!e.objectName||""===e.objectName.trim())).length>0)return{success:!1,error:"Please complete all variable mappings"};let l=t?p.z.array(m.observationVariableMapping).safeParse(e.map(e=>{let a={templateVariable:e.templateVariable,selectedColumnId:e.selectedColumnId};return e.jsonSelector&&(a.jsonSelector=e.jsonSelector),a})):p.z.array(m.variableMapping).safeParse(e.map(e=>{let a={templateVariable:e.templateVariable,langfuseObject:e.langfuseObject,selectedColumnId:e.selectedColumnId};return e.objectName&&(a.objectName=e.objectName),e.jsonSelector&&(a.jsonSelector=e.jsonSelector),a}));return l.success?{success:!0,data:l.data}:{success:!1,error:"Please complete all variable mappings"}}(a.mapping,a.target);if(!n.success)return void ey.setError("mapping",{type:"manual",message:n.error});let s=1e3*a.delay,i=a.sampling,o=n.data,c=r.data,d=a.scoreName,u=!(0,I.vz)(a.target),v=u?a.runOnLive?m.JobConfigState.ACTIVE:m.JobConfigState.INACTIVE:void 0;("edit"===e.mode&&(null==(l=e.existingEvaluator)?void 0:l.id)?eE.mutateAsync({projectId:e.projectId,evalConfigId:e.existingEvaluator.id,config:{delay:s,filter:c,variableMapping:o,sampling:i,scoreName:d,timeScope:u?["NEW"]:a.timeScope,...v?{status:v}:{}}}):ew.mutateAsync({projectId:e.projectId,target:a.target,evalTemplateId:e.evalTemplate.id,scoreName:d,filter:c,mapping:o,sampling:i,delay:s,timeScope:u?["NEW"]:a.timeScope,...v?{status:v}:{}})).then(()=>{var a;null==(a=e.onFormSuccess)||a.call(e),"edit"===e.mode||e.preventRedirect?ey.reset():en.push("/project/".concat(e.projectId,"/evals"))}).catch(e=>{if("message"in e&&"string"==typeof e.message)return void ee(e.message);ee(JSON.stringify(e))})}let eO=(0,l.jsxs)("div",{className:"grid gap-4",children:[(0,l.jsx)(o.zB,{control:ey.control,name:"scoreName",render:e=>{let{field:a}=e;return(0,l.jsxs)(o.eI,{children:[(0,l.jsx)(o.lR,{children:"Generated Score Name"}),(0,l.jsx)(o.MJ,{children:(0,l.jsx)(s.p,{...a})}),(0,l.jsx)(o.C5,{})]})}}),!e.hideTargetSection&&(0,l.jsx)(j.Zp,{className:"flex max-w-full flex-col gap-2 overflow-y-auto p-4",children:(0,l.jsxs)("div",{className:"flex flex-col gap-4",children:[!e.hideTargetSelection&&(0,l.jsx)(o.zB,{control:ey.control,name:"target",render:a=>{let{field:t}=a;return(0,l.jsxs)(o.eI,{children:[(0,l.jsxs)(o.lR,{children:["Run on"," ","edit"===e.mode&&(0,l.jsxs)(F.m_,{children:[(0,l.jsx)(F.k$,{children:(0,l.jsx)(V.A,{className:"size-3 text-muted-foreground"})}),(0,l.jsx)(F.ZI,{className:"max-w-[200px] p-2",children:(0,l.jsx)("span",{className:"leading-4",children:"An evaluator's target data may only be configured at creation."})})]})]}),(0,l.jsx)(o.MJ,{children:(0,l.jsx)(d.tU,{value:em,onValueChange:a=>{let l=function(a){var t;let l;if(a===em)return;if("trace"===a&&!e.evalCapabilities.hasLegacyEvals&&"edit"!==e.mode)return void ei(!0);ep(a),l="trace"===a?m.EvalTargetObject.TRACE:"event"===a?m.EvalTargetObject.EVENT:ev?m.EvalTargetObject.EXPERIMENT:m.EvalTargetObject.DATASET;let r=ey.getValues("mapping"),n=eb.transformMapping(r,l);return ey.setValue("filter",l===m.EvalTargetObject.TRACE?w.$i:l===m.EvalTargetObject.EVENT?w.uv:[]),ey.setValue("mapping",n),ey.setValue("runOnLive",null==(t=e.defaultRunOnLive)||t),eI(eb.getAvailableVariables(l)),l}(a);l&&t.onChange(l)},children:(0,l.jsxs)(d.j7,{className:"grid w-fit max-w-fit grid-flow-col gap-4",children:[(0,l.jsxs)(d.Xi,{value:"event",disabled:e.disabled||"edit"===e.mode,className:"min-w-[100px] gap-1.5",children:[(0,l.jsx)(L.A,{className:"h-3.5 w-3.5"}),"Observations",(0,l.jsx)(u.E,{variant:"secondary",size:"sm",className:"border border-border font-normal",children:"Beta"})]}),ed&&(0,l.jsxs)(d.Xi,{value:"trace",disabled:e.disabled||"edit"===e.mode,className:"min-w-[100px] gap-1.5",children:[(0,l.jsx)(M.A,{className:"h-3.5 w-3.5"}),"Traces",ea&&(0,l.jsx)(u.E,{variant:"secondary",size:"sm",className:"border border-border font-normal",children:"Legacy"})]}),(0,l.jsxs)(d.Xi,{value:"offline-experiment",disabled:e.disabled||"edit"===e.mode,className:"min-w-[100px] gap-1.5",children:[(0,l.jsx)(D.A,{className:"h-3.5 w-3.5"}),"Experiments"]})]})})}),(0,l.jsx)(o.C5,{})]})}}),!e.hideTargetSelection&&"offline-experiment"===em&&e.evalCapabilities.allowLegacy&&(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsx)(o.lR,{className:"text-sm",children:"Experiment Method"}),(0,l.jsx)(d.tU,{value:ev?"otel":"non-otel",onValueChange:a=>{if("edit"===e.mode||e.disabled)return;let t="otel"===a;ex(t);let l=t?m.EvalTargetObject.EXPERIMENT:m.EvalTargetObject.DATASET;ey.setValue("target",l);let r=ey.getValues("mapping"),n=eb.transformMapping(r,l);ey.setValue("filter",[]),ey.setValue("mapping",n),eI(eb.getAvailableVariables(l))},children:(0,l.jsxs)(d.j7,{className:"grid w-fit max-w-fit grid-flow-col gap-4",children:[(0,l.jsxs)(d.Xi,{value:"otel",className:"min-w-[100px] gap-1.5",disabled:"edit"===e.mode||e.disabled,children:[(0,l.jsx)(D.A,{className:"h-3.5 w-3.5"}),"Experiment Runner SDK",(0,l.jsx)(u.E,{variant:"secondary",size:"sm",className:"border border-border font-normal",children:"Beta"})]}),(0,l.jsxs)(d.Xi,{value:"non-otel",className:"min-w-[100px] gap-1.5",disabled:"edit"===e.mode||e.disabled,children:[(0,l.jsx)(z.A,{className:"h-3.5 w-3.5"}),"Low-level SDK methods",ea&&(0,l.jsx)(u.E,{variant:"secondary",size:"sm",className:"border border-border font-normal",children:"Legacy"})]})]})})]}),!e.hideTargetSelection&&"edit"!==e.mode&&!e.disabled&&(0,l.jsx)(k,{targetObject:ey.watch("target"),evalCapabilities:e.evalCapabilities}),!e.hideAdvancedSettings&&(0,I.vz)(ey.watch("target"))&&(0,l.jsx)(o.zB,{control:ey.control,name:"timeScope",render:a=>{let{field:t}=a;return(0,l.jsxs)(o.eI,{className:"flex-1",children:[(0,l.jsx)(o.lR,{children:"Evaluate"}),(0,l.jsx)(o.MJ,{children:(0,l.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,l.jsxs)("div",{className:"items-top flex space-x-2",children:[(0,l.jsx)(y.S,{id:"newObjects",checked:t.value.includes("NEW"),onCheckedChange:e=>{let a=e?[...t.value,"NEW"]:t.value.filter(e=>"NEW"!==e);
1t.onChange(a)},disabled:e.disabled}),(0,l.jsx)("div",{className:"grid gap-1.5 leading-none",children:(0,l.jsxs)("label",{htmlFor:"newObjects",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:["New ",T(ey.watch("target"))]})})]}),(0,l.jsxs)("div",{className:"items-top flex space-x-2",children:[(0,l.jsx)(y.S,{id:"existingObjects",checked:t.value.includes("EXISTING"),onCheckedChange:e=>{let a=e?[...t.value,"EXISTING"]:t.value.filter(e=>"EXISTING"!==e);t.onChange(a)},disabled:e.disabled||"edit"===e.mode&&t.value.includes("EXISTING")}),(0,l.jsxs)("div",{className:"flex items-center gap-1.5 leading-none",children:[(0,l.jsxs)("label",{htmlFor:"existingObjects",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:["Existing"," ",T(ey.watch("target"))]}),t.value.includes("EXISTING")&&!e.disabled&&("edit"===e.mode?(0,l.jsxs)(F.m_,{children:[(0,l.jsx)(F.k$,{children:(0,l.jsx)(V.A,{className:"size-3 text-muted-foreground"})}),(0,l.jsx)(F.ZI,{className:"max-w-[300px] p-2",children:(0,l.jsxs)("span",{className:"leading-4",children:["This evaluator has already run on existing"," ",T(ey.watch("target"))," ","once. Set up a new evaluator to re-run on existing"," ",T(ey.watch("target")),"."]})})]}):(0,l.jsx)(O,{projectId:e.projectId,item:ey.watch("target"),filter:ey.watch("filter")}))]})]})]})}),(0,l.jsx)(o.C5,{})]})}}),!e.hideAdvancedSettings&&!(0,I.vz)(ey.watch("target"))&&(0,l.jsx)(o.zB,{control:ey.control,name:"runOnLive",render:a=>{let{field:t}=a,r=ey.watch("target");return(0,l.jsxs)("div",{className:"flex max-w-4xl flex-col gap-2",children:[(0,l.jsxs)(o.eI,{className:"flex items-center justify-between rounded-lg border p-3",children:[(0,l.jsxs)("div",{className:"space-y-0.5",children:[(0,l.jsx)(o.lR,{children:(0,I.ou)(r)?"Run on live incoming observations":"Run on new experiments"}),(0,l.jsxs)(o.Rr,{children:["Automatically evaluate new incoming"," ",T(r),"."]})]}),(0,l.jsx)(o.MJ,{children:(0,l.jsx)(N.d,{checked:t.value,onCheckedChange:t.onChange,disabled:e.disabled})})]}),!t.value&&(0,I.ou)(r)&&(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:"This evaluator can still be used for batched evaluation of historic observations."})]})}}),((0,I.vz)(ey.watch("target"))||ey.watch("runOnLive"))&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o.zB,{control:ey.control,name:"filter",render:a=>{var t;let{field:r}=a,s=ey.watch("target"),i=r.value&&r.value.length>0;return(0,l.jsxs)(o.eI,{children:[(0,l.jsx)(o.lR,{children:"Filter"}),(0,l.jsx)(o.MJ,{children:(0,l.jsx)("div",{className:"max-w-[500px]",children:e.disabled&&!i?(0,l.jsxs)("p",{className:"text-xs text-muted-foreground",children:["All ",T(s)," will be evaluated"]}):(0,l.jsx)(g.Pt,{columnIdentifier:(0,I.al)(s)||(0,I.Zh)(s)?"name":"id",columns:(()=>{if((0,I.ou)(s)){let e;return e=(0,m.observationEvalFilterColsWithOptions)(eh),e.map(e=>!eu&&w.Nk.has(e.id)?{...e,alert:{severity:"warning",content:(0,l.jsxs)(l.Fragment,{children:["This filter requires JS SDK ≥ 4.0.0 or Python SDK ≥ 3.0.0 with attribute propagation enabled. Please"," ",(0,l.jsx)("a",{href:"https://langfuse.com/integrations/native/opentelemetry#propagating-attributes",target:"_blank",rel:"noopener noreferrer",className:"text-dark-blue hover:opacity-80",children:"follow our docs"})," ","to configure your instrumentation to use this filter."]})}}:e)}return(0,I.Zh)(s)?(0,m.tracesTableColsWithOptions)(eg):(0,I.Bv)(s)?(0,m.experimentEvalFilterColsWithOptions)(ef):(0,m.datasetFormFilterColsWithOptions)(ej)})(),filterState:null!=(t=r.value)?t:[],onChange:e=>{if(r.onChange(e),en.query.traceId){let{traceId:e,...a}=en.query;en.replace({pathname:en.pathname,query:a},void 0,{shallow:!0})}},disabled:e.disabled,columnsWithCustomSelect:(0,I.ou)(s)||(0,I.Zh)(s)?["tags","name"]:void 0})})}),!e.disabled&&!i&&(0,l.jsxs)("div",{className:"align-center flex max-w-[500px] gap-1",children:[(0,l.jsx)(P.A,{className:"h-4 w-4 text-dark-yellow"}),(0,l.jsxs)(n.TN,{className:"text-dark-yellow",children:["No filters set. This evaluator will run on all"," ",T(s),"."]})]}),(0,l.jsx)(o.C5,{})]})}}),!e.disabled&&!e.hidePreviewTable&&(0,l.jsxs)(l.Fragment,{children:[(0,I.Zh)(ey.watch("target"))&&(0,l.jsx)(eo,{projectId:e.projectId,filterState:null!=(G=e
1y.watch("filter"))?G:[]}),(0,I.ou)(ey.watch("target"))&&(0,l.jsx)(ec,{projectId:e.projectId,filterState:null!=($=ey.watch("filter"))?$:[]})]}),!e.hideAdvancedSettings&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o.zB,{control:ey.control,name:"sampling",render:a=>{let{field:t}=a;return(0,l.jsxs)(o.eI,{children:[(0,l.jsx)(o.lR,{children:"Sampling"}),(0,l.jsx)(o.MJ,{children:(0,l.jsx)("div",{className:"max-w-[500px]",children:(0,l.jsx)(f.A,{disabled:e.disabled,min:0,max:1,step:1e-4,value:[t.value],onValueChange:e=>t.onChange(e[0]),showInput:!0,displayAsPercentage:!0})})}),(0,l.jsx)(o.C5,{})]})}}),(0,I.vz)(ey.watch("target"))&&(0,l.jsx)(o.zB,{control:ey.control,name:"delay",render:e=>{let{field:a}=e;return(0,l.jsxs)(o.eI,{children:[(0,l.jsx)(o.lR,{children:"Delay (seconds)"}),(0,l.jsx)(o.MJ,{children:(0,l.jsx)(s.p,{...a,type:"number",min:0})}),(0,l.jsx)(o.Rr,{children:"Time between first Trace/Dataset run event and evaluation execution to ensure all data is available"}),(0,l.jsx)(o.C5,{})]})}})]})]})]})}),(0,l.jsx)(el,{projectId:e.projectId,availableVariables:eT,evalTemplate:e.evalTemplate,form:ey,disabled:e.disabled,shouldWrapVariables:e.shouldWrapVariables,hideAdvancedSettings:e.hideAdvancedSettings,oldConfigId:e.oldConfigId})]}),eS=ew.isPending||eE.isPending,eV=e.renderFooter?e.renderFooter({isLoading:eS,formError:Y}):(0,l.jsxs)("div",{className:"flex w-full flex-col items-end gap-4",children:[e.disabled?null:(0,l.jsx)(i.$,{type:"submit",loading:eS,className:"mt-3 max-w-fit",children:"edit"===e.mode?"Update":"Execute"}),Y?(0,l.jsxs)("p",{className:"text-red w-full text-center",children:[(0,l.jsx)("span",{className:"font-bold",children:"Error:"})," ",Y]}):null]});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(o.lV,{...ey,"data-sentry-element":"Form","data-sentry-source-file":"inner-evaluator-form.tsx",children:(0,l.jsxs)("form",{onSubmit:e=>{e.stopPropagation(),ey.handleSubmit(eC)(e)},onKeyDown:e=>{"Enter"===e.key&&e.target instanceof HTMLInputElement&&e.preventDefault()},className:"flex w-full flex-col gap-4",children:[e.useDialog?(0,l.jsx)(R.R4,{children:eO}):eO,eV&&(e.useDialog?(0,l.jsx)(R.Es,{children:eV}):(0,l.jsx)("div",{className:"mt-4 flex flex-row justify-end",children:eV}))]})}),(0,l.jsx)(R.lG,{open:es,onOpenChange:ei,"data-sentry-element":"Dialog","data-sentry-source-file":"inner-evaluator-form.tsx",children:(0,l.jsxs)(R.Cf,{"data-sentry-element":"DialogContent","data-sentry-source-file":"inner-evaluator-form.tsx",children:[(0,l.jsx)(R.c7,{"data-sentry-element":"DialogHeader","data-sentry-source-file":"inner-evaluator-form.tsx",children:(0,l.jsx)(R.L3,{"data-sentry-element":"DialogTitle","data-sentry-source-file":"inner-evaluator-form.tsx",children:"You selected a legacy evaluator"})}),(0,l.jsx)(R.R4,{className:"text-sm","data-sentry-element":"DialogBody","data-sentry-source-file":"inner-evaluator-form.tsx",children:"We strongly recommend using observation evaluators. Trace evaluators will be deprecated 
1in the future. Only proceed if you are sure you cannot upgrade your SDK version now."}),(0,l.jsxs)(R.Es,{"data-sentry-element":"DialogFooter","data-sentry-source-file":"inner-evaluator-form.tsx",children:[(0,l.jsx)(i.$,{variant:"outline",onClick:()=>ei(!1),"data-sentry-element":"Button","data-sentry-source-file":"inner-evaluator-form.tsx",children:"Cancel"}),(0,l.jsx)(i.$,{onClick:()=>{ei(!1),ep("trace");let e=ey.getValues("mapping").map(e=>({...e,langfuseObject:"trace"}));ey.setValue("filter",w.$i),ey.setValue("mapping",e),eI(m.availableTraceEvalVariables),ey.setValue("target","trace")},"data-sentry-element":"Button","data-sentry-source-file":"inner-evaluator-form.tsx",children:"Continue"})]})]})})]})}},75755:(e,a,t)=>{t.d(a,{o:()=>n});var l=t(93367);let r={isOtel:!1,isPropagating:!1};function n(e){var a,t;let{isOtel:n,isPropagating:s}=r,i=l.FH.evals.counts.useQuery({projectId:e}),o=(null!=(t=null==(a=i.data)?void 0:a.legacyConfigCount)?t:0)>0;return{isNewCompatible:n,allowLegacy:o||!n,allowPropagationFilters:n&&s,isLoading:i.isLoading,hasLegacyEvals:o}}},79071:(e,a,t)=>{t.d(a,{Fc:()=>o,TN:()=>d,XL:()=>c});
1var l=t(73154),r=t(96810),n=t(33616),s=t(81509);let i=(0,n.F)("relative w-full rounded-lg border p-3 [&>svg~*]:pl-6 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-3 [&>svg]:top-3 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),o=r.forwardRef((e,a)=>{let{className:t,variant:r,...n}=e;return(0,l.jsx)("div",{ref:a,role:"alert",className:(0,s.cn)(i({variant:r}),t),...n})});o.displayName="Alert";let c=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,l.jsx)("h5",{ref:a,className:(0,s.cn)("mb-1 font-medium leading-none tracking-tight",t),...r})});c.displayName="AlertTitle";let d=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,l.jsx)("div",{ref:a,className:(0,s.cn)("text-sm [&_p]:leading-relaxed",t),...r})});d.displayName="AlertDescription"},80740:(e,a,t)=>{t.d(a,{S:()=>o});var l=t(73154),r=t(96810),n=t(12953),s=t(92273),i=t(81509);let o=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,l.jsx)(n.bL,{ref:a,className:(0,i.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t),...r,children:(0,l.jsx)(n.C1,{className:(0,i.cn)("flex items-center justify-center text-current"),children:(0,l.jsx)(s.A,{className:"h-4 w-4"})})})});o.displayName=n.bL.displayName},82473:(e,a,t)=>{t.d(a,{y:()=>p});var l=t(73154),r=t(86843),n=t(11341),s=t(53524),i=t(76649),o=t(92125),c=t(66428),d=t(21),u=t(39156),m=t(96810);let p=e=>{var a;let{detailPagelists:t}=(0,i.h)(),p=null!=(a=t[e.listKey])?a:[],v=(0,o.B)(),x=(0,u.useRouter)(),g=p.findIndex(a=>a.id===e.currentId),h=g>0?p[g-1]:void 0,f=g<p.length-1?p[g+1]:void 0;return((0,m.useEffect)(()=>{let a=a=>{if(!(a.target instanceof HTMLInputElement||a.target instanceof HTMLTextAreaElement||a.target instanceof HTMLElement&&"textbox"===a.target.getAttribute("role"))&&!a.metaKey&&!a.ctrlKey){if("k"===a.key&&h){let a=e.path({id:encodeURIComponent(h.id),params:h.params});x.push(a)}else if("j"===a.key&&f){let a=e.path({id:encodeURIComponent(f.id),params:f.params});x.push(a)}}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[h,f,x,e]),p.length>1)?(0,l.jsxs)("div",{className:"flex flex-row gap-1",children:[(0,l.jsxs)(s.m_,{children:[(0,l.jsx)(s.k$,{asChild:!0,children:(0,l.jsxs)(r.$,{variant:"outline",type:"button",className:"p-2",disabled:!h,onClick:()=>{h&&(v("navigate_detail_pages:button_click_prev_or_next"),x.push(e.path({id:encodeURIComponent(h.id),params:h.params})))},children:[(0,l.jsx)(c.A,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"ml-1 h-4 w-4 rounded-sm bg-primary/80 text-xs text-primary-foreground shadow-sm",children:"K"})]})}),(0,l.jsxs)(s.ZI,{children:[(0,l.jsx)("span",{children:"Navigate up"}),(0,l.jsx)(n.ir,{className:"ml-2 rounded-sm bg-muted p-1 px-2",children:"k"})]})]}),(0,l.jsxs)(s.m_,{children:[(0,l.jsx)(s.k$,{asChild:!0,children:(0,l.jsxs)(r.$,{variant:"outline",type:"button",className:"p-2",disabled:!f,onClick:()=>{f&&(v("navigate_detail_pages:button_click_prev_or_next"),x.push(e.path({id:encodeURIComponent(f.id),params:f.params})))},children:[(0,l.jsx)(d.A,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"ml-1 h-4 w-4 rounded-sm bg-primary/80 text-xs text-primary-foreground shadow-sm",children:"J"})]})}),(0,l.jsxs)(s.ZI,{children:[(0,l.jsx)("span",{children:"Navigate down"}),(0,l.jsx)(n.ir,{className:"ml-2 rounded-sm bg-muted p-1 px-2",children:"j"})]})]})]}):null}},90859:(e,a,t)=>{t.d(a,{Xi:()=>c,av:()=>d,j7:()=>o,tU:()=>i});var l=t(73154),r=t(96810),n=t(5746),s=t(81509);let i=n.bL,o=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,l.jsx)(n.B8,{ref:a,className:(0,s.cn)("inline-flex h-8 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",t),...r})});o.displayName=n.B8.displayName;let c=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,l.jsx)(n.l9,{ref:a,className:(0,s.cn)("inline-flex h-6 items-center justify-center whitespace-nowrap rounded-sm px-2 py-0.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",t),...r})});c.displayName=n.l9.displayName;let d=r.forwardRef((e,a)=>{let{className:t,...r}=e;return(0,l.jsx)(n.UC,{ref:a,className:(0,s.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...r})});d.displayName=n.UC.displayName}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.