openpond 0.0.68 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{actions-command-DLOKFA34.js → actions-command-6N5XWMR6.js} +4 -4
- package/dist/chunks/{app-layer-K7NAOLDL.js → app-layer-EXXOWJ5H.js} +7 -7
- package/dist/chunks/{app-server-runtime-OFZZIWAB.js → app-server-runtime-7FBQBE3C.js} +10 -10
- package/dist/chunks/{apps-5VSVJLM7.js → apps-RZSDOFAG.js} +7 -7
- package/dist/chunks/{chunk-N6FKRVAT.js → chunk-47EIAYI7.js} +2 -2
- package/dist/chunks/{chunk-7FW2CVYN.js → chunk-4L3ZJS2T.js} +426 -1
- package/dist/chunks/{chunk-OOJP442J.js → chunk-5TKZBMQM.js} +1 -1
- package/dist/chunks/{chunk-WEB37YVJ.js → chunk-7C4OIFOC.js} +1 -1
- package/dist/chunks/{chunk-MUS7KPXK.js → chunk-BLFIIAWZ.js} +1931 -19
- package/dist/chunks/{chunk-3KLQ52B2.js → chunk-BVY5JYM6.js} +4 -9
- package/dist/chunks/{chunk-DBHSOTYZ.js → chunk-D7BO5Y5J.js} +3 -24
- package/dist/chunks/chunk-DLQQIWN2.js +648 -0
- package/dist/chunks/{chunk-T55IL3GI.js → chunk-DNXBJZAU.js} +1 -1
- package/dist/chunks/{chunk-KLD7NT5J.js → chunk-F36ZVO6U.js} +3 -3
- package/dist/chunks/{chunk-TSDVA7QP.js → chunk-FEOLMLYU.js} +8 -12
- package/dist/chunks/{chunk-QETF6ILG.js → chunk-FQS2QL5F.js} +359 -841
- package/dist/chunks/{chunk-J2REM7LE.js → chunk-HFPUR4CQ.js} +5 -116
- package/dist/chunks/{chunk-JIEUB6OS.js → chunk-J3YDKJFD.js} +1 -1
- package/dist/chunks/{chunk-JGOP4GCK.js → chunk-JTHL5XJ2.js} +5 -25
- package/dist/chunks/{chunk-OQLYO7TA.js → chunk-MMRJNSWY.js} +34 -81
- package/dist/chunks/{chunk-HFQHD35D.js → chunk-NPNIL6SQ.js} +1 -1
- package/dist/chunks/{chunk-IG72OKNB.js → chunk-OOM2PHBE.js} +2080 -16400
- package/dist/chunks/{chunk-PSGEH4FC.js → chunk-QTN6HXOR.js} +3 -3
- package/dist/chunks/{chunk-HNY7OSDY.js → chunk-SFMNGWNO.js} +1 -1
- package/dist/chunks/{chunk-TBEBLKCQ.js → chunk-WBAZFKC7.js} +3 -3
- package/dist/chunks/{chunk-NA4L2HQM.js → chunk-Y57RTLVV.js} +33 -33
- package/dist/chunks/{chunk-Z2ZWHU7O.js → chunk-YVCYVDNP.js} +1 -1
- package/dist/chunks/{cli-6WFY2ULA.js → cli-HIXVXM72.js} +8 -8
- package/dist/chunks/{core-commands-HQ3HL34W.js → core-commands-34SVH6ZQ.js} +8 -8
- package/dist/chunks/{desktop-test-RU6SRARQ.js → desktop-test-66DPBNJX.js} +7 -7
- package/dist/chunks/{extension-4KFKWMC4.js → extension-ZMRHCDO3.js} +36 -87
- package/dist/chunks/{help-ZUCPOR22.js → help-COHCZEP2.js} +1 -1
- package/dist/chunks/{opchat-AZX7SYM7.js → opchat-2PGW2GNN.js} +10 -18
- package/dist/chunks/{organizations-GV6Z7G4J.js → organizations-NZ4OY56V.js} +9 -9
- package/dist/chunks/{profile-TSLGZPUI.js → profile-GEMTRPUG.js} +11 -11
- package/dist/chunks/{project-agent-SHIQZWPY.js → project-agent-NX6YBGWC.js} +10 -10
- package/dist/chunks/{sandbox-command-TRS66NUT.js → sandbox-command-UEY53OJO.js} +8 -8
- package/dist/chunks/{sandbox-template-RVWXD5O3.js → sandbox-template-YKYRB645.js} +10 -10
- package/dist/chunks/{src-VUJ6EBOU.js → src-IXYDKOBI.js} +799 -965
- package/dist/chunks/{src-Q3BOITLJ.js → src-LKJBD5AM.js} +5 -5
- package/dist/chunks/{teams-bot-CLCMGBW5.js → teams-bot-K6KZHZJV.js} +7 -7
- package/dist/chunks/{workspaces-IIPITOCV.js → workspaces-WXM72UZF.js} +2 -2
- package/dist/cli.js +13 -13
- package/dist/index.js +15 -56
- package/dist/web/assets/App-BF9L0JUv.js +171 -0
- package/dist/web/assets/{AppDialog-sLTPiFGX.js → AppDialog-DX-xs3KA.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-B0NCyY4L.js → AppTerminalPanel-CYVj_ITT.js} +2 -2
- package/dist/web/assets/{AppsView-DyDyktK2.js → AppsView-ByjyGog7.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-C-PQxmQa.js → BrowserSidebar-BDwtMAZl.js} +1 -1
- package/dist/web/assets/{CartesianChart-CnerMhTr.js → CartesianChart-Dv6jJfPR.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-DJEp6dux.js → CollaborationTabs-CC5AIhMh.js} +1 -1
- package/dist/web/assets/{CommandMenu-B5lGz8rG.js → CommandMenu-Ct0Sx7yP.js} +1 -1
- package/dist/web/assets/{CommunityView-DQJaHBa5.js → CommunityView-C_zVE0jg.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-7hBR2bdV.js → ComposerCreateImproveStrip-CNn4OywM.js} +1 -1
- package/dist/web/assets/{GetStartedView-l1Cz1e7g.js → GetStartedView-DRFpHDLd.js} +1 -1
- package/dist/web/assets/LabModelVersionDetailPage-BzF-IVXQ.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-jlX5I_D5.js → LabSkillSidebar-B9jY4AgE.js} +1 -1
- package/dist/web/assets/{LabsRoute-D3w6nPSa.css → LabsRoute-CS_orT9s.css} +1 -1
- package/dist/web/assets/LabsRoute-Di1Zs4gZ.js +2 -0
- package/dist/web/assets/{MainChatThread-B1nXTMAf.js → MainChatThread-8VzlD8Hi.js} +2 -2
- package/dist/web/assets/{MainPane-DxVcMBFo.js → MainPane-StAOFINE.js} +3 -3
- package/dist/web/assets/{MarkdownText-B3njGyZS.js → MarkdownText-B8D_ftSJ.js} +1 -1
- package/dist/web/assets/{Messages-yBS4UHWl.js → Messages-TY62tiDp.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-DaD52aW1.js → NativeSkillSidebar-DjebFRoi.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-C7X_K5Xl.js → NewExperienceSwitcher-C-bJxHxY.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-NuPVF2Y7.js → NewProjectDialog-Cx8QcZm7.js} +1 -1
- package/dist/web/assets/{OutputsPage-Bmof4Tdv.js → OutputsPage-Y9HM-SHX.js} +1 -1
- package/dist/web/assets/{ProjectsPage-D7opg6ff.js → ProjectsPage-BBr58yKT.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-BzsNeSwx.js → RightChatPanelStack-DzUbDKwp.js} +1 -1
- package/dist/web/assets/{RightSidebarHomePanel-D8dAMHcp.js → RightSidebarHomePanel-Dx-1elSI.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-Dkjhof6t.js → ScheduledWorkPage-BuXw_W8b.js} +1 -1
- package/dist/web/assets/SettingsView-DB_zPHYY.js +6 -0
- package/dist/web/assets/{TeamChatView-DIxvrgai.js → TeamChatView-Bkyhu40R.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-Cd0Sp9LD.js → TerminalOverlay-CaCkZDzO.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-DACYaOny.js → TrainingCreationPanel-Vvi41WNT.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DBWJW8ZD.js → TrainingDraftPanel-C2C3hffI.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-B3sbqaUV.js → UsageSettingsSection-DpPBd-ra.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-D4yXQ64j.js → WorkSidebarPanel-CeWGboTh.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-CBgPVF1P.js → WorkspaceDiffPanel-D_zKOW4K.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-Bp-9V7Jq.js → WorkspaceEnvironmentMenu-BTz9FISP.js} +3 -3
- package/dist/web/assets/{WorkspaceGitDialogs-BxU5Uhpz.js → WorkspaceGitDialogs-BnBRUYpS.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-Db_sWYFt.js → WorkspaceMonacoEditor--GOVrHFp.js} +3 -3
- package/dist/web/assets/{activity-BzKyRXbd.js → activity-DA5DNQwD.js} +1 -1
- package/dist/web/assets/{arrow-up-right-DaIxkG4K.js → arrow-up-right-BRZWXpqJ.js} +1 -1
- package/dist/web/assets/{chat-file-links-wORSEipQ.js → chat-file-links-CgFHK89C.js} +1 -1
- package/dist/web/assets/chevron-up-DSv2auz_.js +1 -0
- package/dist/web/assets/{clipboard-BTRsPPaK.js → clipboard-dPd_3lpG.js} +1 -1
- package/dist/web/assets/{cloud-upload-BYXHJoKd.js → cloud-upload-DOwvN4hp.js} +1 -1
- package/dist/web/assets/{cssMode-Be446Wgi.js → cssMode-BM4j9M0D.js} +1 -1
- package/dist/web/assets/{folder-open-KtKTXn4w.js → folder-open-DavjPCw4.js} +1 -1
- package/dist/web/assets/{folder-plus-9-Xcli22.js → folder-plus-Dyqast6G.js} +1 -1
- package/dist/web/assets/{git-branch-CLGxzDjJ.js → git-branch-zKnZdQiX.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CmVYsUnh.js → git-commit-horizontal-s3X0cQlz.js} +1 -1
- package/dist/web/assets/{htmlMode-DTjTyBB_.js → htmlMode-Nlx7ckXa.js} +1 -1
- package/dist/web/assets/{index-DqWw2ymf.js → index-5-B6FIuE.js} +1 -1
- package/dist/web/assets/index-CQ3CPVHZ.css +1 -0
- package/dist/web/assets/index-CuoGlf-W.js +1 -0
- package/dist/web/assets/{info-BLmP4K0e.js → info-CVvrNOHr.js} +1 -1
- package/dist/web/assets/{jsonMode-Z-2iim-u.js → jsonMode-B7monA6g.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-Cr2iCfG2.js → lspLanguageFeatures-CcJ9GDtK.js} +1 -1
- package/dist/web/assets/{minimize-2-CWA6iO3r.js → minimize-2-O1DnznGK.js} +1 -1
- package/dist/web/assets/{monaco.contribution-YhqlKmCp.js → monaco.contribution-2PozfA9g.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BtMcDmCM.js → monaco.contribution-BMAF2bmO.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Cac9eBUk.js → monaco.contribution-BSJ2jQTi.js} +2 -2
- package/dist/web/assets/{monaco.contribution-NtjNqMdv.js → monaco.contribution-QOOCizYq.js} +2 -2
- package/dist/web/assets/{play-DYSQH2rx.js → play-BpCc5ZbR.js} +1 -1
- package/dist/web/assets/{python-CNqOWXNv.js → python-BK41iew-.js} +1 -1
- package/dist/web/assets/{refresh-cw-DMysDKOA.js → refresh-cw-Csoy1ev1.js} +1 -1
- package/dist/web/assets/{save-HPZ4ZiDi.js → save-Dbztj0W7.js} +1 -1
- package/dist/web/assets/{square-D-mpY1a-.js → square-ju7fWa0W.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-Bccdn3Qi.js → toggleHighContrast-DrmwDpyz.js} +1 -1
- package/dist/web/assets/{tsMode-BhcKJxhG.js → tsMode-CFgCMr7d.js} +1 -1
- package/dist/web/assets/{upload-DE7xaWVj.js → upload-C5nhiSMq.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-C0J--_MD.js → useLocalAgentSchedules-LAsobERb.js} +1 -1
- package/dist/web/assets/{wifi-off-CrCfhll9.js → wifi-off-BHxh2UbA.js} +1 -1
- package/dist/web/assets/{workers-DCaGzukk.js → workers-FKb-NyBI.js} +1 -1
- package/dist/web/assets/{yaml-CCfH63KB.js → yaml-C5DbF9S6.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/api/vercel-protection.d.ts +0 -1
- package/dist/chunks/chunk-MLWNI3WG.js +0 -15395
- package/dist/web/assets/App-D7vhbyMO.js +0 -171
- package/dist/web/assets/LabModelVersionDetailPage-D2PfI3-r.js +0 -1
- package/dist/web/assets/LabsRoute-VOgPrf94.js +0 -2
- package/dist/web/assets/SettingsView-CWTAUy2b.js +0 -6
- package/dist/web/assets/chevron-up-C8-qSzck.js +0 -1
- package/dist/web/assets/index-AzqEDIEY.css +0 -1
- package/dist/web/assets/index-C5uP_Gug.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as u,j as a}from"./index-DqWw2ymf.js";import{am as ut,o as pt,a as mt}from"./App-D7vhbyMO.js";import{a as me,i as ie,aw as Be,al as Ve,ax as Ke,ay as ht,a1 as he,X as ve,W as fe,d as Ue,af as vt,az as ft,y as de,ag as _e,aA as xt,aB as gt,E as xe,H as We,aC as bt,J as Ge,K as qe,M as yt,aD as jt,L as Ne,p as kt,r as He,aE as Nt,Z as Je,_ as Pt,$ as wt,a0 as At,a2 as q,a3 as Xe,a4 as St,a5 as Tt,a6 as It,aF as Ct,a7 as Et,ab as $t,a9 as Rt,aa as Ye,aG as Pe,ah as Lt,ai as Ot,aj as Dt,ak as Mt,s as zt,D as Ft,ap as Bt,aq as Vt,ar as Kt,as as Ut,at as _t,au as Wt,av as Gt}from"./CartesianChart-CnerMhTr.js";import{s as z,c as H,b as J,g as we,d as le,f as ce}from"./training-model-data-CKOkpBBL.js";import{L as te,b as ge,a as qt,l as Ht,c as Jt,d as Xt,e as Yt,m as Zt,f as Qt,g as ea,M as Ze,h as ta,E as Ae}from"./LabsRoute-VOgPrf94.js";import"./index-C5uP_Gug.js";import"./cloud-upload-BYXHJoKd.js";import"./MainPane-DxVcMBFo.js";import"./chat-file-links-wORSEipQ.js";import"./arrow-up-right-DaIxkG4K.js";import"./square-D-mpY1a-.js";import"./AppDialog-sLTPiFGX.js";import"./ComposerCreateImproveStrip-7hBR2bdV.js";import"./play-DYSQH2rx.js";import"./refresh-cw-DMysDKOA.js";/* empty css */function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ue.apply(null,arguments)}var Qe=e=>{var t=e.cx,n=e.cy,r=e.r,l=e.className,i=me("recharts-dot",l);return ie(t)&&ie(n)&&ie(r)?u.createElement("circle",ue({},Ve(e),Be(e),{className:i,cx:t,cy:n,r})):null},aa=["points"];function Se(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function se(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Se(Object(n),!0).forEach(function(r){na(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Se(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function na(e,t,n){return(t=ra(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ra(e){var t=ia(e,"string");return typeof t=="symbol"?t:t+""}function ia(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(null,arguments)}function la(e,t){if(e==null)return{};var n,r,l=sa(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function sa(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function oa(e){var t=e.option,n=e.dotProps,r=e.className;if(u.isValidElement(t))return u.cloneElement(t,n);if(typeof t=="function")return t(n);var l=me(r,typeof t!="boolean"?t.className:""),i=n??{};i.points;var o=la(i,aa);return u.createElement(Qe,Q({},o,{className:l}))}function da(e,t){return e==null?!1:t?!0:e.length===1}function ca(e){var t=e.points,n=e.dot,r=e.className,l=e.dotClassName,i=e.dataKey,o=e.baseProps,s=e.needClip,d=e.clipPathId,c=e.zIndex,m=c===void 0?ve.scatter:c;if(!da(t,n))return null;var p=Ke(n),v=ht(n),g=t.map((j,y)=>{var w,h,f=se(se(se({r:3},o),v),{},{index:y,cx:(w=j.x)!==null&&w!==void 0?w:void 0,cy:(h=j.y)!==null&&h!==void 0?h:void 0,dataKey:i,value:j.value,payload:j.payload,points:t});return u.createElement(oa,{key:"dot-".concat(y),option:n,dotProps:f,className:l})}),b={};return s&&d!=null&&(b.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(d,")")),u.createElement(he,{zIndex:m},u.createElement(fe,Q({className:r},b),g))}function Te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function oe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Te(Object(n),!0).forEach(function(r){ua(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Te(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ua(e,t,n){return(t=pa(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pa(e){var t=ma(e,"string");return typeof t=="symbol"?t:t+""}function ma(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ha=e=>{var t=e.point,n=e.childIndex,r=e.mainColor,l=e.activeDot,i=e.dataKey,o=e.clipPath;if(l===!1||t.x==null||t.y==null)return null;var s={index:n,dataKey:i,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=oe(oe(oe({},s),_e(l)),Be(l)),c;return u.isValidElement(l)?c=u.cloneElement(l,d):typeof l=="function"?c=l(d):c=u.createElement(Qe,d),u.createElement(fe,{className:"recharts-active-dot",clipPath:o},c)};function va(e){var t=e.points,n=e.mainColor,r=e.activeDot,l=e.itemDataKey,i=e.clipPath,o=e.zIndex,s=o===void 0?ve.activeDot:o,d=Ue(vt),c=ft();if(t==null||c==null)return null;var m=t.find(p=>c.includes(p.payload));return de(m)?null:u.createElement(he,{zIndex:s},u.createElement(ha,{point:m,childIndex:Number(d),mainColor:n,dataKey:l,activeDot:r,clipPath:i}))}var fa=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function pe(){return pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},pe.apply(null,arguments)}function xa(e,t){if(e==null)return{};var n,r,l=ga(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function ga(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function ba(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function et(e,t){return"".concat(t,"px ").concat(e,"px")}function ya(e){return e.length%2!==0?[...e,...e]:e}function ja(e,t){for(var n=[],r=0;r<t;++r)n.push(...e);return n}function ka(e,t,n){var r=ya(n),l=r.reduce((g,b)=>g+b,0);if(!l)return et(t,e);for(var i=Math.floor(e/l),o=e%l,s=[],d=0,c=0;d<r.length;c+=(m=r[d])!==null&&m!==void 0?m:0,++d){var m,p=r[d];if(p!=null&&c+p>o){s=[...r.slice(0,d),o-c];break}}var v=s.length%2===0?[0,t]:[t];return[...ja(r,i),...s,...v].map(g=>"".concat(g,"px")).join(", ")}function Na(e,t,n){if(e){var r="".concat(e).split(/[,\s]+/gim).map(l=>parseFloat(l));return ka(n,t,r)}return et(t,n)}function Pa(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,l=xa(e,fa),i=r??!1,o;if(t!=null){var s,d=l.pathRef,c=ba((s=d?.current)!==null&&s!==void 0?s:null);o=Na(n,c,t)}else n!=null&&(o=String(n));return u.createElement(xt,pe({},l,{connectNulls:i,strokeDasharray:o}))}function wa(e){var t=u.useRef(0),n=u.useRef(0),r=u.useRef(!1),l=u.useRef(e);return l.current!==e&&(t.current=n.current,l.current=e),u.useCallback((i,o)=>{if(r.current)return null;var s=Math.min(gt(t.current+i*o),o);return i>0&&o>0&&(n.current=Math.max(n.current,s),s>=o)?(r.current=!0,null):s},[])}var tt=(e,t,n,r)=>Ge(e,"xAxis",t,r),at=(e,t,n,r)=>qe(e,"xAxis",t,r),nt=(e,t,n,r)=>Ge(e,"yAxis",n,r),rt=(e,t,n,r)=>qe(e,"yAxis",n,r),Aa=xe([We,tt,nt,at,rt],(e,t,n,r,l)=>jt(e,"xAxis")?Ne(t,r,!1):Ne(n,l,!1)),Sa=(e,t,n,r,l)=>l;function Ta(e){return e.type==="line"}var Ia=xe([yt,Sa],(e,t)=>e.filter(Ta).find(n=>n.id===t)),Ca=xe([We,tt,nt,at,rt,Ia,Aa,bt],(e,t,n,r,l,i,o,s)=>{var d=s.chartData,c=s.dataStartIndex,m=s.dataEndIndex;if(!(i==null||t==null||n==null||r==null||l==null||r.length===0||l.length===0||o==null||e!=="horizontal"&&e!=="vertical")){var p=i.dataKey,v=i.data,g;if(v!=null&&v.length>0?g=v:g=d?.slice(c,m+1),g!=null)return Za({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:l,dataKey:p,bandSize:o,displayedData:g})}});function Ea(e){var t=_e(e),n=3,r=2;if(t!=null){var l=t.r,i=t.strokeWidth,o=Number(l),s=Number(i);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}var $a=["id"],Ra=["type","layout","connectNulls","needClip","shape","strokeDasharray"],La=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ee.apply(null,arguments)}function be(e,t){if(e==null)return{};var n,r,l=Oa(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function Oa(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function D(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ie(Object(n),!0).forEach(function(r){Da(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Da(e,t,n){return(t=Ma(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ma(e){var t=za(e,"string");return typeof t=="symbol"?t:t+""}function za(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fa(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function Ba(e){var t=0,n=0;for(var r of e)r.status==="matched"&&r.prev.x!=null&&r.next.x!=null&&(t+=r.next.x-r.prev.x,n++);return n>0?t/n:0}var Va=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(s=>s.status==="removed"?[]:[s.next]);var n=Ba(e),r=[];for(var l of e)if(l.status==="matched")r.push(D(D({},l.next),{},{x:q(l.prev.x,l.next.x,t),y:q(l.prev.y,l.next.y,t)}));else if(l.status==="added")if(l.next.x!=null){var i=l.next.x-n;r.push(D(D({},l.next),{},{x:q(i,l.next.x,t),y:l.next.y}))}else r.push(l.next);else if(l.status==="removed"&&l.prev.x!=null){var o=l.prev.x+n;r.push(D(D({},l.prev),{},{x:q(l.prev.x,o,t),y:l.prev.y}))}return r},ye={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Va,animationMatchBy:Nt,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:Pa,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:ve.line,type:"linear"},Ka=e=>{var t=e.dataKey,n=e.name,r=e.stroke,l=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:l,color:r,value:Xe(n,t),payload:e}]},Ua=u.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,l=e.strokeWidth,i=e.fill,o=e.name,s=e.hide,d=e.unit,c=e.formatter,m=e.tooltipType,p=e.id,v={dataDefinedOnItem:n,getPosition:Tt,settings:{stroke:r,strokeWidth:l,fill:i,dataKey:t,nameKey:void 0,name:Xe(o,t),hide:s,type:m,color:r,unit:d,formatter:c,graphicalItemId:p}};return u.createElement(St,{tooltipEntrySettings:v})});function _a(e){var t=e.clipPathId,n=e.points,r=e.props,l=r.dot,i=r.dataKey,o=r.needClip;r.id;var s=be(r,$a),d=Ve(s);return u.createElement(ca,{points:n,dot:l,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:i,baseProps:d,needClip:o,clipPathId:t})}function Wa(e){var t=e.showLabels,n=e.children,r=e.points,l=u.useMemo(()=>r?.map(i=>{var o,s,d={x:(o=i.x)!==null&&o!==void 0?o:0,y:(s=i.y)!==null&&s!==void 0?s:0,width:0,lowerWidth:0,upperWidth:0,height:0};return D(D({},d),{},{value:i.value,payload:i.payload,viewBox:d,parentViewBox:void 0,fill:void 0})}),[r]);return u.createElement(Mt,{value:t?l:void 0},n)}function Ga(e){var t=e.clipPathId,n=e.pathRef,r=e.points,l=e.props,i=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,d=e.visibleLength,c=l.type,m=l.layout,p=l.connectNulls,v=l.needClip,g=l.shape,b=l.strokeDasharray,j=be(l,Ra),y=D(D({},zt(j)),{},{fill:"none",className:"recharts-line-curve",clipPath:v?"url(#clipPath-".concat(t,")"):void 0,points:r,type:c,layout:m,connectNulls:p,strokeDasharray:b??l.strokeDasharray,pathRef:n,animationElapsedTime:i,isAnimating:o,isEntrance:l.animateNewValues?s:!1,visibleLength:d});return u.createElement(u.Fragment,null,r?.length>1&&u.createElement(Ft,{option:g,DefaultShape:ye.shape,shapeProps:y}),u.createElement(_a,{points:r,clipPathId:t,props:l}))}function qa(e){var t=e.clipPathId,n=e.props,r=e.pathRef,l=e.previousPointsRef,i=n.points,o=n.isAnimationActive,s=n.animationBegin,d=n.animationDuration,c=n.animationEasing,m=n.animationMatchBy,p=n.animationInterpolateFn,v=n.layout,g=Fa(r.current),b=Lt(n.onAnimationStart,n.onAnimationEnd),j=b.isAnimating,y=b.handleAnimationStart,w=b.handleAnimationEnd,h=!j,f=wa(i),E=u.useCallback(T=>T>0&&g>0,[g]);return u.createElement(Wa,{points:i,showLabels:h},n.children,u.createElement(Ot,{animationInput:i,animationIdPrefix:"recharts-line-",items:i,previousItemsRef:l,isAnimationActive:o,animationBegin:s,animationDuration:d,animationEasing:c,onAnimationStart:y,onAnimationEnd:w,animationInterpolateFn:p,animationMatchBy:m,shouldUpdatePreviousRef:E,layout:v},(T,A,N)=>{var M=j||A<1,F=M?f(A,g):null;return u.createElement(Ga,{props:n,points:T,clipPathId:t,pathRef:r,animationElapsedTime:A,isAnimating:M,isEntrance:N,visibleLength:F})}),u.createElement(Dt,{label:n.label}))}function Ha(e){var t=e.clipPathId,n=e.props,r=u.useRef(null),l=u.useRef(null);return u.createElement(qa,{props:n,clipPathId:t,previousPointsRef:r,pathRef:l})}var Ja=(e,t)=>{var n,r;return{x:(n=e.x)!==null&&n!==void 0?n:void 0,y:(r=e.y)!==null&&r!==void 0?r:void 0,value:e.value,errorVal:Ye(e.payload,t)}};class Xa extends u.Component{render(){var t=this.props,n=t.hide,r=t.dot,l=t.points,i=t.className,o=t.xAxisId,s=t.yAxisId,d=t.top,c=t.left,m=t.width,p=t.height,v=t.id,g=t.needClip,b=t.zIndex;if(n)return null;var j=me("recharts-line",i),y=v,w=Ea(r),h=w.r,f=w.strokeWidth,E=Ke(r),T=h*2+f,A=g?"url(#clipPath-".concat(E?"":"dots-").concat(y,")"):void 0;return u.createElement(he,{zIndex:b},u.createElement(fe,{className:j},g&&u.createElement("defs",null,u.createElement($t,{clipPathId:y,xAxisId:o,yAxisId:s}),!E&&u.createElement("clipPath",{id:"clipPath-dots-".concat(y)},u.createElement("rect",{x:c-T/2,y:d-T/2,width:m+T,height:p+T}))),u.createElement(Rt,{xAxisId:o,yAxisId:s,data:l,dataPointFormatter:Ja,errorBarOffset:0},u.createElement(Ha,{props:this.props,clipPathId:y}))),u.createElement(va,{activeDot:this.props.activeDot,points:l,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:A}))}}function Ya(e){var t=He(e,ye),n=t.activeDot,r=t.animateNewValues,l=t.animationBegin,i=t.animationDuration,o=t.animationEasing,s=t.connectNulls,d=t.dot,c=t.hide,m=t.isAnimationActive,p=t.label,v=t.legendType,g=t.xAxisId,b=t.yAxisId,j=t.id,y=be(t,La),w=It(g,b),h=w.needClip,f=Ct(),E=Et(),T=Je(),A=Ue(L=>Ca(L,g,b,T,j));if(E!=="horizontal"&&E!=="vertical"||A==null||f==null)return null;var N=f.height,M=f.width,F=f.x,R=f.y;return u.createElement(Xa,ee({},y,{id:j,connectNulls:s,dot:d,activeDot:n,animateNewValues:r,animationBegin:l,animationDuration:i,animationEasing:o,isAnimationActive:m,hide:c,label:p,legendType:v,xAxisId:g,yAxisId:b,points:A,layout:E,height:N,width:M,left:F,top:R,needClip:h}))}function Za(e){var t=e.layout,n=e.xAxis,r=e.yAxis,l=e.xAxisTicks,i=e.yAxisTicks,o=e.dataKey,s=e.bandSize,d=e.displayedData;return d.map((c,m)=>{var p=Ye(c,o);if(t==="horizontal"){var v=Pe({axis:n,ticks:l,bandSize:s,entry:c,index:m}),g=de(p)?null:r.scale.map(p);return{x:v,y:g??null,value:p,payload:c}}var b=de(p)?null:n.scale.map(p),j=Pe({axis:r,ticks:i,bandSize:s,entry:c,index:m});return b==null||j==null?null:{x:b,y:j,value:p,payload:c}}).filter(Boolean)}function Qa(e){var t=He(e,ye),n=Je();return u.createElement(Pt,{id:t.id,type:"line"},r=>u.createElement(u.Fragment,null,u.createElement(wt,{legendPayload:Ka(t)}),u.createElement(Ua,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:r}),u.createElement(At,{type:"line",id:r,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),u.createElement(Ya,ee({},t,{id:r}))))}var it=u.memo(Qa,kt);it.displayName="Line";var en=["axis"],tn=u.forwardRef((e,t)=>u.createElement(Bt,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:en,tooltipPayloadSearcher:Vt,categoricalChartProps:e,ref:t}));function an({events:e}){const t=e.filter(n=>n.type==="metric"&&n.payload.metricKind==="rollout_trajectory");return t.length?a.jsx("div",{className:"training-rollout-receipts",children:t.map((n,r)=>{const l=n.payload.rewardEligible===!0,i=K(n.payload.reward),o=typeof n.payload.failureClass=="string"?n.payload.failureClass:null,s=typeof n.payload.failureCode=="string"?n.payload.failureCode:null;return a.jsxs("details",{children:[a.jsxs("summary",{children:[a.jsxs("span",{children:["Attempt ",r+1]}),a.jsx("strong",{children:l?"eligible":"ineligible"}),a.jsx("em",{children:l&&i!=null?i.toFixed(3):s??o??"not reward eligible"})]}),a.jsxs("dl",{className:"training-configuration-list",children:[a.jsx(k,{label:"Rollout",value:Ce(n.payload.rolloutId)}),a.jsx(k,{label:"Group",value:Ce(n.payload.rolloutGroupId)}),a.jsx(k,{label:"Policy",value:`v${K(n.payload.policyVersion)??0}`}),a.jsx(k,{label:"Worker",value:String((K(n.payload.workerSlot)??0)+1)}),a.jsx(k,{label:"Reward",value:i==null?"Not eligible":String(i)}),a.jsx(k,{label:"Failure class",value:o??"None"}),a.jsx(k,{label:"Failure code",value:s??"None"}),a.jsx(k,{label:"Components",value:JSON.stringify(n.payload.rewardComponents??{})}),a.jsx(k,{label:"Tokens",value:`${K(n.payload.inputTokens)??0} input · ${K(n.payload.outputTokens)??0} output`})]})]},n.id)})}):a.jsx("div",{className:"training-run-placeholder",children:"No managed attempts were recorded for this run."})}function nn({receipts:e}){const[t,n]=u.useState(!1);if(!e.length)return a.jsx("div",{className:"training-run-placeholder",children:"No on-policy rollout receipts were recorded for this run."});const r=[...e].sort((i,o)=>o.updatedAt.localeCompare(i.updatedAt)),l=t?r:r.slice(0,24);return a.jsxs("div",{className:"training-rollout-receipts",children:[e.length>24?a.jsxs("div",{className:"training-rollout-receipt-controls",children:[a.jsx("span",{children:t?`Showing all ${e.length} receipts`:`Showing latest ${l.length} of ${e.length} receipts`}),a.jsx("button",{className:"training-text-button",type:"button",onClick:()=>n(i=>!i),children:t?"Show latest 24":`Show all ${e.length}`})]}):null,l.map(i=>a.jsxs("details",{children:[a.jsxs("summary",{children:[a.jsx("span",{children:rn(i.providerTrace.rolloutId)}),a.jsx("strong",{children:i.status}),a.jsx("em",{children:i.reward.eligible&&i.reward.raw!=null?i.reward.raw.toFixed(3):i.failureClass??"not reward eligible"})]}),a.jsxs("dl",{className:"training-configuration-list",children:[a.jsx(k,{label:"Correlation",value:i.correlationId}),a.jsx(k,{label:"Task",value:i.taskId}),a.jsx(k,{label:"Policy",value:i.policy.modelId}),a.jsx(k,{label:"Checkpoint",value:i.policy.checkpointId??"Provider initial policy"}),a.jsx(k,{label:"Environment",value:`${i.environment.id}@${i.environment.version}`}),a.jsx(k,{label:"World",value:`${i.environment.worldId} · ${i.environment.worldHash}`}),a.jsx(k,{label:"Raw reward",value:i.reward.raw==null?"Not eligible":String(i.reward.raw)}),a.jsx(k,{label:"Components",value:JSON.stringify(i.reward.components)}),a.jsx(k,{label:"Outcome",value:i.verifier?.outcome??i.failureClass??"Pending"}),a.jsx(k,{label:"Trace",value:`${i.providerTrace.experimentId}/${i.providerTrace.rolloutId}`})]})]},i.id))]})}function k({label:e,value:t}){return a.jsxs("div",{children:[a.jsx("dt",{children:e}),a.jsx("dd",{children:t})]})}function K(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Ce(e){return typeof e=="string"&&e?e:"Not recorded"}function rn(e){return e.replace(/^lineage_/,"").slice(0,18)}function ln({detail:e,loading:t,pending:n=!1}){if(t&&!e)return a.jsx("div",{className:"training-run-placeholder",children:"Loading evaluation results…"});const r=e?.evaluation;return r?a.jsxs("div",{className:"training-run-evaluation",children:[a.jsxs("div",{className:"training-metric-summary",children:[a.jsx(X,{label:"Base score",value:Ee(r.base.meanScore)}),a.jsx(X,{label:"Trained score",value:Ee(r.trained.meanScore)}),a.jsx(X,{label:"Score change",value:dn(r.meanScoreDelta)}),a.jsx(X,{label:"Trained pass rate",value:on(r.trained.passRate)})]}),r.base.count===0?a.jsx("p",{className:"training-muted",children:"Base-model scoring was not imported for this earlier run. New runs retain both base and trained evaluations."}):null,r.trained.count>0&&r.trained.scoredCount===0?a.jsx("p",{className:"training-muted",children:"Outputs were captured, but the grader was unavailable, so this run has no evaluation score."}):null,a.jsx("div",{className:"training-table-wrap",children:a.jsxs("table",{className:"training-data-table training-evaluation-table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Test example"}),a.jsx("th",{children:"Base"}),a.jsx("th",{children:"Trained"}),a.jsx("th",{children:"Result"})]})}),a.jsx("tbody",{children:r.examples.map(l=>a.jsxs("tr",{children:[a.jsx("td",{children:a.jsxs("details",{children:[a.jsx("summary",{children:l.taskId}),a.jsx(sn,{input:l.input,baseOutput:l.baseOutput,trainedOutput:l.trainedOutput,baseGrade:l.baseGrade,trainedGrade:l.trainedGrade})]})}),a.jsx("td",{children:$e(l.baseGrade)}),a.jsx("td",{children:$e(l.trainedGrade)}),a.jsx("td",{children:cn(l.baseGrade,l.trainedGrade)})]},l.taskId))})]})})]}):a.jsx("div",{className:"training-run-placeholder",children:n?"Evaluation will appear here after the first eligible checkpoint is scored.":"No scored evaluation results are available for this run."})}function sn({input:e,baseOutput:t,trainedOutput:n,baseGrade:r,trainedGrade:l}){const i=[...new Set([...r?.feedback??[],...l?.feedback??[]])];return a.jsxs("div",{className:"training-evaluation-output",children:[a.jsxs("div",{children:[a.jsx("span",{children:"Input"}),a.jsx("pre",{children:JSON.stringify(e,null,2)})]}),t?a.jsxs("div",{children:[a.jsx("span",{children:"Base output"}),a.jsx("pre",{children:JSON.stringify(t,null,2)})]}):null,n?a.jsxs("div",{children:[a.jsx("span",{children:"Trained output"}),a.jsx("pre",{children:JSON.stringify(n,null,2)})]}):null,i.length?a.jsxs("div",{children:[a.jsx("span",{children:"Grader feedback"}),a.jsx("p",{children:i.join(" ")})]}):null]})}function X({label:e,value:t}){return a.jsxs("div",{children:[a.jsx("span",{children:e}),a.jsx("strong",{children:t})]})}function Ee(e){return e==null?"Not recorded":e.toFixed(3)}function on(e){return e==null?"Not recorded":`${Math.round(e*100)}%`}function dn(e){return e==null?"Not comparable":`${e>=0?"+":""}${e.toFixed(3)}`}function $e(e){return e?.status==="unavailable"?"Unavailable":e?.score==null?"Not scored":e.score.toFixed(3)}function cn(e,t){if(!t)return"Not evaluated";if(t.status==="unavailable")return"Unavailable";if(!e||e.score==null||t.score==null)return t.passed?"Passed":"Failed";const n=t.score-e.score;return Math.abs(n)<5e-4?"No change":n>0?`Improved ${n.toFixed(3)}`:`Regressed ${Math.abs(n).toFixed(3)}`}const un=[{id:"rollout.reward",label:"Rollout reward",points:[]},{id:"optimizer.reward",label:"Mean reward",points:[]},{id:"reward.variance",label:"Reward variance",points:[]},{id:"optimizer.kl",label:"KL divergence",points:[]},{id:"optimizer.policy_loss",label:"Policy loss",points:[]},{id:"optimizer.learning_rate",label:"Learning rate",points:[],format:"scientific"}];function pn({series:e,loading:t=!1,live:n=!1}){const[r,l]=u.useState(!1),i=u.useMemo(()=>{const o=e.filter(d=>d.points.length);if(!t&&!n)return o;const s=new Map(o.map(d=>[d.id,d]));for(const d of un)s.has(d.id)||s.set(d.id,d);return[...s.values()]},[n,t,e]);return i.length?a.jsxs("section",{className:"training-metric-workbench","aria-label":"Training metrics",children:[a.jsxs("header",{className:"training-metric-workbench-toolbar",children:[a.jsxs("div",{children:[a.jsx("h3",{children:"Training metrics"}),a.jsx("p",{children:n?"Live metrics update as each rollout and optimizer step completes.":`${i.length} recorded metric ${i.length===1,"series"}.`})]}),a.jsxs("div",{className:"training-metric-view-toggle","aria-label":"Metric trend",role:"group",children:[a.jsx("button",{className:r?void 0:"active",type:"button",onClick:()=>l(!1),children:"Raw"}),a.jsx("button",{className:r?"active":void 0,type:"button",onClick:()=>l(!0),children:"Smoothed"})]})]}),a.jsx("div",{className:"training-metric-chart-grid",children:i.map(o=>a.jsx(mn,{loading:t&&!o.points.length,metric:o,pending:n&&!o.points.length,smoothed:r},o.id))})]}):a.jsx("div",{className:"training-run-placeholder",children:"This run did not report chartable metrics."})}const mn=u.memo(function({metric:t,loading:n,pending:r,smoothed:l}){const i=u.useMemo(()=>l?hn(t.points,3):t.points,[t.points,l]),o=u.useMemo(()=>t.points.length?vn(t.points.map(d=>d.value)):null,[t.points]),s=d=>fn(d,t.format);return a.jsxs("article",{className:"training-metric-chart-card",children:[a.jsxs("header",{children:[a.jsxs("div",{children:[a.jsx("h4",{children:t.label}),a.jsx("span",{children:t.points.length?`${t.points.length} ${t.points.length===1?"point":"points"}`:r?"Live":"No data"})]}),o?a.jsx("strong",{children:s(o.latest)}):null]}),t.points.length?a.jsx("div",{className:"training-metric-card-chart","aria-label":`${t.label} by optimizer step`,children:a.jsx(Kt,{height:"100%",width:"100%",children:a.jsxs(tn,{data:i,margin:{top:18,right:18,bottom:4,left:0},children:[a.jsx(Ut,{stroke:"var(--border)",strokeDasharray:"3 4",vertical:!1}),a.jsx(_t,{axisLine:!1,dataKey:"step",fontSize:10,stroke:"var(--muted)",tickLine:!1}),a.jsx(Wt,{axisLine:!1,dataKey:"value",domain:t.format==="percent"?[0,1]:["auto","auto"],fontSize:10,stroke:"var(--muted)",tickFormatter:s,tickLine:!1,width:66}),a.jsx(Gt,{contentStyle:{background:"var(--panel)",border:"1px solid var(--border)",borderRadius:8,fontSize:11},formatter:d=>[s(Number(d)),t.label],labelFormatter:d=>`Step ${d}`}),a.jsx(it,{activeDot:{r:5},dataKey:"value",dot:{r:2.5},isAnimationActive:!1,stroke:"var(--accent, #f97316)",strokeWidth:2,type:"monotone"})]})})}):a.jsxs("div",{className:n?"training-metric-chart-empty is-loading":"training-metric-chart-empty",children:[n?a.jsxs("span",{className:"sr-only",children:["Loading ",t.label]}):null,n?null:a.jsx("span",{children:r?"Waiting for rollout…":"No data reported"})]}),o?a.jsxs("dl",{className:"training-metric-card-stats",children:[a.jsx(Y,{label:"Mean",value:s(o.mean)}),a.jsx(Y,{label:"Min",value:s(o.min)}),a.jsx(Y,{label:"Max",value:s(o.max)}),a.jsx(Y,{label:"Std. dev.",value:s(o.standardDeviation)})]}):null]})});function Y({label:e,value:t}){return a.jsxs("div",{children:[a.jsx("dt",{children:e}),a.jsx("dd",{children:t})]})}function hn(e,t){return e.map((n,r)=>{const l=e.slice(Math.max(0,r-t+1),r+1);return{step:n.step,value:l.reduce((i,o)=>i+o.value,0)/l.length}})}function vn(e){const t=[...e].sort((l,i)=>l-i),n=e.reduce((l,i)=>l+i,0)/e.length,r=e.reduce((l,i)=>l+(i-n)**2,0)/e.length;return{latest:e.at(-1),mean:n,min:t[0],max:t.at(-1),standardDeviation:Math.sqrt(r)}}function fn(e,t="number"){return t==="percent"?`${(e*100).toFixed(2)}%`:t==="scientific"?e.toExponential(2):Math.abs(e)>=1e3?e.toLocaleString(void 0,{maximumFractionDigits:2}):e.toFixed(4)}const xn=[{key:"meanReward",id:"optimizer.reward",label:"Mean reward"},{key:"meanReturn",id:"optimizer.return",label:"Mean return"},{key:"learningRate",id:"optimizer.learning_rate",label:"Learning rate",format:"scientific"},{key:"policyLoss",id:"optimizer.policy_loss",label:"Policy loss"},{key:"valueLoss",id:"optimizer.value_loss",label:"Value loss"},{key:"kl",id:"optimizer.kl",label:"KL divergence"},{key:"entropy",id:"optimizer.entropy",label:"Entropy"},{key:"policyClipFraction",id:"optimizer.policy_clip_fraction",label:"Policy clip fraction",format:"percent"},{key:"valueClipFraction",id:"optimizer.value_clip_fraction",label:"Value clip fraction",format:"percent"},{key:"explainedVariance",id:"optimizer.explained_variance",label:"Explained variance"}],gn=[{key:"loss",id:"optimizer.loss",label:"Loss"},{key:"reward",id:"optimizer.reward",label:"Reward"},{key:"policyLoss",id:"optimizer.policy_loss",label:"Policy loss"},{key:"advantageLoss",id:"optimizer.advantage_loss",label:"Advantage loss"},{key:"learningRate",id:"optimizer.learning_rate",label:"Learning rate",format:"scientific"},{key:"gradientNorm",id:"optimizer.gradient_norm",label:"Gradient norm"},{key:"meanTokenAccuracy",id:"train.token_accuracy",label:"Token accuracy",format:"percent"},{key:"preferenceAccuracy",id:"train.preference_accuracy",label:"Preference accuracy",format:"percent"},{key:"preferenceMargin",id:"train.preference_margin",label:"Preference margin"},{key:"chosenReward",id:"train.chosen_reward",label:"Chosen reward"},{key:"rejectedReward",id:"train.rejected_reward",label:"Rejected reward"},{key:"entropy",id:"optimizer.entropy",label:"Entropy"}];function bn({detail:e,loading:t,error:n}){ut(n,{prefix:"Training metrics"});const r=u.useMemo(()=>e?yn(e):[],[e]);if(n&&!e)return a.jsx("div",{className:"training-run-placeholder",children:"Training metrics are unavailable."});if(!e&&!t)return a.jsx("div",{className:"training-run-placeholder",children:"Select a training run to inspect its metrics."});const l=e?["queued","starting","running","reconciling"].includes(e.job.status):!1;return a.jsx(pn,{live:l,loading:t&&!e,series:r})}function yn(e){const t=e.job.metadata.trainingMethod==="grpo"&&typeof e.job.metadata.optimizerUpdatesObserved=="number"?Math.max(0,e.job.metadata.optimizerUpdatesObserved):null,n=Oe(e.stepMetrics).filter(o=>t===null||o.step<=t),r=[...Le(Oe(e.policyMetrics),xn),...Le(n,gn),...jn(e.events)],l=new Map;for(const o of r){const s=l.get(o.id);(!s||o.points.length>s.points.length)&&l.set(o.id,o)}const i=["optimizer.reward","rollout.reward","optimizer.kl","optimizer.loss","optimizer.learning_rate"];return[...l.values()].sort((o,s)=>Re(o.id,i)-Re(s.id,i)||o.label.localeCompare(s.label))}function Re(e,t){const n=t.indexOf(e);return n<0?999:n}function Le(e,t){return t.flatMap(n=>{const r=e.flatMap(l=>{const i=l[n.key];return typeof i=="number"&&Number.isFinite(i)?[{step:l.step,value:i}]:[]});return r.length?[{id:n.id,label:n.label,points:r,format:n.format}]:[]})}function Oe(e){const t=new Map;for(const n of e)t.set(n.step,n);return[...t.values()].sort((n,r)=>n.step-r.step)}function jn(e){const t=new Map,n=new Map,r=(i,o,s,d)=>{t.set(i,[...t.get(i)??[],{step:s,value:d}]),n.set(i,o)},l=new Map;for(const i of e)if(i.type==="metric"){if(i.payload.metricKind==="managed_telemetry"){const o=typeof i.payload.metricId=="string"?i.payload.metricId:null,s=B(i.payload.value),d=B(i.payload.step)??i.sequence;o&&s!==null&&r(o,De(o),d,s)}if(i.payload.metricKind==="rollout_trajectory"){const o=B(i.payload.rolloutIndex)??i.sequence,s=B(i.payload.reward);s!==null&&r("rollout.reward","Rollout reward",o,s);const d=typeof i.payload.rolloutGroupId=="string"?i.payload.rolloutGroupId:"group-0";l.set(d,[...l.get(d)??[],{reward:s,eligible:i.payload.rewardEligible===!0,input:B(i.payload.inputTokens)??0,output:B(i.payload.outputTokens)??0}])}}return[...l.values()].forEach((i,o)=>{const s=i.flatMap(m=>m.eligible&&m.reward!==null?[m.reward]:[]),d=s.length?s.reduce((m,p)=>m+p,0)/s.length:0,c=s.length?s.reduce((m,p)=>m+(p-d)**2,0)/s.length:0;r("attempt.valid_rate","Valid attempt rate",o,i.length?s.length/i.length:0),r("attempt.failure_count","Attempt failures",o,i.length-s.length),r("reward.variance","Reward variance",o,c),r("tokens.input","Input tokens",o,i.reduce((m,p)=>m+p.input,0)),r("tokens.output","Output tokens",o,i.reduce((m,p)=>m+p.output,0))}),[...t].map(([i,o])=>({id:i,label:n.get(i)??De(i),points:o,format:i.endsWith("rate")||i.includes("fraction")?"percent":"number"}))}function B(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function De(e){return e.replaceAll(/[._]/g," ").replace(/^./,t=>t.toUpperCase())}const kn=new Set(["queued","starting","running","cancelling","reconciling"]);function Nn(e,t,n){const[r,l]=u.useState(null),[i,o]=u.useState(!1),[s,d]=u.useState(null),c=u.useCallback(async()=>{if(!e||!t)return null;o(!0);try{const m=await pt.trainingRunDetail(e,t);return l(m),d(null),m}catch(m){return d(m instanceof Error?m.message:String(m)),null}finally{o(!1)}},[e,t]);return u.useEffect(()=>{l(null),d(null),!(!e||!t)&&c()},[e,t,c]),u.useEffect(()=>{if(!e||!t||!n||!kn.has(n))return;const m=window.setInterval(()=>{c()},2e3);return()=>window.clearInterval(m)},[e,t,n,c]),{detail:r,error:s,loading:i,refresh:c}}function Pn({title:e,status:t,statusValue:n,versionStatus:r,method:l,baseModel:i,taskset:o,compute:s,duration:d,output:c,reward:m,telemetry:p,evidence:v,configuration:g,children:b,failure:j,onOpenTaskset:y,showHeader:w=!0}){const h=p?.cost.providerReportedUsd??p?.cost.estimatedUsd??v?.cost.totalUsd??null;return a.jsxs("div",{className:"labs-model-run-summary",children:[w?a.jsx("section",{className:"labs-run-outcome-card",children:a.jsx("header",{children:a.jsxs("div",{children:[a.jsxs("div",{className:"labs-run-title-row",children:[a.jsx("h2",{children:e}),a.jsx(te,{label:t,value:n})]}),a.jsxs("p",{children:[An(l)," on ",i]})]})})}):null,b,a.jsxs("section",{className:"labs-run-summary-card",children:[a.jsx("header",{children:a.jsx("h3",{children:"Run setup"})}),a.jsxs("dl",{className:"labs-run-detail-list",children:[a.jsx($,{label:"Training method",value:l}),a.jsx($,{label:"Base model",value:i}),a.jsx($,{label:"Compute",value:s}),a.jsx($,{label:"Output",value:c}),r?a.jsx($,{label:"Version status",value:r}):null,a.jsx($,{label:"Duration",value:d}),a.jsx($,{label:"Run cost",value:h===null?"Not reported":`$${h.toFixed(4)}`}),a.jsx($,{label:"Final reward",value:m===null?"Not reported":m.toFixed(4)}),g.map(f=>a.jsx($,{label:f.label,value:f.value},f.label)),p||v?a.jsxs(a.Fragment,{children:[a.jsx(U,{label:"GPU",value:wn(p,v)}),a.jsx(U,{label:"Tokens",value:`${_(p?.usage.promptTokens??v?.usage.inputTokens??null)} prompt · ${_(p?.usage.generatedTokens??v?.usage.outputTokens??null)} generated`}),a.jsx(U,{label:"Trajectories",value:`${_(p?.usage.successfulTrajectories??v?.reward.eligibleTrajectoryCount??null)} succeeded · ${_(p?.usage.failedTrajectories??(v?v.reward.trajectoryCount-v.reward.eligibleTrajectoryCount:null))} failed`}),a.jsx(U,{label:"Optimizer updates",value:_(p?.usage.optimizerSteps??v?.progress.committedOptimizerSteps??null)}),a.jsx(U,{label:"GPU time",value:p?.usage.gpuSeconds==null?"Not reported":`${p.usage.gpuSeconds.toFixed(1)} seconds`})]}):a.jsx($,{label:"Resource usage",value:"Not retained for this run"}),a.jsxs("div",{children:[a.jsx("dt",{children:"Taskset"}),a.jsx("dd",{children:y?a.jsxs("button",{className:"labs-run-taskset-link",type:"button",onClick:y,children:[a.jsx("span",{children:o}),a.jsx(mt,{"aria-hidden":"true",size:14})]}):o})]})]})]}),j?a.jsx("p",{className:"labs-training-error",children:j}):null]})}function $({label:e,value:t}){return a.jsxs("div",{children:[a.jsx("dt",{children:e}),a.jsx("dd",{children:t})]})}function U({label:e,value:t}){return a.jsx($,{label:e,value:t})}function wn(e,t){const n=e?.resource.gpuCount??t?.resource.gpuCount??null,r=e?.resource.gpuType??t?.resource.gpuType??null;return n===null&&r===null?"Not reported":`${n??"Unknown"} × ${r?Sn(r):"Unreported"}`}function _(e){return e===null?"Not reported":e.toLocaleString()}function An(e){return e==="RFT"?"Reinforcement fine-tuning":`${e} training`}function Sn(e){return e.split(" · ").map(t=>t.replaceAll("_"," ").replace(/\b[a-z]/g,n=>n.toUpperCase())).join(" · ")}function Tn({receipt:e,onOpenConversation:t}){return a.jsxs(a.Fragment,{children:[a.jsxs("section",{className:"labs-run-summary-card",children:[a.jsx("header",{children:a.jsx("h3",{children:"Inconclusive benchmark"})}),a.jsx("p",{className:"training-run-placeholder",children:e.reason}),a.jsxs("dl",{className:"labs-run-detail-list",children:[a.jsx(P,{label:"Held-out baseline tokens",value:e.usage.baseline.totalTokens.toLocaleString()}),a.jsx(P,{label:"Adaptation baseline tokens",value:e.usage.adaptation.totalTokens.toLocaleString()}),a.jsx(P,{label:"Refiner tokens",value:e.usage.refiner.totalTokens.toLocaleString()}),a.jsx(P,{label:"Grader tokens",value:e.usage.grader.totalTokens.toLocaleString()}),a.jsx(P,{label:"Observed / maximum spend",value:`$${e.budget.observedSpendUsd.toFixed(4)} / $${e.budget.maximumSpendUsd.toFixed(2)}`}),a.jsx(P,{label:"Harness candidate",value:e.stopReason==="candidate_harness_unchanged"?"Unchanged":"Lineage invalid"}),a.jsx(P,{label:"Completed attempts",value:e.attempts.length.toLocaleString()}),a.jsx(P,{label:"Candidate attempts",value:"Skipped"})]})]}),e.attempts.length?a.jsx(lt,{receipt:e,onOpenConversation:t}):null]})}function In({run:e}){const t=["baseline","adaptation","refiner","candidate_adaptation","candidate","comparison"],n={baseline:"Baseline",adaptation:"Adaptation",refiner:"Refiner",candidate_adaptation:"Sequential adaptation",candidate:"Candidate",comparison:"Comparison"},r=Math.max(0,t.indexOf(e.evaluationProgress?.stage??"baseline")),l=e.evaluationProgress?.completedAttempts??0,i=e.evaluationProgress?.totalAttempts??1;return a.jsxs("div",{className:"labs-benchmark-progress",children:[a.jsxs("header",{children:[a.jsx("h3",{children:"Benchmark progress"}),a.jsxs("strong",{children:[l," of ",i," attempts"]})]}),a.jsx("div",{className:"labs-benchmark-progress-track","aria-hidden":"true",children:a.jsx("span",{style:{width:`${Math.min(100,l/i*100)}%`}})}),a.jsx("ol",{children:t.map((o,s)=>a.jsxs("li",{className:s<r?"complete":s===r?"active":void 0,children:[a.jsx("span",{}),n[o]]},o))})]})}function Cn({receipt:e}){const t=ge(e),n=t.pairs.filter(i=>i.cohort==="held_out"),r=t.pairs.filter(i=>i.cohort==="adaptation"),l=i=>i.length?i.reduce((o,s)=>o+s,0)/i.length:0;return a.jsxs("div",{className:"labs-benchmark-attempt-charts",children:[a.jsx(Z,{title:"Held-out tokens by task",baseline:n.map(i=>i.baseline.totalTokens),candidate:n.map(i=>i.refined.totalTokens),format:i=>Math.round(i).toLocaleString()}),a.jsx(Z,{title:"Adaptation tokens by task",baseline:r.map(i=>i.baseline.totalTokens),candidate:r.map(i=>i.refined.totalTokens),format:i=>Math.round(i).toLocaleString()}),a.jsx(Z,{title:"Held-out quality by task",baseline:n.map(i=>i.baseline.score),candidate:n.map(i=>i.refined.score),format:i=>i.toFixed(2),summarize:l}),a.jsx(Z,{title:"Adaptation quality by task",baseline:r.map(i=>i.baseline.score),candidate:r.map(i=>i.refined.score),format:i=>i.toFixed(2),summarize:l})]})}function En({receipt:e,run:t,tasksetName:n,onOpenTaskset:r}){const l=ge(e),i=l.comparedTaskCount>0,o=l.passed,s=l.tokenDeltaPercent===null?"—":`${l.tokenDeltaPercent>0?"+":""}${l.tokenDeltaPercent.toFixed(2)}%`,d=c=>{const m=l.cohorts[c];return`${m.passedTaskCount}/${m.comparedTaskCount} passed`};return a.jsxs("section",{className:"labs-run-summary-card",children:[a.jsx("header",{children:a.jsx("h3",{children:"Token efficiency"})}),i?a.jsxs("div",{className:"labs-benchmark-efficiency-summary",children:[a.jsxs("strong",{children:[l.passedTaskCount," of ",l.comparedTaskCount," tasks passed"]}),a.jsxs("p",{children:["A task passes only when its refined token count is strictly lower than its own baseline. ",l.failedTaskCount," failed this token-efficiency test; aggregate usage changed by ",s,"."]})]}):a.jsx("p",{className:"training-run-placeholder",children:"Paired task-level token evidence is unavailable for this run."}),a.jsxs("dl",{className:"labs-run-detail-list",children:[a.jsx(P,{label:"Execution",value:z(t.status)}),a.jsx(P,{label:"Token-efficiency result",value:o?"Passed":"Failed"}),a.jsx(P,{label:"Efficiency passes",value:`${l.passedTaskCount}/${l.comparedTaskCount}`}),a.jsx(P,{label:"Efficiency failures",value:`${l.failedTaskCount}/${l.comparedTaskCount}`}),a.jsx(P,{label:"All-task foreground tokens",value:`${l.baselineTokens.toLocaleString()} → ${l.refinedTokens.toLocaleString()}`}),a.jsx(P,{label:"Aggregate token change",value:s}),a.jsx(P,{label:"Adaptation replay",value:d("adaptation")}),a.jsx(P,{label:"Held-out replay",value:d("held_out")}),a.jsx(P,{label:"Task quality",value:`${l.baselinePassedCount}/${l.comparedTaskCount} → ${l.refinedPassedCount}/${l.comparedTaskCount}`}),a.jsx(P,{label:"Result lineage",value:e.lineage.valid?"Valid":"Invalid"}),a.jsxs("div",{children:[a.jsx("dt",{children:"Taskset"}),a.jsx("dd",{children:r?a.jsx("button",{className:"labs-run-taskset-link",type:"button",onClick:r,children:n}):n})]})]})]})}function Z({title:e,baseline:t,candidate:n,format:r,summarize:l=i=>i.reduce((o,s)=>o+s,0)}){const i=t.filter(p=>p!==null),o=n.filter(p=>p!==null),s=Math.max(1,...i,...o),d=Math.max(2,t.length,n.length),c=p=>{const v=[];let g=[];return p.forEach((b,j)=>{if(b===null){g.length&&v.push(g.join(" ")),g=[];return}const y=6+j/(d-1)*88,w=44-b/s*36;g.push(`${y},${w}`)}),g.length&&v.push(g.join(" ")),v},m=p=>p.flatMap((v,g)=>v===null?[]:[{x:6+g/(d-1)*88,y:44-v/s*36}]);return a.jsxs("section",{className:"labs-benchmark-line-chart",children:[a.jsxs("header",{children:[a.jsx("h4",{children:e}),a.jsxs("div",{children:[a.jsxs("span",{children:["Baseline ",r(l(i))]}),a.jsxs("span",{children:["Refined ",r(l(o))]})]})]}),a.jsxs("svg",{"aria-label":e,role:"img",viewBox:"0 0 100 50",preserveAspectRatio:"none",children:[a.jsx("line",{x1:"6",x2:"94",y1:"44",y2:"44"}),c(t).map((p,v)=>a.jsx("polyline",{className:"baseline",points:p},`baseline-${v}`)),c(n).map((p,v)=>a.jsx("polyline",{className:"candidate",points:p},`candidate-${v}`)),m(t).map((p,v)=>a.jsx("circle",{className:"baseline",cx:p.x,cy:p.y,r:"1"},`baseline-point-${v}`)),m(n).map((p,v)=>a.jsx("circle",{className:"candidate",cx:p.x,cy:p.y,r:"1"},`candidate-point-${v}`))]})]})}function lt({receipt:e,onOpenConversation:t}){const n=e.schemaVersion==="openpond.modelEvaluationReceipt.v1"?qt(e.attempts??[]):e.attempts??[];return a.jsxs("section",{className:"labs-run-summary-card",children:[a.jsx("header",{children:a.jsx("h3",{children:e.schemaVersion==="openpond.modelEvaluationReceipt.v1"?"Selected task results":"Completed attempts"})}),a.jsx("div",{className:"training-table-wrap",children:a.jsxs("table",{className:"training-data-table labs-benchmark-attempt-table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:"Task"}),a.jsx("th",{children:"Phase"}),a.jsx("th",{children:"Result"}),a.jsx("th",{children:"Score"}),a.jsx("th",{children:"Tokens"}),a.jsx("th",{children:"Work chat"})]})}),a.jsx("tbody",{children:n.map(r=>a.jsxs("tr",{children:[a.jsx("td",{children:$n(r.taskId)}),a.jsx("td",{children:r.phase}),a.jsx("td",{children:a.jsx(te,{label:r.passed?"Passed":"Failed",value:r.passed?"succeeded":"failed"})}),a.jsx("td",{children:r.score===null?"—":r.score.toFixed(2)}),a.jsx("td",{children:r.totalTokens.toLocaleString()}),a.jsx("td",{children:r.sessionId?a.jsx("button",{className:"labs-run-taskset-link",type:"button",onClick:()=>t(r.sessionId),children:"Open chat"}):"Not retained"})]},`${r.phase}:${r.attemptId}`))})]})})]})}function $n(e){return e.replace(/^(?:adaptation|frozen)-/,"").replaceAll("-"," ").replace(/^./,t=>t.toUpperCase())}function P({label:e,value:t}){return a.jsxs("div",{children:[a.jsx("dt",{children:e}),a.jsx("dd",{children:t})]})}function ar({connection:e,selectedEntryKey:t,workproduct:n,runs:r,training:l,onOpenDataset:i,onOpenConversation:o}){const[s,d]=u.useState("overview"),c=l.payload,m=u.useMemo(()=>Ht(n,r,c),[r,c,n]),p=u.useMemo(()=>Jt(n,r,c),[r,c,n]),v=u.useMemo(()=>Xt(n,c),[c,n]),g=u.useMemo(()=>Yt(n,r,c),[r,c,n]),b=u.useMemo(()=>new Map(g.map(x=>[x.id,x])),[g]),y=u.useMemo(()=>Zt(m,p),[m,p]).find(x=>x.key===t)??null,w=t.startsWith("model-run:")?t.slice(10):null,h=w?v.find(x=>x.id===w)??null:y?.job?v.find(x=>x.id===y.job?.metadata.modelRunId)??null:null,f=y?.job??(h?c?.jobs.find(x=>x.id===h.id||x.metadata.modelRunId===h.id)??null:null),E=u.useMemo(()=>Qt(m,p,v),[m,v,p]),T=E.findIndex(x=>x.key===t||f!==null&&x.job?.id===f.id||h!==null&&x.lifecycleRun?.id===h.id),A=T<0?null:E.length-T,N=y?.version??(h?.adapterArtifactLineageId?p.find(x=>x.lineage.id===h.adapterArtifactLineageId)??null:null),M=(h?c?.modelVersions.find(x=>x.id===h.modelVersionId)?.baseModel.modelId:null)??c?.modelVersions.filter(x=>x.modelId===n.id&&x.kind==="base_reference").sort((x,ct)=>ct.version-x.version)[0]?.baseModel.modelId??null,F=N?.lineage.frozenEvaluationArtifactId??null,R=N?.plan??(f?b.get(f.planId)??null:null),L=N?.taskset??ea(c).find(x=>x.id===(h?.taskset.id??R?.tasksetId))??null,S=Nn(e,f?.id??null,f?.status??null),ae=f?c?.rolloutReceipts.filter(x=>x.jobId===f.id)??[]:[],C=S.detail?.managedEvidence??null,dt=S.detail?.events.some(x=>x.type==="metric"&&x.payload.metricKind==="rollout_trajectory")??!1,ne=S.detail?.job.status??h?.status??f?.status??"imported",G=["queued","starting","running","reconciling"].includes(ne),je=S.detail?.events.at(-1),ke=z(ne),re=[{id:"overview",label:"Overview"},...f?[{id:"metrics",label:"Metrics"}]:[],{id:"evaluation",label:"Evaluation"},...ae.length||dt?[{id:"rollouts",label:"Rollouts"}]:[],{id:"artifacts",label:"Artifacts"},...f?[{id:"activity",label:"Activity"}]:[]],O=re.some(x=>x.id===s)?s:re[0].id;return!y&&!h?a.jsx("div",{className:"labs-model-version-detail",children:a.jsx("div",{className:"training-run-placeholder",children:"This training attempt is no longer available."})}):h?.kind==="evaluation"?a.jsx(Rn,{run:h,runNumber:A,tasksetName:L?.name??"Unavailable",onOpenTaskset:L?()=>i(L.id):void 0,onOpenConversation:o}):a.jsxs("div",{className:"labs-model-version-detail",children:[a.jsx(Ze,{title:h||f?A?`Run ${A}`:"Run details":N?`Version ${N.number}`:"Run details",description:`${we(h?.method??R?.recipe.method)} on ${Me(R,M)}`,status:a.jsx(te,{label:G&&je?`${ke} · ${ot(je)}`:ke,pulse:G,tone:G?"positive":void 0,value:ne}),metrics:[{label:"Final reward",value:Ln(h?.reward?.raw??C?.reward.finalMean??null)},{label:"Duration",value:h?H(h.startedAt,J(h.status,h.completedAt,h.updatedAt)):f?H(f.startedAt,J(f.status,f.completedAt,f.updatedAt)):"Not recorded"},{label:"Output",value:N?`Version ${N.number}`:"No version"},{label:"Taskset",value:L?.name??"Unavailable"}]}),a.jsxs("section",{className:"labs-run-detail-tabs",children:[a.jsx("div",{className:"training-detail-tabs",role:"tablist","aria-label":"Run details",children:re.map(x=>a.jsx("button",{"aria-controls":`run-detail-panel-${x.id}`,"aria-selected":O===x.id,className:O===x.id?"active":void 0,id:`run-detail-tab-${x.id}`,role:"tab",type:"button",onClick:()=>d(x.id),children:x.label},x.id))}),a.jsxs("div",{"aria-labelledby":`run-detail-tab-${O}`,className:"labs-run-detail-tab-panel",id:`run-detail-panel-${O}`,role:"tabpanel",children:[O==="overview"?a.jsx(Pn,{baseModel:Me(R,M),compute:h?le(h.destinationId??""):R?le(R.destinationId):f?le(f.destinationId):"Not recorded",duration:h?H(h.startedAt,J(h.status,h.completedAt,h.updatedAt)):f?H(f.startedAt,J(f.status,f.completedAt,f.updatedAt)):"Not recorded",failure:f?.error??h?.failure??null,configuration:On(R),evidence:C,method:we(h?.method??R?.recipe.method),output:N?`Version ${N.number}`:"No version created",reward:h?.reward?.raw??C?.reward.finalMean??null,status:h?z(h.status):f?z(f.status):"Imported",statusValue:h?.status??f?.status??"imported",taskset:L?.name??"Unavailable",telemetry:h?.receipt?.schemaVersion==="openpond.modelRunReceipt.v1"?h.receipt.telemetry:null,title:h||f?A?`Run ${A}`:"Run details":N?`Version ${N.number}`:"Run details",versionStatus:N?N.current?"Active":"Available":null,onOpenTaskset:L?()=>i(L.id):void 0,showHeader:!1}):null,O==="metrics"&&f?a.jsx(bn,{detail:S.detail,error:S.error,loading:S.loading}):null,O==="artifacts"?a.jsxs("dl",{className:"training-configuration-list",children:[a.jsx(I,{label:"Training attempt",value:f?.id??"Provider import"}),a.jsx(I,{label:"Taskset",value:L?.name??"Unavailable"}),a.jsx(I,{label:"Prepared data",value:f?.bundleHash??"Provider managed"}),a.jsx(I,{label:"Version ID",value:N?.lineage.id??"No version created"}),C?.checkpoint?a.jsxs(a.Fragment,{children:[a.jsx(I,{label:"Checkpoint",value:C.checkpoint.id}),a.jsx(I,{label:"Checkpoint size",value:C.checkpoint.sizeBytes==null?"Not reported":st(C.checkpoint.sizeBytes)}),a.jsx(I,{label:"Checkpoint hash",value:C.checkpoint.sha256??"Not reported"})]}):null,C?.canonicalPublication.state?a.jsx(I,{label:"Registry publication",value:Dn(C.canonicalPublication.state)}):null]}):null,O==="evaluation"?a.jsxs("div",{className:"training-run-evaluation",children:[a.jsx(ln,{detail:S.detail,loading:S.loading,pending:G}),!S.detail?.evaluation&&C?.evaluations.length?a.jsx("dl",{className:"labs-inline-facts",children:C.evaluations.map(x=>a.jsx(I,{label:x.kind==="baseline"?"Baseline score":"Candidate score",value:x.score==null?"Not reported":x.score.toFixed(6)},`${x.kind}:${x.policyVersion}`))}):null,F?a.jsx("button",{className:"training-button secondary",type:"button",onClick:()=>{l.actions.downloadArtifact(F)},children:"Download evaluation receipt"}):null]}):null,O==="rollouts"?ae.length?a.jsx(nn,{receipts:ae}):a.jsx(an,{events:S.detail?.events??[]}):null,O==="activity"&&f?a.jsx(Mn,{error:f.error??S.error,events:S.detail?.events??[],loading:S.loading}):null]})]})]})}function Rn({run:e,runNumber:t,tasksetName:n,onOpenTaskset:r,onOpenConversation:l}){const[i,o]=u.useState("results"),s=e.receipt?.schemaVersion==="openpond.modelEvaluationReceipt.v1"?e.receipt:null,d=e.receipt?.schemaVersion==="openpond.modelEvaluationStopReceipt.v1"?e.receipt:null,c=s?ta(s):null,m=s?ge(s):null;return a.jsxs("div",{className:"labs-model-version-detail labs-model-evaluation-detail",children:[a.jsx(Ze,{title:t?`Eval ${t}`:"Evaluation run",description:`Harness Refiner benchmark · ${n}`,status:a.jsx(te,{label:s?m?.comparedTaskCount?`${m.passedTaskCount}/${m.comparedTaskCount} passed`:"No paired result":d?"Inconclusive":z(e.status),value:s?m?.comparedTaskCount&&m.passed?"succeeded":"neutral":d?.terminalClassification??e.status}),metrics:[{label:"Baseline pass rate",value:s?`${(s.quality.baselinePassRate*100).toFixed(1)}%`:"—"},{label:"Candidate pass rate",value:s?`${(s.quality.candidatePassRate*100).toFixed(1)}%`:"—"},{label:"Scenarios",value:s?.attempts?.length??0},{label:"Execution",value:z(e.status)}]}),a.jsx("div",{className:"training-detail-tabs",role:"tablist","aria-label":"Evaluation details",children:["results","scenarios","activity"].map(p=>a.jsx("button",{className:i===p?"active":void 0,"aria-selected":i===p,role:"tab",type:"button",onClick:()=>o(p),children:p==="results"?"Results":p==="scenarios"?"Scenarios":"Activity"},p))}),i==="results"&&s?a.jsxs(a.Fragment,{children:[a.jsx(Ae,{series:[{id:"baseline",label:"Held-out baseline",inputTokens:c.baseline.inputTokens,outputTokens:c.baseline.outputTokens,tokens:c.baseline.totalTokens,passRate:s.quality.baselinePassRate,costUsd:c.baseline.costUsd},{id:"candidate",label:"Held-out refined",inputTokens:c.candidate.inputTokens,outputTokens:c.candidate.outputTokens,tokens:c.candidate.totalTokens,passRate:s.quality.candidatePassRate,costUsd:c.candidate.costUsd}]}),a.jsx(Ae,{series:[{id:"adaptation-baseline",label:"Adaptation baseline",inputTokens:c.adaptation.inputTokens,outputTokens:c.adaptation.outputTokens,tokens:c.adaptation.totalTokens,passRate:s.quality.adaptationBaselinePassRate,costUsd:c.adaptation.costUsd},{id:"adaptation-candidate",label:"Adaptation replay",inputTokens:c.candidate_adaptation.inputTokens,outputTokens:c.candidate_adaptation.outputTokens,tokens:c.candidate_adaptation.totalTokens,passRate:s.quality.adaptationCandidatePassRate,costUsd:c.candidate_adaptation.costUsd}]}),a.jsx(En,{receipt:s,run:e,tasksetName:n,onOpenTaskset:r})]}):i==="results"&&d?a.jsx(Tn,{receipt:d,onOpenConversation:l}):i==="results"?a.jsx("section",{className:"labs-run-summary-card",children:e.failure?a.jsx("p",{className:"training-run-placeholder",children:e.failure}):a.jsx(In,{run:e})}):null,i==="scenarios"&&s?a.jsxs(a.Fragment,{children:[(s.attempts??[]).length?a.jsx(Cn,{receipt:s}):null,(s.attempts??[]).length?a.jsx(lt,{receipt:s,onOpenConversation:l}):a.jsx("div",{className:"training-run-placeholder",children:"No per-scenario attempts were retained."})]}):null,i==="activity"?a.jsxs("dl",{className:"labs-inline-facts",children:[a.jsx(I,{label:"Run ID",value:e.id}),a.jsx(I,{label:"Status",value:z(e.status)}),a.jsx(I,{label:"Started",value:e.startedAt?ce(e.startedAt):"Not started"}),a.jsx(I,{label:"Completed",value:e.completedAt?ce(e.completedAt):"In progress"})]}):null]})}function Me(e,t=null){if(!e)return t?ze(t):"Not recorded";const n=e.recipe.method==="sft"||e.recipe.method==="grpo"?e.recipe.baseModel:e.recipe.method==="dpo"?e.recipe.policyModel:e.recipe.method==="ppo"?e.recipe.policyOptimization.policyModel:null;return n?ze(n.id):"Not recorded"}function ze(e){return e.split("/").at(-1)??e}function Ln(e){return e===null?"Not reported":e.toFixed(4)}function On(e){if(!e)return[];const t=e.recipe;return t.method==="grpo"?[{label:"LoRA rank",value:String(t.lora.rank)},{label:"Learning rate",value:Fe(t.optimizer.learningRate)},{label:"Optimizer steps",value:String(t.optimizer.maxSteps)},{label:"Rollouts per update",value:String(t.rollout.groupSize)},{label:"Rollout concurrency",value:String(t.rollout.concurrency)},{label:"Max output tokens",value:t.rollout.maxOutputTokens.toLocaleString()},{label:"Temperature",value:String(t.rollout.temperature)},{label:"Top P",value:String(t.rollout.topP)}]:t.method==="sft"||t.method==="dpo"?[{label:"LoRA rank",value:String(t.lora.rank)},{label:"Learning rate",value:Fe(t.optimizer.learningRate)},{label:"Optimizer steps",value:String(t.optimizer.maxSteps)}]:[]}function Fe(e){return e===0?"0":e.toExponential(2)}function st(e){const t=["B","KB","MB","GB","TB"];let n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(r===0?0:2)} ${t[r]}`}function I({label:e,value:t}){return a.jsxs("div",{children:[a.jsx("dt",{children:e}),a.jsx("dd",{children:t})]})}function Dn(e){return e?e.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase()):"Pending"}function Mn({error:e,events:t,loading:n}){return n&&!t.length?a.jsx("div",{className:"training-run-placeholder",children:"Loading run events…"}):t.length?a.jsxs("div",{"aria-label":"Training activity log","aria-live":"polite",className:"training-event-log",role:"log",children:[t.map(r=>a.jsxs("div",{className:`training-event-log-line ${r.type}`,children:[a.jsx("time",{dateTime:r.timestamp,children:ce(r.timestamp)}),a.jsx("span",{children:zn(r.type)}),a.jsx("code",{children:ot(r)})]},r.id)),e?a.jsxs("div",{className:"training-event-log-line failure",children:[a.jsx("time",{children:"—"}),a.jsx("span",{children:"Failure"}),a.jsx("code",{children:e})]}):null]}):a.jsx("div",{className:"training-run-placeholder",children:e??"No normalized run events were recorded."})}function zn(e){return e.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase())}function ot(e){const t=e.payload,n=V(t.step),r=V(t.maxSteps);if(typeof t.telemetryType=="string"){const l=typeof t.message=="string"?t.message:null,i=typeof t.errorCode=="string"?t.errorCode:null,o=typeof t.telemetrySource=="string"?` · ${t.telemetrySource}`:"";return`${l??t.telemetryType.replaceAll("_"," ")}${n==null?"":` · step ${n}`}${o}${i?` · ${i}`:""}`}if(e.type==="start")return typeof t.device=="string"?`Worker started on ${t.device}.`:"Worker started.";if(e.type==="progress"&&n!=null)return r==null?`Step ${n}.`:`Step ${n} of ${r}.`;if(e.type==="metric"){const l=typeof t.metricKind=="string"?t.metricKind.replaceAll("_"," "):"metric",i=[W("loss",t.loss),W("reward",t.meanReward??t.reward),W("policy loss",t.policyLoss),W("value loss",t.valueLoss),W("preference accuracy",t.preferenceAccuracy,Fn)].filter(c=>!!c),o=typeof t.failureClass=="string"?t.failureClass:null,s=typeof t.failureCode=="string"?t.failureCode:null,d=typeof t.metricId=="string"&&typeof t.value=="number"?` · ${t.metricId}: ${t.value.toPrecision(4)}`:"";return`${l}${n==null?"":` · step ${n}`}${d}${o?` · ${o}`:""}${s?` · ${s}`:""}${i.length?` · ${i.join(" · ")}`:""}`}if(e.type==="checkpoint"){const l=V(t.policyVersion),i=V(t.sizeBytes),o=[l==null?null:`policy ${l}`,i==null?null:st(i),t.final===!0?"final":null].filter(s=>!!s);return o.length?`Checkpoint committed · ${o.join(" · ")}.`:"Checkpoint committed."}if(e.type==="complete"){const l=V(t.artifactCount);return l==null?"Worker completed.":`Worker completed with ${l} artifacts.`}return e.type==="failure"&&typeof t.message=="string"?t.message:Object.keys(t).length?JSON.stringify(t):"Recorded."}function W(e,t,n=r=>new Intl.NumberFormat(void 0,{maximumFractionDigits:4}).format(r)){const r=V(t);return r==null?null:`${e} ${n(r)}`}function V(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Fn(e){return`${(e*100).toFixed(1)}%`}export{ar as LabModelVersionDetailPage};
|