openpond 0.0.69 → 0.1.1

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.
Files changed (191) hide show
  1. package/dist/chunks/{app-layer-EXXOWJ5H.js → app-layer-XEYHFJHI.js} +2 -2
  2. package/dist/chunks/{app-server-runtime-7FBQBE3C.js → app-server-runtime-FJM2EQPH.js} +7 -6
  3. package/dist/chunks/{apps-RZSDOFAG.js → apps-GSXUDK6V.js} +2 -2
  4. package/dist/chunks/{chunk-SFMNGWNO.js → chunk-2JABRRNR.js} +1 -1
  5. package/dist/chunks/{chunk-MMRJNSWY.js → chunk-6G6MDZLM.js} +1096 -120
  6. package/dist/chunks/{chunk-7C4OIFOC.js → chunk-C5TKGE5Y.js} +31 -3
  7. package/dist/chunks/{chunk-F36ZVO6U.js → chunk-CNTM26OW.js} +1 -1
  8. package/dist/chunks/{chunk-NPNIL6SQ.js → chunk-DJL4TJYG.js} +1 -1
  9. package/dist/chunks/{chunk-FEOLMLYU.js → chunk-EFET7LB7.js} +21 -2
  10. package/dist/chunks/{training-5CPTZRVC.js → chunk-J7PYGDRY.js} +251 -16
  11. package/dist/chunks/{chunk-QTN6HXOR.js → chunk-KWDOAJJI.js} +2 -2
  12. package/dist/chunks/{chunk-Y57RTLVV.js → chunk-N3TGCM7J.js} +93 -35
  13. package/dist/chunks/{chunk-BLFIIAWZ.js → chunk-NTK22KJD.js} +68 -21
  14. package/dist/chunks/{chunk-OOM2PHBE.js → chunk-O6B6YCMI.js} +1130 -226
  15. package/dist/chunks/chunk-R3C3MNSI.js +140 -0
  16. package/dist/chunks/{cli-HIXVXM72.js → cli-6PFRZ2WV.js} +6 -5
  17. package/dist/chunks/continual-FYDKLCO7.js +803 -0
  18. package/dist/chunks/{core-commands-34SVH6ZQ.js → core-commands-MAN3CSJQ.js} +3 -3
  19. package/dist/chunks/{desktop-test-66DPBNJX.js → desktop-test-OE5SST2W.js} +2 -2
  20. package/dist/chunks/{extension-ZMRHCDO3.js → extension-J3CIEDP4.js} +968 -19
  21. package/dist/chunks/{help-COHCZEP2.js → help-JNGJJFU5.js} +1 -1
  22. package/dist/chunks/{opchat-2PGW2GNN.js → opchat-6HEQJFLL.js} +2 -2
  23. package/dist/chunks/{organizations-NZ4OY56V.js → organizations-MWAPNOCK.js} +5 -4
  24. package/dist/chunks/{profile-GEMTRPUG.js → profile-P7HMONTZ.js} +2 -2
  25. package/dist/chunks/{project-agent-NX6YBGWC.js → project-agent-2RAK7GAZ.js} +2 -2
  26. package/dist/chunks/{sandbox-command-UEY53OJO.js → sandbox-command-G22CPFNK.js} +2 -2
  27. package/dist/chunks/{sandbox-template-YKYRB645.js → sandbox-template-S4WRUWJ6.js} +3 -3
  28. package/dist/chunks/{src-LKJBD5AM.js → src-BKBZ7WLO.js} +4 -3
  29. package/dist/chunks/{src-IXYDKOBI.js → src-RTGN2O4H.js} +15917 -8039
  30. package/dist/chunks/taskset-BMI7KOWP.js +66 -0
  31. package/dist/chunks/{teams-bot-K6KZHZJV.js → teams-bot-5VBYEN7M.js} +2 -2
  32. package/dist/chunks/training-UPVSGDTB.js +17 -0
  33. package/dist/chunks/{workspaces-WXM72UZF.js → workspaces-IJQPWX3H.js} +4 -2
  34. package/dist/cli.js +13 -13
  35. package/dist/skills/openpond-desktop-harness/SKILL.md +1 -1
  36. package/dist/web/assets/App-BOkhmdHu.js +173 -0
  37. package/dist/web/assets/{AppDialog-DX-xs3KA.js → AppDialog-BCjKFUBn.js} +1 -1
  38. package/dist/web/assets/{AppTerminalPanel-CYVj_ITT.js → AppTerminalPanel-DRU8GIfy.js} +2 -2
  39. package/dist/web/assets/{AppsView-ByjyGog7.js → AppsView-Ck_OzQWf.js} +1 -1
  40. package/dist/web/assets/{BrowserSidebar-BDwtMAZl.js → BrowserSidebar-CqciX8aL.js} +1 -1
  41. package/dist/web/assets/{CartesianChart-Dv6jJfPR.js → CartesianChart-Y0lsL4vC.js} +1 -1
  42. package/dist/web/assets/{CollaborationTabs-CC5AIhMh.js → CollaborationTabs-BOb9PjvS.js} +1 -1
  43. package/dist/web/assets/{CommandMenu-Ct0Sx7yP.js → CommandMenu-Co6JnmTu.js} +1 -1
  44. package/dist/web/assets/{CommunityView-C_zVE0jg.js → CommunityView-BbTSeL7h.js} +1 -1
  45. package/dist/web/assets/{ComposerCreateImproveStrip-CNn4OywM.js → ComposerCreateImproveStrip-BGzCWVFp.js} +1 -1
  46. package/dist/web/assets/{GetStartedView-DRFpHDLd.js → GetStartedView-jEogFjxP.js} +1 -1
  47. package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  48. package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  49. package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  50. package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  51. package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  52. package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  53. package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  54. package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  55. package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  56. package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  57. package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  58. package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  59. package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  60. package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  61. package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  62. package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  63. package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  64. package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  65. package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  66. package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  67. package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  68. package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  69. package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  70. package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  71. package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  72. package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  73. package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  74. package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  75. package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  76. package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  77. package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  78. package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  79. package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  80. package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  81. package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  82. package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  83. package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  84. package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  85. package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  86. package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  87. package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  88. package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  89. package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  90. package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  91. package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  92. package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  93. package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  94. package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  95. package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  96. package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  97. package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  98. package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  99. package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  100. package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  101. package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  102. package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  103. package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  104. package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  105. package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  106. package/dist/web/assets/LabModelVersionDetailPage-CrudId_1.js +1 -0
  107. package/dist/web/assets/{LabSkillSidebar-B9jY4AgE.js → LabSkillSidebar-C5oS6UmH.js} +1 -1
  108. package/dist/web/assets/LabsRoute-9v8qwEBc.js +2 -0
  109. package/dist/web/assets/LabsRoute-CGFgymTX.css +1 -0
  110. package/dist/web/assets/MainChatThread-VtMpAxlP.js +2 -0
  111. package/dist/web/assets/MainPane-BbknUzp3.js +8 -0
  112. package/dist/web/assets/MarkdownText-DqJarmTh.js +268 -0
  113. package/dist/web/assets/Messages-BaT7HOzB.js +10 -0
  114. package/dist/web/assets/{NativeSkillSidebar-DjebFRoi.js → NativeSkillSidebar-DXp8snN5.js} +1 -1
  115. package/dist/web/assets/{NewExperienceSwitcher-C-bJxHxY.js → NewExperienceSwitcher-CLHuGUN5.js} +1 -1
  116. package/dist/web/assets/{NewProjectDialog-Cx8QcZm7.js → NewProjectDialog-CzpHCAaC.js} +1 -1
  117. package/dist/web/assets/{OutputsPage-Y9HM-SHX.js → OutputsPage-DIzx-Ge6.js} +1 -1
  118. package/dist/web/assets/{ProjectsPage-BBr58yKT.js → ProjectsPage-DojwrhOy.js} +1 -1
  119. package/dist/web/assets/RightChatPanelStack-CIE5bgmO.js +1 -0
  120. package/dist/web/assets/{RightSidebarHomePanel-Dx-1elSI.js → RightSidebarHomePanel-DTzfuEX3.js} +1 -1
  121. package/dist/web/assets/ScheduledWorkPage-DdbcQGSv.js +1 -0
  122. package/dist/web/assets/SettingsView-CC5GXaE1.css +1 -0
  123. package/dist/web/assets/SettingsView-QT_OLmDh.js +6 -0
  124. package/dist/web/assets/{TeamChatView-Bkyhu40R.js → TeamChatView-C4-nG1tC.js} +2 -2
  125. package/dist/web/assets/{TerminalOverlay-CaCkZDzO.js → TerminalOverlay-DnNVrCtu.js} +1 -1
  126. package/dist/web/assets/{TrainingCreationPanel-Vvi41WNT.js → TrainingCreationPanel-CDwwyucO.js} +1 -1
  127. package/dist/web/assets/{TrainingDraftPanel-C2C3hffI.js → TrainingDraftPanel-BijDnV_0.js} +1 -1
  128. package/dist/web/assets/{UsageSettingsSection-DpPBd-ra.js → UsageSettingsSection-Y5BFAu1p.js} +2 -2
  129. package/dist/web/assets/WorkSidebarPanel-CkJlvZKm.js +1 -0
  130. package/dist/web/assets/{WorkspaceDiffPanel-D_zKOW4K.js → WorkspaceDiffPanel-CBgzmBk8.js} +6 -6
  131. package/dist/web/assets/WorkspaceEnvironmentMenu-D8knAy1q.js +32 -0
  132. package/dist/web/assets/WorkspaceGitDialogs-_LHTrvh6.js +1 -0
  133. package/dist/web/assets/{WorkspaceMonacoEditor--GOVrHFp.js → WorkspaceMonacoEditor-B2B7OM_L.js} +3 -3
  134. package/dist/web/assets/{arrow-up-right-BRZWXpqJ.js → arrow-up-right-4nAzMtjW.js} +1 -1
  135. package/dist/web/assets/{chat-file-links-CgFHK89C.js → chat-file-links-Bned0MT7.js} +1 -1
  136. package/dist/web/assets/chevron-up-DK7ejCfk.js +1 -0
  137. package/dist/web/assets/{clipboard-dPd_3lpG.js → clipboard-BzjUoZFo.js} +1 -1
  138. package/dist/web/assets/{cloud-upload-DOwvN4hp.js → cloud-upload-CsrrwS-b.js} +1 -1
  139. package/dist/web/assets/{cssMode-BM4j9M0D.js → cssMode-CIbSSHKJ.js} +1 -1
  140. package/dist/web/assets/{folder-open-DavjPCw4.js → folder-open-vRTuLzpS.js} +1 -1
  141. package/dist/web/assets/{folder-plus-Dyqast6G.js → folder-plus-hyqwgUnx.js} +1 -1
  142. package/dist/web/assets/{git-commit-horizontal-s3X0cQlz.js → git-commit-horizontal-CaxKfeYa.js} +1 -1
  143. package/dist/web/assets/{htmlMode-Nlx7ckXa.js → htmlMode-C3MGQGam.js} +1 -1
  144. package/dist/web/assets/index-66-ohHD5.js +1 -0
  145. package/dist/web/assets/index-ByQIHpc9.css +1 -0
  146. package/dist/web/assets/{index-5-B6FIuE.js → index-Dvq7bpBG.js} +1 -1
  147. package/dist/web/assets/{info-CVvrNOHr.js → info-aYWeE1Iw.js} +1 -1
  148. package/dist/web/assets/{jsonMode-B7monA6g.js → jsonMode-CpD6UkT7.js} +1 -1
  149. package/dist/web/assets/{lspLanguageFeatures-CcJ9GDtK.js → lspLanguageFeatures-DpcK8ZI6.js} +1 -1
  150. package/dist/web/assets/{minimize-2-O1DnznGK.js → minimize-2-DeYg7XqB.js} +1 -1
  151. package/dist/web/assets/{monaco.contribution-2PozfA9g.js → monaco.contribution-BDTM0ZJq.js} +2 -2
  152. package/dist/web/assets/{monaco.contribution-QOOCizYq.js → monaco.contribution-C-_ekTxy.js} +2 -2
  153. package/dist/web/assets/{monaco.contribution-BMAF2bmO.js → monaco.contribution-CrrdDQgP.js} +2 -2
  154. package/dist/web/assets/{monaco.contribution-BSJ2jQTi.js → monaco.contribution-JWFq0HzV.js} +2 -2
  155. package/dist/web/assets/{play-BpCc5ZbR.js → play-BqgRTddV.js} +1 -1
  156. package/dist/web/assets/{python-BK41iew-.js → python-B67wope9.js} +1 -1
  157. package/dist/web/assets/{refresh-cw-Csoy1ev1.js → refresh-cw-DwMA_2On.js} +1 -1
  158. package/dist/web/assets/{save-Dbztj0W7.js → save-B0BKh5oQ.js} +1 -1
  159. package/dist/web/assets/square-LY3oz82L.js +1 -0
  160. package/dist/web/assets/{toggleHighContrast-DrmwDpyz.js → toggleHighContrast-B2jka5B1.js} +1 -1
  161. package/dist/web/assets/{training-daZlCtKV.css → training-eg6uFi3M.css} +1 -1
  162. package/dist/web/assets/{tsMode-CFgCMr7d.js → tsMode-1MUwluYD.js} +1 -1
  163. package/dist/web/assets/{upload-C5nhiSMq.js → upload-bSKSkFVa.js} +1 -1
  164. package/dist/web/assets/{useLocalAgentSchedules-LAsobERb.js → useLocalAgentSchedules--jnnM4Fz.js} +1 -1
  165. package/dist/web/assets/{wifi-off-BHxh2UbA.js → wifi-off-DA34iPmr.js} +1 -1
  166. package/dist/web/assets/{workers-FKb-NyBI.js → workers-CczIcRcl.js} +1 -1
  167. package/dist/web/assets/{yaml-C5DbF9S6.js → yaml-DwEGoHA9.js} +1 -1
  168. package/dist/web/index.html +2 -2
  169. package/docs/command-reference.md +58 -2
  170. package/package.json +3 -1
  171. package/dist/web/assets/App-BF9L0JUv.js +0 -171
  172. package/dist/web/assets/LabModelVersionDetailPage-BzF-IVXQ.js +0 -1
  173. package/dist/web/assets/LabsRoute-CS_orT9s.css +0 -1
  174. package/dist/web/assets/LabsRoute-Di1Zs4gZ.js +0 -2
  175. package/dist/web/assets/MainChatThread-8VzlD8Hi.js +0 -2
  176. package/dist/web/assets/MainPane-StAOFINE.js +0 -6
  177. package/dist/web/assets/MarkdownText-B8D_ftSJ.js +0 -9
  178. package/dist/web/assets/Messages-TY62tiDp.js +0 -10
  179. package/dist/web/assets/RightChatPanelStack-DzUbDKwp.js +0 -1
  180. package/dist/web/assets/ScheduledWorkPage-BuXw_W8b.js +0 -1
  181. package/dist/web/assets/SettingsView-BRPrJuP5.css +0 -1
  182. package/dist/web/assets/SettingsView-DB_zPHYY.js +0 -6
  183. package/dist/web/assets/WorkSidebarPanel-CeWGboTh.js +0 -1
  184. package/dist/web/assets/WorkspaceEnvironmentMenu-BTz9FISP.js +0 -32
  185. package/dist/web/assets/WorkspaceGitDialogs-BnBRUYpS.js +0 -1
  186. package/dist/web/assets/activity-DA5DNQwD.js +0 -1
  187. package/dist/web/assets/chevron-up-DSv2auz_.js +0 -1
  188. package/dist/web/assets/git-branch-zKnZdQiX.js +0 -1
  189. package/dist/web/assets/index-CQ3CPVHZ.css +0 -1
  190. package/dist/web/assets/index-CuoGlf-W.js +0 -1
  191. package/dist/web/assets/square-ju7fWa0W.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as p,j as n}from"./index-Dvq7bpBG.js";import{ap as Ot,o as Mt,a as zt,c0 as Dt,C as Ft,d as De,aL as Bt}from"./App-BOkhmdHu.js";import{a as Ne,i as me,aw as it,al as lt,ax as st,ay as _t,a1 as Pe,X as we,W as Se,d as ot,af as Vt,az as Ut,y as be,ag as ct,aA as Kt,aB as Wt,E as Te,H as dt,aC as Gt,J as ut,K as pt,M as qt,aD as Ht,L as Fe,p as Jt,r as mt,aE as Xt,Z as ht,_ as Yt,$ as Zt,a0 as Qt,a2 as Z,a3 as ft,a4 as ea,a5 as ta,a6 as aa,aF as na,a7 as ra,ab as ia,a9 as la,aa as gt,aG as Be,ah as sa,ai as oa,aj as ca,ak as da,s as ua,D as pa,ap as ma,aq as ha,ar as fa,as as ga,at as va,au as ba,av as xa}from"./CartesianChart-Y0lsL4vC.js";import{s as K,f as xe,c as Q,b as ee,g as _e,d as he}from"./training-model-data-CKOkpBBL.js";import{L as Ce,b as Ae,a as ya,l as ja,c as ka,d as Na,e as Pa,m as wa,f as Sa,g as Ta,h as Ca,r as Aa,i as Ia,M as vt,j as Ea,k as Ra,E as Ve}from"./LabsRoute-9v8qwEBc.js";import"./index-66-ohHD5.js";import"./cloud-upload-CsrrwS-b.js";import"./MainPane-BbknUzp3.js";import"./chat-file-links-Bned0MT7.js";import"./arrow-up-right-4nAzMtjW.js";import"./square-LY3oz82L.js";import"./AppDialog-BCjKFUBn.js";import"./ComposerCreateImproveStrip-BGzCWVFp.js";import"./play-BqgRTddV.js";import"./refresh-cw-DwMA_2On.js";/* empty css */import"./info-aYWeE1Iw.js";function ye(){return ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},ye.apply(null,arguments)}var bt=e=>{var t=e.cx,a=e.cy,r=e.r,l=e.className,i=Ne("recharts-dot",l);return me(t)&&me(a)&&me(r)?p.createElement("circle",ye({},lt(e),it(e),{className:i,cx:t,cy:a,r})):null},$a=["points"];function Ue(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,r)}return a}function fe(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Ue(Object(a),!0).forEach(function(r){La(e,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ue(Object(a)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))})}return e}function La(e,t,a){return(t=Oa(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Oa(e){var t=Ma(e,"string");return typeof t=="symbol"?t:t+""}function Ma(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var r=a.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 ie(){return ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},ie.apply(null,arguments)}function za(e,t){if(e==null)return{};var a,r,l=Da(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}function Da(e,t){if(e==null)return{};var a={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;a[r]=e[r]}return a}function Fa(e){var t=e.option,a=e.dotProps,r=e.className;if(p.isValidElement(t))return p.cloneElement(t,a);if(typeof t=="function")return t(a);var l=Ne(r,typeof t!="boolean"?t.className:""),i=a??{};i.points;var c=za(i,$a);return p.createElement(bt,ie({},c,{className:l}))}function Ba(e,t){return e==null?!1:t?!0:e.length===1}function _a(e){var t=e.points,a=e.dot,r=e.className,l=e.dotClassName,i=e.dataKey,c=e.baseProps,s=e.needClip,d=e.clipPathId,o=e.zIndex,h=o===void 0?we.scatter:o;if(!Ba(t,a))return null;var u=st(a),m=_t(a),f=t.map((j,k)=>{var N,x,g=fe(fe(fe({r:3},c),m),{},{index:k,cx:(N=j.x)!==null&&N!==void 0?N:void 0,cy:(x=j.y)!==null&&x!==void 0?x:void 0,dataKey:i,value:j.value,payload:j.payload,points:t});return p.createElement(Fa,{key:"dot-".concat(k),option:a,dotProps:g,className:l})}),y={};return s&&d!=null&&(y.clipPath="url(#clipPath-".concat(u?"":"dots-").concat(d,")")),p.createElement(Pe,{zIndex:h},p.createElement(Se,ie({className:r},y),f))}function Ke(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,r)}return a}function ge(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Ke(Object(a),!0).forEach(function(r){Va(e,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ke(Object(a)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))})}return e}function Va(e,t,a){return(t=Ua(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Ua(e){var t=Ka(e,"string");return typeof t=="symbol"?t:t+""}function Ka(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var r=a.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 Wa=e=>{var t=e.point,a=e.childIndex,r=e.mainColor,l=e.activeDot,i=e.dataKey,c=e.clipPath;if(l===!1||t.x==null||t.y==null)return null;var s={index:a,dataKey:i,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=ge(ge(ge({},s),ct(l)),it(l)),o;return p.isValidElement(l)?o=p.cloneElement(l,d):typeof l=="function"?o=l(d):o=p.createElement(bt,d),p.createElement(Se,{className:"recharts-active-dot",clipPath:c},o)};function Ga(e){var t=e.points,a=e.mainColor,r=e.activeDot,l=e.itemDataKey,i=e.clipPath,c=e.zIndex,s=c===void 0?we.activeDot:c,d=ot(Vt),o=Ut();if(t==null||o==null)return null;var h=t.find(u=>o.includes(u.payload));return be(h)?null:p.createElement(Pe,{zIndex:s},p.createElement(Wa,{point:h,childIndex:Number(d),mainColor:a,dataKey:l,activeDot:r,clipPath:i}))}var qa=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function je(){return je=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},je.apply(null,arguments)}function Ha(e,t){if(e==null)return{};var a,r,l=Ja(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}function Ja(e,t){if(e==null)return{};var a={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;a[r]=e[r]}return a}function Xa(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function xt(e,t){return"".concat(t,"px ").concat(e,"px")}function Ya(e){return e.length%2!==0?[...e,...e]:e}function Za(e,t){for(var a=[],r=0;r<t;++r)a.push(...e);return a}function Qa(e,t,a){var r=Ya(a),l=r.reduce((f,y)=>f+y,0);if(!l)return xt(t,e);for(var i=Math.floor(e/l),c=e%l,s=[],d=0,o=0;d<r.length;o+=(h=r[d])!==null&&h!==void 0?h:0,++d){var h,u=r[d];if(u!=null&&o+u>c){s=[...r.slice(0,d),c-o];break}}var m=s.length%2===0?[0,t]:[t];return[...Za(r,i),...s,...m].map(f=>"".concat(f,"px")).join(", ")}function en(e,t,a){if(e){var r="".concat(e).split(/[,\s]+/gim).map(l=>parseFloat(l));return Qa(a,t,r)}return xt(t,a)}function tn(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,a=e.strokeDasharray,r=e.connectNulls,l=Ha(e,qa),i=r??!1,c;if(t!=null){var s,d=l.pathRef,o=Xa((s=d?.current)!==null&&s!==void 0?s:null);c=en(a,o,t)}else a!=null&&(c=String(a));return p.createElement(Kt,je({},l,{connectNulls:i,strokeDasharray:c}))}function an(e){var t=p.useRef(0),a=p.useRef(0),r=p.useRef(!1),l=p.useRef(e);return l.current!==e&&(t.current=a.current,l.current=e),p.useCallback((i,c)=>{if(r.current)return null;var s=Math.min(Wt(t.current+i*c),c);return i>0&&c>0&&(a.current=Math.max(a.current,s),s>=c)?(r.current=!0,null):s},[])}var yt=(e,t,a,r)=>ut(e,"xAxis",t,r),jt=(e,t,a,r)=>pt(e,"xAxis",t,r),kt=(e,t,a,r)=>ut(e,"yAxis",a,r),Nt=(e,t,a,r)=>pt(e,"yAxis",a,r),nn=Te([dt,yt,kt,jt,Nt],(e,t,a,r,l)=>Ht(e,"xAxis")?Fe(t,r,!1):Fe(a,l,!1)),rn=(e,t,a,r,l)=>l;function ln(e){return e.type==="line"}var sn=Te([qt,rn],(e,t)=>e.filter(ln).find(a=>a.id===t)),on=Te([dt,yt,kt,jt,Nt,sn,nn,Gt],(e,t,a,r,l,i,c,s)=>{var d=s.chartData,o=s.dataStartIndex,h=s.dataEndIndex;if(!(i==null||t==null||a==null||r==null||l==null||r.length===0||l.length===0||c==null||e!=="horizontal"&&e!=="vertical")){var u=i.dataKey,m=i.data,f;if(m!=null&&m.length>0?f=m:f=d?.slice(o,h+1),f!=null)return In({layout:e,xAxis:t,yAxis:a,xAxisTicks:r,yAxisTicks:l,dataKey:u,bandSize:c,displayedData:f})}});function cn(e){var t=ct(e),a=3,r=2;if(t!=null){var l=t.r,i=t.strokeWidth,c=Number(l),s=Number(i);return(Number.isNaN(c)||c<0)&&(c=a),(Number.isNaN(s)||s<0)&&(s=r),{r:c,strokeWidth:s}}return{r:a,strokeWidth:r}}var dn=["id"],un=["type","layout","connectNulls","needClip","shape","strokeDasharray"],pn=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function le(){return le=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},le.apply(null,arguments)}function Ie(e,t){if(e==null)return{};var a,r,l=mn(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}function mn(e,t){if(e==null)return{};var a={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;a[r]=e[r]}return a}function We(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,r)}return a}function D(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?We(Object(a),!0).forEach(function(r){hn(e,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):We(Object(a)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))})}return e}function hn(e,t,a){return(t=fn(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function fn(e){var t=gn(e,"string");return typeof t=="symbol"?t:t+""}function gn(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var r=a.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 vn(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function bn(e){var t=0,a=0;for(var r of e)r.status==="matched"&&r.prev.x!=null&&r.next.x!=null&&(t+=r.next.x-r.prev.x,a++);return a>0?t/a:0}var xn=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(s=>s.status==="removed"?[]:[s.next]);var a=bn(e),r=[];for(var l of e)if(l.status==="matched")r.push(D(D({},l.next),{},{x:Z(l.prev.x,l.next.x,t),y:Z(l.prev.y,l.next.y,t)}));else if(l.status==="added")if(l.next.x!=null){var i=l.next.x-a;r.push(D(D({},l.next),{},{x:Z(i,l.next.x,t),y:l.next.y}))}else r.push(l.next);else if(l.status==="removed"&&l.prev.x!=null){var c=l.prev.x+a;r.push(D(D({},l.prev),{},{x:Z(l.prev.x,c,t),y:l.prev.y}))}return r},Ee={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:xn,animationMatchBy:Xt,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:tn,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:we.line,type:"linear"},yn=e=>{var t=e.dataKey,a=e.name,r=e.stroke,l=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:l,color:r,value:ft(a,t),payload:e}]},jn=p.memo(e=>{var t=e.dataKey,a=e.data,r=e.stroke,l=e.strokeWidth,i=e.fill,c=e.name,s=e.hide,d=e.unit,o=e.formatter,h=e.tooltipType,u=e.id,m={dataDefinedOnItem:a,getPosition:ta,settings:{stroke:r,strokeWidth:l,fill:i,dataKey:t,nameKey:void 0,name:ft(c,t),hide:s,type:h,color:r,unit:d,formatter:o,graphicalItemId:u}};return p.createElement(ea,{tooltipEntrySettings:m})});function kn(e){var t=e.clipPathId,a=e.points,r=e.props,l=r.dot,i=r.dataKey,c=r.needClip;r.id;var s=Ie(r,dn),d=lt(s);return p.createElement(_a,{points:a,dot:l,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:i,baseProps:d,needClip:c,clipPathId:t})}function Nn(e){var t=e.showLabels,a=e.children,r=e.points,l=p.useMemo(()=>r?.map(i=>{var c,s,d={x:(c=i.x)!==null&&c!==void 0?c: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 p.createElement(da,{value:t?l:void 0},a)}function Pn(e){var t=e.clipPathId,a=e.pathRef,r=e.points,l=e.props,i=e.animationElapsedTime,c=e.isAnimating,s=e.isEntrance,d=e.visibleLength,o=l.type,h=l.layout,u=l.connectNulls,m=l.needClip,f=l.shape,y=l.strokeDasharray,j=Ie(l,un),k=D(D({},ua(j)),{},{fill:"none",className:"recharts-line-curve",clipPath:m?"url(#clipPath-".concat(t,")"):void 0,points:r,type:o,layout:h,connectNulls:u,strokeDasharray:y??l.strokeDasharray,pathRef:a,animationElapsedTime:i,isAnimating:c,isEntrance:l.animateNewValues?s:!1,visibleLength:d});return p.createElement(p.Fragment,null,r?.length>1&&p.createElement(pa,{option:f,DefaultShape:Ee.shape,shapeProps:k}),p.createElement(kn,{points:r,clipPathId:t,props:l}))}function wn(e){var t=e.clipPathId,a=e.props,r=e.pathRef,l=e.previousPointsRef,i=a.points,c=a.isAnimationActive,s=a.animationBegin,d=a.animationDuration,o=a.animationEasing,h=a.animationMatchBy,u=a.animationInterpolateFn,m=a.layout,f=vn(r.current),y=sa(a.onAnimationStart,a.onAnimationEnd),j=y.isAnimating,k=y.handleAnimationStart,N=y.handleAnimationEnd,x=!j,g=an(i),v=p.useCallback(C=>C>0&&f>0,[f]);return p.createElement(Nn,{points:i,showLabels:x},a.children,p.createElement(oa,{animationInput:i,animationIdPrefix:"recharts-line-",items:i,previousItemsRef:l,isAnimationActive:c,animationBegin:s,animationDuration:d,animationEasing:o,onAnimationStart:k,onAnimationEnd:N,animationInterpolateFn:u,animationMatchBy:h,shouldUpdatePreviousRef:v,layout:m},(C,O,V)=>{var _=j||O<1,F=_?g(O,f):null;return p.createElement(Pn,{props:a,points:C,clipPathId:t,pathRef:r,animationElapsedTime:O,isAnimating:_,isEntrance:V,visibleLength:F})}),p.createElement(ca,{label:a.label}))}function Sn(e){var t=e.clipPathId,a=e.props,r=p.useRef(null),l=p.useRef(null);return p.createElement(wn,{props:a,clipPathId:t,previousPointsRef:r,pathRef:l})}var Tn=(e,t)=>{var a,r;return{x:(a=e.x)!==null&&a!==void 0?a:void 0,y:(r=e.y)!==null&&r!==void 0?r:void 0,value:e.value,errorVal:gt(e.payload,t)}};class Cn extends p.Component{render(){var t=this.props,a=t.hide,r=t.dot,l=t.points,i=t.className,c=t.xAxisId,s=t.yAxisId,d=t.top,o=t.left,h=t.width,u=t.height,m=t.id,f=t.needClip,y=t.zIndex;if(a)return null;var j=Ne("recharts-line",i),k=m,N=cn(r),x=N.r,g=N.strokeWidth,v=st(r),C=x*2+g,O=f?"url(#clipPath-".concat(v?"":"dots-").concat(k,")"):void 0;return p.createElement(Pe,{zIndex:y},p.createElement(Se,{className:j},f&&p.createElement("defs",null,p.createElement(ia,{clipPathId:k,xAxisId:c,yAxisId:s}),!v&&p.createElement("clipPath",{id:"clipPath-dots-".concat(k)},p.createElement("rect",{x:o-C/2,y:d-C/2,width:h+C,height:u+C}))),p.createElement(la,{xAxisId:c,yAxisId:s,data:l,dataPointFormatter:Tn,errorBarOffset:0},p.createElement(Sn,{props:this.props,clipPathId:k}))),p.createElement(Ga,{activeDot:this.props.activeDot,points:l,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:O}))}}function An(e){var t=mt(e,Ee),a=t.activeDot,r=t.animateNewValues,l=t.animationBegin,i=t.animationDuration,c=t.animationEasing,s=t.connectNulls,d=t.dot,o=t.hide,h=t.isAnimationActive,u=t.label,m=t.legendType,f=t.xAxisId,y=t.yAxisId,j=t.id,k=Ie(t,pn),N=aa(f,y),x=N.needClip,g=na(),v=ra(),C=ht(),O=ot(Y=>on(Y,f,y,C,j));if(v!=="horizontal"&&v!=="vertical"||O==null||g==null)return null;var V=g.height,_=g.width,F=g.x,S=g.y;return p.createElement(Cn,le({},k,{id:j,connectNulls:s,dot:d,activeDot:a,animateNewValues:r,animationBegin:l,animationDuration:i,animationEasing:c,isAnimationActive:h,hide:o,label:u,legendType:m,xAxisId:f,yAxisId:y,points:O,layout:v,height:V,width:_,left:F,top:S,needClip:x}))}function In(e){var t=e.layout,a=e.xAxis,r=e.yAxis,l=e.xAxisTicks,i=e.yAxisTicks,c=e.dataKey,s=e.bandSize,d=e.displayedData;return d.map((o,h)=>{var u=gt(o,c);if(t==="horizontal"){var m=Be({axis:a,ticks:l,bandSize:s,entry:o,index:h}),f=be(u)?null:r.scale.map(u);return{x:m,y:f??null,value:u,payload:o}}var y=be(u)?null:a.scale.map(u),j=Be({axis:r,ticks:i,bandSize:s,entry:o,index:h});return y==null||j==null?null:{x:y,y:j,value:u,payload:o}}).filter(Boolean)}function En(e){var t=mt(e,Ee),a=ht();return p.createElement(Yt,{id:t.id,type:"line"},r=>p.createElement(p.Fragment,null,p.createElement(Zt,{legendPayload:yn(t)}),p.createElement(jn,{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}),p.createElement(Qt,{type:"line",id:r,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:a}),p.createElement(An,le({},t,{id:r}))))}var Pt=p.memo(En,Jt);Pt.displayName="Line";var Rn=["axis"],$n=p.forwardRef((e,t)=>p.createElement(ma,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Rn,tooltipPayloadSearcher:ha,categoricalChartProps:e,ref:t}));function Ln({events:e}){const t=e.filter(a=>a.type==="metric"&&a.payload.metricKind==="rollout_trajectory");return t.length?n.jsx("div",{className:"training-rollout-receipts",children:t.map((a,r)=>{const l=a.payload.rewardEligible===!0,i=q(a.payload.reward),c=typeof a.payload.failureClass=="string"?a.payload.failureClass:null,s=typeof a.payload.failureCode=="string"?a.payload.failureCode:null;return n.jsxs("details",{children:[n.jsxs("summary",{children:[n.jsxs("span",{children:["Attempt ",r+1]}),n.jsx("strong",{children:l?"eligible":"ineligible"}),n.jsx("em",{children:l&&i!=null?i.toFixed(3):s??c??"not reward eligible"})]}),n.jsxs("dl",{className:"training-configuration-list",children:[n.jsx(P,{label:"Rollout",value:Ge(a.payload.rolloutId)}),n.jsx(P,{label:"Group",value:Ge(a.payload.rolloutGroupId)}),n.jsx(P,{label:"Policy",value:`v${q(a.payload.policyVersion)??0}`}),n.jsx(P,{label:"Worker",value:String((q(a.payload.workerSlot)??0)+1)}),n.jsx(P,{label:"Reward",value:i==null?"Not eligible":String(i)}),n.jsx(P,{label:"Failure class",value:c??"None"}),n.jsx(P,{label:"Failure code",value:s??"None"}),n.jsx(P,{label:"Components",value:JSON.stringify(a.payload.rewardComponents??{})}),n.jsx(P,{label:"Tokens",value:`${q(a.payload.inputTokens)??0} input · ${q(a.payload.outputTokens)??0} output`})]})]},a.id)})}):n.jsx("div",{className:"training-run-placeholder",children:"No managed attempts were recorded for this run."})}function On({receipts:e}){const[t,a]=p.useState(!1);if(!e.length)return n.jsx("div",{className:"training-run-placeholder",children:"No on-policy rollout receipts were recorded for this run."});const r=[...e].sort((i,c)=>c.updatedAt.localeCompare(i.updatedAt)),l=t?r:r.slice(0,24);return n.jsxs("div",{className:"training-rollout-receipts",children:[e.length>24?n.jsxs("div",{className:"training-rollout-receipt-controls",children:[n.jsx("span",{children:t?`Showing all ${e.length} receipts`:`Showing latest ${l.length} of ${e.length} receipts`}),n.jsx("button",{className:"training-text-button",type:"button",onClick:()=>a(i=>!i),children:t?"Show latest 24":`Show all ${e.length}`})]}):null,l.map(i=>n.jsxs("details",{children:[n.jsxs("summary",{children:[n.jsx("span",{children:Mn(i.providerTrace.rolloutId)}),n.jsx("strong",{children:i.status}),n.jsx("em",{children:i.reward.eligible&&i.reward.raw!=null?i.reward.raw.toFixed(3):i.failureClass??"not reward eligible"})]}),n.jsxs("dl",{className:"training-configuration-list",children:[n.jsx(P,{label:"Correlation",value:i.correlationId}),n.jsx(P,{label:"Task",value:i.taskId}),n.jsx(P,{label:"Policy",value:i.policy.modelId}),n.jsx(P,{label:"Checkpoint",value:i.policy.checkpointId??"Provider initial policy"}),n.jsx(P,{label:"Environment",value:`${i.environment.id}@${i.environment.version}`}),n.jsx(P,{label:"World",value:`${i.environment.worldId} · ${i.environment.worldHash}`}),n.jsx(P,{label:"Raw reward",value:i.reward.raw==null?"Not eligible":String(i.reward.raw)}),n.jsx(P,{label:"Components",value:JSON.stringify(i.reward.components)}),n.jsx(P,{label:"Outcome",value:i.verifier?.outcome??i.failureClass??"Pending"}),n.jsx(P,{label:"Trace",value:`${i.providerTrace.experimentId}/${i.providerTrace.rolloutId}`})]})]},i.id))]})}function P({label:e,value:t}){return n.jsxs("div",{children:[n.jsx("dt",{children:e}),n.jsx("dd",{children:t})]})}function q(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Ge(e){return typeof e=="string"&&e?e:"Not recorded"}function Mn(e){return e.replace(/^lineage_/,"").slice(0,18)}function zn({detail:e,loading:t,pending:a=!1}){if(t&&!e)return n.jsx("div",{className:"training-run-placeholder",children:"Loading evaluation results…"});const r=e?.evaluation;return r?n.jsxs("div",{className:"training-run-evaluation",children:[n.jsxs("div",{className:"training-metric-summary",children:[n.jsx(te,{label:"Base score",value:qe(r.base.meanScore)}),n.jsx(te,{label:"Trained score",value:qe(r.trained.meanScore)}),n.jsx(te,{label:"Score change",value:Bn(r.meanScoreDelta)}),n.jsx(te,{label:"Trained pass rate",value:Fn(r.trained.passRate)})]}),r.base.count===0?n.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?n.jsx("p",{className:"training-muted",children:"Outputs were captured, but the grader was unavailable, so this run has no evaluation score."}):null,n.jsx("div",{className:"training-table-wrap",children:n.jsxs("table",{className:"training-data-table training-evaluation-table",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Test example"}),n.jsx("th",{children:"Base"}),n.jsx("th",{children:"Trained"}),n.jsx("th",{children:"Result"})]})}),n.jsx("tbody",{children:r.examples.map(l=>n.jsxs("tr",{children:[n.jsx("td",{children:n.jsxs("details",{children:[n.jsx("summary",{children:l.taskId}),n.jsx(Dn,{input:l.input,baseOutput:l.baseOutput,trainedOutput:l.trainedOutput,baseGrade:l.baseGrade,trainedGrade:l.trainedGrade})]})}),n.jsx("td",{children:He(l.baseGrade)}),n.jsx("td",{children:He(l.trainedGrade)}),n.jsx("td",{children:_n(l.baseGrade,l.trainedGrade)})]},l.taskId))})]})})]}):n.jsx("div",{className:"training-run-placeholder",children:a?"Evaluation will appear here after the first eligible checkpoint is scored.":"No scored evaluation results are available for this run."})}function Dn({input:e,baseOutput:t,trainedOutput:a,baseGrade:r,trainedGrade:l}){const i=[...new Set([...r?.feedback??[],...l?.feedback??[]])];return n.jsxs("div",{className:"training-evaluation-output",children:[n.jsxs("div",{children:[n.jsx("span",{children:"Input"}),n.jsx("pre",{children:JSON.stringify(e,null,2)})]}),t?n.jsxs("div",{children:[n.jsx("span",{children:"Base output"}),n.jsx("pre",{children:JSON.stringify(t,null,2)})]}):null,a?n.jsxs("div",{children:[n.jsx("span",{children:"Trained output"}),n.jsx("pre",{children:JSON.stringify(a,null,2)})]}):null,i.length?n.jsxs("div",{children:[n.jsx("span",{children:"Grader feedback"}),n.jsx("p",{children:i.join(" ")})]}):null]})}function te({label:e,value:t}){return n.jsxs("div",{children:[n.jsx("span",{children:e}),n.jsx("strong",{children:t})]})}function qe(e){return e==null?"Not recorded":e.toFixed(3)}function Fn(e){return e==null?"Not recorded":`${Math.round(e*100)}%`}function Bn(e){return e==null?"Not comparable":`${e>=0?"+":""}${e.toFixed(3)}`}function He(e){return e?.status==="unavailable"?"Unavailable":e?.score==null?"Not scored":e.score.toFixed(3)}function _n(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 a=t.score-e.score;return Math.abs(a)<5e-4?"No change":a>0?`Improved ${a.toFixed(3)}`:`Regressed ${Math.abs(a).toFixed(3)}`}const Vn=[{id:"optimizer.reward",label:"Mean reward",points:[]},{id:"reward.variance",label:"Reward variance",points:[]},{id:"optimizer.kl",label:"Policy update KL",points:[]},{id:"optimizer.policy_loss",label:"Policy loss",points:[]},{id:"optimizer.learning_rate",label:"Learning rate",points:[],format:"scientific"}];function Un({series:e,loading:t=!1,live:a=!1}){const[r,l]=p.useState("raw"),i=p.useMemo(()=>{const s=e.filter(o=>o.points.length);if(!t&&!a)return s;const d=new Map(s.map(o=>[o.id,o]));for(const o of Vn)d.has(o.id)||d.set(o.id,o);return[...d.values()]},[a,t,e]),c=i.some(s=>s.points.length>1);return i.length?n.jsxs("section",{className:"training-metric-workbench","aria-label":"Training metrics",children:[c?n.jsx("div",{className:"training-metric-workbench-controls",children:n.jsxs("label",{children:[n.jsx("span",{children:"Display"}),n.jsxs("select",{"aria-label":"Metric display",onChange:s=>l(s.currentTarget.value),value:r,children:[n.jsx("option",{value:"raw",children:"Raw values"}),n.jsx("option",{value:"smoothed",children:"Smoothed trend"})]})]})}):null,n.jsx("div",{className:"training-metric-chart-grid",children:i.map(s=>n.jsx(Kn,{display:r,loading:t&&!s.points.length,metric:s,pending:a&&!s.points.length},s.id))})]}):n.jsx("div",{className:"training-run-placeholder",children:"This run did not report chartable metrics."})}const Kn=p.memo(function({metric:t,display:a,loading:r,pending:l}){const i=p.useMemo(()=>a==="smoothed"?qn(t.points,3):t.points,[a,t.points]),c=p.useMemo(()=>t.points.length?Hn(t.points.map(o=>o.value)):null,[t.points]),s=o=>Jn(o,t.format),d=t.xLabel??"training step";return n.jsxs("article",{className:"training-metric-chart-card",children:[n.jsxs("header",{children:[n.jsxs("div",{className:"training-metric-chart-title",children:[n.jsx("h4",{children:t.label}),n.jsx("span",{children:t.points.length?`${t.points.length} ${t.points.length===1?"point":"points"}`:l?"Live":"No data"})]}),n.jsx("div",{className:"training-metric-chart-header-actions",children:c?n.jsx("strong",{children:s(c.latest)}):null})]}),t.points.length?n.jsx("div",{className:"training-metric-card-chart","aria-label":`${t.label} by ${d}`,children:n.jsx(fa,{height:"100%",width:"100%",children:n.jsxs($n,{data:i,margin:{top:18,right:18,bottom:4,left:0},children:[n.jsx(ga,{stroke:"var(--border)",strokeDasharray:"3 4",vertical:!1}),n.jsx(va,{axisLine:!1,dataKey:"step",fontSize:10,stroke:"var(--muted)",tickLine:!1}),n.jsx(ba,{axisLine:!1,dataKey:"value",domain:t.format==="percent"?[0,1]:["auto","auto"],fontSize:10,stroke:"var(--muted)",tickFormatter:s,tickLine:!1,width:66}),n.jsx(xa,{content:o=>n.jsx(Wn,{active:o.active,format:s,label:t.label,payload:o.payload,xLabel:d}),isAnimationActive:!1}),n.jsx(Pt,{activeDot:{fill:"var(--cyan, #06b6d4)",r:5},dataKey:"value",dot:{fill:"var(--cyan, #06b6d4)",r:2.5},isAnimationActive:!1,stroke:"var(--cyan, #06b6d4)",strokeWidth:2,type:"monotone"})]})})}):n.jsxs("div",{className:r?"training-metric-chart-empty is-loading":"training-metric-chart-empty",children:[r?n.jsxs("span",{className:"sr-only",children:["Loading ",t.label]}):null,r?null:n.jsx("span",{children:l?"Waiting for rollout…":"No data reported"})]}),c?n.jsxs("dl",{className:"training-metric-card-stats",children:[n.jsx(ae,{label:"Mean",value:s(c.mean)}),n.jsx(ae,{label:"Min",value:s(c.min)}),n.jsx(ae,{label:"Max",value:s(c.max)}),n.jsx(ae,{label:"Std. dev.",value:s(c.standardDeviation)})]}):null]})});function Wn({active:e,payload:t,label:a,format:r,xLabel:l}){if(!e||!t.length)return null;const i=t[0]?.payload;return typeof i?.value!="number"?null:n.jsxs("div",{className:"training-chart-tooltip",children:[n.jsxs("strong",{children:[Gn(l)," ",String(i.step??"—")]}),n.jsx("dl",{children:n.jsxs("div",{children:[n.jsx("dt",{children:a}),n.jsx("dd",{children:r(i.value)})]})})]})}function Gn(e){return e.replace(/^./,t=>t.toUpperCase())}function ae({label:e,value:t}){return n.jsxs("div",{children:[n.jsx("dt",{children:e}),n.jsx("dd",{children:t})]})}function qn(e,t){return e.map((a,r)=>{const l=e.slice(Math.max(0,r-t+1),r+1);return{step:a.step,value:l.reduce((i,c)=>i+c.value,0)/l.length}})}function Hn(e){const t=[...e].sort((l,i)=>l-i),a=e.reduce((l,i)=>l+i,0)/e.length,r=e.reduce((l,i)=>l+(i-a)**2,0)/e.length;return{latest:e.at(-1),mean:a,min:t[0],max:t.at(-1),standardDeviation:Math.sqrt(r)}}function Jn(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)}function Xn(e,t=[]){const a=t.filter(d=>d.split==="train"),r=new Map(a.map(d=>[d.id,d])),l=new Map,i=new Set,c=new Map,s=new Set;for(const d of e){if(d.type!=="metric")continue;const o=d.payload;if(o.metricKind==="rollout_trajectory"){const h=T(o.rolloutGroupId)??"group-0",u=l.get(h),m=z(o.rolloutGroupIndex)??u?.groupIndex??l.size,f=T(o.taskId),y=(f?r.get(f):null)??(a.length?a[m%a.length]??null:null),j=wt(y?.metadata),k={id:d.id,rolloutIndex:z(o.rolloutIndex),workerSlot:z(o.workerSlot),attempt:z(o.attempt)??1,policyVersion:z(o.policyVersion),reward:Re(o.reward),rewardEligible:o.rewardEligible===!0,terminalClass:T(o.terminalClass),failure:T(o.failureCode)??T(o.failureClass),inputTokens:z(o.inputTokens)??0,outputTokens:z(o.outputTokens)??0,components:Yn(o)};l.set(h,{id:h,groupIndex:m,taskId:f??y?.id??u?.taskId??null,taskLabel:Qn(y)??u?.taskLabel??null,taskFamily:T(o.taskFamily)??T(o.scenarioFamily)??y?.clusterKey??T(j.scenarioFamily)??u?.taskFamily??null,policyVersion:z(o.policyVersion)??u?.policyVersion??null,trajectories:[...u?.trajectories??[],k]});continue}if(o.metricKind==="optimizer_disposition"){const h=T(o.rolloutGroupId);if(!h)continue;const u=T(o.optimizerDisposition)??T(o.disposition)??T(o.remotePhase);u?.includes("skipped")&&i.add(h),u==="applied"&&c.set(h,z(o.step));continue}if(o.metricKind==="policy_optimization"){const h=z(o.step),u=T(o.rolloutGroupId);h!==null&&s.add(h),u&&c.set(u,h)}}return[...l.values()].sort((d,o)=>d.groupIndex-o.groupIndex).map(d=>{const o=d.trajectories.flatMap(m=>m.rewardEligible&&m.reward!==null?[m.reward]:[]),h=c.get(d.id);let u=h===void 0?null:h;if(u===null&&!i.has(d.id)){const m=d.groupIndex+1;s.has(m)&&(u=m)}return{...d,optimizerDisposition:i.has(d.id)?"skipped":u!==null?"applied":"pending",optimizerStep:u,mean:Zn(o),minimum:o.length?Math.min(...o):null,maximum:o.length?Math.max(...o):null}})}function Yn(e){const t=[e.rewardComponents,e.rubricComponents,e.components].find(ke);return t?Object.entries(t).flatMap(([a,r])=>{if(typeof r=="number"&&Number.isFinite(r))return[{id:a,label:Je(a),score:r,passed:null,feedback:null}];if(!ke(r))return[];const l=[r.score,r.reward,r.value,r.rewardContribution].map(Re).find(i=>i!==null);return l===void 0?[]:[{id:a,label:T(r.label)??T(r.name)??Je(a),score:l,passed:typeof r.passed=="boolean"?r.passed:null,feedback:T(r.feedback)}]}):[]}function Zn(e){return e.length?e.reduce((t,a)=>t+a,0)/e.length:null}function Re(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function z(e){const t=Re(e);return t!==null&&Number.isInteger(t)?t:null}function T(e){return typeof e=="string"&&e.trim()?e.trim():null}function ke(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function wt(e){return ke(e)?e:{}}function Je(e){return e.replaceAll(/[._-]+/g," ").replace(/^./,t=>t.toUpperCase())}function Qn(e){if(!e)return null;const t=wt(e.input),a=[t.title,t.name,t.prompt,t.instruction,t.question,t.query].find(l=>typeof l=="string"&&!!l.trim());if(!a)return null;const r=a.trim().split(/\n\s*\n/,1)[0].replaceAll(/\s+/g," ");return r.length>110?`${r.slice(0,107).trimEnd()}…`:r}const er=new Set(["optimizer.reward","rollout.reward"]),tr=[{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:"gradientNorm",id:"optimizer.gradient_norm",label:"Gradient norm"},{key:"kl",id:"optimizer.kl",label:"Policy update KL"},{key:"behaviorPolicyKlPreUpdate",id:"optimizer.behavior_policy_kl",label:"Behavior-policy KL (pre-update)"},{key:"entropy",id:"optimizer.entropy",label:"Entropy"},{key:"policyClipFraction",id:"optimizer.policy_clip_fraction",label:"Post-update clip fraction",format:"percent"},{key:"behaviorPolicyClipFractionPreUpdate",id:"optimizer.behavior_policy_clip_fraction",label:"Behavior-policy clip fraction (pre-update)",format:"percent"},{key:"valueClipFraction",id:"optimizer.value_clip_fraction",label:"Value clip fraction",format:"percent"},{key:"explainedVariance",id:"optimizer.explained_variance",label:"Explained variance"}],ar=[{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 nr({detail:e,loading:t,error:a,taskset:r=null}){Ot(a,{prefix:"Training metrics"});const l=p.useMemo(()=>e?Xn(e.events,r?.tasks):[],[e,r]),i=p.useMemo(()=>e?ir(lr(e),l):[],[e,l]);if(a&&!e)return n.jsx("div",{className:"training-run-placeholder",children:"Training metrics are unavailable."});if(!e&&!t)return n.jsx("div",{className:"training-run-placeholder",children:"Select a training run to inspect its metrics."});const c=e?["queued","starting","running","reconciling"].includes(e.job.status):!1;return n.jsx(Un,{live:c,loading:t&&!e,series:i})}function rr(e){const t=e.flatMap((a,r)=>a.mean===null?[]:[{step:r+1,value:a.mean}]);return t.length?{id:"optimizer.reward",label:"Mean reward",points:t,xLabel:"rollout group"}:null}function ir(e,t){const a=rr(t);return a?[a,...e.filter(r=>!er.has(r.id))]:e}function lr(e){const t=St(e.job.metadata.rolloutProgress),a=B(e.job.metadata.optimizerUpdatesObserved)??B(t.optimizerUpdatesApplied),r=or(e)==="grpo"&&a!==null?Math.max(0,a):null,l=Ze(e.stepMetrics).filter(d=>r===null||d.step<=r),i=[...Ye(Ze(e.policyMetrics),tr),...Ye(l,ar),...sr(e.events)],c=new Map;for(const d of i){const o=c.get(d.id);(!o||d.points.length>o.points.length)&&c.set(d.id,d)}const s=["optimizer.reward","rollout.reward","optimizer.kl","optimizer.loss","optimizer.learning_rate"];return[...c.values()].sort((d,o)=>Xe(d.id,s)-Xe(o.id,s)||d.label.localeCompare(o.label))}function Xe(e,t){const a=t.indexOf(e);return a<0?999:a}function Ye(e,t){return t.flatMap(a=>{const r=e.flatMap(l=>{const i=l[a.key];return typeof i=="number"&&Number.isFinite(i)?[{step:l.step,value:i}]:[]});return r.length?[{id:a.id,label:a.label,points:r,format:a.format}]:[]})}function Ze(e){const t=new Map;for(const a of e)t.set(a.step,a);return[...t.values()].sort((a,r)=>a.step-r.step)}function sr(e){const t=new Map,a=new Map,r=(i,c,s,d)=>{t.set(i,[...t.get(i)??[],{step:s,value:d}]),a.set(i,c)},l=new Map;for(const i of e)if(i.type==="metric"){if(i.payload.metricKind==="managed_telemetry"){const c=typeof i.payload.metricId=="string"?i.payload.metricId:null,s=B(i.payload.value),d=B(i.payload.step)??i.sequence;c&&s!==null&&r(c,Qe(c),d,s)}if(i.payload.metricKind==="rollout_trajectory"){const c=B(i.payload.rolloutIndex)??i.sequence,s=B(i.payload.reward);s!==null&&r("rollout.reward","Rollout reward",c,s);const d=typeof i.payload.rolloutGroupId=="string"?i.payload.rolloutGroupId:"group-0",o=i.payload.rewardEligible===!1||typeof i.payload.failureClass=="string"||typeof i.payload.failureCode=="string";l.set(d,[...l.get(d)??[],{reward:s,eligible:i.payload.rewardEligible===!0,resolved:s!==null||o,attempt:B(i.payload.attempt)??1,input:B(i.payload.inputTokens)??0,output:B(i.payload.outputTokens)??0}])}}return[...l.values()].forEach((i,c)=>{const s=i.filter(m=>m.resolved);if(!s.length)return;const d=s.flatMap(m=>m.eligible&&m.reward!==null?[m.reward]:[]),o=d.length?d.reduce((m,f)=>m+f,0)/d.length:0,h=d.length?d.reduce((m,f)=>m+(f-o)**2,0)/d.length:0,u=d.length?Math.max(...d):0;r("attempt.valid_rate","Valid attempt rate",c,d.length/s.length),r("attempt.failure_count","Attempt failures",c,s.length-d.length),r("attempt.retry_count","Attempt retries",c,s.reduce((m,f)=>m+Math.max(0,f.attempt-1),0)),r("reward.variance","Reward variance",c,h),r("reward.best","Best reward",c,u),r("tokens.input","Input tokens",c,i.reduce((m,f)=>m+f.input,0)),r("tokens.output","Output tokens",c,i.reduce((m,f)=>m+f.output,0))}),[...t].map(([i,c])=>({id:i,label:a.get(i)??Qe(i),points:c,format:i.endsWith("rate")||i.includes("fraction")?"percent":"number"}))}function B(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Qe(e){return e.replaceAll(/[._]/g," ").replace(/^./,t=>t.toUpperCase())}function or(e){const t=e.job.metadata.trainingMethod;if(typeof t=="string")return t;const a=St(e.job.metadata.sourceSnapshot);return typeof a.method=="string"?a.method:null}function St(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}const cr=new Set(["queued","starting","running","cancelling","reconciling"]),et=new WeakMap;function dr(e,t,a,r=!1){const[l,i]=p.useState(null),[c,s]=p.useState(!1),[d,o]=p.useState(null),h=p.useRef(t),u=p.useRef(null);h.current=t;const m=p.useCallback((f=r)=>{if(!e||!t)return Promise.resolve(null);const y=`${t}:${f?"full":"live"}`;if(u.current?.key===y)return u.current.request;s(!0);const j=Mt.trainingRunDetail(e,t,{includeEvaluation:f}).then(k=>{const N=tt(e),x=N.get(t),g=!f&&x?.includesEvaluation?{...k,evaluation:x.detail.evaluation}:k;return N.set(t,{detail:g,includesEvaluation:f||x?.includesEvaluation===!0}),h.current===t&&(i(g),o(null)),g}).catch(k=>(h.current===t&&o(k instanceof Error?k.message:String(k)),null)).finally(()=>{u.current?.request===j&&(u.current=null,s(!1))});return u.current={key:y,request:j},j},[e,r,t]);return p.useEffect(()=>{if(o(null),!e||!t){i(null);return}const f=tt(e).get(t);i(f?.detail??null),m(r)},[e,r,t,m]),p.useEffect(()=>{if(!e||!t||!a||!cr.has(a))return;const f=window.setInterval(()=>{m(!1)},2e3);return()=>window.clearInterval(f)},[e,t,a,m]),{detail:l,error:d,loading:c,refresh:m}}function tt(e){const t=et.get(e);if(t)return t;const a=new Map;return et.set(e,a),a}function ur({title:e,status:t,statusValue:a,versionStatus:r,method:l,baseModel:i,taskset:c,compute:s,duration:d,output:o,reward:h,telemetry:u,evidence:m,configuration:f,children:y,failure:j,onOpenTaskset:k,showHeader:N=!0}){const x=u?.cost.providerReportedUsd??u?.cost.estimatedUsd??m?.cost.totalUsd??null;return n.jsxs("div",{className:"labs-model-run-summary",children:[N?n.jsx("section",{className:"labs-run-outcome-card",children:n.jsx("header",{children:n.jsxs("div",{children:[n.jsxs("div",{className:"labs-run-title-row",children:[n.jsx("h2",{children:e}),n.jsx(Ce,{label:t,value:a})]}),n.jsxs("p",{children:[mr(l)," on ",i]})]})})}):null,y,n.jsxs("section",{className:"labs-run-summary-card",children:[n.jsx("header",{children:n.jsx("h3",{children:"Run setup"})}),n.jsxs("dl",{className:"labs-run-detail-list",children:[n.jsx(L,{label:"Training method",value:l}),n.jsx(L,{label:"Base model",value:i}),n.jsx(L,{label:"Compute",value:s}),n.jsx(L,{label:"Output",value:o}),r?n.jsx(L,{label:"Version status",value:r}):null,n.jsx(L,{label:"Duration",value:d}),n.jsx(L,{label:"Run cost",value:x===null?"Not reported":`$${x.toFixed(4)}`}),n.jsx(L,{label:"Final reward",value:h===null?"Not reported":h.toFixed(4)}),f.map(g=>n.jsx(L,{label:g.label,value:g.value},g.label)),u||m?n.jsxs(n.Fragment,{children:[n.jsx(H,{label:"GPU",value:pr(u,m)}),n.jsx(H,{label:"Tokens",value:`${J(u?.usage.promptTokens??m?.usage.inputTokens??null)} prompt · ${J(u?.usage.generatedTokens??m?.usage.outputTokens??null)} generated`}),n.jsx(H,{label:"Trajectories",value:`${J(u?.usage.successfulTrajectories??m?.reward.eligibleTrajectoryCount??null)} succeeded · ${J(u?.usage.failedTrajectories??(m?m.reward.trajectoryCount-m.reward.eligibleTrajectoryCount:null))} failed`}),n.jsx(H,{label:"Optimizer updates",value:J(u?.usage.optimizerSteps??m?.progress.committedOptimizerSteps??null)}),n.jsx(H,{label:"GPU time",value:u?.usage.gpuSeconds==null?"Not reported":`${u.usage.gpuSeconds.toFixed(1)} seconds`})]}):n.jsx(L,{label:"Resource usage",value:"Not retained for this run"}),n.jsxs("div",{children:[n.jsx("dt",{children:"Taskset"}),n.jsx("dd",{children:k?n.jsxs("button",{className:"labs-run-taskset-link",type:"button",onClick:k,children:[n.jsx("span",{children:c}),n.jsx(zt,{"aria-hidden":"true",size:14})]}):c})]})]})]}),j?n.jsx("p",{className:"labs-training-error",children:j}):null]})}function L({label:e,value:t}){return n.jsxs("div",{children:[n.jsx("dt",{children:e}),n.jsx("dd",{children:t})]})}function H({label:e,value:t}){return n.jsx(L,{label:e,value:t})}function pr(e,t){const a=e?.resource.gpuCount??t?.resource.gpuCount??null,r=e?.resource.gpuType??t?.resource.gpuType??null;return a===null&&r===null?"Not reported":`${a??"Unknown"} × ${r?hr(r):"Unreported"}`}function J(e){return e===null?"Not reported":e.toLocaleString()}function mr(e){return e==="RFT"?"Reinforcement fine-tuning":`${e} training`}function hr(e){return e.split(" · ").map(t=>t.replaceAll("_"," ").replace(/\b[a-z]/g,a=>a.toUpperCase())).join(" · ")}function fr({receipt:e,onOpenConversation:t}){return n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"labs-run-summary-card",children:[n.jsx("header",{children:n.jsx("h3",{children:"Inconclusive benchmark"})}),n.jsx("p",{className:"training-run-placeholder",children:e.reason}),n.jsxs("dl",{className:"labs-run-detail-list",children:[n.jsx(w,{label:"Held-out baseline tokens",value:e.usage.baseline.totalTokens.toLocaleString()}),n.jsx(w,{label:"Adaptation baseline tokens",value:e.usage.adaptation.totalTokens.toLocaleString()}),n.jsx(w,{label:"Refiner tokens",value:e.usage.refiner.totalTokens.toLocaleString()}),n.jsx(w,{label:"Grader tokens",value:e.usage.grader.totalTokens.toLocaleString()}),n.jsx(w,{label:"Observed / maximum spend",value:`$${e.budget.observedSpendUsd.toFixed(4)} / $${e.budget.maximumSpendUsd.toFixed(2)}`}),n.jsx(w,{label:"Harness candidate",value:e.stopReason==="candidate_harness_unchanged"?"Unchanged":"Lineage invalid"}),n.jsx(w,{label:"Completed attempts",value:e.attempts.length.toLocaleString()}),n.jsx(w,{label:"Candidate attempts",value:"Skipped"})]})]}),e.attempts.length?n.jsx(Tt,{receipt:e,onOpenConversation:t}):null]})}function gr({run:e}){const t=["baseline","adaptation","refiner","candidate_adaptation","candidate","comparison"],a={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 n.jsxs("div",{className:"labs-benchmark-progress",children:[n.jsxs("header",{children:[n.jsx("h3",{children:"Benchmark progress"}),n.jsxs("strong",{children:[l," of ",i," attempts"]})]}),n.jsx("div",{className:"labs-benchmark-progress-track","aria-hidden":"true",children:n.jsx("span",{style:{width:`${Math.min(100,l/i*100)}%`}})}),n.jsx("ol",{children:t.map((c,s)=>n.jsxs("li",{className:s<r?"complete":s===r?"active":void 0,children:[n.jsx("span",{}),a[c]]},c))})]})}function vr({receipt:e}){const t=Ae(e),a=t.pairs.filter(i=>i.cohort==="held_out"),r=t.pairs.filter(i=>i.cohort==="adaptation"),l=i=>i.length?i.reduce((c,s)=>c+s,0)/i.length:0;return n.jsxs("div",{className:"labs-benchmark-attempt-charts",children:[n.jsx(ne,{title:"Held-out tokens by task",baseline:a.map(i=>i.baseline.totalTokens),candidate:a.map(i=>i.refined.totalTokens),format:i=>Math.round(i).toLocaleString()}),n.jsx(ne,{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()}),n.jsx(ne,{title:"Held-out quality by task",baseline:a.map(i=>i.baseline.score),candidate:a.map(i=>i.refined.score),format:i=>i.toFixed(2),summarize:l}),n.jsx(ne,{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 br({receipt:e,run:t,tasksetName:a,onOpenTaskset:r}){const l=Ae(e),i=l.comparedTaskCount>0,c=l.passed,s=l.tokenDeltaPercent===null?"—":`${l.tokenDeltaPercent>0?"+":""}${l.tokenDeltaPercent.toFixed(2)}%`,d=o=>{const h=l.cohorts[o];return`${h.passedTaskCount}/${h.comparedTaskCount} passed`};return n.jsxs("section",{className:"labs-run-summary-card",children:[n.jsx("header",{children:n.jsx("h3",{children:"Token efficiency"})}),i?n.jsxs("div",{className:"labs-benchmark-efficiency-summary",children:[n.jsxs("strong",{children:[l.passedTaskCount," of ",l.comparedTaskCount," tasks passed"]}),n.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,"."]})]}):n.jsx("p",{className:"training-run-placeholder",children:"Paired task-level token evidence is unavailable for this run."}),n.jsxs("dl",{className:"labs-run-detail-list",children:[n.jsx(w,{label:"Execution",value:K(t.status)}),n.jsx(w,{label:"Token-efficiency result",value:c?"Passed":"Failed"}),n.jsx(w,{label:"Efficiency passes",value:`${l.passedTaskCount}/${l.comparedTaskCount}`}),n.jsx(w,{label:"Efficiency failures",value:`${l.failedTaskCount}/${l.comparedTaskCount}`}),n.jsx(w,{label:"All-task foreground tokens",value:`${l.baselineTokens.toLocaleString()} → ${l.refinedTokens.toLocaleString()}`}),n.jsx(w,{label:"Aggregate token change",value:s}),n.jsx(w,{label:"Adaptation replay",value:d("adaptation")}),n.jsx(w,{label:"Held-out replay",value:d("held_out")}),n.jsx(w,{label:"Task quality",value:`${l.baselinePassedCount}/${l.comparedTaskCount} → ${l.refinedPassedCount}/${l.comparedTaskCount}`}),n.jsx(w,{label:"Result lineage",value:e.lineage.valid?"Valid":"Invalid"}),n.jsxs("div",{children:[n.jsx("dt",{children:"Taskset"}),n.jsx("dd",{children:r?n.jsx("button",{className:"labs-run-taskset-link",type:"button",onClick:r,children:a}):a})]})]})]})}function ne({title:e,baseline:t,candidate:a,format:r,summarize:l=i=>i.reduce((c,s)=>c+s,0)}){const i=t.filter(u=>u!==null),c=a.filter(u=>u!==null),s=Math.max(1,...i,...c),d=Math.max(2,t.length,a.length),o=u=>{const m=[];let f=[];return u.forEach((y,j)=>{if(y===null){f.length&&m.push(f.join(" ")),f=[];return}const k=6+j/(d-1)*88,N=44-y/s*36;f.push(`${k},${N}`)}),f.length&&m.push(f.join(" ")),m},h=u=>u.flatMap((m,f)=>m===null?[]:[{x:6+f/(d-1)*88,y:44-m/s*36}]);return n.jsxs("section",{className:"labs-benchmark-line-chart",children:[n.jsxs("header",{children:[n.jsx("h4",{children:e}),n.jsxs("div",{children:[n.jsxs("span",{children:["Baseline ",r(l(i))]}),n.jsxs("span",{children:["Refined ",r(l(c))]})]})]}),n.jsxs("svg",{"aria-label":e,role:"img",viewBox:"0 0 100 50",preserveAspectRatio:"none",children:[n.jsx("line",{x1:"6",x2:"94",y1:"44",y2:"44"}),o(t).map((u,m)=>n.jsx("polyline",{className:"baseline",points:u},`baseline-${m}`)),o(a).map((u,m)=>n.jsx("polyline",{className:"candidate",points:u},`candidate-${m}`)),h(t).map((u,m)=>n.jsx("circle",{className:"baseline",cx:u.x,cy:u.y,r:"1"},`baseline-point-${m}`)),h(a).map((u,m)=>n.jsx("circle",{className:"candidate",cx:u.x,cy:u.y,r:"1"},`candidate-point-${m}`))]})]})}function Tt({receipt:e,onOpenConversation:t}){const a=e.schemaVersion==="openpond.modelEvaluationReceipt.v1"?ya(e.attempts??[]):e.attempts??[];return n.jsxs("section",{className:"labs-run-summary-card",children:[n.jsx("header",{children:n.jsx("h3",{children:e.schemaVersion==="openpond.modelEvaluationReceipt.v1"?"Selected task results":"Completed attempts"})}),n.jsx("div",{className:"training-table-wrap",children:n.jsxs("table",{className:"training-data-table labs-benchmark-attempt-table",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Task"}),n.jsx("th",{children:"Phase"}),n.jsx("th",{children:"Result"}),n.jsx("th",{children:"Score"}),n.jsx("th",{children:"Tokens"}),n.jsx("th",{children:"Work chat"})]})}),n.jsx("tbody",{children:a.map(r=>n.jsxs("tr",{children:[n.jsx("td",{children:xr(r.taskId)}),n.jsx("td",{children:r.phase}),n.jsx("td",{children:n.jsx(Ce,{label:r.passed?"Passed":"Failed",value:r.passed?"succeeded":"failed"})}),n.jsx("td",{children:r.score===null?"—":r.score.toFixed(2)}),n.jsx("td",{children:r.totalTokens.toLocaleString()}),n.jsx("td",{children:r.sessionId?n.jsx("button",{className:"labs-run-taskset-link",type:"button",onClick:()=>t(r.sessionId),children:"Open chat"}):"Not retained"})]},`${r.phase}:${r.attemptId}`))})]})})]})}function xr(e){return e.replace(/^(?:adaptation|frozen)-/,"").replaceAll("-"," ").replace(/^./,t=>t.toUpperCase())}function w({label:e,value:t}){return n.jsxs("div",{children:[n.jsx("dt",{children:e}),n.jsx("dd",{children:t})]})}function Ct(e){const t=["B","KB","MB","GB","TB"];let a=e,r=0;for(;a>=1024&&r<t.length-1;)a/=1024,r+=1;return`${a.toFixed(r===0?0:2)} ${t[r]}`}function yr({error:e,events:t,loading:a,pending:r}){const[l,i]=p.useState(!1),[c,s]=p.useState({}),[d,o]=p.useState(!0),h=p.useRef(null),u=p.useRef(null),m=p.useRef(null),f=p.useMemo(()=>jr(t),[t]),y=p.useMemo(()=>t.filter(x=>c[re(x)]??ve(re(x))),[t,c]),j=f.filter(x=>c[x.id]??ve(x.id)).length,k=f.length>0&&j===f.length,N=j>0&&!k;return p.useEffect(()=>{m.current&&(m.current.indeterminate=N)},[N]),p.useEffect(()=>{if(!l)return;const x=v=>{u.current?.contains(v.target)||i(!1)},g=v=>{v.key==="Escape"&&i(!1)};return document.addEventListener("pointerdown",x),document.addEventListener("keydown",g),()=>{document.removeEventListener("pointerdown",x),document.removeEventListener("keydown",g)}},[l]),p.useLayoutEffect(()=>{const x=h.current;!x||!d||(x.scrollTop=x.scrollHeight)},[e,d,r,y]),a&&!t.length?n.jsx("div",{className:"training-run-placeholder",children:"Loading run events…"}):t.length?n.jsxs("div",{className:"training-event-log-shell",children:[n.jsxs("div",{className:"training-event-log-toolbar",children:[n.jsx("div",{children:n.jsx("strong",{children:"Activity log"})}),n.jsxs("div",{className:"training-event-filter",ref:u,children:[n.jsxs("button",{"aria-expanded":l,"aria-haspopup":"menu",className:"training-event-filter-trigger",type:"button",onClick:()=>i(x=>!x),children:[n.jsx(Dt,{"aria-hidden":"true",size:14}),"Event types",n.jsxs("span",{children:[j,"/",f.length]}),n.jsx(Ft,{"aria-hidden":"true",size:13})]}),l?n.jsxs("div",{"aria-label":"Filter training activity by event type",className:"training-event-filter-menu",role:"menu",children:[n.jsxs("label",{className:"training-event-filter-option select-all",children:[n.jsx("input",{checked:k,ref:m,type:"checkbox",onChange:x=>{const g=x.currentTarget.checked;s(Object.fromEntries(f.map(v=>[v.id,g])))}}),n.jsx("span",{className:"training-event-filter-check",children:n.jsx(De,{"aria-hidden":"true",size:12})}),"Select all"]}),n.jsx("div",{className:"training-event-filter-options",children:f.map(x=>{const g=c[x.id]??ve(x.id);return n.jsxs("label",{className:"training-event-filter-option",children:[n.jsx("input",{checked:g,type:"checkbox",onChange:v=>s(C=>({...C,[x.id]:v.currentTarget.checked}))}),n.jsx("span",{className:"training-event-filter-check",children:n.jsx(De,{"aria-hidden":"true",size:12})}),n.jsx("span",{children:x.label}),n.jsx("small",{children:x.count.toLocaleString()})]},x.id)})})]}):null]})]}),n.jsxs("div",{"aria-label":"Training activity log","aria-live":"polite",className:"training-event-log",ref:h,role:"log",onScroll:x=>{const g=x.currentTarget,v=g.scrollHeight-g.scrollTop-g.clientHeight;o(v<=6)},children:[n.jsxs("div",{"aria-hidden":"true",className:"training-event-log-header",children:[n.jsx("span",{children:"Time"}),n.jsx("span",{children:"Event type"}),n.jsx("span",{children:"Details"})]}),y.map(x=>n.jsxs("div",{className:`training-event-log-line ${x.type}`,children:[n.jsx("time",{dateTime:x.timestamp,children:xe(x.timestamp)}),n.jsx("span",{children:At(re(x))}),n.jsx("code",{children:kr(x)})]},x.id)),r&&!e?n.jsxs("div",{className:"training-event-log-loading",role:"status",children:[n.jsx(Bt,{"aria-hidden":"true",className:"spin",size:14}),n.jsx("span",{className:"sr-only",children:"Waiting for new activity"})]}):null,y.length?null:n.jsx("div",{className:"training-event-log-empty",children:"No events match the selected event types."}),e?n.jsxs("div",{className:"training-event-log-line failure",children:[n.jsx("time",{children:"—"}),n.jsx("span",{children:"Failure"}),n.jsx("code",{children:e})]}):null]})]}):n.jsx("div",{className:"training-run-placeholder",children:e??"No normalized run events were recorded."})}function re(e){return typeof e.payload.remoteEventType=="string"&&e.payload.remoteEventType.trim()?e.payload.remoteEventType:typeof e.payload.telemetryType=="string"&&e.payload.telemetryType.trim()?e.payload.telemetryType:e.type}function jr(e){const t=new Map;for(const a of e){const r=re(a);t.set(r,(t.get(r)??0)+1)}return[...t.entries()].map(([a,r])=>({id:a,count:r,label:At(a)})).sort((a,r)=>a.label.localeCompare(r.label))}function ve(e){return e!=="metric"&&!e.endsWith("_metric")}function At(e){return e.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase())}function kr(e){const t=e.payload,a=U(t.step),r=U(t.maxSteps);if(typeof t.telemetryType=="string"){const l=typeof t.message=="string"?t.message:null,i=typeof t.errorCode=="string"?t.errorCode:null,c=typeof t.telemetrySource=="string"?` · ${t.telemetrySource}`:"";return`${l??t.telemetryType.replaceAll("_"," ")}${a==null?"":` · step ${a}`}${c}${i?` · ${i}`:""}`}if(typeof t.remoteEventType=="string"){const l=Nr(t.remoteEventType),i=typeof t.remotePhase=="string"?Pr(t.remotePhase):null,c=typeof t.errorCode=="string"&&t.errorCode.trim()?t.errorCode.trim():null;return[l,i,a==null?null:`step ${a}`,c?`error ${c}`:null].filter(s=>!!s).join(" · ")}if(e.type==="start")return typeof t.device=="string"?`Worker started on ${t.device}.`:"Worker started.";if(e.type==="progress"&&a!=null)return r==null?`Step ${a}.`:`Step ${a} of ${r}.`;if(e.type==="metric"){const l=typeof t.metricKind=="string"?t.metricKind.replaceAll("_"," "):"metric",i=[X("loss",t.loss),X("reward",t.meanReward??t.reward),X("policy loss",t.policyLoss),X("value loss",t.valueLoss),X("preference accuracy",t.preferenceAccuracy,wr)].filter(o=>!!o),c=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}${a==null?"":` · step ${a}`}${d}${c?` · ${c}`:""}${s?` · ${s}`:""}${i.length?` · ${i.join(" · ")}`:""}`}if(e.type==="checkpoint"){const l=U(t.policyVersion),i=U(t.sizeBytes),c=[l==null?null:`policy ${l}`,i==null?null:Ct(i),t.final===!0?"final":null].filter(s=>!!s);return c.length?`Checkpoint committed · ${c.join(" · ")}.`:"Checkpoint committed."}if(e.type==="complete"){const l=U(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 Nr(e){return{drain:"Rollout drain",infer:"Model inference",materialize_checkpoint:"Checkpoint materialization",optimizer_metric:"Optimizer metric",provision_gpu:"GPU provisioning",rollout_metric:"Rollout trajectory",score_reward_model:"Reward scoring",start_inference:"Policy server",train_step:"Optimizer update",upload_checkpoint:"Checkpoint upload"}[e]??It(e)}function Pr(e){return{committed:"committed",completed:"completed",eligible:"recorded",failed:"failed",running:"running",succeeded:"succeeded"}[e]??It(e).toLocaleLowerCase()}function It(e){return e.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase())}function X(e,t,a=r=>new Intl.NumberFormat(void 0,{maximumFractionDigits:4}).format(r)){const r=U(t);return r==null?null:`${e} ${a(r)}`}function U(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function wr(e){return`${(e*100).toFixed(1)}%`}function Zr({connection:e,detailTab:t,onDetailTabChange:a,selectedEntryKey:r,workproduct:l,runs:i,training:c,onOpenDataset:s,onOpenConversation:d,detailKind:o}){const h=c.payload,u=p.useMemo(()=>ja(l,i,h),[i,h,l]),m=p.useMemo(()=>ka(l,i,h),[i,h,l]),f=p.useMemo(()=>Na(l,h),[h,l]),y=p.useMemo(()=>Pa(l,i,h),[i,h,l]),j=p.useMemo(()=>new Map(y.map(b=>[b.id,b])),[y]),N=p.useMemo(()=>wa(u,m),[u,m]).find(b=>b.key===r)??null,x=r.startsWith("model-run:")?r.slice(10):null,g=x?f.find(b=>b.id===x)??null:N?.job?f.find(b=>b.id===N.job?.metadata.modelRunId)??null:null,v=N?.job??(g?h?.jobs.find(b=>b.id===g.id||b.metadata.modelRunId===g.id)??null:null),C=h?.comparisonSeriesEntries.find(b=>b.modelRunId===g?.id||b.modelRunId===v?.metadata.modelRunId)??null,O=typeof v?.metadata.parentHostedArtifactId=="string"?"Prior hosted run":$r(h,C),V=p.useMemo(()=>{const b=Sa(u,m,f);return Ta(b,g?.kind==="evaluation"?"evals":"training")},[u,f,g?.kind,m]),_=V.findIndex(b=>b.key===r||v!==null&&b.job?.id===v.id||g!==null&&b.lifecycleRun?.id===g.id),F=_<0?null:V.length-_,S=N?.version??(g?.adapterArtifactLineageId?m.find(b=>b.lineage.id===g.adapterArtifactLineageId)??null:null),Y=(g?h?.modelVersions.find(b=>b.id===g.modelVersionId)?.baseModel.modelId:null)??h?.modelVersions.filter(b=>b.modelId===l.id&&b.kind==="base_reference").sort((b,G)=>G.version-b.version)[0]?.baseModel.modelId??(typeof v?.metadata.baseModelId=="string"?v.metadata.baseModelId:null),$e=S?.lineage.frozenEvaluationArtifactId??null,R=S?.plan??(v?j.get(v.planId)??null:null),$=S?.taskset??Ca(h).find(b=>b.id===(g?.taskset.id??R?.tasksetId))??null,se=$?.name??(typeof v?.metadata.tasksetId=="string"?v.metadata.tasksetId:"Unavailable"),oe=g?.method??R?.recipe.method??Ar(v?.metadata),A=dr(e,v?.id??null,v?.status??null,t==="evaluation"),ce=v?h?.rolloutReceipts.filter(b=>b.jobId===v.id)??[]:[],I=A.detail?.managedEvidence??null,Et=A.detail?.events.some(b=>b.type==="metric"&&b.payload.metricKind==="rollout_trajectory")??!1,Le=Aa({lifecycleRun:g,job:A.detail?.job??v}),Oe=Ia(Le),de=oe==="grpo",W=Tr(v?.metadata),ue=(R&&(R.recipe.method==="sft"||R.recipe.method==="dpo"||R.recipe.method==="grpo")?R.recipe.optimizer.maxSteps:null)??I?.progress.targetOptimizerSteps??null,Rt=ue!==null&&typeof v?.metadata.progress=="number"&&Number.isFinite(v.metadata.progress)?Math.floor(Math.max(0,v.metadata.progress)*ue):0,$t=Math.max(0,W?.optimizerUpdatesApplied??0,Rt,A.detail?.policyMetrics.reduce((b,G)=>Math.max(b,G.step),0)??0,A.detail?.stepMetrics.reduce((b,G)=>Math.max(b,G.step),0)??0,I?.progress.committedOptimizerSteps??0),Lt=Sr(de&&W?W.groupsCompleted:$t,de&&W?W.groupsTarget:ue),Me=o==="run"?{id:"details",label:"Details"}:{id:"overview",label:"Overview"},pe=[...o==="run"&&v?[{id:"metrics",label:"Metrics"}]:[],Me,...o==="version"&&v?[{id:"metrics",label:"Metrics"}]:[],{id:"evaluation",label:"Evaluation"},...ce.length||Et?[{id:"rollouts",label:"Rollouts"}]:[],{id:"artifacts",label:"Artifacts"},...v?[{id:"activity",label:"Activity"}]:[]],ze=t,M=pe.some(b=>b.id===ze)?ze:pe[0].id;return!N&&!g?n.jsx("div",{className:"labs-model-version-detail",children:n.jsx("div",{className:"training-run-placeholder",children:"This training attempt is no longer available."})}):g?.kind==="evaluation"?n.jsx(Cr,{run:g,runNumber:F,tasksetName:$?.name??"Unavailable",onOpenTaskset:$?()=>s($.id):void 0,onOpenConversation:d}):n.jsxs("div",{className:"labs-model-version-detail",children:[n.jsx(vt,{title:g||v?F?`Run ${F}`:"Run details":S?`Version ${S.number}`:"Run details",description:`${_e(oe)} on ${at(R,Y)}`,status:n.jsx(Ea,{status:Le}),metrics:[{label:de?"Training tasks":"Training steps",value:Lt.value},{label:"Final reward",value:Ir(g?.reward?.raw??I?.reward.finalMean??null)},{label:"Duration",value:g?Q(g.startedAt,ee(g.status,g.completedAt,g.updatedAt)):v?Q(v.startedAt,ee(v.status,v.completedAt,v.updatedAt)):"Not recorded"},{label:"Output",value:S?`Version ${S.number}`:"No version"},{label:"Based on",value:O},{label:"Taskset",value:se,onSelect:$?()=>s($.id):void 0,ariaLabel:$?`Open Taskset ${$.name}`:void 0}]}),n.jsxs("section",{className:"labs-run-detail-tabs",children:[n.jsx("div",{className:"training-detail-tabs",role:"tablist","aria-label":"Run details",children:pe.map(b=>n.jsx("button",{"aria-controls":`run-detail-panel-${b.id}`,"aria-selected":M===b.id,className:M===b.id?"active":void 0,id:`run-detail-tab-${b.id}`,role:"tab",type:"button",onClick:()=>a(b.id),children:b.label},b.id))}),n.jsxs("div",{"aria-labelledby":`run-detail-tab-${M}`,className:"labs-run-detail-tab-panel",id:`run-detail-panel-${M}`,role:"tabpanel",children:[M===Me.id?n.jsx(ur,{baseModel:at(R,Y),compute:g?he(g.destinationId??""):R?he(R.destinationId):v?he(v.destinationId):"Not recorded",duration:g?Q(g.startedAt,ee(g.status,g.completedAt,g.updatedAt)):v?Q(v.startedAt,ee(v.status,v.completedAt,v.updatedAt)):"Not recorded",failure:v?.error??g?.failure??null,configuration:[...Rr(h,C),...Er(R)],evidence:I,method:_e(oe),output:S?`Version ${S.number}`:"No version created",reward:g?.reward?.raw??I?.reward.finalMean??null,status:g?K(g.status):v?K(v.status):"Imported",statusValue:g?.status??v?.status??"imported",taskset:se,telemetry:g?.receipt?.schemaVersion==="openpond.modelRunReceipt.v1"?g.receipt.telemetry:null,title:g||v?F?`Run ${F}`:"Run details":S?`Version ${S.number}`:"Run details",versionStatus:S?S.current?"Active":"Available":null,onOpenTaskset:$?()=>s($.id):void 0,showHeader:!1}):null,M==="metrics"&&v?n.jsx(nr,{detail:A.detail,error:A.error,loading:A.loading,taskset:$}):null,M==="artifacts"?n.jsxs("dl",{className:"training-configuration-list",children:[n.jsx(E,{label:"Training attempt",value:v?.id??"Provider import"}),n.jsx(E,{label:"Taskset",value:se}),n.jsx(E,{label:"Prepared data",value:v?.bundleHash??"Provider managed"}),n.jsx(E,{label:"Version ID",value:S?.lineage.id??"No version created"}),I?.checkpoint?n.jsxs(n.Fragment,{children:[n.jsx(E,{label:"Checkpoint",value:I.checkpoint.id}),n.jsx(E,{label:"Checkpoint size",value:I.checkpoint.sizeBytes==null?"Not reported":Ct(I.checkpoint.sizeBytes)}),n.jsx(E,{label:"Checkpoint hash",value:I.checkpoint.sha256??"Not reported"})]}):null,I?.canonicalPublication.state?n.jsx(E,{label:"Registry publication",value:Lr(I.canonicalPublication.state)}):null]}):null,M==="evaluation"?n.jsxs("div",{className:"training-run-evaluation",children:[n.jsx(zn,{detail:A.detail,loading:A.loading,pending:Oe}),!A.detail?.evaluation&&I?.evaluations.length?n.jsx("dl",{className:"labs-inline-facts",children:I.evaluations.map(b=>n.jsx(E,{label:b.kind==="baseline"?"Baseline score":"Candidate score",value:b.score==null?"Not reported":b.score.toFixed(6)},`${b.kind}:${b.policyVersion}`))}):null,$e?n.jsx("button",{className:"training-button secondary",type:"button",onClick:()=>{c.actions.downloadArtifact($e)},children:"Download evaluation receipt"}):null]}):null,M==="rollouts"?ce.length?n.jsx(On,{receipts:ce}):n.jsx(Ln,{events:A.detail?.events??[]}):null,M==="activity"&&v?n.jsx(yr,{error:v.error??A.error,events:A.detail?.events??[],loading:A.loading,pending:Oe}):null]})]})]})}function Sr(e,t){const a=Math.max(0,Math.floor(e));if(t===null||!Number.isFinite(t)||t<=0)return{value:a.toLocaleString(),hint:a===1?"completed update":"completed updates"};const r=Math.max(1,Math.floor(t));return{value:`${a.toLocaleString()} / ${r.toLocaleString()}`,hint:"completed / planned"}}function Tr(e){const t=e?.rolloutProgress;if(!t||typeof t!="object"||Array.isArray(t))return null;const a=t;return["groupsCompleted","groupsTarget","optimizerUpdatesApplied","optimizerUpdatesSkipped"].some(l=>typeof a[l]!="number"||!Number.isInteger(a[l])||a[l]<0)?null:{groupsCompleted:a.groupsCompleted,groupsTarget:a.groupsTarget,optimizerUpdatesApplied:a.optimizerUpdatesApplied,optimizerUpdatesSkipped:a.optimizerUpdatesSkipped}}function Cr({run:e,runNumber:t,tasksetName:a,onOpenTaskset:r,onOpenConversation:l}){const[i,c]=p.useState("results"),s=e.receipt?.schemaVersion==="openpond.modelEvaluationReceipt.v1"?e.receipt:null,d=e.receipt?.schemaVersion==="openpond.modelEvaluationStopReceipt.v1"?e.receipt:null,o=s?Ra(s):null,h=s?Ae(s):null;return n.jsxs("div",{className:"labs-model-version-detail labs-model-evaluation-detail",children:[n.jsx(vt,{title:t?`Eval ${t}`:"Evaluation run",description:`Harness Refiner benchmark · ${a}`,status:n.jsx(Ce,{label:s?h?.comparedTaskCount?`${h.passedTaskCount}/${h.comparedTaskCount} passed`:"No paired result":d?"Inconclusive":K(e.status),value:s?h?.comparedTaskCount&&h.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:K(e.status)}]}),n.jsx("div",{className:"training-detail-tabs",role:"tablist","aria-label":"Evaluation details",children:["results","scenarios","activity"].map(u=>n.jsx("button",{className:i===u?"active":void 0,"aria-selected":i===u,role:"tab",type:"button",onClick:()=>c(u),children:u==="results"?"Results":u==="scenarios"?"Scenarios":"Activity"},u))}),i==="results"&&s?n.jsxs(n.Fragment,{children:[n.jsx(Ve,{series:[{id:"baseline",label:"Held-out baseline",inputTokens:o.baseline.inputTokens,outputTokens:o.baseline.outputTokens,tokens:o.baseline.totalTokens,passRate:s.quality.baselinePassRate,costUsd:o.baseline.costUsd},{id:"candidate",label:"Held-out refined",inputTokens:o.candidate.inputTokens,outputTokens:o.candidate.outputTokens,tokens:o.candidate.totalTokens,passRate:s.quality.candidatePassRate,costUsd:o.candidate.costUsd}]}),n.jsx(Ve,{series:[{id:"adaptation-baseline",label:"Adaptation baseline",inputTokens:o.adaptation.inputTokens,outputTokens:o.adaptation.outputTokens,tokens:o.adaptation.totalTokens,passRate:s.quality.adaptationBaselinePassRate,costUsd:o.adaptation.costUsd},{id:"adaptation-candidate",label:"Adaptation replay",inputTokens:o.candidate_adaptation.inputTokens,outputTokens:o.candidate_adaptation.outputTokens,tokens:o.candidate_adaptation.totalTokens,passRate:s.quality.adaptationCandidatePassRate,costUsd:o.candidate_adaptation.costUsd}]}),n.jsx(br,{receipt:s,run:e,tasksetName:a,onOpenTaskset:r})]}):i==="results"&&d?n.jsx(fr,{receipt:d,onOpenConversation:l}):i==="results"?n.jsx("section",{className:"labs-run-summary-card",children:e.failure?n.jsx("p",{className:"training-run-placeholder",children:e.failure}):n.jsx(gr,{run:e})}):null,i==="scenarios"&&s?n.jsxs(n.Fragment,{children:[(s.attempts??[]).length?n.jsx(vr,{receipt:s}):null,(s.attempts??[]).length?n.jsx(Tt,{receipt:s,onOpenConversation:l}):n.jsx("div",{className:"training-run-placeholder",children:"No per-scenario attempts were retained."})]}):null,i==="activity"?n.jsxs("dl",{className:"labs-inline-facts",children:[n.jsx(E,{label:"Run ID",value:e.id}),n.jsx(E,{label:"Status",value:K(e.status)}),n.jsx(E,{label:"Started",value:e.startedAt?xe(e.startedAt):"Not started"}),n.jsx(E,{label:"Completed",value:e.completedAt?xe(e.completedAt):"In progress"})]}):null]})}function at(e,t=null){if(!e)return t?nt(t):"Not recorded";const a=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 a?nt(a.id):"Not recorded"}function Ar(e){const t=e?.trainingMethod;return t==="sft"||t==="dpo"||t==="grpo"||t==="ppo"||t==="sdft"||t==="opd"||t==="opsd"||t==="sdpo"?t:null}function nt(e){return e.split("/").at(-1)??e}function Ir(e){return e===null?"Not reported":e.toFixed(4)}function Er(e){if(!e)return[];const t=e.recipe;return t.method==="grpo"?[{label:"LoRA rank",value:String(t.lora.rank)},{label:"Learning rate",value:rt(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:rt(t.optimizer.learningRate)},{label:"Optimizer steps",value:String(t.optimizer.maxSteps)}]:[]}function Rr(e,t){if(!e||!t)return[];if(t.parent.kind==="base_model")return[{label:"Starting checkpoint",value:`Frozen base · ${t.parent.revision}`},{label:"Optimizer",value:"Fresh"}];const a=e.modelVersions.find(i=>i.id===t.parent.id);return[{label:"Starting checkpoint",value:[e.comparisonSeriesEntries.find(i=>i.seriesId===t.seriesId&&i.modelVersionId===t.parent.id)?.label??null,a?`Version ${a.version}`:t.parent.id].filter(i=>!!i).join(" · ")},{label:"Optimizer",value:"Fresh"}]}function $r(e,t){if(!e||!t||t.parent.kind==="base_model")return"Frozen base";const a=e.comparisonSeriesEntries.find(l=>l.seriesId===t.seriesId&&l.modelVersionId===t.parent.id),r=e.modelVersions.find(l=>l.id===t.parent.id);return[a?.label??"Prior checkpoint",r?`Version ${r.version}`:null].filter(l=>!!l).join(" · ")}function rt(e){return e===0?"0":e.toExponential(2)}function E({label:e,value:t}){return n.jsxs("div",{children:[n.jsx("dt",{children:e}),n.jsx("dd",{children:t})]})}function Lr(e){return e?e.replaceAll("_"," ").replace(/^./,t=>t.toUpperCase()):"Pending"}export{Zr as LabModelVersionDetailPage,kr as eventSummary,Sr as formatTrainingProgress,Tr as managedRolloutProgress};
@@ -1 +1 @@
1
- import{r as n,j as e}from"./index-5-B6FIuE.js";import{o as g,b2 as z,X as y,aH as w,i as L}from"./App-BF9L0JUv.js";import{F as C}from"./chat-file-links-CgFHK89C.js";import{I as k}from"./MainPane-StAOFINE.js";import{M as F}from"./minimize-2-O1DnznGK.js";import"./cloud-upload-DOwvN4hp.js";import"./arrow-up-right-BRZWXpqJ.js";import"./square-ju7fWa0W.js";function G({connection:a,expanded:l,selection:s,onClose:j,onResizeStart:h,onToggleExpanded:v}){const c=`${s.scope}:${s.name}`,[o,N]=n.useState({selectionKey:c,path:s.files[0]??"SKILL.md"}),r=o.selectionKey===c&&s.files.includes(o.path)?o.path:s.files[0]??"SKILL.md",[d,u]=n.useState(null),[m,p]=n.useState(null),[S,f]=n.useState(!1);n.useEffect(()=>{if(!a){u(null),p("Connect to the local OpenPond server to load this skill source.");return}let i=!1;return f(!0),p(null),u(null),g.skillSourceFile(a,s.scope,s.name,r).then(t=>{i||u(t)}).catch(t=>{i||p(t instanceof Error?t.message:String(t))}).finally(()=>{i||f(!1)}),()=>{i=!0}},[a,r,s.name,s.scope]);const x=r.split("/").at(-1)??r;return e.jsxs("aside",{className:`workspace-diff-panel native-skill-sidebar lab-skill-sidebar ${l?"expanded":""}`,"aria-label":`Skill package source: ${s.name}`,children:[l?null:e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize skill source",onPointerDown:h}),e.jsxs("div",{className:"workspace-diff-topbar native-skill-sidebar-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Selected skill file",children:e.jsxs("button",{className:"workspace-diff-tab active",type:"button",role:"tab","aria-selected":!0,children:[e.jsx(b,{path:r}),e.jsx("span",{children:x})]})}),e.jsxs("div",{className:"workspace-diff-toolbar-actions",children:[e.jsx("button",{className:"diff-icon-button",type:"button",title:l?"Dock sidebar":"Expand sidebar","aria-label":l?"Dock sidebar":"Expand sidebar",onClick:v,children:l?e.jsx(F,{size:14}):e.jsx(z,{size:14})}),e.jsx("button",{className:"diff-icon-button",type:"button",title:"Close skill source","aria-label":"Close skill source",onClick:j,children:e.jsx(y,{size:14})})]})]}),e.jsxs("div",{className:"lab-skill-source-layout",children:[e.jsxs("nav",{className:"lab-skill-file-list","aria-label":`${s.name} package files`,children:[e.jsx("div",{className:"lab-skill-file-list-heading",children:"Package files"}),s.files.map(i=>e.jsxs("button",{"aria-current":i===r?"page":void 0,className:i===r?"active":void 0,type:"button",title:i,onClick:()=>N({selectionKey:c,path:i}),children:[e.jsx(b,{path:i}),e.jsx("span",{children:i})]},i))]}),e.jsxs("div",{className:"native-skill-sidebar-body lab-skill-source-body",children:[e.jsxs("header",{className:"native-skill-source-header",children:[e.jsxs("div",{className:"lab-skill-source-title-row",children:[e.jsx("h2",{children:s.name}),e.jsx("span",{children:$(s.scope)})]}),e.jsx("p",{children:s.description}),e.jsx("code",{children:s.packagePath})]}),S?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(w,{className:"spin",size:16})," Loading source…"]}):m?e.jsx("div",{className:"lab-skill-source-state error",children:m}):d?.isBinary?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(k,{size:18}),"Binary asset · ",B(d.byteSize)]}):e.jsx("pre",{className:"native-skill-markdown-source","aria-label":`${x} source`,children:e.jsx("code",{children:d?.content??""})})]})]})]})}function $(a){return a==="codex"?"Codex skill":a==="extension"?"GitHub extension":"OpenPond skill"}function b({path:a}){const l=a.split(".").at(-1)?.toLowerCase();return["avif","gif","jpeg","jpg","png","webp"].includes(l??"")?e.jsx(k,{size:14}):["md","txt","yaml","yml"].includes(l??"")?e.jsx(L,{size:14}):e.jsx(C,{size:14})}function B(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}export{G as LabSkillSidebar};
1
+ import{r as n,j as e}from"./index-Dvq7bpBG.js";import{o as g,b8 as z,X as y,aL as w,i as L}from"./App-BOkhmdHu.js";import{F as C}from"./chat-file-links-Bned0MT7.js";import{I as k}from"./MainPane-BbknUzp3.js";import{M as F}from"./minimize-2-DeYg7XqB.js";import"./cloud-upload-CsrrwS-b.js";import"./arrow-up-right-4nAzMtjW.js";import"./square-LY3oz82L.js";function H({connection:a,expanded:l,selection:s,onClose:j,onResizeStart:h,onToggleExpanded:v}){const c=`${s.scope}:${s.name}`,[o,N]=n.useState({selectionKey:c,path:s.files[0]??"SKILL.md"}),r=o.selectionKey===c&&s.files.includes(o.path)?o.path:s.files[0]??"SKILL.md",[d,u]=n.useState(null),[m,p]=n.useState(null),[S,f]=n.useState(!1);n.useEffect(()=>{if(!a){u(null),p("Connect to the local OpenPond server to load this skill source.");return}let i=!1;return f(!0),p(null),u(null),g.skillSourceFile(a,s.scope,s.name,r).then(t=>{i||u(t)}).catch(t=>{i||p(t instanceof Error?t.message:String(t))}).finally(()=>{i||f(!1)}),()=>{i=!0}},[a,r,s.name,s.scope]);const x=r.split("/").at(-1)??r;return e.jsxs("aside",{className:`workspace-diff-panel native-skill-sidebar lab-skill-sidebar ${l?"expanded":""}`,"aria-label":`Skill package source: ${s.name}`,children:[l?null:e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize skill source",onPointerDown:h}),e.jsxs("div",{className:"workspace-diff-topbar native-skill-sidebar-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Selected skill file",children:e.jsxs("button",{className:"workspace-diff-tab active",type:"button",role:"tab","aria-selected":!0,children:[e.jsx(b,{path:r}),e.jsx("span",{children:x})]})}),e.jsxs("div",{className:"workspace-diff-toolbar-actions",children:[e.jsx("button",{className:"diff-icon-button",type:"button",title:l?"Dock sidebar":"Expand sidebar","aria-label":l?"Dock sidebar":"Expand sidebar",onClick:v,children:l?e.jsx(F,{size:14}):e.jsx(z,{size:14})}),e.jsx("button",{className:"diff-icon-button",type:"button",title:"Close skill source","aria-label":"Close skill source",onClick:j,children:e.jsx(y,{size:14})})]})]}),e.jsxs("div",{className:"lab-skill-source-layout",children:[e.jsxs("nav",{className:"lab-skill-file-list","aria-label":`${s.name} package files`,children:[e.jsx("div",{className:"lab-skill-file-list-heading",children:"Package files"}),s.files.map(i=>e.jsxs("button",{"aria-current":i===r?"page":void 0,className:i===r?"active":void 0,type:"button",title:i,onClick:()=>N({selectionKey:c,path:i}),children:[e.jsx(b,{path:i}),e.jsx("span",{children:i})]},i))]}),e.jsxs("div",{className:"native-skill-sidebar-body lab-skill-source-body",children:[e.jsxs("header",{className:"native-skill-source-header",children:[e.jsxs("div",{className:"lab-skill-source-title-row",children:[e.jsx("h2",{children:s.name}),e.jsx("span",{children:$(s.scope)})]}),e.jsx("p",{children:s.description}),e.jsx("code",{children:s.packagePath})]}),S?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(w,{className:"spin",size:16})," Loading source…"]}):m?e.jsx("div",{className:"lab-skill-source-state error",children:m}):d?.isBinary?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(k,{size:18}),"Binary asset · ",B(d.byteSize)]}):e.jsx("pre",{className:"native-skill-markdown-source","aria-label":`${x} source`,children:e.jsx("code",{children:d?.content??""})})]})]})]})}function $(a){return a==="codex"?"Codex skill":a==="extension"?"GitHub extension":"OpenPond skill"}function b({path:a}){const l=a.split(".").at(-1)?.toLowerCase();return["avif","gif","jpeg","jpg","png","webp"].includes(l??"")?e.jsx(k,{size:14}):["md","txt","yaml","yml"].includes(l??"")?e.jsx(L,{size:14}):e.jsx(C,{size:14})}function B(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}export{H as LabSkillSidebar};