openpond 0.2.61 → 0.2.62
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 +3264 -18
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-DYRBDJRU.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-UTLP7C3I.js} +1 -1
- package/dist/chunks/{actions-command-LOHNQUWP.js → actions-command-6LF4Z4WK.js} +1 -1
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-N2H3RBEN.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-Q2VWWJNX.js → app-server-connected-apps-3T546FE7.js} +1 -1
- package/dist/chunks/app-server-evaluations-TXD747QA.js +2 -0
- package/dist/chunks/{app-server-harness-services-2PSZBT7U.js → app-server-harness-services-BBCDV5P3.js} +1 -1
- package/dist/chunks/app-server-runtime-VEJPDAFP.js +2 -0
- package/dist/chunks/{apps-7PIBF32Q.js → apps-CTT2XYRR.js} +1 -1
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-2IIBCCOK.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-2UDAKLJ4.js} +1 -1
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-3R4MSE2S.js} +1 -1
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-47AXSBPV.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/chunk-4PZWGNX4.js +86 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-4RZBGKT7.js} +1 -1
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-4TM75R7V.js} +1 -1
- package/dist/chunks/chunk-4U2FNXQW.js +2 -0
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/{chunk-VWJ5IYQP.js → chunk-547AUVKN.js} +1 -1
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-557XSPVS.js} +1 -1
- package/dist/chunks/{chunk-ZHFH2TZN.js → chunk-557YG77L.js} +1 -1
- package/dist/chunks/{chunk-MF35MALN.js → chunk-5A6ER3M2.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-5OSM75X5.js} +1 -1
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-6SH4B7DV.js} +1 -1
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-7JBB4PXS.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-7JXZNCBC.js} +1 -1
- package/dist/chunks/chunk-7KTARW23.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-AKZPMKWP.js} +1 -1
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-AMO5DVKM.js} +2 -2
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-4RHM4WN2.js → chunk-B42QQUZY.js} +1 -1
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-BEI4YULC.js} +1 -1
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-C7M2WBWZ.js} +14 -14
- package/dist/chunks/{chunk-ELYRVTTG.js → chunk-CJUVHE4U.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-EIX2V2KU.js} +1 -1
- package/dist/chunks/{chunk-AWPYTDH4.js → chunk-EWOTDVDJ.js} +1 -1
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-F4TJ7WQV.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-F7D4BMTO.js} +1 -1
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FFWOTZQM.js} +1 -1
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-FUSCTBJI.js} +1 -1
- package/dist/chunks/{chunk-BN5AVRUG.js → chunk-GAQLXFOT.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-GEKORCMN.js} +1 -1
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-GNCEZ3UP.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-GOIKLFXK.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GQGLPKU4.js} +1 -1
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-GSWBNJGZ.js} +1 -1
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-GV3LFSMI.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-GW5SE3FM.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HBLN4OLY.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-4P3X2RXA.js → chunk-HKV7RX5E.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-HXZXDDKW.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-INO67SEN.js} +1 -1
- package/dist/chunks/{chunk-E67M5WGY.js → chunk-IWK3RTLR.js} +1 -1
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-J3B2GM4A.js} +1 -1
- package/dist/chunks/chunk-JCLTFDVW.js +2 -0
- package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-JIFUGA3U.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/{chunk-FWIPHEVA.js → chunk-JX6OX6XE.js} +1 -1
- package/dist/chunks/{chunk-D5ADDBS5.js → chunk-JY3YSI54.js} +1 -1
- package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
- package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
- package/dist/chunks/chunk-LILXHGIA.js +2 -0
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-LJDBR3RN.js} +1 -1
- package/dist/chunks/{chunk-3TYCIYW6.js → chunk-LJPO3TEL.js} +1 -1
- package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LRRBYIGH.js} +2 -2
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-M5IX6VUA.js} +1 -1
- package/dist/chunks/chunk-MEK7DLX3.js +2 -0
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/{chunk-ZBBVRYU3.js → chunk-MNFW5WLD.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-MNXNZDDW.js} +1 -1
- package/dist/chunks/chunk-N5GPINVP.js +2 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-NBE74GLF.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-NE4ESZPT.js} +1 -1
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-NKZNPTLA.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-NLQ2UPN2.js} +1 -1
- package/dist/chunks/chunk-NOSBNHGC.js +18 -0
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-NWOK6NLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/chunk-O3MHHGC5.js +151 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-OCC43RSJ.js} +1 -1
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-P74RR2GB.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-PAE3PQEC.js} +1 -1
- package/dist/chunks/{chunk-M4ZRCRJM.js → chunk-PGO4FRHU.js} +2 -2
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-Q324ZA5M.js → chunk-QAVQJZCM.js} +1 -1
- package/dist/chunks/{chunk-EIIGTADO.js → chunk-RBDUMASL.js} +1 -1
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-RH43WLBX.js} +1 -1
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-RTJCELRR.js} +1 -1
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-SD64CLJX.js} +1 -1
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-SZKFNKWO.js} +1 -1
- package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-T6C5BNXK.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-TGEGXTPR.js} +1 -1
- package/dist/chunks/chunk-TM4VEMNN.js +2 -0
- package/dist/chunks/chunk-TUCKED4T.js +4 -0
- package/dist/chunks/chunk-TVTFEGTU.js +2 -0
- package/dist/chunks/{chunk-HZLV773Y.js → chunk-TW3SRBLU.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-U456UP3N.js} +1 -1
- package/dist/chunks/chunk-UC3FXTDL.js +9 -0
- package/dist/chunks/{chunk-XLULTQLZ.js → chunk-UT6F6AIB.js} +1 -1
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-VAJSRUAB.js} +1 -1
- package/dist/chunks/chunk-VE6ZIGUQ.js +2 -0
- package/dist/chunks/{chunk-GLVR74PX.js → chunk-VI32G77S.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-VK4TPZTA.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-VSQXDS6H.js} +1 -1
- package/dist/chunks/{chunk-4GZ2FPB5.js → chunk-VWRTE64Y.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-WGLVSGFA.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-WQMXEZVE.js} +3 -3
- package/dist/chunks/chunk-X4ZT22SG.js +2 -0
- package/dist/chunks/{chunk-DGPGOBYZ.js → chunk-XSB3T4JZ.js} +1 -1
- package/dist/chunks/{chunk-ZZWAQBA2.js → chunk-XWDFXM3S.js} +1 -1
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-Y2KPHVZK.js} +1 -1
- package/dist/chunks/chunk-ZQHPGEYT.js +2 -0
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-ZXT7V64X.js} +1 -1
- package/dist/chunks/cli-GCSO2OAI.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-BU2RPG33.js} +1 -1
- package/dist/chunks/connected-app-executor-UDE7U4KG.js +2 -0
- package/dist/chunks/{connected-evidence-4J3YXU4O.js → connected-evidence-GXIY2L7C.js} +1 -1
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-V5QXRK5Q.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-FLW6DAJK.js} +1 -1
- package/dist/chunks/{core-commands-JGXU6B4C.js → core-commands-NJ6TGND4.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-DFGJBMVF.js → dataset-preparation-authoring-IUXUQK3L.js} +1 -1
- package/dist/chunks/{datasets-MNHZAZIB.js → datasets-AH56DKLZ.js} +1 -1
- package/dist/chunks/{desktop-test-P23MHAIG.js → desktop-test-PYUTEOWO.js} +1 -1
- package/dist/chunks/{dist-IIFTZWNR.js → dist-5267UT3V.js} +1 -1
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{evaluation-coordination-6NQEH5WU.js → evaluation-coordination-3AUICOC5.js} +1 -1
- package/dist/chunks/{experiment-improvements-M27Z5OF4.js → experiment-improvements-YS7GGPDW.js} +1 -1
- package/dist/chunks/experiments-EJZK7FPT.js +2 -0
- package/dist/chunks/{experiments-signal-R3NNH7WR.js → experiments-signal-NKUIJCIY.js} +1 -1
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-PXUUREHZ.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +2 -0
- package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +2 -0
- package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +3 -0
- package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-37ZFY2LH.js → hosted-profile-candidate-DKEMVIYG.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-UQBMML6K.js → hosted-profile-evaluation-control-ERCXAPZD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-YASS4T6L.js → hosted-profile-evaluation-inspection-Q3AIIIB6.js} +1 -1
- package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +3 -0
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-X2YCFYEJ.js} +1 -1
- package/dist/chunks/{human-review-IJETDOWB.js → human-review-5WM6MSON.js} +1 -1
- package/dist/chunks/{import-WLLUIDS6.js → import-JWZSZCE4.js} +1 -1
- package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +2 -0
- package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +2 -0
- package/dist/chunks/{model-projects-AVBQDNYG.js → model-projects-H22KENI4.js} +1 -1
- package/dist/chunks/opchat-3S6TSDZO.js +3 -0
- package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +2 -0
- package/dist/chunks/{organizations-DJRJWC5I.js → organizations-62YNTZTO.js} +1 -1
- package/dist/chunks/{profile-JRS3JNRC.js → profile-ELE2D7HU.js} +1 -1
- package/dist/chunks/project-action-payload-32F4X2BB.js +2 -0
- package/dist/chunks/{project-agent-2KNJFNZI.js → project-agent-O4REKO6T.js} +1 -1
- package/dist/chunks/{published-experiment-source-LFYHKFAO.js → published-experiment-source-DAOTJLIN.js} +1 -1
- package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-776NUSE7.js} +2 -2
- package/dist/chunks/{sandbox-command-IIGTPYN3.js → sandbox-command-UQ26NDIX.js} +1 -1
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-WP6YCGBK.js} +1 -1
- package/dist/chunks/saved-work-PG52WCRQ.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-RPB65PME.js} +1 -1
- package/dist/chunks/{src-4YZF6L6H.js → src-2R4CMCJ5.js} +1 -1
- package/dist/chunks/src-AU6LG7E6.js +421 -0
- package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +2 -0
- package/dist/chunks/{store-chat-resources-CGW7PDCG.js → store-chat-resources-T4LR7K25.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-R62D2HD6.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-25O7BAR2.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-T5E2GUKK.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-5Y4U5L3R.js} +1 -1
- package/dist/chunks/{store-evaluation-results-V5J6L4NV.js → store-evaluation-results-WUVJWCFU.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-HHMM6GNK.js → store-harness-workspaces-IFEFY5CK.js} +1 -1
- package/dist/chunks/{store-human-review-V5H4QDHR.js → store-human-review-ZQNLZRGG.js} +1 -1
- package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +2 -0
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-LOH4F4TF.js} +1 -1
- package/dist/chunks/{store-model-batch-review-KMYPYWJR.js → store-model-batch-review-QO4VVKWC.js} +1 -1
- package/dist/chunks/{store-model-configuration-UXNC4PGY.js → store-model-configuration-C3HSOFD5.js} +1 -1
- package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +2 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-RNIFLJRW.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-DVQ2PP4F.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-LXWFFYCZ.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-4HH7LX6N.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-JLW4GD4Q.js} +1 -1
- package/dist/chunks/{store-task-inbox-LNDCZOYE.js → store-task-inbox-DL5RYFPO.js} +1 -1
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-NJXRXFLC.js} +1 -1
- package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-VRLU6NFX.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-3ZHG4LGI.js} +1 -1
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-KWQD5PRP.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-ZRS3ILF2.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-QDMCQQDJ.js} +1 -1
- package/dist/chunks/{taskset-packages-I7I5KBFP.js → taskset-packages-CBLJFWDQ.js} +1 -1
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-GF272RGC.js} +1 -1
- package/dist/chunks/{training-UBX6E7SK.js → training-DF5UEPY3.js} +1 -1
- package/dist/chunks/{training-error-AYOGHHL2.js → training-error-L5V5IBX3.js} +1 -1
- package/dist/chunks/training-hosted-I2NDBYGS.js +2 -0
- package/dist/chunks/training-hosted-report-4F25RZZ4.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-5RUXYIOF.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-JRY2IE7H.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/hosted-chat.d.ts +28 -0
- package/dist/index.js +1 -1
- package/dist/skills/openpond-cli/SKILL.md +15 -2
- package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
- package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
- package/dist/skills/openpond-cli/references/experiments-and-training.md +155 -10
- package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
- package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
- package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
- package/dist/web/assets/App-DHJVXTI2.js +54 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-BurL61qE.js +1 -0
- package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-DZLErwj0.js} +1 -1
- package/dist/web/assets/AppsView-ttlr9ckQ.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-CpMSfHCK.js} +1 -1
- package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-CEbM980A.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-IKzZsHoI.js → ChatTimelineEntry-BITv20Ze.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-DrKJmJZK.js} +1 -1
- package/dist/web/assets/{CommandMenu-CBY2AJxV.js → CommandMenu-6oj8FUr6.js} +1 -1
- package/dist/web/assets/CommunityView-BzpIq1lD.js +1 -0
- package/dist/web/assets/ComposerAttachments-6en7m_ov.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-ChplO9YP.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DRHgc7j_.js +1 -0
- package/dist/web/assets/FilePagePreview-CW4J_1u7.js +2 -0
- package/dist/web/assets/GetStartedView-CaBk_mX6.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/GettingStartedDialog-JtFLyU3F.js +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-hhcjDifK.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CY8198Y1.js +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +1 -0
- package/dist/web/assets/LabSkillSidebar-HibUEEko.js +1 -0
- package/dist/web/assets/{LabsRoute-DOnw39du.js → LabsRoute-B61l1b8P.js} +8 -8
- package/dist/web/assets/MainChatThread-egKi0gLk.js +2 -0
- package/dist/web/assets/MainPane-2dj6Dg4l.js +95 -0
- package/dist/web/assets/{MainPane-CuBUBA9F.css → MainPane-BwHw3UYp.css} +1 -1
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +1 -0
- package/dist/web/assets/NewProjectDialog-t9Imnb__.js +1 -0
- package/dist/web/assets/OutputsPage-CeGq_F1S.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-VHME5V8j.js} +1 -1
- package/dist/web/assets/ProjectsPage-2TMZoEPB.js +1 -0
- package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +1 -0
- package/dist/web/assets/SettingsView-D2bu3tK_.js +5 -0
- package/dist/web/assets/TeamChatView-CN17AsgA.js +1 -0
- package/dist/web/assets/TerminalOverlay-DlhRpi-X.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-BhhZPPuY.js} +1 -1
- package/dist/web/assets/{TrainingMetricWorkbench-BmzHLwIP.js → TrainingMetricWorkbench-DBy8F1xp.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-DTZslBeW.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-ChEeZffU.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-D_RUXhTi.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-BJxaiDrj.js} +3 -3
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-A28Poeca.js} +1 -1
- package/dist/web/assets/{chat-resources-CItQ4mZD.js → chat-resources-3SvnVeKv.js} +1 -1
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-dYn0pd4Q.js} +1 -1
- package/dist/web/assets/chevron-right-sFx2xRvT.js +1 -0
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-BYNVSWIQ-DWh9SmdB.js} +1 -1
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ZFYI4P6C-BmsNtSkR.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-DTTLbrYt.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-CRMPCFnq.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/copy-DR4ielPn.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-DmttVQ_a.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-d-2GuNvW.js} +1 -1
- package/dist/web/assets/external-link-B4rPiZEp.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-BrIUcUk_.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-DwImGEt-.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-Ds1mkrlW.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-s15GR0Fn.js} +1 -1
- package/dist/web/assets/icons-CK5-nxVC.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-CY-sHbfQ.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-DYrLeSyY.js} +2 -2
- package/dist/web/assets/index-Dezj4Z2p.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-aSvM8YlJ.js} +1 -1
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-vos9H2hz.js} +1 -1
- package/dist/web/assets/loader-circle-cyf35w3i.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-pQmEaoMt.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-DgF6ZVOM.js} +1 -1
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-BPwsKvRB.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-BbMpa0_-.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-CJlccVX3.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-pWurLXbm.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-DlEV241C.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-fnRZSIRc.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-CT3zVKCE.js} +1 -1
- package/dist/web/assets/play-wI_3FLr4.js +1 -0
- package/dist/web/assets/plus-DoJe4fLj.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-Bb8ecExR.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-DXA1xp0A.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-B53QjxMO.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-V1Q4Fcqa.js} +1 -1
- package/dist/web/assets/settings-lists-CtH1A57b.js +5 -0
- package/dist/web/assets/square-BqSK-hv9.js +1 -0
- package/dist/web/assets/square-terminal-Dmgkm5zY.js +1 -0
- package/dist/web/assets/submit-issue-command-DRgUboVW.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-B-BD2K2Q.js} +1 -1
- package/dist/web/assets/{training-managed-adapter-81RrdT1k.js → training-managed-adapter-BXNwgd3P.js} +1 -1
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-14942K_Z.js} +5 -5
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-DdgIcxK3.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-82Y6RjLi.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-BgHXNpq_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-BV4CUWzJ.js → useAgentInventory-B-LNn3up.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CsKv22Hs.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-CPC2wsWm.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-DXOoDN9l.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-Clf4hKt5.js} +1 -1
- package/dist/web/assets/x-IPhrr4ju.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-I1tf8Uxx.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +28 -2
- package/package.json +2 -1
- package/dist/chunks/app-server-evaluations-HAAYVEXB.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
- package/dist/chunks/chunk-UJBEWIR3.js +0 -8
- package/dist/chunks/chunk-V67IFV26.js +0 -86
- package/dist/chunks/chunk-VSUHJ46L.js +0 -18
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
- package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
- package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
- package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-preparation-ZAOGDQXO.js +0 -3
- package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/saved-work-QA46KCME.js +0 -2
- package/dist/chunks/src-E7NWAN5B.js +0 -420
- package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/web/assets/App-Df7uYQGj.css +0 -1
- package/dist/web/assets/App-Yy3l2sdD.js +0 -56
- package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
- package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
- package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
- package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
- package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
- package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
- package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
- package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
- package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
- package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
- package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
- package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
- package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
- package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
- package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
- package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
- package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
- package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
- package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
- package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
- package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
- package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
- package/dist/web/assets/icons-kaq6k88m.js +0 -1
- package/dist/web/assets/index-DUMDOdB2.css +0 -1
- package/dist/web/assets/play-BPPQoqMl.js +0 -1
- package/dist/web/assets/plus-D18vYzHF.js +0 -1
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as X,b as d,c as y,d as h,e as w,f as se,g as p,h as T,i as W,j as Ne,n as ce}from"./chunk-BLKTUFGB.js";import{f as Ee,t as Ce,v as Y}from"./chunk-M6JRS5PA.js";import{F as ze,H as Oe,K as Ue,_b as Je,e as C,gc as $e,jc as Ge,r as qe,sb as De,v as Me}from"./chunk-4M3YW3EQ.js";import{Ia as ve,J as F,O as _e,Ua as He,eb as K,lb as oe,qb as je,ra as ke,wb as Ae}from"./chunk-PBZCXPPC.js";import{t as Re,v as we}from"./chunk-NJLULBTM.js";import{g as ae,k as Pe,n as R,o as re}from"./chunk-VVNV4NNW.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as s}from"./chunk-FTQLQJQV.js";var D=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().positive(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),targetId:e.string().trim().min(1).max(240).nullable()}).strict(),Ve=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,n)=>{t.reduce((i,a)=>i+a.content.length,0)>1e5&&n.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})});var J=e.string().regex(/^[a-f0-9]{64}$/),me=e.object({providerId:e.literal("claude-code"),configurationHash:J,executableHash:J,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:J,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5),maximumTurns:e.number().int().min(1).max(100),holdOpen:e.boolean()}).strict(),yn=e.object({id:e.string().min(1).max(200),receiptId:e.string().min(1).max(200),sessionId:e.uuid(),operationId:e.string().min(1).max(200),action:e.enum(["message","seal"]),text:e.string().max(262144).optional()}).strict().superRefine((t,n)=>{t.action==="message"&&!t.text?.trim()&&n.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&n.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),Sn=e.object({provider:e.literal("claude-code"),sessionId:e.uuid(),requestId:e.string().min(1).max(200),modelId:e.string().min(1).max(500),runtime:me,sourceHash:J,outputHash:J,traceHash:J,runtimeEventRefs:e.array(e.string().min(1).max(200)).min(1).max(2e4),eventCount:e.number().int().positive().max(2e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),cleanupComplete:e.literal(!0)}).strict().superRefine((t,n)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&n.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})});var Z=e.object({providerId:e.literal("codex"),configurationHash:e.string().regex(/^[a-f0-9]{64}$/),accountHash:e.string().regex(/^[a-f0-9]{64}$/),reasoningEffort:e.enum(["low","medium","high","xhigh"]),maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict();var Be=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(F).min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),rewardEligible:e.boolean(),gradingStatus:e.enum(["scored","pending","unscorable","not_configured"]),failureClass:Pe.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,n)=>{let{contentHash:i,...a}=t;R(a)!==i&&n.addIssue({code:"custom",message:"Experiment grading integrity failed."});let r=t.grades.flatMap(o=>o.components);(r.length!==t.grades.length||new Set(r.map(o=>o.graderId)).size!==r.length)&&n.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let o of t.grades){let{contentHash:m,...c}=o;R(c)!==m&&n.addIssue({code:"custom",message:"A retained criterion changed."});for(let P of o.components){let{contentHash:f,...x}=P;R(x)!==f&&n.addIssue({code:"custom",message:"A retained grader result changed."})}}});var l=e.string().trim().min(1).max(200),q=e.string().regex(/^[a-f0-9]{64}$/),pe=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:l,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:q,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),me,Z]).optional(),candidate:e.object({artifactId:l,contentHash:q,preparationId:l,dispatchId:l,baseProfileId:l,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:je.optional(),messages:Ve.optional(),maxOutputTokens:e.number().int().min(1).max(1e6).default(1e5),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:l}).strict()]),Tt=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:l,teamId:l,modelProjectId:l.nullable(),project:D.optional(),taskset:T,taskId:l,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:pe}).strict(),Dn=e.object({modelProjectId:l.nullable(),taskset:T,afterTaskId:l.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Jn=e.object({modelProjectId:l.nullable(),taskset:T,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:l,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:l,split:ke,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:l,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:l.nullable()}).strict(),ee=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:l,revision:e.number().int().positive(),request:Tt,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:l,provider:l,upstreamModelId:e.string().min(1).max(500),configurationHash:q}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:l,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&n.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&n.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),$n=e.object({modelProjectId:l,afterId:l.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Gn=e.object({items:e.array(ee).max(100),nextCursor:l.nullable()}).strict(),Nn=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:ee,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:He.nullable(),grade:F.nullable().optional(),experimentGrade:Be.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:T,initialStateHash:q.nullable(),finalStateHash:q.nullable(),attemptHash:q}).strict(),native:Ae.optional(),providerRequestIds:e.array(l).max(1001),contentHash:q}).strict().superRefine((t,n)=>{let i=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!i!=!!t.native&&n.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!i||R(i)!==R(t.native.source)||t.native.modelConfigurationHash!==t.attempt.policySnapshot?.configurationHash||t.environment.initialStateHash!==null||t.environment.finalStateHash!==null||t.environment.status==="completed"&&(!t.environment.collected||t.output===null||t.native.partialOutputAvailable||t.native.outputHash!==R(t.output)))&&n.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&n.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.experimentGrade.score||t.attempt.gradingStatus!==t.experimentGrade.gradingStatus||t.attempt.passed!==(t.experimentGrade.score===null?null:t.experimentGrade.passed))&&n.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&n.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.grade.score||t.attempt.gradingStatus!==t.grade.gradingStatus||t.attempt.passed!==(t.grade.score===null?null:t.grade.passed))&&n.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))});var $=e.string().trim().min(1).max(240),de=e.string().regex(/^[a-f0-9]{64}$/),ue=e.object({maxOutputTokens:e.number().int().min(1).max(1e6).default(4096),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict();var j=e.object({kind:e.literal("hosted_harness"),modelId:$,maxOutputTokens:ue.shape.maxOutputTokens.removeDefault().optional(),temperature:ue.shape.temperature.removeDefault().optional(),topP:ue.shape.topP.removeDefault().optional(),localRuntime:Z.optional(),candidate:e.object({artifactId:$,contentHash:de,preparationId:$,dispatchId:$,baseProfileId:$,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:oe.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:$,source:oe,modelConfigurationHash:de,packageHash:de,externalDatasetBinding:K.optional()}).strict().superRefine((t,n)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&n.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(t.sourceCandidate??null)!==JSON.stringify(t.source.sourceCandidate??null)&&n.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})});var _=e.string().trim().min(1).max(200),Le=e.string().regex(/^[a-f0-9]{64}$/),It=e.discriminatedUnion("kind",[pe.options[0],e.object({kind:e.literal("fixture")}).strict(),j]),M=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:_,teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:D.optional(),taskset:T,policy:It,population:e.array(Ce).min(1).max(1e4)}).strict().superRefine((t,n)=>{new Set(t.population.map(i=>i.receiptId)).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(i=>i.fixtureId!==null!=(t.policy.kind==="fixture"))&&n.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(i=>!/^(0|[1-9][0-9]*)$/.test(i.seed)||Number(i.seed)>2147483647)&&n.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&n.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),t.policy.kind==="hosted_harness"&&new Set(t.population.map(i=>y([i.taskId,i.seed]))).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Qe=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:_,revision:e.number().int().positive(),teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:D.optional(),operationId:_,taskset:T,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Le,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),metricName:e.string().min(1).max(240),error:e.object({code:_,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{Object.values(t.counts).reduce((i,a)=>i+a,0)!==t.totalCount&&n.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&n.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&n.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&n.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&n.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&n.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),Fe=e.object({summary:Qe,request:M,manifest:Y,policySnapshot:ee.shape.policySnapshot}).strict(),ci=e.object({modelProjectId:_.optional(),projectId:D.shape.id.optional(),afterId:_.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),mi=e.object({items:e.array(Qe).max(100),nextCursor:_.nullable()}).strict(),pi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:Fe,receipts:e.array(Ee).min(1).max(1e4),metric:_e.nullable(),contentHash:Le}).strict();function Pt(t,n){re(n,"Taskset run manifest");let i=t.policy;if(i.kind!=="hosted_harness"||n.execution.kind!=="harness"||y(n.profileEvaluation)!==y(i.source)||y(n.execution.harnessRelease)!==y(i.source.harnessRelease)||n.metadata.profileRepositoryId!==i.profileRepositoryId||n.packageHash!==i.packageHash||n.policy.kind!=="model"||n.policy.model.provider!==(i.localRuntime?.providerId??"openpond")||n.policy.model.model!==i.modelId||n.policy.model.revision!==null||n.policy.model.artifactHash!==(i.candidate?.contentHash??null)||n.policy.model.tokenizerRevision!==null||n.policy.model.chatTemplateHash!==null||n.policy.configurationHash!==i.modelConfigurationHash||n.tasksetRelease.id!==t.taskset.id||n.tasksetRelease.contentHash!==t.taskset.contentHash||y(n.population)!==y(t.population)||n.population.some(a=>a.receiptId!==`evaluation-${R(n.profileEvaluation?.externalDatasetBinding?[n.id,a.taskId,a.seed,a.fixtureId]:[n.id,a.taskId,a.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}s(Pt,"verifyHarnessExperimentManifest");async function di(t){let n=Fe.parse(t),{summary:i,request:a,manifest:r,policySnapshot:o}=n;if(re(r,"Taskset run manifest"),r.contentHash!==i.manifestHash||r.id!==i.id||r.createdAt!==i.createdAt||i.teamId!==a.teamId||i.modelProjectId!==a.modelProjectId||y(i.project??null)!==y(a.project??null)||y(r.metadata.project??null)!==y(a.project??null)||(i.name??null)!==(a.name??null)||i.operationId!==a.operationId||i.policyKind!==a.policy.kind||i.totalCount!==a.population.length||i.metricName!==r.metricPolicy.primaryMetric||y(i.taskset)!==y(a.taskset)||r.tasksetRelease.id!==a.taskset.id||r.tasksetRelease.contentHash!==a.taskset.contentHash||y(r.population)!==y(a.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(a.policy.kind==="fixture"){if(r.policy.kind!=="fixture"||o!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(a.policy.kind==="hosted_harness"){if(Pt(a,r),o!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(r.policy.kind!=="model"||!o||o.modelId!==a.policy.modelId||r.policy.model.provider!==o.provider||r.policy.model.model!==o.upstreamModelId||r.policy.model.revision!==null||r.policy.model.artifactHash!==(a.policy.candidate?.contentHash??null)||r.policy.model.tokenizerRevision!==null||r.policy.model.chatTemplateHash!==null||r.policy.configurationHash!==await h({policy:a.policy,snapshot:o}))throw new Error("Evaluation model differs from its admitted policy.");return n}s(di,"verifyModelTasksetRunDetails");var Xe=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),Rt=e.array(Xe).min(1).max(20),Ke=e.enum(["input","output","expectedOutput","evaluatorContext"]),wt=e.object({destination:Ke,path:Rt,source:Ke,sourcePath:e.array(Xe).max(20)}).strict(),le=e.array(wt).max(100).superRefine((t,n)=>{for(let[i,a]of t.entries())t.slice(0,i).some(r=>r.destination===a.destination&&(Ye(r.path,a.path)||Ye(a.path,r.path)))&&n.addIssue({code:"custom",path:[i,"path"],message:"Mapped destination paths must not overlap."})});function Ye(t,n){return t.length<=n.length&&t.every((i,a)=>i===n[a])}s(Ye,"prefix");var I=e.string().trim().min(1).max(200),z=e.string().regex(/^[a-f0-9]{64}$/),ge=e.object({id:I,revision:e.number().int().positive(),contentHash:z}).strict(),he=e.object({id:I,version:e.string().min(1).max(200),contentHash:z,name:e.string().trim().min(1).max(500).optional(),feedbackKey:ve,release:ge.nullable(),mappings:le.optional()}).strict(),fe=e.object({id:I,version:e.string().min(1).max(200),contentHash:z,mappings:le}).strict(),Ri=e.object({operationId:I,id:I.optional(),expectedRevision:e.number().int().nonnegative(),request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(fe).min(1).max(100).optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&n.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),_t=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:I,teamId:I,revision:e.number().int().positive(),request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),wi=_t.extend({contentHash:z}),_i=e.object({operationId:I,definition:ge}).strict(),ki=e.object({projectId:I.optional(),datasetHash:z.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:I.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),vi=e.object({definition:ge.nullable(),configurationHash:z.optional(),admissionRequestHash:z.optional(),sourceExperimentId:I.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100)}).strict().superRefine((t,n)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&n.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),Hi=e.object({operationId:I,profileRepositoryId:I,definitionId:I,modelId:I,localRuntime:j.shape.localRuntime,maxOutputTokens:j.shape.maxOutputTokens,temperature:j.shape.temperature,topP:j.shape.topP,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:K.optional(),sourceCandidate:j.shape.sourceCandidate}).strict(),ji=e.object({request:M,manifest:Y,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100)}).strict();var We=e.string().trim().min(1).max(200),be=e.object({operationId:We,request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(fe).min(1).max(100).optional(),sourceExperimentId:We.optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&n.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var u=e.string().trim().min(1).max(200),v=e.string().regex(/^[a-f0-9]{64}$/),te=e.object({id:u,contentHash:v}).strict(),Bi=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:C.nullable()}).strict(),Ze=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:u,revision:e.number().int().positive(),contentHash:v}).strict(),projectId:u.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:u,configuration:be}).strict()).min(1).max(20),acceptancePlan:Je.nullable()}).strict().superRefine((t,n)=>{if(new Set(t.experiments.map(i=>i.id)).size!==t.experiments.length&&n.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((i,a)=>i+a.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(i=>(i.configuration.request.project?.id??null)!==t.projectId)&&n.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let i=new Set(t.acceptancePlan.checks.map(r=>r.id));t.acceptancePlan.checks.some(r=>!t.experiments.some(o=>o.id===r.id))&&n.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(r=>!i.has(r.id)).reduce((r,o)=>r+o.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var kt=e.object({baseline:te,checks:e.array(e.object({id:u,sourceRunId:u,sourceManifestHash:v,targetConfigurationHash:v,executionHash:v,populationHash:v,evaluator:te,feedbackKey:u,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),vt=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),et=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:u,teamId:u,jobId:u,revision:e.number().int().positive(),planHash:v,automatic:e.boolean(),candidate:te.nullable(),state:vt,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:u.nullable(),experimentIds:e.array(u).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,n)=>{t.completed+t.failed>t.total&&n.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&n.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Ht=e.object({operationId:u,expectedRevision:e.number().int().positive(),planHash:v}).strict(),jt=e.object({operationId:u,attachment:Ze}).strict(),At=e.object({id:u,teamId:u,ownerUserId:u,attachment:Ze,qualification:kt.nullable(),contentHash:v,createdAt:e.iso.datetime()}).strict();function Et(t){let n=At.parse(t);if(n.contentHash!==R({attachment:n.attachment,qualification:n.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return n}s(Et,"verifyPostTrainingPlan");function tt(t){let{request:n}=t,i=s(r=>`/v1/training/jobs/${encodeURIComponent(u.parse(r))}/post-training`,"path");async function a(r,o,m){if(r===null)return null;let c=et.parse(r);if(c.teamId!==o||c.jobId!==m)throw new d("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return c}return s(a,"read"),{async attach(r,o){let m=jt.parse(o),c=Et(await n("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(m)}));if(c.teamId!==r||await h(c.attachment)!==await h(m.attachment))throw new d("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return c},async get(r,o){return a(await n(i(o)),r,o)},async control(r,o,m,c){let P=Ht.parse(c),f=await a(await n(`${i(o)}/${m}`,{method:"POST",body:JSON.stringify(P)}),r,o);if(!f||f.planHash!==P.planHash)throw new d("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return f}}}s(tt,"createPostTrainingClient");var Li=e.object({teamId:u,actorId:u,projectId:u.nullable(),configuration:ce,batches:e.array(ze).max(1e4),sources:e.array(Me).max(1e4),definitions:e.array(qe).max(1e4),experiments:e.array(e.object({id:u,name:e.string().max(500),configuration:be,graders:e.array(e.object({feedbackKey:u,name:e.string().max(500),ref:te}).strict()).max(100)}).strict()).max(1e4)}).strict(),Qi=e.enum(["prepare","start","cancel","publish","attach"]),Fi=e.object({teamId:u,actorId:u,configuration:ce,policy:Oe,inspection:De,iterations:e.array(e.object({iteration:Ue,evals:et.nullable()}).strict()).max(100),nextCursor:u.nullable()}).strict(),Ki=e.object({id:u,expectedRevision:e.number().int().positive(),policyHash:v,operationId:u,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:u.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var H=e.string().trim().min(1).max(240),nt=p.extend({revision:e.number().int().positive()}).strict(),Ct=nt.extend({teamId:H,jobId:H,plan:p,baseline:p,candidate:p,state:$e.shape.state,updatedAt:e.string().datetime()}).strict(),qt=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:H,jobId:H,groups:e.array(Ct).max(100),nextCursor:H.nullable()}).strict(),Mt=e.object({cursor:H.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function it(t){let n=s(i=>(H.parse(i.teamId),`/v1/training/jobs/${encodeURIComponent(H.parse(i.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(i,a={}){let r=Mt.parse(a),o=new URLSearchParams({limit:String(r.limit)});r.cursor&&o.set("cursor",r.cursor);let m=qt.parse(await t(`${n(i)}?${o}`));if(m.teamId!==i.teamId||m.jobId!==i.jobId||m.groups.length>r.limit||m.groups.some(c=>c.teamId!==i.teamId||c.jobId!==i.jobId||r.cursor&&c.id<=r.cursor)||new Set(m.groups.map(c=>c.id)).size!==m.groups.length||m.nextCursor!==null&&m.nextCursor!==m.groups.at(-1)?.id)throw new d("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return m},async acceptanceGroup(i,a,r){let o=r?nt.parse({id:r.id,revision:r.revision,contentHash:r.contentHash}):null;if(o&&o.id!==a)throw new d("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let m=o?`?revision=${o.revision}`:"",c=Ge(await t(`${n(i)}/${encodeURIComponent(H.parse(a))}${m}`));if(c.manifest.teamId!==i.teamId||c.manifest.trainingJob.id!==i.jobId||c.manifest.id!==a||o&&(c.revision!==o.revision||c.contentHash!==o.contentHash))throw new d("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return c}}}s(it,"createTrainingAcceptanceClient");var zt=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:ae,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();function rt(t){let n=s(i=>{let a=ae.parse(i);return`/v1/training/harness-sources/${encodeURIComponent(a.id)}/${a.contentHash}`},"route");return{async publishHarnessSource(i){w(i,67108864,"Training Harness source");let a=at(i),r=a.agentSnapshot.portability;if(!r.portable||r.blockers.length||r.localOnlyAssetRefs.length||r.hostPrivateAssetRefs.length||a.schemaVersion==="openpond.harnessSourcePackage.v1"&&a.harnessRelease.files.some(m=>m.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let o=zt.parse(await t(n({id:a.harnessRelease.id,contentHash:a.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(a)}));if(o.harnessRelease.id!==a.harnessRelease.id||o.harnessRelease.contentHash!==a.harnessRelease.contentHash||o.sourcePackageHash!==a.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return o},async getHarnessSource(i){let a=await t(n(i),void 0,67108864);return w(a,67108864,"Training Harness source"),at(a,i)}}}s(rt,"createTrainingHarnessSourceClient");function at(t,n){return typeof t=="object"&&t!==null&&Reflect.get(t,"schemaVersion")==="openpond.harnessPolicySourcePackage.v1"?Re(t,n):we(t,n)}s(at,"validateSource");var A=e.string().trim().min(1).max(500),Ot=e.string().regex(/^[a-f0-9]{64}$/),xe=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:A,jobId:A,artifact:p,evaluation:p,executionReceipt:p,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:A,expectedDecision:p.nullable()}).strict(),Ut=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:A,request:xe,revision:e.number().int().positive(),actor:e.object({userId:A,kind:e.enum(["user","api_key","agent_delegate"]),id:A}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:Ot}).strict().superRefine((t,n)=>{t.revision===1!=(t.request.expectedDecision===null)&&n.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),t.request.expectedDecision?.id===t.id&&n.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function Dt(t){let{contentHash:n,...i}=t;return h(i)}s(Dt,"trainingCandidateDecisionHash");async function ot(t,n){w(t,32768,"Training candidate decision");let i=Ut.parse(t);if(i.contentHash!==await Dt(i))throw new d("content_hash_mismatch","Training candidate decision content hash does not match.");if(i.request.teamId!==n.teamId||i.request.jobId!==n.jobId||i.request.artifact.id!==n.artifact.id||i.request.artifact.contentHash!==n.artifact.contentHash)throw new d("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(n.request&&await h(i.request)!==await h(xe.parse(n.request)))throw new d("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return i}s(ot,"parseAndVerifyTrainingCandidateDecision");function st(t){function n(i){return`/v1/training/jobs/${encodeURIComponent(A.parse(i.jobId))}/candidates/${encodeURIComponent(p.parse(i.artifact).id)}/decision`}return s(n,"route"),{async candidateDecision(i,a={}){A.parse(i.teamId);let r=a.decision?p.parse(a.decision):void 0,o=r?`?decisionId=${encodeURIComponent(r.id)}`:"",m=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${n(i)}${o}`));if(m.decision===null&&!r)return null;let c=await ot(m.decision,i);if(r&&(c.id!==r.id||c.contentHash!==r.contentHash))throw new d("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return c},async recordCandidateDecision(i){let a=xe.parse(i),r=await t(n(a),{method:"POST",body:JSON.stringify(a)});return ot(r,{...a,request:a})}}}s(st,"createTrainingCandidateDecisionClient");var G=e.string().trim().min(1).max(500),N=e.string().regex(/^[a-f0-9]{64}$/),Jt=e.object({taskId:G,taskSha256:N,resultSha256:N,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:N,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:G}).strict()}).strict(),$t=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:G,teamId:G,evaluation:p,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:T,panelSha256:N,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(Jt).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:N}).strict().superRefine((t,n)=>{let i=t.offset+t.tasks.length,a=i<t.total?String(i):null;(i>t.total||t.nextCursor!==a)&&n.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(r=>r.taskId)).size!==t.tasks.length&&n.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function Gt(t){let{contentHash:n,...i}=t;return h(i)}s(Gt,"trainingEvaluationTaskPageHash");async function ct(t,n){w(t,8388608,"Training evaluation task page");let i=$t.parse(t),a=p.parse(n.evaluation);if(i.jobId!==G.parse(n.jobId)||i.evaluation.id!==a.id||i.evaluation.contentHash!==a.contentHash||i.offset!==(n.offset??0)||n.teamId!==void 0&&i.teamId!==G.parse(n.teamId))throw new d("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await Gt(i)!==i.contentHash)throw new d("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let r of i.tasks)if(await h(r.output)!==r.outputSha256)throw new d("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return i}s(ct,"parseAndVerifyTrainingEvaluationTaskPage");var g=e.string().trim().min(1).max(500),b=e.string().regex(/^[a-f0-9]{64}$/),k=e.string().datetime({offset:!0}),Nt=e.object({schemaVersion:e.literal("openpond.trainingInputArtifactUpload.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:e.string().trim().min(1).max(500),sourceManifest:p,payload:e.unknown(),contentHash:b}).strict(),Vt=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:p,artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,sizeBytes:e.number().int().positive(),createdAt:k}).strict();async function Bt(t){let{contentHash:n,...i}=t;return h(i)}s(Bt,"trainingInputArtifactUploadHash");async function Lt(t){w(t,67108864,"Training input artifact");let n=Nt.parse(t),i=await Bt(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training input artifact contentHash ${n.contentHash} does not match ${i}.`);return n}s(Lt,"parseAndVerifyTrainingInputArtifactUpload");var bt=e.enum(["reward_model_train","policy_optimize"]),Qt=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Ft=e.object({id:g,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Ie=e.object({origin:C.optional(),modelProject:e.object({id:g,portableProjectId:g,revision:e.number().int().positive(),contentHash:b}).strict(),harnessRunManifest:p,harnessRelease:p,taskset:T,tasksetRelease:p,evaluation:e.object({taskset:T,dataset:p}).strict().nullable().optional(),dataset:p,evidenceSets:e.array(p).max(1e4)}).strict(),Kt=e.object({kind:e.literal("reward_model_train"),baseModel:W,preferenceDatasetRelease:p,processorRelease:p,recipe:e.object({schemaVersion:e.literal("openpond.rewardModelRecipe.v1"),method:e.literal("reward_model"),parameterization:e.literal("lora_with_scalar_head")}).catchall(e.unknown())}).strict(),Yt=e.object({kind:e.literal("deterministic"),grader:p,composer:p.nullable().default(null)}).strict(),Xt=e.object({kind:e.literal("learned_reward"),rewardModelVersion:p,qualificationReport:p.nullable().default(null),evaluationReferences:e.array(p).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,executionReceipt:p}).strict(),processorRelease:p,rewardComposerRelease:p}).strict(),xt=W.extend({revision:e.string().regex(/^[a-f0-9]{40,64}$/),tokenizerRevision:e.string().regex(/^[a-f0-9]{40,64}$/),chatTemplateHash:b}).strict(),Wt=e.object({kind:e.literal("policy_optimize"),executionMode:e.literal("qualification").optional(),baseModel:W,recipe:Ne,rewardSource:e.discriminatedUnion("kind",[Yt,Xt]),resumeFrom:p.nullable().default(null)}).strict(),Zt=e.discriminatedUnion("kind",[Kt,Wt]),en=e.object({approvalHash:b,approvedAt:k,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),tn=e.object({schemaVersion:e.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:e.string().trim().min(1).max(500),name:e.string().trim().min(1).max(200),source:Ie,job:Zt,requestedCapabilities:e.array(Ft).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:en,contentHash:b}).strict().superRefine((t,n)=>{if(t.job.kind==="policy_optimize"&&t.job.executionMode==="qualification"){let i=t.job;xt.safeParse(i.baseModel).success||n.addIssue({code:"custom",path:["job","baseModel"],message:"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin."}),(i.resumeFrom||i.recipe.continuation!==void 0||i.rewardSource.kind!=="deterministic"||i.recipe.method!=="grpo")&&n.addIssue({code:"custom",path:["job"],message:"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation."}),t.requestedCapabilities.some(a=>a.required&&a.id==="managed_rl.policy.qualification"&&a.version==="1")||n.addIssue({code:"custom",path:["requestedCapabilities"],message:"Qualification must require managed_rl.policy.qualification@1."})}t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&n.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function nn(t){let{contentHash:n,...i}=t;return h(i)}s(nn,"trainingJobSubmissionHash");async function an(t){w(t,1048576,"Training Job submission");let n=tn.parse(t),i=await nn(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training Job contentHash ${n.contentHash} does not match ${i}.`);return n}s(an,"parseAndVerifyTrainingJobSubmission");var V=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:g,teamId:g,kind:bt,executionMode:e.literal("qualification").optional(),modelProjectId:g,portableProjectId:g,sourceProjectRevision:e.number().int().positive(),submissionHash:b,state:Qt,phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:k,updatedAt:k,completedAt:k.nullable()}).strict(),rn=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(V).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),on=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:g,jobId:g,sequence:e.number().int().nonnegative(),type:g,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:k}).strict(),sn=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:g,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:k}).strict(),mt=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),cn=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:g,jobId:g,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:k}).strict(),yt=e.object({schemaVersion:e.literal("openpond.trainingQualificationEvidence.v1"),baseModel:xt,group:p,rolloutReceipts:e.array(p).min(1).max(1e3),rewardEvidenceHash:b,groupsCompleted:e.literal(1),optimizerUpdatesApplied:e.literal(0),optimizerUpdatesSkipped:e.literal(0),trainingStepsCreated:e.literal(0),checkpointsCreated:e.literal(0),artifactsCreated:e.literal(0)}).strict().superRefine((t,n)=>{new Set(t.rolloutReceipts.map(i=>i.id)).size!==t.rolloutReceipts.length&&n.addIssue({code:"custom",path:["rolloutReceipts"],message:"Qualification rollout receipt identities must be unique."})}),mn=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:g,teamId:g,jobId:g,submissionHash:b,manifestHash:b,recipeHash:b,capabilityHash:b,runtimeRelease:p,inputs:e.array(p).max(1e4),outputs:e.array(p).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),qualification:yt.optional(),issuer:g,issuedAt:k,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Ea(t,n){let i=yt.parse(t.qualification);if(t.submissionHash!==n.submissionHash||!t.cleanupComplete)throw new d("qualification_receipt_mismatch","Qualification must attest the expected submission and complete cleanup.");if(n.baseModel&&await h(i.baseModel)!==await h(n.baseModel))throw new d("qualification_learner_mismatch","Qualification used a different original learner or tokenizer.");if(n.outputs?.some(a=>["checkpoint","adapter","scorer"].includes(a.kind)))throw new d("qualification_updated_artifact","Qualification must not publish trained artifacts or checkpoints.")}s(Ea,"assertTrainingQualificationReceipt");var pn=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(cn).max(1e4),receipt:mn.nullable()}).strict(),dn=e.object({schemaVersion:e.literal("openpond.trainingApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),ie=class extends Error{static{s(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(n,i){super(i.message),this.name="OpenPondTrainingApiError",this.status=n,this.code=i.code,this.retryable=i.retryable,this.requestId=i.requestId,this.details=i.details}},un=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:b,jobKinds:e.array(bt),methods:e.array(e.string().trim().min(1).max(200)),executionModes:e.array(e.enum(["training","qualification"])).optional(),structuredOutputs:e.object({capability:e.literal("work.structured-output.v1"),harnessRuntimeHash:b,workHarnessHash:b,schemaHash:b,artifactHash:b,invalidDataRejected:e.literal(!0),invalidBytesRejected:e.literal(!0)}).strict().optional(),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:k,expiresAt:k}).strict();function pt(t){let n={};return new Headers(t).forEach((i,a)=>{n[a]=i}),n}s(pt,"headersRecord");function Ca(t){let n=t.fetch??fetch,i=t.baseUrl.replace(/\/$/,"");async function a(r,o,m=8388608){let P=o?.method===void 0||o.method.toUpperCase()==="GET"?3:1;for(let f=1;f<=P;f+=1){let x;try{let U=typeof t.headers=="function"?await t.headers():t.headers??{};x=await n(`${i}${r}`,{...o,headers:{accept:X,...o?.body?{"content-type":X}:{},...pt(U),...pt(o?.headers)}})}catch(U){if(f===P||o?.signal?.aborted||!dt(null,U))throw U;await new Promise(St=>setTimeout(St,250*2**(f-1)));continue}let L=se(await x.text(),m,"Training API response");if(x.ok)return L;let Q=ln(L,x.status);if(f===P||!dt(x.status,Q))throw Q;await new Promise(U=>setTimeout(U,250*2**(f-1)))}throw new d("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return s(a,"request"),{postTraining:tt({request:a}),...ft(a),...it(a),...rt(a),...st(a),async capabilities(){return un.parse(E(await a("/v1/training/capabilities"),"capabilities"))},async stageArtifact(r){let o=await Lt(r);return Vt.parse(E(await a("/v1/training/artifacts",{method:"POST",body:JSON.stringify(o)}),"artifact"))},async createJob(r){let o=await an(r);return V.parse(E(await a("/v1/training/jobs",{method:"POST",body:JSON.stringify(o)}),"job"))},async listJobs(r={}){let o=new URLSearchParams;r.modelProjectId&&o.set("modelProjectId",g.parse(r.modelProjectId)),r.cursor&&o.set("cursor",e.string().trim().min(1).max(2e3).parse(r.cursor)),r.limit!==void 0&&o.set("limit",String(e.number().int().min(1).max(1e3).parse(r.limit)));let m=o.size>0?`?${o.toString()}`:"";return rn.parse(await a(`/v1/training/jobs${m}`))},async getJob(r){return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}`),"job"))},async cancelJob(r,o){let m=mt.parse({expectedVersion:o});return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(m)}),"job"))},async stopAfterGroup(r,o){let m=mt.parse({expectedVersion:o});return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/stop-after-group`,{method:"POST",body:JSON.stringify(m)}),"job"))},async events(r){return e.array(on).parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/events`),"events"))},async outputs(r){return pn.parse(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/outputs`))},async evaluationTasks(r,o,m={}){let c=g.parse(r),P=p.parse(o),f=new URLSearchParams,x=m.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(m.cursor),L=x===void 0?0:e.number().int().min(1).max(9999).parse(Number(x));x!==void 0&&f.set("cursor",x),m.limit!==void 0&&f.set("limit",String(e.number().int().min(1).max(100).parse(m.limit)));let Q=f.size?`?${f.toString()}`:"";return ct(await a(`/v1/training/jobs/${encodeURIComponent(c)}/evaluations/${encodeURIComponent(P.id)}/tasks${Q}`),{jobId:c,evaluation:P,offset:L})},async logs(r){return e.array(sn).max(1e5).parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/logs`),"logs"))}}}s(Ca,"createTrainingClient");function dt(t,n){return t!==null?t===408||t===429||t>=500:n instanceof ie?n.retryable:n instanceof d?n.code==="invalid_error_response":n instanceof TypeError}s(dt,"trainingReadFailureIsRetryable");function E(t,n){return!t||typeof t!="object"||Array.isArray(t)?t:n in t?t[n]:t}s(E,"unwrapObject");function ln(t,n){let i=dn.safeParse(t);return i.success?new ie(n,i.data):new d("invalid_error_response",`Training request failed with HTTP ${n} and an invalid error envelope.`)}s(ln,"trainingApiError");var S=e.string().trim().min(1).max(191),B=e.string().regex(/^[a-f0-9]{64}$/),ye=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:S,operationId:S,projectId:S.nullable(),configuration:e.object({id:S,expectedRevision:e.number().int().positive(),expectedEtag:B}).strict(),origin:C.optional(),batch:T,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),lt=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:S,creatorUserId:S,request:ye,requestHash:B,source:e.lazy(()=>Ie),submissionHash:B,createdAt:e.string().datetime({offset:!0})}).strict(),gt=lt.extend({contentHash:B}).strict(),Se=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:gt,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:S.nullable()}).strict().superRefine((t,n)=>{t.state==="submitted"!=!!t.jobId&&n.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Te=e.object({teamId:S,planHash:B,expectedRevision:e.number().int().positive()}).strict(),gn=e.object({projectId:S.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:S.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),hn=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:S,items:e.array(Se).max(100),nextCursor:S.nullable()}).strict();async function ht(t){let n=Se.parse(t),{contentHash:i,...a}=n.plan;if(await h(a)!==i||await h(a.request)!==a.requestHash||a.source.modelProject.id!==a.request.configuration.id||await h(a.source.origin??null)!==await h(a.request.origin??null))throw new d("training_preparation_mismatch","The prepared training inputs changed.");return n}s(ht,"parseAndVerifyTrainingPreparationReceipt");function ft(t){async function n(i,a,r){let o=await ht(i);if(o.plan.request.teamId!==a||r&&o.plan.id!==r)throw new d("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return o}return s(n,"read"),{async listPreparations(i,a={}){let r=S.parse(i),o=gn.parse(a),m=new URLSearchParams;for(let[f,x]of Object.entries(o))m.set(f,String(x));let c=hn.parse(await t(`/v1/training/preparations?${m}`));if(c.teamId!==r||c.items.length>o.limit||new Set(c.items.map(f=>f.plan.id)).size!==c.items.length||c.nextCursor!==null&&(c.nextCursor!==c.items.at(-1)?.plan.id||c.nextCursor===o.afterId))throw new d("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let P=await Promise.all(c.items.map(async f=>{let x=await n(f,r);if(o.projectId&&x.plan.request.projectId!==o.projectId||o.state&&x.state!==o.state)throw new d("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return x}));return{...c,items:P}},async prepareRun(i){let a=ye.parse(i),r=await n(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(a)}),a.teamId);if(r.plan.requestHash!==await h(a))throw new d("training_preparation_request_mismatch","The preparation does not match the requested run.");return r},async getPreparation(i,a){return n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(a))}`),S.parse(i),a)},async startPreparation(i,a){let r=Te.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/start`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="submitted")throw new d("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return o},async cancelPreparation(i,a){let r=Te.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="cancelled")throw new d("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return o}}}s(ft,"createTrainingPreparationClient");export{M as a,Fe as b,Pt as c,di as d,le as e,he as f,ki as g,vi as h,Hi as i,ji as j,be as k,ye as l,ht as m,an as n,Ea as o,ie as p,Ca as q};
|
|
2
|
+
import{a as X,b as d,c as y,d as h,e as w,f as se,g as p,h as T,i as W,j as Ne,n as ce}from"./chunk-7KTARW23.js";import{f as Ee,t as Ce,v as Y}from"./chunk-ABF3W2MO.js";import{F as ze,H as Oe,K as Ue,_b as Je,e as C,gc as $e,jc as Ge,r as qe,sb as De,v as Me}from"./chunk-4M3YW3EQ.js";import{Ia as ve,J as F,O as _e,Ua as He,eb as K,lb as oe,qb as je,ra as ke,wb as Ae}from"./chunk-PBZCXPPC.js";import{t as Re,v as we}from"./chunk-NJLULBTM.js";import{g as ae,k as Pe,n as R,o as re}from"./chunk-VVNV4NNW.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as s}from"./chunk-FTQLQJQV.js";var D=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().positive(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),targetId:e.string().trim().min(1).max(240).nullable()}).strict(),Ve=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,n)=>{t.reduce((i,a)=>i+a.content.length,0)>1e5&&n.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})});var J=e.string().regex(/^[a-f0-9]{64}$/),me=e.object({providerId:e.literal("claude-code"),configurationHash:J,executableHash:J,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:J,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5),maximumTurns:e.number().int().min(1).max(100),holdOpen:e.boolean()}).strict(),yn=e.object({id:e.string().min(1).max(200),receiptId:e.string().min(1).max(200),sessionId:e.uuid(),operationId:e.string().min(1).max(200),action:e.enum(["message","seal"]),text:e.string().max(262144).optional()}).strict().superRefine((t,n)=>{t.action==="message"&&!t.text?.trim()&&n.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&n.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),Sn=e.object({provider:e.literal("claude-code"),sessionId:e.uuid(),requestId:e.string().min(1).max(200),modelId:e.string().min(1).max(500),runtime:me,sourceHash:J,outputHash:J,traceHash:J,runtimeEventRefs:e.array(e.string().min(1).max(200)).min(1).max(2e4),eventCount:e.number().int().positive().max(2e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),cleanupComplete:e.literal(!0)}).strict().superRefine((t,n)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&n.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})});var Z=e.object({providerId:e.literal("codex"),configurationHash:e.string().regex(/^[a-f0-9]{64}$/),accountHash:e.string().regex(/^[a-f0-9]{64}$/),reasoningEffort:e.enum(["low","medium","high","xhigh"]),maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict();var Be=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(F).min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),rewardEligible:e.boolean(),gradingStatus:e.enum(["scored","pending","unscorable","not_configured"]),failureClass:Pe.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,n)=>{let{contentHash:i,...a}=t;R(a)!==i&&n.addIssue({code:"custom",message:"Experiment grading integrity failed."});let r=t.grades.flatMap(o=>o.components);(r.length!==t.grades.length||new Set(r.map(o=>o.graderId)).size!==r.length)&&n.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let o of t.grades){let{contentHash:m,...c}=o;R(c)!==m&&n.addIssue({code:"custom",message:"A retained criterion changed."});for(let P of o.components){let{contentHash:f,...x}=P;R(x)!==f&&n.addIssue({code:"custom",message:"A retained grader result changed."})}}});var l=e.string().trim().min(1).max(200),q=e.string().regex(/^[a-f0-9]{64}$/),pe=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:l,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:q,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),me,Z]).optional(),candidate:e.object({artifactId:l,contentHash:q,preparationId:l,dispatchId:l,baseProfileId:l,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:je.optional(),messages:Ve.optional(),maxOutputTokens:e.number().int().min(1).max(1e6).default(1e5),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:l}).strict()]),Tt=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:l,teamId:l,modelProjectId:l.nullable(),project:D.optional(),taskset:T,taskId:l,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:pe}).strict(),Dn=e.object({modelProjectId:l.nullable(),taskset:T,afterTaskId:l.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Jn=e.object({modelProjectId:l.nullable(),taskset:T,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:l,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:l,split:ke,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:l,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:l.nullable()}).strict(),ee=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:l,revision:e.number().int().positive(),request:Tt,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:l,provider:l,upstreamModelId:e.string().min(1).max(500),configurationHash:q}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:l,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&n.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&n.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),$n=e.object({modelProjectId:l,afterId:l.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Gn=e.object({items:e.array(ee).max(100),nextCursor:l.nullable()}).strict(),Nn=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:ee,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:He.nullable(),grade:F.nullable().optional(),experimentGrade:Be.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:T,initialStateHash:q.nullable(),finalStateHash:q.nullable(),attemptHash:q}).strict(),native:Ae.optional(),providerRequestIds:e.array(l).max(1001),contentHash:q}).strict().superRefine((t,n)=>{let i=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!i!=!!t.native&&n.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!i||R(i)!==R(t.native.source)||t.native.modelConfigurationHash!==t.attempt.policySnapshot?.configurationHash||t.environment.initialStateHash!==null||t.environment.finalStateHash!==null||t.environment.status==="completed"&&(!t.environment.collected||t.output===null||t.native.partialOutputAvailable||t.native.outputHash!==R(t.output)))&&n.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&n.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.experimentGrade.score||t.attempt.gradingStatus!==t.experimentGrade.gradingStatus||t.attempt.passed!==(t.experimentGrade.score===null?null:t.experimentGrade.passed))&&n.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&n.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.grade.score||t.attempt.gradingStatus!==t.grade.gradingStatus||t.attempt.passed!==(t.grade.score===null?null:t.grade.passed))&&n.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))});var $=e.string().trim().min(1).max(240),de=e.string().regex(/^[a-f0-9]{64}$/),ue=e.object({maxOutputTokens:e.number().int().min(1).max(1e6).default(4096),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict();var j=e.object({kind:e.literal("hosted_harness"),modelId:$,maxOutputTokens:ue.shape.maxOutputTokens.removeDefault().optional(),temperature:ue.shape.temperature.removeDefault().optional(),topP:ue.shape.topP.removeDefault().optional(),localRuntime:Z.optional(),candidate:e.object({artifactId:$,contentHash:de,preparationId:$,dispatchId:$,baseProfileId:$,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:oe.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:$,source:oe,modelConfigurationHash:de,packageHash:de,externalDatasetBinding:K.optional()}).strict().superRefine((t,n)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&n.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(t.sourceCandidate??null)!==JSON.stringify(t.source.sourceCandidate??null)&&n.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})});var _=e.string().trim().min(1).max(200),Le=e.string().regex(/^[a-f0-9]{64}$/),It=e.discriminatedUnion("kind",[pe.options[0],e.object({kind:e.literal("fixture")}).strict(),j]),M=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:_,teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:D.optional(),taskset:T,policy:It,population:e.array(Ce).min(1).max(1e4)}).strict().superRefine((t,n)=>{new Set(t.population.map(i=>i.receiptId)).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(i=>i.fixtureId!==null!=(t.policy.kind==="fixture"))&&n.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(i=>!/^(0|[1-9][0-9]*)$/.test(i.seed)||Number(i.seed)>2147483647)&&n.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&n.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),t.policy.kind==="hosted_harness"&&new Set(t.population.map(i=>y([i.taskId,i.seed]))).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Qe=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:_,revision:e.number().int().positive(),teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:D.optional(),operationId:_,taskset:T,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Le,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),metricName:e.string().min(1).max(240),error:e.object({code:_,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{Object.values(t.counts).reduce((i,a)=>i+a,0)!==t.totalCount&&n.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&n.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&n.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&n.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&n.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&n.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),Fe=e.object({summary:Qe,request:M,manifest:Y,policySnapshot:ee.shape.policySnapshot}).strict(),ci=e.object({modelProjectId:_.optional(),projectId:D.shape.id.optional(),afterId:_.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),mi=e.object({items:e.array(Qe).max(100),nextCursor:_.nullable()}).strict(),pi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:Fe,receipts:e.array(Ee).min(1).max(1e4),metric:_e.nullable(),contentHash:Le}).strict();function Pt(t,n){re(n,"Taskset run manifest");let i=t.policy;if(i.kind!=="hosted_harness"||n.execution.kind!=="harness"||y(n.profileEvaluation)!==y(i.source)||y(n.execution.harnessRelease)!==y(i.source.harnessRelease)||n.metadata.profileRepositoryId!==i.profileRepositoryId||n.packageHash!==i.packageHash||n.policy.kind!=="model"||n.policy.model.provider!==(i.localRuntime?.providerId??"openpond")||n.policy.model.model!==i.modelId||n.policy.model.revision!==null||n.policy.model.artifactHash!==(i.candidate?.contentHash??null)||n.policy.model.tokenizerRevision!==null||n.policy.model.chatTemplateHash!==null||n.policy.configurationHash!==i.modelConfigurationHash||n.tasksetRelease.id!==t.taskset.id||n.tasksetRelease.contentHash!==t.taskset.contentHash||y(n.population)!==y(t.population)||n.population.some(a=>a.receiptId!==`evaluation-${R(n.profileEvaluation?.externalDatasetBinding?[n.id,a.taskId,a.seed,a.fixtureId]:[n.id,a.taskId,a.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}s(Pt,"verifyHarnessExperimentManifest");async function di(t){let n=Fe.parse(t),{summary:i,request:a,manifest:r,policySnapshot:o}=n;if(re(r,"Taskset run manifest"),r.contentHash!==i.manifestHash||r.id!==i.id||r.createdAt!==i.createdAt||i.teamId!==a.teamId||i.modelProjectId!==a.modelProjectId||y(i.project??null)!==y(a.project??null)||y(r.metadata.project??null)!==y(a.project??null)||(i.name??null)!==(a.name??null)||i.operationId!==a.operationId||i.policyKind!==a.policy.kind||i.totalCount!==a.population.length||i.metricName!==r.metricPolicy.primaryMetric||y(i.taskset)!==y(a.taskset)||r.tasksetRelease.id!==a.taskset.id||r.tasksetRelease.contentHash!==a.taskset.contentHash||y(r.population)!==y(a.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(a.policy.kind==="fixture"){if(r.policy.kind!=="fixture"||o!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(a.policy.kind==="hosted_harness"){if(Pt(a,r),o!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(r.policy.kind!=="model"||!o||o.modelId!==a.policy.modelId||r.policy.model.provider!==o.provider||r.policy.model.model!==o.upstreamModelId||r.policy.model.revision!==null||r.policy.model.artifactHash!==(a.policy.candidate?.contentHash??null)||r.policy.model.tokenizerRevision!==null||r.policy.model.chatTemplateHash!==null||r.policy.configurationHash!==await h({policy:a.policy,snapshot:o}))throw new Error("Evaluation model differs from its admitted policy.");return n}s(di,"verifyModelTasksetRunDetails");var Xe=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),Rt=e.array(Xe).min(1).max(20),Ke=e.enum(["input","output","expectedOutput","evaluatorContext"]),wt=e.object({destination:Ke,path:Rt,source:Ke,sourcePath:e.array(Xe).max(20)}).strict(),le=e.array(wt).max(100).superRefine((t,n)=>{for(let[i,a]of t.entries())t.slice(0,i).some(r=>r.destination===a.destination&&(Ye(r.path,a.path)||Ye(a.path,r.path)))&&n.addIssue({code:"custom",path:[i,"path"],message:"Mapped destination paths must not overlap."})});function Ye(t,n){return t.length<=n.length&&t.every((i,a)=>i===n[a])}s(Ye,"prefix");var I=e.string().trim().min(1).max(200),z=e.string().regex(/^[a-f0-9]{64}$/),ge=e.object({id:I,revision:e.number().int().positive(),contentHash:z}).strict(),he=e.object({id:I,version:e.string().min(1).max(200),contentHash:z,name:e.string().trim().min(1).max(500).optional(),feedbackKey:ve,release:ge.nullable(),mappings:le.optional()}).strict(),fe=e.object({id:I,version:e.string().min(1).max(200),contentHash:z,mappings:le}).strict(),Ri=e.object({operationId:I,id:I.optional(),expectedRevision:e.number().int().nonnegative(),request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(fe).min(1).max(100).optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&n.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),_t=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:I,teamId:I,revision:e.number().int().positive(),request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),wi=_t.extend({contentHash:z}),_i=e.object({operationId:I,definition:ge}).strict(),ki=e.object({projectId:I.optional(),datasetHash:z.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:I.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),vi=e.object({definition:ge.nullable(),configurationHash:z.optional(),admissionRequestHash:z.optional(),sourceExperimentId:I.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100)}).strict().superRefine((t,n)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&n.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),Hi=e.object({operationId:I,profileRepositoryId:I,definitionId:I,modelId:I,localRuntime:j.shape.localRuntime,maxOutputTokens:j.shape.maxOutputTokens,temperature:j.shape.temperature,topP:j.shape.topP,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:K.optional(),sourceCandidate:j.shape.sourceCandidate}).strict(),ji=e.object({request:M,manifest:Y,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100)}).strict();var We=e.string().trim().min(1).max(200),be=e.object({operationId:We,request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(fe).min(1).max(100).optional(),sourceExperimentId:We.optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&n.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var u=e.string().trim().min(1).max(200),v=e.string().regex(/^[a-f0-9]{64}$/),te=e.object({id:u,contentHash:v}).strict(),Bi=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:C.nullable()}).strict(),Ze=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:u,revision:e.number().int().positive(),contentHash:v}).strict(),projectId:u.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:u,configuration:be}).strict()).min(1).max(20),acceptancePlan:Je.nullable()}).strict().superRefine((t,n)=>{if(new Set(t.experiments.map(i=>i.id)).size!==t.experiments.length&&n.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((i,a)=>i+a.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(i=>(i.configuration.request.project?.id??null)!==t.projectId)&&n.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let i=new Set(t.acceptancePlan.checks.map(r=>r.id));t.acceptancePlan.checks.some(r=>!t.experiments.some(o=>o.id===r.id))&&n.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(r=>!i.has(r.id)).reduce((r,o)=>r+o.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var kt=e.object({baseline:te,checks:e.array(e.object({id:u,sourceRunId:u,sourceManifestHash:v,targetConfigurationHash:v,executionHash:v,populationHash:v,evaluator:te,feedbackKey:u,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),vt=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),et=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:u,teamId:u,jobId:u,revision:e.number().int().positive(),planHash:v,automatic:e.boolean(),candidate:te.nullable(),state:vt,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:u.nullable(),experimentIds:e.array(u).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,n)=>{t.completed+t.failed>t.total&&n.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&n.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Ht=e.object({operationId:u,expectedRevision:e.number().int().positive(),planHash:v}).strict(),jt=e.object({operationId:u,attachment:Ze}).strict(),At=e.object({id:u,teamId:u,ownerUserId:u,attachment:Ze,qualification:kt.nullable(),contentHash:v,createdAt:e.iso.datetime()}).strict();function Et(t){let n=At.parse(t);if(n.contentHash!==R({attachment:n.attachment,qualification:n.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return n}s(Et,"verifyPostTrainingPlan");function tt(t){let{request:n}=t,i=s(r=>`/v1/training/jobs/${encodeURIComponent(u.parse(r))}/post-training`,"path");async function a(r,o,m){if(r===null)return null;let c=et.parse(r);if(c.teamId!==o||c.jobId!==m)throw new d("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return c}return s(a,"read"),{async attach(r,o){let m=jt.parse(o),c=Et(await n("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(m)}));if(c.teamId!==r||await h(c.attachment)!==await h(m.attachment))throw new d("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return c},async get(r,o){return a(await n(i(o)),r,o)},async control(r,o,m,c){let P=Ht.parse(c),f=await a(await n(`${i(o)}/${m}`,{method:"POST",body:JSON.stringify(P)}),r,o);if(!f||f.planHash!==P.planHash)throw new d("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return f}}}s(tt,"createPostTrainingClient");var Li=e.object({teamId:u,actorId:u,projectId:u.nullable(),configuration:ce,batches:e.array(ze).max(1e4),sources:e.array(Me).max(1e4),definitions:e.array(qe).max(1e4),experiments:e.array(e.object({id:u,name:e.string().max(500),configuration:be,graders:e.array(e.object({feedbackKey:u,name:e.string().max(500),ref:te}).strict()).max(100)}).strict()).max(1e4)}).strict(),Qi=e.enum(["prepare","start","cancel","publish","attach"]),Fi=e.object({teamId:u,actorId:u,configuration:ce,policy:Oe,inspection:De,iterations:e.array(e.object({iteration:Ue,evals:et.nullable()}).strict()).max(100),nextCursor:u.nullable()}).strict(),Ki=e.object({id:u,expectedRevision:e.number().int().positive(),policyHash:v,operationId:u,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:u.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var H=e.string().trim().min(1).max(240),nt=p.extend({revision:e.number().int().positive()}).strict(),Ct=nt.extend({teamId:H,jobId:H,plan:p,baseline:p,candidate:p,state:$e.shape.state,updatedAt:e.string().datetime()}).strict(),qt=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:H,jobId:H,groups:e.array(Ct).max(100),nextCursor:H.nullable()}).strict(),Mt=e.object({cursor:H.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function it(t){let n=s(i=>(H.parse(i.teamId),`/v1/training/jobs/${encodeURIComponent(H.parse(i.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(i,a={}){let r=Mt.parse(a),o=new URLSearchParams({limit:String(r.limit)});r.cursor&&o.set("cursor",r.cursor);let m=qt.parse(await t(`${n(i)}?${o}`));if(m.teamId!==i.teamId||m.jobId!==i.jobId||m.groups.length>r.limit||m.groups.some(c=>c.teamId!==i.teamId||c.jobId!==i.jobId||r.cursor&&c.id<=r.cursor)||new Set(m.groups.map(c=>c.id)).size!==m.groups.length||m.nextCursor!==null&&m.nextCursor!==m.groups.at(-1)?.id)throw new d("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return m},async acceptanceGroup(i,a,r){let o=r?nt.parse({id:r.id,revision:r.revision,contentHash:r.contentHash}):null;if(o&&o.id!==a)throw new d("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let m=o?`?revision=${o.revision}`:"",c=Ge(await t(`${n(i)}/${encodeURIComponent(H.parse(a))}${m}`));if(c.manifest.teamId!==i.teamId||c.manifest.trainingJob.id!==i.jobId||c.manifest.id!==a||o&&(c.revision!==o.revision||c.contentHash!==o.contentHash))throw new d("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return c}}}s(it,"createTrainingAcceptanceClient");var zt=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:ae,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();function rt(t){let n=s(i=>{let a=ae.parse(i);return`/v1/training/harness-sources/${encodeURIComponent(a.id)}/${a.contentHash}`},"route");return{async publishHarnessSource(i){w(i,67108864,"Training Harness source");let a=at(i),r=a.agentSnapshot.portability;if(!r.portable||r.blockers.length||r.localOnlyAssetRefs.length||r.hostPrivateAssetRefs.length||a.schemaVersion==="openpond.harnessSourcePackage.v1"&&a.harnessRelease.files.some(m=>m.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let o=zt.parse(await t(n({id:a.harnessRelease.id,contentHash:a.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(a)}));if(o.harnessRelease.id!==a.harnessRelease.id||o.harnessRelease.contentHash!==a.harnessRelease.contentHash||o.sourcePackageHash!==a.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return o},async getHarnessSource(i){let a=await t(n(i),void 0,67108864);return w(a,67108864,"Training Harness source"),at(a,i)}}}s(rt,"createTrainingHarnessSourceClient");function at(t,n){return typeof t=="object"&&t!==null&&Reflect.get(t,"schemaVersion")==="openpond.harnessPolicySourcePackage.v1"?Re(t,n):we(t,n)}s(at,"validateSource");var A=e.string().trim().min(1).max(500),Ot=e.string().regex(/^[a-f0-9]{64}$/),xe=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:A,jobId:A,artifact:p,evaluation:p,executionReceipt:p,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:A,expectedDecision:p.nullable()}).strict(),Ut=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:A,request:xe,revision:e.number().int().positive(),actor:e.object({userId:A,kind:e.enum(["user","api_key","agent_delegate"]),id:A}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:Ot}).strict().superRefine((t,n)=>{t.revision===1!=(t.request.expectedDecision===null)&&n.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),t.request.expectedDecision?.id===t.id&&n.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function Dt(t){let{contentHash:n,...i}=t;return h(i)}s(Dt,"trainingCandidateDecisionHash");async function ot(t,n){w(t,32768,"Training candidate decision");let i=Ut.parse(t);if(i.contentHash!==await Dt(i))throw new d("content_hash_mismatch","Training candidate decision content hash does not match.");if(i.request.teamId!==n.teamId||i.request.jobId!==n.jobId||i.request.artifact.id!==n.artifact.id||i.request.artifact.contentHash!==n.artifact.contentHash)throw new d("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(n.request&&await h(i.request)!==await h(xe.parse(n.request)))throw new d("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return i}s(ot,"parseAndVerifyTrainingCandidateDecision");function st(t){function n(i){return`/v1/training/jobs/${encodeURIComponent(A.parse(i.jobId))}/candidates/${encodeURIComponent(p.parse(i.artifact).id)}/decision`}return s(n,"route"),{async candidateDecision(i,a={}){A.parse(i.teamId);let r=a.decision?p.parse(a.decision):void 0,o=r?`?decisionId=${encodeURIComponent(r.id)}`:"",m=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${n(i)}${o}`));if(m.decision===null&&!r)return null;let c=await ot(m.decision,i);if(r&&(c.id!==r.id||c.contentHash!==r.contentHash))throw new d("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return c},async recordCandidateDecision(i){let a=xe.parse(i),r=await t(n(a),{method:"POST",body:JSON.stringify(a)});return ot(r,{...a,request:a})}}}s(st,"createTrainingCandidateDecisionClient");var G=e.string().trim().min(1).max(500),N=e.string().regex(/^[a-f0-9]{64}$/),Jt=e.object({taskId:G,taskSha256:N,resultSha256:N,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:N,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:G}).strict()}).strict(),$t=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:G,teamId:G,evaluation:p,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:T,panelSha256:N,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(Jt).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:N}).strict().superRefine((t,n)=>{let i=t.offset+t.tasks.length,a=i<t.total?String(i):null;(i>t.total||t.nextCursor!==a)&&n.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(r=>r.taskId)).size!==t.tasks.length&&n.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function Gt(t){let{contentHash:n,...i}=t;return h(i)}s(Gt,"trainingEvaluationTaskPageHash");async function ct(t,n){w(t,8388608,"Training evaluation task page");let i=$t.parse(t),a=p.parse(n.evaluation);if(i.jobId!==G.parse(n.jobId)||i.evaluation.id!==a.id||i.evaluation.contentHash!==a.contentHash||i.offset!==(n.offset??0)||n.teamId!==void 0&&i.teamId!==G.parse(n.teamId))throw new d("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await Gt(i)!==i.contentHash)throw new d("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let r of i.tasks)if(await h(r.output)!==r.outputSha256)throw new d("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return i}s(ct,"parseAndVerifyTrainingEvaluationTaskPage");var g=e.string().trim().min(1).max(500),b=e.string().regex(/^[a-f0-9]{64}$/),k=e.string().datetime({offset:!0}),Nt=e.object({schemaVersion:e.literal("openpond.trainingInputArtifactUpload.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:e.string().trim().min(1).max(500),sourceManifest:p,payload:e.unknown(),contentHash:b}).strict(),Vt=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:p,artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,sizeBytes:e.number().int().positive(),createdAt:k}).strict();async function Bt(t){let{contentHash:n,...i}=t;return h(i)}s(Bt,"trainingInputArtifactUploadHash");async function Lt(t){w(t,67108864,"Training input artifact");let n=Nt.parse(t),i=await Bt(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training input artifact contentHash ${n.contentHash} does not match ${i}.`);return n}s(Lt,"parseAndVerifyTrainingInputArtifactUpload");var bt=e.enum(["reward_model_train","policy_optimize"]),Qt=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Ft=e.object({id:g,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Ie=e.object({origin:C.optional(),modelProject:e.object({id:g,portableProjectId:g,revision:e.number().int().positive(),contentHash:b}).strict(),harnessRunManifest:p,harnessRelease:p,taskset:T,tasksetRelease:p,evaluation:e.object({taskset:T,dataset:p}).strict().nullable().optional(),dataset:p,evidenceSets:e.array(p).max(1e4)}).strict(),Kt=e.object({kind:e.literal("reward_model_train"),baseModel:W,preferenceDatasetRelease:p,processorRelease:p,recipe:e.object({schemaVersion:e.literal("openpond.rewardModelRecipe.v1"),method:e.literal("reward_model"),parameterization:e.literal("lora_with_scalar_head")}).catchall(e.unknown())}).strict(),Yt=e.object({kind:e.literal("deterministic"),grader:p,composer:p.nullable().default(null)}).strict(),Xt=e.object({kind:e.literal("learned_reward"),rewardModelVersion:p,qualificationReport:p.nullable().default(null),evaluationReferences:e.array(p).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,executionReceipt:p}).strict(),processorRelease:p,rewardComposerRelease:p}).strict(),xt=W.extend({revision:e.string().regex(/^[a-f0-9]{40,64}$/),tokenizerRevision:e.string().regex(/^[a-f0-9]{40,64}$/),chatTemplateHash:b}).strict(),Wt=e.object({kind:e.literal("policy_optimize"),executionMode:e.literal("qualification").optional(),baseModel:W,recipe:Ne,rewardSource:e.discriminatedUnion("kind",[Yt,Xt]),resumeFrom:p.nullable().default(null)}).strict(),Zt=e.discriminatedUnion("kind",[Kt,Wt]),en=e.object({approvalHash:b,approvedAt:k,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),tn=e.object({schemaVersion:e.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:e.string().trim().min(1).max(500),name:e.string().trim().min(1).max(200),source:Ie,job:Zt,requestedCapabilities:e.array(Ft).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:en,contentHash:b}).strict().superRefine((t,n)=>{if(t.job.kind==="policy_optimize"&&t.job.executionMode==="qualification"){let i=t.job;xt.safeParse(i.baseModel).success||n.addIssue({code:"custom",path:["job","baseModel"],message:"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin."}),(i.resumeFrom||i.recipe.continuation!==void 0||i.rewardSource.kind!=="deterministic"||i.recipe.method!=="grpo")&&n.addIssue({code:"custom",path:["job"],message:"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation."}),t.requestedCapabilities.some(a=>a.required&&a.id==="managed_rl.policy.qualification"&&a.version==="1")||n.addIssue({code:"custom",path:["requestedCapabilities"],message:"Qualification must require managed_rl.policy.qualification@1."})}t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&n.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function nn(t){let{contentHash:n,...i}=t;return h(i)}s(nn,"trainingJobSubmissionHash");async function an(t){w(t,1048576,"Training Job submission");let n=tn.parse(t),i=await nn(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training Job contentHash ${n.contentHash} does not match ${i}.`);return n}s(an,"parseAndVerifyTrainingJobSubmission");var V=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:g,teamId:g,kind:bt,executionMode:e.literal("qualification").optional(),modelProjectId:g,portableProjectId:g,sourceProjectRevision:e.number().int().positive(),submissionHash:b,state:Qt,phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:k,updatedAt:k,completedAt:k.nullable()}).strict(),rn=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(V).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),on=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:g,jobId:g,sequence:e.number().int().nonnegative(),type:g,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:k}).strict(),sn=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:g,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:k}).strict(),mt=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),cn=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:g,jobId:g,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:k}).strict(),yt=e.object({schemaVersion:e.literal("openpond.trainingQualificationEvidence.v1"),baseModel:xt,group:p,rolloutReceipts:e.array(p).min(1).max(1e3),rewardEvidenceHash:b,groupsCompleted:e.literal(1),optimizerUpdatesApplied:e.literal(0),optimizerUpdatesSkipped:e.literal(0),trainingStepsCreated:e.literal(0),checkpointsCreated:e.literal(0),artifactsCreated:e.literal(0)}).strict().superRefine((t,n)=>{new Set(t.rolloutReceipts.map(i=>i.id)).size!==t.rolloutReceipts.length&&n.addIssue({code:"custom",path:["rolloutReceipts"],message:"Qualification rollout receipt identities must be unique."})}),mn=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:g,teamId:g,jobId:g,submissionHash:b,manifestHash:b,recipeHash:b,capabilityHash:b,runtimeRelease:p,inputs:e.array(p).max(1e4),outputs:e.array(p).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),qualification:yt.optional(),issuer:g,issuedAt:k,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Ea(t,n){let i=yt.parse(t.qualification);if(t.submissionHash!==n.submissionHash||!t.cleanupComplete)throw new d("qualification_receipt_mismatch","Qualification must attest the expected submission and complete cleanup.");if(n.baseModel&&await h(i.baseModel)!==await h(n.baseModel))throw new d("qualification_learner_mismatch","Qualification used a different original learner or tokenizer.");if(n.outputs?.some(a=>["checkpoint","adapter","scorer"].includes(a.kind)))throw new d("qualification_updated_artifact","Qualification must not publish trained artifacts or checkpoints.")}s(Ea,"assertTrainingQualificationReceipt");var pn=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(cn).max(1e4),receipt:mn.nullable()}).strict(),dn=e.object({schemaVersion:e.literal("openpond.trainingApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),ie=class extends Error{static{s(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(n,i){super(i.message),this.name="OpenPondTrainingApiError",this.status=n,this.code=i.code,this.retryable=i.retryable,this.requestId=i.requestId,this.details=i.details}},un=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:b,jobKinds:e.array(bt),methods:e.array(e.string().trim().min(1).max(200)),executionModes:e.array(e.enum(["training","qualification"])).optional(),structuredOutputs:e.object({capability:e.literal("work.structured-output.v1"),harnessRuntimeHash:b,workHarnessHash:b,schemaHash:b,artifactHash:b,invalidDataRejected:e.literal(!0),invalidBytesRejected:e.literal(!0)}).strict().optional(),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:k,expiresAt:k}).strict();function pt(t){let n={};return new Headers(t).forEach((i,a)=>{n[a]=i}),n}s(pt,"headersRecord");function Ca(t){let n=t.fetch??fetch,i=t.baseUrl.replace(/\/$/,"");async function a(r,o,m=8388608){let P=o?.method===void 0||o.method.toUpperCase()==="GET"?3:1;for(let f=1;f<=P;f+=1){let x;try{let U=typeof t.headers=="function"?await t.headers():t.headers??{};x=await n(`${i}${r}`,{...o,headers:{accept:X,...o?.body?{"content-type":X}:{},...pt(U),...pt(o?.headers)}})}catch(U){if(f===P||o?.signal?.aborted||!dt(null,U))throw U;await new Promise(St=>setTimeout(St,250*2**(f-1)));continue}let L=se(await x.text(),m,"Training API response");if(x.ok)return L;let Q=ln(L,x.status);if(f===P||!dt(x.status,Q))throw Q;await new Promise(U=>setTimeout(U,250*2**(f-1)))}throw new d("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return s(a,"request"),{postTraining:tt({request:a}),...ft(a),...it(a),...rt(a),...st(a),async capabilities(){return un.parse(E(await a("/v1/training/capabilities"),"capabilities"))},async stageArtifact(r){let o=await Lt(r);return Vt.parse(E(await a("/v1/training/artifacts",{method:"POST",body:JSON.stringify(o)}),"artifact"))},async createJob(r){let o=await an(r);return V.parse(E(await a("/v1/training/jobs",{method:"POST",body:JSON.stringify(o)}),"job"))},async listJobs(r={}){let o=new URLSearchParams;r.modelProjectId&&o.set("modelProjectId",g.parse(r.modelProjectId)),r.cursor&&o.set("cursor",e.string().trim().min(1).max(2e3).parse(r.cursor)),r.limit!==void 0&&o.set("limit",String(e.number().int().min(1).max(1e3).parse(r.limit)));let m=o.size>0?`?${o.toString()}`:"";return rn.parse(await a(`/v1/training/jobs${m}`))},async getJob(r){return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}`),"job"))},async cancelJob(r,o){let m=mt.parse({expectedVersion:o});return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(m)}),"job"))},async stopAfterGroup(r,o){let m=mt.parse({expectedVersion:o});return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/stop-after-group`,{method:"POST",body:JSON.stringify(m)}),"job"))},async events(r){return e.array(on).parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/events`),"events"))},async outputs(r){return pn.parse(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/outputs`))},async evaluationTasks(r,o,m={}){let c=g.parse(r),P=p.parse(o),f=new URLSearchParams,x=m.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(m.cursor),L=x===void 0?0:e.number().int().min(1).max(9999).parse(Number(x));x!==void 0&&f.set("cursor",x),m.limit!==void 0&&f.set("limit",String(e.number().int().min(1).max(100).parse(m.limit)));let Q=f.size?`?${f.toString()}`:"";return ct(await a(`/v1/training/jobs/${encodeURIComponent(c)}/evaluations/${encodeURIComponent(P.id)}/tasks${Q}`),{jobId:c,evaluation:P,offset:L})},async logs(r){return e.array(sn).max(1e5).parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/logs`),"logs"))}}}s(Ca,"createTrainingClient");function dt(t,n){return t!==null?t===408||t===429||t>=500:n instanceof ie?n.retryable:n instanceof d?n.code==="invalid_error_response":n instanceof TypeError}s(dt,"trainingReadFailureIsRetryable");function E(t,n){return!t||typeof t!="object"||Array.isArray(t)?t:n in t?t[n]:t}s(E,"unwrapObject");function ln(t,n){let i=dn.safeParse(t);return i.success?new ie(n,i.data):new d("invalid_error_response",`Training request failed with HTTP ${n} and an invalid error envelope.`)}s(ln,"trainingApiError");var S=e.string().trim().min(1).max(191),B=e.string().regex(/^[a-f0-9]{64}$/),ye=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:S,operationId:S,projectId:S.nullable(),configuration:e.object({id:S,expectedRevision:e.number().int().positive(),expectedEtag:B}).strict(),origin:C.optional(),batch:T,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),lt=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:S,creatorUserId:S,request:ye,requestHash:B,source:e.lazy(()=>Ie),submissionHash:B,createdAt:e.string().datetime({offset:!0})}).strict(),gt=lt.extend({contentHash:B}).strict(),Se=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:gt,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:S.nullable()}).strict().superRefine((t,n)=>{t.state==="submitted"!=!!t.jobId&&n.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Te=e.object({teamId:S,planHash:B,expectedRevision:e.number().int().positive()}).strict(),gn=e.object({projectId:S.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:S.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),hn=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:S,items:e.array(Se).max(100),nextCursor:S.nullable()}).strict();async function ht(t){let n=Se.parse(t),{contentHash:i,...a}=n.plan;if(await h(a)!==i||await h(a.request)!==a.requestHash||a.source.modelProject.id!==a.request.configuration.id||await h(a.source.origin??null)!==await h(a.request.origin??null))throw new d("training_preparation_mismatch","The prepared training inputs changed.");return n}s(ht,"parseAndVerifyTrainingPreparationReceipt");function ft(t){async function n(i,a,r){let o=await ht(i);if(o.plan.request.teamId!==a||r&&o.plan.id!==r)throw new d("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return o}return s(n,"read"),{async listPreparations(i,a={}){let r=S.parse(i),o=gn.parse(a),m=new URLSearchParams;for(let[f,x]of Object.entries(o))m.set(f,String(x));let c=hn.parse(await t(`/v1/training/preparations?${m}`));if(c.teamId!==r||c.items.length>o.limit||new Set(c.items.map(f=>f.plan.id)).size!==c.items.length||c.nextCursor!==null&&(c.nextCursor!==c.items.at(-1)?.plan.id||c.nextCursor===o.afterId))throw new d("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let P=await Promise.all(c.items.map(async f=>{let x=await n(f,r);if(o.projectId&&x.plan.request.projectId!==o.projectId||o.state&&x.state!==o.state)throw new d("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return x}));return{...c,items:P}},async prepareRun(i){let a=ye.parse(i),r=await n(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(a)}),a.teamId);if(r.plan.requestHash!==await h(a))throw new d("training_preparation_request_mismatch","The preparation does not match the requested run.");return r},async getPreparation(i,a){return n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(a))}`),S.parse(i),a)},async startPreparation(i,a){let r=Te.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/start`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="submitted")throw new d("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return o},async cancelPreparation(i,a){let r=Te.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="cancelled")throw new d("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return o}}}s(ft,"createTrainingPreparationClient");export{M as a,Fe as b,Pt as c,di as d,le as e,he as f,ki as g,vi as h,Hi as i,ji as j,be as k,ye as l,ht as m,an as n,Ea as o,ie as p,Ca as q};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as ve}from"./chunk-L3KS6MOV.js";import{b as I,f as $}from"./chunk-
|
|
2
|
+
import{a as ve}from"./chunk-L3KS6MOV.js";import{b as I,f as $}from"./chunk-HFJUXKT5.js";import{E as ke,F as Re}from"./chunk-2EPR4HLF.js";import{f as U}from"./chunk-UGOK7VTC.js";import{a as s}from"./chunk-FTQLQJQV.js";import{createRequire as at}from"node:module";import{createHash as Qe,randomUUID as et}from"node:crypto";import{spawn as uo}from"node:child_process";import{existsSync as S}from"node:fs";import{cp as fo,mkdir as x,readFile as st,readdir as it,rename as Pe,rm as we,symlink as po,writeFile as z}from"node:fs/promises";import u from"node:path";function ne(e=null){return{actionCount:0,generatedAt:null,manifestPath:null,registryPath:null,stale:!0,error:e}}s(ne,"emptyProfileCatalogState");function re(e=null){return{skillCount:0,generatedAt:null,stale:!0,error:e}}s(re,"emptyProfileSkillCatalogState");function ae(){return{status:"ready",requirementCount:0,blockingCount:0,optionalMissingCount:0,readyCount:0,requirements:[],blockingRequirements:[]}}s(ae,"emptyProfileSetupGate");function K(){return{changedAgents:[],newAgents:[],deletedAgents:[],changedSkills:[],changedActions:[],changedExtensions:[],setupChanges:[],envRequirementChanges:[],files:[]}}s(K,"emptyProfileDiffSummary");function se(e=null){return{state:e?"error":"none",message:e??"No active OpenPond profile.",agentCount:0,actionCount:0,defaultAction:null,checkFresh:!1,checkStaleReason:e??"No active profile.",localHead:null,hostedHead:null}}s(se,"emptyProfileSummary");import{existsSync as G}from"node:fs";import{readFile as It,stat as kt}from"node:fs/promises";import V from"node:path";var be=".openpond/agent-manifest.json",Ee=".openpond/action-registry.json",Rt=".openpond/source-upload-metadata.json",vt=".openpond/agent-package-origin.json";async function _e(e){return Me({agentId:"default",sourcePath:e,preferred:!0})}s(_e,"loadProfileActionCatalog");async function $e(e){if(e.length===0)return{catalog:{actionCount:0,generatedAt:null,manifestPath:null,registryPath:null,stale:!1,error:null},actionCatalog:[],sourceSetupRequirements:[]};let t=[...e.filter(c=>c.preferred),...e.filter(c=>!c.preferred)],o=await Promise.all(t.map(Me)),n=new Map,r=[];for(let c of o)for(let l of c.actionCatalog){let d=n.has(l.id)?`${l.agentId??"agent"}.${l.sourceActionId??l.id}`:l.id,p=d===l.id?l:{...l,id:d};n.set(d,p),r.push(p)}let a=Et(o.map(c=>c.catalog.generatedAt)),i=o.map(c=>c.catalog.error).filter(Boolean);return{catalog:{actionCount:r.length,generatedAt:a,manifestPath:o.find(c=>c.catalog.manifestPath)?.catalog.manifestPath??null,registryPath:o.find(c=>c.catalog.registryPath)?.catalog.registryPath??null,stale:o.some(c=>c.catalog.stale),error:i.length>0?i.join("; "):null},actionCatalog:r,sourceSetupRequirements:o.flatMap(c=>c.sourceSetupRequirements)}}s($e,"loadProfileActionCatalogForSources");async function Me(e){let t=e.sourcePath,o=V.join(t,be),n=V.join(t,Ee),r=V.join(t,Rt),a=V.join(t,vt);try{let i=await X(o),c=await X(n),l=await X(r),d=y(await X(a)),p=y(y(i)?.inputSchemas),h=Oe(y(l)?.setupRequirements)??[],v=xt(h),A=new Map;for(let g of[...ie(y(i)?.actionCatalog),...ie(y(c)?.actions),...ie(y(i)?.actions)]){let j=m(g.id)??m(g.name);if(!j)continue;let C=A.get(j),At=Ot({sourceRequirementsByAction:v,actionId:j,actionName:m(g.name)}),St=_t(Oe(g.setupRequirements)??C?.setupRequirements??[],At),Ct={id:j,agentId:e.agentId,sourcePath:t,sourceActionId:j,name:m(g.name)??C?.name??j,label:m(g.label)??C?.label??Tt(j),description:m(g.description)??C?.description??null,visibility:m(g.visibility)??C?.visibility??"default",inputSchema:qt(g.inputSchema,p)??C?.inputSchema??null,outputSchema:je(g.outputSchema)??C?.outputSchema??null,approvalPolicy:y(g.approvalPolicy)??C?.approvalPolicy??null,artifactPolicy:y(g.artifactPolicy)??C?.artifactPolicy??null,setupRequirements:St,mcp:y(g.mcp)??C?.mcp??null,schedulePolicy:y(g.schedulePolicy)??C?.schedulePolicy??null,trace:bt(y(g.trace)??C?.trace??null,d),implementation:y(g.implementation)??C?.implementation??null,invokesModel:typeof g.invokesModel=="boolean"?g.invokesModel:C?.invokesModel};A.set(j,Ct)}let M=Array.from(A.values()).filter(g=>g.visibility!=="internal"&&g.visibility!=="debug"),L=[...i?[]:[be],...c?[]:[Ee]],_=await jt([o,n]);return{catalog:{actionCount:M.length,generatedAt:_,manifestPath:G(o)?o:null,registryPath:G(n)?n:null,stale:L.length>0,error:L.length>0?Mt(e,L):null},actionCatalog:M,sourceSetupRequirements:h}}catch(i){return{catalog:{actionCount:0,generatedAt:null,manifestPath:G(o)?o:null,registryPath:G(n)?n:null,stale:!0,error:i instanceof Error?i.message:String(i)},actionCatalog:[],sourceSetupRequirements:[]}}}s(Me,"loadProfileActionCatalogSource");function bt(e,t){if(!t)return e;let o=m(t.versionId),n=m(t.digest);return!o||!n?e:{...e??{},agentVersionId:o,agentPackageDigest:n,validationReceiptIds:xe(t.validationReceiptIds),evalReceiptIds:xe(t.evalReceiptIds)}}s(bt,"mergeAgentPackageTrace");function xe(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.trim().length>0):[]}s(xe,"stringArray");function Et(e){let t=0;for(let o of e){if(!o)continue;let n=Date.parse(o);Number.isFinite(n)&&(t=Math.max(t,n))}return t>0?new Date(t).toISOString():null}s(Et,"latestIso");function xt(e){let t=new Map;for(let o of e){let n=[m(o.actionId),m(o.sourceActionId),m(o.actionName)].filter(r=>!!r);for(let r of n){let a=t.get(r)??[];a.push(o),t.set(r,a)}}return t}s(xt,"sourceSetupRequirementsByAction");function Ot(e){return[...e.sourceRequirementsByAction.get(e.actionId)??[],...e.actionName&&e.actionName!==e.actionId?e.sourceRequirementsByAction.get(e.actionName)??[]:[]].map(o=>({...o,source:"source_upload_metadata"}))}s(Ot,"setupRequirementsForActionSource");function _t(e,t){if(t.length===0)return e;let o=[],n=new Set;for(let r of[...e,...t]){let a=$t(r);n.has(a)||(n.add(a),o.push(r))}return o}s(_t,"mergeSetupRequirements");function $t(e){return[m(e.actionId)??m(e.sourceActionId)??m(e.actionName)??"",m(e.kind)??m(e.type)??"",m(e.name)??m(e.key)??m(e.provider)??m(e.tool)??m(e.command)??m(e.packageName)??m(e.path)??m(e.repo)??m(e.url)??m(e.id)??""].join(":")}s($t,"setupRequirementIdentity");function Mt(e,t){return[`Profile agent ${e.agentId} at ${e.sourcePath} is missing SDK catalog artifact(s): ${t.join(", ")}.`,"Run `openpond profile check --kind all` after source materialization so each enabled profile agent has inspect/build artifacts."].join(" ")}s(Mt,"missingSourceArtifactsMessage");async function X(e){return G(e)?JSON.parse(await It(e,"utf8")):null}s(X,"readJsonIfExists");async function jt(e){let t=0;for(let o of e){if(!G(o))continue;let n=await kt(o);t=Math.max(t,n.mtimeMs)}return t>0?new Date(t).toISOString():null}s(jt,"latestMtime");function y(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}s(y,"asRecord");function ie(e){return Array.isArray(e)?e.filter(t=>!!y(t)):[]}s(ie,"records");function Oe(e){return Array.isArray(e)?e.filter(t=>!!y(t)):null}s(Oe,"recordArray");function m(e){return typeof e=="string"&&e.trim()?e.trim():null}s(m,"text");function je(e){return m(e)??y(e)}s(je,"schemaValue");function qt(e,t){let o=je(e);return typeof o!="string"?o:y(t?.[o])??o}s(qt,"resolvedSchemaValue");function Tt(e){let t=e.replace(/[._-]+/g," ").trim();return t?t.replace(/\b\w/g,o=>o.toUpperCase()):e}s(Tt,"titleFromActionId");var Y=class extends Error{static{s(this,"OpenPondProfileSetupRequiredError")}code="agent_source_setup_required";details;constructor(t,o){let n=o.blockingRequirements.map(r=>r.label);super(["agent_source_setup_required",`Profile action ${t} has unresolved required setup.`,n.length?`Missing setup: ${n.join(", ")}`:""].filter(Boolean).join(`
|
|
3
3
|
`)),this.name="OpenPondProfileSetupRequiredError",this.details={error:"agent_source_setup_required",actionId:t,setupGate:o,missing:n,blockingSetupRequirements:o.blockingRequirements,setupRequirements:o.requirements}}};function Z(e){let t=new Map;for(let i of e.sourceSetupRequirements??[]){let c=Ft(i);if(e.actionId&&c&&c!==e.actionId&&P(i.actionName)!==e.actionId&&P(i.sourceActionId)!==e.actionId)continue;let l=qe({record:i,source:"source_upload_metadata",actionId:c});l&&t.set(l.ref,l)}for(let i of e.actionCatalog)if(!(e.actionId&&i.id!==e.actionId&&i.name!==e.actionId))for(let c of i.setupRequirements??[]){let l=qe({record:c,source:"action_catalog",actionId:i.id});l&&t.set(l.ref,l)}let o=Array.from(t.values()),n=o.filter(i=>i.blocking),r=o.filter(i=>!i.required&&!ce(i.status)).length,a=o.filter(i=>ce(i.status)).length;return{status:Lt(n),requirementCount:o.length,blockingCount:n.length,optionalMissingCount:r,readyCount:a,requirements:o,blockingRequirements:n}}s(Z,"buildOpenPondProfileSetupGate");function le(e,t){if(t.blockingRequirements.length>0)throw new Y(e,t)}s(le,"assertOpenPondProfileActionReady");function Nt(e){let t=e.actionId?`${e.actionId}: `:"",o=e.required?"required":"optional";return`${t}${e.label} (${o}, ${e.status})`}s(Nt,"formatOpenPondProfileSetupRequirement");function qe(e){let t=e.source==="action_catalog"&&P(e.record.source)==="source_upload_metadata"?"source_upload_metadata":e.source,o=P(e.record.kind)??P(e.record.type),n=P(e.record.label)??P(e.record.name)??P(e.record.key)??P(e.record.provider)??P(e.record.tool)??P(e.record.command)??P(e.record.packageName)??P(e.record.path)??P(e.record.repo)??P(e.record.url)??P(e.record.id)??o??"setup requirement",r=e.record.required!==!1,a=Ht(e.record);return{ref:[t,e.actionId??"source",o??"requirement",n].join(":"),source:t,actionId:e.actionId,kind:o,label:n,status:a,required:r,blocking:r&&!ce(a)}}s(qe,"setupRequirementFromRecord");function Ft(e){return P(e.actionId)??P(e.sourceActionId)??P(e.actionName)}s(Ft,"setupRequirementActionId");function Ht(e){let t=P(e.status)??P(e.state);return t?t==="satisfied"||t==="connected"||t==="provided"?"ready":t:typeof e.satisfied=="boolean"?e.satisfied?"ready":"setup_required":typeof e.ready=="boolean"&&e.ready?"ready":"setup_required"}s(Ht,"setupStatus");function Lt(e){return e.length===0?"ready":e.some(t=>["blocked","unsupported","unsupported_dependency","stale"].includes(t.status))?"blocked":"setup_required"}s(Lt,"gateStatus");function ce(e){return e==="ready"||e==="disabled"}s(ce,"isReadyStatus");function P(e){return typeof e=="string"&&e.trim()?e.trim():null}s(P,"text");import{spawn as Ut}from"node:child_process";import{randomUUID as Gt}from"node:crypto";import{existsSync as ue}from"node:fs";import{readFile as Bt,rm as Dt,writeFile as Fe}from"node:fs/promises";import Q from"node:path";var He=["**/node_modules/","**/.bun/","**/.env","**/.env.*","**/.openpond/traces/","**/.openpond/vendor/","**/.openpond/eval-results.json","**/.openpond/artifact-index.json","**/.openpond/source-upload-cache.json",""].join(`
|
|
4
4
|
`);async function Le(e){if(!ue(Q.join(e,".git"))){let a=await k(e,["init","-b","main"]);if(a.code!==0)throw new Error(T("git init",a))}let t=Q.join(e,".gitignore");if(ue(t)?await zt(t):await Fe(t,He,"utf8"),await Wt(e))return;let o=await N(e);if(!o.dirty&&o.files.length===0)return;let n=await k(e,["add","-A"]);if(n.code!==0)throw new Error(T("git add",n));let r=await k(e,["commit","-m","Initialize OpenPond profile"],{env:{...process.env,GIT_AUTHOR_NAME:process.env.GIT_AUTHOR_NAME||"OpenPond",GIT_AUTHOR_EMAIL:process.env.GIT_AUTHOR_EMAIL||"openpond@example.invalid",GIT_COMMITTER_NAME:process.env.GIT_COMMITTER_NAME||"OpenPond",GIT_COMMITTER_EMAIL:process.env.GIT_COMMITTER_EMAIL||"openpond@example.invalid"}});if(r.code!==0&&!/nothing to commit/i.test(r.stdout+r.stderr))throw new Error(T("git commit",r))}s(Le,"ensureProfileGitRepo");async function zt(e){let t=await Bt(e,"utf8").catch(()=>""),o=He.split(/\r?\n/).map(r=>r.trim()).filter(Boolean).filter(r=>!t.split(/\r?\n/).some(a=>a.trim()===r));if(o.length===0)return;let n=t.endsWith(`
|
|
5
5
|
`)||t.length===0?"":`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as j}from"./chunk-BQUWZRWU.js";import{j as y}from"./chunk-M4ZRCRJM.js";import{f as i,m as s}from"./chunk-VNJAAYNQ.js";import{c as H,d as w,f as k}from"./chunk-LAOLJDVB.js";import{Hb as f,Mb as h,Pb as I,Qb as E,eb as v,fb as g}from"./chunk-PBZCXPPC.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as m}from"./chunk-FTQLQJQV.js";var A=e.object({sourcePass:i,graders:j.shape.graders,mappings:j.shape.mappings,maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),C=e.object({externalDatasetBinding:v,scoring:A.optional(),modelId:e.string().min(1).max(300),maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),R=e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:e.string().trim().min(1),profileId:e.string().trim().min(1)}).strict(),n=e.string().min(1).max(240),c=e.string().regex(/^[a-f0-9]{64}$/),x=e.object({schemaVersion:e.literal("openpond.experimentImprovement.v1"),id:n,operationId:n,requestHash:c,actorId:n,teamId:n,projectId:n.nullable(),ownerWorkspaceId:n,ownerRevision:e.number().int().nonnegative(),ownerSourceRevision:e.string().min(1).max(500),baseRelease:i,profileRef:R,baseProfileSourceRevision:e.string().min(1).max(500),evidence:e.object({manifest:f,result:h}).strict(),component:e.object({kind:e.enum(["skill","workflow","agent","instruction"]),path:e.string().min(1).max(2e3),workflowId:n.optional()}).strict(),mode:e.enum(["manual","llm_assisted"]),status:e.enum(["draft","authoring_queued","authoring","frozen","testing","ready_for_review","adopting","accepted","rolled_back","declined","failed","cancelled"]),revision:e.number().int().positive(),limits:e.object({maximumCostUsd:e.number().finite().positive(),maximumAuthoringSteps:e.number().int().min(1).max(500),maximumDurationMs:e.number().int().min(1e3).max(864e5)}).strict(),authoringSteps:e.number().int().nonnegative().max(500),work:e.object({sessionId:n,turnId:n,revision:e.number().int().positive(),startedAt:e.string().datetime()}).strict().nullable(),frozen:e.object({release:i,sourceRevision:e.string().min(1).max(500),profileSourceRevision:e.string().min(1).max(500),authoringHash:c,partitionHash:c,executableSourceHash:c,protectedClosureHash:c,candidateRevision:e.number().int().positive(),diff:e.array(e.object({path:e.string(),before:c.nullable(),after:c.nullable()}).strict()).max(1e4)}).strict().nullable(),test:e.object({recipe:C,recipeHash:e.string().regex(/^[a-f0-9]{64}$/),baselineOperationId:e.string(),candidateOperationId:e.string(),cancelRequestedAt:e.string().datetime().nullable(),dispatching:e.object({kind:e.enum(["baseline","candidate"]),token:n,pid:e.number().int().positive(),processStart:e.string().nullable(),startedAt:e.string().datetime()}).strict().nullable()}).strict().nullable(),comparison:e.object({baseline:e.object({manifest:f,result:h}).strict(),candidate:e.object({manifest:f,result:h}).strict(),frozenHash:c,humanProjection:w.optional()}).strict().nullable(),adoptionIntent:e.object({operationId:n,expectedOwnerRevision:e.number().int().nonnegative(),frozenHash:c,humanProjection:w.optional()}).strict().nullable(),acceptance:i.nullable(),rollback:i.nullable(),error:e.string().max(2e3).nullable(),createdAt:e.string().datetime(),updatedAt:e.string().datetime(),contentHash:c}).strict();function D(r){let t=x.parse(r),{contentHash:l,...b}=t;if(s(b)!==l)throw new Error("Improvement state integrity failed.");if(I(t.evidence),t.evidence.manifest.teamId!==t.teamId||t.evidence.result.status!=="completed"||!t.evidence.result.cases.some(o=>o.status==="completed"))throw new Error("Improvement requires usable completed owner evidence.");if(t.test&&(s(t.test.recipe)!==t.test.recipeHash||g(t.test.recipe.externalDatasetBinding).profileId!==t.profileRef.profileId))throw new Error("The test recipe changed its exact selected Profile.");if(t.comparison?.humanProjection){let o=k(t.comparison.humanProjection);if(o.teamId!==t.teamId||o.projectId!==t.projectId||s(o.baseline)!==s(t.comparison.baseline)||s(o.candidate)!==s(t.comparison.candidate))throw new Error("Human comparison projection differs from its exact owner evidence.")}if(t.comparison&&(I(t.comparison.baseline),I(t.comparison.candidate),!t.frozen||t.comparison.frozenHash!==s(t.frozen)||!E(t.comparison.baseline,t.comparison.candidate).comparable))throw new Error("Improvement comparison is not bound to a comparable frozen candidate.");if(t.status==="ready_for_review"&&(!t.frozen||!t.comparison))throw new Error("Improvement is missing qualification.");if(t.status==="adopting"&&(!t.adoptionIntent||!t.frozen||t.adoptionIntent.frozenHash!==s(t.frozen)))throw new Error("Improvement adoption intent is not bound to its tested revision.");if(t.status==="accepted"&&(!t.acceptance||!t.comparison||!t.frozen))throw new Error("Improvement acceptance is missing its exact qualification receipt.");if(t.status==="rolled_back"&&(!t.acceptance||!t.rollback))throw new Error("Profile rollback is missing its durable owner receipt.");return t}m(D,"verifyExperimentImprovementState");function X(r){return D({...r,contentHash:s(r)})}m(X,"sealExperimentImprovementState");var Y=e.object({states:e.array(x).max(50),nextCursor:n.nullable()}).strict(),T=e.object({operationId:n,ownerWorkspaceId:n,expectedOwnerRevision:e.number().int().nonnegative(),baseRelease:i,profileRef:R,profileSourceRevision:e.string().min(1).max(500),projectId:n.nullable(),evidence:i,component:x.shape.component,mode:x.shape.mode,limits:x.shape.limits}).strict(),Z=e.discriminatedUnion("operation",[e.object({operation:e.literal("list"),limit:e.number().int().min(1).max(50).default(30),cursor:n.optional()}).strict(),e.object({operation:e.literal("options"),evidence:i}).strict(),e.object({operation:e.literal("start"),request:T}).strict(),e.object({operation:e.enum(["read","humanComparisonOptions"]),id:n}).strict(),e.object({operation:e.literal("instructions"),id:n}).strict(),e.object({operation:e.literal("edit"),id:n,revision:e.number().int().positive(),expectedFileHash:c,text:e.string().max(25e4)}).strict(),e.object({operation:e.literal("mode"),id:n,revision:e.number().int().positive(),mode:e.enum(["manual","llm_assisted"])}).strict(),e.object({operation:e.literal("author"),id:n,revision:e.number().int().positive(),modelId:n,prompt:e.string().min(1).max(2e4)}).strict(),e.object({operation:e.enum(["freeze","finishAuthoring","useCandidate","discard","cancel","rollback"]),id:n,revision:e.number().int().positive()}).strict(),e.object({operation:e.literal("test"),id:n,revision:e.number().int().positive(),recipe:C}).strict(),e.object({operation:e.literal("compare"),id:n,revision:e.number().int().positive(),baseline:i,candidate:i,humanSelections:H.optional()}).strict()]),S=e.object({teamId:n,evidence:i,scoring:A.optional(),profiles:e.array(e.object({id:c,name:e.string(),profileRef:R,ownerWorkspaceId:n,ownerRevision:e.number().int().nonnegative(),baseRelease:i,profileSourceRevision:e.string(),components:e.array(e.object({kind:e.enum(["skill","instruction","agent","workflow"]),path:e.string(),agentId:e.string().optional(),workflowId:e.string().optional(),label:e.string(),binding:v}).strict()).max(500)}).strict()).max(100)}).strict(),O=e.object({candidateId:n,actorId:n,teamId:n,projectId:n.nullable(),candidateRevision:e.number().int().positive(),recipeHash:c,baseline:e.object({manifest:f,result:h}).strict(),candidate:e.object({manifest:f,result:h}).strict(),contentHash:c}).strict();function U(r){let t=O.parse(r),{contentHash:l,...b}=t;if(s(b)!==l)throw new Error("Accepted Human discovery integrity failed.");for(let o of[t.baseline,t.candidate])if(I(o),o.manifest.teamId!==t.teamId||o.manifest.lineage?.humanProjection)throw new Error("Discovery must retain original owner evidence.");return t}m(U,"verifyExperimentImprovementHumanOptions");function ee(r,t){if(!r.test||r.test.cancelRequestedAt)throw new Error("The paired test is unavailable.");let l={candidateId:r.id,actorId:r.actorId,teamId:r.teamId,projectId:r.projectId,candidateRevision:r.revision,recipeHash:r.test.recipeHash,...t};return U({...l,contentHash:s(l)})}m(ee,"sealExperimentImprovementHumanOptions");var a=e.string().trim().min(1).max(240),d=e.string().regex(/^[a-f0-9]{64}$/),_=e.object({schemaVersion:e.literal("openpond.advancedRefinerEvaluation.v1"),operationId:a,actorId:a,teamId:a,projectId:a.nullable(),mode:e.enum(["review_quality","downstream_adaptation"]),profileRef:e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:a,profileId:a}).strict(),sourceRevision:e.string().min(1).max(500),baselineRelease:i,refinerRelease:i,evidence:i,externalDatasetBinding:v,adaptationDatasetBinding:v,privateClosureHash:d,adaptationTaskIds:e.array(a).min(1).max(1e4),holdoutTaskIds:e.array(a).min(1).max(1e4),adaptationSplit:e.enum(["train","validation","test","frozen_eval"]),holdoutSplit:e.enum(["train","validation","test","frozen_eval"]),environmentPolicy:e.discriminatedUnion("kind",[e.object({kind:e.literal("resettable"),environmentHash:d}).strict(),e.object({kind:e.literal("frozen_observations"),environmentHash:d}).strict()]),maximumCostUsd:e.number().finite().positive().max(1e4),maximumDurationMs:e.number().int().min(1e3).max(864e5),maximumModelSteps:e.number().int().min(1).max(1e3),contentHash:d}).strict();function M(r){let t=_.parse(r),{contentHash:l,...b}=t;if(s(b)!==l)throw new Error("Advanced Refiner evaluation admission changed.");let o=g(t.externalDatasetBinding);if(o.profileId!==t.profileRef.profileId||o.protectedProfileClosureHash!==t.privateClosureHash)throw new Error("Advanced evaluation changed its Profile or protected evaluator closure.");if(t.adaptationSplit===t.holdoutSplit||new Set([...t.adaptationTaskIds,...t.holdoutTaskIds]).size!==t.adaptationTaskIds.length+t.holdoutTaskIds.length)throw new Error("Adaptation and private holdout must be disjoint ordered cases.");let p=g(t.adaptationDatasetBinding);if(p.profileId!==o.profileId||p.packageHash!==o.packageHash||s(p.dataset)!==s(o.dataset)||s(p.target)!==s(o.target)||p.protectedProfileClosureHash!==o.protectedProfileClosureHash)throw new Error("This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target.");if(p.split!==t.adaptationSplit||o.split!==t.holdoutSplit)throw new Error("Advanced split policies differ from their exact admitted recipes.");let q=new Set(o.population.map(u=>u.taskId)),z=new Set(p.population.map(u=>u.taskId));if(t.holdoutTaskIds.some(u=>!q.has(u))||t.adaptationTaskIds.some(u=>!z.has(u)))throw new Error("Advanced evaluation selected cases outside its exact Dataset recipe.");return t}m(M,"verifyAdvancedRefinerEvaluationPin");function ce(r){return M({...r,contentHash:s(r)})}m(ce,"sealAdvancedRefinerEvaluationPin");var B=e.object({pin:_,modelId:a,profileId:a,model:y,seed:e.number().int(),reasoningEffort:e.enum(["none","off","low","medium","high","xhigh","max"]).nullable()}).strict(),V=e.discriminatedUnion("operation",[e.object({operation:e.literal("start"),request:B}).strict(),e.object({operation:e.enum(["read","cancel","resume"]),id:a}).strict(),e.object({operation:e.literal("list")}).strict()]),W=e.object({taskId:a,sourceCaseHash:d,reviewSessionId:a,reviewTurnId:a,inputHarness:i,trigger:i,decision:e.enum(["no_action","route_deterministically","queue_refiner"]),outcome:i.nullable(),proposal:i.nullable(),validations:e.array(i).max(100),grade:e.object({id:a,contentHash:d,score:e.number().min(0).max(1).nullable(),passed:e.boolean(),failureClass:e.string().nullable()}).strict(),resetComplete:e.boolean()}).strict(),$=e.object({schemaVersion:e.literal("openpond.advancedRefinerReviewReceipt.v1"),id:a,runId:a,pinHash:d,ownerActorId:a,teamId:a,privateClosureHash:d,refinerRelease:i,cases:e.array(W).min(1).max(1e4),reviewScore:e.number().min(0).max(1).nullable(),completedCases:e.number().int().nonnegative(),noActionCases:e.number().int().nonnegative(),routedCases:e.number().int().nonnegative(),proposalCases:e.number().int().nonnegative(),costUsd:e.number().finite().nonnegative().nullable(),cleanupComplete:e.boolean(),createdAt:e.string().datetime(),contentHash:d}).strict();function de(r){return $.parse({...r,contentHash:s(r)})}m(de,"sealAdvancedRefinerReviewReceipt");var P=S.shape.profiles.element,me=S.extend({profiles:e.array(P.extend({components:e.array(P.shape.components.element.extend({adaptationSplits:e.array(e.object({split:e.enum(["train","validation","test","frozen_eval"]),taskIds:e.array(a)})),environmentHash:d,resettable:e.boolean(),reviewQuality:e.boolean()}))})),refinerReleases:e.array(i),activeRefiner:i.nullable(),models:e.array(e.object({id:a,profileId:a,name:e.string(),location:e.enum(["local","hosted"])}))}),L=e.object({operation:e.literal("prepare"),evidence:i,profileOptionId:a,componentLabel:a,mode:e.enum(["review_quality","downstream_adaptation"]),adaptationSplit:e.enum(["train","validation","test","frozen_eval"]),operationId:a,refinerRelease:i,maximumCostUsd:e.number().positive(),maximumDurationMs:e.number().int().positive(),maximumModelSteps:e.number().int().positive()}).strict(),le=e.union([V,L,e.object({operation:e.literal("options"),evidence:i}).strict()]),pe=e.object({modelRequests:e.number().int().nonnegative(),knownSpendUsd:e.number().nonnegative(),totalSpendUsd:e.number().nonnegative().nullable(),heldUsd:e.number().nonnegative(),uncertainRequests:e.number().int().nonnegative()}).strict();export{C as a,x as b,D as c,X as d,Y as e,T as f,Z as g,S as h,U as i,ee as j,_ as k,M as l,ce as m,B as n,V as o,W as p,$ as q,de as r,L as s,pe as t};
|
|
2
|
+
import{a as j}from"./chunk-P74RR2GB.js";import{j as y}from"./chunk-PGO4FRHU.js";import{f as i,m as s}from"./chunk-VNJAAYNQ.js";import{c as H,d as w,f as k}from"./chunk-LAOLJDVB.js";import{Hb as f,Mb as h,Pb as I,Qb as E,eb as v,fb as g}from"./chunk-PBZCXPPC.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as m}from"./chunk-FTQLQJQV.js";var A=e.object({sourcePass:i,graders:j.shape.graders,mappings:j.shape.mappings,maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),C=e.object({externalDatasetBinding:v,scoring:A.optional(),modelId:e.string().min(1).max(300),maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),R=e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:e.string().trim().min(1),profileId:e.string().trim().min(1)}).strict(),n=e.string().min(1).max(240),c=e.string().regex(/^[a-f0-9]{64}$/),x=e.object({schemaVersion:e.literal("openpond.experimentImprovement.v1"),id:n,operationId:n,requestHash:c,actorId:n,teamId:n,projectId:n.nullable(),ownerWorkspaceId:n,ownerRevision:e.number().int().nonnegative(),ownerSourceRevision:e.string().min(1).max(500),baseRelease:i,profileRef:R,baseProfileSourceRevision:e.string().min(1).max(500),evidence:e.object({manifest:f,result:h}).strict(),component:e.object({kind:e.enum(["skill","workflow","agent","instruction"]),path:e.string().min(1).max(2e3),workflowId:n.optional()}).strict(),mode:e.enum(["manual","llm_assisted"]),status:e.enum(["draft","authoring_queued","authoring","frozen","testing","ready_for_review","adopting","accepted","rolled_back","declined","failed","cancelled"]),revision:e.number().int().positive(),limits:e.object({maximumCostUsd:e.number().finite().positive(),maximumAuthoringSteps:e.number().int().min(1).max(500),maximumDurationMs:e.number().int().min(1e3).max(864e5)}).strict(),authoringSteps:e.number().int().nonnegative().max(500),work:e.object({sessionId:n,turnId:n,revision:e.number().int().positive(),startedAt:e.string().datetime()}).strict().nullable(),frozen:e.object({release:i,sourceRevision:e.string().min(1).max(500),profileSourceRevision:e.string().min(1).max(500),authoringHash:c,partitionHash:c,executableSourceHash:c,protectedClosureHash:c,candidateRevision:e.number().int().positive(),diff:e.array(e.object({path:e.string(),before:c.nullable(),after:c.nullable()}).strict()).max(1e4)}).strict().nullable(),test:e.object({recipe:C,recipeHash:e.string().regex(/^[a-f0-9]{64}$/),baselineOperationId:e.string(),candidateOperationId:e.string(),cancelRequestedAt:e.string().datetime().nullable(),dispatching:e.object({kind:e.enum(["baseline","candidate"]),token:n,pid:e.number().int().positive(),processStart:e.string().nullable(),startedAt:e.string().datetime()}).strict().nullable()}).strict().nullable(),comparison:e.object({baseline:e.object({manifest:f,result:h}).strict(),candidate:e.object({manifest:f,result:h}).strict(),frozenHash:c,humanProjection:w.optional()}).strict().nullable(),adoptionIntent:e.object({operationId:n,expectedOwnerRevision:e.number().int().nonnegative(),frozenHash:c,humanProjection:w.optional()}).strict().nullable(),acceptance:i.nullable(),rollback:i.nullable(),error:e.string().max(2e3).nullable(),createdAt:e.string().datetime(),updatedAt:e.string().datetime(),contentHash:c}).strict();function D(r){let t=x.parse(r),{contentHash:l,...b}=t;if(s(b)!==l)throw new Error("Improvement state integrity failed.");if(I(t.evidence),t.evidence.manifest.teamId!==t.teamId||t.evidence.result.status!=="completed"||!t.evidence.result.cases.some(o=>o.status==="completed"))throw new Error("Improvement requires usable completed owner evidence.");if(t.test&&(s(t.test.recipe)!==t.test.recipeHash||g(t.test.recipe.externalDatasetBinding).profileId!==t.profileRef.profileId))throw new Error("The test recipe changed its exact selected Profile.");if(t.comparison?.humanProjection){let o=k(t.comparison.humanProjection);if(o.teamId!==t.teamId||o.projectId!==t.projectId||s(o.baseline)!==s(t.comparison.baseline)||s(o.candidate)!==s(t.comparison.candidate))throw new Error("Human comparison projection differs from its exact owner evidence.")}if(t.comparison&&(I(t.comparison.baseline),I(t.comparison.candidate),!t.frozen||t.comparison.frozenHash!==s(t.frozen)||!E(t.comparison.baseline,t.comparison.candidate).comparable))throw new Error("Improvement comparison is not bound to a comparable frozen candidate.");if(t.status==="ready_for_review"&&(!t.frozen||!t.comparison))throw new Error("Improvement is missing qualification.");if(t.status==="adopting"&&(!t.adoptionIntent||!t.frozen||t.adoptionIntent.frozenHash!==s(t.frozen)))throw new Error("Improvement adoption intent is not bound to its tested revision.");if(t.status==="accepted"&&(!t.acceptance||!t.comparison||!t.frozen))throw new Error("Improvement acceptance is missing its exact qualification receipt.");if(t.status==="rolled_back"&&(!t.acceptance||!t.rollback))throw new Error("Profile rollback is missing its durable owner receipt.");return t}m(D,"verifyExperimentImprovementState");function X(r){return D({...r,contentHash:s(r)})}m(X,"sealExperimentImprovementState");var Y=e.object({states:e.array(x).max(50),nextCursor:n.nullable()}).strict(),T=e.object({operationId:n,ownerWorkspaceId:n,expectedOwnerRevision:e.number().int().nonnegative(),baseRelease:i,profileRef:R,profileSourceRevision:e.string().min(1).max(500),projectId:n.nullable(),evidence:i,component:x.shape.component,mode:x.shape.mode,limits:x.shape.limits}).strict(),Z=e.discriminatedUnion("operation",[e.object({operation:e.literal("list"),limit:e.number().int().min(1).max(50).default(30),cursor:n.optional()}).strict(),e.object({operation:e.literal("options"),evidence:i}).strict(),e.object({operation:e.literal("start"),request:T}).strict(),e.object({operation:e.enum(["read","humanComparisonOptions"]),id:n}).strict(),e.object({operation:e.literal("instructions"),id:n}).strict(),e.object({operation:e.literal("edit"),id:n,revision:e.number().int().positive(),expectedFileHash:c,text:e.string().max(25e4)}).strict(),e.object({operation:e.literal("mode"),id:n,revision:e.number().int().positive(),mode:e.enum(["manual","llm_assisted"])}).strict(),e.object({operation:e.literal("author"),id:n,revision:e.number().int().positive(),modelId:n,prompt:e.string().min(1).max(2e4)}).strict(),e.object({operation:e.enum(["freeze","finishAuthoring","useCandidate","discard","cancel","rollback"]),id:n,revision:e.number().int().positive()}).strict(),e.object({operation:e.literal("test"),id:n,revision:e.number().int().positive(),recipe:C}).strict(),e.object({operation:e.literal("compare"),id:n,revision:e.number().int().positive(),baseline:i,candidate:i,humanSelections:H.optional()}).strict()]),S=e.object({teamId:n,evidence:i,scoring:A.optional(),profiles:e.array(e.object({id:c,name:e.string(),profileRef:R,ownerWorkspaceId:n,ownerRevision:e.number().int().nonnegative(),baseRelease:i,profileSourceRevision:e.string(),components:e.array(e.object({kind:e.enum(["skill","instruction","agent","workflow"]),path:e.string(),agentId:e.string().optional(),workflowId:e.string().optional(),label:e.string(),binding:v}).strict()).max(500)}).strict()).max(100)}).strict(),O=e.object({candidateId:n,actorId:n,teamId:n,projectId:n.nullable(),candidateRevision:e.number().int().positive(),recipeHash:c,baseline:e.object({manifest:f,result:h}).strict(),candidate:e.object({manifest:f,result:h}).strict(),contentHash:c}).strict();function U(r){let t=O.parse(r),{contentHash:l,...b}=t;if(s(b)!==l)throw new Error("Accepted Human discovery integrity failed.");for(let o of[t.baseline,t.candidate])if(I(o),o.manifest.teamId!==t.teamId||o.manifest.lineage?.humanProjection)throw new Error("Discovery must retain original owner evidence.");return t}m(U,"verifyExperimentImprovementHumanOptions");function ee(r,t){if(!r.test||r.test.cancelRequestedAt)throw new Error("The paired test is unavailable.");let l={candidateId:r.id,actorId:r.actorId,teamId:r.teamId,projectId:r.projectId,candidateRevision:r.revision,recipeHash:r.test.recipeHash,...t};return U({...l,contentHash:s(l)})}m(ee,"sealExperimentImprovementHumanOptions");var a=e.string().trim().min(1).max(240),d=e.string().regex(/^[a-f0-9]{64}$/),_=e.object({schemaVersion:e.literal("openpond.advancedRefinerEvaluation.v1"),operationId:a,actorId:a,teamId:a,projectId:a.nullable(),mode:e.enum(["review_quality","downstream_adaptation"]),profileRef:e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:a,profileId:a}).strict(),sourceRevision:e.string().min(1).max(500),baselineRelease:i,refinerRelease:i,evidence:i,externalDatasetBinding:v,adaptationDatasetBinding:v,privateClosureHash:d,adaptationTaskIds:e.array(a).min(1).max(1e4),holdoutTaskIds:e.array(a).min(1).max(1e4),adaptationSplit:e.enum(["train","validation","test","frozen_eval"]),holdoutSplit:e.enum(["train","validation","test","frozen_eval"]),environmentPolicy:e.discriminatedUnion("kind",[e.object({kind:e.literal("resettable"),environmentHash:d}).strict(),e.object({kind:e.literal("frozen_observations"),environmentHash:d}).strict()]),maximumCostUsd:e.number().finite().positive().max(1e4),maximumDurationMs:e.number().int().min(1e3).max(864e5),maximumModelSteps:e.number().int().min(1).max(1e3),contentHash:d}).strict();function M(r){let t=_.parse(r),{contentHash:l,...b}=t;if(s(b)!==l)throw new Error("Advanced Refiner evaluation admission changed.");let o=g(t.externalDatasetBinding);if(o.profileId!==t.profileRef.profileId||o.protectedProfileClosureHash!==t.privateClosureHash)throw new Error("Advanced evaluation changed its Profile or protected evaluator closure.");if(t.adaptationSplit===t.holdoutSplit||new Set([...t.adaptationTaskIds,...t.holdoutTaskIds]).size!==t.adaptationTaskIds.length+t.holdoutTaskIds.length)throw new Error("Adaptation and private holdout must be disjoint ordered cases.");let p=g(t.adaptationDatasetBinding);if(p.profileId!==o.profileId||p.packageHash!==o.packageHash||s(p.dataset)!==s(o.dataset)||s(p.target)!==s(o.target)||p.protectedProfileClosureHash!==o.protectedProfileClosureHash)throw new Error("This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target.");if(p.split!==t.adaptationSplit||o.split!==t.holdoutSplit)throw new Error("Advanced split policies differ from their exact admitted recipes.");let q=new Set(o.population.map(u=>u.taskId)),z=new Set(p.population.map(u=>u.taskId));if(t.holdoutTaskIds.some(u=>!q.has(u))||t.adaptationTaskIds.some(u=>!z.has(u)))throw new Error("Advanced evaluation selected cases outside its exact Dataset recipe.");return t}m(M,"verifyAdvancedRefinerEvaluationPin");function ce(r){return M({...r,contentHash:s(r)})}m(ce,"sealAdvancedRefinerEvaluationPin");var B=e.object({pin:_,modelId:a,profileId:a,model:y,seed:e.number().int(),reasoningEffort:e.enum(["none","off","low","medium","high","xhigh","max"]).nullable()}).strict(),V=e.discriminatedUnion("operation",[e.object({operation:e.literal("start"),request:B}).strict(),e.object({operation:e.enum(["read","cancel","resume"]),id:a}).strict(),e.object({operation:e.literal("list")}).strict()]),W=e.object({taskId:a,sourceCaseHash:d,reviewSessionId:a,reviewTurnId:a,inputHarness:i,trigger:i,decision:e.enum(["no_action","route_deterministically","queue_refiner"]),outcome:i.nullable(),proposal:i.nullable(),validations:e.array(i).max(100),grade:e.object({id:a,contentHash:d,score:e.number().min(0).max(1).nullable(),passed:e.boolean(),failureClass:e.string().nullable()}).strict(),resetComplete:e.boolean()}).strict(),$=e.object({schemaVersion:e.literal("openpond.advancedRefinerReviewReceipt.v1"),id:a,runId:a,pinHash:d,ownerActorId:a,teamId:a,privateClosureHash:d,refinerRelease:i,cases:e.array(W).min(1).max(1e4),reviewScore:e.number().min(0).max(1).nullable(),completedCases:e.number().int().nonnegative(),noActionCases:e.number().int().nonnegative(),routedCases:e.number().int().nonnegative(),proposalCases:e.number().int().nonnegative(),costUsd:e.number().finite().nonnegative().nullable(),cleanupComplete:e.boolean(),createdAt:e.string().datetime(),contentHash:d}).strict();function de(r){return $.parse({...r,contentHash:s(r)})}m(de,"sealAdvancedRefinerReviewReceipt");var P=S.shape.profiles.element,me=S.extend({profiles:e.array(P.extend({components:e.array(P.shape.components.element.extend({adaptationSplits:e.array(e.object({split:e.enum(["train","validation","test","frozen_eval"]),taskIds:e.array(a)})),environmentHash:d,resettable:e.boolean(),reviewQuality:e.boolean()}))})),refinerReleases:e.array(i),activeRefiner:i.nullable(),models:e.array(e.object({id:a,profileId:a,name:e.string(),location:e.enum(["local","hosted"])}))}),L=e.object({operation:e.literal("prepare"),evidence:i,profileOptionId:a,componentLabel:a,mode:e.enum(["review_quality","downstream_adaptation"]),adaptationSplit:e.enum(["train","validation","test","frozen_eval"]),operationId:a,refinerRelease:i,maximumCostUsd:e.number().positive(),maximumDurationMs:e.number().int().positive(),maximumModelSteps:e.number().int().positive()}).strict(),le=e.union([V,L,e.object({operation:e.literal("options"),evidence:i}).strict()]),pe=e.object({modelRequests:e.number().int().nonnegative(),knownSpendUsd:e.number().nonnegative(),totalSpendUsd:e.number().nonnegative().nullable(),heldUsd:e.number().nonnegative(),uncertainRequests:e.number().int().nonnegative()}).strict();export{C as a,x as b,D as c,X as d,Y as e,T as f,Z as g,S as h,U as i,ee as j,_ as k,M as l,ce as m,B as n,V as o,W as p,$ as q,de as r,L as s,pe as t};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{d as n,f as l}from"./chunk-OE22TAXP.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as c}from"./chunk-FTQLQJQV.js";var u=e.enum(["active","preview","planned","deprecated"]),y=e.enum(["openpond-account","openpond-managed","codex-login","native-agent-login","chatgpt-subscription","local-byok","hosted-byok","custom"]),L=e.enum(["none","local_secret","env","openpond_account","codex_login","native_agent_login","chatgpt_subscription","hosted"]),v=e.object({connected:e.boolean().default(!1),source:L.default("none"),redacted:e.string().nullable().default(null),lastValidatedAt:e.string().nullable().default(null),lastError:e.string().nullable().default(null)}),m=e.object({hostedOpChat:e.boolean().default(!1),localRuntime:e.boolean().default(!0),localByok:e.boolean().default(!1),hostedByok:e.boolean().default(!1)}),O=e.enum(["hosted","provider","manual","none"]),p=e.object({chatCompletions:e.boolean().default(!0),streaming:e.boolean().default(!0),modelDiscovery:O.default("none"),toolCalling:e.boolean().default(!1),reasoning:e.boolean().default(!1),imageInput:e.boolean().default(!1),structuredOutput:e.boolean().default(!1)}),N=e.enum(["hosted","provider","curated","manual","cache"]),f=e.object({streaming:e.boolean().default(!0),toolCalling:e.boolean().default(!1),reasoning:e.boolean().default(!1),reasoningEfforts:e.array(e.enum(["off","low","medium","high","xhigh","max"])).default([]),vision:e.boolean().default(!1),structuredOutput:e.boolean().default(!1)}),U=e.object({id:e.string().trim().min(1).max(300),providerId:n,displayName:e.string().trim().min(1).max(300),contextWindow:e.number().int().positive().nullable().default(null),outputLimit:e.number().int().positive().nullable().default(null),lifecycleStatus:u.default("active"),source:N,capabilities:f.default(()=>f.parse({})),raw:e.record(e.string(),e.unknown()).optional()}),z=e.object({providerId:n,models:e.array(U).default([]),fetchedAt:e.string().nullable().default(null),lastError:e.string().nullable().default(null),source:e.enum(["none","hosted","provider","curated","manual"]).default("none")}),P=e.object({displayName:e.string().trim().min(1).max(160),command:e.string().trim().min(1).max(4096),args:e.array(e.string().max(4096)).max(100).default([]),env:e.record(e.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/),e.string().max(2e4)).default({}),registryId:e.string().max(160).nullable().default(null),version:e.string().max(200).nullable().default(null),installUrl:e.string().url().nullable().default(null),authMethodId:e.string().max(200).nullable().default(null)}),F=e.object({acp:P.nullable().default(null),nativeMode:e.string().max(200).nullable().default(null),nativeOptions:e.record(e.string().max(200),e.string().max(300)).default({}),binaryPath:e.string().trim().min(1).max(4096).nullable().default(null),sourceHome:e.string().trim().min(1).max(4096).nullable().default(null),enabled:e.boolean().default(!1),baseUrl:e.string().trim().min(1).max(2048).nullable().default(null),defaultModel:e.string().trim().min(1).max(300).nullable().default(null),modelOverrides:e.array(e.string().trim().min(1).max(300)).max(500).default([]),updatedAt:e.string().nullable().default(null)}),W=e.object({acp:P.nullable().optional(),nativeMode:e.string().max(200).nullable().optional(),nativeOptions:e.record(e.string().max(200),e.string().max(300)).optional(),binaryPath:e.string().trim().min(1).max(4096).nullable().optional(),sourceHome:e.string().trim().min(1).max(4096).nullable().optional(),enabled:e.boolean().optional(),baseUrl:e.string().trim().min(1).max(2048).nullable().optional(),defaultModel:e.string().trim().min(1).max(300).nullable().optional(),modelOverrides:e.array(e.string().trim().min(1).max(300)).max(500).optional()}),B=e.object({id:e.string().trim().min(1).max(300),displayName:e.string().trim().min(1).max(300),contextWindow:e.number().int().positive().nullable().optional(),outputLimit:e.number().int().positive().nullable().optional(),lifecycleStatus:u.optional(),capabilities:f.partial().optional()}),q=e.object({id:n,displayName:e.string().trim().min(1).max(160),lifecycleStatus:u.default("active"),credentialModes:e.array(y).default([]),routing:m,capabilities:p,defaultEnabled:e.boolean().optional(),defaultBaseUrl:e.string().trim().min(1).max(2048).nullable().optional(),defaultModel:e.string().trim().min(1).max(300).nullable().optional(),modelCacheSource:e.enum(["none","hosted","provider","curated","manual"]),models:e.array(B).default([])}),Ee=e.object({version:e.literal(1).default(1),generatedAt:e.string().datetime(),providers:e.array(q)}),V=e.object({id:n,displayName:e.string().trim().min(1).max(160),lifecycleStatus:u.default("active"),credentialModes:e.array(y).default([]),routing:m.default(()=>m.parse({})),capabilities:p.default(()=>p.parse({})),credential:v.default(()=>v.parse({})),enabled:e.boolean().default(!1),available:e.boolean().default(!1),defaultModel:e.string().trim().min(1).max(300).nullable().default(null),modelIds:e.array(e.string().trim().min(1).max(300)).max(1e3).default([]),lastError:e.string().nullable().default(null)}),H=e.object({version:e.literal(1).default(1),providers:e.record(e.string(),F).default({}),statuses:e.record(e.string(),V).default({}),modelCaches:e.record(e.string(),z).default({}),updatedAt:e.string().nullable().default(null)}),Me=e.object({providers:e.record(e.string(),W).optional()}),ke=e.object({source:e.enum(["local_secret","env"]).default("local_secret"),value:e.string().min(1).max(2e4).optional(),envVar:e.string().trim().min(1).max(160).optional()}).superRefine((t,r)=>{t.source==="env"&&!t.envVar&&r.addIssue({code:"custom",path:["envVar"],message:"envVar is required when provider credential source is env."}),t.source==="local_secret"&&!t.value&&r.addIssue({code:"custom",path:["value"],message:"value is required when provider credential source is local_secret."})}),je=e.object({source:e.enum(["local_secret","env","chatgpt_subscription"]).optional()}),we=e.object({modelId:e.string().trim().min(1).max(300).optional(),baseUrl:e.string().trim().min(1).max(2048).optional()}),Te=e.object({query:e.string().trim().max(200).optional(),refresh:e.boolean().default(!1),limit:e.number().int().positive().max(500).default(100)}),De=e.object({query:e.string().trim().max(200).optional(),force:e.boolean().default(!1)});var G=["coding","research","review","test","docs","planner","summarizer"],ze=e.enum(G),g=e.string().trim().min(1).max(80).regex(/^[a-z][a-z0-9_-]*$/),_=e.enum(["none","worktree","copy_on_write"]),R=e.enum(["read_only","workspace_write","full_tools"]),A=e.enum(["disabled","parent_scoped"]),Y=e.enum(["manual","balanced","proactive"]),Z=e.enum(["queued","running","completed","failed","cancelled","needs_resume"]),X=["subagent.started","subagent.reported","subagent.completed","subagent.progress","subagent.failed","subagent.cancelled","subagent.cleanup","subagent.workspace_retained","subagent.workspace_retention_expiring","subagent.archived","subagent.message"],Fe=e.enum(X),K=[{id:"coding",label:"Coding",description:"Make scoped code changes and return patch, diff, and test evidence.",defaultToolPolicy:"full_tools"},{id:"research",label:"Research",description:"Inspect docs, code, web or repo context and return cited findings.",defaultToolPolicy:"full_tools"},{id:"review",label:"Review",description:"Inspect diffs or implementation plans and return ranked findings.",defaultToolPolicy:"full_tools"},{id:"test",label:"Test",description:"Run or design validation in isolation and return command evidence.",defaultToolPolicy:"full_tools"},{id:"docs",label:"Docs",description:"Update or draft project documentation in an isolated target.",defaultToolPolicy:"full_tools"},{id:"planner",label:"Planner",description:"Decompose a goal into child assignments and context packs.",defaultToolPolicy:"full_tools"},{id:"summarizer",label:"Summarizer",description:"Compact transcripts, child results, and goal state for parent context.",defaultToolPolicy:"full_tools"}],b=e.object({id:g,enabled:e.boolean().default(!0),modelRef:l.nullable().default(null),isolationMode:_.default("none"),maxConcurrentRuns:e.number().int().min(1).max(16).default(1),toolPolicy:R.default("read_only"),background:e.boolean().default(!0),peerMessages:A.default("parent_scoped")}),x=e.object({enabled:e.boolean().default(!0),workspaceDefaultsVersion:e.literal(1).default(1),toolDefaultsVersion:e.literal(1).default(1),delegationMode:Y.default("manual"),defaultModelRef:l.nullable().default(null),roles:e.array(b).max(64).default(()=>I()),maxConcurrentRuns:e.number().int().min(1).max(32).default(4),maxConcurrentRunsPerProvider:e.number().int().min(1).max(32).nullable().default(2),maxConcurrentRunsPerWorkspaceTarget:e.number().int().min(1).max(32).nullable().default(1)}).transform(t=>({...t,roles:re(t.roles)})),i=e.object({kind:e.enum(["session","turn","file","diff","artifact"]),id:e.string().trim().min(1).max(500),label:e.string().trim().min(1).max(500)}),$=e.object({kind:e.enum(["retain_with_parent"]).default("retain_with_parent"),messageRetentionDays:e.number().int().min(1).max(3650).nullable().default(null),artifactRetentionDays:e.number().int().min(1).max(3650).nullable().default(null),cleanupAfterExpiry:e.boolean().default(!1)}).default(()=>({kind:"retain_with_parent",messageRetentionDays:null,artifactRetentionDays:null,cleanupAfterExpiry:!1})),Q=e.enum(["orient","edit","validate","report"]),J=e.object({command:e.string().trim().min(1).max(2e3),status:e.enum(["passed","failed","unknown"]).default("unknown"),exitCode:e.number().int().nullable().default(null),outputSummary:e.string().trim().max(5e3).nullable().default(null),startedAt:e.string().nullable().default(null),completedAt:e.string().nullable().default(null)}),ee=e.object({phase:Q.default("orient"),inspectedFiles:e.array(e.string().trim().min(1).max(1e3)).max(500).default([]),inspectedResources:e.array(e.string().trim().min(1).max(1e3)).max(500).default([]),repeatedSearches:e.array(e.string().trim().min(1).max(1e3)).max(200).default([]),repeatedReads:e.array(e.string().trim().min(1).max(1e3)).max(200).default([]),repeatedCommands:e.array(e.string().trim().min(1).max(1e3)).max(200).default([]),changedFiles:e.array(e.string().trim().min(1).max(1e3)).max(500).default([]),patchRefs:e.array(i).max(100).default([]),validationAttempts:e.array(J).max(100).default([]),latestMeaningfulActivity:e.string().trim().max(5e3).nullable().default(null),currentBlocker:e.string().trim().max(5e3).nullable().default(null),updatedAt:e.string().nullable().default(null)}).default(()=>({phase:"orient",inspectedFiles:[],inspectedResources:[],repeatedSearches:[],repeatedReads:[],repeatedCommands:[],changedFiles:[],patchRefs:[],validationAttempts:[],latestMeaningfulActivity:null,currentBlocker:null,updatedAt:null})),te=e.object({summary:e.string().trim().max(2e4).default(""),findings:e.array(e.string().trim().min(1).max(5e3)).max(200).default([]),artifacts:e.array(i).max(200).default([]),patchRef:i.nullable().default(null),diffRef:i.nullable().default(null),testsRun:e.array(e.string().trim().min(1).max(2e3)).max(100).default([]),blockers:e.array(e.string().trim().min(1).max(5e3)).max(100).default([]),confidence:e.enum(["low","medium","high"]).nullable().default(null),followUpNeeded:e.boolean().default(!1)}),ae=e.object({id:e.string().trim().min(1).max(200),parentSessionId:e.string().trim().min(1).max(200),parentTurnId:e.string().trim().min(1).max(200).nullable().default(null),childSessionId:e.string().trim().min(1).max(200).nullable().default(null),roleId:g,objective:e.string().trim().min(1).max(5e4),modelRef:l.nullable().default(null),isolationMode:_.default("none"),toolPolicy:R.default("read_only"),background:e.boolean().default(!0),peerMessages:A.default("parent_scoped"),status:Z.default("queued"),progress:ee,evidenceRetention:$,createdAt:e.string(),startedAt:e.string().nullable().default(null),completedAt:e.string().nullable().default(null),updatedAt:e.string().nullable().default(null),error:e.string().nullable().default(null),report:te.nullable().default(null),metadata:e.record(e.string(),e.unknown()).optional().default({})}),C=e.enum(["cleanup","archive","cleanup_and_archive"]),We=e.object({action:C,reason:e.string().trim().min(1).max(2e3).nullable().default(null)}),Be=e.object({action:C,run:ae,workspaceCleanup:e.record(e.string(),e.unknown()).nullable().default(null),sessionArchive:e.record(e.string(),e.unknown()).nullable().default(null),nextStep:e.string()}),ne=e.enum(["question","answer","handoff","artifact","status","blocker"]),le=e.enum(["normal","interrupt"]),oe=e.object({inputIds:e.array(e.string()).default([]),status:e.enum(["pending","delivered","undelivered"]).default("pending"),deliveredRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),acknowledgedRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),deliveredParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),acknowledgedParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeRequestedParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeQueuedParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeDeferredParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeParentReason:e.string().trim().min(1).max(1e3).nullable().default(null),wakeRequestedRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),wakeInterruptedRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),wakeDeferredRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),reason:e.string().trim().min(1).max(1e3).nullable().default(null)}),qe=e.object({id:e.string().trim().min(1).max(200),fromRunId:e.string().trim().min(1).max(200),toRunId:e.string().trim().min(1).max(200).nullable().default(null),toRole:g.nullable().default(null),kind:ne,priority:le.optional(),body:e.string().trim().min(1).max(5e4),refs:e.array(i).max(100).default([]),delivery:oe.optional(),createdAt:e.string()});function I(){return K.map(t=>b.parse({id:t.id,toolPolicy:t.defaultToolPolicy}))}c(I,"defaultSubagentRoleSettings");function re(t){let r=I(),d=new Map(r.map(o=>[o.id,o])),S=[];for(let o of t??[]){let s=b.parse(o);d.has(s.id)?d.set(s.id,s):S.push(s)}return[...r.map(o=>d.get(o.id)??o),...S]}c(re,"normalizeSubagentRoleSettings");var Xe="gpt-5.6-sol",j="openpond-chat",Ke=j,ie="openpond",se=j,ue="default",de="high",ce="ask",w=n,me=e.enum(["default","auto-review","full-access"]),pe=e.enum(["ask","full-access","disabled"]),fe=e.enum(["off","low","medium","high","xhigh","max"]),$e=e.enum(["sandbox_app","local_project","sandbox","sandbox_template"]),Qe=e.enum(["openpond"]),ge=e.enum(["provider_usage","provider_tokenizer","model_family","heuristic"]),Je=e.object({provider:w,model:e.string().min(1),usedTokens:e.number().int().nonnegative(),maxContextTokens:e.number().int().positive(),usableContextTokens:e.number().int().positive(),percentFull:e.number().min(0).max(100),source:ge,updatedAtEventId:e.string().nullable()}),E=e.object({pinned:e.boolean().default(!1),projects:e.boolean().default(!1),cloudProjects:e.boolean().default(!1),chats:e.boolean().default(!1),savedForLater:e.boolean().default(!0)}),be=e.enum(["auto","off"]),xe=e.enum(["typescript","python","rust"]),T=e.enum(["auto","disabled","custom"]),a=e.object({mode:T.default("auto"),customCommand:e.string().trim().max(4096).default("")}),h=e.object({languageServers:be.default("auto"),diagnosticsWhileEditing:e.boolean().default(!0),checkOnSave:e.boolean().default(!0),languages:e.object({typescript:a.optional().default(()=>a.parse({})),python:a.optional().default(()=>a.parse({})),rust:a.optional().default(()=>a.parse({}))}).optional().default(()=>({typescript:a.parse({}),python:a.parse({}),rust:a.parse({})}))}),he=e.object({language:xe,label:e.string(),mode:T,status:e.enum(["found","missing","disabled","error"]),command:e.string().nullable(),message:e.string().nullable()}),et=e.object({settings:h,languages:e.array(he),updatedAt:e.string()}),Se=e.object({id:e.string(),root:e.string(),status:e.enum(["starting","connected","unavailable","error"]),message:e.string().nullable().optional().default(null),openedDocuments:e.number().int().nonnegative(),pendingRequests:e.number().int().nonnegative(),lastUsedAt:e.string(),stderrTail:e.string()}),tt=e.object({clients:e.array(Se),maxClients:e.number().int().positive(),idleTimeoutMs:e.number().int().positive(),updatedAt:e.string()}),M=e.object({autoEnabled:e.boolean().default(!0),triggerPercent:e.number().int().min(50).max(95).default(85),summaryModel:e.enum(["same_model"]).default("same_model")}),k=e.object({defaultModelRef:l.nullable().default(null),creationMode:e.enum(["defaults","customize"]).default("customize"),autoApproveEvidence:e.boolean().default(!1)}),at=e.object({defaultChatProvider:w.default(ie),defaultChatModel:e.string().min(1).default(se),defaultChatModelRef:l.nullable().optional(),subagents:x.optional().default(()=>x.parse({})),codexPermissionMode:me.default(ue),codexReasoningEffort:fe.default(de),openPondCommandAccessMode:pe.default(ce),defaultBranchPrefix:e.string().trim().max(48).default("feat/"),defaultNewProjectDirectory:e.string().trim().max(4096).default(""),defaultTeamId:e.string().trim().max(191).nullable().default(null),advancedWorkspaceControls:e.boolean().default(!1),steerActiveResponses:e.boolean().default(!0),contextCompaction:M.optional().default(()=>M.parse({})),training:k.optional().default(()=>k.parse({})),sidebarWidth:e.number().int().min(244).max(560).default(332),diffPanelWidth:e.number().int().min(320).max(2400).default(560),sidebarSectionsCollapsed:E.optional().default(()=>E.parse({})),editor:h.optional().default(()=>h.parse({}))});var ve="default",ye=[{id:"default",name:"Balanced",source:"built_in",description:"Clear, useful, and concise.",content:`You are OpenPond Chat, a clear and useful AI assistant.
|
|
3
|
+
Be concise, accurate, and direct.
|
|
4
|
+
Do not use emojis.
|
|
5
|
+
Ask only when missing information would materially change the answer.
|
|
6
|
+
Prioritize practical next steps.`},{id:"pragmatic",name:"Pragmatic",source:"built_in",description:"Direct, practical, and engineering-minded.",content:`You are a pragmatic AI assistant with strong engineering judgment.
|
|
7
|
+
Be direct, concrete, and outcome-focused.
|
|
8
|
+
Do not use emojis.
|
|
9
|
+
Prefer simple working solutions over clever abstractions.
|
|
10
|
+
Call out weak assumptions plainly.`},{id:"friendly",name:"Friendly",source:"built_in",description:"Warm, conversational, and approachable.",content:`You are a friendly AI assistant.
|
|
11
|
+
Use a warm, conversational tone without filler.
|
|
12
|
+
Do not use emojis.
|
|
13
|
+
Explain decisions clearly and keep the user moving.
|
|
14
|
+
Be patient when clarifying tradeoffs.`},{id:"formal",name:"Formal",source:"built_in",description:"Polished, careful, and professional.",content:`You are a formal AI assistant.
|
|
15
|
+
Use precise, professional language.
|
|
16
|
+
Do not use emojis.
|
|
17
|
+
Structure answers clearly and avoid casual phrasing.
|
|
18
|
+
State uncertainty and assumptions explicitly.`},{id:"technical",name:"Technical",source:"built_in",description:"Precise, detailed, and implementation-focused.",content:`You are a technical AI assistant.
|
|
19
|
+
Prioritize correctness, implementation detail, and edge cases.
|
|
20
|
+
Do not use emojis.
|
|
21
|
+
Use concise explanations, but include necessary specifics.
|
|
22
|
+
Surface risks, constraints, and verification steps.`}],D=e.string().trim().min(1).max(120),Pe=e.object({id:D,name:e.string(),source:e.enum(["built_in","custom"]).default("custom"),description:e.string(),content:e.string()}),nt=e.object({activeTemplateId:D.default(ve),customized:e.boolean().default(!1),soul:e.string(),soulPath:e.string().nullable(),updatedAt:e.string().nullable(),templates:e.array(Pe).default(()=>[...ye])}),lt=e.object({id:e.string(),host:e.string(),port:e.number(),startedAt:e.string(),storePath:e.string(),version:e.string(),runtimeVersion:e.string()});export{v as a,p as b,U as c,z as d,P as e,F as f,q as g,Ee as h,V as i,H as j,Me as k,ke as l,je as m,we as n,Te as o,De as p,g as q,_ as r,R as s,A as t,Y as u,X as v,K as w,x,ee as y,ae as z,We as A,oe as B,qe as C,Xe as D,j as E,Ke as F,ie as G,de as H,ce as I,w as J,me as K,pe as L,fe as M,$e as N,Je as O,E as P,h as Q,et as R,tt as S,M as T,k as U,at as V,ve as W,ye as X,D as Y,nt as Z,lt as _};
|