openpond 0.2.66 → 0.2.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +691 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/{account-context-TIJOM22A.js → account-context-MWB6HN6I.js} +1 -1
- package/dist/chunks/{acp-YYZ3ZO3Q.js → acp-2OIXATRY.js} +1 -1
- package/dist/chunks/{acp-agent-T26S7TU2.js → acp-agent-PAGX2B47.js} +1 -1
- package/dist/chunks/actions-command-2VE6YI4W.js +2 -0
- package/dist/chunks/{app-layer-5XUMNHDO.js → app-layer-YNEUEOEP.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-IB6M35NS.js → app-server-connected-apps-TZOAUOYR.js} +1 -1
- package/dist/chunks/app-server-evaluations-RRLYWLPK.js +2 -0
- package/dist/chunks/app-server-harness-services-XXM336NU.js +2 -0
- package/dist/chunks/app-server-runtime-GBX65JJ7.js +2 -0
- package/dist/chunks/apps-RSFEJOQN.js +2 -0
- package/dist/chunks/chunk-2PXKSAG6.js +2 -0
- package/dist/chunks/{chunk-GRLQHYAU.js → chunk-2TGHZXJE.js} +2 -2
- package/dist/chunks/{chunk-YU4JYWCA.js → chunk-3A2Y7UK3.js} +1 -1
- package/dist/chunks/chunk-3Z4VM2LF.js +4 -0
- package/dist/chunks/chunk-4BUM6JEC.js +33 -0
- package/dist/chunks/chunk-4G3GTEVS.js +23 -0
- package/dist/chunks/{chunk-FUFI4THX.js → chunk-4KNPCJR4.js} +1 -1
- package/dist/chunks/chunk-4KTGYHCE.js +2 -0
- package/dist/chunks/chunk-4PUOWSDE.js +13 -0
- package/dist/chunks/chunk-55YD4UTW.js +2 -0
- package/dist/chunks/chunk-5G7BQAUA.js +2 -0
- package/dist/chunks/chunk-65FJWWXG.js +2 -0
- package/dist/chunks/{chunk-2GJD23CM.js → chunk-65WRWLUD.js} +1 -1
- package/dist/chunks/chunk-6D3FI2XT.js +2 -0
- package/dist/chunks/chunk-73TW6BKK.js +6 -0
- package/dist/chunks/{chunk-6S2MWJVD.js → chunk-7NCM6GBN.js} +1 -1
- package/dist/chunks/chunk-7OFD6TFD.js +2 -0
- package/dist/chunks/chunk-7OKZCJHS.js +3 -0
- package/dist/chunks/{chunk-NTM3KQ25.js → chunk-7PKDJHT6.js} +1 -1
- package/dist/chunks/chunk-7RJOCGQ6.js +2 -0
- package/dist/chunks/{chunk-SAZTOGX6.js → chunk-7RSQOC5M.js} +3 -3
- package/dist/chunks/{chunk-6TRVEA3T.js → chunk-AFH462DO.js} +1 -1
- package/dist/chunks/{chunk-GUG2SWRZ.js → chunk-AFKFN25T.js} +1 -1
- package/dist/chunks/chunk-AFYYIJ6K.js +2 -0
- package/dist/chunks/chunk-APKXXAUF.js +2 -0
- package/dist/chunks/chunk-AQUZCWM3.js +2 -0
- package/dist/chunks/chunk-AUO5DCEU.js +2 -0
- package/dist/chunks/chunk-AYOMVI7J.js +2 -0
- package/dist/chunks/{chunk-EVQISX7M.js → chunk-B66QCXH2.js} +1 -1
- package/dist/chunks/{chunk-S6UCVXBC.js → chunk-BHKXPWFB.js} +1 -1
- package/dist/chunks/chunk-BU6MW65V.js +10 -0
- package/dist/chunks/{chunk-C5B3FMV3.js → chunk-CCZ276IA.js} +1 -1
- package/dist/chunks/{chunk-LYVHYT3L.js → chunk-CIZI6Z7D.js} +1 -1
- package/dist/chunks/{chunk-4D3CICBG.js → chunk-CO23RRN7.js} +1 -1
- package/dist/chunks/{chunk-QAFXQHHG.js → chunk-D6L6UNUQ.js} +2 -2
- package/dist/chunks/chunk-DDOIPTOM.js +2 -0
- package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-DKOVZ6R2.js} +3 -3
- package/dist/chunks/chunk-DRLP7GIU.js +2 -0
- package/dist/chunks/{chunk-DAEUVT2I.js → chunk-DRTHKWHK.js} +1 -1
- package/dist/chunks/{chunk-W22KWKF6.js → chunk-DWF3FCY4.js} +1 -1
- package/dist/chunks/{chunk-NABPZ7AK.js → chunk-DWM5G7BU.js} +1 -1
- package/dist/chunks/chunk-DXJC3QW7.js +2 -0
- package/dist/chunks/{chunk-V3S2B6WU.js → chunk-E2JB5OCO.js} +1 -1
- package/dist/chunks/{chunk-GI7LTJV3.js → chunk-EDYCSW22.js} +1 -1
- package/dist/chunks/{chunk-4JYTFEND.js → chunk-EFP75UEX.js} +1 -1
- package/dist/chunks/{chunk-WKHGXLJD.js → chunk-EGP6DF34.js} +2 -2
- package/dist/chunks/{chunk-M5QPL5NO.js → chunk-ESYPMD7Q.js} +1 -1
- package/dist/chunks/{chunk-PWKJ5KLZ.js → chunk-EXYSD45J.js} +1 -1
- package/dist/chunks/{chunk-XHBMK6LC.js → chunk-EYTTZ5H4.js} +1 -1
- package/dist/chunks/chunk-FKUWCJ73.js +161 -0
- package/dist/chunks/{chunk-U2BD545L.js → chunk-FNGZ4UDZ.js} +1 -1
- package/dist/chunks/{chunk-JFZ6USNQ.js → chunk-G7X73SBG.js} +1 -1
- package/dist/chunks/{chunk-36FNNR5N.js → chunk-GEYZVOGD.js} +1 -1
- package/dist/chunks/{chunk-ULJZ7NUF.js → chunk-GY7YSD6J.js} +1 -1
- package/dist/chunks/{chunk-JLW5BQVO.js → chunk-GYYJ47GX.js} +1 -1
- package/dist/chunks/chunk-HG2YFMVU.js +4 -0
- package/dist/chunks/{chunk-BTJACFU3.js → chunk-HKVFU3B3.js} +1 -1
- package/dist/chunks/chunk-IHAEZ73V.js +2 -0
- package/dist/chunks/{chunk-LI3FTPAH.js → chunk-IIT66347.js} +4 -4
- package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-IO5DZUKL.js} +1 -1
- package/dist/chunks/chunk-J256AEEE.js +2 -0
- package/dist/chunks/{chunk-CRDKBFRN.js → chunk-JEMECEQH.js} +1 -1
- package/dist/chunks/{chunk-7P5SH3CI.js → chunk-JPUSTFZC.js} +1 -1
- package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-JQOVC35K.js} +1 -1
- package/dist/chunks/{chunk-VS3AMJEK.js → chunk-JT5YQ52I.js} +1 -1
- package/dist/chunks/chunk-JVMSN7LH.js +2 -0
- package/dist/chunks/{chunk-HORMGT2Q.js → chunk-JXYJQT5Q.js} +1 -1
- package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-K7KBFM2T.js} +1 -1
- package/dist/chunks/{chunk-FS2VKOT7.js → chunk-KCLMA2IH.js} +1 -1
- package/dist/chunks/chunk-KDER7R45.js +2 -0
- package/dist/chunks/{chunk-WBO6FQHR.js → chunk-KOC3YJEU.js} +2 -2
- package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-KP2MYTP5.js} +1 -1
- package/dist/chunks/{chunk-YRDPVTEI.js → chunk-KU4TPDPH.js} +2 -2
- package/dist/chunks/{chunk-WJSJXK2N.js → chunk-KUE46HTH.js} +1 -1
- package/dist/chunks/chunk-LVXL7T5O.js +2 -0
- package/dist/chunks/{chunk-5KWKSR4P.js → chunk-M4A7G4S5.js} +2 -2
- package/dist/chunks/{chunk-KAWXVMHI.js → chunk-M4ZHFDRJ.js} +1 -1
- package/dist/chunks/{chunk-HX6GXMDK.js → chunk-MEJLWNRS.js} +1 -1
- package/dist/chunks/{chunk-B666Z2NS.js → chunk-MIFVX5PK.js} +1 -1
- package/dist/chunks/{chunk-66HFW4OU.js → chunk-MOXIGLN2.js} +1 -1
- package/dist/chunks/{chunk-7XOUM6RK.js → chunk-N5EAVX4G.js} +1 -1
- package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-NMMHXYDJ.js} +1 -1
- package/dist/chunks/{chunk-EBOTNBUS.js → chunk-NRYC4NH6.js} +1 -1
- package/dist/chunks/chunk-NSSZ2ZIU.js +2 -0
- package/dist/chunks/{chunk-4TTXNVCE.js → chunk-OFJPOTES.js} +1 -1
- package/dist/chunks/chunk-OIH2LPIT.js +2 -0
- package/dist/chunks/chunk-OUJ63LMU.js +2 -0
- package/dist/chunks/{chunk-DXA2UHBE.js → chunk-P4QM63L3.js} +1 -1
- package/dist/chunks/chunk-PACLKDTN.js +2 -0
- package/dist/chunks/{chunk-AF3AVDPP.js → chunk-PAYFJHPO.js} +1 -1
- package/dist/chunks/{chunk-OPTJYDZN.js → chunk-PHZZBXDO.js} +1 -1
- package/dist/chunks/{chunk-HPTEJBP4.js → chunk-PKJHN666.js} +1 -1
- package/dist/chunks/{chunk-HNDAGZCF.js → chunk-PLROXHG2.js} +1 -1
- package/dist/chunks/{chunk-W7NXFRHN.js → chunk-PNPV2LDE.js} +1 -1
- package/dist/chunks/{chunk-DSJZS77R.js → chunk-PSY6IRJE.js} +8 -8
- package/dist/chunks/{chunk-UK5LGSGT.js → chunk-Q73RKX7I.js} +1 -1
- package/dist/chunks/{chunk-PLVWARB7.js → chunk-Q7FBVLLB.js} +1 -1
- package/dist/chunks/{chunk-QAEZNFAM.js → chunk-Q7P34B2O.js} +1 -1
- package/dist/chunks/{chunk-QYQZQVVN.js → chunk-QLGP2OAQ.js} +1 -1
- package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QUNQM2E3.js} +1 -1
- package/dist/chunks/chunk-R2FYCJL6.js +2 -0
- package/dist/chunks/{chunk-KOKBDIGR.js → chunk-R4EEGWXB.js} +1 -1
- package/dist/chunks/chunk-RBTDSI4L.js +11 -0
- package/dist/chunks/chunk-RCQYEHHD.js +2 -0
- package/dist/chunks/{chunk-TGULVWPV.js → chunk-RFQD6B44.js} +1 -1
- package/dist/chunks/{chunk-3WJQ4IGK.js → chunk-RPM4FDRX.js} +1 -1
- package/dist/chunks/{chunk-MCBRB5D6.js → chunk-RY46UPBO.js} +4 -4
- package/dist/chunks/{chunk-67HXM6AL.js → chunk-SDHG6CKU.js} +1 -1
- package/dist/chunks/{chunk-DIDQHTAX.js → chunk-SO4GMSNP.js} +1 -1
- package/dist/chunks/{chunk-O6ZYDHEJ.js → chunk-SSHE6B7Z.js} +1 -1
- package/dist/chunks/{chunk-SH7POUVX.js → chunk-SV7ZBEK2.js} +6 -6
- package/dist/chunks/{chunk-BJXPQIVD.js → chunk-U7D6Q744.js} +1 -1
- package/dist/chunks/chunk-U7X5ZLAL.js +2 -0
- package/dist/chunks/{chunk-LARJARMS.js → chunk-UANH7U3Y.js} +1 -1
- package/dist/chunks/{chunk-CYQLXS2U.js → chunk-UGFSAG4U.js} +1 -1
- package/dist/chunks/chunk-ULTV6INR.js +2 -0
- package/dist/chunks/{chunk-FHLSLOKH.js → chunk-UMAVVMXL.js} +7 -7
- package/dist/chunks/chunk-V24VHT76.js +2 -0
- package/dist/chunks/chunk-VEBW7NKD.js +2 -0
- package/dist/chunks/chunk-VJR2GNRY.js +2 -0
- package/dist/chunks/{chunk-JD76ANPN.js → chunk-VJYOKU3C.js} +1 -1
- package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-VWWKWYSQ.js} +1 -1
- package/dist/chunks/chunk-WCNPGKST.js +2 -0
- package/dist/chunks/chunk-WD4KAKEX.js +2 -0
- package/dist/chunks/chunk-WGQ3FMRF.js +2 -0
- package/dist/chunks/{chunk-6C3CXME7.js → chunk-WNXUSELC.js} +1 -1
- package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-WZ35ICTE.js} +3 -3
- package/dist/chunks/chunk-XHACK2KR.js +2 -0
- package/dist/chunks/chunk-XOPHFUUY.js +2 -0
- package/dist/chunks/{chunk-UXPO3ZV7.js → chunk-XQAUHXL4.js} +4 -4
- package/dist/chunks/{chunk-OXRVILDW.js → chunk-XT4CSKHM.js} +1 -1
- package/dist/chunks/{chunk-QJJNHKLT.js → chunk-XY7HFXLH.js} +1 -1
- package/dist/chunks/{chunk-ZUT4EM64.js → chunk-XYZV3FKD.js} +1 -1
- package/dist/chunks/{chunk-7FBWUVX7.js → chunk-Y2WNZWT2.js} +1 -1
- package/dist/chunks/chunk-Y4I6CFZJ.js +2 -0
- package/dist/chunks/chunk-YDZBX4XQ.js +2 -0
- package/dist/chunks/chunk-YI6ME6PU.js +22 -0
- package/dist/chunks/{chunk-H42UW6IF.js → chunk-YXMYK5P7.js} +1 -1
- package/dist/chunks/{chunk-D7R2AAX2.js → chunk-Z33RVGP6.js} +1 -1
- package/dist/chunks/{chunk-B32CW3NT.js → chunk-ZDEIVUUI.js} +1 -1
- package/dist/chunks/{chunk-IEVJLG3V.js → chunk-ZIQJDTQB.js} +1 -1
- package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-ZYLLPRPU.js} +1 -1
- package/dist/chunks/cli-R7TAP6Z2.js +2 -0
- package/dist/chunks/command-LNOVZQSK.js +58 -0
- package/dist/chunks/{configuration-command-4WTS2MZS.js → configuration-command-CNITTZRP.js} +1 -1
- package/dist/chunks/connected-app-executor-FGWCLOJO.js +2 -0
- package/dist/chunks/connected-evidence-5VZBYNWN.js +2 -0
- package/dist/chunks/{connected-starting-assets-4LDXQVLN.js → connected-starting-assets-KWOFEIE4.js} +1 -1
- package/dist/chunks/{connection-GDWPMHPC.js → connection-VMBXW5PD.js} +1 -1
- package/dist/chunks/{continual-HQCFY7GN.js → continual-FVOLGGOE.js} +1 -1
- package/dist/chunks/core-commands-BPYXVT7O.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-UUYFWWCT.js +4 -0
- package/dist/chunks/datasets-E5TXSVIY.js +2 -0
- package/dist/chunks/desktop-test-FX7DTY4N.js +3 -0
- package/dist/chunks/dist-2MKJC6HN.js +2 -0
- package/dist/chunks/{dist-GR56E3QK.js → dist-DKE7RJZN.js} +1 -1
- package/dist/chunks/evaluation-coordination-KUTZEEPB.js +2 -0
- package/dist/chunks/experiment-improvements-PQNR5YHN.js +2 -0
- package/dist/chunks/experiments-Z4BJWT3Y.js +2 -0
- package/dist/chunks/experiments-signal-3GCLKUWZ.js +2 -0
- package/dist/chunks/{extension-UH34ZF7N.js → extension-3EKIT6BB.js} +1 -1
- package/dist/chunks/{help-JQA3YMCX.js → help-K6YLZ3KL.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +2 -0
- package/dist/chunks/host-profile-external-dataset-KSEPXY2S.js +2 -0
- package/dist/chunks/hosted-app-server-composition-LA3BZ4SE.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-VG2WE7XZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +2 -0
- package/dist/chunks/hosted-profile-candidate-PTGQLPZO.js +3 -0
- package/dist/chunks/hosted-profile-compiler-FS5R6CHJ.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-UUEZEMXU.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-4F7OEF4T.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-LIJJZDHQ.js +3 -0
- package/dist/chunks/hosted-tasksets-NXVF4AQA.js +2 -0
- package/dist/chunks/human-review-2ZOB7CJZ.js +2 -0
- package/dist/chunks/{import-CLWTKDG6.js → import-YHYKZ6JN.js} +2 -2
- package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
- package/dist/chunks/{learning-XTY5VOTK.js → learning-LAXMGWSQ.js} +1 -1
- package/dist/chunks/learning-Y3UKNUGE.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XQHQ6JCR.js +2 -0
- package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-6YWVD2TS.js} +1 -1
- package/dist/chunks/opchat-XXI2ZM53.js +3 -0
- package/dist/chunks/opchat-bounded-chat-3MZGCRLY.js +2 -0
- package/dist/chunks/organizations-W7HI2JA4.js +2 -0
- package/dist/chunks/{profile-RIDNU2I5.js → profile-P2SJPBOJ.js} +1 -1
- package/dist/chunks/project-action-payload-LTIQBX77.js +2 -0
- package/dist/chunks/project-agent-XRIXMXQK.js +2 -0
- package/dist/chunks/published-experiment-source-SDXUVPE7.js +2 -0
- package/dist/chunks/refiner-profile-service-56VYLZQJ.js +2 -0
- package/dist/chunks/{runtime-VSOOPNYN.js → runtime-Q7JUJO4D.js} +2 -2
- package/dist/chunks/sandbox-command-HVA5FJU4.js +2 -0
- package/dist/chunks/{sandbox-template-NN3XQI7M.js → sandbox-template-U536EEWY.js} +1 -1
- package/dist/chunks/saved-work-KSIQPXC2.js +2 -0
- package/dist/chunks/{send-turn-D3GTSSHI.js → send-turn-YLY3YNEQ.js} +1 -1
- package/dist/chunks/setup-RMZ2BHLM.js +2 -0
- package/dist/chunks/{src-662QOKNP.js → src-C3ZUESMK.js} +1 -1
- package/dist/chunks/src-SGQYVBNQ.js +424 -0
- package/dist/chunks/standalone-experiment-turn-owner-TW5MTWIO.js +2 -0
- package/dist/chunks/store-chat-resources-IRHBW2EC.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-3KK42L4I.js} +1 -1
- package/dist/chunks/store-conversation-serving-IVURK52V.js +2 -0
- package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-UTCLBXF2.js} +1 -1
- package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-4AQOVAQY.js} +1 -1
- package/dist/chunks/store-evaluation-results-PK2P3IMH.js +7 -0
- package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-YEXB4IRV.js} +1 -1
- package/dist/chunks/store-human-review-O4BVHP25.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-44SVX6YB.js +2 -0
- package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-SIUQIY5C.js} +1 -1
- package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-BUHR7SN6.js} +1 -1
- package/dist/chunks/store-local-experiments-BHVTKPPE.js +97 -0
- package/dist/chunks/store-model-batch-review-RVAYUVK2.js +2 -0
- package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-6L3OYXF4.js} +1 -1
- package/dist/chunks/store-model-project-preparation-AAEKCF6V.js +2 -0
- package/dist/chunks/store-modification-recordings-LCPK6K2T.js +9 -0
- package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-5YVIQNVB.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-J3JEVAYR.js → store-sidebar-file-bookmarks-WLMYDA4E.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-2JHTFXJK.js → store-sidebar-preferences-AFMYIDWT.js} +1 -1
- package/dist/chunks/{store-subagents-PUBQVWSU.js → store-subagents-KFPVSTRO.js} +1 -1
- package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-L6IQTY26.js} +1 -1
- package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-QWS2C656.js} +1 -1
- package/dist/chunks/store-taskset-drafts-FRFL6ITK.js +9 -0
- package/dist/chunks/{store-training-DUVIDYK5.js → store-training-FYXZU2FE.js} +1 -1
- package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-3N3VKPIY.js} +1 -1
- package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-VOFVGPZR.js} +1 -1
- package/dist/chunks/{taskset-7FQCJ55X.js → taskset-UDDLFYKV.js} +1 -1
- package/dist/chunks/taskset-catalog-RZYEBCRQ.js +2 -0
- package/dist/chunks/taskset-packages-T6B6HYKZ.js +2 -0
- package/dist/chunks/taskset-packages-WMG5DUBN.js +2 -0
- package/dist/chunks/{teams-bot-FXMCOCPP.js → teams-bot-MPWL2PP4.js} +1 -1
- package/dist/chunks/tool-learning-ZQ6NSJ5K.js +2 -0
- package/dist/chunks/training-5NT2YB2L.js +2 -0
- package/dist/chunks/training-5UMT45UL.js +2 -0
- package/dist/chunks/training-UY6KRG4M.js +2 -0
- package/dist/chunks/{training-error-LQKCOQDJ.js → training-error-WF463UNZ.js} +1 -1
- package/dist/chunks/{training-hardware-ESXRWUIK.js → training-hardware-UWQCRDMV.js} +1 -1
- package/dist/chunks/training-hosted-CKSDRVL6.js +2 -0
- package/dist/chunks/training-hosted-alphaedit-HSMRDJTD.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
- package/dist/chunks/training-hosted-decision-7JALOU6O.js +2 -0
- package/dist/chunks/training-hosted-engram-SXO75MFG.js +2 -0
- package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-E2N32YU5.js} +1 -1
- package/dist/chunks/training-hosted-modification-comparison-TXFDJFTG.js +2 -0
- package/dist/chunks/training-hosted-neuron-training-J42WK4EH.js +2 -0
- package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
- package/dist/chunks/training-hosted-serving-report-BAEABGJH.js +2 -0
- package/dist/chunks/training-hosted-steering-T556BUBG.js +2 -0
- package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
- package/dist/chunks/training-model-start-P3PXDWNT.js +2 -0
- package/dist/chunks/web-search-ZEKJHZW4.js +2 -0
- package/dist/chunks/{workspaces-MCS2AQX6.js → workspaces-EK62ANTB.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sandbox/types/billing.d.ts +87 -6
- package/dist/sandbox/types/io.d.ts +3 -0
- package/dist/sandbox-template/manifest.js +1 -1
- package/dist/skills/manifest.json +3 -3
- package/dist/skills/openpond-cli/references/experiments-and-training.md +461 -1
- package/dist/web/assets/App-CCuh99JW.js +54 -0
- package/dist/web/assets/{AppDialog-DuSd0wk6.js → AppDialog-CxjDHVk9.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-CKJIVpKa.js +2 -0
- package/dist/web/assets/{AppToastContext-Dklk6CaG.js → AppToastContext-EpiT1dHs.js} +1 -1
- package/dist/web/assets/AppsView-BsMyPX_3.js +1 -0
- package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-DipNT6Tj.js → AttachmentTypeIcon-BXvZy5gB.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BIIV4aq4.js +1 -0
- package/dist/web/assets/{CartesianChart-UU1sdoUO.js → CartesianChart-brqLBqnF.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-CwZbn16X.js +8 -0
- package/dist/web/assets/{CollaborationTabs-BWYRQ1PE.js → CollaborationTabs-BU4uc4tZ.js} +1 -1
- package/dist/web/assets/{CommandMenu-B08F9x5g.js → CommandMenu-DkWpXR55.js} +1 -1
- package/dist/web/assets/CommunityView-CsSxJZGn.js +1 -0
- package/dist/web/assets/{ComposerAttachments-srWBKvCv.js → ComposerAttachments-BdJGCYzI.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DqTpU5cO.js → ComposerCreateImproveStrip-CWy0j1vv.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-2KC-KQvu.js → ConversationImportsSettings-DCmiakbZ.js} +1 -1
- package/dist/web/assets/DatasetReviewImport-DEnF_pGu.js +1 -0
- package/dist/web/assets/ExperimentTrainingDataWorkspace-WhwQ0QBi.js +2 -0
- package/dist/web/assets/{FilePagePreview-B-iUVPhh.js → FilePagePreview-BRhhz99q.js} +2 -2
- package/dist/web/assets/{GetStartedView-5v0vBWXy.js → GetStartedView-CLVD-qEi.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-Bn4072K-.js → GettingStartedDialog-CMxaAMg-.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-Cn-j-rDo.js +1 -0
- package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +1 -0
- package/dist/web/assets/{HtmlVisual-C2WsMj90.js → HtmlVisual-D5y2WG9L.js} +10 -10
- package/dist/web/assets/LabModelVersionDetailPage-BxRmYD6h.js +1 -0
- package/dist/web/assets/{TrainingRunLineage-PXzWR65d.css → LabModelWorkspace-DOrgCk9Z.css} +1 -1
- package/dist/web/assets/LabModelWorkspace-u2Ulm_z4.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-C50P74LI.js → LabSkillSidebar-C7IceJTJ.js} +1 -1
- package/dist/web/assets/LabsRoute-C9Y0GU34.css +1 -0
- package/dist/web/assets/LabsRoute-CbztQaEf.js +74 -0
- package/dist/web/assets/LearningBatchesPage-B1NZTBSv.css +1 -0
- package/dist/web/assets/LearningBatchesPage-CJqgZNvM.js +26 -0
- package/dist/web/assets/MainChatThread-DNMfrrRq.js +2 -0
- package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BZlNLfTM.css} +1 -1
- package/dist/web/assets/MainPane-CQQxSDPS.js +13 -0
- package/dist/web/assets/ModelProjectPageHeader-Dge19aE1.js +1 -0
- package/dist/web/assets/NativeSetupTerminal-D4JnbpyD.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-Clv0IWyn.js → NativeSkillSidebar-Jzx1BeKV.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cw_F5Eaa.js → NewProjectDialog-DcnGzEd9.js} +1 -1
- package/dist/web/assets/{OutputsPage-Btyiie4B.js → OutputsPage-Cmk15Vt_.js} +1 -1
- package/dist/web/assets/{PageChrome-BLLw_cEA.js → PageChrome-Cz_fCqtn.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BpSHWQgj.js → ProjectsPage-BZ3Eo3Mz.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-C6H2vU9N.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-WytWGQgw.js → ScheduledWorkPage-CAkSwM0T.js} +1 -1
- package/dist/web/assets/{SettingsView-BJq5zNkv.js → SettingsView-DvQXGw3_.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-BxFEWI9W.js → TasksetDraftEditorPrimitives-JuU1k8vr.js} +1 -1
- package/dist/web/assets/TeamChatView-DmHjr8W9.js +1 -0
- package/dist/web/assets/{TerminalOverlay-C7OM2F0-.js → TerminalOverlay-DlaM9d8F.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-KH5GFacT.js → TrainingCreationPanel-ClpylNsr.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DzOw13Md.js → TrainingDraftPanel-6tH2xSDj.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-nZHno_4P.js → UsageSettingsSection-CzDqxOYM.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B4e0lyF7.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-D01ZkZZF.js +35 -0
- package/dist/web/assets/{WorkspaceFileLocation-1U8DDj1J.js → WorkspaceFileLocation-C5s_njZb.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BO1EUA3G.js → WorkspaceGitDialogs-DjPZ6KIh.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-Rqq_sKW_.js → WorkspaceMonacoEditor-CC4sfOiU.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-zmmMp09R.js → WorkspacePdfPreview-vszQqFa4.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DNbhGjkE.js → WorkspacePresentationPreview-DQTvhaRD.js} +1 -1
- package/dist/web/assets/api-client-DJRVOFzS.js +1 -0
- package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-BUdzQbXo.js} +1 -1
- package/dist/web/assets/bot-Doyx3T4j.js +1 -0
- package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-PVPCrsDJ.js} +1 -1
- package/dist/web/assets/chat-resources-Beh5lB36.js +1 -0
- package/dist/web/assets/chevron-down-DX1hzujj.js +1 -0
- package/dist/web/assets/chevron-right-DHN0y3KC.js +1 -0
- package/dist/web/assets/chevron-up-_QrW88NF.js +1 -0
- package/dist/web/assets/chunk-3BYFS4RO-ztZjcMmt.js +1 -0
- package/dist/web/assets/chunk-AG6UJ3DI-D9KZjTYP.js +1 -0
- package/dist/web/assets/chunk-C3TS766N-ppRhs95p.js +1 -0
- package/dist/web/assets/chunk-GCUWJUUM-Dy6oUNJ6.js +9 -0
- package/dist/web/assets/chunk-GS5HEE4M-C0RLeIsy.js +1 -0
- package/dist/web/assets/chunk-H3JZ3P5T-DolwEJXo.js +2 -0
- package/dist/web/assets/chunk-Q4RGCEOI-Cr-dg4Nk.js +1 -0
- package/dist/web/assets/client-DwZ92xtu.js +1 -0
- package/dist/web/assets/{client-choice-storage-CXlWJW5g.js → client-choice-storage-DitqKiIT.js} +1 -1
- package/dist/web/assets/cloud-upload-HdzNTgr2.js +1 -0
- package/dist/web/assets/common-BWVSBnpX.js +1 -0
- package/dist/web/assets/copy-DTQhoBNg.js +1 -0
- package/dist/web/assets/create-pipeline-DsZzNkt9.js +1 -0
- package/dist/web/assets/{cssMode-Cps-05f3.js → cssMode-BRTtfXxU.js} +1 -1
- package/dist/web/assets/dataset-workspaces-BTPi71mz.js +1 -0
- package/dist/web/assets/external-link-H1629UU6.js +1 -0
- package/dist/web/assets/folder-open-CAGdWOrr.js +1 -0
- package/dist/web/assets/folder-plus-C14cs2mE.js +1 -0
- package/dist/web/assets/git-commit-horizontal-DFUfuVvF.js +1 -0
- package/dist/web/assets/{htmlMode-Do72TyNy.js → htmlMode-BVaCcL76.js} +1 -1
- package/dist/web/assets/icons-Bk2b68aC.js +1 -0
- package/dist/web/assets/image-0DPVY6Ev.js +1 -0
- package/dist/web/assets/{index-D7igQSAg.js → index-B6XX_0h3.js} +2 -2
- package/dist/web/assets/info-C8b_tafZ.js +1 -0
- package/dist/web/assets/intake-contracts-B8JZKYwb.js +1 -0
- package/dist/web/assets/{jsonMode-B2N7W15Y.js → jsonMode-BCKKQmmV.js} +1 -1
- package/dist/web/assets/loader-circle-y-SSPwpk.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DPmyOFVA.js → lspLanguageFeatures-DozmNUOx.js} +1 -1
- package/dist/web/assets/maximize-2-CByk9-zN.js +1 -0
- package/dist/web/assets/message-square-C889vRqm.js +1 -0
- package/dist/web/assets/{monaco.contribution-DqqJBDzF.js → monaco.contribution-B9q6qbbo.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BfOxF9PJ.js → monaco.contribution-BITdsRbn.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DNONXznc.js → monaco.contribution-BqA-XZ44.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CRdTg0FH.js → monaco.contribution-DxAV1oS5.js} +2 -2
- package/dist/web/assets/monitor-BtxlcLuI.js +1 -0
- package/dist/web/assets/paperclip-BeIdaspf.js +1 -0
- package/dist/web/assets/{pdf-BCq2Oosd.js → pdf-perlzwEB.js} +1 -1
- package/dist/web/assets/play-CHXXdkuO.js +1 -0
- package/dist/web/assets/plus-DFFWjhPw.js +1 -0
- package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-Ca-9KggQ.js} +1 -1
- package/dist/web/assets/presentation-0bzvu6_u.js +1 -0
- package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-D8lxL7dW.js} +1 -1
- package/dist/web/assets/{python-DuGMr666.js → python-B9hOnkOI.js} +1 -1
- package/dist/web/assets/refresh-cw-D61-Ozk3.js +1 -0
- package/dist/web/assets/{requests-BCbaFiqV.js → requests-DmeUYik4.js} +1 -1
- package/dist/web/assets/reward-checks-DJJZYgf8.js +7 -0
- package/dist/web/assets/save-iEMNZoPe.js +1 -0
- package/dist/web/assets/schemas-Brv9Vmnk.js +64 -0
- package/dist/web/assets/settings-BC-bzgk6.js +21 -0
- package/dist/web/assets/settings-lists-C84qxFmP.js +5 -0
- package/dist/web/assets/square-BE_4JMR3.js +1 -0
- package/dist/web/assets/square-terminal-Djpzo2Qs.js +1 -0
- package/dist/web/assets/{submit-issue-command-wfngGS6Y.js → submit-issue-command-HfKzyxg5.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-cl0cw2QK.js → toggleHighContrast-ClsXu39R.js} +1 -1
- package/dist/web/assets/training-DWfghwfZ.js +1 -0
- package/dist/web/assets/{training-model-data-CWnu1bz9.js → training-model-data-CIysl8wH.js} +4 -4
- package/dist/web/assets/{tsMode-DLEc0PYL.js → tsMode-nbmaMc-D.js} +1 -1
- package/dist/web/assets/upload-C6ug8RD-.js +1 -0
- package/dist/web/assets/{useAccountSettings-ByxjI9BG.js → useAccountSettings-Dr9h4Qz_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-Df64T07n.js → useAgentInventory-ByCk2JAv.js} +1 -1
- package/dist/web/assets/useChatContextSelection-C0eMm2g6.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-DNh_x9gQ.js → useLocalAgentSchedules-Do0y_leJ.js} +1 -1
- package/dist/web/assets/useQuery-D2MQ7e5U.js +1 -0
- package/dist/web/assets/wifi-off-Dr-CapyW.js +1 -0
- package/dist/web/assets/work-outputs-D_8TovAK.js +1 -0
- package/dist/web/assets/{workers-CnqrOtic.js → workers-DKvM2NdM.js} +1 -1
- package/dist/web/assets/x-Jx2jlP9u.js +1 -0
- package/dist/web/assets/{yaml-C9vtYV4w.js → yaml-C02vq4ar.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +100 -4
- package/package.json +1 -1
- package/dist/chunks/actions-command-VLKMHCMI.js +0 -2
- package/dist/chunks/app-server-evaluations-V6LRWDUF.js +0 -2
- package/dist/chunks/app-server-harness-services-6ZRLA3YD.js +0 -2
- package/dist/chunks/app-server-runtime-TH56EG2Z.js +0 -2
- package/dist/chunks/apps-MNT3KXIY.js +0 -2
- package/dist/chunks/chunk-2W22IXHB.js +0 -2
- package/dist/chunks/chunk-2ZNW6GUU.js +0 -2
- package/dist/chunks/chunk-3BJ7LPE3.js +0 -2
- package/dist/chunks/chunk-3MVKXAH7.js +0 -2
- package/dist/chunks/chunk-4MQHIFZL.js +0 -2
- package/dist/chunks/chunk-55Q64WWF.js +0 -2
- package/dist/chunks/chunk-5KJMFK65.js +0 -2
- package/dist/chunks/chunk-5WPMI6QX.js +0 -2
- package/dist/chunks/chunk-7PKTCMZ6.js +0 -2
- package/dist/chunks/chunk-ANG2YMMD.js +0 -2
- package/dist/chunks/chunk-BQVB2SPF.js +0 -10
- package/dist/chunks/chunk-DMO3UIS7.js +0 -6
- package/dist/chunks/chunk-FEQ7HNJR.js +0 -2
- package/dist/chunks/chunk-G4E3WGLM.js +0 -13
- package/dist/chunks/chunk-H5ML7735.js +0 -2
- package/dist/chunks/chunk-I3NYYOSS.js +0 -2
- package/dist/chunks/chunk-IOSBGCRT.js +0 -2
- package/dist/chunks/chunk-JBFPTEVE.js +0 -2
- package/dist/chunks/chunk-JKI53ED7.js +0 -161
- package/dist/chunks/chunk-JRGECNP3.js +0 -2
- package/dist/chunks/chunk-L4EJ5R3B.js +0 -23
- package/dist/chunks/chunk-LXZLLTYQ.js +0 -2
- package/dist/chunks/chunk-MHPCVQOE.js +0 -2
- package/dist/chunks/chunk-MVPKU72J.js +0 -4
- package/dist/chunks/chunk-OKEC2EIE.js +0 -2
- package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
- package/dist/chunks/chunk-QCJY6FTC.js +0 -3
- package/dist/chunks/chunk-SBQ6KLXB.js +0 -33
- package/dist/chunks/chunk-TVDZXDQW.js +0 -2
- package/dist/chunks/chunk-V3KEG6MI.js +0 -2
- package/dist/chunks/chunk-VD2TQCMH.js +0 -2
- package/dist/chunks/chunk-WLZJOCLA.js +0 -10
- package/dist/chunks/chunk-Y3B6ZUE6.js +0 -22
- package/dist/chunks/chunk-YBKDEEEH.js +0 -2
- package/dist/chunks/chunk-ZWW227M3.js +0 -2
- package/dist/chunks/cli-TE7RP5H7.js +0 -2
- package/dist/chunks/command-NW6BGKOM.js +0 -13
- package/dist/chunks/connected-app-executor-7DYMZCD7.js +0 -2
- package/dist/chunks/connected-evidence-D7C45HYD.js +0 -2
- package/dist/chunks/core-commands-RXPXOYOP.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-KWRTMKN6.js +0 -4
- package/dist/chunks/datasets-LBLEKLCS.js +0 -2
- package/dist/chunks/desktop-test-INJPZ5VP.js +0 -3
- package/dist/chunks/dist-J4KHAVO3.js +0 -2
- package/dist/chunks/evaluation-coordination-3ARLJAFH.js +0 -2
- package/dist/chunks/experiment-improvements-UB4C5CSP.js +0 -2
- package/dist/chunks/experiments-AHHKFJD6.js +0 -2
- package/dist/chunks/experiments-signal-MTR475QV.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
- package/dist/chunks/host-profile-external-dataset-YRKG2GL5.js +0 -2
- package/dist/chunks/hosted-app-server-composition-GPXH3BOG.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-NZTPZTDH.js +0 -3
- package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
- package/dist/chunks/hosted-profile-candidate-3CAT3XBI.js +0 -3
- package/dist/chunks/hosted-profile-compiler-RXU626Q6.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-CBDRKJ5J.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-CHYKDYUQ.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-H5S7JZMD.js +0 -3
- package/dist/chunks/hosted-tasksets-AMGDDB2R.js +0 -2
- package/dist/chunks/human-review-DVHVJXBA.js +0 -2
- package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
- package/dist/chunks/learning-NJLTGZFQ.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-XEA73RGS.js +0 -2
- package/dist/chunks/local-harness-taskset-review-SW35G4DM.js +0 -2
- package/dist/chunks/opchat-LMKH3OWR.js +0 -3
- package/dist/chunks/opchat-bounded-chat-PPOWO7H4.js +0 -2
- package/dist/chunks/organizations-T6ZUSHNJ.js +0 -2
- package/dist/chunks/project-action-payload-2G57RL74.js +0 -2
- package/dist/chunks/project-agent-GBMVDJY3.js +0 -2
- package/dist/chunks/published-experiment-source-D3C2AWQD.js +0 -2
- package/dist/chunks/refiner-profile-service-PPGGNVOV.js +0 -2
- package/dist/chunks/sandbox-command-L5VQ2T6C.js +0 -2
- package/dist/chunks/saved-work-LAVTNKPT.js +0 -2
- package/dist/chunks/setup-TXEM2QSG.js +0 -2
- package/dist/chunks/src-HJHIBDFX.js +0 -424
- package/dist/chunks/standalone-experiment-turn-owner-KKYIGGPF.js +0 -2
- package/dist/chunks/store-chat-resources-ZWDYMDJF.js +0 -2
- package/dist/chunks/store-conversation-serving-WRT4N7N2.js +0 -2
- package/dist/chunks/store-evaluation-results-BEPR4LVD.js +0 -7
- package/dist/chunks/store-human-review-HJ3D7ZFA.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-EXNRDHCO.js +0 -2
- package/dist/chunks/store-local-experiments-CBJA56X2.js +0 -97
- package/dist/chunks/store-model-batch-review-YIVD7T2T.js +0 -2
- package/dist/chunks/store-model-project-preparation-WWU5CJTV.js +0 -2
- package/dist/chunks/store-taskset-drafts-G3WFVN4M.js +0 -9
- package/dist/chunks/taskset-packages-NRRPON7B.js +0 -2
- package/dist/chunks/taskset-packages-RW4SFGDU.js +0 -2
- package/dist/chunks/tool-learning-O7QTTEDB.js +0 -2
- package/dist/chunks/training-XFM3OOPN.js +0 -2
- package/dist/chunks/training-XILDD5RG.js +0 -2
- package/dist/chunks/training-hosted-6BX2IASC.js +0 -2
- package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
- package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
- package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
- package/dist/chunks/training-model-start-E5MP3URL.js +0 -2
- package/dist/chunks/web-search-56QRZGPR.js +0 -2
- package/dist/web/assets/App-CNQi3RlI.js +0 -53
- package/dist/web/assets/AppTerminalPanel-DLz34eSs.js +0 -2
- package/dist/web/assets/AppsView-DkCMr67-.js +0 -1
- package/dist/web/assets/BrowserSidebar-BBaaanMS.js +0 -1
- package/dist/web/assets/ChatTimelineEntry-Ct59FKw1.js +0 -8
- package/dist/web/assets/CommunityView-BLTlSxyb.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-DWF6WPao.js +0 -1
- package/dist/web/assets/HostedModelLearningSettings-BYl-2j7B.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CQz29DwD.js +0 -1
- package/dist/web/assets/LabsRoute-CE45yAXJ.css +0 -1
- package/dist/web/assets/LabsRoute-DJRgF1kQ.js +0 -101
- package/dist/web/assets/MainChatThread-gwmhe1Nw.js +0 -2
- package/dist/web/assets/MainPane-CqtgV9rU.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-DrQldDsG.js +0 -2
- package/dist/web/assets/RightChatPanelStack-xW5rKbp0.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-BDmIxvIm.js +0 -1
- package/dist/web/assets/TeamChatView-BisSMAXy.js +0 -1
- package/dist/web/assets/TrainingRunLineage-B2WBOchk.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-D3Ub_jVj.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-CyTa8Cjs.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-CtZzxQ1e.js +0 -35
- package/dist/web/assets/api-client-Dgz-fOMl.js +0 -1
- package/dist/web/assets/bot-D-eTQib6.js +0 -1
- package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
- package/dist/web/assets/chevron-down-75im8nFF.js +0 -1
- package/dist/web/assets/chevron-right-CpbCIUFo.js +0 -1
- package/dist/web/assets/chevron-up-BD8jg0bQ.js +0 -1
- package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
- package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
- package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
- package/dist/web/assets/cloud-upload-4lP-5zmp.js +0 -1
- package/dist/web/assets/common-BMjyKlX-.js +0 -1
- package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
- package/dist/web/assets/copy-DRnATDDY.js +0 -1
- package/dist/web/assets/create-pipeline-CyUZrbbO.js +0 -1
- package/dist/web/assets/createLucideIcon-CmkSm39S.js +0 -1
- package/dist/web/assets/external-link-D_nBEDFO.js +0 -1
- package/dist/web/assets/folder-open-tD5Lle1M.js +0 -1
- package/dist/web/assets/folder-plus-DlZ4hM48.js +0 -1
- package/dist/web/assets/git-commit-horizontal-g8KBhvfr.js +0 -1
- package/dist/web/assets/icons-B8_Rkg-l.js +0 -1
- package/dist/web/assets/image-CUZMnZYi.js +0 -1
- package/dist/web/assets/info-SmuBZiE5.js +0 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
- package/dist/web/assets/loader-circle-D_KVxLLz.js +0 -1
- package/dist/web/assets/maximize-2-B8HN3jsA.js +0 -1
- package/dist/web/assets/message-square-CrDvzn66.js +0 -1
- package/dist/web/assets/models-route-CWcJuOd0.js +0 -1
- package/dist/web/assets/monitor-CW-M_aaj.js +0 -1
- package/dist/web/assets/paperclip-DL449Io5.js +0 -1
- package/dist/web/assets/play-DYLqBrwg.js +0 -1
- package/dist/web/assets/plus-DXZIpQuY.js +0 -1
- package/dist/web/assets/presentation-CupIXaYv.js +0 -1
- package/dist/web/assets/refresh-cw-CzVf5_oo.js +0 -1
- package/dist/web/assets/reward-checks-Bcq9ETCA.js +0 -7
- package/dist/web/assets/save-DatjrYPV.js +0 -1
- package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
- package/dist/web/assets/settings-D7C-Auyi.js +0 -21
- package/dist/web/assets/settings-lists-D2ol3uNK.js +0 -5
- package/dist/web/assets/square-BWB1nbZF.js +0 -1
- package/dist/web/assets/square-terminal-Buj-s-fz.js +0 -1
- package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
- package/dist/web/assets/upload-DaFVH6R1.js +0 -1
- package/dist/web/assets/useQuery-yUz7Ui8g.js +0 -1
- package/dist/web/assets/wifi-off-CtNwnIJc.js +0 -1
- package/dist/web/assets/work-outputs-CK0nHe4g.js +0 -1
- package/dist/web/assets/x-Bhl-4Zlt.js +0 -1
- /package/dist/chunks/{chunk-SFR32TMJ.js → chunk-JXLDEYRW.js} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-B6XX_0h3.js";import{m as r,p as i,r as a,v as o}from"./schemas-Brv9Vmnk.js";import{i as s,n as c}from"./api-client-DJRVOFzS.js";import"./icons-Bk2b68aC.js";import{t as l}from"./maximize-2-CByk9-zN.js";import{F as u,Gt as d,M as f,N as p,Wt as m,dn as h,j as g}from"./App-CCuh99JW.js";import{Ft as _,Pt as v}from"./MainPane-CQQxSDPS.js";var y=e(t(),1);a([`page`,`node`]);var b=r({x:i().finite().nonnegative(),y:i().finite().nonnegative(),width:i().finite().positive().max(16e3),height:i().finite().positive().max(16e3)}).refine(e=>e.width*e.height<=4e7,`The snapshot is too large.`),x=r({rect:b,selector:o().max(500),html:o().max(6291456).optional(),source:o().max(64e3).optional()});function S(e,t){let n=!1,r=null,i=null;function a(e){return`${e.tagName.toLowerCase()}${e.id?`#${e.id}`:``}${[...e.classList].slice(0,3).map(e=>`.${e}`).join(``)}`.slice(0,500)}function o(e,t,n){let r=e instanceof SVGElement&&e.tagName.toLowerCase()!==`svg`?e.ownerSVGElement:null;for(;r?.ownerSVGElement;)r=r.ownerSVGElement;let i=r??e,a=i.cloneNode(!0),o=[i,...i.querySelectorAll(`*`)],s=[a,...a.querySelectorAll(`*`)];for(let e=0;e<o.length;e++){let t=o[e],n=s[e];if([`SCRIPT`,`IFRAME`,`OBJECT`,`EMBED`,`LINK`,`META`].includes(n.tagName)){n.remove();continue}let r=[...n.attributes];for(let e of r)/^on/i.test(e.name)&&n.removeAttribute(e.name);if(n instanceof HTMLElement||n instanceof SVGElement){let e=getComputedStyle(t);n.style.cssText=[...e].map(t=>`${t}:${e.getPropertyValue(t).replace(/url\((["']?)(.*?)\1\)/g,(e,t,n)=>{let r=n.indexOf(`#`);return r>0&&[document.baseURI.split(`#`)[0],document.URL.split(`#`)[0]].includes(n.slice(0,r))?`url("#${n.slice(r+1)}")`:e})};`).join(``),n.style.setProperty(`animation`,`none`),n.style.setProperty(`transition`,`none`)}if(t instanceof HTMLInputElement&&(n.setAttribute(`value`,t.value),t.checked?n.setAttribute(`checked`,``):n.removeAttribute(`checked`)),t instanceof HTMLTextAreaElement&&(n.textContent=t.value),t instanceof HTMLOptionElement&&(t.selected?n.setAttribute(`selected`,``):n.removeAttribute(`selected`)),t instanceof HTMLCanvasElement){let e=document.createElement(`img`);e.src=t.toDataURL(`image/png`),e.style.cssText=n.style.cssText,t===i?a=e:n.replaceWith(e)}if(t.shadowRoot)throw Error(`This element has a shadow root. Capture it from a native browser tab.`)}a.style.setProperty(`margin`,`0`),a.style.setProperty(`position`,`relative`),a.style.setProperty(`inset`,`auto`),a.style.setProperty(`width`,`${t}px`),a.style.setProperty(`max-width`,`none`);let c=document.createElement(`div`);c.style.width=`${t}px`,c.style.height=`${n}px`;for(let t=e;t;t=t.parentElement){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`){c.style.backgroundColor=e;break}}if(r){let n=r.getBoundingClientRect(),i=e.getBoundingClientRect();Object.assign(c.style,{position:`relative`,overflow:`hidden`,width:`${t}px`,height:`${Math.ceil(i.height)}px`}),Object.assign(a.style,{position:`absolute`,left:`${n.left-i.left}px`,top:`${n.top-i.top}px`,width:`${n.width}px`,height:`${n.height}px`})}return c.append(a),c.outerHTML}function s(n,r){try{let i=n.getBoundingClientRect(),s=r?Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth):Math.ceil(i.width),c=r?Math.max(document.documentElement.scrollHeight,document.body.scrollHeight):Math.ceil(i.height);if(!s||!c)throw Error(`The selected element has no visible area.`);e({capture:{rect:{x:r?0:Math.max(0,i.left+scrollX),y:r?0:Math.max(0,i.top+scrollY),width:s,height:c},selector:r?`Full page`:a(n),source:n.outerHTML.slice(0,64e3),...t?{html:o(n,s,c)}:{}}})}catch(t){e({error:t instanceof Error?t.message:String(t)})}}function c(){n=!1,r=null,i?.remove(),i=null,document.removeEventListener(`pointermove`,l,!0),document.removeEventListener(`click`,u,!0),document.removeEventListener(`keydown`,f,!0),window.removeEventListener(`click`,u,!0);for(let e of[`pointerdown`,`pointerup`,`mousedown`,`mouseup`])window.removeEventListener(e,d,!0)}function l(e){if(!n||(r=e.composedPath().find(e=>e instanceof Element&&e!==i)??null,!r||!i))return;let t=r.getBoundingClientRect();Object.assign(i.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}),i.textContent=`${a(r)} · ${Math.ceil(t.width)} × ${Math.ceil(t.height)}`}function u(e){if(!n||!e.isTrusted)return;e.preventDefault(),e.stopImmediatePropagation();let t=e.composedPath().find(e=>e instanceof Element&&e!==i);c(),t&&s(t,!1)}function d(e){n&&(e.preventDefault(),e.stopImmediatePropagation())}function f(t){t.key===`Escape`&&t.isTrusted&&(t.preventDefault(),t.stopImmediatePropagation(),c(),e({canceled:!0}))}return{page(){c(),s(document.body,!0)},start(){c(),n=!0,i=document.createElement(`div`),i.setAttribute(`data-openpond-snapshot-overlay`,``),i.style.cssText=`position:fixed;pointer-events:none;z-index:2147483647;box-sizing:border-box;border:2px solid var(--blue,Highlight);background:transparent;color:var(--text,CanvasText);font:12px/1.3 monospace;text-shadow:0 0 3px var(--bg,Canvas);overflow:visible;`,document.documentElement.append(i),document.addEventListener(`pointermove`,l,!0),window.addEventListener(`click`,u,!0);for(let e of[`pointerdown`,`pointerup`,`mousedown`,`mouseup`])window.addEventListener(e,d,!0);document.addEventListener(`keydown`,f,!0)},cancel(){c(),e({canceled:!0})},dispose:c}}function C(){return`(${S.toString()})`}var w=`default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src 'none'; child-src 'none'; worker-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'`,T=e=>JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`),E=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`);function ee(e,t,n=f){let r=`(() => {
|
|
2
2
|
const style = document.getElementById('openpond-theme');
|
|
3
|
-
const keys = ${
|
|
3
|
+
const keys = ${T(Object.keys(f))};
|
|
4
4
|
function theme(values) { if (!values || typeof values !== 'object') return;
|
|
5
5
|
style.textContent = ':root{' + keys.map(k => k+':'+String(values[k]||'').replace(/[;{}<>]/g,'')+';').join('') + '}'; }
|
|
6
|
-
theme(${
|
|
6
|
+
theme(${T(n)});
|
|
7
7
|
addEventListener('message', e => { if(e.source === parent && e.data?.type === 'openpond-theme') theme(e.data.theme); });
|
|
8
|
-
const send = data => parent.postMessage({ ...data, identity: ${
|
|
8
|
+
const send = data => parent.postMessage({ ...data, identity: ${T(t)} }, '*');
|
|
9
9
|
const resourceToken=Array.from(crypto.getRandomValues(new Uint32Array(4))).join('-');
|
|
10
10
|
send({type:'openpond-resource-ready',resourceToken});
|
|
11
11
|
let snapshotRequest=null;
|
|
12
|
-
const inspector=${
|
|
12
|
+
const inspector=${C()}(result=>{
|
|
13
13
|
if(!snapshotRequest)return;
|
|
14
14
|
send({type:'openpond-snapshot-result',resourceToken,requestId:snapshotRequest,...result});
|
|
15
15
|
snapshotRequest=null;
|
|
@@ -57,8 +57,8 @@ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./i
|
|
|
57
57
|
addEventListener('securitypolicyviolation', e => log('error',['Blocked resource: '+e.violatedDirective+' ('+e.blockedURI+')']));
|
|
58
58
|
// Links are informational inside a self-contained visual, never navigation.
|
|
59
59
|
document.addEventListener('click', e => { if(e.composedPath().some(n=>n?.tagName==='A'))e.preventDefault(); }, true);
|
|
60
|
-
})();`,i=`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${
|
|
61
|
-
const frame=document.querySelector('iframe'); const identity=${
|
|
60
|
+
})();`,i=`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${E(w)}"><meta name="viewport" content="width=device-width,initial-scale=1"><style id="openpond-theme"></style><style>html,body{color-scheme:var(--color-scheme);margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font-web)}body{display:flow-root;overflow-wrap:anywhere}*{box-sizing:border-box}img,svg,canvas{max-width:100%}button,input,select{font:inherit}button{cursor:pointer}html{scrollbar-width:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}</style><script>${r}<\/script></head><body>${e}</body></html>`;return`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${E(w)}"><meta name="viewport" content="width=device-width,initial-scale=1"><style>html,body{margin:0;background:transparent}iframe{display:block;border:0;width:100%;height:80px;color-scheme:normal}</style></head><body><iframe title="Interactive visual" sandbox="allow-scripts" referrerpolicy="no-referrer" allow="camera 'none'; microphone 'none'; geolocation 'none'; clipboard-read 'none'; clipboard-write 'none'"></iframe><script>(()=>{
|
|
61
|
+
const frame=document.querySelector('iframe'); const identity=${T(t)};
|
|
62
62
|
let resourceToken=null;
|
|
63
63
|
const state=window.__openpondVisual={height:80,console:[],ready:false};
|
|
64
64
|
addEventListener('message', e=>{
|
|
@@ -73,9 +73,9 @@ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./i
|
|
|
73
73
|
if(d.type==='openpond-snapshot-ready' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-snapshot-ready',identity,requestId:d.requestId},'*');
|
|
74
74
|
if(d.type==='openpond-console' && state.console.length<40 && ['log','warn','error'].includes(d.level) && typeof d.text==='string')state.console.push({level:d.level,text:d.text.slice(0,2000)});
|
|
75
75
|
if(d.type==='openpond-size' && Number.isFinite(d.height)){
|
|
76
|
-
const height=Math.max(80,Math.min(${
|
|
76
|
+
const height=Math.max(80,Math.min(${g},Math.ceil(d.height)));state.height=height;if(d.ready===true)state.ready=true;
|
|
77
77
|
frame.style.height=state.height+'px';if(parent!==window)parent.postMessage({type:'openpond-visual-size',identity,height:state.height,ready:state.ready},'*');
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
|
-
frame.srcdoc=${
|
|
81
|
-
})();<\/script></body></html>`}function D(e,t,n,r){let i=(0,
|
|
80
|
+
frame.srcdoc=${T(i)};
|
|
81
|
+
})();<\/script></body></html>`}function D(e,t,n,r){let i=(0,y.useRef)(n);i.current=n;let a=(0,y.useRef)(null),o=(0,y.useCallback)(()=>{let n=a.current;n&&(a.current=null,clearTimeout(n.timeout),e.current?.contentWindow?.postMessage({type:`openpond-snapshot-command`,identity:t,requestId:n.id,action:`cancel`},`*`),n.reject(new DOMException(`Snapshot canceled.`,`AbortError`)))},[e,t]);return(0,y.useEffect)(()=>o,[o]),(0,y.useImperativeHandle)(r,()=>({cancel:o,capture:n=>!i.current||!e.current?.contentWindow?Promise.reject(Error(`Wait for the HTML page to finish loading.`)):(o(),new Promise((r,i)=>{let s=crypto.randomUUID();n===`node`&&e.current.focus(),a.current={id:s,resolve:r,reject:i,timeout:setTimeout(o,n===`node`?12e4:15e3)},e.current.contentWindow.postMessage({type:`openpond-snapshot-command`,identity:t,requestId:s,action:n},`*`)}))}),[o,e,t]),(0,y.useCallback)(e=>{let t=a.current;if(!t||t.id!==e.requestId)return;if(e.canceled){o();return}a.current=null,clearTimeout(t.timeout);let n=x.safeParse(e.capture);e.error||!n.success||!n.data.html?t.reject(Error(e.error??`The HTML snapshot could not be captured.`)):t.resolve(n.data)},[o])}var O=n();function k(){let e=getComputedStyle(document.querySelector(`.app-shell`)??document.documentElement);return Object.fromEntries(Object.entries(f).map(([t,n])=>[t,t===`--color-scheme`?document.documentElement.dataset.theme??`dark`:e.getPropertyValue(p[t]??t).trim()||n]))}function A({visual:e,connection:t,expanded:n=!1,snapshotRef:r}){let i=(0,y.useContext)(v),a=(0,y.useContext)(_),o=(0,y.useRef)(!1),f=(0,y.useRef)(null),p=(0,y.useRef)(null),[b,x]=(0,y.useState)(!1),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(null),E=(0,y.useRef)(null),A=(0,y.useRef)(null),[j,M]=(0,y.useState)(null),[N,P]=(0,y.useState)(null),[F,I]=(0,y.useState)(null),[L,R]=(0,y.useState)(0),[z,B]=(0,y.useState)(n),[V,H]=(0,y.useState)(!1),[U,W]=(0,y.useState)(e.heights[0]?.height??320),G=`${e.publicationId}:${n?`expanded`:`inline`}:${L}`,K=D(A,G,V,r),q=`/v1/sessions/${encodeURIComponent(e.sessionId)}/visuals/${e.publicationId}`,J=t?.serverUrl,Y=t?.token,X=t?.platform,Z=!!(j&&/data-openpond-resource-(?:id|table)/.test(j));(0,y.useEffect)(()=>{let e=E.current;if(!e||z||n)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&B(!0)},{rootMargin:`160px`});return t.observe(e),()=>t.disconnect()},[n,z]),(0,y.useEffect)(()=>{if(!J||!Y||!(z||n))return;let e=new AbortController,t=null;return M(null),I(null),P(null),Promise.all([c({serverUrl:J,token:Y,platform:X??`web`},`${q}/document`,{signal:e.signal}),s({serverUrl:J,token:Y},`${q}/preview`,{signal:e.signal}).then(e=>{if(!e.ok)throw Error(`Preview unavailable`);return e.blob()})]).then(([n,r])=>{e.signal.aborted||(M(n.html),t=URL.createObjectURL(r),P(t))}).catch(t=>{e.signal.aborted||I(t instanceof Error?t.message:`Visual unavailable`)}),()=>{e.abort(),t&&URL.revokeObjectURL(t)}},[J,Y,X,q,L,z,n]),(0,y.useEffect)(()=>{if(!t||!(z||n)||!j?.includes(`data-openpond-resource-id`))return;let r=new AbortController;return m(t,`dataset`,{action:`context`,payload:{sessionId:e.sessionId}},r.signal).then(t=>{let n=Object.entries(t.focus.scopeContext?.selectionOperations??{}).filter(([,t])=>t.visualPublicationId===e.publicationId&&t.resource).sort((e,t)=>t[1].version-e[1].version)[0];if(!r.signal.aborted&&n&&!o.current){let e=n[1].resource;p.current={key:`${e.kind}:${e.id}:${e.revision}`,id:n[0]},T(`Selected ${e.kind}: ${e.name}${e.kind===`dataset`?` V${e.revision}`:``}.`)}}).catch(()=>{}),()=>r.abort()},[t,e.sessionId,e.publicationId,z,n,j]);async function Q(t){if(!a||o.current)return;o.current=!0,x(!0),C(null);let n=`${t.kind}:${t.id}:${t.revision}`;p.current?.key!==n&&(p.current={key:n,id:`visual-select-${crypto.randomUUID()}`});try{T(await a(e,t,p.current.id))}catch(e){C(e instanceof Error?e.message:`Resource selection failed.`)}finally{o.current=!1,x(!1)}}f.current=Q;let $=(0,y.useMemo)(()=>j===null?void 0:ee(j,G,k()),[j,G]);return(0,y.useEffect)(()=>{if(H(!1),!$)return;let e=setTimeout(()=>I(`The visual did not finish loading.`),8e3),t=t=>{let n=t.data;if(t.source===A.current?.contentWindow&&n?.identity===G){if(n.type===`openpond-visual-snapshot`)K(n);else if(n.type===`openpond-visual-resource-select`){let e=u.safeParse(n.resource);e.success&&f.current?.(e.data)}else n.type===`openpond-visual-interaction`?E.current?.dispatchEvent(new Event(`openpond-visual-interaction`,{bubbles:!0})):n.type===`openpond-visual-size`&&Number.isFinite(n.height)&&(n.ready===!0&&(clearTimeout(e),H(!0)),W(Math.max(80,Math.min(g,Math.ceil(n.height)))))}},n=()=>A.current?.contentWindow?.postMessage({type:`openpond-theme`,identity:G,theme:k()},`*`);window.addEventListener(`message`,t);let r=new MutationObserver(n),i=[document.documentElement,document.querySelector(`.app-shell`)].filter(e=>e!==null);for(let e of i)r.observe(e,{attributes:!0,attributeFilter:[`class`,`style`,`data-theme`]});let a=matchMedia(`(prefers-color-scheme: dark)`);return a.addEventListener(`change`,n),()=>{clearTimeout(e),r.disconnect(),window.removeEventListener(`message`,t),a.removeEventListener(`change`,n)}},[G,$,K]),(0,O.jsxs)(`div`,{className:`html-visual`,ref:E,"data-visual-id":e.visualId,"data-publication-id":e.publicationId,children:[Z?null:(0,O.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,O.jsxs)(`span`,{children:[e.output.title,e.output.revision>1?` · Revision ${e.output.revision}`:``]}),(0,O.jsx)(`button`,{type:`button`,disabled:j===null,onClick:()=>{if(j===null)return;let t=URL.createObjectURL(new Blob([j],{type:`text/html;charset=utf-8`})),n=document.createElement(`a`);n.href=t,n.download=`${e.output.title}.html`,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)},title:`Download HTML`,"aria-label":`Download HTML`,children:(0,O.jsx)(h,{size:15,"aria-hidden":!0})}),!n&&i?(0,O.jsx)(`button`,{type:`button`,onClick:()=>i(e),title:`Open in browser panel`,"aria-label":`Expand visual`,children:(0,O.jsx)(l,{size:15,"aria-hidden":!0})}):null]}),w?(0,O.jsxs)(`div`,{className:`html-visual-selection-receipt`,children:[(0,O.jsx)(`span`,{children:w}),(0,O.jsx)(`button`,{type:`button`,onClick:()=>{T(null),C(null),p.current=null},children:`Change`})]}):null,b?(0,O.jsx)(`p`,{role:`status`,className:`html-visual-status`,children:`Selecting resource…`}):null,S?(0,O.jsx)(d,{error:S}):null,(0,O.jsx)(`div`,{className:`html-visual-content`,style:{minHeight:U},hidden:w!==null,children:t?F?(0,O.jsx)(d,{error:F,children:(0,O.jsx)(`button`,{type:`button`,onClick:()=>R(e=>e+1),children:`Retry`})}):(0,O.jsxs)(O.Fragment,{children:[$?(0,O.jsx)(`iframe`,{ref:A,title:e.output.title,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,allow:`camera 'none'; microphone 'none'; geolocation 'none'; clipboard-read 'none'; clipboard-write 'none'`,srcDoc:$,style:{height:U,opacity:+!!V}}):null,V?null:(0,O.jsx)(`div`,{className:`html-visual-placeholder`,children:N?(0,O.jsx)(`img`,{src:N,alt:`Saved preview of ${e.output.title}`,style:{maxHeight:U}}):(0,O.jsx)(`p`,{className:`html-visual-status`,role:`status`,children:`Loading visual…`})})]}):(0,O.jsx)(`p`,{className:`html-visual-status`,children:`Connect to view this visual.`})}),U===2400?(0,O.jsx)(`p`,{className:`html-visual-status`,children:`This visual reaches the height limit. Scroll inside it to see more.`}):null]})}export{A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-B6XX_0h3.js";import{t as r}from"./useQuery-D2MQ7e5U.js";import{C as i,O as a,_ as o,a as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,o as g,p as _,r as v,s as y,v as b,w as ee}from"./LabModelWorkspace-u2Ulm_z4.js";import{t as x}from"./query-scope-BRpcgljO.js";import"./icons-Bk2b68aC.js";import{c as S,l as te,n as C,o as w,r as T,t as ne}from"./training-model-data-CIysl8wH.js";import{t as E}from"./chevron-down-DX1hzujj.js";import{t as D}from"./chevron-right-DHN0y3KC.js";import{t as re}from"./loader-circle-y-SSPwpk.js";import{Fn as O,Gt as k,Tn as A,gn as j,rn as ie}from"./App-CCuh99JW.js";import{t as ae}from"./ModelProjectPageHeader-Dge19aE1.js";import{lt as oe}from"./MainPane-CQQxSDPS.js";import{t as se}from"./LabsRoute-CbztQaEf.js";function ce(e){if(!e)return[];let t=e.recipe;return t.method===`grpo`?[{label:`LoRA rank`,value:String(t.lora.rank)},{label:`Learning rate`,value:M(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:M(t.optimizer.learningRate)},{label:`Optimizer steps`,value:String(t.optimizer.maxSteps)}]:[]}function le(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`}];let n=e.modelVersions.find(e=>e.id===t.parent.id);return[{label:`Starting checkpoint`,value:[e.comparisonSeriesEntries.find(e=>e.seriesId===t.seriesId&&e.modelVersionId===t.parent.id)?.label??null,n?`Version ${n.version}`:t.parent.id].filter(e=>!!e).join(` · `)},{label:`Optimizer`,value:`Fresh`}]}function ue(e,t){if(!e||!t||t.parent.kind===`base_model`)return`Frozen base`;let n=e.comparisonSeriesEntries.find(e=>e.seriesId===t.seriesId&&e.modelVersionId===t.parent.id),r=e.modelVersions.find(e=>e.id===t.parent.id);return[n?.label??`Prior checkpoint`,r?`Version ${r.version}`:null].filter(e=>!!e).join(` · `)}function M(e){return e===0?`0`:e.toExponential(2)}var N=e(t(),1),P=n();function de({events:e}){let t=e.filter(e=>e.type===`metric`&&e.payload.metricKind===`rollout_trajectory`);return t.length?(0,P.jsx)(`div`,{className:`training-rollout-receipts`,children:t.map((e,t)=>{let n=e.payload.rewardEligible===!0,r=I(e.payload.reward),i=typeof e.payload.failureClass==`string`?e.payload.failureClass:null,a=typeof e.payload.failureCode==`string`?e.payload.failureCode:null;return(0,P.jsxs)(`details`,{children:[(0,P.jsxs)(`summary`,{children:[(0,P.jsxs)(`span`,{children:[`Attempt `,t+1]}),(0,P.jsx)(`strong`,{children:n?`eligible`:`ineligible`}),(0,P.jsx)(`em`,{children:n&&r!=null?r.toFixed(3):a??i??`not reward eligible`})]}),(0,P.jsxs)(`dl`,{className:`training-configuration-list`,children:[(0,P.jsx)(F,{label:`Rollout`,value:L(e.payload.rolloutId)}),(0,P.jsx)(F,{label:`Group`,value:L(e.payload.rolloutGroupId)}),(0,P.jsx)(F,{label:`Policy`,value:`v${I(e.payload.policyVersion)??0}`}),(0,P.jsx)(F,{label:`Worker`,value:String((I(e.payload.workerSlot)??0)+1)}),(0,P.jsx)(F,{label:`Reward`,value:r==null?`Not eligible`:String(r)}),(0,P.jsx)(F,{label:`Failure class`,value:i??`None`}),(0,P.jsx)(F,{label:`Failure code`,value:a??`None`}),(0,P.jsx)(F,{label:`Components`,value:JSON.stringify(e.payload.rewardComponents??{})}),(0,P.jsx)(F,{label:`Tokens`,value:`${I(e.payload.inputTokens)??0} input · ${I(e.payload.outputTokens)??0} output`})]})]},e.id)})}):(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:`No managed attempts were recorded for this run.`})}function fe({receipts:e}){let[t,n]=(0,N.useState)(!1);if(!e.length)return(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:`No on-policy rollout receipts were recorded for this run.`});let r=[...e].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)),i=t?r:r.slice(0,24);return(0,P.jsxs)(`div`,{className:`training-rollout-receipts`,children:[e.length>24?(0,P.jsxs)(`div`,{className:`training-rollout-receipt-controls`,children:[(0,P.jsx)(`span`,{children:t?`Showing all ${e.length} receipts`:`Showing latest ${i.length} of ${e.length} receipts`}),(0,P.jsx)(`button`,{className:`training-text-button`,type:`button`,onClick:()=>n(e=>!e),children:t?`Show latest 24`:`Show all ${e.length}`})]}):null,i.map(e=>(0,P.jsxs)(`details`,{children:[(0,P.jsxs)(`summary`,{children:[(0,P.jsx)(`span`,{children:pe(e.providerTrace.rolloutId)}),(0,P.jsx)(`strong`,{children:e.status}),(0,P.jsx)(`em`,{children:e.reward.eligible&&e.reward.raw!=null?e.reward.raw.toFixed(3):e.failureClass??`not reward eligible`})]}),(0,P.jsxs)(`dl`,{className:`training-configuration-list`,children:[(0,P.jsx)(F,{label:`Correlation`,value:e.correlationId}),(0,P.jsx)(F,{label:`Task`,value:e.taskId}),(0,P.jsx)(F,{label:`Policy`,value:e.policy.modelId}),(0,P.jsx)(F,{label:`Checkpoint`,value:e.policy.checkpointId??`Provider initial policy`}),(0,P.jsx)(F,{label:`Environment`,value:`${e.environment.id}@${e.environment.version}`}),(0,P.jsx)(F,{label:`World`,value:`${e.environment.worldId} · ${e.environment.worldHash}`}),(0,P.jsx)(F,{label:`Raw reward`,value:e.reward.raw==null?`Not eligible`:String(e.reward.raw)}),(0,P.jsx)(F,{label:`Components`,value:JSON.stringify(e.reward.components)}),(0,P.jsx)(F,{label:`Outcome`,value:e.verifier?.outcome??e.failureClass??`Pending`}),(0,P.jsx)(F,{label:`Trace`,value:`${e.providerTrace.experimentId}/${e.providerTrace.rolloutId}`})]})]},e.id))]})}function F({label:e,value:t}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`dt`,{children:e}),(0,P.jsx)(`dd`,{children:t})]})}function I(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function L(e){return typeof e==`string`&&e?e:`Not recorded`}function pe(e){return e.replace(/^lineage_/,``).slice(0,18)}function me({detail:e,loading:t,pending:n=!1}){if(t&&!e)return(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:`Loading evaluation results…`});let r=e?.evaluation;return r?(0,P.jsxs)(`div`,{className:`training-run-evaluation`,children:[(0,P.jsxs)(`div`,{className:`training-metric-summary`,children:[(0,P.jsx)(R,{label:`Base score`,value:ge(r.base.meanScore)}),(0,P.jsx)(R,{label:`Trained score`,value:ge(r.trained.meanScore)}),(0,P.jsx)(R,{label:`Score change`,value:_e(r.meanScoreDelta)}),(0,P.jsx)(R,{label:`Trained pass rate`,value:z(r.trained.passRate)})]}),r.base.count===0?(0,P.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?(0,P.jsx)(`p`,{className:`training-muted`,children:`Outputs were captured, but the grader was unavailable, so this run has no evaluation score.`}):null,(0,P.jsx)(`div`,{className:`training-table-wrap`,children:(0,P.jsxs)(`table`,{className:`training-data-table training-evaluation-table`,children:[(0,P.jsx)(`thead`,{children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{children:`Test example`}),(0,P.jsx)(`th`,{children:`Base`}),(0,P.jsx)(`th`,{children:`Trained`}),(0,P.jsx)(`th`,{children:`Result`})]})}),(0,P.jsx)(`tbody`,{children:r.examples.map(e=>(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`td`,{children:(0,P.jsxs)(`details`,{children:[(0,P.jsx)(`summary`,{children:e.taskId}),(0,P.jsx)(he,{input:e.input,baseOutput:e.baseOutput,trainedOutput:e.trainedOutput,baseGrade:e.baseGrade,trainedGrade:e.trainedGrade})]})}),(0,P.jsx)(`td`,{children:ve(e.baseGrade)}),(0,P.jsx)(`td`,{children:ve(e.trainedGrade)}),(0,P.jsx)(`td`,{children:ye(e.baseGrade,e.trainedGrade)})]},e.taskId))})]})})]}):(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:n?`Evaluation will appear here after the first eligible checkpoint is scored.`:`No scored evaluation results are available for this run.`})}function he({input:e,baseOutput:t,trainedOutput:n,baseGrade:r,trainedGrade:i}){let a=[...new Set([...r?.feedback??[],...i?.feedback??[]])];return(0,P.jsxs)(`div`,{className:`training-evaluation-output`,children:[(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Input`}),(0,P.jsx)(`pre`,{children:JSON.stringify(e,null,2)})]}),t?(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Base output`}),(0,P.jsx)(`pre`,{children:JSON.stringify(t,null,2)})]}):null,n?(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Trained output`}),(0,P.jsx)(`pre`,{children:JSON.stringify(n,null,2)})]}):null,a.length?(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Grader feedback`}),(0,P.jsx)(`p`,{children:a.join(` `)})]}):null]})}function R({label:e,value:t}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:e}),(0,P.jsx)(`strong`,{children:t})]})}function ge(e){return e==null?`Not recorded`:e.toFixed(3)}function z(e){return e==null?`Not recorded`:`${Math.round(e*100)}%`}function _e(e){return e==null?`Not comparable`:`${e>=0?`+`:``}${e.toFixed(3)}`}function ve(e){return e?.status===`unavailable`?`Unavailable`:e?.score==null?`Not scored`:e.score.toFixed(3)}function ye(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`;let n=t.score-e.score;return Math.abs(n)<5e-4?`No change`:n>0?`Improved ${n.toFixed(3)}`:`Regressed ${Math.abs(n).toFixed(3)}`}function be({connection:e,lineageId:t,jobId:n,onSaved:r}){let i=n??t,a=n?`jobs`:`models`,[o,s]=(0,N.useState)(null),[c,l]=(0,N.useState)(0),[u,d]=(0,N.useState)(!0),[f,p]=(0,N.useState)(!1),[m,h]=(0,N.useState)(!1),[g,_]=(0,N.useState)(null),[v,y]=(0,N.useState)(null),[b,ee]=(0,N.useState)(``),[x,S]=(0,N.useState)(null),[te,C]=(0,N.useState)([]),[w,T]=(0,N.useState)(!1);(0,N.useEffect)(()=>{if(!e){d(!1),p(!1),_(`Connect to OpenPond to review this candidate.`);return}let t=!0;return d(!0),p(!1),_(null),C([]),(async()=>{try{if(a===`models`){let n=await A.candidateReview(e,i);t&&n&&s(n)}let n=await A.candidateReview(e,i,!0,a);t&&(s(n),p(!!n))}catch(e){t&&_(xe(e))}finally{t&&d(!1)}})(),()=>{t=!1}},[e,i,a,c]);function ne(e){y(e),ee(``),S(null)}async function E(){if(!e||!o||!v||!b.trim())return;let t=x&&x.reason===b.trim()&&x.decision===v?x:{schemaVersion:`openpond.trainingCandidateDecisionRequest.v1`,...o.target,decision:v,reason:b.trim(),idempotencyKey:crypto.randomUUID(),expectedDecision:o.decision?{id:o.decision.id,contentHash:o.decision.contentHash}:null};S(t),h(!0),_(null);try{s(await A.recordCandidateReview(e,i,t,a)),y(null),S(null),C([]),await r()}catch(e){_(xe(e))}finally{h(!1)}}let D=(te.at(-1)??o?.decision)?.request.expectedDecision;async function re(){if(e&&D){T(!0),_(null);try{let t=await A.candidateReviewHistory(e,i,D,a);C(e=>[...e,t])}catch(e){_(xe(e))}finally{T(!1)}}}let O=o?.decision;return(0,P.jsxs)(`section`,{className:`training-run-evaluation`,"aria-label":`Candidate review`,children:[(0,P.jsx)(`h3`,{children:`Candidate review`}),O?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`strong`,{children:O.request.decision===`accepted`?`Accepted`:`Rejected`}),(0,P.jsx)(`p`,{children:O.request.reason}),(0,P.jsxs)(`p`,{className:`training-muted`,children:[`Review `,O.revision,` · `,new Date(O.decidedAt).toLocaleString()]})]}):(0,P.jsx)(`p`,{className:`training-muted`,children:u?`Loading candidate review…`:o?`No candidate decision recorded.`:`Candidate review unavailable.`}),o?(0,P.jsxs)(`p`,{className:`training-muted`,children:[`Last synced `,new Date(o.syncedAt).toLocaleString(),`. Acceptance keeps this candidate for later use; serving is activated separately.`]}):null,g?(0,P.jsx)(k,{error:g}):null,(0,P.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,disabled:u||m,onClick:()=>l(e=>e+1),children:`Refresh review`}),(0,P.jsx)(`button`,{className:`training-button`,type:`button`,disabled:!f||u||m||O?.request.decision===`accepted`,onClick:()=>ne(`accepted`),children:`Accept candidate`}),(0,P.jsx)(`button`,{className:`training-button danger`,type:`button`,disabled:!f||u||m||O?.request.decision===`rejected`,onClick:()=>ne(`rejected`),children:`Reject candidate`})]}),te.map(e=>(0,P.jsxs)(`details`,{className:`training-evidence`,children:[(0,P.jsxs)(`summary`,{children:[`Review `,e.revision,` · `,e.request.decision]}),(0,P.jsx)(`p`,{children:e.request.reason}),(0,P.jsx)(`p`,{children:new Date(e.decidedAt).toLocaleString()})]},e.id)),D?(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,disabled:w||m,onClick:()=>void re(),children:w?`Loading…`:`Earlier review`}):null,v?(0,P.jsx)(`div`,{className:`training-dialog-backdrop`,role:`presentation`,onMouseDown:()=>!m&&y(null),children:(0,P.jsxs)(`section`,{className:`training-dialog training-promotion-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Review candidate`,onMouseDown:e=>e.stopPropagation(),children:[(0,P.jsx)(`div`,{className:`training-dialog-header`,children:(0,P.jsx)(`h2`,{children:v===`accepted`?`Accept this candidate?`:`Reject this candidate?`})}),(0,P.jsx)(`p`,{children:`The adapter and its recorded evaluation remain in the candidate’s history.`}),(0,P.jsxs)(`label`,{className:`training-promotion-reason`,children:[(0,P.jsx)(`span`,{children:`Reason`}),(0,P.jsx)(`textarea`,{autoFocus:!0,maxLength:5e3,value:b,onChange:e=>ee(e.target.value)})]}),g?(0,P.jsx)(k,{error:g}):null,(0,P.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,disabled:m,onClick:()=>y(null),children:`Cancel`}),(0,P.jsx)(`button`,{className:`training-button ${v===`rejected`?`danger`:``}`,type:`button`,disabled:m||!b.trim(),onClick:()=>void E(),children:m?`Saving…`:x?`Retry save`:`Save decision`})]})]})}):null]})}function xe(e){return e instanceof Error?e.message:`Candidate review could not be loaded.`}function Se({connection:e,jobId:t,evaluations:n}){let[r,i]=(0,N.useState)(null),a=n.filter(e=>e.reference),o=a.find(e=>e.reference?.id===r)??a.filter(e=>e.kind===`candidate`).at(-1)??a[0];return!e||!o?.reference?null:(0,P.jsxs)(`section`,{className:`training-run-evaluation`,"aria-label":`Retained evaluation answers`,children:[(0,P.jsxs)(`label`,{className:`training-taskset-selector`,children:[(0,P.jsx)(`span`,{children:`Evaluation answers`}),(0,P.jsx)(`select`,{value:o.reference.id,onChange:e=>i(e.target.value),children:a.map(e=>(0,P.jsxs)(`option`,{value:e.reference.id,children:[e.kind===`baseline`?`Baseline`:`Candidate`,` · policy `,e.policyVersion]},e.reference.id))})]}),(0,P.jsx)(B,{connection:e,jobId:t,evaluation:o.reference},`${t}:${o.reference.id}:${o.reference.contentHash}`)]})}function B({connection:e,jobId:t,evaluation:n}){let[r,i]=(0,N.useState)(),[a,o]=(0,N.useState)([]),[s,c]=(0,N.useState)(null),[l,u]=(0,N.useState)(null),[d,f]=(0,N.useState)(!0),[p,m]=(0,N.useState)(0),{id:h,contentHash:g}=n;return(0,N.useEffect)(()=>{let n=!0;return f(!0),u(null),c(null),A.trainingEvaluationTasks(e,t,{id:h,contentHash:g},r).then(e=>{n&&c(e)}).catch(e=>{n&&u(e instanceof Error?e.message:String(e))}).finally(()=>{n&&f(!1)}),()=>{n=!1}},[e,t,h,g,r,p]),(0,P.jsxs)(`div`,{className:`training-run-evaluation`,"aria-busy":d,children:[d?(0,P.jsx)(`p`,{className:`training-muted`,children:`Loading recorded answers…`}):null,l?(0,P.jsx)(k,{error:l,children:(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,onClick:()=>m(e=>e+1),children:`Retry answers`})}):null,s?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`p`,{className:`training-muted`,children:[`Tasks `,s.offset+1,`–`,s.offset+s.tasks.length,` of`,` `,s.total,`. Recorded outputs and scores are retained for this run.`]}),s.tasks.map((e,t)=>(0,P.jsxs)(`details`,{className:`training-evidence`,children:[(0,P.jsxs)(`summary`,{children:[`Example `,s.offset+t+1,` · score `,e.score.toFixed(3)]}),(0,P.jsxs)(`div`,{className:`training-evaluation-output`,children:[(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Instruction`}),(0,P.jsx)(`pre`,{children:e.input.instruction})]}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Context`}),(0,P.jsx)(`pre`,{children:JSON.stringify(e.input.context,null,2)})]}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:`Recorded output`}),(0,P.jsx)(`pre`,{children:e.output})]})]})]},e.taskId))]}):null,(0,P.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,disabled:d||!a.length,onClick:()=>{i(a.at(-1)),o(e=>e.slice(0,-1))},children:`Previous tasks`}),(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,disabled:d||!s?.nextCursor,onClick:()=>{s?.nextCursor&&(o(e=>[...e,r]),i(s.nextCursor))},children:`Next tasks`})]})]})}var V=new Set([`queued`,`starting`,`running`,`cancelling`,`reconciling`]);function Ce(e,t,n,i=!1){let a=[`training-run-detail`,x(e),t,i],o=!!(e&&t),s=r({queryKey:[...a,`retained`],queryFn:({signal:n})=>A.trainingRunDetail(e,t,{includeEvaluation:i,refresh:!1,signal:n}),enabled:o,staleTime:3e4,gcTime:6e4}),c=r({queryKey:[...a,`hosted`],queryFn:({signal:n})=>A.trainingRunDetail(e,t,{includeEvaluation:i,signal:n}),enabled:o,staleTime:3e4,gcTime:6e4,refetchInterval:n&&V.has(n)?3e3:!1,refetchIntervalInBackground:!1}),l=c.data??s.data??null;return{detail:l,loading:o&&!l&&(s.isPending||c.isPending),error:c.error?.message??s.error?.message??null,refresh:async()=>(await c.refetch()).data??null}}function we({title:e,status:t,statusValue:n,versionStatus:r,method:i,baseModel:a,taskset:o,compute:s,duration:c,output:l,reward:u,telemetry:d,evidence:f,configuration:p,children:m,failure:h,onOpenTaskset:g,showHeader:_=!0}){let v=d?.cost.providerReportedUsd??d?.cost.estimatedUsd??f?.cost.totalUsd??null;return(0,P.jsxs)(`div`,{className:`labs-model-run-summary`,children:[_?(0,P.jsx)(`section`,{className:`labs-run-outcome-card`,children:(0,P.jsx)(`header`,{children:(0,P.jsxs)(`div`,{children:[(0,P.jsxs)(`div`,{className:`labs-run-title-row`,children:[(0,P.jsx)(`h2`,{children:e}),(0,P.jsx)(b,{label:t,value:n})]}),(0,P.jsxs)(`p`,{children:[Te(i),` on `,a]})]})})}):null,m,(0,P.jsxs)(`section`,{className:`labs-run-summary-card`,children:[(0,P.jsx)(`header`,{children:(0,P.jsx)(`h3`,{children:`Run setup`})}),(0,P.jsxs)(`dl`,{className:`labs-run-detail-list`,children:[(0,P.jsx)(H,{label:`Training method`,value:i}),(0,P.jsx)(H,{label:`Base model`,value:a}),(0,P.jsx)(H,{label:`Compute`,value:s}),(0,P.jsx)(H,{label:`Output`,value:l}),r?(0,P.jsx)(H,{label:`Version status`,value:r}):null,(0,P.jsx)(H,{label:`Duration`,value:c}),(0,P.jsx)(H,{label:`Run cost`,value:v===null?`Not reported`:`$${v.toFixed(4)}`}),(0,P.jsx)(H,{label:y(n)?`Latest reward`:`Final reward`,value:u===null?`Not reported`:u.toFixed(4)}),p.map(e=>(0,P.jsx)(H,{label:e.label,value:e.value},e.label)),d||f?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(U,{label:`GPU`,value:W(d,f)}),(0,P.jsx)(U,{label:`Tokens`,value:`${G(d?.usage.promptTokens??f?.usage.inputTokens??null)} prompt · ${G(d?.usage.generatedTokens??f?.usage.outputTokens??null)} generated`}),(0,P.jsx)(U,{label:`Trajectories`,value:`${G(d?.usage.successfulTrajectories??f?.reward.eligibleTrajectoryCount??null)} succeeded · ${G(d?.usage.failedTrajectories??(f?f.reward.trajectoryCount-f.reward.eligibleTrajectoryCount:null))} failed`}),(0,P.jsx)(U,{label:`Optimizer updates`,value:G(d?.usage.optimizerSteps??f?.progress.committedOptimizerSteps??null)}),(0,P.jsx)(U,{label:`GPU time`,value:d?.usage.gpuSeconds==null?`Not reported`:`${d.usage.gpuSeconds.toFixed(1)} seconds`})]}):(0,P.jsx)(H,{label:`Resource usage`,value:`Not retained for this run`}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`dt`,{children:`Taskset`}),(0,P.jsx)(`dd`,{children:g?(0,P.jsxs)(`button`,{className:`labs-run-taskset-link`,type:`button`,onClick:g,children:[(0,P.jsx)(`span`,{children:o}),(0,P.jsx)(D,{"aria-hidden":`true`,size:14})]}):o})]})]})]}),h?(0,P.jsx)(`p`,{className:`labs-training-error`,children:h}):null]})}function H({label:e,value:t}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`dt`,{children:e}),(0,P.jsx)(`dd`,{children:t})]})}function U({label:e,value:t}){return(0,P.jsx)(H,{label:e,value:t})}function W(e,t){let n=e?.resource.gpuCount??t?.resource.gpuCount??null,r=e?.resource.gpuType??t?.resource.gpuType??null;return n===null&&r===null?`Not reported`:`${n??`Unknown`} × ${r?Ee(r):`Unreported`}`}function G(e){return e===null?`Not reported`:e.toLocaleString()}function Te(e){return e===`RFT`?`Reinforcement fine-tuning`:`${e} training`}function Ee(e){return e.split(` · `).map(e=>e.replaceAll(`_`,` `).replace(/\b[a-z]/g,e=>e.toUpperCase())).join(` · `)}function K({receipt:e,onOpenConversation:t}){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`section`,{className:`labs-run-summary-card`,children:[(0,P.jsx)(`header`,{children:(0,P.jsx)(`h3`,{children:`Inconclusive benchmark`})}),(0,P.jsx)(`p`,{className:`training-run-placeholder`,children:e.reason}),(0,P.jsxs)(`dl`,{className:`labs-run-detail-list`,children:[(0,P.jsx)(X,{label:`Held-out baseline tokens`,value:e.usage.baseline.totalTokens.toLocaleString()}),(0,P.jsx)(X,{label:`Adaptation baseline tokens`,value:e.usage.adaptation.totalTokens.toLocaleString()}),(0,P.jsx)(X,{label:`Refiner tokens`,value:e.usage.refiner.totalTokens.toLocaleString()}),(0,P.jsx)(X,{label:`Grader tokens`,value:e.usage.grader.totalTokens.toLocaleString()}),(0,P.jsx)(X,{label:`Observed / maximum spend`,value:`$${e.budget.observedSpendUsd.toFixed(4)} / $${e.budget.maximumSpendUsd.toFixed(2)}`}),(0,P.jsx)(X,{label:`Harness candidate`,value:e.stopReason===`candidate_harness_unchanged`?`Unchanged`:`Lineage invalid`}),(0,P.jsx)(X,{label:`Completed attempts`,value:e.attempts.length.toLocaleString()}),(0,P.jsx)(X,{label:`Candidate attempts`,value:`Skipped`})]})]}),e.attempts.length?(0,P.jsx)(Y,{receipt:e,onOpenConversation:t}):null]})}function De({run:e}){let t=[`baseline`,`adaptation`,`refiner`,`candidate_adaptation`,`candidate`,`comparison`],n={baseline:`Baseline`,adaptation:`Adaptation`,refiner:`Refiner`,candidate_adaptation:`Sequential adaptation`,candidate:`Candidate`,comparison:`Comparison`},r=Math.max(0,t.indexOf(e.evaluationProgress?.stage??`baseline`)),i=e.evaluationProgress?.completedAttempts??0,a=e.evaluationProgress?.totalAttempts??1;return(0,P.jsxs)(`div`,{className:`labs-benchmark-progress`,children:[(0,P.jsxs)(`header`,{children:[(0,P.jsx)(`h3`,{children:`Benchmark progress`}),(0,P.jsxs)(`strong`,{children:[i,` of `,a,` attempts`]})]}),(0,P.jsx)(`div`,{className:`labs-benchmark-progress-track`,"aria-hidden":`true`,children:(0,P.jsx)(`span`,{style:{width:`${Math.min(100,i/a*100)}%`}})}),(0,P.jsx)(`ol`,{children:t.map((e,t)=>(0,P.jsxs)(`li`,{className:t<r?`complete`:t===r?`active`:void 0,children:[(0,P.jsx)(`span`,{}),n[e]]},e))})]})}function q({receipt:e}){let t=o(e),n=t.pairs.filter(e=>e.cohort===`held_out`),r=t.pairs.filter(e=>e.cohort===`adaptation`),i=e=>e.length?e.reduce((e,t)=>e+t,0)/e.length:0;return(0,P.jsxs)(`div`,{className:`labs-benchmark-attempt-charts`,children:[(0,P.jsx)(J,{title:`Held-out tokens by task`,baseline:n.map(e=>e.baseline.totalTokens),candidate:n.map(e=>e.refined.totalTokens),format:e=>Math.round(e).toLocaleString()}),(0,P.jsx)(J,{title:`Adaptation tokens by task`,baseline:r.map(e=>e.baseline.totalTokens),candidate:r.map(e=>e.refined.totalTokens),format:e=>Math.round(e).toLocaleString()}),(0,P.jsx)(J,{title:`Held-out quality by task`,baseline:n.map(e=>e.baseline.score),candidate:n.map(e=>e.refined.score),format:e=>e.toFixed(2),summarize:i}),(0,P.jsx)(J,{title:`Adaptation quality by task`,baseline:r.map(e=>e.baseline.score),candidate:r.map(e=>e.refined.score),format:e=>e.toFixed(2),summarize:i})]})}function Oe({receipt:e,run:t,tasksetName:n,onOpenTaskset:r}){let i=o(e),a=i.comparedTaskCount>0,s=i.passed,c=i.tokenDeltaPercent===null?`—`:`${i.tokenDeltaPercent>0?`+`:``}${i.tokenDeltaPercent.toFixed(2)}%`,l=e=>{let t=i.cohorts[e];return`${t.passedTaskCount}/${t.comparedTaskCount} passed`};return(0,P.jsxs)(`section`,{className:`labs-run-summary-card`,children:[(0,P.jsx)(`header`,{children:(0,P.jsx)(`h3`,{children:`Token efficiency`})}),a?(0,P.jsxs)(`div`,{className:`labs-benchmark-efficiency-summary`,children:[(0,P.jsxs)(`strong`,{children:[i.passedTaskCount,` of `,i.comparedTaskCount,` tasks passed`]}),(0,P.jsxs)(`p`,{children:[`A task passes only when its refined token count is strictly lower than its own baseline. `,i.failedTaskCount,` failed this token-efficiency test; aggregate usage changed by `,c,`.`]})]}):(0,P.jsx)(`p`,{className:`training-run-placeholder`,children:`Paired task-level token evidence is unavailable for this run.`}),(0,P.jsxs)(`dl`,{className:`labs-run-detail-list`,children:[(0,P.jsx)(X,{label:`Execution`,value:w(t.status)}),(0,P.jsx)(X,{label:`Token-efficiency result`,value:s?`Passed`:`Failed`}),(0,P.jsx)(X,{label:`Efficiency passes`,value:`${i.passedTaskCount}/${i.comparedTaskCount}`}),(0,P.jsx)(X,{label:`Efficiency failures`,value:`${i.failedTaskCount}/${i.comparedTaskCount}`}),(0,P.jsx)(X,{label:`All-task foreground tokens`,value:`${i.baselineTokens.toLocaleString()} → ${i.refinedTokens.toLocaleString()}`}),(0,P.jsx)(X,{label:`Aggregate token change`,value:c}),(0,P.jsx)(X,{label:`Adaptation replay`,value:l(`adaptation`)}),(0,P.jsx)(X,{label:`Held-out replay`,value:l(`held_out`)}),(0,P.jsx)(X,{label:`Task quality`,value:`${i.baselinePassedCount}/${i.comparedTaskCount} → ${i.refinedPassedCount}/${i.comparedTaskCount}`}),(0,P.jsx)(X,{label:`Result lineage`,value:e.lineage.valid?`Valid`:`Invalid`}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`dt`,{children:`Taskset`}),(0,P.jsx)(`dd`,{children:r?(0,P.jsx)(`button`,{className:`labs-run-taskset-link`,type:`button`,onClick:r,children:n}):n})]})]})]})}function J({title:e,baseline:t,candidate:n,format:r,summarize:i=e=>e.reduce((e,t)=>e+t,0)}){let a=t.filter(e=>e!==null),o=n.filter(e=>e!==null),s=Math.max(1,...a,...o),c=Math.max(2,t.length,n.length),l=e=>{let t=[],n=[];return e.forEach((e,r)=>{if(e===null){n.length&&t.push(n.join(` `)),n=[];return}let i=6+r/(c-1)*88,a=44-e/s*36;n.push(`${i},${a}`)}),n.length&&t.push(n.join(` `)),t},u=e=>e.flatMap((e,t)=>e===null?[]:[{x:6+t/(c-1)*88,y:44-e/s*36}]);return(0,P.jsxs)(`section`,{className:`labs-benchmark-line-chart`,children:[(0,P.jsxs)(`header`,{children:[(0,P.jsx)(`h4`,{children:e}),(0,P.jsxs)(`div`,{children:[(0,P.jsxs)(`span`,{children:[`Baseline `,r(i(a))]}),(0,P.jsxs)(`span`,{children:[`Refined `,r(i(o))]})]})]}),(0,P.jsxs)(`svg`,{"aria-label":e,role:`img`,viewBox:`0 0 100 50`,preserveAspectRatio:`none`,children:[(0,P.jsx)(`line`,{x1:`6`,x2:`94`,y1:`44`,y2:`44`}),l(t).map((e,t)=>(0,P.jsx)(`polyline`,{className:`baseline`,points:e},`baseline-${t}`)),l(n).map((e,t)=>(0,P.jsx)(`polyline`,{className:`candidate`,points:e},`candidate-${t}`)),u(t).map((e,t)=>(0,P.jsx)(`circle`,{className:`baseline`,cx:e.x,cy:e.y,r:`1`},`baseline-point-${t}`)),u(n).map((e,t)=>(0,P.jsx)(`circle`,{className:`candidate`,cx:e.x,cy:e.y,r:`1`},`candidate-point-${t}`))]})]})}function Y({receipt:e,onOpenConversation:t}){let n=e.schemaVersion===`openpond.modelEvaluationReceipt.v1`?d(e.attempts??[]):e.attempts??[];return(0,P.jsxs)(`section`,{className:`labs-run-summary-card`,children:[(0,P.jsx)(`header`,{children:(0,P.jsx)(`h3`,{children:e.schemaVersion===`openpond.modelEvaluationReceipt.v1`?`Selected task results`:`Completed attempts`})}),(0,P.jsx)(`div`,{className:`training-table-wrap`,children:(0,P.jsxs)(`table`,{className:`training-data-table labs-benchmark-attempt-table`,children:[(0,P.jsx)(`thead`,{children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{children:`Task`}),(0,P.jsx)(`th`,{children:`Phase`}),(0,P.jsx)(`th`,{children:`Result`}),(0,P.jsx)(`th`,{children:`Score`}),(0,P.jsx)(`th`,{children:`Tokens`}),(0,P.jsx)(`th`,{children:`Work chat`})]})}),(0,P.jsx)(`tbody`,{children:n.map(e=>(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`td`,{children:ke(e.taskId)}),(0,P.jsx)(`td`,{children:e.phase}),(0,P.jsx)(`td`,{children:(0,P.jsx)(b,{label:e.passed?`Passed`:`Failed`,value:e.passed?`succeeded`:`failed`})}),(0,P.jsx)(`td`,{children:e.score===null?`—`:e.score.toFixed(2)}),(0,P.jsx)(`td`,{children:e.totalTokens.toLocaleString()}),(0,P.jsx)(`td`,{children:e.sessionId?(0,P.jsx)(`button`,{className:`labs-run-taskset-link`,type:`button`,onClick:()=>t(e.sessionId),children:`Open chat`}):`Not retained`})]},`${e.phase}:${e.attemptId}`))})]})})]})}function ke(e){return e.replace(/^(?:adaptation|frozen)-/,``).replaceAll(`-`,` `).replace(/^./,e=>e.toUpperCase())}function X({label:e,value:t}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`dt`,{children:e}),(0,P.jsx)(`dd`,{children:t})]})}function Ae(e){let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(r===0?0:2)} ${t[r]}`}function je({error:e,events:t,loading:n,pending:r}){let[i,a]=(0,N.useState)(!1),[o,s]=(0,N.useState)({}),[c,l]=(0,N.useState)(!0),u=(0,N.useRef)(null),d=(0,N.useRef)(null),f=(0,N.useRef)(null),p=(0,N.useMemo)(()=>Me(t),[t]),m=(0,N.useMemo)(()=>t.filter(e=>o[Z(e)]??Ne(Z(e))),[t,o]),h=p.filter(e=>o[e.id]??Ne(e.id)).length,g=p.length>0&&h===p.length,_=h>0&&!g;return(0,N.useEffect)(()=>{f.current&&(f.current.indeterminate=_)},[_]),(0,N.useEffect)(()=>{if(!i)return;let e=e=>{d.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[i]),(0,N.useLayoutEffect)(()=>{let e=u.current;e&&c&&(e.scrollTop=e.scrollHeight)},[e,c,r,m]),n&&!t.length?(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:`Loading run events…`}):t.length?(0,P.jsxs)(`div`,{className:`training-event-log-shell`,children:[(0,P.jsxs)(`div`,{className:`training-event-log-toolbar`,children:[(0,P.jsx)(`div`,{children:(0,P.jsx)(`strong`,{children:`Activity log`})}),(0,P.jsxs)(`div`,{className:`training-event-filter`,ref:d,children:[(0,P.jsxs)(`button`,{"aria-expanded":i,"aria-haspopup":`menu`,className:`training-event-filter-trigger`,type:`button`,onClick:()=>a(e=>!e),children:[(0,P.jsx)(ie,{"aria-hidden":`true`,size:14}),`Event types`,(0,P.jsxs)(`span`,{children:[h,`/`,p.length]}),(0,P.jsx)(E,{"aria-hidden":`true`,size:13})]}),i?(0,P.jsxs)(`div`,{"aria-label":`Filter training activity by event type`,className:`training-event-filter-menu`,role:`menu`,children:[(0,P.jsxs)(`label`,{className:`training-event-filter-option select-all`,children:[(0,P.jsx)(`input`,{checked:g,ref:f,type:`checkbox`,onChange:e=>{let t=e.currentTarget.checked;s(Object.fromEntries(p.map(e=>[e.id,t])))}}),(0,P.jsx)(`span`,{className:`training-event-filter-check`,children:(0,P.jsx)(j,{"aria-hidden":`true`,size:12})}),`Select all`]}),(0,P.jsx)(`div`,{className:`training-event-filter-options`,children:p.map(e=>{let t=o[e.id]??Ne(e.id);return(0,P.jsxs)(`label`,{className:`training-event-filter-option`,children:[(0,P.jsx)(`input`,{checked:t,type:`checkbox`,onChange:t=>s(n=>({...n,[e.id]:t.currentTarget.checked}))}),(0,P.jsx)(`span`,{className:`training-event-filter-check`,children:(0,P.jsx)(j,{"aria-hidden":`true`,size:12})}),(0,P.jsx)(`span`,{children:e.label}),(0,P.jsx)(`small`,{children:e.count.toLocaleString()})]},e.id)})})]}):null]})]}),(0,P.jsxs)(`div`,{"aria-label":`Training activity log`,"aria-live":`polite`,className:`training-event-log`,ref:u,role:`log`,onScroll:e=>{let t=e.currentTarget,n=t.scrollHeight-t.scrollTop-t.clientHeight;l(n<=6)},children:[(0,P.jsxs)(`div`,{"aria-hidden":`true`,className:`training-event-log-header`,children:[(0,P.jsx)(`span`,{children:`Time`}),(0,P.jsx)(`span`,{children:`Event type`}),(0,P.jsx)(`span`,{children:`Details`})]}),m.map(e=>(0,P.jsxs)(`div`,{className:`training-event-log-line ${e.type}`,children:[(0,P.jsx)(`time`,{dateTime:e.timestamp,children:C(e.timestamp)}),(0,P.jsx)(`span`,{children:Pe(Z(e))}),(0,P.jsx)(`code`,{children:Fe(e)})]},e.id)),r&&!e?(0,P.jsxs)(`div`,{className:`training-event-log-loading`,role:`status`,children:[(0,P.jsx)(re,{"aria-hidden":`true`,className:`spin`,size:14}),(0,P.jsx)(`span`,{className:`sr-only`,children:`Waiting for new activity`})]}):null,m.length?null:(0,P.jsx)(`div`,{className:`training-event-log-empty`,children:`No events match the selected event types.`}),e?(0,P.jsxs)(`div`,{className:`training-event-log-line failure`,children:[(0,P.jsx)(`time`,{children:`—`}),(0,P.jsx)(`span`,{children:`Failure`}),(0,P.jsx)(`code`,{children:e})]}):null]})]}):(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:e??`No normalized run events were recorded.`})}function Z(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 Me(e){let t=new Map;for(let n of e){let e=Z(n);t.set(e,(t.get(e)??0)+1)}return[...t.entries()].map(([e,t])=>({id:e,count:t,label:Pe(e)})).sort((e,t)=>e.label.localeCompare(t.label))}function Ne(e){return e!==`metric`&&!e.endsWith(`_metric`)}function Pe(e){return e.replaceAll(`_`,` `).replace(/^./,e=>e.toUpperCase())}function Fe(e){let t=e.payload,n=ze(t.step),r=ze(t.maxSteps);if(typeof t.telemetryType==`string`){let e=typeof t.message==`string`?t.message:null,r=typeof t.errorCode==`string`?t.errorCode:null,i=typeof t.telemetrySource==`string`?` · ${t.telemetrySource}`:``;return`${e??t.telemetryType.replaceAll(`_`,` `)}${n==null?``:` · step ${n}`}${i}${r?` · ${r}`:``}`}if(typeof t.remoteEventType==`string`){let e=Ie(t.remoteEventType),r=typeof t.remotePhase==`string`?Le(t.remotePhase):null,i=typeof t.errorCode==`string`&&t.errorCode.trim()?t.errorCode.trim():null;return[e,r,n==null?null:`step ${n}`,i?`error ${i}`:null].filter(e=>!!e).join(` · `)}if(e.type===`start`)return typeof t.device==`string`?`Worker started on ${t.device}.`:`Worker started.`;if(e.type===`progress`&&n!=null)return r==null?`Step ${n}.`:`Step ${n} of ${r}.`;if(e.type===`metric`){let e=typeof t.metricKind==`string`?t.metricKind.replaceAll(`_`,` `):`metric`,r=[Q(`loss`,t.loss),Q(`reward`,t.meanReward??t.reward),Q(`policy loss`,t.policyLoss),Q(`value loss`,t.valueLoss),Q(`preference accuracy`,t.preferenceAccuracy,Be)].filter(e=>!!e),i=typeof t.failureClass==`string`?t.failureClass:null,a=typeof t.failureCode==`string`?t.failureCode:null,o=typeof t.metricId==`string`&&typeof t.value==`number`?` · ${t.metricId}: ${t.value.toPrecision(4)}`:``;return`${e}${n==null?``:` · step ${n}`}${o}${i?` · ${i}`:``}${a?` · ${a}`:``}${r.length?` · ${r.join(` · `)}`:``}`}if(e.type===`checkpoint`){let e=ze(t.policyVersion),n=ze(t.sizeBytes),r=[e==null?null:`policy ${e}`,n==null?null:Ae(n),t.final===!0?`final`:null].filter(e=>!!e);return r.length?`Checkpoint committed · ${r.join(` · `)}.`:`Checkpoint committed.`}if(e.type===`complete`){let e=ze(t.artifactCount);return e==null?`Worker completed.`:`Worker completed with ${e} artifacts.`}return e.type===`failure`&&typeof t.message==`string`?t.message:Object.keys(t).length?JSON.stringify(t):`Recorded.`}function Ie(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]??Re(e)}function Le(e){return{committed:`committed`,completed:`completed`,eligible:`recorded`,failed:`failed`,running:`running`,succeeded:`succeeded`}[e]??Re(e).toLocaleLowerCase()}function Re(e){return e.replaceAll(`_`,` `).replace(/^./,e=>e.toUpperCase())}function Q(e,t,n=e=>new Intl.NumberFormat(void 0,{maximumFractionDigits:4}).format(e)){let r=ze(t);return r==null?null:`${e} ${n(r)}`}function ze(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Be(e){return`${(e*100).toFixed(1)}%`}function Ve({connection:e,detailTab:t,onDetailTabChange:n,selectedEntryKey:r,workproduct:o,runs:d,training:f,onOpenDataset:b,onOpenConversation:x,detailKind:C}){let E=f.payload,[D,re]=(0,N.useState)(null),k=(0,N.useMemo)(()=>l(o,d,E),[d,E,o]),A=(0,N.useMemo)(()=>h(o,d,E),[d,E,o]),j=(0,N.useMemo)(()=>m(o,E),[E,o]),ie=(0,N.useMemo)(()=>u(o,d,E),[d,E,o]),se=(0,N.useMemo)(()=>new Map(ie.map(e=>[e.id,e])),[ie]),M=(0,N.useMemo)(()=>s(k,A),[k,A]).find(e=>e.key===r)??null,F=r.startsWith(`model-run:`)?r.slice(10):null,I=F?j.find(e=>e.id===F)??null:M?.job?j.find(e=>e.id===M.job?.metadata.modelRunId)??null:null,L=M?.job??(I?E?.jobs.find(e=>e.id===I.id||e.metadata.modelRunId===I.id)??null:null),pe=E?.comparisonSeriesEntries.find(e=>e.modelRunId===I?.id||e.modelRunId===L?.metadata.modelRunId)??null,he=a.shape.recovery.safeParse(L?.metadata.hostedRecovery),R=he.success?he.data:void 0,ge=O.shape.continuation.safeParse(L?.metadata.hostedContinuation),z=ge.success?ge.data:void 0,_e=z?A.find(e=>e.lineage.jobId===z.sourceArtifact.jobId):void 0,ve=R?`Recovered checkpoint`:_e?`Version ${_e.number}`:z?`Checkpoint ${z.sourceArtifact.checkpointId}`:typeof L?.metadata.parentHostedArtifactId==`string`?`Prior hosted run`:ue(E,pe),ye=(0,N.useMemo)(()=>{let e=v(k,A,j);return p(e,I?.kind===`evaluation`?`evals`:`training`)},[k,j,I?.kind,A]),xe=ye.findIndex(e=>e.key===r||L!==null&&e.job?.id===L.id||I!==null&&e.lifecycleRun?.id===I.id),B=xe<0?null:ye.length-xe,V=M?.version??(I?.adapterArtifactLineageId?A.find(e=>e.lineage.id===I.adapterArtifactLineageId)??null:null),H=(I?E?.modelVersions.find(e=>e.id===I.modelVersionId)?.baseModel.modelId:null)??E?.modelVersions.filter(e=>e.modelId===o.id&&e.kind===`base_reference`).sort((e,t)=>t.version-e.version)[0]?.baseModel.modelId??(typeof L?.metadata.baseModelId==`string`?L.metadata.baseModelId:null),U=V?.lineage.frozenEvaluationArtifactId??null,W=V?.plan??(L?se.get(L.planId)??null:null),G=V?.taskset??_(E).find(e=>e.id===(I?.taskset.id??W?.tasksetId??L?.metadata.tasksetId))??null,Te=G?.name??(typeof L?.metadata.tasksetId==`string`?L.metadata.tasksetId:`Unavailable`),Ee=I?.method??W?.recipe.method??Ke(L?.metadata),K=Ce(e,L?.id??null,L?.status??null,t===`evaluation`),De=L?E?.rolloutReceipts.filter(e=>e.jobId===L.id)??[]:[],q=K.detail?.managedEvidence??null,Oe=K.detail?.events.some(e=>e.type===`metric`&&e.payload.metricKind===`rollout_trajectory`)??!1,J=c({lifecycleRun:I,job:K.detail?.job??L}),Y=y(J),ke=I?.status===`failed`&&L?.metadata.phase===`artifact_collection_failed`,X=Ee===`grpo`,Z=Ue(L?.metadata),Me=(W&&(W.recipe.method===`sft`||W.recipe.method===`dpo`||W.recipe.method===`grpo`)?W.recipe.optimizer.maxSteps:null)??q?.progress.targetOptimizerSteps??null,Ne=Me!==null&&typeof L?.metadata.progress==`number`&&Number.isFinite(L.metadata.progress)?Math.floor(Math.max(0,L.metadata.progress)*Me):0,Pe=Math.max(0,Z?.optimizerUpdatesApplied??0,Ne,K.detail?.policyMetrics.reduce((e,t)=>Math.max(e,t.step),0)??0,K.detail?.stepMetrics.reduce((e,t)=>Math.max(e,t.step),0)??0,q?.progress.committedOptimizerSteps??0),Fe=He(X&&Z?Z.groupsCompleted:Pe,X&&Z?Z.groupsTarget:Me),Ie=C===`run`?{id:`details`,label:`Details`}:{id:`overview`,label:`Overview`},Le=[...C===`run`&&L?[{id:`metrics`,label:`Metrics`}]:[],Ie,...C===`version`&&L?[{id:`metrics`,label:`Metrics`}]:[],{id:`evaluation`,label:`Evaluation`},...De.length||Oe?[{id:`rollouts`,label:`Rollouts`}]:[],{id:`artifacts`,label:`Artifacts`},...L?[{id:`activity`,label:`Activity`}]:[]],Re=t,Q=Le.some(e=>e.id===Re)?Re:Le[0].id;return!M&&!I&&f.loading?(0,P.jsxs)(`div`,{className:`labs-model-version-detail`,children:[(0,P.jsx)(ae,{title:`Run details`}),(0,P.jsx)(`p`,{role:`status`,children:`Loading training run…`})]}):!M&&!I?(0,P.jsx)(`div`,{className:`labs-model-version-detail`,children:(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:`This training attempt is no longer available.`})}):I?.kind===`evaluation`?(0,P.jsx)(We,{run:I,runNumber:B,tasksetName:G?.name??`Unavailable`,onOpenTaskset:G?()=>b(G.id):void 0,onOpenConversation:x}):(0,P.jsxs)(`div`,{className:`labs-model-version-detail`,children:[(0,P.jsx)(ae,{title:I||L?B?`Run ${B}`:`Run details`:V?`Version ${V.number}`:`Run details`,description:`${te(Ee)} on ${Ge(W,H)}`,status:(0,P.jsx)(g,{status:J}),actions:Y&&(I||L)?(0,P.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:f.busyAction!==null||J===`cancelling`,onClick:async()=>{let e=I?.id??L.id,t=I?await f.actions.cancelModelRun(I.id):await f.actions.cancelJob(L.id);re({runId:e,message:t?`Cancellation requested. Waiting for the training service to confirm.`:`Cancellation could not be requested. Try again.`})},children:J===`cancelling`?`Cancelling…`:f.busyAction===`cancel-model-run`||f.busyAction===`cancel-job`?`Requesting cancellation…`:`Cancel run`}):ke&&I?(0,P.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:f.busyAction!==null,onClick:async()=>{let e=await f.actions.retryModelRunCollection(I.id);re({runId:I.id,message:e?.state===`succeeded`?`Outputs collected from the completed training job.`:`Collection failed. The training job and its outputs are retained.`})},children:f.busyAction===`retry-model-run-collection`?`Collecting…`:`Retry collection`}):void 0,metrics:[{label:X&&Z?`Training groups`:`Training steps`,value:Fe.value},...R&&Z?[{label:`Optimizer updates`,value:`${Math.max(0,Z.optimizerUpdatesApplied-R.policyVersion)} new · ${R.policyVersion} reused`}]:[],{label:Y?`Latest reward`:`Final reward`,value:Je(I?.reward?.raw??q?.reward.finalMean??null)},{label:`Duration`,value:I?T(I.startedAt,S(I.status,I.completedAt,I.updatedAt)):L?T(L.startedAt,S(L.status,L.completedAt,L.updatedAt)):`Not recorded`},{label:`Output`,value:V?`Version ${V.number}`:`No version`},{label:`Based on`,value:ve},{label:`Taskset`,value:Te,onSelect:G?()=>b(G.id):void 0,ariaLabel:G?`Open Taskset ${G.name}`:void 0}]}),(0,P.jsx)(ee,{recovery:R}),z?(0,P.jsx)(i,{continuation:{sourceJobId:z.sourceArtifact.jobId,checkpointId:z.sourceArtifact.checkpointId}}):null,D&&D.runId===(I?.id??L?.id)?(0,P.jsx)(`p`,{role:`status`,children:D.message}):null,(0,P.jsxs)(`section`,{className:`labs-run-detail-tabs`,children:[(0,P.jsx)(`div`,{className:`training-detail-tabs`,role:`tablist`,"aria-label":`Run details`,children:Le.map(e=>(0,P.jsx)(`button`,{"aria-controls":`run-detail-panel-${e.id}`,"aria-selected":Q===e.id,className:Q===e.id?`active`:void 0,id:`run-detail-tab-${e.id}`,role:`tab`,type:`button`,onClick:()=>n(e.id),children:e.label},e.id))}),(0,P.jsxs)(`div`,{"aria-labelledby":`run-detail-tab-${Q}`,className:`labs-run-detail-tab-panel`,id:`run-detail-panel-${Q}`,role:`tabpanel`,children:[Q===Ie.id?(0,P.jsx)(we,{baseModel:Ge(W,H),compute:I?ne(I.destinationId??``):W?ne(W.destinationId):L?ne(L.destinationId):`Not recorded`,duration:I?T(I.startedAt,S(I.status,I.completedAt,I.updatedAt)):L?T(L.startedAt,S(L.status,L.completedAt,L.updatedAt)):`Not recorded`,failure:L?.error??I?.failure??null,configuration:[...z?[{label:`Starting checkpoint`,value:[_e?`Version ${_e.number}`:null,z.sourceArtifact.checkpointId].filter(Boolean).join(` · `)},{label:`Parent run`,value:z.sourceArtifact.jobId},{label:`Parent artifact`,value:z.sourceArtifact.artifactId},{label:`Optimizer`,value:z.optimizerMode===`reset`?`Reset`:`Continue`}]:le(E,pe),...ce(W)],evidence:q,method:te(Ee),output:V?`Version ${V.number}`:`No version created`,reward:I?.reward?.raw??q?.reward.finalMean??null,status:I?w(I.status):L?w(L.status):`Imported`,statusValue:I?.status??L?.status??`imported`,taskset:Te,telemetry:I?.receipt?.schemaVersion===`openpond.modelRunReceipt.v1`?I.receipt.telemetry:null,title:I||L?B?`Run ${B}`:`Run details`:V?`Version ${V.number}`:`Run details`,versionStatus:V?V.current?`Active`:`Available`:null,onOpenTaskset:G?()=>b(G.id):void 0,showHeader:!1}):null,Q===`metrics`&&L?(0,P.jsx)(oe,{detail:K.detail,error:K.error,loading:K.loading,taskset:G}):null,Q===`artifacts`?(0,P.jsxs)(`dl`,{className:`training-configuration-list`,children:[(0,P.jsx)($,{label:`Training attempt`,value:L?.id??`Provider import`}),(0,P.jsx)($,{label:`Taskset`,value:Te}),(0,P.jsx)($,{label:`Prepared data`,value:L?.bundleHash??`Provider managed`}),(0,P.jsx)($,{label:`Version ID`,value:V?.lineage.id??`No version created`}),q?.checkpoint?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)($,{label:`Checkpoint`,value:q.checkpoint.id}),(0,P.jsx)($,{label:`Checkpoint size`,value:q.checkpoint.sizeBytes==null?`Not reported`:Ae(q.checkpoint.sizeBytes)}),(0,P.jsx)($,{label:`Checkpoint hash`,value:q.checkpoint.sha256??`Not reported`})]}):null,q?.canonicalPublication.state?(0,P.jsx)($,{label:`Registry publication`,value:Ye(q.canonicalPublication.state)}):null]}):null,Q===`evaluation`?(0,P.jsxs)(`div`,{className:`training-run-evaluation`,children:[!q?.evaluations.length||K.detail?.evaluation?(0,P.jsx)(me,{detail:K.detail,loading:K.loading,pending:Y}):null,!K.detail?.evaluation&&q?.evaluations.length?(0,P.jsx)(`dl`,{className:`labs-inline-facts`,children:q.evaluations.map(e=>(0,P.jsxs)(N.Fragment,{children:[(0,P.jsx)($,{label:e.kind===`baseline`?`Baseline score`:`Candidate score`,value:e.score==null?`Not reported`:e.score.toFixed(6)}),(0,P.jsx)($,{label:e.kind===`baseline`?`Baseline coverage`:`Candidate coverage`,value:e.taskCount==null?`Not reported`:e.targetTaskCount==null?`${e.taskCount} ${e.taskCount===1?`task`:`tasks`} scored`:`${e.taskCount} of ${e.targetTaskCount} ${e.targetTaskCount===1?`task`:`tasks`} scored`})]},`${e.kind}:${e.policyVersion}`))}):null,V&&L?.destinationId===`openpond_managed`?(0,P.jsx)(be,{connection:e,lineageId:V.lineage.id,onSaved:f.refresh},V.lineage.id):null,!V&&L?.metadata.source===`hosted_model_project_import`&&L.status===`succeeded`?(0,P.jsx)(be,{connection:e,jobId:L.id,onSaved:f.refresh},`candidate:${L.id}`):null,L&&q?.evaluations.length?(0,P.jsx)(Se,{connection:e,jobId:L.id,evaluations:q.evaluations},L.id):null,U?(0,P.jsx)(`button`,{className:`training-button secondary`,type:`button`,onClick:()=>void f.actions.downloadArtifact(U),children:`Download evaluation receipt`}):null]}):null,Q===`rollouts`?De.length?(0,P.jsx)(fe,{receipts:De}):(0,P.jsx)(de,{events:K.detail?.events??[]}):null,Q===`activity`&&L?(0,P.jsx)(je,{error:L.error??K.error,events:K.detail?.events??[],loading:K.loading,pending:Y}):null]})]})]})}function He(e,t){let n=Math.max(0,Math.floor(e));if(t===null||!Number.isFinite(t)||t<=0)return{value:n.toLocaleString(),hint:n===1?`completed update`:`completed updates`};let r=Math.max(1,Math.floor(t));return{value:`${n.toLocaleString()} / ${r.toLocaleString()}`,hint:`completed / planned`}}function Ue(e){let t=e?.rolloutProgress;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t;return[`groupsCompleted`,`groupsTarget`,`optimizerUpdatesApplied`,`optimizerUpdatesSkipped`].some(e=>typeof n[e]!=`number`||!Number.isInteger(n[e])||n[e]<0)?null:{groupsCompleted:n.groupsCompleted,groupsTarget:n.groupsTarget,optimizerUpdatesApplied:n.optimizerUpdatesApplied,optimizerUpdatesSkipped:n.optimizerUpdatesSkipped}}function We({run:e,runNumber:t,tasksetName:n,onOpenTaskset:r,onOpenConversation:i}){let[a,s]=(0,N.useState)(`results`),c=e.receipt?.schemaVersion===`openpond.modelEvaluationReceipt.v1`?e.receipt:null,l=e.receipt?.schemaVersion===`openpond.modelEvaluationStopReceipt.v1`?e.receipt:null,u=c?f(c):null,d=c?o(c):null;return(0,P.jsxs)(`div`,{className:`labs-model-version-detail labs-model-evaluation-detail`,children:[(0,P.jsx)(ae,{title:t?`Eval ${t}`:`Evaluation run`,description:`Harness Refiner benchmark · ${n}`,status:(0,P.jsx)(b,{label:c?d?.comparedTaskCount?`${d.passedTaskCount}/${d.comparedTaskCount} passed`:`No paired result`:l?`Inconclusive`:w(e.status),value:c?d?.comparedTaskCount&&d.passed?`succeeded`:`neutral`:l?.terminalClassification??e.status}),metrics:[{label:`Baseline pass rate`,value:c?`${(c.quality.baselinePassRate*100).toFixed(1)}%`:`—`},{label:`Candidate pass rate`,value:c?`${(c.quality.candidatePassRate*100).toFixed(1)}%`:`—`},{label:`Scenarios`,value:c?.attempts?.length??0},{label:`Execution`,value:w(e.status)}]}),(0,P.jsx)(`div`,{className:`training-detail-tabs`,role:`tablist`,"aria-label":`Evaluation details`,children:[`results`,`scenarios`,`activity`].map(e=>(0,P.jsx)(`button`,{className:a===e?`active`:void 0,"aria-selected":a===e,role:`tab`,type:`button`,onClick:()=>s(e),children:e===`results`?`Results`:e===`scenarios`?`Scenarios`:`Activity`},e))}),a===`results`&&c?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(se,{series:[{id:`baseline`,label:`Held-out baseline`,inputTokens:u.baseline.inputTokens,outputTokens:u.baseline.outputTokens,tokens:u.baseline.totalTokens,passRate:c.quality.baselinePassRate,costUsd:u.baseline.costUsd},{id:`candidate`,label:`Held-out refined`,inputTokens:u.candidate.inputTokens,outputTokens:u.candidate.outputTokens,tokens:u.candidate.totalTokens,passRate:c.quality.candidatePassRate,costUsd:u.candidate.costUsd}]}),(0,P.jsx)(se,{series:[{id:`adaptation-baseline`,label:`Adaptation baseline`,inputTokens:u.adaptation.inputTokens,outputTokens:u.adaptation.outputTokens,tokens:u.adaptation.totalTokens,passRate:c.quality.adaptationBaselinePassRate,costUsd:u.adaptation.costUsd},{id:`adaptation-candidate`,label:`Adaptation replay`,inputTokens:u.candidate_adaptation.inputTokens,outputTokens:u.candidate_adaptation.outputTokens,tokens:u.candidate_adaptation.totalTokens,passRate:c.quality.adaptationCandidatePassRate,costUsd:u.candidate_adaptation.costUsd}]}),(0,P.jsx)(Oe,{receipt:c,run:e,tasksetName:n,onOpenTaskset:r})]}):a===`results`&&l?(0,P.jsx)(K,{receipt:l,onOpenConversation:i}):a===`results`?(0,P.jsx)(`section`,{className:`labs-run-summary-card`,children:e.failure?(0,P.jsx)(`p`,{className:`training-run-placeholder`,children:e.failure}):(0,P.jsx)(De,{run:e})}):null,a===`scenarios`&&c?(0,P.jsxs)(P.Fragment,{children:[(c.attempts??[]).length?(0,P.jsx)(q,{receipt:c}):null,(c.attempts??[]).length?(0,P.jsx)(Y,{receipt:c,onOpenConversation:i}):(0,P.jsx)(`div`,{className:`training-run-placeholder`,children:`No per-scenario attempts were retained.`})]}):null,a===`activity`?(0,P.jsxs)(`dl`,{className:`labs-inline-facts`,children:[(0,P.jsx)($,{label:`Run ID`,value:e.id}),(0,P.jsx)($,{label:`Status`,value:w(e.status)}),(0,P.jsx)($,{label:`Started`,value:e.startedAt?C(e.startedAt):`Not started`}),(0,P.jsx)($,{label:`Completed`,value:e.completedAt?C(e.completedAt):`In progress`})]}):null]})}function Ge(e,t=null){if(!e)return t?qe(t):`Not recorded`;let n=e.recipe.method===`sft`||e.recipe.method===`grpo`?e.recipe.baseModel:e.recipe.method===`dpo`?e.recipe.policyModel:e.recipe.method===`ppo`?e.recipe.policyOptimization.policyModel:null;return n?qe(n.id):`Not recorded`}function Ke(e){let t=e?.trainingMethod;return t===`sft`||t===`dpo`||t===`grpo`||t===`ppo`||t===`sdft`||t===`opd`||t===`opsd`||t===`sdpo`?t:null}function qe(e){return e.split(`/`).at(-1)??e}function Je(e){return e===null?`Not reported`:e.toFixed(4)}function $({label:e,value:t}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`dt`,{children:e}),(0,P.jsx)(`dd`,{children:t})]})}function Ye(e){return e?e.replaceAll(`_`,` `).replace(/^./,e=>e.toUpperCase()):`Pending`}export{Ve as LabModelVersionDetailPage,Fe as eventSummary,He as formatTrainingProgress,Ue as managedRolloutProgress};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.run-flow{width:100%;min-width:0}.run-flow-diagram{width:100%;height:auto;display:block;overflow:visible}.run-flow-box{fill:var(--surface-panel);stroke:var(--border-default);stroke-width:1px}.run-flow-loop{fill:none;stroke:var(--border-default);stroke-dasharray:4 5}.run-flow-loop.live{stroke:color-mix(in srgb, var(--accent-primary) 45%, transparent);animation:1.2s linear infinite run-flow-march}.run-flow-caption{fill:var(--text-muted);font-size:11px}.run-flow-label{fill:var(--text-primary);font-size:12px;font-weight:500}.run-flow-status{fill:var(--text-muted);font-size:11px}.run-flow-detail{fill:var(--accent-primary);font-variant-numeric:tabular-nums;font-size:11px}.run-flow-node.pending .run-flow-label,.run-flow-node.missing .run-flow-label,.run-flow-node.pending .run-flow-detail,.run-flow-node.missing .run-flow-detail{fill:var(--text-muted)}.run-flow-node.missing .run-flow-box{stroke-dasharray:3 3}.run-flow-node.failed .run-flow-box{stroke:var(--status-danger)}.run-flow-node.active .run-flow-box{stroke:var(--accent-primary)}.run-flow-node.done .run-flow-box{stroke:color-mix(in srgb, var(--accent-primary) 55%, transparent)}.run-flow-wire{fill:none;stroke:var(--border-default);stroke-width:1.25px}.run-flow-wire.done{stroke:color-mix(in srgb, var(--accent-primary) 60%, var(--border-default))}.run-flow-arrow{fill:none;stroke:var(--text-muted);stroke-width:1.25px}.run-flow-stream{fill:none;stroke:var(--accent-primary);stroke-width:1.5px;stroke-dasharray:3 9;animation:.6s linear infinite run-flow-stream}.run-flow-packet,.run-flow-fill,.run-flow-shimmer{fill:var(--accent-primary)}.run-flow-track{fill:var(--border-default)}.run-flow-halo{fill:none;stroke:var(--accent-primary);stroke-width:1px;animation:1.8s ease-in-out infinite run-flow-halo}.run-flow-check{fill:none;stroke:var(--accent-primary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.console-run-flow{scrollbar-width:thin;width:100%;padding:8px 0;overflow-x:auto}.run-flow-badge{fill:var(--surface-panel)}.training-rollout-groups{color:var(--text-muted);margin:12px 0;font-size:11px}.training-rollout-groups header{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.training-rollout-groups ol{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.training-rollout-groups li{grid-template-columns:65px minmax(0,1fr) 80px;align-items:center;gap:8px;margin:7px 0;display:grid}.training-rollout-groups li>div{flex-wrap:wrap;gap:5px;display:flex}.training-rollout-cell{border:1px solid var(--border-default);border-radius:3px;width:14px;height:14px}.training-rollout-cell.scored{background:var(--accent-primary-fill);border-color:#0000}.training-rollout-cell.active{background:var(--accent-primary-fill);border-color:var(--accent-primary);animation:1.4s ease-in-out infinite run-flow-halo}.training-rollout-cell.failed{background:var(--status-danger-fill);border-color:#0000}.training-rollout-cell.reused{color:var(--text-secondary);border-style:double;place-items:center;font-size:10px;line-height:1;display:inline-grid}@keyframes run-flow-stream{to{stroke-dashoffset:-12px}}@keyframes run-flow-march{to{stroke-dashoffset:-18px}}@keyframes run-flow-halo{0%,to{opacity:.15}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.run-flow-loop.live,.run-flow-stream,.run-flow-halo,.training-rollout-cell.active{animation:none}.run-flow-packet,.run-flow-shimmer{display:none}}.training-rollout-legend{flex-wrap:wrap;gap:12px;display:flex}.training-rollout-legend>span{align-items:center;gap:5px;display:flex}.training-rollout-legend i{display:inline-block}.compute-gpu{--compute-color:var(--compute-gpu)}.compute-cpu{--compute-color:var(--compute-cpu)}.run-flow-node:is(.compute-gpu,.compute-cpu) .run-flow-box{fill:color-mix(in srgb, var(--compute-color) 7%, var(--surface-panel));stroke:color-mix(in srgb, var(--compute-color) 55%, var(--border-default))}.run-flow-node:is(.compute-gpu,.compute-cpu).active .run-flow-box{stroke:var(--compute-color)}.run-flow-node:is(.compute-gpu,.compute-cpu) :is(.run-flow-detail,.run-flow-fill,.run-flow-shimmer){fill:var(--compute-color)}.run-flow-node:is(.compute-gpu,.compute-cpu) :is(.run-flow-check,.run-flow-halo){stroke:var(--compute-color)}.run-flow-compute-legend{color:var(--text-muted);justify-content:flex-end;gap:16px;font-size:11px;display:flex}.run-flow-compute-legend span{align-items:center;gap:6px;display:inline-flex}.run-flow-compute-legend span:before{content:"";background:var(--compute-color);border-radius:2px;width:8px;height:8px}.sidebar-run-flow{padding:12px 0;container-type:inline-size}.sidebar-run-flow .run-flow-compute-legend{margin-bottom:12px}.sidebar-run-path{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:20px;margin:0;padding:0;list-style:none;display:grid}.sidebar-run-cluster{min-width:0;position:relative}.sidebar-run-path>.sidebar-run-cluster:only-child,.sidebar-run-path>.sidebar-run-cluster:last-child:nth-child(odd){grid-column:1/-1}.sidebar-run-path>.sidebar-run-cluster:nth-child(2n):before{content:"→";color:var(--text-muted);font-size:12px;position:absolute;bottom:32px;left:-17px}.sidebar-run-loop .sidebar-run-cluster:last-child:nth-child(odd):not(:first-child):before{content:"↓";color:var(--text-muted);font-size:12px;position:absolute;top:-18px;left:calc(50% - 4px)}.sidebar-run-card{border:1px solid var(--border-default);background:var(--surface-panel);overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:5px;min-width:0;min-height:72px;padding:10px;font-size:11px;line-height:1.4;display:flex;position:relative}.sidebar-run-card:is(.compute-gpu,.compute-cpu){background:color-mix(in srgb, var(--compute-color) 7%, var(--surface-panel));border-color:color-mix(in srgb, var(--compute-color) 45%, var(--border-default))}.sidebar-run-card-heading{color:var(--text-primary);justify-content:space-between;align-items:flex-start;gap:5px;display:flex}.sidebar-run-card-heading strong{font-size:12px;font-weight:500}.sidebar-run-card-heading>span{color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:9px}.sidebar-run-card-heading>svg{color:var(--compute-color,var(--accent-primary));flex-shrink:0;margin-top:2px}.sidebar-run-status{color:var(--text-secondary)}.sidebar-run-detail{color:var(--compute-color,var(--text-secondary));font-variant-numeric:tabular-nums}.sidebar-run-card.pending .sidebar-run-card-heading{color:var(--text-secondary)}.sidebar-run-card.missing{border-style:dashed}.sidebar-run-card.active{border-color:var(--compute-color,var(--accent-primary))}.sidebar-run-card.failed{border-color:var(--status-danger)}.sidebar-run-branch,.sidebar-run-worker{justify-items:stretch;gap:5px;display:grid}.sidebar-run-branch{margin-bottom:5px}.sidebar-run-worker{margin-top:5px}.sidebar-run-branch>svg,.sidebar-run-worker>svg{color:var(--text-muted);justify-self:center}.sidebar-run-next{color:var(--text-muted);margin:10px auto;display:block}.sidebar-run-loop{border:1px dashed var(--border-default);border-radius:12px;padding:12px}.sidebar-run-loop.active{border-color:var(--accent-primary)}.sidebar-run-loop>header{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.sidebar-run-return{color:var(--text-muted);border-top:1px dashed var(--border-default);justify-content:center;align-items:center;gap:6px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.sidebar-run-loop.active .sidebar-run-return{color:var(--accent-primary)}.sidebar-run-progress{background:var(--border-default);border-radius:2px;height:2px;margin-top:auto;overflow:hidden}.sidebar-run-progress>span{background:var(--compute-color,var(--accent-primary));height:100%;display:block}.sidebar-run-progress.indeterminate>span{width:35%;animation:1.6s ease-in-out infinite sidebar-run-progress}.sidebar-run-error summary{cursor:pointer;color:var(--text-secondary)}.sidebar-run-error summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}.sidebar-run-error p{white-space:pre-wrap;color:var(--text-secondary);margin:8px 0 0}.training-rollout-attempts{margin-top:12px}.training-rollout-attempts>summary{cursor:pointer;color:var(--text-secondary);margin-bottom:8px}.training-rollout-attempts>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}.training-rollout-pagination{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}@keyframes sidebar-run-progress{0%{transform:translate(-100%)}to{transform:translate(390%)}}@container (width<=260px){.sidebar-run-path{grid-template-columns:minmax(0,1fr)}.sidebar-run-path>.sidebar-run-cluster:nth-child(2n):before{display:none}}@media (prefers-reduced-motion:reduce){.sidebar-run-progress.indeterminate>span{opacity:.5;width:100%;animation:none}}.training-run-lineage{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:11px;display:flex}.training-run-lineage-compact{margin-top:0}.training-run-lineage a{color:var(--accent-primary);text-underline-offset:3px;align-items:center;gap:4px;text-decoration:underline;display:inline-flex}.training-policy-label,.training-optimizer-reset{align-items:center;gap:5px;display:inline-flex}.training-continual-status{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.training-adapter-stack{margin:12px 0 14px;font-size:11px;position:relative}.training-adapter-stack>div{border:1px solid var(--border-default);background:var(--surface-panel);border-radius:8px;flex-direction:column;gap:4px;display:flex}.training-adapter-parent{margin:0 16px -12px 0;padding:10px 12px 22px}.training-adapter-current{margin-left:16px;padding:10px 12px;position:relative}.training-adapter-stack span,.training-adapter-stack small{color:var(--text-muted)}.training-adapter-stack strong{color:var(--text-primary);font-weight:500}.run-flow-adapter-stack .run-flow-box{fill:var(--surface-panel);stroke:var(--border-default)}.sidebar-run-inspect{cursor:pointer;border-radius:inherit;background:0 0;border:0;position:absolute;inset:0}.sidebar-run-inspect:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.sidebar-run-error{position:relative}.run-flow-node[role=button]{cursor:pointer}.run-flow-node[role=button]:focus-visible .run-flow-box{stroke:var(--accent-primary);stroke-width:2px}.training-rollout-group-link{color:var(--accent-primary);text-align:left;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}button.training-rollout-cell{cursor:pointer;padding:0}button.training-rollout-cell:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.training-rollout-attempts pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:420px;font:inherit}.run-flow-recorded-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px;display:inline-block}.run-flow-recorded{fill:var(--text-muted)}.run-evidence-panel{min-width:0;margin-top:14px}.run-evidence-panel>header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.run-evidence-panel dl>div{border-bottom:1px solid var(--border-default);padding:10px 0}.run-evidence-panel dt{color:var(--text-muted);font-size:11px}.run-evidence-panel dd{margin:5px 0 0}.run-evidence-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;font:inherit;margin:0;overflow:auto}.run-evidence-tooltip{z-index:1200;border:1px solid var(--border-default);background:var(--surface-floating);width:min(280px,100vw - 24px);color:var(--text-primary);overflow-wrap:anywhere;pointer-events:none;box-shadow:0 4px 16px var(--shadow-color);border-radius:8px;gap:5px;padding:10px 12px;font-size:11px;line-height:1.45;display:grid;position:fixed}.run-evidence-tooltip small{color:var(--text-muted)}.training-evidence-workspace{min-width:0;margin-top:18px}.training-evidence-workspace>nav{white-space:nowrap;overflow-x:auto}.training-evidence-workspace>nav button{flex-shrink:0}.training-evidence-workspace>nav button[aria-pressed=true]{border-bottom-color:var(--accent-primary);color:var(--text-primary)}.training-evidence-logs{max-height:320px;padding:0;list-style:none;overflow:auto}.training-evidence-logs li{border-bottom:1px solid var(--border-default);overflow-wrap:anywhere;gap:5px;padding:8px 0;font-size:11px;display:grid}.training-evidence-logs time{color:var(--text-muted)}.training-continual-badge{background:color-mix(in srgb, var(--accent-primary) 12%, transparent);color:var(--accent-primary);vertical-align:middle;border-radius:4px;align-items:center;gap:3px;padding:2px 5px;font-size:10px;display:inline-flex}.model-journey-title-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.sidebar-run-inspect:hover,.sidebar-run-inspect:active{box-shadow:none;background:0 0}.sidebar-run-inspect:focus:not(:focus-visible){box-shadow:none;outline:none}.run-flow-node:focus{outline:none}.training-rollout-cell.reused{width:auto;min-width:14px;font-size:10px}.training-continual-setting{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.training-continual-setting:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:3px}.training-continual-badge.off{color:var(--status-warning);background:color-mix(in srgb, var(--status-warning) 12%, transparent)}.training-continual-badge.pending{color:var(--text-muted);background:var(--surface-raised)}.training-recovery-lineage{color:var(--text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:14px 0 0;font-size:12px;line-height:1.5;display:flex}.training-recovery-lineage a{color:var(--accent-primary)}.training-recovery-lineage.compact{margin:0;display:inline-flex}
|
|
1
|
+
.run-flow{width:100%;min-width:0}.run-flow-diagram{width:100%;height:auto;display:block;overflow:visible}.run-flow-box{fill:var(--surface-panel);stroke:var(--border-default);stroke-width:1px}.run-flow-loop{fill:none;stroke:var(--border-default);stroke-dasharray:4 5}.run-flow-loop.live{stroke:color-mix(in srgb, var(--accent-primary) 45%, transparent);animation:1.2s linear infinite run-flow-march}.run-flow-caption{fill:var(--text-muted);font-size:11px}.run-flow-label{fill:var(--text-primary);font-size:12px;font-weight:500}.run-flow-status{fill:var(--text-muted);font-size:11px}.run-flow-detail{fill:var(--accent-primary);font-variant-numeric:tabular-nums;font-size:11px}.run-flow-node.pending .run-flow-label,.run-flow-node.missing .run-flow-label,.run-flow-node.pending .run-flow-detail,.run-flow-node.missing .run-flow-detail{fill:var(--text-muted)}.run-flow-node.missing .run-flow-box{stroke-dasharray:3 3}.run-flow-node.failed .run-flow-box{stroke:var(--status-danger)}.run-flow-node.active .run-flow-box{stroke:var(--accent-primary)}.run-flow-node.done .run-flow-box{stroke:color-mix(in srgb, var(--accent-primary) 55%, transparent)}.run-flow-wire{fill:none;stroke:var(--border-default);stroke-width:1.25px}.run-flow-wire.done{stroke:color-mix(in srgb, var(--accent-primary) 60%, var(--border-default))}.run-flow-arrow{fill:none;stroke:var(--text-muted);stroke-width:1.25px}.run-flow-stream{fill:none;stroke:var(--accent-primary);stroke-width:1.5px;stroke-dasharray:3 9;animation:.6s linear infinite run-flow-stream}.run-flow-packet,.run-flow-fill,.run-flow-shimmer{fill:var(--accent-primary)}.run-flow-track{fill:var(--border-default)}.run-flow-halo{fill:none;stroke:var(--accent-primary);stroke-width:1px;animation:1.8s ease-in-out infinite run-flow-halo}.run-flow-check{fill:none;stroke:var(--accent-primary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.console-run-flow{scrollbar-width:thin;width:100%;padding:8px 0;overflow-x:auto}.run-flow-badge{fill:var(--surface-panel)}.training-rollout-groups{color:var(--text-muted);margin:12px 0;font-size:11px}.training-rollout-groups header{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.training-rollout-groups ol{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.training-rollout-groups li{grid-template-columns:65px minmax(0,1fr) 80px;align-items:center;gap:8px;margin:7px 0;display:grid}.training-rollout-groups li>div{flex-wrap:wrap;gap:5px;display:flex}.training-rollout-cell{border:1px solid var(--border-default);border-radius:3px;width:14px;height:14px}.training-rollout-cell.scored{background:var(--accent-primary-fill);border-color:#0000}.training-rollout-cell.active{background:var(--accent-primary-fill);border-color:var(--accent-primary);animation:1.4s ease-in-out infinite run-flow-halo}.training-rollout-cell.failed{background:var(--status-danger-fill);border-color:#0000}.training-rollout-cell.reused{color:var(--text-secondary);border-style:double;place-items:center;font-size:10px;line-height:1;display:inline-grid}@keyframes run-flow-stream{to{stroke-dashoffset:-12px}}@keyframes run-flow-march{to{stroke-dashoffset:-18px}}@keyframes run-flow-halo{0%,to{opacity:.15}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.run-flow-loop.live,.run-flow-stream,.run-flow-halo,.training-rollout-cell.active{animation:none}.run-flow-packet,.run-flow-shimmer{display:none}}.training-rollout-legend{flex-wrap:wrap;gap:12px;display:flex}.training-rollout-legend>span{align-items:center;gap:5px;display:flex}.training-rollout-legend i{display:inline-block}.compute-gpu{--compute-color:var(--compute-gpu)}.compute-cpu{--compute-color:var(--compute-cpu)}.run-flow-node:is(.compute-gpu,.compute-cpu) .run-flow-box{fill:color-mix(in srgb, var(--compute-color) 7%, var(--surface-panel));stroke:color-mix(in srgb, var(--compute-color) 55%, var(--border-default))}.run-flow-node:is(.compute-gpu,.compute-cpu).active .run-flow-box{stroke:var(--compute-color)}.run-flow-node:is(.compute-gpu,.compute-cpu) :is(.run-flow-detail,.run-flow-fill,.run-flow-shimmer){fill:var(--compute-color)}.run-flow-node:is(.compute-gpu,.compute-cpu) :is(.run-flow-check,.run-flow-halo){stroke:var(--compute-color)}.run-flow-compute-legend{color:var(--text-muted);justify-content:flex-end;gap:16px;font-size:11px;display:flex}.run-flow-compute-legend span{align-items:center;gap:6px;display:inline-flex}.run-flow-compute-legend span:before{content:"";background:var(--compute-color);border-radius:2px;width:8px;height:8px}.sidebar-run-flow{padding:12px 0;container-type:inline-size}.sidebar-run-flow .run-flow-compute-legend{margin-bottom:12px}.sidebar-run-path{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:20px;margin:0;padding:0;list-style:none;display:grid}.sidebar-run-cluster{min-width:0;position:relative}.sidebar-run-path>.sidebar-run-cluster:only-child,.sidebar-run-path>.sidebar-run-cluster:last-child:nth-child(odd){grid-column:1/-1}.sidebar-run-path>.sidebar-run-cluster:nth-child(2n):before{content:"→";color:var(--text-muted);font-size:12px;position:absolute;bottom:32px;left:-17px}.sidebar-run-loop .sidebar-run-cluster:last-child:nth-child(odd):not(:first-child):before{content:"↓";color:var(--text-muted);font-size:12px;position:absolute;top:-18px;left:calc(50% - 4px)}.sidebar-run-card{border:1px solid var(--border-default);background:var(--surface-panel);overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:5px;min-width:0;min-height:72px;padding:10px;font-size:11px;line-height:1.4;display:flex;position:relative}.sidebar-run-card:is(.compute-gpu,.compute-cpu){background:color-mix(in srgb, var(--compute-color) 7%, var(--surface-panel));border-color:color-mix(in srgb, var(--compute-color) 45%, var(--border-default))}.sidebar-run-card-heading{color:var(--text-primary);justify-content:space-between;align-items:flex-start;gap:5px;display:flex}.sidebar-run-card-heading strong{font-size:12px;font-weight:500}.sidebar-run-card-heading>span{color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:9px}.sidebar-run-card-heading>svg{color:var(--compute-color,var(--accent-primary));flex-shrink:0;margin-top:2px}.sidebar-run-status{color:var(--text-secondary)}.sidebar-run-detail{color:var(--compute-color,var(--text-secondary));font-variant-numeric:tabular-nums}.sidebar-run-card.pending .sidebar-run-card-heading{color:var(--text-secondary)}.sidebar-run-card.missing{border-style:dashed}.sidebar-run-card.active{border-color:var(--compute-color,var(--accent-primary))}.sidebar-run-card.failed{border-color:var(--status-danger)}.sidebar-run-branch,.sidebar-run-worker{justify-items:stretch;gap:5px;display:grid}.sidebar-run-branch{margin-bottom:5px}.sidebar-run-worker{margin-top:5px}.sidebar-run-branch>svg,.sidebar-run-worker>svg{color:var(--text-muted);justify-self:center}.sidebar-run-next{color:var(--text-muted);margin:10px auto;display:block}.sidebar-run-loop{border:1px dashed var(--border-default);border-radius:12px;padding:12px}.sidebar-run-loop.active{border-color:var(--accent-primary)}.sidebar-run-loop>header{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.sidebar-run-return{color:var(--text-muted);border-top:1px dashed var(--border-default);justify-content:center;align-items:center;gap:6px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.sidebar-run-loop.active .sidebar-run-return{color:var(--accent-primary)}.sidebar-run-progress{background:var(--border-default);border-radius:2px;height:2px;margin-top:auto;overflow:hidden}.sidebar-run-progress>span{background:var(--compute-color,var(--accent-primary));height:100%;display:block}.sidebar-run-progress.indeterminate>span{width:35%;animation:1.6s ease-in-out infinite sidebar-run-progress}.sidebar-run-error summary{cursor:pointer;color:var(--text-secondary)}.sidebar-run-error summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}.sidebar-run-error p{white-space:pre-wrap;color:var(--text-secondary);margin:8px 0 0}.training-rollout-attempts{margin-top:12px}.training-rollout-attempts>summary{cursor:pointer;color:var(--text-secondary);margin-bottom:8px}.training-rollout-attempts>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}.training-rollout-pagination{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}@keyframes sidebar-run-progress{0%{transform:translate(-100%)}to{transform:translate(390%)}}@container (width<=260px){.sidebar-run-path{grid-template-columns:minmax(0,1fr)}.sidebar-run-path>.sidebar-run-cluster:nth-child(2n):before{display:none}}@media (prefers-reduced-motion:reduce){.sidebar-run-progress.indeterminate>span{opacity:.5;width:100%;animation:none}}.training-run-lineage{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:11px;display:flex}.training-run-lineage-compact{margin-top:0}.training-run-lineage a{color:var(--accent-primary);text-underline-offset:3px;align-items:center;gap:4px;text-decoration:underline;display:inline-flex}.training-policy-label,.training-optimizer-reset{align-items:center;gap:5px;display:inline-flex}.training-continual-status{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.training-adapter-stack{margin:12px 0 14px;font-size:11px;position:relative}.training-adapter-stack>div{border:1px solid var(--border-default);background:var(--surface-panel);border-radius:8px;flex-direction:column;gap:4px;display:flex}.training-adapter-parent{margin:0 16px -12px 0;padding:10px 12px 22px}.training-adapter-current{margin-left:16px;padding:10px 12px;position:relative}.training-adapter-stack span,.training-adapter-stack small{color:var(--text-muted)}.training-adapter-stack strong{color:var(--text-primary);font-weight:500}.run-flow-adapter-stack .run-flow-box{fill:var(--surface-panel);stroke:var(--border-default)}.sidebar-run-inspect{cursor:pointer;border-radius:inherit;background:0 0;border:0;position:absolute;inset:0}.sidebar-run-inspect:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.sidebar-run-error{position:relative}.run-flow-node[role=button]{cursor:pointer}.run-flow-node[role=button]:focus-visible .run-flow-box{stroke:var(--accent-primary);stroke-width:2px}.training-rollout-group-link{color:var(--accent-primary);text-align:left;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}button.training-rollout-cell{cursor:pointer;padding:0}button.training-rollout-cell:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.training-rollout-attempts pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:420px;font:inherit}.run-flow-recorded-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px;display:inline-block}.run-flow-recorded{fill:var(--text-muted)}.run-evidence-panel{min-width:0;margin-top:14px}.run-evidence-panel>header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.run-evidence-panel dl>div{border-bottom:1px solid var(--border-default);padding:10px 0}.run-evidence-panel dt{color:var(--text-muted);font-size:11px}.run-evidence-panel dd{margin:5px 0 0}.run-evidence-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;font:inherit;margin:0;overflow:auto}.run-evidence-tooltip{z-index:1200;border:1px solid var(--border-default);background:var(--surface-floating);width:min(280px,100vw - 24px);color:var(--text-primary);overflow-wrap:anywhere;pointer-events:none;box-shadow:0 4px 16px var(--shadow-color);border-radius:8px;gap:5px;padding:10px 12px;font-size:11px;line-height:1.45;display:grid;position:fixed}.run-evidence-tooltip small{color:var(--text-muted)}.training-evidence-workspace{min-width:0;margin-top:18px}.training-evidence-workspace>nav{white-space:nowrap;overflow-x:auto}.training-evidence-workspace>nav button{flex-shrink:0}.training-evidence-workspace>nav button[aria-pressed=true]{border-bottom-color:var(--accent-primary);color:var(--text-primary)}.training-evidence-logs{max-height:320px;padding:0;list-style:none;overflow:auto}.training-evidence-logs li{border-bottom:1px solid var(--border-default);overflow-wrap:anywhere;gap:5px;padding:8px 0;font-size:11px;display:grid}.training-evidence-logs time{color:var(--text-muted)}.training-continual-badge{background:color-mix(in srgb, var(--accent-primary) 12%, transparent);color:var(--accent-primary);vertical-align:middle;border-radius:4px;align-items:center;gap:3px;padding:2px 5px;font-size:10px;display:inline-flex}.model-journey-title-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.sidebar-run-inspect:hover,.sidebar-run-inspect:active{box-shadow:none;background:0 0}.sidebar-run-inspect:focus:not(:focus-visible){box-shadow:none;outline:none}.run-flow-node:focus{outline:none}.training-rollout-cell.reused{width:auto;min-width:14px;font-size:10px}.training-continual-setting{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.training-continual-setting:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:3px}.training-continual-badge.off{color:var(--status-warning);background:color-mix(in srgb, var(--status-warning) 12%, transparent)}.training-continual-badge.pending{color:var(--text-muted);background:var(--surface-raised)}.training-recovery-lineage{color:var(--text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:14px 0 0;font-size:12px;line-height:1.5;display:flex}.training-recovery-lineage a{color:var(--accent-primary)}.training-recovery-lineage.compact{margin:0;display:inline-flex}.labs-status-badge{width:max-content;color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.25;display:inline-flex}.labs-status-badge.is-live{gap:6px;max-width:min(560px,60vw)}.labs-status-badge-label{text-overflow:ellipsis;overflow:hidden}.labs-status-live-dot{width:6px;height:6px;box-shadow:0 0 0 0 var(--shadow-color);background:currentColor;border-radius:999px;flex:none;animation:1.6s ease-out infinite labs-status-live-pulse}@keyframes labs-status-live-pulse{0%{box-shadow:0 0 0 0 var(--shadow-color)}70%,to{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){.labs-status-live-dot{animation:none}}.labs-status-badge.positive{background:var(--status-success-fill);color:var(--text-on-accent)}.labs-status-badge.info{background:var(--status-info-fill);color:var(--text-on-accent)}.labs-status-badge.warning{background:var(--status-warning-fill);color:var(--text-on-accent)}.labs-status-badge.negative{background:var(--status-danger-fill);color:var(--text-on-accent)}.labs-status-badge.neutral{background:var(--state-hover)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,h as n,m as r}from"./index-B6XX_0h3.js";import{a as i,m as a,o,p as s,r as c,v as l}from"./schemas-Brv9Vmnk.js";import{t as u}from"./icons-Bk2b68aC.js";import{c as d,l as f,n as p,o as m,r as h}from"./training-model-data-CIysl8wH.js";import{At as g,Bt as _,C as v,D as y,Dt as b,F as x,Ht as S,It as C,K as ee,Mt as w,Ot as T,P as te,Q as ne,R as E,Rt as re,S as ie,St as ae,T as D,Tt as O,Vt as oe,W as se,X as ce,_ as le,_t as k,a as ue,at as de,b as fe,c as pe,ct as me,d as he,dt as ge,f as _e,ft as ve,g as ye,h as be,i as xe,j as Se,l as Ce,n as we,nt as Te,o as Ee,p as De,q as Oe,r as ke,s as Ae,t as je,tt as Me,u as Ne,ut as Pe,v as Fe,w as Ie,x as Le,xt as Re,yt as ze,zt as Be}from"./CartesianChart-brqLBqnF.js";import{Bn as Ve,Bt as A,Hn as He,Pt as Ue,Ut as We,Vn as Ge,Wn as Ke,dn as qe,en as Je,gn as Ye,sn as Xe,zt as j}from"./App-CCuh99JW.js";import{t as Ze}from"./ModelProjectPageHeader-Dge19aE1.js";var M=a({label:l().max(200),value:l().max(12e3),severity:c([`info`,`warning`,`error`]).default(`info`)}).strict(),Qe=a({kind:c([`trajectory`,`evaluation`]),id:l().min(1).max(240),taskId:l().min(1).max(512).optional()}).strict().refine(e=>e.kind===`evaluation`?!!e.taskId:e.taskId===void 0,{message:`Evaluation feedback requires a task ID; trajectory feedback uses its receipt ID only.`}),$e=a({status:l(),score:s().nullable(),passed:o().nullable()}).strict(),et=a({jobId:l(),kind:c([`trajectory`,`evaluation`]),id:l(),taskId:l().optional(),compositionSha256:l(),training:$e,evaluation:$e,graders:i(a({graderId:l(),role:c([`training`,`evaluation`]),status:l(),rawScore:s().nullable(),normalizedScore:s().nullable(),passed:o().nullable(),message:l().nullable(),failureClass:l().nullable(),feedback:i(l().max(32768)).max(8)}).strict()).max(32)}).strict(),tt=a({sourceJobId:l(),checkpointId:l(),checkpointJobId:l(),groupId:l(),groupIndex:s().int().nonnegative(),optimizerDisposition:c([`applied`,`skipped_no_signal`]),inputPolicyVersion:s().int().nonnegative(),outputPolicyVersion:s().int().nonnegative().optional()}).strict(),N=a({label:l(),state:c([`done`,`active`,`pending`,`missing`,`failed`]),status:l(),detail:l().optional(),diagnostics:i(M).max(100).optional(),feedback:i(Qe).max(100).optional(),error:l().optional(),progress:s().min(0).max(1).optional(),inLoop:o().optional()}).strict(),nt=a({jobId:l(),teamId:l(),modelProjectId:l(),state:l(),policyVersion:s().int().nonnegative(),groupsCompleted:s().int().nonnegative(),groupsTarget:s().int().nonnegative(),live:o(),continuation:a({sourceJobId:l(),artifactId:l(),checkpointId:l(),optimizerMode:c([`continue`,`reset`]),materialized:o(),parentRank:s().int().positive().optional(),trainableRank:s().int().positive().optional()}).strict().optional(),recovery:a({sourceJobId:l(),checkpointId:l(),checkpointJobId:l().optional(),policyVersion:s().int().positive(),completedGroups:s().int().positive(),optimizerStateRestored:o(),optimizerUpdatesApplied:s().int().nonnegative().optional(),replayGroups:i(tt).max(128).optional(),replayCompleted:o().optional(),undurablePolicyVersion:s().int().positive().optional()}).strict().optional(),nodes:i(N).max(10),inference:N.nullable(),groups:i(a({index:s().int().nonnegative(),optimizerDisposition:c([`applied`,`skipped_no_signal`]).optional(),replay:tt.optional(),inherited:a({sourceJobId:l(),checkpointId:l(),checkpointJobId:l(),optimizerDisposition:c([`applied`,`skipped_no_signal`]),inputPolicyVersion:s().int().nonnegative(),outputPolicyVersion:s().int().nonnegative().optional()}).strict().optional(),nodes:i(N).max(5).optional(),state:l(),meanReward:s().nullable(),plannedSlots:s().int().nonnegative(),diagnostics:i(M).max(100).optional(),attempts:i(a({id:l(),slot:s().int().nonnegative(),attempt:s().int().positive(),state:l(),reward:s().nullable(),diagnostics:i(M).max(100).optional(),feedback:i(Qe).max(100).optional()}).strict()).max(1e3)}).strict()).max(50),groupCount:s().int().nonnegative(),logs:i(a({id:l(),at:l(),source:l(),message:l(),level:l()}).strict()).max(200)}).strict(),rt=u(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),P=e(t());function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},F.apply(null,arguments)}var it=e=>{var t=e.cx,n=e.cy,r=e.r,i=e.className,a=S(`recharts-dot`,i);return T(t)&&T(n)&&T(r)?P.createElement(`circle`,F({},_(e),ae(e),{className:a,cx:t,cy:n,r})):null},at=[`points`];function ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ot(Object(n),!0).forEach(function(t){st(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function st(e,t,n){return(t=ct(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ct(e){var t=lt(e,`string`);return typeof t==`symbol`?t:t+``}function lt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},L.apply(null,arguments)}function ut(e,t){if(e==null)return{};var n,r,i=dt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function dt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function ft(e){var t=e.option,n=e.dotProps,r=e.className;if((0,P.isValidElement)(t))return(0,P.cloneElement)(t,n);if(typeof t==`function`)return t(n);var i=S(r,typeof t==`boolean`?``:t.className),a=n??{};a.points;var o=ut(a,at);return P.createElement(it,L({},o,{className:i}))}function pt(e,t){return e==null?!1:t?!0:e.length===1}function mt(e){var t=e.points,n=e.dot,r=e.className,i=e.dotClassName,a=e.dataKey,o=e.baseProps,s=e.needClip,c=e.clipPathId,l=e.zIndex,u=l===void 0?E.scatter:l;if(!pt(t,n))return null;var d=fe(n),f=Be(n),p=t.map((e,r)=>{var s=I(I(I({r:3},o),f),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return P.createElement(ft,{key:`dot-${r}`,option:n,dotProps:s,className:i})}),m={};return s&&c!=null&&(m.clipPath=`url(#clipPath-${d?``:`dots-`}${c})`),P.createElement(D,{zIndex:u},P.createElement(C,L({className:r},m),p))}function ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ht(Object(n),!0).forEach(function(t){gt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ht(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gt(e,t,n){return(t=_t(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _t(e){var t=vt(e,`string`);return typeof t==`symbol`?t:t+``}function vt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var yt=e=>{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var s=R(R(R({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),oe(i)),ae(i)),c=(0,P.isValidElement)(i)?(0,P.cloneElement)(i,s):typeof i==`function`?i(s):P.createElement(it,s);return P.createElement(C,{className:`recharts-active-dot`,clipPath:o},c)};function bt(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,s=o===void 0?E.activeDot:o,c=ze(y),l=pe();if(t==null||l==null)return null;var u=t.find(e=>l.includes(e.payload));return b(u)?null:P.createElement(D,{zIndex:s},P.createElement(yt,{point:u,childIndex:Number(c),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var xt=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},z.apply(null,arguments)}function St(e,t){if(e==null)return{};var n,r,i=Ct(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ct(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function wt(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function Tt(e,t){return`${t}px ${e}px`}function Et(e){return e.length%2==0?e:[...e,...e]}function Dt(e,t){for(var n=[],r=0;r<t;++r)n.push(...e);return n}function Ot(e,t,n){var r=Et(n),i=r.reduce((e,t)=>e+t,0);if(!i)return Tt(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;c<r.length;l+=(u=r[c])??0,++c){var u,d=r[c];if(d!=null&&l+d>o){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...Dt(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function kt(e,t,n){return e?Ot(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):Tt(t,n)}function At(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=St(e,xt),a=r??!1,o;if(t!=null){var s=i.pathRef;o=kt(n,wt(s?.current??null),t)}else n!=null&&(o=String(n));return P.createElement(ee,z({},i,{connectNulls:a,strokeDasharray:o}))}function jt(e){var t=(0,P.useRef)(0),n=(0,P.useRef)(0),r=(0,P.useRef)(!1),i=(0,P.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,P.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(w(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var Mt=(e,t,n,r)=>Se(e,`xAxis`,t,r),Nt=(e,t,n,r)=>te(e,`xAxis`,t,r),Pt=(e,t,n,r)=>Se(e,`yAxis`,n,r),Ft=(e,t,n,r)=>te(e,`yAxis`,n,r),It=k([ce,Mt,Pt,Nt,Ft],(e,t,n,r,i)=>ve(e,`xAxis`)?de(t,r,!1):de(n,i,!1)),Lt=(e,t,n,r,i)=>i;function Rt(e){return e.type===`line`}var zt=k([x,Lt],(e,t)=>e.filter(Rt).find(e=>e.id===t)),Bt=k([ce,Mt,Pt,Nt,Ft,zt,It,se],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return ln({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}});function Vt(e){var t=oe(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}var Ht=[`id`],Ut=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],Wt=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},B.apply(null,arguments)}function V(e,t){if(e==null)return{};var n,r,i=Gt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Gt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function H(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Kt(Object(n),!0).forEach(function(t){qt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qt(e,t,n){return(t=Jt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jt(e){var t=Yt(e,`string`);return typeof t==`symbol`?t:t+``}function Yt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Xt(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function Zt(e){var t=0,n=0;for(var r of e)r.status===`matched`&&r.prev.x!=null&&r.next.x!=null&&(t+=r.next.x-r.prev.x,n++);return n>0?t/n:0}var U={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=Zt(e),r=[];for(var i of e)if(i.status===`matched`)r.push(H(H({},i.next),{},{x:O(i.prev.x,i.next.x,t),y:O(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(H(H({},i.next),{},{x:O(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(H(H({},i.prev),{},{x:O(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:be,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:At,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:E.line,type:`linear`},Qt=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:Pe(n,t),payload:e}]},$t=P.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:n,getPosition:g,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:Pe(o,t),hide:s,type:u,color:r,unit:c,formatter:l,graphicalItemId:d}};return P.createElement(le,{tooltipEntrySettings:f})});function en(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=V(r,Ht),c=_(s);return P.createElement(mt,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:c,needClip:o,clipPathId:t})}function tn(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,P.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return H(H({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return P.createElement(Le,{value:t?i:void 0},n)}function nn(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,d=i.connectNulls,f=i.needClip,p=i.shape,m=i.strokeDasharray,h=V(i,Ut),g=H(H({},re(h)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:f?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:d,strokeDasharray:m??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return P.createElement(P.Fragment,null,r?.length>1&&P.createElement(Fe,{option:p,DefaultShape:U.shape,shapeProps:g}),P.createElement(en,{points:r,clipPathId:t,props:i}))}function rn(e){var t=e.clipPathId,n=e.props,r=e.pathRef,i=e.previousPointsRef,a=n.points,o=n.isAnimationActive,s=n.animationBegin,c=n.animationDuration,l=n.animationEasing,u=n.animationMatchBy,d=n.animationInterpolateFn,f=n.layout,p=Xt(r.current),m=De(n.onAnimationStart,n.onAnimationEnd),h=m.isAnimating,g=m.handleAnimationStart,_=m.handleAnimationEnd,v=!h,y=jt(a),b=(0,P.useCallback)(e=>e>0&&p>0,[p]);return P.createElement(tn,{points:a,showLabels:v},n.children,P.createElement(_e,{animationInput:a,animationIdPrefix:`recharts-line-`,items:a,previousItemsRef:i,isAnimationActive:o,animationBegin:s,animationDuration:c,animationEasing:l,onAnimationStart:g,onAnimationEnd:_,animationInterpolateFn:d,animationMatchBy:u,shouldUpdatePreviousRef:b,layout:f},(e,i,a)=>{var o=h||i<1,s=o?y(i,p):null;return P.createElement(nn,{props:n,points:e,clipPathId:t,pathRef:r,animationElapsedTime:i,isAnimating:o,isEntrance:a,visibleLength:s})}),P.createElement(ie,{label:n.label}))}function an(e){var t=e.clipPathId,n=e.props,r=(0,P.useRef)(null),i=(0,P.useRef)(null);return P.createElement(rn,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var on=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:ge(e.payload,t)}),sn=class extends P.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxisId,o=e.yAxisId,s=e.top,c=e.left,l=e.width,u=e.height,d=e.id,f=e.needClip,p=e.zIndex;if(t)return null;var m=S(`recharts-line`,i),h=d,g=Vt(n),_=g.r,v=g.strokeWidth,y=fe(n),b=_*2+v,x=f?`url(#clipPath-${y?``:`dots-`}${h})`:void 0;return P.createElement(D,{zIndex:p},P.createElement(C,{className:m},f&&P.createElement(`defs`,null,P.createElement(xe,{clipPathId:h,xAxisId:a,yAxisId:o}),!y&&P.createElement(`clipPath`,{id:`clipPath-dots-${h}`},P.createElement(`rect`,{x:c-b/2,y:s-b/2,width:l+b,height:u+b}))),P.createElement(Ee,{xAxisId:a,yAxisId:o,data:r,dataPointFormatter:on,errorBarOffset:0},P.createElement(an,{props:this.props,clipPathId:h}))),P.createElement(bt,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:x}))}};function cn(e){var t=Re(e,U),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,u=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,h=t.id,g=V(t,Wt),_=ue(p,m).needClip,v=Ce(),y=ne(),b=Te(),x=ze(e=>Bt(e,p,m,b,h));if(y!==`horizontal`&&y!==`vertical`||x==null||v==null)return null;var S=v.height,C=v.width,ee=v.x,w=v.y;return P.createElement(sn,B({},g,{id:h,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:u,hide:l,label:d,legendType:f,xAxisId:p,yAxisId:m,points:x,layout:y,height:S,width:C,left:ee,top:w,needClip:_}))}function ln(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,c)=>{var l=ge(e,o);if(t===`horizontal`)return{x:me({axis:n,ticks:i,bandSize:s,entry:e,index:c}),y:(b(l)?null:r.scale.map(l))??null,value:l,payload:e};var u=b(l)?null:n.scale.map(l),d=me({axis:r,ticks:a,bandSize:s,entry:e,index:c});return u==null||d==null?null:{x:u,y:d,value:l,payload:e}}).filter(Boolean)}function un(e){var t=Re(e,U),n=Te();return P.createElement(he,{id:t.id,type:`line`},e=>P.createElement(P.Fragment,null,P.createElement(ye,{legendPayload:Qt(t)}),P.createElement($t,{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:e}),P.createElement(Ne,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),P.createElement(cn,B({},t,{id:e}))))}var dn=P.memo(un,Oe);dn.displayName=`Line`;var fn=[`axis`],pn=(0,P.forwardRef)((e,t)=>P.createElement(je,{chartName:`LineChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:fn,tooltipPayloadSearcher:Ie,categoricalChartProps:e,ref:t})),W=r(),mn=[{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 hn({series:e,loading:t=!1,live:n=!1}){let[r,i]=(0,P.useState)(`raw`),a=(0,P.useMemo)(()=>{let r=e.filter(e=>e.points.length);if(!t&&!n)return r;let i=new Map(r.map(e=>[e.id,e]));for(let e of mn)i.has(e.id)||i.set(e.id,e);return[...i.values()]},[n,t,e]),o=a.some(e=>e.points.length>1);return a.length?(0,W.jsxs)(`section`,{className:`training-metric-workbench`,"aria-label":`Training metrics`,children:[o?(0,W.jsx)(`div`,{className:`training-metric-workbench-controls`,children:(0,W.jsx)(We,{compact:!0,floating:!0,label:`Metric display`,value:r,options:[{value:`raw`,label:`Raw values`},{value:`smoothed`,label:`Smoothed trend`}],onChange:e=>i(e)})}):null,(0,W.jsx)(`div`,{className:`training-metric-chart-grid`,children:a.map(e=>(0,W.jsx)(gn,{display:r,loading:t&&!e.points.length,metric:e,pending:n&&!e.points.length},e.id))})]}):(0,W.jsx)(`div`,{className:`training-run-placeholder`,children:`This run did not report chartable metrics.`})}var gn=(0,P.memo)(function({metric:e,display:t,loading:n,pending:r}){let i=(0,P.useMemo)(()=>t===`smoothed`?yn(e.points,3):e.points,[t,e.points]),a=(0,P.useMemo)(()=>e.points.length?bn(e.points.map(e=>e.value)):null,[e.points]),o=t=>xn(t,e.format),s=e.xLabel??`training step`;return(0,W.jsxs)(`article`,{className:`training-metric-chart-card`,children:[(0,W.jsxs)(`header`,{children:[(0,W.jsxs)(`div`,{className:`training-metric-chart-title`,children:[(0,W.jsx)(`h4`,{children:e.label}),(0,W.jsx)(`span`,{children:e.points.length?`${e.points.length} ${e.points.length===1?`point`:`points`}`:r?`Live`:`No data`})]}),(0,W.jsx)(`div`,{className:`training-metric-chart-header-actions`,children:a?(0,W.jsx)(`strong`,{children:o(a.latest)}):null})]}),e.points.length?(0,W.jsx)(`div`,{className:`training-metric-card-chart`,"aria-label":`${e.label} by ${s}`,children:(0,W.jsx)(Me,{height:`100%`,width:`100%`,children:(0,W.jsxs)(pn,{data:i,margin:{top:18,right:18,bottom:4,left:0},children:[(0,W.jsx)(Ae,{stroke:`var(--border-default)`,strokeDasharray:`3 4`,vertical:!1}),(0,W.jsx)(ke,{axisLine:!1,dataKey:`step`,fontSize:10,stroke:`var(--text-muted)`,tickLine:!1}),(0,W.jsx)(we,{axisLine:!1,dataKey:`value`,domain:e.bounds??(e.format===`percent`?[0,1]:[`auto`,`auto`]),fontSize:10,stroke:`var(--text-muted)`,tickFormatter:o,tickLine:!1,width:66}),(0,W.jsx)(v,{content:t=>(0,W.jsx)(_n,{active:t.active,format:o,label:e.label,payload:t.payload,xLabel:s}),isAnimationActive:!1}),(0,W.jsx)(dn,{activeDot:{fill:`var(--accent-primary)`,r:5},dataKey:`value`,dot:{fill:`var(--accent-primary)`,r:2.5},isAnimationActive:!1,stroke:`var(--accent-primary)`,strokeWidth:2,type:`monotone`})]})})}):(0,W.jsxs)(`div`,{className:n?`training-metric-chart-empty is-loading`:`training-metric-chart-empty`,children:[n?(0,W.jsxs)(`span`,{className:`sr-only`,children:[`Loading `,e.label]}):null,n?null:(0,W.jsx)(`span`,{children:r?`Waiting for rollout…`:`No data reported`})]}),a?(0,W.jsxs)(`dl`,{className:`training-metric-card-stats`,children:[(0,W.jsx)(G,{label:`Mean`,value:o(a.mean)}),(0,W.jsx)(G,{label:`Min`,value:o(a.min)}),(0,W.jsx)(G,{label:`Max`,value:o(a.max)}),(0,W.jsx)(G,{label:`Std. dev.`,value:o(a.standardDeviation)})]}):null]})});function _n({active:e,payload:t,label:n,format:r,xLabel:i}){if(!e||!t.length)return null;let a=t[0]?.payload;return typeof a?.value==`number`?(0,W.jsxs)(`div`,{className:`training-chart-tooltip`,children:[(0,W.jsxs)(`strong`,{children:[vn(i),` `,String(a.step??`—`)]}),(0,W.jsx)(`dl`,{children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:n}),(0,W.jsx)(`dd`,{children:r(a.value)})]})})]}):null}function vn(e){return e.replace(/^./,e=>e.toUpperCase())}function G({label:e,value:t}){return(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:e}),(0,W.jsx)(`dd`,{children:t})]})}function yn(e,t){return e.map((n,r)=>{let i=e.slice(Math.max(0,r-t+1),r+1);return{step:n.step,value:i.reduce((e,t)=>e+t.value,0)/i.length}})}function bn(e){let t=[...e].sort((e,t)=>e-t),n=e.reduce((e,t)=>e+t,0)/e.length,r=e.reduce((e,t)=>e+(t-n)**2,0)/e.length;return{latest:e.at(-1),mean:n,min:t[0],max:t.at(-1),standardDeviation:Math.sqrt(r)}}function xn(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)}var Sn=n();function Cn(e){let t=(0,P.useId)(),[n,r]=(0,P.useState)(null),i=e=>{let t=e.currentTarget.getBoundingClientRect();r({left:Math.max(12,Math.min(t.left,window.innerWidth-292)),top:Math.max(12,Math.min(t.bottom+8,window.innerHeight-168))})};return(0,P.useEffect)(()=>{if(!n)return;let e=()=>r(null),t=t=>{t.key===`Escape`&&e()};return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e),window.removeEventListener(`keydown`,t)}},[n]),{hideTooltip:()=>r(null),triggerProps:{"aria-describedby":n?t:void 0,onPointerEnter:i,onPointerLeave:()=>r(null),onFocus:i,onBlur:()=>r(null)},tooltip:n?(0,Sn.createPortal)((0,W.jsx)(`aside`,{role:`tooltip`,id:t,className:`run-evidence-tooltip`,style:n,children:e}),document.body):null}}function wn({recovery:e,compact:t=!1,sourceJobId:n}){if(!e)return null;let r=j(`runs`,null,{area:`console`,resourceId:`hosted-job:${n??e.sourceJobId}`}),i=j(`runs`,null,{area:`console`,resourceId:`hosted-job:${e.checkpointJobId??e.sourceJobId}`}),a=A(r),o=`${A(i)}#outputs`;return(0,W.jsxs)(`span`,{className:`training-recovery-lineage${t?` compact`:``}`,children:[(0,W.jsx)(`span`,{children:`Resumed from`}),(0,W.jsxs)(`a`,{className:`app-tooltip`,"data-tooltip":`Open source run`,"aria-label":`Open recovery source run ${n??e.sourceJobId}`,href:a,onClick:e=>{e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),Ue(r))},children:[(n??e.sourceJobId).slice(0,6),`…`]}),(0,W.jsxs)(`a`,{className:`app-tooltip`,"data-tooltip":`Inspect recovery checkpoint in source outputs`,"aria-label":`Inspect recovery checkpoint ${e.checkpointId}`,href:o,children:[e.checkpointId.slice(0,6),`…`]}),e.replayGroups?.length?(0,W.jsxs)(`span`,{children:[e.replayCompleted?`Replayed`:`Replaying`,` `,e.replayGroups.length===1?`group`:`groups`,` `,e.replayGroups.map(e=>e.groupIndex+1).join(`, `),` after checkpoint restore · Previous update was not saved`]}):null,(0,W.jsxs)(`span`,{children:[`Checkpoint recovery`,t?``:` · policy v${e.policyVersion} · ${e.completedGroups} inherited groups · ${e.optimizerStateRestored?`optimizer checkpoint restored`:`optimizer checkpoint not restored yet`}`]})]})}function Tn({continuation:e,recovery:t,compact:n=!1}){if(t)return(0,W.jsx)(wn,{recovery:t,compact:n});if(!e)return null;let r=A(j(`runs`,null,{area:`console`,resourceId:`hosted-run:${e.sourceJobId}`})),i=e=>`${e.slice(0,6)}…`;return(0,W.jsxs)(`div`,{className:`training-run-lineage${n?` training-run-lineage-compact`:``}`,children:[n?null:(0,W.jsx)(`span`,{children:`Continues from`}),(0,W.jsxs)(`a`,{href:r,"aria-label":`Open parent run ${e.sourceJobId}`,children:[(0,W.jsx)(Xe,{size:12,"aria-hidden":!0}),i(e.sourceJobId)]}),(0,W.jsxs)(`a`,{href:`${r}#outputs`,"aria-label":`Inspect checkpoint ${e.checkpointId} in parent run outputs`,children:[(0,W.jsx)(rt,{size:12,"aria-hidden":!0}),i(e.checkpointId)]})]})}function En({continuation:e}){return e?.optimizerMode===`reset`?(0,W.jsx)(`span`,{className:`training-optimizer-reset app-tooltip`,"data-tooltip":`Optimizer state reset; parent adapter weights retained`,"aria-label":`Optimizer state reset for this run`,children:`Optimizer reset`}):null}function Dn({continuation:e}){return(0,W.jsxs)(`div`,{className:`training-adapter-stack`,"aria-label":`Continual adapter lineage`,children:[(0,W.jsxs)(`div`,{className:`training-adapter-parent`,children:[(0,W.jsx)(`span`,{children:`Frozen parent`}),(0,W.jsx)(`b`,{children:e.parentRank?`Rank ${e.parentRank}`:`Rank unavailable`})]}),(0,W.jsxs)(`div`,{className:`training-adapter-current`,children:[(0,W.jsx)(`strong`,{children:`Continual learning`}),(0,W.jsx)(`span`,{children:`This update`}),(0,W.jsx)(`b`,{children:e.trainableRank?`Rank ${e.trainableRank}`:`Rank unavailable`}),(0,W.jsx)(`small`,{children:e.materialized?`Parent materialized`:`Materialization pending`})]})]})}function On({enabled:e}){let t=e===void 0?`Continual learning configuration is loading.`:`Continual learning ${e?`is configured`:`is not configured`} for this run. This setting does not indicate current execution.`,{triggerProps:n,tooltip:r}=Cn(t);return(0,W.jsxs)(`span`,{...n,tabIndex:0,className:`training-continual-setting`,"aria-label":t,children:[`Continual learning`,` `,(0,W.jsxs)(`small`,{className:`training-continual-badge${e===void 0?` pending`:e?``:` off`}`,children:[e?(0,W.jsx)(Ye,{size:10,"aria-hidden":`true`}):null,e===void 0?`…`:e?`On`:`Off`]}),r]})}function K({label:e,value:t=e,tone:n,pulse:r=!1}){return(0,W.jsxs)(`span`,{className:`labs-status-badge ${n??kn(t)}${r?` is-live`:``}`,title:e,children:[r?(0,W.jsx)(`span`,{"aria-hidden":`true`,className:`labs-status-live-dot`}):null,(0,W.jsx)(`span`,{className:`labs-status-badge-label`,children:e})]})}function kn(e){let t=e.trim().toLowerCase().replaceAll(`_`,` `);return t.includes(`ready`)||t.includes(`passed`)||t.includes(`succeeded`)||t.includes(`published`)||t.includes(`released`)||t.includes(`merged`)||t.includes(`imported`)?`positive`:t.includes(`planning`)||t.includes(`applying`)||t.includes(`running`)||t.includes(`evaluating`)||t.includes(`pushing`)?`info`:t.includes(`awaiting`)||t.includes(`paused`)||t.includes(`pr open`)||t.includes(`blocked`)||t.includes(`review`)||t.includes(`dirty`)||t.includes(`pending`)?`warning`:t.includes(`failed`)||t.includes(`rejected`)||t.includes(`closed`)||t.includes(`error`)||t.includes(`disabled`)?`negative`:`neutral`}var An=[`baseline`,`adaptation`,`candidate_adaptation`,`candidate`];function q(e){let t=new Map;for(let n of e){let e=`${n.phase}\u0000${n.taskId}`,r=t.get(e);(!r||n.startedAt>r.startedAt||n.startedAt===r.startedAt&&n.attemptId>r.attemptId)&&t.set(e,n)}return[...t.values()]}function jn(e){let t=q(e.attempts);return Object.fromEntries(An.map(e=>{let n=t.filter(t=>t.phase===e),r=n.map(e=>e.costUsd).filter(e=>e!==null);return[e,{inputTokens:n.reduce((e,t)=>e+t.inputTokens,0),outputTokens:n.reduce((e,t)=>e+t.outputTokens,0),totalTokens:n.reduce((e,t)=>e+t.totalTokens,0),costUsd:r.length?r.reduce((e,t)=>e+t,0):null}]}))}function Mn(e){let t=q(e.attempts??[]),{summary:n,pairs:r}=Ke({attempts:t});return{...n,pairs:r,baselinePassedCount:r.filter(e=>e.baseline.passed).length,refinedPassedCount:r.filter(e=>e.refined.passed).length,cohorts:{adaptation:n.cohorts.adaptation,held_out:n.cohorts.heldOut}}}function J(e){if(!e)return[];let t=new Map;for(let n of[...e.modelTasksets??[],...e.tasksets??[]])t.set(`${n.id}:${n.revision}:${n.contentHash}`,n);return[...t.values()]}function Y(e,t){return(t?.modelRuns??[]).filter(t=>t.modelId===e.id).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))??[]}function X(e,t,n){if(!n)return[];let r=t.filter(t=>t.target.kind===`model`&&t.target.id===e.id),i=new Set(r.flatMap(e=>e.target.kind===`model`&&e.target.trainingPlanId?[e.target.trainingPlanId]:[])),a=new Set(r.flatMap(e=>e.tasksetRef?[e.tasksetRef.id]:[]));return e.tasksetId&&a.add(e.tasksetId),n.plans.filter(t=>t.modelId===e.id||i.has(t.id)||t.modelId===null&&a.has(t.tasksetId)).sort((e,t)=>t.createdAt.localeCompare(e.createdAt))}function Z(e,t,n){if(!n)return[];let r=new Set(X(e,t,n).map(e=>e.id)),i=new Set(Y(e,n).map(e=>e.id));return n.jobs.filter(t=>r.has(t.planId)||t.metadata.modelProjectId===e.id||typeof t.metadata.modelRunId==`string`&&i.has(t.metadata.modelRunId)).sort((e,t)=>t.createdAt.localeCompare(e.createdAt))}function Nn(e,t,n){if(!n)return[];let r=new Set(X(e,t,n).map(e=>e.tasksetId));for(let n of t)n.target.kind===`model`&&n.target.id===e.id&&n.tasksetRef&&r.add(n.tasksetRef.id);return e.tasksetId&&r.add(e.tasksetId),J(n).filter(e=>r.has(e.id))}function Pn(e,t,n){if(!n)return[];let r=X(e,t,n),i=new Map(r.map(e=>[e.id,e])),a=Z(e,t,n),o=new Map(a.map(e=>[e.id,e])),s=Fn(e,t,n),c=new Set(a.map(e=>e.id));return n.models.filter(t=>t.modelId===e.id||c.has(t.jobId)).sort((e,t)=>e.importedAt.localeCompare(t.importedAt)).map((e,t)=>{let r=o.get(e.jobId)??null;return{lineage:e,number:t+1,job:r,plan:r?i.get(r.planId)??null:null,taskset:J(n).find(t=>t.id===e.tasksetId)??null,current:s?.modelArtifactLineageId===e.id}}).sort((e,t)=>t.number-e.number)}function Fn(e,t,n){if(!n)return null;let r=new Set(Z(e,t,n).map(e=>e.id)),i=new Set(n.models.filter(t=>t.modelId===e.id||r.has(t.jobId)).map(e=>e.id)),a=new Set(t.flatMap(t=>t.target.kind===`model`&&t.target.id===e.id&&t.tasksetRef?[t.tasksetRef.id]:[]));return e.tasksetId&&a.add(e.tasksetId),n.modelBindings.filter(t=>t.status===`active`&&t.role===`chat_manual`&&(t.roleTargetId===e.id||a.has(t.roleTargetId)||t.roleTargetId==="default"&&i.has(t.modelArtifactLineageId))).sort((e,t)=>t.promotedAt.localeCompare(e.promotedAt))[0]??null}function In(e,t=1e3){let[n,r]=(0,P.useState)(()=>Date.now());return(0,P.useEffect)(()=>{if(!e)return;r(Date.now());let n=window.setInterval(()=>r(Date.now()),t);return()=>window.clearInterval(n)},[e,t]),n}var Ln=new Set([`queued`,`starting`,`running`,`reconciling`,`cancelling`]);function Q(e){return Ln.has(e)}function $({job:e,lifecycleRun:t}){return t?.status===`running`&&(e?.status===`cancelling`||e?.status===`reconciling`)?e.status:t?.status??e?.status??`not_run`}function Rn({status:e}){let t=Q(e);return(0,W.jsx)(K,{label:m(e),pulse:t,tone:t?`positive`:void 0,value:e})}function zn({workproduct:e,runs:t,training:n,onOpenDataset:r,onOpenEntry:i,onNewRun:a,readOnly:o=!1,mode:s=`training`}){let c=n.payload,l=(0,P.useMemo)(()=>Z(e,t,c),[t,c,e]),u=(0,P.useMemo)(()=>Pn(e,t,c),[t,c,e]),d=(0,P.useMemo)(()=>X(e,t,c),[t,c,e]),m=(0,P.useMemo)(()=>new Map(d.map(e=>[e.id,e])),[d]),h=Y(e,c),g=J(c),_=c?.comparisonSeriesEntries??[],v=(0,P.useMemo)(()=>Wn(Un(l,u,h),s),[l,h,s,u]),[y,b]=(0,P.useState)(!1),x=y?v:v.slice(0,5),S=v.length,C=In(v.some(e=>Q($(e)))),ee=(0,P.useMemo)(()=>{let e=S,t=new Map;for(let n of v)t.set(n.key,e),--e;return t},[v,S]);function w(e){i(e.key)}return(0,W.jsxs)(`section`,{className:`labs-model-version-index`,"aria-label":`Model runs`,children:[(0,W.jsx)(Ze,{title:s===`evals`?`Evaluations`:`Training Runs`,description:s===`evals`?`Evaluation-only runs, held-out results, and grader evidence.`:`Training runs, optimizer progress, checkpoints, and immutable outputs.`,actions:!o&&s===`training`?(0,W.jsx)(`button`,{className:`training-button`,type:`button`,onClick:a,children:`New training run`}):null}),(0,W.jsx)(`div`,{className:`training-table-wrap`,children:(0,W.jsxs)(`table`,{className:`training-data-table labs-model-runs-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`Run`}),(0,W.jsx)(`th`,{children:`Status`}),(0,W.jsx)(`th`,{children:`Method`}),(0,W.jsx)(`th`,{children:`Based on`}),(0,W.jsx)(`th`,{children:`Taskset`}),(0,W.jsx)(`th`,{children:`Result`}),(0,W.jsx)(`th`,{children:`Duration`}),(0,W.jsx)(`th`,{children:`Updated`})]})}),(0,W.jsxs)(`tbody`,{children:[v.length?null:(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:8,children:(0,W.jsx)(`div`,{className:`training-run-placeholder`,children:`No runs yet.`})})}),x.map(e=>{let t=ee.get(e.key)??null,n=e.version?.plan??(e.job?m.get(e.job.planId)??null:null),i=e.version?.taskset??g.find(t=>t.id===(e.lifecycleRun?.taskset.id??n?.tasksetId))??null,a=e.version;return(0,W.jsxs)(`tr`,{onClick:()=>w(e),children:[(0,W.jsx)(`td`,{children:(0,W.jsxs)(`button`,{className:`labs-version-row-button`,type:`button`,onClick:t=>{t.stopPropagation(),w(e)},children:[(0,W.jsx)(`strong`,{children:`Run ${t}`}),(0,W.jsx)(`small`,{children:a?`Created Version ${a.number}`:e.lifecycleRun?.kind===`evaluation`?`Evaluation`:e.lifecycleRun?.kind===`rollout_smoke`?`Preflight rollout`:`Training`})]})}),(0,W.jsx)(`td`,{children:(0,W.jsx)(Rn,{status:$(e)})}),(0,W.jsx)(`td`,{children:e.lifecycleRun?.kind===`evaluation`?`Evaluation`:f(e.lifecycleRun?.method??n?.recipe.method??Jn(e.job))}),(0,W.jsx)(`td`,{children:Vn(e.lifecycleRun,_,e.job)}),(0,W.jsx)(`td`,{children:i?(0,W.jsx)(`button`,{className:`labs-version-dataset-link`,type:`button`,onClick:e=>{e.stopPropagation(),r(i.id)},children:i.name}):typeof e.job?.metadata.tasksetId==`string`?e.job.metadata.tasksetId:`Unavailable`}),(0,W.jsx)(`td`,{children:qn(e)}),(0,W.jsx)(`td`,{children:Yn(e,C)}),(0,W.jsx)(`td`,{children:p(e.lifecycleRun?.updatedAt??a?.lineage.importedAt??e.job?.updatedAt??``)})]},e.key)})]})]})}),v.length>5?(0,W.jsx)(`div`,{className:`labs-model-run-list-actions`,children:(0,W.jsx)(`button`,{className:`training-button secondary labs-compact-button`,type:`button`,onClick:()=>b(e=>!e),children:y?`Show latest 5`:`Show all ${v.length} activities`})}):null]})}function Bn({workproduct:e,runs:t,training:n,onOpenDataset:r,onOpenEntry:i,onToast:a,readOnly:o=!1}){let s=n.payload,c=(0,P.useMemo)(()=>Pn(e,t,s),[t,s,e]),l=Fn(e,t,s);async function u(t){if(o)return;let r=c.find(e=>e.lineage.id===t);if(!r||!Ge(r.lineage)||!window.confirm(`Set Version ${r.number} as the default for ${e.name}?`))return;let i=await n.actions.bindModel(r.lineage.id,`chat_manual`,e.id);a(i?`Version ${r.number} is now the project default.`:`The default Version could not be changed.`,i?`success`:`error`)}async function d(){if(o||!l?.rollbackTargetBindingId||!window.confirm(`Restore the previous default Version for ${e.name}?`))return;let t=await n.actions.rollbackModelBinding(l.id);a(t?`The previous default Version has been restored.`:`The default Version could not be restored.`,t?`success`:`error`)}async function m(e,t){if(o)return;let r=await n.actions.setModelPinned(e,t);a(r?t?`Version pinned.`:`Version unpinned.`:`Version pin could not be changed.`,r?`success`:`error`)}return(0,W.jsxs)(`section`,{className:`labs-model-version-index`,"aria-label":`Model versions`,children:[(0,W.jsxs)(`header`,{className:`labs-model-section-intro`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h1`,{children:`Model Versions`}),(0,W.jsx)(`p`,{children:`Trained outputs that can be evaluated, served, and selected as the project default.`})]}),(0,W.jsxs)(`span`,{children:[c.length,` trained`]})]}),(0,W.jsx)(`div`,{className:`training-table-wrap`,children:(0,W.jsxs)(`table`,{className:`training-data-table labs-model-versions-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`Version`}),(0,W.jsx)(`th`,{children:`Status`}),(0,W.jsx)(`th`,{children:`Training`}),(0,W.jsx)(`th`,{children:`Taskset`}),(0,W.jsx)(`th`,{children:`Evaluation`}),(0,W.jsx)(`th`,{children:`Created`}),(0,W.jsx)(`th`,{children:(0,W.jsx)(`span`,{className:`sr-only`,children:`Actions`})})]})}),(0,W.jsxs)(`tbody`,{children:[c.length?null:(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:7,children:(0,W.jsx)(`div`,{className:`training-run-placeholder`,children:`No trained Versions yet. A successful run will appear here.`})})}),c.map(e=>{let t=l?.modelArtifactLineageId===e.lineage.id;return(0,W.jsxs)(`tr`,{onClick:()=>i(e.job?`job:${e.job.id}`:`version:${e.lineage.id}`),children:[(0,W.jsx)(`td`,{children:(0,W.jsxs)(`button`,{className:`labs-version-row-button`,type:`button`,onClick:()=>i(e.job?`job:${e.job.id}`:`version:${e.lineage.id}`),children:[(0,W.jsxs)(`strong`,{children:[`Version `,e.number]}),(0,W.jsx)(`small`,{children:Qn(e.lineage.id)})]})}),(0,W.jsx)(`td`,{children:(0,W.jsx)(Zn,{job:e.job,version:e})}),(0,W.jsx)(`td`,{children:f(e.plan?.recipe.method??Jn(e.job))}),(0,W.jsx)(`td`,{children:e.taskset?(0,W.jsx)(`button`,{className:`labs-version-dataset-link`,type:`button`,onClick:t=>{t.stopPropagation(),r(e.taskset.id)},children:e.taskset.name}):`Unavailable`}),(0,W.jsx)(`td`,{children:(0,W.jsx)(Xn,{job:e.job,version:e})}),(0,W.jsx)(`td`,{children:p(e.lineage.importedAt)}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`div`,{className:`training-table-actions`,children:[(0,W.jsx)(`button`,{"aria-pressed":e.lineage.pinned||t,className:`labs-version-icon-button`,disabled:o||t,title:t?`The active Version stays pinned`:e.lineage.pinned?`Unpin Version`:`Pin Version`,type:`button`,onClick:t=>{t.stopPropagation(),m(e.lineage.id,!e.lineage.pinned)},children:(0,W.jsx)(Je,{size:14})}),e.current?null:(0,W.jsx)(`button`,{className:`training-button secondary`,disabled:o||!Ge(e.lineage),type:`button`,onClick:t=>{t.stopPropagation(),u(e.lineage.id)},children:`Set as default`}),e.current&&l?.rollbackTargetBindingId?(0,W.jsx)(`button`,{className:`training-button secondary`,disabled:o,type:`button`,onClick:e=>{e.stopPropagation(),d()},children:`Roll back`}):null,(0,W.jsx)(`button`,{"aria-label":`Download Version ${e.number}`,className:`labs-version-icon-button`,type:`button`,onClick:t=>{t.stopPropagation(),n.actions.downloadModelPackage(e.lineage.id)},children:(0,W.jsx)(qe,{size:14})})]})})]},e.lineage.id)})]})]})})]})}function Vn(e,t,n){let r=e?.comparisonSeriesEntry??null,i=r?t.find(e=>e.id===r.entryId)??null:null;if(!i)return typeof n?.metadata.parentHostedArtifactId==`string`?`Prior hosted run`:e?.kind===`evaluation`?`Evaluated Model Version`:`Frozen base`;if(i.parent.kind===`base_model`)return`Frozen base`;let a=t.find(e=>e.seriesId===i.seriesId&&e.modelVersionId===i.parent.id)??null;return a?`${a.label} · Model Version`:`Prior Model Version`}function Hn(e,t){let n=new Map(t.flatMap(e=>e.job?[[e.job.id,e]]:[])),r=e.map(e=>({key:`job:${e.id}`,job:e,version:n.get(e.id)??null})),i=new Set(e.map(e=>e.id));for(let e of t)e.job&&i.has(e.job.id)||r.push({key:`version:${e.lineage.id}`,job:e.job,version:e});return r.sort((e,t)=>Gn(t).localeCompare(Gn(e)))}function Un(e,t,n){let r=new Map(e.flatMap(e=>typeof e.metadata.modelRunId==`string`?[[e.metadata.modelRunId,e]]:[])),i=new Map(t.flatMap(e=>e.job?[[e.job.id,e]]:[])),a=new Map(t.map(e=>[e.lineage.id,e])),o=new Set,s=n.map(t=>{let n=r.get(t.id)??e.find(e=>e.id===t.id)??null;n&&o.add(n.id);let s=n?i.get(n.id):void 0,c=t.adapterArtifactLineageId?a.get(t.adapterArtifactLineageId):void 0;return{key:`model-run:${t.id}`,job:n,lifecycleRun:t,version:s??c??null}});for(let t of e)o.has(t.id)||s.push({key:`job:${t.id}`,job:t,lifecycleRun:null,version:i.get(t.id)??null});return s.sort((e,t)=>Kn(t).localeCompare(Kn(e)))}function Wn(e,t){return e.filter(e=>t===`evals`?e.lifecycleRun?.kind===`evaluation`:e.lifecycleRun?.kind!==`evaluation`)}function Gn(e){return e.version?.lineage.importedAt??e.job?.updatedAt??e.job?.createdAt??``}function Kn(e){return e.lifecycleRun?.updatedAt??e.job?.updatedAt??e.job?.createdAt??``}function qn(e){if(e.version)return`Version ${e.version.number}`;if(e.lifecycleRun?.kind===`evaluation`&&e.lifecycleRun.receipt?.schemaVersion===`openpond.modelEvaluationReceipt.v1`){let t=e.lifecycleRun.receipt.foregroundTokenDelta;return`${t>0?`+`:``}${t.toLocaleString()} tokens`}return e.lifecycleRun?.reward?`Reward ${e.lifecycleRun.reward.raw.toFixed(3)}`:e.lifecycleRun?.status===`failed`||e.job?.status===`failed`?`Failed`:e.lifecycleRun?.status===`succeeded`||e.job?.status===`succeeded`?`Completed`:e.lifecycleRun?.status===`cancelled`||e.job?.status===`cancelled`?`Cancelled`:`No output`}function Jn(e){let t=e?.metadata.trainingMethod;return t===`sft`||t===`dpo`||t===`grpo`||t===`ppo`||t===`sdft`||t===`opd`||t===`opsd`||t===`sdpo`?t:null}function Yn(e,t){let n=$(e),r=e.lifecycleRun?.startedAt??e.job?.startedAt??e.job?.createdAt??null,i=e.lifecycleRun?d(e.lifecycleRun.status,e.lifecycleRun.completedAt,e.lifecycleRun.updatedAt):e.job?d(e.job.status,e.job.completedAt,e.job.updatedAt):null;return Q(n)?h(r,new Date(t).toISOString()):h(r,i)}function Xn({job:e,version:t}){let n=t?!!He(t.lineage)||e?.metadata.frozenEvaluationComplete===!0||!!t.lineage.frozenEvaluationArtifactId||!!t.lineage.managedServing?.customerBindingAllowed:!1,r=t?!!He(t.lineage)||Ve(t.lineage):!1,i=t?n?r?`Passed`:`Failed`:`Not run`:e&&[`queued`,`starting`,`running`,`cancelling`,`reconciling`].includes(e.status)?`Pending`:`Not run`;return(0,W.jsx)(K,{label:i,value:t?r?`passed`:n?`failed`:`not_run`:`not_run`})}function Zn({job:e,version:t}){let n=!!(e&&[`queued`,`starting`,`running`,`cancelling`,`reconciling`].includes(e.status));return(0,W.jsx)(K,{label:t?t.current?`Active`:`Available`:n?`Pending`:`Not created`,value:t?t.current?`current`:`ready`:n?`running`:`not_run`})}function Qn(e){let t=e.replace(/^baseline_run_/,``).replace(/^(?:training_job_|lineage_)(?:artifact_)?/,``).replace(/^model_run_/,``);return t.length<=12?t:t.slice(-8)}export{Tn as C,et as D,hn as E,nt as O,Dn as S,Cn as T,Mn as _,Hn as a,On as b,$ as c,Z as d,X as f,q as g,jn as h,Wn as i,Y as l,Pn as m,Bn as n,Rn as o,J as p,Un as r,Q as s,zn as t,Nn as u,K as v,wn as w,En as x,kn as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-B6XX_0h3.js";import"./icons-Bk2b68aC.js";import{L as r,R as i}from"./training-model-data-CIysl8wH.js";import{t as a}from"./image-0DPVY6Ev.js";import{t as o}from"./loader-circle-y-SSPwpk.js";import{t as s}from"./maximize-2-CByk9-zN.js";import{t as c}from"./x-Jx2jlP9u.js";import{Gt as l,Tn as u,un as d}from"./App-CCuh99JW.js";var f=e(t(),1),p=n();function m({connection:e,expanded:t,selection:n,onClose:i,onResizeStart:d,onToggleExpanded:m}){let v=`${n.scope}:${n.name}`,[y,b]=(0,f.useState)({selectionKey:v,path:n.files[0]??`SKILL.md`}),x=y.selectionKey===v&&n.files.includes(y.path)?y.path:n.files[0]??`SKILL.md`,[S,C]=(0,f.useState)(null),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)(!1);(0,f.useEffect)(()=>{if(!e){C(null),T(`Connect to the local OpenPond server to load this skill source.`);return}let t=!1;return D(!0),T(null),C(null),u.skillSourceFile(e,n.scope,n.name,x).then(e=>{t||C(e)}).catch(e=>{t||T(e instanceof Error?e.message:String(e))}).finally(()=>{t||D(!1)}),()=>{t=!0}},[e,x,n.name,n.scope]);let O=x.split(`/`).at(-1)??x;return(0,p.jsxs)(`aside`,{className:`workspace-diff-panel native-skill-sidebar lab-skill-sidebar ${t?`expanded`:``}`,"aria-label":`Skill package source: ${n.name}`,children:[t?null:(0,p.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize skill source`,onPointerDown:d}),(0,p.jsxs)(`div`,{className:`workspace-diff-topbar native-skill-sidebar-topbar`,children:[(0,p.jsx)(`div`,{className:`workspace-diff-tabs`,role:`tablist`,"aria-label":`Selected skill file`,children:(0,p.jsxs)(`button`,{className:`workspace-diff-tab active`,type:`button`,role:`tab`,"aria-selected":!0,children:[(0,p.jsx)(g,{path:x}),(0,p.jsx)(`span`,{children:O})]})}),(0,p.jsxs)(`div`,{className:`workspace-diff-toolbar-actions`,children:[(0,p.jsx)(`button`,{className:`diff-icon-button`,type:`button`,title:t?`Dock sidebar`:`Expand sidebar`,"aria-label":t?`Dock sidebar`:`Expand sidebar`,onClick:m,children:t?(0,p.jsx)(r,{size:14}):(0,p.jsx)(s,{size:14})}),(0,p.jsx)(`button`,{className:`diff-icon-button`,type:`button`,title:`Close skill source`,"aria-label":`Close skill source`,onClick:i,children:(0,p.jsx)(c,{size:14})})]})]}),(0,p.jsxs)(`div`,{className:`lab-skill-source-layout`,children:[(0,p.jsxs)(`nav`,{className:`lab-skill-file-list`,"aria-label":`${n.name} package files`,children:[(0,p.jsx)(`div`,{className:`lab-skill-file-list-heading`,children:`Package files`}),n.files.map(e=>(0,p.jsxs)(`button`,{"aria-current":e===x?`page`:void 0,className:e===x?`active`:void 0,type:`button`,title:e,onClick:()=>b({selectionKey:v,path:e}),children:[(0,p.jsx)(g,{path:e}),(0,p.jsx)(`span`,{children:e})]},e))]}),(0,p.jsxs)(`div`,{className:`native-skill-sidebar-body lab-skill-source-body`,children:[(0,p.jsxs)(`header`,{className:`native-skill-source-header`,children:[(0,p.jsxs)(`div`,{className:`lab-skill-source-title-row`,children:[(0,p.jsx)(`h2`,{children:n.name}),(0,p.jsx)(`span`,{children:h(n.scope)})]}),(0,p.jsx)(`p`,{children:n.description}),(0,p.jsx)(`code`,{children:n.packagePath})]}),E?(0,p.jsxs)(`div`,{className:`lab-skill-source-state`,children:[(0,p.jsx)(o,{className:`spin`,size:16}),` Loading source…`]}):w?(0,p.jsx)(l,{error:w}):S?.isBinary?(0,p.jsxs)(`div`,{className:`lab-skill-source-state`,children:[(0,p.jsx)(a,{size:18}),`Binary asset · `,_(S.byteSize)]}):(0,p.jsx)(`pre`,{className:`native-skill-markdown-source`,"aria-label":`${O} source`,children:(0,p.jsx)(`code`,{children:S?.content??``})})]})]})]})}function h(e){return e===`codex`?`Codex skill`:e===`extension`?`GitHub extension`:`OpenPond skill`}function g({path:e}){let t=e.split(`.`).at(-1)?.toLowerCase();return[`avif`,`gif`,`jpeg`,`jpg`,`png`,`webp`].includes(t??``)?(0,p.jsx)(a,{size:14}):[`md`,`txt`,`yaml`,`yml`].includes(t??``)?(0,p.jsx)(d,{size:14}):(0,p.jsx)(i,{size:14})}function _(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}export{m as LabSkillSidebar};
|