openpond 0.2.61 → 0.2.63
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/README.md +2 -0
- package/dist/app-server.d.ts +4713 -477
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-H3MJCPHX.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-DWA7272M.js} +1 -1
- package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-K7H2WJ56.js} +1 -1
- package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
- package/dist/chunks/{app-server-evaluations-HAAYVEXB.js → app-server-evaluations-XGMGS67X.js} +1 -1
- package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
- package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
- package/dist/chunks/apps-QKAHJGQ4.js +2 -0
- package/dist/chunks/chunk-25XXZS3E.js +2 -0
- package/dist/chunks/chunk-27JGS3KB.js +12 -0
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-2HAWOMZK.js} +1 -1
- package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-42V4NV2F.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-4FNCBA3Y.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-4L6DU6Z2.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-4SZ3HKHU.js} +1 -1
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
- package/dist/chunks/chunk-5FU5RLML.js +2 -0
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-5MHYGMJG.js} +1 -1
- package/dist/chunks/chunk-6EBCS57F.js +2 -0
- package/dist/chunks/chunk-6RS4NAOY.js +2 -0
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
- package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-7WYL2IDD.js} +1 -1
- package/dist/chunks/chunk-7YLXGILH.js +2 -0
- package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-AH26AQN7.js} +1 -1
- package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/chunk-B5R53U74.js +2 -0
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-BPZOABMC.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-BSPFY3Y5.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-BU27SLZP.js} +2 -2
- package/dist/chunks/chunk-C2AXMKK4.js +2 -0
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-C2LAEGOW.js} +2 -2
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-CZ5R4JXZ.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-DABBHWSF.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-DLANLLKH.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-DQI5TE6A.js} +2 -2
- package/dist/chunks/chunk-DTTFUANI.js +12 -0
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-DUL6DXOI.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-ELX7VRSU.js} +1 -1
- package/dist/chunks/chunk-ERL2M773.js +3 -0
- package/dist/chunks/chunk-ERT32RZA.js +86 -0
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-EZRUWIP6.js} +1 -1
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-F6UQ6PPK.js} +1 -1
- package/dist/chunks/chunk-F7QTIHXX.js +2 -0
- package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FVRII5XO.js} +1 -1
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-FYYYECHE.js} +50 -48
- package/dist/chunks/chunk-G32BO6M5.js +4 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-G6OR5NB6.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GGJUWIGR.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-GPL2Z65R.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-GS6ZUSIN.js} +2 -2
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-GVARQXYI.js} +1 -1
- package/dist/chunks/chunk-GXCUH2VV.js +17 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-GXZCMO6S.js} +1 -1
- package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HUCBKXTU.js} +1 -1
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-IHB5GTOJ.js} +2 -2
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-IWWXIUAQ.js} +1 -1
- package/dist/chunks/chunk-J572ANHX.js +13 -0
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-J7ZTPXRQ.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-ELYRVTTG.js → chunk-JORRZ4BB.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/chunk-JSQRLLN6.js +2 -0
- package/dist/chunks/chunk-KCOTDUGW.js +2 -0
- package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.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-MHYI7ATG.js → chunk-LK2K3SPM.js} +2 -2
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-LKKMLBOH.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-LSZJ5M3X.js} +1 -1
- package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-M3SCON53.js} +1 -1
- package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-N33D7KCW.js} +1 -1
- package/dist/chunks/chunk-N42HT64M.js +2 -0
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-N4VHLJBZ.js} +1 -1
- package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
- package/dist/chunks/chunk-NG2L6D7G.js +2 -0
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-NLYZ5K7U.js} +2 -2
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-NT7N6KLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-NZTCH6K5.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-OG33QAG6.js} +1 -1
- package/dist/chunks/chunk-OTUBJV6C.js +6 -0
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-PBTXLQAU.js} +1 -1
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-QJ6KUVAR.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-QU4UE73E.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-R6VJDOQM.js} +3 -3
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-R6WMY6AH.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-RDSVU6F6.js} +1 -1
- package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-RZUCVF2Q.js} +1 -1
- package/dist/chunks/chunk-SFKZITAG.js +9 -0
- package/dist/chunks/{chunk-MF35MALN.js → chunk-SHJY5RLU.js} +1 -1
- package/dist/chunks/chunk-SI5W5LBV.js +2 -0
- package/dist/chunks/chunk-SO42ZB5K.js +2 -0
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-TCOTXCV6.js} +1 -1
- package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
- package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
- package/dist/chunks/chunk-UPWJSNL5.js +2 -0
- package/dist/chunks/chunk-URNMC46H.js +157 -0
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-V7KR74NO.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-VHXDWAEH.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-W2TICQ62.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/chunk-WP2L2NY2.js +2 -0
- package/dist/chunks/chunk-WSOUMXH3.js +24 -0
- package/dist/chunks/chunk-WWQNMC7C.js +6 -0
- package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
- package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-XOB6FKQV.js} +1 -1
- package/dist/chunks/chunk-Y766IN7Y.js +2 -0
- package/dist/chunks/chunk-YCZZ62C2.js +2 -0
- package/dist/chunks/chunk-YM4PSVFW.js +4 -0
- package/dist/chunks/chunk-YNQWJWIC.js +10 -0
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-Z3BWCFLV.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-ZG6353RM.js} +1 -1
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-ZPTKR3GB.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-ZYVHOVKL.js} +1 -1
- package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
- package/dist/chunks/cli-PSXMIJTF.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-XYKMXIWF.js} +1 -1
- package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
- package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-JONPTII6.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-Z7MO2PF6.js} +1 -1
- package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
- package/dist/chunks/datasets-2PC2HP7N.js +2 -0
- package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
- package/dist/chunks/dist-47AYOIH6.js +2 -0
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
- package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
- package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
- package/dist/chunks/experiments-SZQYR6MH.js +2 -0
- package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-7HXFWIKS.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
- package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
- package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
- package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
- package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
- package/dist/chunks/{hosted-profile-evaluation-preparation-ZAOGDQXO.js → hosted-profile-evaluation-preparation-2LSMZQNA.js} +1 -1
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
- package/dist/chunks/human-review-M26UKGJL.js +2 -0
- package/dist/chunks/{import-WLLUIDS6.js → import-6SI4BEKS.js} +2 -2
- package/dist/chunks/learning-HM3NWOV5.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
- package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
- package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
- package/dist/chunks/opchat-AG4CWVY4.js +3 -0
- package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
- package/dist/chunks/organizations-KDKX77XZ.js +2 -0
- package/dist/chunks/{profile-JRS3JNRC.js → profile-O5HL5DTQ.js} +1 -1
- package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
- package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
- package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
- package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-XBA744HJ.js} +2 -2
- package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-27U3FQN7.js} +1 -1
- package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-FIPWOXWV.js} +1 -1
- package/dist/chunks/src-BLWX6DRG.js +424 -0
- package/dist/chunks/{src-4YZF6L6H.js → src-PU7QTFO5.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
- package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-K324SQTO.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-3LQMIYAP.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-3KSX7RSO.js} +1 -1
- package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
- package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
- package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
- package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
- package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
- package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
- package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-QTVHJAEP.js} +1 -1
- package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
- package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
- package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
- package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
- package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-DWV5XSMY.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-2KUY4T6M.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-UGVEFA6M.js} +1 -1
- package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-GEQIZELY.js} +1 -1
- package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-CQV7PL3V.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-XKN6K66J.js} +18 -10
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-Q7DTTR4S.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-XGAX7NLB.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-ARKJQKYQ.js} +1 -1
- package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
- package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-UTQAJA6H.js} +1 -1
- package/dist/chunks/training-3IWW4256.js +2 -0
- package/dist/chunks/{training-UBX6E7SK.js → training-RVIESURJ.js} +1 -1
- package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
- package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
- package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
- package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
- package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
- package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-7FBUBZ66.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-G3CMY7ZA.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/sandbox/url.d.ts +3 -1
- package/dist/skills/LICENSE +21 -0
- package/dist/skills/manifest.json +168 -0
- package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
- package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
- package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
- package/dist/skills/openpond-cli/SKILL.md +24 -7
- 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 +156 -11
- package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
- package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
- 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-DY2R8Z6r.js +53 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-8Y0FYalT.js +1 -0
- package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-BiQbbVxq.js} +1 -1
- package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-J4ChOjvG.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
- package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
- package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
- package/dist/web/assets/CommunityView-Okydjpqm.js +1 -0
- package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-CSngc8-V.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DS73kyfj.js +1 -0
- package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
- package/dist/web/assets/GetStartedView-DGFPQ1We.js +1 -0
- package/dist/web/assets/GettingStartedDialog-DFBYQdHz.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CHaTHwC8.js +1 -0
- package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
- package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
- package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
- package/dist/web/assets/LabSkillSidebar-BwtlThO7.js +1 -0
- package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
- package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
- package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
- package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
- package/dist/web/assets/NewProjectDialog-CjrjgkTN.js +1 -0
- package/dist/web/assets/OutputsPage-jzx93QQ3.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-C1M13qG2.js} +1 -1
- package/dist/web/assets/ProjectsPage-DZrjlMp2.js +1 -0
- package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
- package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
- package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
- package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
- package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
- package/dist/web/assets/TerminalOverlay-d7A2F9Lx.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
- package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
- package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-FhYymrfc.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-LrEWj4UK.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-NRIMXnkS.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
- package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
- package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
- package/dist/web/assets/bot-6OhUEmkE.js +1 -0
- package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
- package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-jmVA1BIf.js} +1 -1
- package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
- package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-BdQ_YDuk.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-Ck1ufAr8.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
- package/dist/web/assets/copy-CPkbMfXt.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-CXQny8HU.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-CYxYl_om.js} +1 -1
- package/dist/web/assets/external-link-CDKOLG_v.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-CEtOb_lK.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-CVMYZs3e.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-DoY4V_j0.js} +1 -1
- package/dist/web/assets/icons-D7jkCa2d.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-B-PjDSwU.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-D9WbJMSq.js} +2 -2
- package/dist/web/assets/index-g7UqJhnX.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-CCnw-K3b.js} +1 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-CeOpZdPj.js} +1 -1
- package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-BZX38cpr.js} +1 -1
- package/dist/web/assets/message-square-CvgSecgD.js +1 -0
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-CF2JDhi4.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-cbDqt48m.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-m2ze2EsL.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-yeyow_-Q.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-By0s4hxb.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-BJ2QgJLa.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-C4x-1jjP.js} +1 -1
- package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
- package/dist/web/assets/play-D_SuGDBM.js +1 -0
- package/dist/web/assets/plus-yw95Iaj8.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-I86G1Gd9.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-CqFTPj8r.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-Dga35Eay.js} +1 -1
- package/dist/web/assets/requests-BCbaFiqV.js +1 -0
- package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-BLKjYtzR.js} +1 -1
- package/dist/web/assets/settings-D7C-Auyi.js +21 -0
- package/dist/web/assets/settings-lists-DMKA1lCN.js +5 -0
- package/dist/web/assets/square-BY5lG2Ol.js +1 -0
- package/dist/web/assets/square-terminal-B-n7vUex.js +1 -0
- package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-BhmBE5XE.js} +1 -1
- package/dist/web/assets/training-QrdkRQZQ.js +2 -0
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-DB-jg6L_.js} +12 -12
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-BSWEII2p.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-C4MPhQn8.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-9oqWdRLs.js} +1 -1
- package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-BD0Uexmh.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-Cloe0WuQ.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-BXagz5eg.js} +1 -1
- package/dist/web/assets/x-Dqpel42h.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-sBdvVbCc.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +49 -5
- package/package.json +6 -2
- package/dist/chunks/actions-command-LOHNQUWP.js +0 -2
- package/dist/chunks/app-server-connected-apps-Q2VWWJNX.js +0 -2
- package/dist/chunks/app-server-harness-services-2PSZBT7U.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/apps-7PIBF32Q.js +0 -2
- package/dist/chunks/chunk-3TYCIYW6.js +0 -17
- package/dist/chunks/chunk-4GZ2FPB5.js +0 -2
- package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-4P3X2RXA.js +0 -2
- package/dist/chunks/chunk-4RHM4WN2.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-AWPYTDH4.js +0 -4
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-BN5AVRUG.js +0 -2
- package/dist/chunks/chunk-D5ADDBS5.js +0 -2
- package/dist/chunks/chunk-DGPGOBYZ.js +0 -5
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-E67M5WGY.js +0 -2
- package/dist/chunks/chunk-EIIGTADO.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-FWIPHEVA.js +0 -12
- package/dist/chunks/chunk-GLVR74PX.js +0 -2
- package/dist/chunks/chunk-HZLV773Y.js +0 -22
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-M4ZRCRJM.js +0 -10
- package/dist/chunks/chunk-N663LL27.js +0 -2
- package/dist/chunks/chunk-NR5VASQB.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
- package/dist/chunks/chunk-Q324ZA5M.js +0 -2
- 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-VWJ5IYQP.js +0 -2
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-XLULTQLZ.js +0 -12
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/chunk-ZBBVRYU3.js +0 -6
- package/dist/chunks/chunk-ZHFH2TZN.js +0 -2
- package/dist/chunks/chunk-ZZWAQBA2.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/connected-evidence-4J3YXU4O.js +0 -2
- package/dist/chunks/core-commands-JGXU6B4C.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-DFGJBMVF.js +0 -4
- package/dist/chunks/datasets-MNHZAZIB.js +0 -2
- package/dist/chunks/desktop-test-P23MHAIG.js +0 -3
- package/dist/chunks/dist-IIFTZWNR.js +0 -2
- package/dist/chunks/evaluation-coordination-6NQEH5WU.js +0 -2
- package/dist/chunks/experiment-improvements-M27Z5OF4.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/experiments-signal-R3NNH7WR.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-candidate-37ZFY2LH.js +0 -3
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-UQBMML6K.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-YASS4T6L.js +0 -3
- package/dist/chunks/human-review-IJETDOWB.js +0 -2
- package/dist/chunks/learning-KVLTMRLD.js +0 -2
- 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/model-projects-AVBQDNYG.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/organizations-DJRJWC5I.js +0 -2
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/project-agent-2KNJFNZI.js +0 -2
- package/dist/chunks/published-experiment-source-LFYHKFAO.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/sandbox-command-IIGTPYN3.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-chat-resources-CGW7PDCG.js +0 -2
- package/dist/chunks/store-evaluation-results-V5J6L4NV.js +0 -7
- package/dist/chunks/store-harness-workspaces-HHMM6GNK.js +0 -2
- package/dist/chunks/store-human-review-V5H4QDHR.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-model-batch-review-KMYPYWJR.js +0 -2
- package/dist/chunks/store-model-configuration-UXNC4PGY.js +0 -3
- package/dist/chunks/store-task-inbox-LNDCZOYE.js +0 -33
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/taskset-packages-I7I5KBFP.js +0 -2
- package/dist/chunks/training-error-AYOGHHL2.js +0 -2
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
- package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
- package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
- 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/ChatTimelineEntry-IKzZsHoI.js +0 -1
- package/dist/web/assets/CommandMenu-CBY2AJxV.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/LabsRoute-DOnw39du.js +0 -101
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/MainPane-CuBUBA9F.css +0 -1
- 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/TrainingMetricWorkbench-BmzHLwIP.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/app-models-BviS9b7U.js +0 -1
- package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
- package/dist/web/assets/chat-resources-CItQ4mZD.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/contracts-BHTOD1nd.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-BKmRueaw.js +0 -21
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/training-managed-adapter-81RrdT1k.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
- package/dist/web/assets/useAgentInventory-BV4CUWzJ.js +0 -1
- /package/dist/chunks/{chunk-GLDYJM7O.js → chunk-T4QXKU5Y.js} +0 -0
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b as ha}from"./chunk-FWIPHEVA.js";import{a as va}from"./chunk-QCSLEMZF.js";import{a as oa,b as ia,c as ca,d as da,e as ma,f as ir,g as pa,h as la,i as ua,j as fa,k as _t}from"./chunk-4RHM4WN2.js";import{c as sr,h as Qe}from"./chunk-BLKTUFGB.js";import{b as On,c as qn,d as Dn,e as Xr,f as er}from"./chunk-YBNKGA5C.js";import{a as tn,c as ra,d as rn,f as na}from"./chunk-LAOLJDVB.js";import{c as Xt,d as Yt,e as Zt,f as Qt,n as or,q as sa}from"./chunk-LV3CQ72P.js";import{a as nn,b as oe,c as ie,f as ga,h as ba}from"./chunk-YR5ID2SS.js";import{Y as Re,da as Ie,ha as Ye,ja as Ze,ka as aa,oa as De,qa as $e}from"./chunk-M6JRS5PA.js";import{f as Ne}from"./chunk-OE22TAXP.js";import{$ as en,D as Jn,F as Xn,N as A,Nb as Qn,O as W,P as $,Pb as ea,Q as ar,Sb as ta,aa as Yn,ab as Zn,b as ye,ba as Tt,c as Ln,d as le,k as Nn,o as qe,r as It,v as Gn,y as Kn}from"./chunk-4M3YW3EQ.js";import{Aa as Qr,B as $n,Ba as Oe,Ca as Fn,Da as Q,Fa as rr,Hb as we,M as tr,Ma as wt,Mb as Xe,Na as Ke,Pb as Se,Qb as nr,Ra as St,Wa as Wn,Ya as ke,Z as xe,_ as Ge,eb as Je,fa as Zr,fb as Rt,ga as Mn,pa as zn,qa as Bn,qb as Vn,s as ho,x as He,xa as Un,z as Yr}from"./chunk-PBZCXPPC.js";import{a as An,b as jn,p as Hn}from"./chunk-NJLULBTM.js";import{b as yt,c as Kt,d as Jt,g as y,h as En,i as Z,l as re,m as B,n as p,o as Pn}from"./chunk-VVNV4NNW.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as d,e as fo}from"./chunk-FTQLQJQV.js";var xa=fo(ho(),1);var go="work.structured-output.v1",bo=new Set(["$schema","$id","$defs","$ref","title","description","type","properties","required","additionalProperties","items","minItems","maxItems","minLength","maxLength","minimum","maximum","enum","const","allOf","anyOf","oneOf","not","if","then","else","uniqueItems","pattern","multipleOf","exclusiveMinimum","exclusiveMaximum","minProperties","maxProperties"]),Et=d(n=>!!n&&typeof n=="object"&&!Array.isArray(n),"object"),Ct=new Map;function ka(n){let t=yt(JSON.stringify(n)),r=Ct.get(t);return r||(r=new xa.default({strict:!0,strictTypes:!1,strictRequired:!1,allErrors:!1,validateFormats:!0,ownProperties:!0}).compile(n),Ct.size>=64&&Ct.delete(Ct.keys().next().value),Ct.set(t,r)),r}d(ka,"compiled");function ya(n){if(!Et(n)||n.type!=="object"||JSON.stringify(n).length>128e3)throw new Error("structured_schema_tool_root_or_size_invalid");let t=n,r=0;function a(s,o,i){if(typeof s=="boolean")return;if(!Et(s)||o>20||++r>2e3||i.has(s))throw new Error("structured_schema_complexity_or_shape");let c=new Set(i).add(s);for(let l of Object.keys(s))if(!bo.has(l))throw new Error(`structured_schema_keyword_unsupported:${l}`);if(s.$schema!==void 0&&s.$schema!=="https://json-schema.org/draft/2020-12/schema")throw new Error("structured_schema_dialect_unsupported");if(typeof s.$ref=="string"){if(!s.$ref.startsWith("#/$defs/"))throw new Error("structured_schema_external_or_recursive_ref");let l=t;for(let m of s.$ref.slice(2).split("/"))l=Et(l)&&Object.hasOwn(l,m.replaceAll("~1","/").replaceAll("~0","~"))?l[m.replaceAll("~1","/").replaceAll("~0","~")]:void 0;a(l,o+1,c)}if(s.pattern!==void 0){if(typeof s.pattern!="string"||s.pattern.length>200||/[()|\\]/.test(s.pattern))throw new Error("structured_schema_pattern_unsupported");let l=s.pattern.match(/[+*?{]/g)?.length??0;if(l>1||l===1&&(!s.pattern.startsWith("^")||!s.pattern.endsWith("$")))throw new Error("structured_schema_pattern_unsupported")}for(let l of["properties","$defs"])if(s[l]!==void 0){if(!Et(s[l]))throw new Error("structured_schema_map_invalid");for(let m of Object.values(s[l]))a(m,o+1,c)}for(let l of["items","additionalProperties","not","if","then","else"])s[l]!==void 0&&a(s[l],o+1,c);for(let l of["allOf","anyOf","oneOf"])if(s[l]!==void 0){if(!Array.isArray(s[l])||!s[l].length)throw new Error("structured_schema_union_invalid");for(let m of s[l])a(m,o+1,c)}}d(a,"visit"),a(n,0,new Set),ka(n)}d(ya,"assertStructuredOutputSchema");function cr(n,t){if(n.byteLength>128e3||yt(n)!==t)throw new Error("structured_schema_asset_mismatch");let r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(n));return ya(r),{schema:r,schemaHash:t,schemaSource:new TextDecoder("utf-8",{fatal:!0}).decode(n)}}d(cr,"resolveStructuredOutput");function wa(n){if(ya(n.schema),yt(new TextEncoder().encode(n.schemaSource))!==n.schemaHash||re(JSON.parse(n.schemaSource))!==re(n.schema))throw new Error("structured_schema_contract_changed");if(!/^[a-f0-9]{64}$/.test(n.schemaHash))throw new Error("structured_schema_hash_invalid")}d(wa,"assertStructuredOutputContract");function Sa(n){let t=new Set;return n.flatMap((r,a)=>{if(t.has(r.path)||!r.path||r.path.startsWith("/")||r.path.replaceAll("\\","/").split("/").some(s=>!s||s==="."||s===".."))throw new Error("structured_output_path_invalid_or_duplicate");if(t.add(r.path),r.submissionMode!=="structured_json"){if(r.structuredOutput)throw new Error("structured_output_opt_in_missing");return[]}if(r.mediaType!=="application/json"||!r.structuredOutput)throw new Error("structured_output_contract_missing");return wa(r.structuredOutput),[{type:"function",function:{name:`work_submit_output_${a+1}`,description:`Validate and save ${r.path}. Supply the output fields directly; validation errors can be corrected and resubmitted.`,parameters:r.structuredOutput.schema}}]})}d(Sa,"structuredOutputTools");function Ra(n,t){return n.find((r,a)=>r.submissionMode==="structured_json"&&t===`work_submit_output_${a+1}`)}d(Ra,"structuredToolOutput");function vo(n,t){let r=0;function a(o,i){if(i>30||++r>1e4||Array.isArray(o)&&o.length>1e3)throw new Error("structured_output_payload_complexity");if(Et(o)||Array.isArray(o))for(let c of Object.values(o))a(c,i+1)}d(a,"bound"),a(t,0);let s=ka(n);return s(t)?[]:(s.errors??[]).slice(0,20).map(o=>({path:o.instancePath+(o.keyword==="required"?"/"+String(o.params.missingProperty).replaceAll("~","~0").replaceAll("/","~1"):""),message:o.message??"Schema assertion failed"}))}d(vo,"validateStructuredOutput");function Pt(n,t){if(t.byteLength>(n.maxBytes??1e7))throw new Error("work_output_too_large");if(n.submissionMode!=="structured_json")return;if(!n.structuredOutput)throw new Error("structured_output_contract_missing");wa(n.structuredOutput);let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(t))}catch{throw new Error("structured_output_invalid_json")}let a=vo(n.structuredOutput.schema,r);if(a.length)throw new Error("structured_output_invalid:"+JSON.stringify(a));return{status:"passed",schemaHash:n.structuredOutput.schemaHash,artifactHash:yt(t),capability:go}}d(Pt,"validateOutputBytes");function Ia(n,t){let r=new TextEncoder().encode(JSON.stringify(t,null,2)+`
|
|
3
|
-
`);return Pt(n,r),r}d(Ia,"serializeStructuredOutput");var U=e.string().trim().min(1).max(500),et=e.string().regex(/^[a-f0-9]{64}$/),nd=e.object({teamId:U,ownerUserId:U}).strict(),ue=e.object({id:U,snapshotHash:et,boundaryId:U,boundaryRevisionHash:et}).strict(),dr=e.object({sourceId:U,source:Yt,sessionId:U,snapshotHash:et,title:e.string().max(500),projectId:U.nullable(),capturedAt:e.string().datetime(),boundaries:e.array(Qt.omit({start:!0,end:!0})).max(Xt.boundaries)}).strict(),Ta=e.object({operationId:U,conversationId:U.optional(),cursor:U.optional(),limit:e.number().int().min(1).max(50).default(20)}).strict(),_a=e.object({hash:et,parts:e.number().int().min(1).max(1500)}).strict(),Ca=_a.extend({index:e.number().int().nonnegative().max(1499),base64:e.string().max(35e4)}).strict(),ad=e.object({path:e.string().min(1).max(500),encoding:e.enum(["utf8","zstd"]),base64:e.string()}).strict(),fe=e.object({upload:_a,source:e.enum(["codex","claude_code","hermes","openclaw","opencode","grok_build","pi","oh_my_pi"]),branchLeafId:U.optional(),acquisition:e.object({machineId:U,sourceInstanceId:U}).strict().optional(),destination:e.discriminatedUnion("kind",[e.object({kind:e.literal("existing"),projectId:U}).strict(),e.object({kind:e.literal("new"),name:e.string().trim().min(1).max(200)}).strict()])}).strict(),mr=fe.extend({operationId:U,previewHash:et,selection:e.array(e.object({sessionHash:et,boundaryIds:e.array(U).min(1).max(Xt.boundaries)}).strict()).min(1).max(Xt.sessions)}).strict(),xo=e.object({from:e.string().datetime(),to:e.string().datetime(),projectId:U.optional()}).strict(),sd=e.object({teamId:U,range:xo,activity:e.object({conversations:e.number().int().nonnegative(),turns:e.number().int().nonnegative(),chatTurns:e.number().int().nonnegative(),workTurns:e.number().int().nonnegative()}).strict(),accounting:e.object({contextSnapshots:e.number().int().nonnegative()}).strict(),usage:er}).strict();var Me=qe.shape.id,At=e.string().regex(/^[a-f0-9]{64}$/),Ea=e.object({scopeId:Me,modelId:Me}).strict(),an=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:Ea,root:qe,parent:qe}).strict(),ko=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:Me,modelId:Me,expectedModelRevision:e.number().int().positive(),sourcePackageHash:At}).strict(),tt=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:Me,requestHash:At,sourcePackageHash:At,sourceTasksetRef:qe,tasksetId:Me,tasksetRevision:e.number().int().positive(),lineage:an,authoringGraph:e.literal("bound").optional()}).strict(),Te=e.string().min(1).max(1024).refine(n=>!n.includes("\\")&&!n.includes(":")&&!n.includes("\0")&&!n.startsWith("/")&&!n.split("/").some(t=>!t||t==="."||t===".."||t.startsWith(".env")),"Use a relative Taskset file path without environment files."),yo=e.object({path:Te,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),sn=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),dd=yo.extend({contentHash:At,content:sn}).strict(),wo=e.object({draftId:Me,expectedDraftRevision:e.number().int().positive(),path:Te,expectedFileHash:At.nullable(),content:sn.nullable()}).strict();function So(n){return`model-authored-taskset-${p({owner:n.owner,root:n.root})}`}d(So,"modelAuthoredTasksetId");function Pa(n){if(n.metadata.modelTasksetAuthoring===void 0)return null;let t=an.parse(n.metadata.modelTasksetAuthoring);if(n.id!==So(t)||(n.revision===1?!W(t.parent,t.root):t.parent.id!==n.id||t.parent.revision!==n.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return t}d(Pa,"assertModelTasksetAuthoring");var wd=e.string().regex(/^[a-f0-9]{64}$/);var _e=e.object({environment:Re,verifierSet:Ie,javascript:or}).strict(),Sd=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function jt(n){if(!n.environmentRelease||!n.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${$({environment:n.environmentRelease,verifiers:n.verifierSetRelease}).contentHash}`}d(jt,"modelStarterExecutionAssetId");function Aa(n){let t=_e.parse(n);ja(t);let r=jt({environmentRelease:{id:t.environment.id,contentHash:t.environment.contentHash},verifierSetRelease:{id:t.verifierSet.id,contentHash:t.verifierSet.contentHash}}),a=Ln({text:sr(t),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:s,...o}=a;return $({...o,id:r,asset:{...o.asset,id:r}})}d(Aa,"createModelStarterExecutionAsset");function ze(n,t){return $({value:n}).contentHash===$({value:t}).contentHash}d(ze,"equal");function ja(n){sa(n.javascript);for(let t of[n.environment,n.verifierSet]){let{contentHash:r,...a}=t;if($(a).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${t.id}.`)}if(!ze(n.environment.metadata.javascriptEnvironment,A(n.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}d(ja,"assertExecutionIntegrity");function pr(n,t,r){if(!n){if(t.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:a,verifierSet:s,javascript:o}=n;if(ja(n),!ze(t.environmentRelease,{id:a.id,contentHash:a.contentHash})||!ze(t.verifierSetRelease,{id:s.id,contentHash:s.contentHash})||!ze(a.contract,t.environment)||!ze(s.graders,t.graders)||!ze(t.tools,o.tools)||!ze(a.metadata.javascriptEnvironment,A(o)))throw new Error("Starter execution resources differ from its declared task context.");let i=a.contract;if(i.entrypoint!=="openpond.javascript-environment.v1"||i.kind!=="agent"||!i.stateful||!i.deterministicSeeds||i.networkPolicy!=="none"||new Set(i.lifecycle).size!==5||t.capabilities.length||t.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let c of[o.module,a.actionSchemaRef,a.observationSchemaRef,a.stateSchemaRef]){if(!c)continue;let l=r.find(m=>m.id===c.id);if(!l)throw new Error(`Starter environment asset is missing: ${c.id}.`);le(l,c)}for(let c of t.tasks){let l=r.find(h=>h.id===c.privilegedContextRef);if(!l||l.asset.visibility!=="host_private"||l.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${c.id}.`);let m=JSON.parse(le(l,l.asset));if(!m||typeof m!="object"||Array.isArray(m))throw new Error(`Starter initial state must be a JSON object: ${c.id}.`);He(m,o.maxStateBytes)}}d(pr,"validateModelStarterExecution");var Ha=e.object({environment:Re,verifierSet:Ie}).strict();var qa=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),on=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:qa,root:Qe,parent:Qe}).strict(),cn=e.object({taskset:Q,taskDefinition:It,rewardBinding:St,rewards:e.array(wt).min(1).max(100),assets:e.array(ye).max(1e3),executionResources:Ha.optional(),execution:_e.optional(),instructionMode:e.literal("per_task").optional()}).strict(),he=d((n,t)=>$({value:n}).contentHash===$({value:t}).contentHash,"same"),Oa=d((n,t)=>`model-taskset-${$({owner:n,root:t}).contentHash}`,"identity");function Da(n){let t=qa.parse(n.owner),r=n.source,a=n.edits??r,s=r.taskset.metadata.modelTasksetDerivation===void 0?null:on.parse(r.taskset.metadata.modelTasksetDerivation);if(s&&r.taskset.id!==Oa(s.owner,s.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let o=s&&he(s.owner,t),i=o?s.root:A(r.taskset),c=o?r.taskset.id:Oa(t,i),l=o?r.taskset.revision+1:1,m=St.parse(n.rewardBinding),h=n.rewards.map(j=>wt.parse(j)),f=ke(m,h);if(m.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let u={...a.taskset.policy,hiddenGraderRefs:f.filter(j=>j.privileged).map(j=>j.id)},b=a.executionResources??a.execution,g=b?.environment??Ye({schemaVersion:"openpond.environmentRelease.v1",id:`${c}-environment`,revision:1,contract:a.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),v=Ze({schemaVersion:"openpond.verifierSetRelease.v1",id:`${c}-verifiers`,revision:l,graders:f,isolation:b?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(a.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:b?{sourceVerifierSet:A(b.verifierSet)}:{}}),S={environment:g,verifierSet:v},R=a.execution?{...a.execution,verifierSet:v}:void 0,{contentHash:H,...k}=a.taskset,{contentHash:V,...Ve}=a.taskDefinition,ve={...Ve.execution,policy:u,environmentRelease:{id:g.id,contentHash:g.contentHash},verifierSetRelease:{id:v.id,contentHash:v.contentHash}},x=It.parse($({...Ve,id:`${c}-definition`,revision:l,rewardBinding:A(m),execution:ve})),w=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,O=w&&typeof w=="object"&&!Array.isArray(w)&&"graderFixtures"in w?w.graderFixtures:void 0,_=Q.parse($({...k,...ve,id:c,revision:l,graders:f,metadata:{starter:{taskDefinition:A(x),rewardBinding:A(m)},rewardExecution:{binding:m,rewards:h},...O===void 0?{}:{starterAuthoring:{graderFixtures:O}},...a.taskset.metadata.environmentResources===void 0?{}:{environmentResources:a.taskset.metadata.environmentResources},...a.taskset.metadata.workAssetStagingPaths===void 0?{}:{workAssetStagingPaths:a.taskset.metadata.workAssetStagingPaths},...a.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:a.taskset.metadata.tasksetOutputContract},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:t,root:i,parent:A(r.taskset)}}}));return dn({taskset:_,taskDefinition:x,rewardBinding:m,rewards:h,assets:n.assets,executionResources:S,...R?{execution:R}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}d(Da,"compileModelTasksetReward");function dn(n){let t=cn.parse(n),{taskset:r,taskDefinition:a,rewardBinding:s,rewards:o,assets:i,execution:c}=t;for(let v of[r,a,s,...o,...i])ar(v);if(rr(r),s.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!W(a.rewardBinding,A(s)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:l,environment:m,environmentRelease:h,tools:f,capabilities:u,verifierSetRelease:b}=r;if(!he(a.execution,{policy:l,environment:m,...h?{environmentRelease:h}:{},tools:f,capabilities:u,...b?{verifierSetRelease:b}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!he(r.graders,ke(s,o)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let v=e.object({taskDefinition:Qe,rewardBinding:Qe}).passthrough().parse(r.metadata.starter);if(!W(v.taskDefinition,A(a))||!W(v.rewardBinding,A(s)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!he(r.metadata.rewardExecution,{binding:s,rewards:o}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!W(Qe.parse(r.metadata.rewardBinding),A(s)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let g=t.executionResources??c;if(r.environmentRelease&&!g)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(g&&(!De(g.environment)||!$e(g.verifierSet)||!he(r.environmentRelease,{id:g.environment.id,contentHash:g.environment.contentHash})||!he(r.verifierSetRelease,{id:g.verifierSet.id,contentHash:g.verifierSet.contentHash})||!he(r.environment,g.environment.contract)||!he(r.graders,g.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(pr(c,r,i),new Set(i.map(v=>v.id)).size!==i.length)throw new Error("Taskset asset identities must be unique.");for(let v of i)le(v,v.asset);for(let v of g?[g.environment.actionSchemaRef,g.environment.observationSchemaRef,g.environment.stateSchemaRef]:[]){if(!v)continue;let S=i.find(R=>R.id===v.id);if(!S)throw new Error(`Taskset environment asset is missing: ${v.id}.`);le(S,v)}for(let v of r.tasks){if(a.requiredOutputs&&!he(v.requiredOutputs,a.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${v.id}.`);if(t.instructionMode!=="per_task"&&v.policyVisibleContext.instructions!==a.instructions||!Yr(a.inputSchema,v.input).valid||v.expectedOutput!==null&&!Yr(a.outputSchema,v.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${v.id}.`);if(v.privilegedContextRef&&!i.some(S=>S.id===v.privilegedContextRef&&S.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${v.id}.`)}for(let v of o){let S=v.implementation,R=[...v.assets,..."verifierRef"in S?[S.verifierRef]:[],..."rubricRef"in S?[S.rubricRef]:[],..."inputContract"in S?[S.inputContract]:[]];for(let H of R){let k=i.find(V=>V.id===H.id);if(!k||H.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${H.id}.`);le(k,H)}}return t}d(dn,"validateModelTasksetPackage");var mn=e.object({batch:Xn,evidence:e.array(Kn).min(1).max(1e4),decisions:e.array(Jn).min(1).max(1e4),sources:e.array(Gn).min(1).max(1e4),assets:e.array(ye).max(1e3)}).strict();function $a(n){return n.evidence.filter(t=>t.submission.evaluatorContext!==null).map(t=>{let r=sr(t.submission.evaluatorContext),a=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${t.contentHash}`,path:`learning/context/${t.contentHash}.json`,contentHash:B(a),sizeBytes:a.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(a,s=>String.fromCharCode(s)).join(""))}})}d($a,"learningPackageContextFiles");function Ma(n,t){let r=mn.parse(t),a=Tt(n);if(!W(A(r.batch),a.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let m of[r.evidence,r.decisions,r.sources,r.assets]){let h=new Set;for(let f of m){ar(f);let u=`${f.id}:${f.revision}`;if(h.has(u))throw new Error("Taskset learning resource identities must be unique.");h.add(u)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let m of r.evidence){let h=r.sources.find(f=>W(A(f),m.source));if(!h||!W(h.taskDefinition,A(a.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(m=>!r.evidence.some(h=>W(h.source,A(m)))))throw new Error("Taskset package includes an unrelated learning source.");let s=a.rewards.flatMap(m=>[...m.assets,...m.implementation.kind==="custom_verifier"?[m.implementation.verifierRef]:m.implementation.kind==="model_judge"||m.implementation.kind==="human"?[m.implementation.rubricRef]:[],..."inputContract"in m.implementation?[m.implementation.inputContract]:[]]);for(let m of s){let h=r.assets.find(f=>f.id===m.id);if(!h)throw new Error("Taskset learning Reward asset is missing.");le(h,m)}if(r.assets.some(m=>!s.some(h=>h.id===m.id)))throw new Error("Taskset package includes an unrelated learning asset.");let o=Yn({batch:r.batch,definition:a.definition,binding:a.binding,rewards:a.rewards,evidence:r.evidence,decisions:r.decisions}),i=Tt(o);if(p(i)!==p(a))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let c=d(m=>({policy:m.policy,environment:m.environment,tools:m.tools}),"execution");if(p(c(o))!==p(c(n)))throw new Error("Taskset execution differs from its reviewed task definition.");let l=d(m=>({id:m.id,clusterKey:m.clusterKey,split:m.split,input:m.input,expectedOutput:m.expectedOutput,policyVisibleContext:m.policyVisibleContext,privilegedContextRef:m.privilegedContextRef,artifactRefs:m.artifactRefs,requiredOutputs:m.requiredOutputs??[],tags:m.tags}),"taskContent");if(p(o.tasks.map(l))!==p(n.tasks.map(l)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}d(Ma,"validateTasksetLearningResources");var rt=64*1024*1024,lr=e.object({asset:Z,base64:e.string()}).strict();function ee(n){let t=lr.parse(n),r=atob(t.base64);if(btoa(r)!==t.base64)throw new Error(`Taskset asset ${t.asset.id} has noncanonical base64.`);let a=new Uint8Array(r.length);for(let s=0;s<r.length;s++)a[s]=r.charCodeAt(s);if(a.byteLength!==t.asset.sizeBytes||B(a)!==t.asset.contentHash)throw new Error(`Taskset asset ${t.asset.id} differs from its immutable bytes.`);return a}d(ee,"decodeTasksetPackageFile");function Be(n){if(n.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let t=new Map(n.files.map(i=>[i.asset.id,i])),r=d(i=>{let c=t.get(i);if(!c)throw new Error(`Taskset environment asset is missing: ${i}.`);if(c.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let l=new TextDecoder("utf-8",{fatal:!0}).decode(ee(c));return ye.parse($({schemaVersion:"openpond.learningTextAsset.v1",id:i,revision:1,asset:c.asset,text:l}))},"read"),a;if(n.modelResources){if(!n.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");a=_e.parse(n.modelResources.execution)}else{let i=r(jt(n.taskset));if(i.asset.visibility!=="host_private"||i.asset.mediaType!=="application/json"||i.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");a=_e.parse(JSON.parse(i.text))}let o=[...new Set([a.javascript.module.id,...[a.environment.actionSchemaRef,a.environment.observationSchemaRef,a.environment.stateSchemaRef].flatMap(i=>i?[i.id]:[]),...n.taskset.tasks.flatMap(i=>i.privilegedContextRef?[i.privilegedContextRef]:[])])].map(r);return pr(a,n.taskset,o),{execution:a,assets:o}}d(Be,"resolveTasksetPackageExecution");function ur(n){let t=Aa(n),r=new TextEncoder().encode(t.text),a="";for(let s of r)a+=String.fromCharCode(s);return{asset:t.asset,base64:btoa(a)}}d(ur,"createTasksetPackageExecutionFile");var te=e.string().trim().min(1).max(240),ge=e.string().trim().min(1),Ce=e.string().trim().min(8).max(256),za=e.string().trim().min(1).max(1e3).refine(n=>!n.startsWith("/")&&!n.startsWith("\\")&&!n.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),Ee=e.enum(["train","validation","test","frozen_eval"]),Ro=e.object({name:e.string().trim().min(1).max(500),semanticRole:e.enum(["row_id","cluster_id","prompt","messages","demonstration","chosen","rejected","expected_output","privileged_context","reward","feedback","tag","metadata"]),logicalType:e.enum(["string","integer","float","boolean","json","messages"]),nullable:e.boolean(),policy:e.enum(["visible","privileged","metadata"])}),Io=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(Ro).min(1).max(1e4),schemaHash:Ce}),To=e.object({id:te,split:Ee,path:za,contentHash:Ce,schemaHash:Ce,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Ht=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:te,tasksetId:te,tasksetRevision:e.number().int().positive(),contentHash:Ce,format:e.literal("parquet"),schema:Io,shards:e.array(To).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(Ee,e.number().int().nonnegative()),sourceReceiptRefs:e.array(te).min(1).max(1e5),mappingHash:Ce,qualityReportHash:Ce,createdAt:ge}),nm=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:te,tasksetId:te,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(Ee,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:Ce,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:ge}),_o=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:te,tasksetRevision:e.number().int().positive(),artifactId:te.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(Ee,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:ge,updatedAt:ge}),am=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:te,datasets:e.array(_o),generatedAt:ge}),sm=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Ht,profileId:te,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:za,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:ge.nullable(),createdAt:ge,updatedAt:ge}),om=e.object({split:Ee.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),im=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:te,tasksetRevision:e.number().int().positive(),artifactHash:Ce,split:Ee.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),Co=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:ge}),Eo=e.object({id:te,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),cm=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:Co,storageRoots:e.array(Eo)}),dm=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var nt=e.string().trim().min(1).max(240),Po=e.string().trim().min(1),at=e.string().trim().min(8).max(256),Ao=e.record(e.string(),e.unknown()).default({}),jo=e.string().trim().min(7).max(256),Ho=e.enum(["pending","approved","review","blocked"]),fr=e.object({id:nt,profileId:nt,title:e.string().trim().min(1).max(500),sourceHash:at,occurredAt:Po,licensingStatus:Ho,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Ao}),Oo=fr.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:jo,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(at).min(1).max(1e5)}),qo=fr.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(at).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),Do=fr.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:nt,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:at}),$o=fr.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:nt,revision:e.number().int().positive(),contentHash:at}).strict(),taskDefinition:e.object({id:nt,revision:e.number().int().positive(),contentHash:at}).strict(),admittedBy:nt}),Ba=e.discriminatedUnion("kind",[Oo,qo,Do,$o]);var Ua=e.object({schemaVersion:e.literal("openpond.connectedDatasetSource.v1"),kind:e.literal("connected_activity"),id:e.string().min(1).max(240),profileId:e.string().min(1).max(240),title:e.string().min(1).max(500),sourceHash:e.string().regex(/^[a-f0-9]{64}$/),occurredAt:e.string().datetime(),licensingStatus:e.enum(["pending","approved","review","blocked"]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),origin:Yt,sourceId:e.string().min(1).max(500),sessionId:e.string().min(1).max(500),normalizerVersion:e.string().min(1).max(200),projection:e.enum(["turn","conversation"]),ownerUserId:e.string().min(1).max(500),purpose:e.literal("recorded_evaluation"),sourceFileHashes:e.array(e.string().regex(/^[a-f0-9]{64}$/)).max(100).optional(),metadata:e.record(e.string(),e.unknown()).default({})}).strict();var Fa=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:Kt,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:Jt,agentRelease:y,implementationHash:Jt,runtimeBindingId:Kt,capabilityReceiptHash:Jt,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:Kt,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var I=e.string().trim().min(1).max(240),pn=e.string().trim().min(1),Mo=e.string().trim().min(8).max(256),ln=e.string().trim().regex(/^[a-f0-9]{64}$/),zo=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),ne=e.record(e.string(),e.unknown()).default({}),gr=I.nullable();function st(n){let t=n.trim().replaceAll("\\","/");return!t||t.startsWith("/")||t==="."||t===".."?!1:!t.split("/").some(r=>!r||r==="."||r==="..")}d(st,"safeRelativeFilePath");function Bo(n){let t=n.trim();return t.length>0&&t!=="."&&t!==".."&&!t.includes("/")&&!t.includes("\\")&&!t.includes("\0")}d(Bo,"safeFileName");var hr=Ee,br=e.enum(["general","benchmark"]),vr=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:I,releaseId:I,releaseHash:ln,managedReleasePath:e.string().trim().min(1).max(1e3).refine(st,"Benchmark release paths must remain relative."),adaptationSplit:hr,evaluationSplit:hr,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:ne}),xr=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:I,releaseHash:ln,publishedAt:pn,metadata:ne}),Uo=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:gr,grantedAt:pn.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),Fo=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:I,profileId:I,sessionId:I,turnIds:e.array(I).max(1e3).default([]),workspaceId:gr,sourceHash:Mo,clusterKey:I,title:e.string().trim().min(1).max(500),occurredAt:pn,consent:Uo,connectedAppIds:e.array(I).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:ne}),kr=e.union([Fo,Ba,Ua]),yr=e.object({policyVisibleFields:e.array(I).max(1e3).default([]),privilegedFields:e.array(I).max(1e3).default([]),hiddenGraderRefs:e.array(I).max(100).default([]),connectedAppScopes:e.array(I).max(100).default([])}),Wo=e.object({id:I,sourceRefId:I,artifactRef:e.string().trim().min(1).max(4e3).refine(st,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Bo,"Task asset file names must not contain path separators."),stagingPath:e.string().trim().min(1).max(1e3).refine(st,"Task asset staging paths must stay inside Work inputs.").optional(),mediaType:e.string().trim().min(1).max(200),sha256:ln,sizeBytes:e.number().int().nonnegative().max(25e7),split:hr,metadata:ne}).superRefine((n,t)=>{n.stagingPath&&n.stagingPath.split("/").at(-1)!==n.fileName&&t.addIssue({code:"custom",message:"Staged task assets must preserve their source file name.",path:["stagingPath"]})}),Lo=e.object({path:e.string().trim().min(1).max(1e3).refine(st,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:I.nullable().optional(),submissionMode:e.literal("structured_json").optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:ne}),ot=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:I,clusterKey:I,split:hr,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:gr,sourceRefs:e.array(I).min(1).max(100),assets:e.array(Wo).max(1e3).optional(),resourceRefs:e.array(I).max(1e3).optional(),requiredOutputs:e.array(Lo).max(100).optional(),tags:e.array(I).max(100).default([]),metadata:ne}),Vo=e.object({id:I,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(st,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:ne}),it=e.object({id:I,taskId:gr,sourceRefs:e.array(I).min(1).max(100),artifactRef:I,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:ne}),Wa=it.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),La=it.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Va=it.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Na=it.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),Ga=it.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:I,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),Ka=it.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:I,label:e.string().trim().min(1).max(500),description:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),calibrationExamples:e.object({positive:e.string().trim().min(1).max(2e5),negative:e.string().trim().min(1).max(2e5),boundary:e.string().trim().min(1).max(2e5)})}),_m=e.discriminatedUnion("kind",[Wa,La,Va,Na,Ga,Ka]),wr=e.object({demonstrations:e.array(Wa).max(1e5).default([]),preferences:e.array(La).max(1e5).default([]),corrections:e.array(Va).max(1e5).default([]),feedback:e.array(Na).max(1e5).default([]),rewards:e.array(Ga).max(1e5).default([]),labels:e.array(Ka).max(1e5).default([])}),Sr=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(I).max(200).default([]),actionBindings:e.array(Fa).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(Vo).max(1e4).optional(),metadata:ne}),Rr=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),Ir=e.object({id:I,taskIds:e.array(I).min(1).max(1e4).refine(n=>new Set(n).size===n.length,"Grader task IDs must be unique.").optional(),version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:ne}),No=Ir.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),Go=Ir.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:Ne,calibrationFixtureRefs:e.array(I).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),Ko=Ir.extend({kind:e.literal("human"),form:xe.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),Jo=Ir.extend({kind:e.literal("custom_verifier"),runtime:Un.optional(),module:e.string().trim().min(1).max(1e3).refine(st,"Custom verifier modules must use a safe relative path."),exportName:zo,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),Tr=e.union([No,Go,Ko,Jo]),Xo=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),ct=e.object({id:I,taskId:I,label:Xo,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:ne});var Ja=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:Ke,fixtureSet:Z,calibrationCheck:qe,fixture:Zn,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:Z,graderId:e.string().min(1).max(240).optional()}).strict();function Xa(n){let t=n.taskset.metadata.ordinaryAuthoring??n.taskset.metadata.starterAuthoring;return e.object({graderFixtures:ct.array().max(1e5).default([])}).passthrough().parse(t??{}).graderFixtures}d(Xa,"authoredFixtures");function Ya(n){for(let t of Xa(n)){let r=t.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&Yo(n,t)}for(let t of n.files)t.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Za(n,t.asset)}d(Ya,"assertTasksetCalibrationClosures");function Yo(n,t){let r=Ja.parse(t.metadata.rewardCalibration),a=Za(n,r.closureRef);(p(r.sourceReward)!==p(A(a.reward))||p(r.fixtureSet)!==p(a.reward.fixtureSetRef)||r.calibrationCheck.id!==a.check.id||r.calibrationCheck.revision!==a.check.revision||r.calibrationCheck.contentHash!==p(a.check))&&M("calibration_source_changed");let s=r.fixture,o=`calibration-${p([r.sourceReward,s.id])}`;(t.id!==o||t.taskId!==o||n.taskset.tasks.some(g=>g.id===o)||r.fixtureHash!==p(s)||p(t.output)!==p(s.output)||t.infrastructureError!==s.infrastructureError)&&M("calibration_fixture_changed");let i=a.check.results.filter(g=>g.fixture.id===s.id&&g.fixture.contentHash===r.fixtureHash);(i.length!==1||p(i[0])!==r.checkResultHash)&&M("calibration_result_changed");let c=s.expected;(c.status!=="scored"||typeof c.passed!="boolean"||t.expectedPassed!==c.passed||t.label!==(c.passed?"positive":"negative"))&&M("calibration_expectation_unsupported");let l=r.graderId??r.sourceReward.id,m=n.taskset.graders.filter(g=>g.id===l),h=m[0];(m.length!==1||!h)&&M("calibration_grader_not_unique"),t.expectedRewardEligible!==h.rewardEligible&&M("calibration_reward_expectation_changed");let f=Wn({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${a.contentHash}`,revision:1,sources:[{graderId:l,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:h.weight,required:!0,hardGate:h.hardGate,privileged:h.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[a.reward]),u=ke(f,[a.reward])[0],b=d(g=>{let{rewardEligible:v,taskIds:S,...R}=g;return R.kind==="model_judge"?{...R,temperature:R.temperature??0}:R},"implementation");return p(b(h))!==p(b(u))&&M("calibration_grader_changed"),h.kind==="model_judge"&&Zo(n,h,r,a),{kind:"independent_reward_calibration",fixtureId:o,task:Oe.parse({id:o,clusterKey:o,split:"validation",input:s.input,expectedOutput:s.expectedOutput,privilegedContextRef:null}),evaluatorContext:s.evaluatorContext,evidence:{output:s.output,artifactRefs:s.artifactRefs,runtimeEventRefs:s.runtimeEventRefs,infrastructureError:s.infrastructureError},grader:u,reward:a.reward,binding:f,expected:c,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}d(Yo,"resolveIndependent");function Za(n,t){(t.visibility!=="host_private"||t.sizeBytes>Qn||t.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&M("calibration_closure_not_private");let r=n.files.filter(l=>l.asset.id===t.id);(r.length!==1||p(r[0].asset)!==p(t))&&M("calibration_closure_asset_changed");let a=ee(r[0]),s=new TextDecoder("utf-8",{fatal:!0}).decode(a),o=ea(JSON.parse(s));p(ta(o).asset)!==p(t)&&M("calibration_closure_reference_changed"),n.files.filter(l=>l.asset.contentHash===t.contentHash||l.asset.id===t.id||l.asset.path===t.path).some(l=>l.asset.visibility!=="host_private")&&M("calibration_closure_visible_alias");let c=d(l=>l.id===t.id||l.path===t.path||l.contentHash===t.contentHash,"isAlias");for(let l of n.taskset.tasks)(l.artifactRefs.some(c)||(l.requiredOutputs??[]).some(m=>m.schemaRef&&c(m.schemaRef))||l.privilegedContextRef&&n.files.some(m=>m.asset.id===l.privilegedContextRef&&c(m.asset)))&&M("calibration_closure_task_alias"),(un(l.input,s,t.contentHash)||un(l.policyVisibleContext,s,t.contentHash))&&M("calibration_closure_inline_alias");for(let l of[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef])l&&c(l)&&M("calibration_closure_environment_schema_alias");for(let l of[n.taskset.metadata.environmentResources,n.environment.metadata.resources]){if(l===void 0)continue;let m=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(l);for(let h of m){let f=n.files.find(u=>u.asset.path===h.path);(h.id===t.id||h.path===t.path||f&&c(f.asset))&&M("calibration_closure_environment_resource_alias")}}return o}d(Za,"readPrivateClosure");function un(n,t,r){return typeof n=="string"?n===t||B(n)===r:!n||typeof n!="object"?!1:B(JSON.stringify(n))===r?!0:Object.values(n).some(a=>un(a,t,r))}d(un,"containsClosure");function M(n){throw new Error(n)}d(M,"fail");function Zo(n,t,r,a){let s=t.id,o=n.taskset.metadata.ordinaryAuthoring??n.taskset.metadata.starterAuthoring,i=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(o),c=a.check.fixtureRefs.map(m=>`calibration-${p([r.sourceReward,m.id])}`);p(i.judgeCalibrationFixtures[s]??[])!==p(c)&&M("calibration_judge_membership_changed");let l=Xa(n);for(let m=0;m<c.length;m++){let h=l.filter(S=>S.id===c[m]);h.length!==1&&M("calibration_judge_membership_changed");let f=h[0],u=Ja.parse(f.metadata.rewardCalibration),b=u.fixture.expected;(b.status!=="scored"||typeof b.passed!="boolean"||f.expectedPassed!==b.passed||f.expectedRewardEligible!==t.rewardEligible||f.label!==(b.passed?"positive":"negative")||p(f.output)!==p(u.fixture.output)||f.infrastructureError!==u.fixture.infrastructureError)&&M("calibration_judge_membership_changed");let g=a.check.fixtureRefs[m],v=a.check.results.find(S=>S.fixture.id===g.id);(f.taskId!==f.id||u.fixture.id!==g.id||u.fixtureHash!==g.contentHash||p(u.fixture)!==g.contentHash||u.checkResultHash!==p(v)||p(u.sourceReward)!==p(r.sourceReward)||p(u.fixtureSet)!==p(r.fixtureSet)||p(u.calibrationCheck)!==p(r.calibrationCheck)||p(u.closureRef)!==p(r.closureRef)||(u.graderId??u.sourceReward.id)!==s)&&M("calibration_judge_membership_changed")}}d(Zo,"assertJudgeFixtureMembership");var Qo=cn.omit({taskset:!0,executionResources:!0}),Qa=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:Q,environment:Re,verifierSet:Ie,files:e.array(lr).max(1e4),modelResources:Qo.optional(),learningResources:mn.optional()}).strict(),ei=Qa.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function fn(n){return n.learningResources?Tt(n.taskset).definition.instructions:n.modelResources?n.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(n.taskset.metadata.ordinaryAuthoring??{}).instructions??""}d(fn,"resolveTasksetPackageInstructions");function mt(n,t=rt){He(n,t);let r=ei.parse(n),{contentHash:a,...s}=r;if(p(s)!==a)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:o,environment:i,verifierSet:c}=r;if(rr(o),Pa(o)&&(r.modelResources||r.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!De(i)||!$e(c)||!dt(o.environmentRelease,{id:i.id,contentHash:i.contentHash})||!dt(o.verifierSetRelease,{id:c.id,contentHash:c.contentHash})||!dt(o.environment,i.contract)||!dt(o.graders,c.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let m=new Map;for(let f of r.files){if(m.has(f.asset.id))throw new Error(`Duplicate Taskset asset identity: ${f.asset.id}.`);ee(f),m.set(f.asset.id,f)}function h(f){let u=m.get(f.id);if(!u||!dt(u.asset,f))throw new Error(`Taskset package asset is missing or mismatched: ${f.id}.`)}d(h,"requireAsset");for(let f of o.tasks){for(let u of f.artifactRefs)h(u);for(let u of f.requiredOutputs??[])if(u.schemaRef&&h(u.schemaRef),u.submissionMode==="structured_json"){if(!u.schemaRef||u.schemaRef.visibility!=="policy"||u.mediaType!=="application/json"||i.contract.kind!=="work")throw new Error("Structured output requires a policy-visible JSON schema in Work.");cr(ee(m.get(u.schemaRef.id)),u.schemaRef.contentHash)}if(f.privilegedContextRef&&m.get(f.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${f.id}.`)}for(let f of[i.actionSchemaRef,i.observationSchemaRef,i.stateSchemaRef])f&&h(f);for(let f of o.graders){let u="verifierRef"in f?f.verifierRef:"rubricRef"in f?f.rubricRef:null;if(u&&(h(u),u.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${u.id}.`)}if(o.metrics?.customAggregator){let f=o.metrics.customAggregator,u=r.files.filter(b=>b.asset.path===f.module);if(u.length!==1||u[0].asset.contentHash!==f.contentHash||u[0].asset.sizeBytes>524288||u[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let f of[o.metadata.environmentResources,i.metadata.resources])if(f!==void 0){for(let u of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(f))if(!r.files.some(b=>b.asset.path===u.path))throw new Error(`Taskset environment resource is missing: ${u.path}.`)}if(r.learningResources){if(r.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let f=Ma(o,r.learningResources);for(let u of $a(f))if(!dt(m.get(u.asset.id),u))throw new Error("Taskset private context differs from its reviewed evidence.");for(let u of f.assets)h(u.asset)}else if(r.modelResources){let f=dn({...r.modelResources,taskset:o,executionResources:{environment:i,verifierSet:c}});for(let u of f.assets)h(u.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(f=>o.metadata[f]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Be(r),fn(r),Ya(r),r}d(mt,"validateTasksetPackage");function pt(n,t=rt){He(n,t);let r=Qa.parse(n);return mt({...r,contentHash:p(r)},t)}d(pt,"createTasksetPackage");function dt(n,t){return p({value:n})===p({value:t})}d(dt,"same");function es(n){let t=mt(n.source),r=mt(n.edited),a=n.preparation;if(a.authoringGraph!=="bound"||!t.modelResources||t.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(t.contentHash!==a.sourcePackageHash||!W(A(t.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let s=d(P=>P.taskset.graders.map(se=>se.kind==="custom_verifier"?{...se,exportName:se.exportName??"verify"}:se),"normalizedGraders");if(p(s(t))!==p(s(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let o=t.modelResources,i=new Map(o.assets.map(P=>[P.id,P])),c=Be(r),l=Be(t),m=d(P=>{let{id:se,revision:Gr,contentHash:Kr,metadata:Jr,...uo}=P,{javascriptEnvironment:Xc,...Cn}=Jr;return{...uo,metadata:{...Cn,resources:Cn.resources??[]}}},"environmentContent"),h=d(P=>{if(!P)return null;let{id:se,revision:Gr,contentHash:Kr,...Jr}=P.execution.javascript;return Jr},"javascriptContent"),f=p(m(t.environment))===p(m(r.environment))&&p(h(l))===p(h(c)),u=f?t.environment:r.environment,b=f?l:c,g=new Set([...o.assets.map(P=>P.id),...r.taskset.tasks.flatMap(P=>P.privilegedContextRef?[P.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap(P=>P?[P.id]:[]),...c?.assets.map(P=>P.id)??[]]);for(let P of g){let se=r.files.find(Kr=>Kr.asset.id===P);if(!se)throw new Error(`Bound Taskset asset is missing: ${P}.`);let Gr=new TextDecoder("utf-8",{fatal:!0}).decode(ee(se));i.set(P,ye.parse($({schemaVersion:"openpond.learningTextAsset.v1",id:P,revision:1,asset:se.asset,text:Gr})))}let v=fn(r),{contentHash:S,...R}=o.taskDefinition,{policy:H,environment:k,environmentRelease:V,tools:Ve,capabilities:ve,verifierSetRelease:x}=r.taskset,w=It.parse($({...R,instructions:v,execution:{policy:H,environment:k,environmentRelease:V,tools:Ve,capabilities:ve,verifierSetRelease:x}})),{contentHash:O,..._}=r.taskset,j=Q.parse($({..._,tasks:r.taskset.tasks.map(P=>o.instructionMode==="per_task"?P:{...P,policyVisibleContext:{...P.policyVisibleContext,instructions:v}})})),je=Da({owner:a.lineage.owner,source:{...o,taskset:t.taskset,executionResources:{environment:t.environment,verifierSet:t.verifierSet}},rewardBinding:o.rewardBinding,rewards:o.rewards,assets:[...i.values()],edits:{taskset:j,taskDefinition:w,executionResources:{environment:u,verifierSet:r.verifierSet},...b?{execution:b.execution}:{}}}),Gt=on.parse(je.taskset.metadata.modelTasksetDerivation);if(je.taskset.id!==a.tasksetId||je.taskset.revision!==a.tasksetRevision||p({...Gt,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:Nr,executionResources:po,...lo}=je;return pt({schemaVersion:"openpond.tasksetPackage.v1",taskset:Nr,...po,modelResources:lo,files:r.files})}d(es,"publishBoundModelTasksetDraftPackage");function ts(n){let t=tt.parse(n.preparation);if(!W(t.sourceTasksetRef,t.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(t.authoringGraph==="bound"){if(!n.source)throw new Error("Bound Taskset authoring requires its retained source package.");return es({preparation:t,source:n.source,edited:n.edited})}let r=ti(n.edited),{contentHash:a,...s}=r.verifierSet,o=Ze({...s,id:`${t.tasksetId}-verifiers`,revision:t.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:A(r.verifierSet)}}),{contentHash:i,...c}=r.taskset,l=Q.parse($({...c,id:t.tasksetId,revision:t.tasksetRevision,verifierSetRelease:{id:o.id,contentHash:o.contentHash},metadata:{modelTasksetAuthoring:t.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),m=Be(r),h=m?[...r.files.filter(f=>f.asset.id!==jt(r.taskset)),ur({...m.execution,verifierSet:o})]:r.files;return pt({schemaVersion:"openpond.tasksetPackage.v1",taskset:l,environment:r.environment,verifierSet:o,files:h})}d(ts,"publishModelTasksetDraftPackage");function ti(n){let t=mt(n);if(t.modelResources||t.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return t}d(ti,"requireOrdinaryPackage");var ce=e.string().trim().min(1).max(240),Ot=e.string().trim().min(1),_r=e.string().trim().min(8).max(256),ns=e.record(e.string(),e.unknown()).default({}),ri=ce.nullable(),as=["work_capabilities","work_environment","work_list_files","work_read_file","work_read_document","work_write_file","work_write_docx","work_edit_file","work_delete_file","work_exec","work_save_output","work_stop"],ni=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),ai=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),N=e.string().trim().max(1e5),si=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:N,examples:e.array(e.object({id:ce,prompt:N,response:N})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:N,pairs:e.array(e.object({id:ce,prompt:N,chosen:N,rejected:N,rationale:N})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:N,rules:e.array(e.object({id:ce,points:e.number().finite(),condition:N})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:N,criteria:e.array(e.object({id:ce,label:e.string().trim().max(500),description:N})).max(1e3).default([]),positiveExample:N,negativeExample:N,boundaryExample:N})]),Ip=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),oi=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(ce).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),ii=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),ci=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(ii).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),rs=e.object({code:ce,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),di=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:ce,tasksetHash:_r,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:oi.nullable().default(null),methodReadiness:e.array(ci).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(rs).default([]),advisories:e.array(rs).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Ot}),mi=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Ot}),pi=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:Ne.nullable(),modelConfig:ns,skillHash:_r,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:ai.default("demonstrations"),buildSpecification:si.nullable().default(null),evidenceHashes:e.array(_r).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(mi).max(1e3),createdAt:Ot}),X=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:ce,revision:e.number().int().positive().default(1),profileId:ce,profileRelease:En.nullable().optional(),createImproveRunId:ri.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:br.default("general"),benchmark:vr.nullable().default(null),preferenceComparison:xr.nullable().default(null),status:ni,sourceRefs:e.array(kr).min(1).max(1e5),datasetArtifact:Ht.nullable().optional(),policy:yr,environment:Sr,capabilities:Rr,metrics:tr.optional(),tasks:e.array(ot).max(1e6),graders:e.array(Tr).max(1e3),graderFixtures:e.array(ct).max(1e5),learningSignals:wr,authoringProvenance:pi,readiness:di.nullable(),contentHash:_r,createdAt:Ot,updatedAt:Ot,metadata:ns}).superRefine((n,t)=>{n.purpose==="benchmark"&&!n.benchmark&&t.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),n.purpose!=="benchmark"&&n.benchmark&&t.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),n.datasetArtifact&&n.tasks.length>0&&t.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!n.datasetArtifact&&n.tasks.length===0&&t.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function ss(n){return n.schemaVersion==="openpond.trainingSource.v1"}d(ss,"isTrainingSourceRef");var lt=e.string().trim().min(1).max(240),os=e.string().trim().min(1),li=e.string().trim().min(8).max(256),ui=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),fi=e.record(e.string(),e.unknown()).default({});function is(n){let t=n.trim().replaceAll("\\","/");return!t||t.startsWith("/")||t==="."||t===".."?!1:!t.split("/").some(r=>!r||r==="."||r==="..")}d(is,"safeRelativeFilePath");var hi=ot.extend({sourceRefs:e.array(lt).max(100).default([])}),gi=e.enum(["draft","validating","needs_review","published"]),bi=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:lt,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),vi=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(is,"Renderer modules must use a safe relative path."),exportName:ui,configRef:e.string().trim().min(1).max(1e3).refine(is,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((n,t)=>{n.mode==="structured_json"&&!n.jsonSchema&&t.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),n.mode==="text"&&n.renderer&&t.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),ut=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:lt,revision:e.number().int().positive(),profileId:lt,modelScope:e.object({modelId:lt,expectedModelRevision:e.number().int().positive(),source:tt.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:br.default("general"),benchmark:vr.nullable().default(null),preferenceComparison:xr.nullable().default(null),status:gi,sourceRefs:e.array(kr).max(1e5).default([]),datasetArtifact:Ht.nullable().optional(),policy:yr,environment:Sr,output:vi.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Rr,metrics:tr,review:bi,tasks:e.array(hi).max(1e6).default([]),graders:e.array(Tr).max(1e3).default([]),graderFixtures:e.array(ct).max(1e5).default([]),learningSignals:wr,publishedTasksetRef:e.object({id:lt,revision:e.number().int().positive(),contentHash:li}).nullable(),createdAt:os,updatedAt:os,metadata:fi}).superRefine((n,t)=>{n.purpose==="benchmark"&&!n.benchmark&&t.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),n.purpose!=="benchmark"&&n.benchmark&&t.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),n.datasetArtifact&&n.tasks.length>0&&t.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),n.status==="published"&&!n.publishedTasksetRef&&t.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});var qt=class extends Error{static{d(this,"TasksetDraftPublishError")}issues;constructor(t){super(t.map(r=>r.message).join(`
|
|
4
|
-
`)),this.name="TasksetDraftPublishError",this.issues=t}};function cs(n){let t=[];n.name.trim()||t.push({code:"name_missing",message:"Name is required.",path:"name"}),n.objective.trim()||t.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!n.datasetArtifact&&n.tasks.length===0&&t.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"});let r=new Set(n.sourceRefs.map(a=>a.id));for(let a of n.tasks)for(let s of a.sourceRefs)r.has(s)||t.push({code:"task_source_missing",message:`Task ${a.id} references missing source ${s}.`,path:`tasks.${a.id}.sourceRefs`});return t}d(cs,"draftPublishIssues");function ds(n,t={}){let r=X.safeParse(n);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(i=>({code:"schema_invalid",severity:"error",message:i.message,path:i.path.join(".")}))};let a=r.data,s=[];yi(a,s),ki(a,s),wi(a,s),Ri(a,s),Ii(a,s),t.purpose!=="publication"&&(a.graders.length||s.push({code:"graders_required",severity:"error",message:"Scored execution requires at least one grader.",path:"graders"}),xi(a,s,t)),Ti(a,s),_i(a.capabilities,s,a),Si(a,s);let o=ms(a);return a.contentHash!==o&&s.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${a.contentHash}, expected ${o}.`,path:"contentHash"}),{valid:!s.some(i=>i.severity==="error"),taskset:a,computedHash:o,issues:s}}d(ds,"validateTaskset");function xi(n,t,r){let a=n.graders.length>0&&n.graders.every(i=>i.kind==="human");!a&&!n.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&n.metadata.trainingMethod==="grpo"&&n.metadata.learning)&&t.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let s=new Set(n.tasks.map(i=>i.id)),o=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let i of n.graderFixtures)!n.datasetArtifact&&!s.has(i.taskId)&&t.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${i.id} references a task outside this Taskset revision (${i.taskId}).`,path:`graderFixtures.${i.id}.taskId`}),o.delete(i.label),i.label==="infrastructure_failure"&&!i.infrastructureError&&t.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${i.id} must declare an infrastructure error.`,path:`graderFixtures.${i.id}.infrastructureError`});for(let i of a?[]:o)t.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${i} grader calibration fixture.`,path:"graderFixtures"})}d(xi,"validateGraderFixtures");function ki(n,t){let r=n.datasetArtifact;if(!r)return;(r.tasksetId!==n.id||r.tasksetRevision!==n.revision)&&t.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let a=Object.values(r.splitCounts).reduce((l,m)=>l+m,0),s=r.shards.reduce((l,m)=>l+m.rowCount,0);(a!==r.rowCount||s!==r.rowCount)&&t.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let o=new Map;for(let l of r.shards)o.set(l.split,(o.get(l.split)??0)+l.rowCount);for(let[l,m]of Object.entries(r.splitCounts))(o.get(l)??0)!==m&&t.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${l} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${l}`});let{contentHash:i,...c}=r;p(c)!==r.contentHash&&t.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}d(ki,"validateDatasetArtifact");function ft(n){return ms(n)}d(ft,"computeTasksetHash");function ms(n){let{contentHash:t,status:r,readiness:a,updatedAt:s,...o}=n;return p(o)}d(ms,"tasksetContentHash");function yi(n,t){for(let[r,a]of n.sourceRefs.entries())ss(a)&&a.consent.status!=="granted"&&t.push({code:"source_consent_missing",severity:"error",message:`Source ${a.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),a.secretScanStatus!=="passed"&&t.push({code:"source_secret_scan",severity:"error",message:`Source ${a.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),a.piiScanStatus!=="passed"&&t.push({code:"source_pii_scan",severity:"error",message:`Source ${a.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),a.licensingStatus!=="approved"&&t.push({code:"source_license",severity:"error",message:`Source ${a.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}d(yi,"validateSourceConsent");function wi(n,t){let r=new Map;for(let s of n.tasks){let o=r.get(s.clusterKey)??new Set;o.add(s.split),r.set(s.clusterKey,o)}for(let[s,o]of r)o.size>1&&t.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${s} appears in multiple splits: ${[...o].join(", ")}.`,path:"tasks"});(n.datasetArtifact?n.datasetArtifact.splitCounts.frozen_eval??0:n.tasks.filter(s=>s.split==="frozen_eval").length)===0&&t.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}d(wi,"validateSplitIsolation");function Si(n,t){if(n.environment.kind!=="work")return;n.environment.entrypoint!=="openpond-work-v1"&&t.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!n.environment.lifecycle.includes("reset")||!n.environment.lifecycle.includes("cleanup"))&&t.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(as),a=n.environment.toolNames.filter(o=>!r.has(o));a.length&&t.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${a.join(", ")}.`,path:"environment.toolNames"}),n.environment.toolNames.includes("work_save_output")||t.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let o of["create","reset","step","grade","cleanup"])n.environment.lifecycle.includes(o)||t.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${o} lifecycle stage.`,path:"environment.lifecycle"});let s=new Map(n.sourceRefs.map(o=>[o.id,o]));for(let[o,i]of n.tasks.entries()){let c=new Set,l=new Set;for(let[h,f]of(i.assets??[]).entries()){let u=`tasks.${o}.assets.${h}`;c.has(f.id)&&t.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${i.id} repeats asset id ${f.id}.`,path:`${u}.id`});let b=f.stagingPath??f.fileName;l.has(b)&&t.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${i.id} repeats staged path ${b}.`,path:`${u}.fileName`}),c.add(f.id),l.add(b),i.sourceRefs.includes(f.sourceRefId)||t.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${f.id} references source ${f.sourceRefId} outside task ${i.id}.`,path:`${u}.sourceRefId`});let g=s.get(f.sourceRefId);g?"sourceFileHashes"in g&&!g.sourceFileHashes?.includes(f.sha256)&&t.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${f.id} hash is not registered by source ${f.sourceRefId}.`,path:`${u}.sha256`}):t.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${f.id} references missing source ${f.sourceRefId}.`,path:`${u}.sourceRefId`}),g&&"kind"in g&&g.kind==="uploaded_file"&&!g.originalFileNames.includes(f.fileName)&&t.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${f.id} file name is not registered by source ${f.sourceRefId}.`,path:`${u}.fileName`}),g&&"kind"in g&&g.kind==="uploaded_file"&&!g.mediaTypes.includes(f.mediaType)&&t.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${f.id} media type is not registered by source ${f.sourceRefId}.`,path:`${u}.mediaType`}),f.split!==i.split&&t.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${f.id} is assigned to ${f.split}, not task split ${i.split}.`,path:`${u}.split`})}let m=new Set;for(let[h,f]of(i.requiredOutputs??[]).entries()){let u=f.path.replaceAll("\\","/"),b=`tasks.${o}.requiredOutputs.${h}.path`;m.has(u)&&t.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${i.id} repeats required output path ${u}.`,path:b}),m.add(u)}(i.requiredOutputs??[]).length===0&&t.push({code:"work_output_missing",severity:"error",message:`Work task ${i.id} must declare at least one required output.`,path:`tasks.${o}.requiredOutputs`})}}d(Si,"validateWorkExecution");function Ri(n,t){let r=new Set(n.policy.policyVisibleFields);for(let a of n.policy.privilegedFields)r.has(a)&&t.push({code:"privileged_field_visible",severity:"error",message:`Field ${a} is both policy-visible and privileged.`,path:"policy"});for(let a of n.tasks)a.privilegedContextRef&&Object.keys(a.policyVisibleContext).includes(a.privilegedContextRef)&&t.push({code:"privileged_context_leak",severity:"error",message:`Task ${a.id} exposes its privileged context reference.`,path:`tasks.${a.id}.policyVisibleContext`})}d(Ri,"validatePolicyBoundary");function Ii(n,t){let r=new Set(n.tasks.map(s=>s.id)),a=new Set;for(let s of n.graders)s.taskIds?.some(o=>!r.has(o))&&t.push({code:"grader_task_missing",severity:"error",message:`Grader ${s.id} refers to a task outside this Dataset.`,path:"graders"}),a.has(s.id)&&t.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${s.id}.`,path:"graders"}),a.add(s.id),s.kind==="model_judge"&&s.rewardEligible&&s.calibrationStatus!=="passed"&&t.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${s.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${s.id}`}),s.kind==="model_judge"&&s.calibrationStatus==="passed"&&typeof s.metadata.calibrationEvidenceHash!="string"&&t.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${s.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${s.id}.metadata.calibrationEvidenceHash`}),s.kind==="human"&&s.rewardEligible&&t.push({code:"human_online_reward",severity:"error",message:`Human grader ${s.id} cannot be an online optimizer reward.`,path:`graders.${s.id}`})}d(Ii,"validateGraders");function Ti(n,t){let r=new Set(n.tasks.map(s=>s.id)),a=new Set(n.sourceRefs.map(s=>s.id));for(let s of[...n.learningSignals.demonstrations,...n.learningSignals.preferences,...n.learningSignals.corrections,...n.learningSignals.feedback,...n.learningSignals.rewards,...n.learningSignals.labels])s.taskId&&!n.datasetArtifact&&!r.has(s.taskId)&&t.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${s.id} references missing task ${s.taskId}.`,path:`learningSignals.${s.kind}.${s.id}.taskId`}),s.sourceRefs.some(o=>!a.has(o))&&t.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${s.id} references a source outside the Dataset.`,path:`learningSignals.${s.kind}.${s.id}.sourceRefs`});for(let s of n.learningSignals.preferences)s.chosen.trim()===s.rejected.trim()&&t.push({code:"preference_pair_identical",severity:"error",message:`Preference ${s.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${s.id}`});for(let s of n.learningSignals.rewards)s.executable||t.push({code:"reward_not_executable",severity:"warning",message:`Reward ${s.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${s.id}.executable`})}d(Ti,"validateLearningSignals");function _i(n,t,r){!n.exportable&&n.portabilityBlockers.length===0&&t.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),n.compatibleMethods.includes("grpo")&&!n.rewardKinds.some(a=>a==="exact"||a==="deterministic"||a==="model_judge")&&t.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&t.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&t.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(a=>a.executable)&&!r.graders.some(a=>a.rewardEligible&&a.weight>0&&a.kind!=="human")&&t.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}d(_i,"validateCapabilities");function ps(n){let t=ut.parse(n.draft),r=n.now??new Date().toISOString(),a=cs(t);if(a.length)throw new qt(a);let s=t.modelScope?.source;if(s&&n.tasksetId&&n.tasksetId!==s.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let o=s?.tasksetId||n.tasksetId?.trim()||t.publishedTasksetRef?.id||t.id.replace(/-draft$/,""),i=s?.tasksetRevision??(t.publishedTasksetRef?.id===o?t.publishedTasksetRef.revision+1:1),c=t.sourceRefs.length?t.sourceRefs:[Ci(t,o,r)],l=c[0].id,m=t.tasks.map(k=>ot.parse({...k,sourceRefs:k.sourceRefs.length?k.sourceRefs:[l],metadata:{exampleOrigin:"expert_authored",...k.metadata}})),h=t.capabilities.compatibleMethods.find(k=>k!=="none"&&k!=="retrieval")??null,f=Ei(t),u=t.graders.filter(k=>k.rewardEligible&&k.weight>0&&k.kind!=="human"),b=h===null&&f==="verifiable_reward"&&u.length>0,g=h??(b?"grpo":null),v=X.parse({schemaVersion:"openpond.taskset.v1",id:o,revision:i,profileId:t.profileId,profileRelease:null,createImproveRunId:null,name:t.name,objective:t.objective,purpose:t.purpose,benchmark:t.benchmark,preferenceComparison:t.preferenceComparison,status:"needs_review",sourceRefs:c,datasetArtifact:t.datasetArtifact??null,policy:t.policy,environment:t.environment,capabilities:b?{...t.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(u.map(k=>k.kind==="model_judge"?"model_judge":"deterministic"))]}:t.capabilities,metrics:t.metrics,tasks:m,graders:t.graders,graderFixtures:t.graderFixtures,learningSignals:t.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:f,buildSpecification:null,evidenceHashes:c.map(k=>k.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:r},readiness:null,contentHash:"00000000",createdAt:i===1?t.createdAt:r,updatedAt:r,metadata:{...t.metadata,...s?{modelTasksetAuthoring:s.lineage}:{},tasksetReviewPolicy:t.review,tasksetOutputContract:t.output,...n.sourcePackageHash?{sourcePackageHash:n.sourcePackageHash}:{},...g?{trainingMethod:g}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:t.objective,stableBehavior:[t.objective],changingKnowledge:[],requiredContext:[],requiredTools:t.environment.toolNames,intervention:g==="dpo"?"preference":g==="grpo"||g==="ppo"?"grpo_rft":g==="sft"?"sft":"no_training",trainingEligible:g!==null,rationale:g?[`The author selected ${g.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),S=X.parse({...v,contentHash:ft(v)}),H=ds(S,{purpose:"publication"}).issues.filter(k=>k.severity==="error");if(H.length)throw new qt(H.map(k=>({code:k.code,message:k.message,path:k.path})));return S}d(ps,"publishTasksetDraft");function Ci(n,t,r){let a=p({draftId:n.id,draftRevision:n.revision,tasks:n.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${t}`,profileId:n.profileId,title:`${n.name} manual authoring`,sourceHash:a,occurredAt:r,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:a,metadata:{draftId:n.id,draftRevision:n.revision}}}d(Ci,"generatedDraftSource");function Ei(n){return n.metadata.buildIntent==="discovery"||!n.graders.length&&!n.learningSignals.preferences.length&&!n.learningSignals.rewards.length&&!n.learningSignals.labels.length?"discovery":n.learningSignals.preferences.length?"preferences":n.learningSignals.rewards.length?"verifiable_reward":n.learningSignals.labels.length?"rubric":!n.capabilities.compatibleMethods.some(t=>t!=="none"&&t!=="retrieval")&&n.graders.some(t=>t.rewardEligible&&t.weight>0&&t.kind!=="human")?"verifiable_reward":"demonstrations"}d(Ei,"buildIntentForDraft");var Pi=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function ls(n){return Pi.has(Te.parse(n))}d(ls,"isManagedTasksetDraftFilePath");function us(n){let t=ut.parse(n);return new Map([["taskset.json",re(t)],["tasks/tasks.jsonl",ji(t.tasks)],["graders/graders.json",re(t.graders)],["fixtures/grader-fixtures.json",re(t.graderFixtures)],["metrics/policy.json",re(t.metrics)],["assets/manifest.json",re(t.tasks.flatMap(r=>r.assets??[]))],["environment/contract.json",re(t.environment)],["rubrics/preference-review.md",Ai(t)],["comparisons/policy.json",re(t.review)]])}d(us,"renderTasksetDraftManifests");function Ai(n){let t=n.review.criteria.length?`
|
|
5
|
-
|
|
6
|
-
## Criteria
|
|
7
|
-
|
|
8
|
-
${n.review.criteria.map(r=>`- **${r.label}** (${r.weight}): ${r.description}`).join(`
|
|
9
|
-
`)}`:"";return`# Preference review rubric
|
|
10
|
-
|
|
11
|
-
${n.review.rubric}${t}
|
|
12
|
-
`}d(Ai,"rubricMarkdown");function ji(n){return n.length?`${n.map(t=>JSON.stringify(t)).join(`
|
|
13
|
-
`)}
|
|
14
|
-
`:""}d(ji,"jsonLines");var Hi=64*1024*1024,fs=e.string().regex(/^[a-f0-9]{64}$/),hs=e.object({path:Te,contentHash:fs,sizeBytes:e.number().int().nonnegative(),base64:e.string()}).strict(),Oi=e.object({schemaVersion:e.literal("openpond.tasksetDraftWorkspace.v1"),draft:ut,files:e.array(hs).max(1e4)}).strict(),Cr=Oi.extend({contentHash:fs}).strict();function gs(n,t=Hi){He(n,t);let r=Cr.parse(n),{contentHash:a,...s}=r;if(p(s)!==a)throw new Error("Taskset draft workspace differs from its retained bytes.");let o=null,i=new Set;for(let c of r.files){if(ls(c.path))throw new Error("Managed Taskset files are represented by the draft document.");if(o!==null&&o>=c.path)throw new Error("Taskset draft file paths must be unique and sorted.");let l=c.path.split("/");for(let m=1;m<l.length;m++)if(i.has(l.slice(0,m).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");hn(c),i.add(c.path),o=c.path}return r}d(gs,"validateTasksetDraftWorkspace");function hn(n){let t=hs.parse(n),r;try{r=atob(t.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(r)!==t.base64)throw new Error("Taskset draft file contains noncanonical base64.");let a=new Uint8Array(r.length);for(let s=0;s<r.length;s++)a[s]=r.charCodeAt(s);if(a.byteLength!==t.sizeBytes||B(a)!==t.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return a}d(hn,"decodeTasksetDraftWorkspaceFile");function qi(n,t){let r=n.metadata.learning===void 0?null:en.parse(n.metadata.learning),a=n.metadata.rewardExecution,s=t??(a?{binding:St.parse(a.binding),rewards:wt.array().parse(a.rewards)}:r);if(n.metadata.rewardBinding!==void 0){let o=n.metadata.rewardBinding;if(!s||!o||o.id!==s.binding.id||o.revision!==s.binding.revision||o.contentHash!==s.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return s&&ke(s.binding,s.rewards),s?{binding:s.binding,rewards:s.rewards}:null}d(qi,"resolvePortableTasksetRewardExecution");function Er(n){let t=ks(n.taskset),r=Di(n.taskset),a=n.taskset.metadata.learning===void 0?null:en.parse(n.taskset.metadata.learning),s=n.taskset.metadata.rewardExecution,o=qi(n.taskset,n.rewardExecution),i=o?ke(o.binding,o.rewards):n.taskset.graders.map($i),c=n.selectedTasks?.length?n.selectedTasks:n.taskset.tasks;if(!c.length)throw new Error("A portable Taskset release requires at least one task.");let l=n.taskset.environment.metadata.portableExecutionResources;if(t.entrypoint==="openpond.javascript-environment.v1"&&!l)throw new Error("Tool Taskset publication requires its pinned execution resources.");let m=l?Re.parse(l.environment):Ye({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${n.taskset.id}-r${n.taskset.revision}`,revision:n.taskset.revision,contract:t,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[n.adapterId]:p({adapterId:n.adapterId,environment:t,tools:r})},metadata:{sourceTasksetId:n.taskset.id,sourcePackageHash:n.taskset.metadata.sourcePackageHash??null,resources:n.taskset.environment.resources??[]}}),h=l?.verifierSet!==void 0?Ie.parse(l.verifierSet):Ze({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${n.taskset.id}-r${n.taskset.revision}`,revision:n.taskset.revision,graders:i,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:n.taskset.id}});if(!De(m)||!$e(h)||p(m.contract)!==p(t)||p(h.graders)!==p(i))throw new Error("Taskset execution resources differ from its declared environment or graders.");let f=Fn.parse({schemaVersion:"openpond.tasksetRelease.v2",id:n.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${n.taskset.id}-r${n.taskset.revision}`:n.taskset.id,revision:n.taskset.revision,policy:{policyVisibleFields:n.taskset.policy.policyVisibleFields,privilegedFields:n.taskset.policy.privilegedFields,hiddenGraderRefs:n.taskset.policy.hiddenGraderRefs,connectedAppScopes:n.taskset.policy.connectedAppScopes},environment:t,tools:r,capabilities:Mi(n.taskset),tasks:c.map(bn),graders:i,...n.taskset.metrics?{metrics:n.taskset.metrics}:{},metadata:n.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:n.taskset.id,sourceTasksetHash:n.taskset.contentHash,sourcePackageHash:n.taskset.metadata.sourcePackageHash??null,environmentResources:n.taskset.environment.resources??[],workAssetStagingPaths:Object.fromEntries(c.filter(g=>g.assets?.some(v=>v.stagingPath)).map(g=>[g.id,Object.fromEntries((g.assets??[]).filter(v=>v.stagingPath).map(v=>[v.id,v.stagingPath]))])),ordinaryAuthoring:{instructions:n.taskset.objective,graderSourceRewards:Object.fromEntries(n.taskset.graders.filter(g=>g.metadata.sourceReward!==void 0).map(g=>[g.id,g.metadata.sourceReward])),graderOrigins:Object.fromEntries(n.taskset.graders.map(g=>[g.id,g.metadata.preparationOrigin==="reused"?"reused":g.metadata.preparationOrigin==="adapted"||g.metadata.adaptedFromReward?"adapted":"authored"])),graderFixtures:n.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(n.taskset.graders.filter(g=>g.kind==="model_judge").map(g=>[g.id,g.calibrationFixtureRefs]))},...a?{learning:a}:{},...o&&!a&&(n.rewardExecution||s)?{rewardExecution:{binding:o.binding,rewards:o.rewards}}:{}}}),u=n.admittedTasksetRelease?Q.parse(n.admittedTasksetRelease):Q.parse({...f,contentHash:p(f)}),b=u.environmentRelease?zi({draft:u,environmentRelease:m,verifierSetRelease:h}):aa({taskset:u,environment:m,verifierSet:h});return{environmentRelease:m,verifierSetRelease:h,tasksetRelease:b}}d(Er,"materializePortableTasksetRelease");function xs(n){return ks(n)}d(xs,"portableTasksetEnvironment");function bn(n){let t=n.metadata.portableTaskRecord;if(t!==void 0){let r=Oe.parse(t),a=Oe.parse({...r,id:n.id,clusterKey:n.clusterKey,split:n.split,input:n.input,expectedOutput:bs(n),policyVisibleContext:n.policyVisibleContext,privilegedContextRef:n.privilegedContextRef,tags:n.tags,artifactRefs:n.assets===void 0?r.artifactRefs:n.assets.filter(s=>r.artifactRefs.some(o=>o.id===s.id)||!(n.requiredOutputs??[]).some(o=>o.submissionMode==="structured_json"&&o.schemaRef===s.id)).map(s=>{let o=r.artifactRefs.find(i=>i.id===s.id);return{id:s.id,path:o?.path??`tasks/${ht(n.id)}/${s.stagingPath??ht(s.fileName)}`,contentHash:gn(s.sha256),sizeBytes:s.sizeBytes,mediaType:s.mediaType,visibility:o?.visibility??"policy"}}),requiredOutputs:n.requiredOutputs===void 0?r.requiredOutputs:n.requiredOutputs.map(s=>{let o=r.requiredOutputs?.find(i=>i.path===s.path);return{path:s.path,mediaType:s.mediaType,...s.submissionMode?{submissionMode:s.submissionMode}:{},schemaRef:o?.schemaRef&&o.schemaRef.id===s.schemaRef?o.schemaRef:n.metadata.outputSchemaRefs?.[s.schemaRef??""]??null,maxBytes:s.maxBytes??null,metadata:{...s.metadata,...s.schemaRef&&o?.schemaRef?.id!==s.schemaRef?{legacySchemaRef:s.schemaRef}:{}}}})});return a.requiredOutputs===void 0&&delete a.requiredOutputs,a}return{id:n.id,clusterKey:n.clusterKey,split:n.split,input:n.input,expectedOutput:bs(n),policyVisibleContext:n.policyVisibleContext,privilegedContextRef:n.privilegedContextRef,artifactRefs:(n.assets??[]).map(r=>({id:r.id,path:`tasks/${ht(n.id)}/${r.stagingPath??ht(r.fileName)}`,contentHash:gn(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(n.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,...r.submissionMode?{submissionMode:r.submissionMode}:{},schemaRef:n.metadata.outputSchemaRefs?.[r.schemaRef??""]??null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:n.tags}}d(bn,"projectPortableTaskRecord");function bs(n){if(!n.expectedOutput)return null;if("artifactRenderer"in n.expectedOutput)throw new Error(`Task ${n.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return n.expectedOutput}d(bs,"portableExpectedOutput");function ks(n){return{protocolVersion:"openpond.environment.v1",kind:n.environment.kind==="chat"?"text":n.environment.kind==="work"?"work":n.environment.kind==="program"?"custom_program":"agent",entrypoint:n.environment.entrypoint,stateful:n.environment.stateful,deterministicSeeds:n.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:n.environment.networkPolicy,defaultTimeoutMs:n.environment.defaultTimeoutMs}}d(ks,"portableEnvironment");function Di(n){let t=n.environment.metadata.portableTools;if(t!==void 0)return An.array().max(200).parse(t);let r=n.environment.actionBindings??[];return r.length?r.map(a=>({name:a.modelToolName,description:a.description,inputSchema:a.inputSchema,inputSchemaHash:gn(a.actionSchemaHash),sideEffect:a.sideEffect,timeoutMs:a.timeoutMs})):n.environment.toolNames.map(a=>({name:a,description:`Host-provided ${a} tool.`,inputSchema:{},inputSchemaHash:p({}),sideEffect:"write",timeoutMs:n.environment.defaultTimeoutMs}))}d(Di,"portableTools");function $i(n){let t={id:n.id,...n.taskIds?{taskIds:n.taskIds}:{},version:n.version,weight:n.weight,hardGate:n.hardGate,rewardEligible:n.rewardEligible,privileged:n.privileged};if(n.kind==="model_judge")return{...t,kind:"model_judge",rubricRef:vs(n),model:Bi(n),temperature:n.temperature,calibrationStatus:n.calibrationStatus};if(n.kind==="custom_verifier"){if(n.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${n.id} requires its immutable executable asset before publication.`);let r=Qr.safeParse(n.metadata.portableGrader),a=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&n.exportName==="verify";return{...t,kind:"custom_verifier",...n.runtime===void 0?{}:{runtime:n.runtime},verifierRef:Z.parse(n.metadata.portableVerifierRef),timeoutMs:n.timeoutMs,...a?{}:{exportName:n.exportName},networkPolicy:"none"}}return n.kind==="human"?{...t,kind:"human",rubricRef:vs(n),reviewerRole:n.reviewerRole,...n.form?{form:n.form}:{}}:{...t,...$n(n)}}d($i,"portableGrader");function Mi(n){let t=n.metadata.portableCapabilities;return t!==void 0?jn.array().max(200).parse(t):[...n.capabilities.requiresTools?[{id:"tools",required:!0,scopes:n.environment.toolNames}]:[],...n.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...n.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:n.policy.hiddenGraderRefs}]:[],...n.policy.connectedAppScopes.map(r=>({id:`connected-app-${ht(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}d(Mi,"portableCapabilities");function zi(n){if(n.draft.environmentRelease?.id!==n.environmentRelease.id||n.draft.environmentRelease.contentHash!==n.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(n.draft.verifierSetRelease?.id!==n.verifierSetRelease.id||n.draft.verifierSetRelease.contentHash!==n.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(p(n.draft.environment)!==p(n.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(p(n.draft.graders)!==p(n.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return n.draft}d(zi,"assertReleaseBindings");function Bi(n){let t=n.metadata.portableGrader===void 0?null:Qr.parse(n.metadata.portableGrader),r=t?.kind==="model_judge"&&t.model?.providerId===n.judge.providerId&&t.model.modelId===n.judge.modelId?t.model.revision:null;return{...n.judge,revision:r}}d(Bi,"modelJudgeRef");function vs(n){let t=B(n.rubric),r=new TextEncoder().encode(n.rubric).byteLength,a=n.metadata.portableRubricRef;if(a!==void 0){let s=Z.parse(a);if(s.contentHash!==t||s.sizeBytes!==r||s.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return s}return{id:`rubric-${n.id}`,path:`graders/${ht(n.id)}/rubric.md`,contentHash:t,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}d(vs,"rubricAsset");function gn(n){return/^[a-f0-9]{64}$/.test(n)?n:p(n)}d(gn,"hash");function ht(n){return n.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}d(ht,"segment");function ys(n,t,r,a){if(n.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:n,inventory:r,generatedFiles:[]};let s="environment/execution.json",o=t.get(s);if(!o||o.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let i=_e.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(o))),c=d(R=>{if(!R)return null;let H=r.find(k=>k.asset.id===R.id&&k.asset.path===R.path);if(!H)throw new Error(`Authored environment dependency is missing: ${R.id}.`);return H.asset},"repin"),{contentHash:l,...m}=i.javascript,h=or.parse($({...m,id:`javascript-${n.id}`,revision:n.revision,module:c(i.javascript.module)}));if(p(h.tools)!==p(n.environment.metadata.portableTools)||p(h.tools.map(R=>R.name))!==p(n.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let f=Ye({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${n.id}`,revision:n.revision,contract:xs(n),actionSchemaRef:c(i.environment.actionSchemaRef),observationSchemaRef:c(i.environment.observationSchemaRef),stateSchemaRef:c(i.environment.stateSchemaRef),artifactCollection:i.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:A(h),resources:n.environment.resources??[]}}),u=X.parse({...n,environment:{...n.environment,metadata:{...n.environment.metadata,portableExecutionResources:{environment:f}}}}),b=Er({taskset:u,adapterId:a}),g=ur({javascript:h,environment:f,verifierSet:b.verifierSetRelease}),v=[...r.filter(R=>R.sourcePath!==s),{asset:g.asset,sourcePath:s}],S=X.parse({...u,metadata:{...u.metadata,portableFileInventory:v}});return{taskset:X.parse({...S,contentHash:ft(S)}),inventory:v,generatedFiles:[{path:s,role:"environment",content:new TextDecoder().decode(ee(g))}]}}d(ys,"prepareAuthoredToolEnvironment");var Pr=e.array(e.object({asset:Z,sourcePath:e.string().min(1)}).strict()).max(1e4),Ui=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function ws(n){return Ui.has(n)}d(ws,"isGeneratedTasksetPublicationFilePath");function Ss(n,t,r,a=rt){let s=X.parse(n);if(s.metadata.taskDefinition!==void 0||s.metadata.rewardBinding!==void 0)return{taskset:s,generatedFiles:[]};let o=new Map,i=0;for(let[x,w]of t){if(Te.parse(x),i+=w.byteLength,o.size>=1e4||i>a*3/4)throw new Error("Taskset source exceeds the package byte limit.");o.set(x,w.slice())}let c=s.metrics?.customAggregator,l=c?o.get(c.module):void 0;if(c&&!l)throw new Error("Declared Taskset metric module is missing.");let m=c&&l?{...s.metrics,customAggregator:{...c,contentHash:B(l)}}:s.metrics,h=new Map,f=new Set,u=[],b=d((x,w,O,_)=>{let j=o.get(w);if(!j)throw new Error(`Declared Taskset file is missing: ${w}.`);return{id:x,path:w,contentHash:B(j),sizeBytes:j.byteLength,mediaType:O,visibility:_}},"ref"),g=d((x,w=x.path)=>{let O=h.get(x.id);if(O&&p(O)!==p({asset:x,sourcePath:w}))throw new Error(`Conflicting Taskset file identity: ${x.id}.`);let _=o.get(w);if(!_||_.length!==x.sizeBytes||B(_)!==x.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${x.id}.`);h.set(x.id,{asset:x,sourcePath:w}),f.add(w)},"add");for(let x of s.tasks){let w={};for(let _ of x.requiredOutputs??[])if(_.submissionMode==="structured_json"){if(!_.schemaRef||_.mediaType!=="application/json")throw new Error("Structured outputs require a JSON schemaRef and application/json.");let j=x.metadata.portableTaskRecord?.requiredOutputs?.find(Nr=>Nr.path===_.path)?.schemaRef,je=j?.id===_.schemaRef?j.path:_.schemaRef,Gt=b(_.schemaRef,je,"application/schema+json","policy");if(j&&j.id===_.schemaRef&&j.visibility!=="policy")throw new Error("Structured output schema must be policy-visible.");cr(o.get(je),Gt.contentHash),w[_.schemaRef]=Gt}Object.keys(w).length&&(x.metadata={...x.metadata,outputSchemaRefs:w});let O=bn(x);for(let _ of O.artifactRefs)g(_,x.assets?.find(j=>j.id===_.id)?.artifactRef??_.path);for(let _ of O.requiredOutputs??[])_.schemaRef&&g(_.schemaRef)}for(let x of s.environment.resources??[])g(b(x.id,x.path,x.mediaType??"application/octet-stream",x.visibility==="policy_visible"?"policy":"host_private"));let v=s.graders.map(x=>{if(x.kind==="custom_verifier"){let w=b(`verifier-${x.id}`,x.module,"application/javascript","host_private"),O=Z.safeParse(x.metadata.portableVerifierRef);return O.success&&O.data.contentHash===w.contentHash&&O.data.sizeBytes===w.sizeBytes&&(w=O.data),g(w,x.module),{...x,metadata:{...x.metadata,portableVerifierRef:w}}}if(x.kind==="human"||x.kind==="model_judge"){let w=new TextEncoder().encode(x.rubric),O=`graders/rubric-${B(w)}.md`;o.set(O,w);let _=b(`rubric-${x.id}`,O,"text/markdown","verifier"),j=Z.safeParse(x.metadata.portableRubricRef);if(j.success&&j.data.contentHash===_.contentHash&&j.data.sizeBytes===_.sizeBytes){if(j.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");_=j.data}return g(_,O),u.push({path:O,role:"verifier",content:x.rubric}),{...x,metadata:{...x.metadata,portableRubricRef:_}}}return x});c&&![...h.values()].some(x=>x.asset.path===c.module&&x.sourcePath===c.module&&x.asset.visibility!=="policy")&&g(b(`metric-${p(c.module)}`,c.module,"application/javascript","host_private"));let S=Pr.parse(s.metadata.portableFileInventory??[]);for(let x of[...o.keys()].sort())if(!f.has(x)){let w=S.find(O=>O.sourcePath===x&&!h.has(O.asset.id));g(w?{...b(w.asset.id,x,w.asset.mediaType,w.asset.visibility),path:w.asset.path}:b(`taskset-file-${p(x)}`,x,"application/octet-stream","host_private"),x)}let{importedPackageHash:R,derivedPortableMetadata:H,...k}=s.metadata,V={...s.environment.metadata};if(V.portableExecutionResources!==void 0){let x=e.object({environment:e.unknown(),verifierSet:e.unknown().optional()}).parse(V.portableExecutionResources);V.portableExecutionResources={environment:x.environment}}let Ve=X.parse({...s,graders:v,metrics:m,environment:{...s.environment,metadata:V},metadata:{...k,...R===void 0?{}:{sourceImportedPackageHash:R},portableFileInventory:Pr.parse([...h.values()].sort((x,w)=>x.asset.id.localeCompare(w.asset.id)))}}),ve=ys(Ve,o,[...h.values()],r);return{taskset:X.parse({...ve.taskset,contentHash:ft(ve.taskset)}),generatedFiles:[...u,...ve.generatedFiles]}}d(Ss,"prepareAuthoredTasksetSource");function Fi(n){let t=gs(n.workspace,n.maximumBytes),r=n.preparation===null?null:tt.parse(n.preparation);if(r?t.draft.id!==r.draftId||t.draft.modelScope?.modelId!==r.lineage.owner.modelId||t.draft.profileId!==r.lineage.owner.scopeId||p(t.draft.modelScope?.source??null)!==p(r):t.draft.modelScope?.source!==void 0)throw new Error("Taskset draft differs from its retained source preparation.");let a=ps({draft:t.draft,now:t.draft.updatedAt,sourcePackageHash:n.sourceWorkspaceHash??t.contentHash}),s=new Map(t.files.map(m=>[m.path,hn(m)]));for(let[m,h]of us(t.draft))ws(m)||s.set(m,new TextEncoder().encode(h));let o=Ss(a,s,n.adapterId,n.maximumBytes);for(let m of o.generatedFiles)s.set(m.path,new TextEncoder().encode(m.content));let i=Er({taskset:o.taskset,adapterId:n.adapterId}),c=Pr.parse(o.taskset.metadata.portableFileInventory),l=pt({schemaVersion:"openpond.tasksetPackage.v1",taskset:i.tasksetRelease,environment:i.environmentRelease,verifierSet:i.verifierSetRelease,files:c.map(m=>{let h=s.get(m.sourcePath);if(!h)throw new Error(`Captured Taskset file is missing: ${m.sourcePath}.`);return{asset:m.asset,base64:Buffer.from(h).toString("base64")}})},n.maximumBytes);return r?ts({preparation:r,edited:l,source:n.source}):l}d(Fi,"compileTasksetDraftWorkspace");var Dt=e.string().trim().min(1).max(500),Wi=e.string().regex(/^[a-f0-9]{64}$/),Ar=e.object({id:Dt,revision:e.number().int().positive(),contentHash:Wi}).strict(),Li=e.object({schemaVersion:e.literal("openpond.hostedTasksetSummary.v1"),id:Dt,teamId:Dt,release:Ar,name:e.string().min(1).max(500),description:e.string().max(2e4),taskCount:e.number().int().nonnegative(),buildIntent:e.string().min(1).max(100),methodHint:e.string().min(1).max(100).nullable(),packageBytes:e.number().int().nonnegative().nullable(),storedBytes:e.number().int().nonnegative().nullable(),createdAt:e.string().datetime({offset:!0})}).strict(),ru=e.object({afterId:e.string().trim().min(1).max(2e3).optional(),limit:e.number().int().min(1).max(100).default(30),modelProjectId:Dt.optional(),projectId:Dt.optional(),search:e.string().trim().max(100).optional(),sort:e.enum(["id","name","updated"]).default("id")}).strict(),nu=e.object({items:e.array(Li).max(100),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),au=e.object({code:e.string().min(1),message:e.string().min(1)}).strict();var L=e.string().trim().min(1).max(240),$t=e.string().regex(/^[a-f0-9]{64}$/),mu=e.object({cursor:e.string().trim().min(1).max(2e3).optional(),projectId:L.optional(),search:e.string().trim().max(100).optional(),sort:e.enum(["id","name","updated"]).default("id"),limit:e.number().int().min(1).max(100).default(100)}).strict(),pu=e.object({operationId:L,expectedRevision:e.number().int().nonnegative(),originProjectId:L.optional(),workspace:Cr,ownerScope:e.enum(["workspace","personal"]).optional()}).strict().superRefine((n,t)=>{n.workspace.draft.modelScope!==null&&t.addIssue({code:"custom",message:"Independent datasets cannot carry Model-owned draft preparation."}),n.workspace.draft.status!=="draft"&&t.addIssue({code:"custom",message:"Only draft workspaces can be saved."})}),Mt=e.object({schemaVersion:e.literal("openpond.datasetWorkspaceReceipt.v1"),teamId:L,datasetId:L,revision:e.number().int().positive(),originProjectId:L.optional(),workspace:Cr,ownerScope:e.enum(["workspace","personal"]).optional(),publication:e.object({tasksetId:L,release:Ar,packageHash:$t}).strict().nullable()}).strict().superRefine((n,t)=>{(n.workspace.draft.id!==n.datasetId||n.workspace.draft.profileId!==n.teamId||n.workspace.draft.revision!==n.revision||n.workspace.draft.modelScope!==null)&&t.addIssue({code:"custom",message:"Dataset workspace scope/revision mismatch."})}),lu=e.object({operationId:L,expectedRevision:e.number().int().positive(),workspaceHash:$t,packageHash:$t}).strict(),uu=e.object({operationId:L,expectedRevision:e.number().int().positive()}).strict(),fu=e.object({teamId:L,datasetId:L,items:e.array(e.object({workspaceRevision:e.number().int().positive(),publication:Mt.shape.publication.unwrap(),publishedAt:e.iso.datetime()}).strict()).max(25),nextBeforeRevision:e.number().int().positive().nullable()}).strict(),hu=e.object({teamId:L,datasets:e.array(e.object({id:L,revision:e.number().int().positive(),originProjectId:L.optional(),name:e.string(),status:e.enum(["draft","published"]),ownerScope:e.enum(["workspace","personal"]).optional(),taskCount:e.number().int().nonnegative().optional(),publication:Mt.shape.publication,updatedAt:e.string().datetime()}).strict()).max(100),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),gu=e.object({teamId:L,datasetId:L,revision:e.number().int().positive(),workspaceHash:$t,packageHash:$t,release:Ar}).strict();var gt=e.string().trim().min(1).max(240),zt=e.string().regex(/^[a-f0-9]{64}$/),Rs=e.object({operationId:gt,source:ue,proofs:e.array(Xr).min(1).max(100)}).strict().superRefine((n,t)=>{new Set(n.proofs.map(r=>r.path)).size!==n.proofs.length&&t.addIssue({code:"custom",message:"Select each starting path once."}),new TextEncoder().encode(JSON.stringify(n)).byteLength>15*1024*1024&&t.addIssue({code:"custom",message:"Starting assets exceed the retained upload allowance."})}),Vi=e.object({path:Xr.shape.path,commitHash:e.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),gitObjectHash:e.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),mode:e.enum(["100644","100755"]),sizeBytes:e.number().int().nonnegative().max(2*1024*1024),sha256:zt}).strict(),Ni=e.object({schemaVersion:e.literal("openpond.connectedStartingAssetsReceipt.v1"),id:gt,operationId:gt,teamId:gt,ownerUserId:gt,projectId:gt,requestHash:zt,source:ue,inputHash:zt,observationHash:zt,assets:e.array(Vi).min(1).max(100),selectedPathsUnmodified:e.literal(!0),dependencyClosureQualified:e.literal(!1),createdAt:e.iso.datetime(),receiptHash:zt}).strict();function vn(n){let t=Ni.parse(n),{receiptHash:r,...a}=t;if(p(a)!==r||t.id!==`starting-assets-${p(t.operationId).slice(0,40)}`||new Set(t.assets.map(s=>s.path)).size!==t.assets.length||t.assets.some(s=>s.commitHash!==t.assets[0].commitHash))throw new Error("Connected starting assets receipt identity differs from its retained evidence.");return t}d(vn,"verifyConnectedStartingAssetsReceipt");var K=e.string().min(1).max(200),bt=e.string().regex(/^[a-f0-9]{64}$/),jr=e.object({operationId:K,name:e.string().trim().min(1).max(500),projectId:K,dataset:y.extend({revision:e.number().int().positive()}).strict(),caseIds:e.array(K).min(1).max(1e4)}).strict().superRefine((n,t)=>{new Set(n.caseIds).size!==n.caseIds.length&&t.addIssue({code:"custom",message:"Select each case once."})}),Gi=ue.extend({inputHash:bt,outputHash:bt.nullable(),task:Oe,taskHash:bt}).strict(),Ki=e.object({schemaVersion:e.literal("openpond.connectedRecordedExecution.v1"),id:K,teamId:K,ownerUserId:K,request:jr,manifest:we,sources:e.array(Gi).min(1).max(1e4),contentHash:bt}).strict();function xn(n){let t=Ki.parse(n),{contentHash:r,...a}=t,{contentHash:s,...o}=t.manifest;if(p(a)!==r||p(o)!==s||t.manifest.teamId!==t.teamId||t.manifest.id!==t.id||t.manifest.operationId!==t.request.operationId||p(t.manifest.dataset)!==p(t.request.dataset)||t.sources.length!==t.request.caseIds.length||t.sources.length!==t.manifest.population.length||t.sources.some((i,c)=>i.taskHash!==p(i.task)||i.task.id!==t.request.caseIds[c]||i.boundaryId!==i.task.id||t.manifest.population[c]?.caseId!==i.boundaryId))throw new Error("Recorded execution identity or population integrity failed.");return t}d(xn,"verifyConnectedRecordedExecution");var Is=e.object({projectId:K.optional(),cursor:K.optional(),limit:e.number().int().min(1).max(50).default(20)}).strict(),Ji=e.object({id:K,teamId:K,ownerUserId:K,projectId:K,name:e.string().min(1).max(500),dataset:jr.shape.dataset,manifestHash:bt,contentHash:bt,caseCount:e.number().int().min(1).max(1e4),createdAt:e.string().datetime()}).strict(),Ts=e.object({teamId:K,items:e.array(Ji).max(50),nextCursor:K.nullable()}).strict();var _s=e.object({datasetId:e.string().trim().min(1).max(240),expectedRevision:e.number().int().positive(),operationId:e.string().trim().min(1).max(240),graders:e.array(Ke).min(1).max(100).optional()}).strict().superRefine((n,t)=>{n.graders&&new Set(n.graders.map(r=>r.id)).size!==n.graders.length&&t.addIssue({code:"custom",path:["graders"],message:"Choose one exact revision of each grader."})});async function be(n,t,r,a){let s=new AbortController,o=r.signal,i=d(()=>s.abort(o?.reason),"forward");o?.aborted?i():o?.addEventListener("abort",i,{once:!0});let c=setTimeout(()=>s.abort(new Error("Connected evidence request timed out.")),6e4),l,m=d(()=>{l&&l.cancel(s.signal.reason).catch(()=>{})},"abortReader");s.signal.addEventListener("abort",m,{once:!0});let h=new Promise((f,u)=>{let b=d(()=>u(s.signal.reason??new DOMException("Request aborted","AbortError")),"abort");s.signal.aborted?b():s.signal.addEventListener("abort",b,{once:!0})});try{let f=n(t,{...r,signal:s.signal}).then(k=>{if(s.signal.aborted)throw k.body?.cancel(s.signal.reason).catch(()=>{}),s.signal.reason;return k}),u=await Promise.race([f,h]),b=u.headers.get("content-length");if(l=u.body?.getReader(),s.signal.aborted)throw await l?.cancel(s.signal.reason),s.signal.reason;if(b&&Number(b)>8388608)throw await l?.cancel(),a(502,"connected_response_too_large","Connected evidence response exceeds 8 MiB.");let g=[],v=0;if(l)for(;;){let k=await Promise.race([l.read(),h]);if(k.done)break;if(v+=k.value.byteLength,v>8388608)throw await l.cancel(),a(502,"connected_response_too_large","Connected evidence response exceeds 8 MiB.");g.push(k.value)}let S=new Uint8Array(v),R=0;for(let k of g)S.set(k,R),R+=k.byteLength;let H;try{H=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(S))}catch{throw a(502,"connected_response_invalid","Connected evidence response is not valid JSON.")}return{response:u,value:H}}finally{clearTimeout(c),o?.removeEventListener("abort",i),s.signal.removeEventListener("abort",m),l?.releaseLock()}}d(be,"fetchConnectedJson");var Bt=e.string().min(1).max(500),ae=e.number().int().nonnegative(),Cs=e.object({teamId:Bt,ownerUserId:Bt,projectId:Bt.nullable(),status:e.enum(["active","paused","archived"]),revision:ae,state:e.enum(["collecting","pending","attention","paused","archived"]),lastReconciledAt:e.string().datetime().nullable(),lastCapturedAt:e.string().datetime().nullable(),historyDays:e.number().int().positive(),sources:ae,tasks:ae,datasets:e.array(e.object({datasetId:Bt,projection:e.enum(["turn","conversation"]),revision:ae}).strict()).max(2),latestBatch:e.object({operationId:Bt,updatedAt:e.string().datetime(),scanned:ae,captured:ae,unchanged:ae,pending:ae,failed:ae,excluded:ae,paused:ae,hasMore:e.boolean()}).strict().nullable()}).strict();var T=e.string().min(1).max(500),Y=e.string().regex(/^[a-f0-9]{64}$/),Es=e.object({teamId:T,projectId:T.nullable(),status:e.enum(["active","paused","archived"]),revision:e.number().int().nonnegative()}).strict(),Xi=e.object({teamId:T,operationId:T,projectId:T.nullable(),outcomes:e.array(e.object({conversationId:T,state:e.enum(["captured","unchanged","pending","paused","excluded","failed"]),sourceId:T.optional(),snapshotHash:Y.optional(),reason:e.string().optional()}).strict()).max(50),nextCursor:T.nullable()}).strict(),Yi=e.object({teamId:T,ref:ue,origin:dr.shape.source,sessionId:T,projectId:T,capturedAt:e.string().datetime(),unmappedEvidence:e.object({count:e.number().int().nonnegative().max(1e5),contentHash:Y}).strict(),evidence:e.object({input:e.array(Zt),observed:e.array(Zt),answer:e.json(),boundary:Qt}).strict()}).strict(),Zi=e.object({teamId:T,sourceId:T,snapshotHash:Y,contentHash:Y,count:e.number().int().nonnegative(),offset:e.number().int().nonnegative(),events:e.array(Zt).max(50),nextOffset:e.number().int().nonnegative().nullable()}).strict(),Qi=e.object({teamId:T,source:fe.shape.source,sourceHash:Y,previewHash:Y,destination:fe.shape.destination,issues:e.array(e.object({file:e.string(),message:e.string()}).strict()).max(100),sessions:e.array(e.object({sessionHash:Y,sessionId:T,origin:dr.shape.source,exporterVersion:e.string().nullable(),eventCount:e.number().int().nonnegative(),boundaries:e.array(e.object({id:T,projection:e.enum(["turn","conversation"]),answer:e.boolean(),process:e.enum(["retained","partial","absent"]),terminal:e.enum(["completed","failed","cancelled","unknown"])}).strict()).max(5001),warnings:e.array(e.string()).max(100),sample:e.array(e.object({role:e.enum(["user","assistant","system","tool"]).nullable(),text:e.string().max(4e3)}).strict()).max(3)}).strict()).max(1e3)}).strict(),Ps=e.object({teamId:T,operationId:T,requestHash:Y,previewHash:Y,projectId:T.optional(),state:e.enum(["admitting","publishing","completed","failed"]),outcomes:e.array(e.object({sessionHash:Y,sourceId:T,status:e.enum(["imported","already_present"]),datasets:e.array(e.object({datasetId:T,revision:e.number().int().positive(),changed:e.boolean()}).strict()).max(2)}).strict()).max(1e3),error:e.string().optional()}).strict(),Hr=class extends Error{constructor(r,a,s){super(s);this.status=r;this.code=a;this.name="ConnectedEvidenceError"}status;code;static{d(this,"ConnectedEvidenceError")}},Or=class{constructor(t){this.options=t;let r=new URL(t.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash||!t.apiKey.trim()||!t.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=r.toString().replace(/\/+$/,"")}options;static{d(this,"ConnectedEvidenceClient")}baseUrl;async capture(t,r){let a=Ta.parse(t),s=Xi.parse(await this.request("/capture","POST",a,r));if(this.scope(s.teamId),s.operationId!==a.operationId||s.outcomes.length>a.limit||a.conversationId&&s.outcomes.some(o=>o.conversationId!==a.conversationId))throw new Error("Capture receipt differs from its requested source or operation.");return s}async retainStartingAssets(t,r){let a=Rs.parse(t),s=vn(await this.request("/starting-assets","POST",a,r));if(this.scope(s.teamId),s.operationId!==a.operationId||s.requestHash!==p(a)||p(s.source)!==p(a.source)||s.assets.length!==a.proofs.length||s.assets.some((o,i)=>o.path!==a.proofs[i].path))throw new Error("Starting assets differ from the exact source, operation or selected paths.");return s}async startingAssets(t,r){let a=vn(await this.request(`/starting-assets/${encodeURIComponent(T.parse(t))}`,"GET",void 0,r));if(this.scope(a.teamId),a.id!==t)throw new Error("Starting assets identity mismatch.");return a}async list(t={},r){let a=e.object({projectId:T.optional(),cursor:T.optional(),limit:e.number().int().min(1).max(50).default(20)}).strict().parse(t),s=new URLSearchParams(Object.entries(a).filter(([,i])=>i!==void 0).map(([i,c])=>[i,String(c)])),o=e.object({teamId:T,items:e.array(dr).max(50),nextCursor:T.nullable()}).strict().parse(await this.request(`?${s}`,"GET",void 0,r));if(this.scope(o.teamId),o.items.length>a.limit||new Set(o.items.map(i=>i.sourceId)).size!==o.items.length||o.nextCursor!==null&&o.nextCursor===a.cursor||a.projectId&&o.items.some(i=>i.projectId!==a.projectId))throw new Error("Connected source page differs from its requested scope.");return o}async read(t,r){let a=ue.parse(t),s=Yi.parse(await this.request(`/${encodeURIComponent(a.id)}/cases/${encodeURIComponent(a.boundaryId)}?snapshotHash=${a.snapshotHash}&revisionHash=${a.boundaryRevisionHash}`,"GET",void 0,r));if(this.scope(s.teamId),p(s.ref)!==p(a)||s.evidence.boundary.id!==a.boundaryId||s.evidence.boundary.revisionHash!==a.boundaryRevisionHash||p(s.evidence.input)!==s.evidence.boundary.inputHash||p(s.evidence.observed)!==a.boundaryRevisionHash||s.evidence.boundary.outputHash!==null&&p(s.evidence.answer)!==s.evidence.boundary.outputHash)throw new Error("Connected case readback differs from its exact snapshot or cutoff.");return s}async setCollection(t,r){let a=Es.parse(await this.request("/collection","PUT",e.object({paused:e.boolean()}).strict().parse({paused:t}),r));return this.scope(a.teamId),a}async collection(t){let r=Es.parse(await this.request("/collection","GET",void 0,t));return this.scope(r.teamId),r}async collectionStatus(t){let r=Cs.parse(await this.request("/collection/status","GET",void 0,t));return this.scope(r.teamId),r}async unmappedEvents(t,r){let a=e.object({id:T,snapshotHash:Y,contentHash:Y,offset:e.number().int().nonnegative().default(0),limit:e.number().int().min(1).max(50).default(20)}).strict().parse(t),s=Zi.parse(await this.request(`/${encodeURIComponent(a.id)}/unmapped-events?snapshotHash=${a.snapshotHash}&offset=${a.offset}&limit=${a.limit}`,"GET",void 0,r));if(this.scope(s.teamId),s.sourceId!==a.id||s.snapshotHash!==a.snapshotHash||s.contentHash!==a.contentHash||s.offset!==a.offset||s.events.length>a.limit||s.events.some((o,i)=>o.sequence!==a.offset+i)||s.nextOffset!==null&&s.nextOffset!==a.offset+s.events.length)throw new Error("Unmapped source event page differs from its pinned snapshot.");return s}async homeSummary(t,r){let a=e.object({from:e.string().datetime(),to:e.string().datetime(),projectId:T.optional()}).strict(),s=a.parse(t),o=new URLSearchParams(Object.entries(s)),i=e.object({teamId:T,range:a,activity:e.object({conversations:e.number().int().nonnegative(),turns:e.number().int().nonnegative(),chatTurns:e.number().int().nonnegative(),workTurns:e.number().int().nonnegative()}).strict(),accounting:e.object({contextSnapshots:e.number().int().nonnegative()}).strict(),usage:er}).strict().parse(await this.request(`/summary?${o}`,"GET",void 0,r));if(this.scope(i.teamId),p(i.range)!==p(s)||i.activity.chatTurns+i.activity.workTurns!==i.activity.turns)throw new Error("Activity summary differs from its requested range.");for(let c of[i.usage.days,i.usage.modes,i.usage.models]){if(new Set(c.map(l=>l.key)).size!==c.length)throw new Error("Duplicate usage summary group.");for(let l of Object.keys(i.usage.total))if(c.reduce((m,h)=>m+h[l],0)!==i.usage.total[l])throw new Error("Usage totals differ from their displayed groups.")}return i}async uploadPart(t,r){let a=Ca.parse(t),s=e.object({teamId:T,hash:Y,parts:e.number().int(),index:e.number().int()}).strict().parse(await this.request("/imports/upload","POST",a,r));if(this.scope(s.teamId),s.hash!==a.hash||s.parts!==a.parts||s.index!==a.index)throw new Error("Upload receipt differs from its part identity.");return s}async preview(t,r){let a=fe.parse(t),s=Qi.parse(await this.request("/imports/preview","POST",a,r));if(this.scope(s.teamId),s.source!==a.source||p(s.destination)!==p(a.destination)||s.sessions.some(o=>o.origin!==a.source)||new Set(s.sessions.map(o=>o.sessionHash)).size!==s.sessions.length)throw new Error("Import preview differs from its source or destination.");return s}async commit(t,r){let a=mr.parse(t),s=Ps.parse(await this.request("/imports/commit","POST",a,r));if(this.scope(s.teamId),s.operationId!==a.operationId||s.previewHash!==a.previewHash||s.requestHash!==p(a)||s.outcomes.some(o=>!a.selection.some(i=>i.sessionHash===o.sessionHash))||s.state==="completed"&&s.outcomes.length!==a.selection.length)throw new Error("Import receipt differs from its exact selection or operation.");return s}async readImport(t,r){let a=T.parse(t),s=Ps.parse(await this.request(`/imports/${encodeURIComponent(a)}`,"GET",void 0,r));if(this.scope(s.teamId),s.operationId!==a)throw new Error("Import identity mismatch.");return s}async prepareRecorded(t,r){let a=jr.parse(t),s=xn(await this.request("/recorded-executions","POST",a,r));if(this.scope(s.teamId),p(s.request)!==p(a))throw new Error("Recorded admission differs from its selected Dataset/cases.");return s}async listRecordedExecutions(t={},r){let a=Is.parse(t),s=new URLSearchParams(Object.entries(a).filter(([,i])=>i!==void 0).map(([i,c])=>[i,String(c)])),o=Ts.parse(await this.request(`/recorded-executions?${s}`,"GET",void 0,r));if(this.scope(o.teamId),o.items.length>a.limit||o.items.some((i,c)=>i.teamId!==o.teamId||a.projectId&&i.projectId!==a.projectId||a.cursor&&i.id<=a.cursor||c>0&&i.id<=o.items[c-1].id)||o.items.some(i=>i.ownerUserId!==o.items[0]?.ownerUserId)||o.nextCursor!==null&&(a.cursor!==void 0&&o.nextCursor<=a.cursor||o.items.length>0&&o.nextCursor<o.items.at(-1).id))throw new Error("Recorded execution page differs from its requested scope or cursor.");return o}async recordedExecution(t,r){let a=xn(await this.request(`/recorded-executions/${encodeURIComponent(T.parse(t))}`,"GET",void 0,r));if(this.scope(a.teamId),a.id!==t)throw new Error("Recorded execution identity mismatch.");return a}async publishDataset(t,r){let a=_s.parse(t),s=Mt.parse(await this.request("/datasets/publish","POST",a,r));this.scope(s.teamId);let o=s.workspace.draft.metadata.connectedPublication;if(s.datasetId!==a.datasetId||!s.publication||!o||typeof o!="object"||!("requestHash"in o)||o.requestHash!==p(a))throw new Error("Published Dataset identity or original selection mismatch.");return s}async createSelection(t,r){let a=e.object({operationId:T.max(240),projectId:T.max(240),name:e.string().trim().min(1).max(200),cases:e.array(ue).min(1).max(500)}).strict().parse(t),s=Mt.parse(await this.request("/datasets/selection","POST",a,r));if(this.scope(s.teamId),s.originProjectId!==a.projectId||s.workspace.draft.tasks.length!==a.cases.length||s.workspace.draft.tasks.some((o,i)=>p(o.input&&typeof o.input=="object"&&!Array.isArray(o.input)?o.input.connectedEvidenceRef:null)!==p(a.cases[i])))throw new Error("Selected Dataset differs from its exact source population.");return s}scope(t){if(t!==this.options.teamId)throw new Error("Connected evidence workspace mismatch.")}async request(t,r,a,s){let{response:o,value:i}=await be(this.options.fetch??fetch,`${this.baseUrl}/v1/connected-evidence${t}`,{method:r,signal:s,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...a===void 0?{}:{body:JSON.stringify(a)}},(c,l,m)=>new Hr(c,l,m));if(!o.ok){let c=e.object({code:e.string(),message:e.string()}).safeParse(i);throw new Hr(o.status,c.success?c.data.code:"connected_request_failed",c.success?c.data.message:"Connected evidence request failed.")}return i}};var D=e.string().trim().min(1).max(240),ec=e.object({id:D,expectedRevision:e.number().int().positive(),manifest:On}).strict().refine(n=>n.id===n.manifest.connectionId&&n.expectedRevision===n.manifest.connectionRevision,"Collector coverage scope differs from its connection."),tc=e.object({id:D,cutoff:e.iso.datetime().optional()}).strict(),rc=e.object({schemaVersion:e.literal("openpond.connectedSyncCoverageReceipt.v1"),id:D,teamId:D,ownerUserId:D,connectionId:D,connectionRevision:e.number().int().positive(),receivedAt:e.iso.datetime(),summary:qn}).strict(),nc=e.object({id:D,source:fe.shape.source,machineId:D,sourceInstanceId:D,sourceLabel:e.string().trim().min(1).max(200),sourceRoot:e.string().min(1).max(2e3),destination:fe.shape.destination,since:e.string().datetime().nullable(),keepSyncing:e.boolean(),expectedRevision:e.number().int().nonnegative()}).strict(),ac=e.object({id:D,expectedRevision:e.number().int().positive(),action:e.enum(["pause","resume","disconnect"])}).strict(),sc=e.object({id:D,operationId:D,expectedRevision:e.number().int().positive()}).strict(),oc=e.object({id:D,expectedRevision:e.number().int().positive(),pendingOperations:e.number().int().min(0).max(1e4),error:e.string().max(500).nullable(),completedSyncRevision:e.number().int().nonnegative().default(0)}).strict(),As=e.object({teamId:D,id:D,revision:e.number().int().positive(),source:fe.shape.source,sourceLabel:e.string(),sourceRoot:e.string(),taskDatasetId:D.nullable(),conversationDatasetId:D.nullable(),machineId:D,sourceInstanceId:D,projectId:D,datasetIds:e.array(D).max(2),since:e.string().datetime().nullable(),keepSyncing:e.boolean(),state:e.enum(["active","paused","disconnected"]),health:e.enum(["online","offline"]),lastHeartbeatAt:e.string().datetime().nullable(),lastAdmissionAt:e.string().datetime().nullable(),pendingOperations:e.number().int().nonnegative(),admittedTasks:e.number().int().nonnegative(),error:e.string().nullable(),requestedSyncRevision:e.number().int().nonnegative().default(0),completedSyncRevision:e.number().int().nonnegative().default(0),syncRequestedAt:e.string().datetime().nullable().default(null),syncCompletedAt:e.string().datetime().nullable().default(null)}).strict().refine(n=>n.completedSyncRevision<=n.requestedSyncRevision&&n.requestedSyncRevision<=n.revision,"Invalid sync acknowledgement generation."),ic=e.object({connectionId:D,expectedRevision:e.number().int().positive(),request:mr}).strict(),js=class{constructor(t){this.options=t;let r=new URL(t.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash)throw new Error("Invalid connected-sync API origin.")}options;static{d(this,"ConnectedSyncClient")}async list(t){let r=e.object({teamId:D,items:e.array(As).max(100)}).strict().parse(await this.request("","GET",void 0,t));if(r.teamId!==this.options.teamId||r.items.some(a=>a.teamId!==r.teamId))throw new Error("Sync workspace mismatch.");return r}async register(t,r){return this.connection(await this.request("","POST",nc.parse(t),r),t.id)}async control(t,r){return this.connection(await this.request("/control","POST",ac.parse(t),r),t.id)}async heartbeat(t,r){return this.connection(await this.request("/heartbeat","POST",oc.parse(t),r),t.id)}async requestSync(t,r){return this.connection(await this.request("/sync-now","POST",sc.parse(t),r),t.id)}async commit(t,r){return this.request("/commit","POST",ic.parse(t),r)}async publishCoverage(t,r){let a=ec.parse(t),s=this.coverageReceipt(await this.request("/coverage","POST",{action:"publish",...a},r),a.id);if(!s||s.connectionRevision!==a.expectedRevision||s.summary.manifestHash!==Dn(a.manifest).manifestHash)throw new Error("Collector coverage acknowledgement differs from the retained manifest.");return s}async readCoverage(t,r){let a=tc.parse(t),s=new URLSearchParams(a.cutoff?{cutoff:a.cutoff}:{});return this.coverageReceipt(await this.request(`/${encodeURIComponent(a.id)}/coverage?${s}`,"GET",void 0,r),a.id)}coverageReceipt(t,r){if(t===null)return null;let a=rc.parse(t);if(a.teamId!==this.options.teamId||a.connectionId!==r)throw new Error("Collector coverage workspace mismatch.");return a}connection(t,r){let a=As.parse(t);if(a.teamId!==this.options.teamId||a.id!==r)throw new Error("Sync connection identity mismatch.");return a}async request(t,r,a,s){let{response:o,value:i}=await be(this.options.fetch??fetch,`${this.options.baseUrl.replace(/\/+$/u,"")}/v1/connected-evidence/sync/connections${t}`,{method:r,signal:s,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...a===void 0?{}:{body:JSON.stringify(a)}},(c,l,m)=>new Error(m));if(!o.ok)throw Object.assign(new Error(`Sync request failed (${o.status}).`),{status:o.status});return i}};var Ut=e.string().trim().min(1).max(200),vt=e.object({operationId:Ut,execution:y,executionKind:e.literal("recorded_evidence").optional(),graders:e.array(Ke).min(1).max(100),maximumCostUsd:e.number().finite().min(1e-6).max(1e4),mappings:e.array(e.object({graderId:Ut,fields:ma}).strict()).max(100).optional()}).strict().superRefine((n,t)=>{new Set(n.graders.map(r=>r.id)).size!==n.graders.length&&t.addIssue({code:"custom",path:["graders"],message:"Select each grader once."}),n.mappings&&(new Set(n.mappings.map(r=>r.graderId)).size!==n.mappings.length||n.mappings.some(r=>!n.graders.some(a=>a.id===r.graderId)))&&t.addIssue({code:"custom",path:["mappings"],message:"Map each selected grader at most once."})}),cc=e.object({schemaVersion:e.literal("openpond.experimentScoringPass.v1"),id:Ut,teamId:Ut,revision:e.number().int().positive(),request:vt,graders:e.array(ir).min(1).max(100),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(),scored:e.number().int().nonnegative(),unavailable:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),resultAvailable:e.boolean(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),error:e.object({code:Ut,message:e.string().max(2e3)}).strict().nullable()}).strict(),dc=cc.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)});function Hs(n){let t=dc.parse(n),{contentHash:r,...a}=t;if(p(a)!==r||Object.values(t.counts).reduce((o,i)=>o+i,0)!==t.totalCount)throw new Error("Scoring pass integrity or population accounting failed.");let s=["completed","failed","cancelled"].includes(t.status);if(s&&(!t.completedAt||t.counts.pending||t.counts.running)||!s&&(t.completedAt!==null||t.resultAvailable)||t.status==="completed"&&!t.resultAvailable)throw new Error("Scoring pass lifecycle differs from its retained result.");if(t.graders.length!==t.request.graders.length||new Set(t.graders.map(o=>o.feedbackKey)).size!==t.graders.length||t.graders.some((o,i)=>p(o.release)!==p(t.request.graders[i])||p(o.mappings??[])!==p(t.request.mappings?.find(c=>c.graderId===o.release?.id)?.fields??[])))throw new Error("Scoring pass graders differ from their exact admission.");return t}d(Hs,"verifyExperimentScoringPass");var Os=e.string().regex(/^[a-f0-9]{64}$/),qs=e.object({request:oa,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ir).min(1).max(100),admissionRequestHash:Os.optional(),sourceExperimentId:e.string().trim().min(1).max(200).optional()}).strict(),mc=qs.extend({configurationHash:Os}).strict(),pc=ia.extend({configuration:mc}).strict();function xt(n){return n.policy.kind==="hosted_harness"?{...n,population:n.population.map(({receiptId:t,...r})=>r)}:n}d(xt,"experimentConfigurationRequest");function lc(n){let t=qs.parse(n);return p({...t,request:xt(t.request)})}d(lc,"experimentRunConfigurationHash");async function Ds(n){let t=pc.parse(n),{configuration:r,...a}=t,s=await da(a),{configurationHash:o,...i}=r;if(o!==lc(i)||p(xt(r.request))!==p(xt(s.request))||r.maximumCostUsd!==s.manifest.limits.maximumSpendUsd)throw new Error("Experiment configuration differs from its retained run.");if(s.manifest.metadata.experimentDefinition===null){let c=la.parse({definition:null,configurationHash:r.configurationHash,maximumCostUsd:r.maximumCostUsd,graders:r.graders,...r.admissionRequestHash?{admissionRequestHash:r.admissionRequestHash}:{},...r.sourceExperimentId?{sourceExperimentId:r.sourceExperimentId}:{}});if(s.manifest.metadata.experimentConfigurationHash!==p(c))throw new Error("Experiment configuration differs from its admitted manifest.")}return{...s,configuration:r}}d(Ds,"verifyExperimentRunDetails");var $s=e.object({teamId:e.string().trim().min(1).max(240),items:e.array(e.object({name:e.string().trim().min(1).max(500),source:Vn,ready:e.boolean(),reason:e.string().min(1).max(2e3).nullable()}).strict()).max(8),nextCursor:e.string().min(1).max(8192).nullable()}).strict();var de=e.string().min(1).max(500),Ms=e.string().regex(/^[a-f0-9]{64}$/),Ue=e.iso.datetime(),Ft=e.number().finite().nonnegative().nullable(),Pe=e.number().int().nonnegative().nullable(),uc=e.object({id:de,sequence:e.number().int().nonnegative(),at:Ue.nullable(),type:e.string().max(160),action:e.string().max(160).nullable(),correlationId:de.nullable(),attempt:Pe,taskId:de.nullable(),status:e.string().max(100).nullable(),errorCode:e.string().max(200).nullable(),cleanupComplete:e.boolean().nullable()}).strict(),fc=e.object({id:de,kind:e.string().max(100),status:e.string().max(100),receiptId:de.nullable(),maximumUsd:Ft,settledUsd:Ft,model:e.string().max(200).nullable(),durationMs:Pe,inputTokens:Pe,outputTokens:Pe,totalTokens:Pe}).strict(),hc=e.object({schemaVersion:e.literal("openpond.runDiagnostics.v1"),teamId:de,runId:de,location:e.enum(["local","hosted"]),manifestHash:Ms,observedAt:Ue,status:e.string().max(100),startedAt:Ue.nullable(),completedAt:Ue.nullable(),error:e.string().max(8192).nullable(),resultAvailable:e.boolean(),parent:e.object({id:de,status:e.string().max(100),attempt:Pe,heartbeatAt:Ue.nullable(),leaseExpiresAt:Ue.nullable(),releasedAt:Ue.nullable(),errorCode:e.string().max(200).nullable()}).strict().nullable(),accounting:e.object({maximumUsd:Ft,settledUsd:Ft,outstandingUsd:Ft,outstandingCount:Pe,final:e.boolean(),receiptCount:Pe}).strict(),events:e.array(uc).max(100),nextEventCursor:e.number().int().nonnegative().nullable(),eventCount:e.number().int().nonnegative(),calls:e.array(fc).max(100),nextCallCursor:de.nullable(),callCount:e.number().int().nonnegative(),limitations:e.array(e.string().max(1e3)).max(30)}).strict(),gc=hc.extend({contentHash:Ms}).strict(),zs=e.object({afterSequence:e.number().int().nonnegative().optional(),afterCallId:de.optional()}).strict();function Bs(n,t){let r=gc.parse(n),{contentHash:a,...s}=r;if(a!==p(s)||r.teamId!==t.teamId||r.runId!==t.runId||t.manifestHash&&r.manifestHash!==t.manifestHash)throw new Error("Diagnostics differ from the selected workspace, run or retained evidence.");if(r.events.length>r.eventCount||r.calls.length>r.callCount||new Set(r.events.map(o=>o.id)).size!==r.events.length||r.events.some((o,i)=>o.sequence<=(i?r.events[i-1].sequence:t.afterSequence??-1))||r.calls.some((o,i)=>o.id<=(i?r.calls[i-1].id:t.afterCallId??""))||r.nextEventCursor!==null&&r.nextEventCursor!==r.events.at(-1)?.sequence||r.nextCallCursor!==null&&r.nextCallCursor!==r.calls.at(-1)?.id||r.accounting.final&&(r.accounting.outstandingCount!==0||r.accounting.settledUsd===null||!r.accounting.receiptCount))throw new Error("Diagnostic evidence pagination or final accounting is inconsistent.");return r}d(Bs,"verifyRunDiagnostics");var q=e.string().trim().min(1).max(200),kn=class extends Error{constructor(r,a,s){super(s);this.status=r;this.code=a;this.name="OpenPondExperimentError"}status;code;static{d(this,"OpenPondExperimentError")}},qr=class{constructor(t){this.options=t;let r=new URL(t.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash||!t.apiKey.trim()||!t.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=r.toString().replace(/\/+$/,"")}options;static{d(this,"OpenPondExperimentsClient")}baseUrl;async defaults(t){return e.object({maximumSpendUsd:e.number().finite().min(1e-6).max(1e4),maximumComparisonSpendUsd:e.number().finite().min(1e-6).max(1e4),initialOutputTokens:e.number().int().positive()}).strict().parse(await this.request("/defaults","GET",void 0,t))}async createComparisonBudget(t,r){let a=e.object({id:q,operationIds:e.array(q).min(1).max(100),maximumSpendUsd:e.number().finite().min(1e-6).max(1e4).optional()}).strict().parse(t),s=this.comparisonBudgetResult(await this.request("/comparison-budgets","POST",a,r),a.id);if(p(s.operations.map(o=>o.operationId).sort())!==p([...a.operationIds].sort())||a.maximumSpendUsd!==void 0&&s.maximumSpendUsd!==a.maximumSpendUsd)throw new Error("Comparison admission differs from its requested operations or ceiling.");return s}async comparisonBudget(t,r){return this.comparisonBudgetResult(await this.request(`/comparison-budgets/${encodeURIComponent(q.parse(t))}`,"GET",void 0,r),t)}comparisonBudgetResult(t,r){let a=e.object({id:q,teamId:q,maximumSpendUsd:e.number().finite().positive(),settledUsd:e.number().finite().nonnegative(),reservedUsd:e.number().finite().nonnegative(),remainingUsd:e.number().finite().nonnegative(),operations:e.array(e.object({operationId:q,runId:q.nullable()}).strict()).min(1).max(100)}).strict().parse(t);if(a.id!==r||a.teamId!==this.options.teamId)throw new Error("Comparison budget scope mismatch.");return a}async harnessSources(t={}){let r=t.cursor===void 0?void 0:e.string().min(1).max(8192).parse(t.cursor),a=new URLSearchParams(r?{cursor:r}:{}),s=$s.parse(await this.request(`/harness-sources?${a}`,"GET",void 0,t.signal));if(s.teamId!==this.options.teamId||new Set(s.items.map(o=>p(o.source))).size!==s.items.length||s.nextCursor!==null&&s.nextCursor===r||s.items.some(o=>o.ready!==(o.reason===null)))throw new Error("Harness catalog differs from its workspace, readiness or continuation.");return s}async prepareHarness(t,r){let a=ua.parse({...t,maximumCostUsd:t.maximumCostUsd??(await this.defaults(r)).maximumSpendUsd}),s=fa.parse(await this.request("/harness-setup","POST",a,r));ca(s.request,s.manifest);let o=s.request.policy;if(s.request.teamId!==this.options.teamId||s.request.operationId!==a.operationId||o.kind!=="hosted_harness"||o.profileRepositoryId!==a.profileRepositoryId||o.source.definitionId!==a.definitionId||o.modelId!==a.modelId||o.reasoningEffort!==a.reasoningEffort||s.maximumCostUsd!==a.maximumCostUsd||s.manifest.limits.maximumSpendUsd!==a.maximumCostUsd)throw new Error("Harness preparation differs from its requested scope or configuration.");return s}async run(t,r){let a=_t.parse({...t,maximumCostUsd:t.maximumCostUsd??(await this.defaults(r)).maximumSpendUsd});if(a.request.teamId!==this.options.teamId)throw new Error("Experiment workspace mismatch.");let s=await this.details(await this.request("","POST",{...a,maximumCostUsd:t.maximumCostUsd},r));if(t.maximumCostUsd===void 0&&(a.maximumCostUsd=s.configuration.maximumCostUsd),p(xt(s.request))!==p(xt(a.request))||s.configuration.maximumCostUsd!==a.maximumCostUsd||s.configuration.sourceExperimentId!==a.sourceExperimentId||s.configuration.admissionRequestHash!==p(a))throw new Error("Experiment admission differs from its submitted configuration.");if(a.graders&&p(a.graders)!==p(s.configuration.graders.map(o=>({id:o.id,version:o.version,contentHash:o.contentHash,mappings:o.mappings??[]}))))throw new Error("Experiment admission differs from its selected graders or mappings.");return s}async get(t,r={}){return this.details(await this.request(`/${encodeURIComponent(q.parse(t))}`,"GET",void 0,r.signal),t)}async diagnostics(t,r={}){let a=zs.parse({afterSequence:r.afterSequence,afterCallId:r.afterCallId}),s=new URLSearchParams(Object.entries(a).filter(([,o])=>o!==void 0).map(([o,i])=>[o,String(i)]));return Bs(await this.request(`/${encodeURIComponent(q.parse(t))}/diagnostics?${s}`,"GET",void 0,r.signal),{teamId:this.options.teamId,runId:t,manifestHash:r.manifestHash,afterSequence:r.afterSequence,afterCallId:r.afterCallId})}async list(t={},r){let a=pa.parse(t),s=new URLSearchParams(Object.entries(a).filter(([,c])=>c!==void 0).map(([c,l])=>[c,String(l)])),o=e.object({items:e.array(e.unknown()).max(100),nextCursor:q.nullable()}).strict().parse(await this.request(`?${s}`,"GET",void 0,r)),i=await Promise.all(o.items.map(c=>this.details(c)));if(i.length>a.limit||new Set(i.map(c=>c.summary.id)).size!==i.length||o.nextCursor!==null&&o.nextCursor!==i.at(-1)?.summary.id||i.some(c=>a.projectId&&c.request.project?.id!==a.projectId||a.datasetHash&&c.request.taskset.contentHash!==a.datasetHash||a.status&&c.summary.status!==a.status))throw new Error("Experiment page differs from its selected scope.");return{items:i,nextCursor:o.nextCursor}}async result(t,r){let a=e.object({executionId:q,passId:q.nullable(),manifest:e.unknown(),result:e.unknown()}).strict().parse(await this.request(`/${encodeURIComponent(q.parse(t))}/result`,"GET",void 0,r)),s=Se(a);if(a.executionId!==t||s.manifest.teamId!==this.options.teamId||s.manifest.lineage?.execution.id!==t||s.manifest.lineage.scoringPassId!==a.passId)throw new Error("Experiment result identity mismatch.");return{...s,executionId:t,passId:a.passId}}async cancel(t,r){return this.details(await this.request(`/${encodeURIComponent(q.parse(t))}/cancel`,"POST",{},r),t)}async duplicate(t,r,a){let s=await this.details(await this.request(`/${encodeURIComponent(q.parse(t))}/duplicate`,"POST",{operationId:q.parse(r)},a));if(s.request.operationId!==r||s.configuration.sourceExperimentId!==t||s.summary.id===t)throw new Error("Duplicate Experiment admission differs from its source or operation.");return s}async score(t,r){let a=vt.parse(t),s=this.pass(await this.request(`/${encodeURIComponent(a.execution.id)}/scoring-passes`,"POST",a,r));if(p(s.request)!==p(a))throw new Error("Scoring admission differs from its submitted inputs.");return s}async scoringPass(t,r){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(q.parse(t))}`,"GET",void 0,r),t)}async scoringPasses(t,r={}){let a=new URLSearchParams(r.afterId?{afterId:q.parse(r.afterId)}:{});r.executionKind&&a.set("executionKind",e.literal("recorded_evidence").parse(r.executionKind));let s=e.object({items:e.array(e.unknown()).max(30),nextCursor:q.nullable()}).strict().parse(await this.request(`/${encodeURIComponent(q.parse(t))}/scoring-passes?${a}`,"GET",void 0,r.signal)),o=s.items.map(i=>this.pass(i));if(o.some(i=>i.request.execution.id!==t||i.request.executionKind!==r.executionKind)||new Set(o.map(i=>i.id)).size!==o.length)throw new Error("Scoring pass page differs from its execution ownership.");return{items:o,nextCursor:s.nextCursor}}async cancelScoringPass(t,r){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(q.parse(t))}/cancel`,"POST",{},r),t)}async scoringResult(t,r){let a=e.object({executionId:q,passId:q,manifest:e.unknown(),result:e.unknown()}).strict().parse(await this.request(`/scoring-passes/${encodeURIComponent(q.parse(t))}/result`,"GET",void 0,r)),s=Se(a);if(a.passId!==t||s.manifest.teamId!==this.options.teamId||s.manifest.id!==t||s.manifest.lineage?.execution.id!==a.executionId||s.manifest.lineage.scoringPassId!==t)throw new Error("Scoring result identity mismatch.");return{...s,executionId:a.executionId,passId:t}}async compare(t,r,a){let s=d(c=>c.startsWith("score_")?this.scoringResult(c,a):this.result(c,a),"read"),[o,i]=await Promise.all([s(t),s(r)]);return{baseline:o,candidate:i,comparison:nr(o,i)}}async details(t,r){let a=await Ds(t);if(a.summary.teamId!==this.options.teamId||r&&a.summary.id!==r)throw new Error("Experiment identity mismatch.");return a}pass(t,r){let a=Hs(t);if(a.teamId!==this.options.teamId||r&&a.id!==r)throw new Error("Scoring pass identity mismatch.");return a}async request(t,r,a,s){let o=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments${t}`,{method:r,signal:s,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...a===void 0?{}:{body:JSON.stringify(a)}}),i=await o.json();if(!o.ok){let c=e.object({code:e.string(),message:e.string()}).safeParse(i);throw new kn(o.status,c.success?c.data.code:"experiment_request_failed",c.success?c.data.message:"Experiment request failed.")}return i}};var G=class extends Error{constructor(r,a,s){super(s);this.status=r;this.code=a;this.name="HumanReviewClientError"}status;code;static{d(this,"HumanReviewClientError")}},Dr=class{static{d(this,"OpenPondHumanReviewClient")}options;constructor(t){let r=new URL(t.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.hash||r.search||!t.apiKey.trim()||!t.scope.trim()||t.scope!==t.scope.trim()||/[\r\n]/.test(t.scope))throw new Error("Use a scoped key and a plain HTTP(S) API endpoint.");this.options={...t,baseUrl:r.toString().replace(/\/+$/,"")}}async command(t,r){let a=Zr.parse(await this.request({endpoint:"command",scope:this.options.scope,command:t},r)),s=t.action==="cancel"?a.status==="cancelled"&&a.revision>=t.expectedRevision+1:a.revision===t.expectedRevision+1;if(a.id!==t.id||a.scope!==this.options.scope||!s)throw new G(502,"human_response_identity_mismatch","Review response differs from the submitted operation.");return a}async get(t,r,a){let s=Zr.parse(await this.request({endpoint:"get",scope:this.options.scope,id:t,...r?{revision:r}:{}},a));if(s.id!==t||s.scope!==this.options.scope||r!==void 0&&s.revision!==r)throw new G(502,"human_response_identity_mismatch","Review response differs from the requested identity.");return s}async inbox(t,r){let a=Mn.parse(await this.request({...t,endpoint:"inbox",scope:this.options.scope},r));if(a.items.some(s=>s.scope!==this.options.scope||t.projectId&&s.projectId!==t.projectId))throw new G(502,"human_inbox_scope_mismatch","Inbox response differs from the authorized scope.");return a}async snapshot(t,r){return e.object({evidence:Ge,form:xe}).strict().parse(await this.request({...t,endpoint:"snapshot",scope:this.options.scope},r))}async taskSnapshot(t,r){return e.object({evidence:Ge,form:xe}).strict().parse(await this.request({...t,endpoint:"snapshot_tasks",scope:this.options.scope},r))}async inspect(t,r,a){let s=Bn.parse(await this.request({endpoint:"inspect",scope:this.options.scope,id:t,...a},r));if(s.some(o=>o.reviewId!==t))throw new G(502,"human_inspection_identity_mismatch","Inspection differs from selected review.");return s}async results(t,r,a){return tn.parse(await this.request({endpoint:"results",scope:this.options.scope,executionId:t,...r?{selection:r}:{}},a))}async members(t){return e.array(e.object({userId:e.string(),name:e.string().nullable(),email:e.string().nullable(),role:e.string()}).strict()).parse(await this.request({endpoint:"members",scope:this.options.scope},t))}async request(t,r){let a=zn.parse(t);if(a.scope!==this.options.scope)throw new G(403,"human_scope_denied","Request differs from the scoped client workspace.");let s=JSON.stringify(a);if(new TextEncoder().encode(s).byteLength>1048576)throw new G(422,"human_request_too_large","Review request exceeds its bounded transport.");let o=await(this.options.fetch??globalThis.fetch)(`${this.options.baseUrl}/v1/human-review`,{method:"POST",headers:{authorization:`Bearer ${this.options.apiKey}`,"content-type":"application/json","x-openpond-team-id":this.options.scope},body:s,signal:r,redirect:"error"}),i=o.body?.getReader(),c=[],l=0;if(i)try{for(;;){let u=await i.read();if(u.done)break;if(l+=u.value.byteLength,l>8388608)throw await i.cancel(),new G(502,"human_response_too_large","Review response exceeds its bounded transport.");c.push(u.value)}}finally{i.releaseLock()}let m=new Uint8Array(l),h=0;for(let u of c)m.set(u,h),h+=u.byteLength;let f;try{f=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))}catch{throw new G(502,"human_response_invalid","Review response is not valid JSON.")}if(!o.ok){let u=e.object({code:e.string().optional(),error:e.string().optional()}).passthrough().safeParse(f);throw new G(o.status,u.success?u.data.code??"human_request_failed":"human_request_failed",u.success?u.data.error??"Review request failed.":"Review request failed.")}if(a.endpoint==="results"){let u=tn.parse(f),{contentHash:b,...g}=u;if(u.executionId!==a.executionId||p(g)!==b||a.selection!==void 0&&p(u.selection)!==p(a.selection))throw new G(502,"human_result_identity_mismatch","Human results differ from the exact retained execution or selected reviews.")}if(a.endpoint==="snapshot"||a.endpoint==="publish_evidence"){let u=e.object({evidence:Ge,form:xe}).strict().parse(f);if(u.evidence.graderBinding.id!==a.graderId||u.evidence.attempts.length!==a.selections.length||u.evidence.attempts.some((b,g)=>b.experimentId!==a.selections[g].executionId||b.attemptId!==a.selections[g].receiptId))throw new G(502,"human_snapshot_identity_mismatch","Review snapshot differs from selected retained evidence.")}if(a.endpoint==="publish_local"){let u=e.object({evidence:Ge,form:xe}).strict().parse(f);if(!u.evidence.publication||u.evidence.attempts.length!==a.evidence.attempts.length||u.evidence.attempts.some((b,g)=>b.localSource?.kind!=="owner_attested_local"||b.experimentId!==a.evidence.attempts[g].executionId||b.attemptId!==a.evidence.attempts[g].receiptId||b.localSource.retainedAttemptHash!==a.evidence.attempts[g].origin.retainedAttemptHash))throw new G(502,"human_publication_identity_mismatch","Published review differs from the exact local-origin export.")}if(a.endpoint==="snapshot_tasks"){let u=e.object({evidence:Ge,form:xe}).strict().parse(f);if(u.evidence.graderBinding.id!==a.graderId||p(u.evidence.dataset)!==p(a.dataset)||a.taskIds!==void 0&&p(u.evidence.taskIds)!==p(a.taskIds)||!u.evidence.taskIds?.length||new Set(u.evidence.taskIds).size!==u.evidence.taskIds.length)throw new G(502,"human_snapshot_identity_mismatch","Task snapshot differs from the selected exact tasks.")}return f}};var Us=e.object({sourcePass:y,graders:vt.shape.graders,mappings:vt.shape.mappings,maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),$r=e.object({externalDatasetBinding:Je,scoring:Us.optional(),modelId:e.string().min(1).max(300),maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),yn=e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:e.string().trim().min(1),profileId:e.string().trim().min(1)}).strict(),C=e.string().min(1).max(240),J=e.string().regex(/^[a-f0-9]{64}$/),Fe=e.object({schemaVersion:e.literal("openpond.experimentImprovement.v1"),id:C,operationId:C,requestHash:J,actorId:C,teamId:C,projectId:C.nullable(),ownerWorkspaceId:C,ownerRevision:e.number().int().nonnegative(),ownerSourceRevision:e.string().min(1).max(500),baseRelease:y,profileRef:yn,baseProfileSourceRevision:e.string().min(1).max(500),evidence:e.object({manifest:we,result:Xe}).strict(),component:e.object({kind:e.enum(["skill","workflow","agent","instruction"]),path:e.string().min(1).max(2e3),workflowId:C.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:C,turnId:C,revision:e.number().int().positive(),startedAt:e.string().datetime()}).strict().nullable(),frozen:e.object({release:y,sourceRevision:e.string().min(1).max(500),profileSourceRevision:e.string().min(1).max(500),authoringHash:J,partitionHash:J,executableSourceHash:J,protectedClosureHash:J,candidateRevision:e.number().int().positive(),diff:e.array(e.object({path:e.string(),before:J.nullable(),after:J.nullable()}).strict()).max(1e4)}).strict().nullable(),test:e.object({recipe:$r,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:C,pid:e.number().int().positive(),processStart:e.string().nullable(),startedAt:e.string().datetime()}).strict().nullable()}).strict().nullable(),comparison:e.object({baseline:e.object({manifest:we,result:Xe}).strict(),candidate:e.object({manifest:we,result:Xe}).strict(),frozenHash:J,humanProjection:rn.optional()}).strict().nullable(),adoptionIntent:e.object({operationId:C,expectedOwnerRevision:e.number().int().nonnegative(),frozenHash:J,humanProjection:rn.optional()}).strict().nullable(),acceptance:y.nullable(),rollback:y.nullable(),error:e.string().max(2e3).nullable(),createdAt:e.string().datetime(),updatedAt:e.string().datetime(),contentHash:J}).strict();function Fs(n){let t=Fe.parse(n),{contentHash:r,...a}=t;if(p(a)!==r)throw new Error("Improvement state integrity failed.");if(Se(t.evidence),t.evidence.manifest.teamId!==t.teamId||t.evidence.result.status!=="completed"||!t.evidence.result.cases.some(s=>s.status==="completed"))throw new Error("Improvement requires usable completed owner evidence.");if(t.test&&(p(t.test.recipe)!==t.test.recipeHash||Rt(t.test.recipe.externalDatasetBinding).profileId!==t.profileRef.profileId))throw new Error("The test recipe changed its exact selected Profile.");if(t.comparison?.humanProjection){let s=na(t.comparison.humanProjection);if(s.teamId!==t.teamId||s.projectId!==t.projectId||p(s.baseline)!==p(t.comparison.baseline)||p(s.candidate)!==p(t.comparison.candidate))throw new Error("Human comparison projection differs from its exact owner evidence.")}if(t.comparison&&(Se(t.comparison.baseline),Se(t.comparison.candidate),!t.frozen||t.comparison.frozenHash!==p(t.frozen)||!nr(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!==p(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}d(Fs,"verifyExperimentImprovementState");var Ws=e.object({states:e.array(Fe).max(50),nextCursor:C.nullable()}).strict(),bc=e.object({operationId:C,ownerWorkspaceId:C,expectedOwnerRevision:e.number().int().nonnegative(),baseRelease:y,profileRef:yn,profileSourceRevision:e.string().min(1).max(500),projectId:C.nullable(),evidence:y,component:Fe.shape.component,mode:Fe.shape.mode,limits:Fe.shape.limits}).strict(),Ls=e.discriminatedUnion("operation",[e.object({operation:e.literal("list"),limit:e.number().int().min(1).max(50).default(30),cursor:C.optional()}).strict(),e.object({operation:e.literal("options"),evidence:y}).strict(),e.object({operation:e.literal("start"),request:bc}).strict(),e.object({operation:e.enum(["read","humanComparisonOptions"]),id:C}).strict(),e.object({operation:e.literal("instructions"),id:C}).strict(),e.object({operation:e.literal("edit"),id:C,revision:e.number().int().positive(),expectedFileHash:J,text:e.string().max(25e4)}).strict(),e.object({operation:e.literal("mode"),id:C,revision:e.number().int().positive(),mode:e.enum(["manual","llm_assisted"])}).strict(),e.object({operation:e.literal("author"),id:C,revision:e.number().int().positive(),modelId:C,prompt:e.string().min(1).max(2e4)}).strict(),e.object({operation:e.enum(["freeze","finishAuthoring","useCandidate","discard","cancel","rollback"]),id:C,revision:e.number().int().positive()}).strict(),e.object({operation:e.literal("test"),id:C,revision:e.number().int().positive(),recipe:$r}).strict(),e.object({operation:e.literal("compare"),id:C,revision:e.number().int().positive(),baseline:y,candidate:y,humanSelections:ra.optional()}).strict()]),Wt=e.object({teamId:C,evidence:y,scoring:Us.optional(),profiles:e.array(e.object({id:J,name:e.string(),profileRef:yn,ownerWorkspaceId:C,ownerRevision:e.number().int().nonnegative(),baseRelease:y,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:Je}).strict()).max(500)}).strict()).max(100)}).strict(),vc=e.object({candidateId:C,actorId:C,teamId:C,projectId:C.nullable(),candidateRevision:e.number().int().positive(),recipeHash:J,baseline:e.object({manifest:we,result:Xe}).strict(),candidate:e.object({manifest:we,result:Xe}).strict(),contentHash:J}).strict();function Vs(n){let t=vc.parse(n),{contentHash:r,...a}=t;if(p(a)!==r)throw new Error("Accepted Human discovery integrity failed.");for(let s of[t.baseline,t.candidate])if(Se(s),s.manifest.teamId!==t.teamId||s.manifest.lineage?.humanProjection)throw new Error("Discovery must retain original owner evidence.");return t}d(Vs,"verifyExperimentImprovementHumanOptions");var z=e.string().min(1).max(240),me=e.string().regex(/^[a-f0-9]{64}$/),wn=e.string().regex(/^[a-f0-9]{40}$/),Ns=e.object({schemaVersion:e.literal("openpond.hostedProfileCandidateExport.v1"),actorId:z,teamId:z,candidateId:z,candidateRevision:e.number().int().positive(),projectId:z.nullable(),profileRef:e.object({source:e.literal("openpond_git"),repositoryId:z,profileId:z}).strict(),expectedCommit:wn,component:Fe.shape.component,baseRelease:y,frozenHash:me,executableSourceHash:me,protectedClosureHash:me,compiler:e.object({workspaceId:z,name:e.string().max(500),repositoryId:z}).strict(),sourceManifest:e.object({base64:e.string().max(28e5),contentHash:me,sizeBytes:e.number().int().positive().max(2e6)}).strict(),policySource:Hn,qualification:e.object({kind:e.enum(["owner_attested_local","hosted_execution"]),ownerActorId:z,teamId:z,originalEvidence:y,baseline:y,candidate:y,comparisonHash:me,recipe:$r}).strict(),createdAt:e.string().datetime(),contentHash:me}).strict();var xc=e.object({schemaVersion:e.literal("openpond.hostedProfileCandidateAdoption.v1"),id:z,operationId:z,actorId:z,teamId:z,candidateId:z,exportHash:me,executionOrigin:e.enum(["owner_attested_local","hosted_execution"]),qualification:Ns.shape.qualification,testedCandidateRelease:y,activeRelease:y,expectedCommit:wn,committedProfileGit:wn,executableSourceHash:me,protectedClosureHash:me,createdAt:e.string().datetime(),contentHash:me}).strict();function Gs(n){let t=xc.parse(n),{contentHash:r,...a}=t;if(p(a)!==r||t.executionOrigin!==t.qualification.kind||t.qualification.ownerActorId!==t.actorId||t.qualification.teamId!==t.teamId)throw new Error("Hosted candidate receipt integrity differs.");return t}d(Gs,"verifyHostedProfileCandidateReceipt");var Ks=e.discriminatedUnion("operation",[e.object({operation:e.literal("adopt"),operationId:z,export:Ns}).strict(),e.object({operation:e.enum(["read","rollback"]),operationId:z,adoptionOperationId:z,profileRepositoryId:z}).strict()]);var Js=class{constructor(t){this.options=t;let r=new URL(t.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.hash||r.search||!t.apiKey.trim()||!t.teamId.trim()||!t.actorId.trim())throw new Error("Select the authenticated Improve owner and API origin.");this.origin=r.toString().replace(/\/+$/,"")}options;static{d(this,"ExperimentImprovementClient")}origin;async hostedCandidate(t,r){let a=Ks.parse(t);if(a.operation==="adopt"&&(a.export.actorId!==this.options.actorId||a.export.teamId!==this.options.teamId))throw new Error("The hosted candidate export belongs to a different owner.");let{response:s,value:o}=await be(this.options.fetch??fetch,`${this.origin}/v1/profile-candidate-adoptions`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"Content-Type":"application/json","X-OpenPond-Team-Id":this.options.teamId},body:JSON.stringify({teamId:this.options.teamId,command:a}),signal:r},(c,l,m)=>Object.assign(new Error(m),{status:c,code:l}));if(!s.ok){let c=e.object({code:e.string(),message:e.string().optional(),error:e.string().optional()}).passthrough().safeParse(o);throw Object.assign(new Error(c.success?c.data.message??c.data.error??c.data.code:"Hosted candidate operation failed."),{status:s.status,code:c.success?c.data.code:void 0})}let i=Gs(o);if(i.actorId!==this.options.actorId||i.teamId!==this.options.teamId||i.operationId!==a.operationId||a.operation==="adopt"&&(i.exportHash!==a.export.contentHash||i.candidateId!==a.export.candidateId||i.testedCandidateRelease.contentHash!==a.export.policySource.harnessRelease.contentHash))throw new Error("Hosted candidate readback differs from the exact owner request.");return i}async command(t,r){let a=Ls.parse(t),{response:s,value:o}=await be(this.options.fetch??fetch,`${this.origin}/v1/experiment-improvements`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"Content-Type":"application/json","X-OpenPond-Team-Id":this.options.teamId},body:JSON.stringify({teamId:this.options.teamId,request:a}),signal:r},(m,h,f)=>Object.assign(new Error(f),{status:m,code:h}));if(!s.ok){let m=e.object({error:e.string(),code:e.string().optional()}).passthrough().safeParse(o);throw Object.assign(new Error(m.success?m.data.error:"The Improve operation failed."),{status:s.status,code:m.success?m.data.code:void 0})}if(a.operation==="options"){let m=Wt.parse(o);if(m.teamId!==this.options.teamId||p(m.evidence)!==p(a.evidence))throw new Error("The Improve choices changed their exact originating evidence.");return m}if(a.operation==="humanComparisonOptions"){let m=Vs(o);if(m.candidateId!==a.id||m.actorId!==this.options.actorId||m.teamId!==this.options.teamId)throw new Error("Human discovery belongs to another owner or candidate.");return m}if(a.operation==="instructions"){let m=e.object({candidateId:e.string(),candidateRevision:e.number().int().positive(),path:e.string(),text:e.string().max(25e4),textHash:e.string().regex(/^[a-f0-9]{64}$/),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().parse(o);if(m.candidateId!==a.id||B(m.text)!==m.textHash)throw new Error("The candidate instructions belong to a different revision.");return m}let i=a.operation==="list"?Ws.parse(o):null;if(a.operation==="list"&&i&&(i.states.length>a.limit||i.states.some((m,h)=>a.cursor&&m.id<=a.cursor||h>0&&m.id<=i.states[h-1].id)||i.nextCursor&&(a.cursor&&i.nextCursor<=a.cursor||i.states.some(m=>m.id>i.nextCursor))))throw new Error("The retained candidate page changed its scan boundary.");let l=(i?i.states:[o]).map(m=>{let h=Fs(m);if(h.actorId!==this.options.actorId||h.teamId!==this.options.teamId||"id"in a&&h.id!==a.id)throw new Error("The Improve response belongs to a different owner or candidate.");if(a.operation==="start"&&h.requestHash!==p(a.request))throw new Error("The Improve request identity changed.");return h});return i?{states:l,nextCursor:i.nextCursor}:l[0]}};var kt=class{constructor(t){this.access=t;let r=new URL(t.baseUrl);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash||!t.apiKey.trim()||!t.actorId.trim()||!t.teamId.trim())throw new Error("Select the current evaluation owner and HTTP API origin.");this.origin=r.toString().replace(/\/+$/,"")}access;static{d(this,"EvaluationCoordinationTransport")}origin;async post(t,r,a){let s=JSON.stringify({teamId:this.access.teamId,projectId:this.access.projectId,request:r});if(new TextEncoder().encode(s).byteLength>1048576)throw new Error("The reviewed evaluation command exceeds 1 MiB.");let{response:o,value:i}=await be(this.access.fetch??fetch,`${this.origin}/v1/${t}`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.access.apiKey}`,"X-OpenPond-Team-Id":this.access.teamId,"Content-Type":"application/json"},body:s,signal:a},(c,l,m)=>Object.assign(new Error(m),{status:c,code:l}));if(!o.ok){let c=e.object({error:e.string().optional(),message:e.string().optional(),code:e.string().optional()}).passthrough().safeParse(i);throw Object.assign(new Error(c.success?c.data.error??c.data.message??"Evaluation operation failed.":"Evaluation operation failed."),{status:o.status,code:c.success?c.data.code:void 0})}return i}};var F=e.string().trim().min(1).max(200),Lt=e.string().regex(/^[a-f0-9]{64}$/),Vt=e.string().datetime(),Ys=e.object({operationId:F,id:F.optional(),expectedRevision:e.number().int().nonnegative(),teamId:F,projectId:F.nullable(),enabled:e.boolean(),configuration:_t,cadence:e.discriminatedUnion("kind",[e.object({kind:e.literal("interval"),seconds:e.number().int().min(60).max(31536e3)}).strict(),e.object({kind:e.literal("nightly"),calendar:Nn}).strict()]),maximumTotalSpendUsd:e.number().finite().positive().max(1e4),maximumAttempts:e.number().int().min(1).max(20)}).strict().superRefine((n,t)=>{(n.configuration.request.teamId!==n.teamId||(n.configuration.request.project?.id??null)!==n.projectId)&&t.addIssue({code:"custom",message:"The scheduled Experiment must retain its actual workspace and Project."}),n.configuration.maximumCostUsd>n.maximumTotalSpendUsd&&t.addIssue({code:"custom",message:"The run ceiling exceeds the approved cumulative schedule ceiling."})}),kc=e.object({id:F,scheduledAt:Vt,coalescedThroughAt:Vt,coalescedCount:e.number().int().nonnegative(),configurationHash:Lt,operationId:F,state:e.enum(["reserved","dispatching","running","cleaning","completed","failed","cancelled","uncertain"]),executionId:F.nullable(),attempt:e.number().int().positive(),maximumCostUsd:e.number().finite().positive(),actualSpendUsd:e.number().finite().nonnegative().nullable(),cleanupComplete:e.boolean(),error:e.string().max(4e3).nullable()}).strict(),yc=e.object({schemaVersion:e.literal("openpond.experimentEvaluationSchedule.v1"),id:F,revision:e.number().int().positive(),actorId:F,teamId:F,projectId:F.nullable(),operationId:F,requestHash:Lt,configuration:_t,configurationHash:Lt,cadence:Ys.shape.cadence,state:e.enum(["scheduled","disabled","blocked"]),nextRunAt:Vt.nullable(),maximumTotalSpendUsd:e.number().finite().positive(),maximumAttempts:e.number().int().positive(),lastEvaluatedConfigurationHash:Lt.nullable(),newerUnevaluatedRelease:y.nullable(),fires:e.array(kc).max(1e4),reason:e.string().max(4e3).nullable(),createdAt:Vt,updatedAt:Vt,contentHash:Lt}).strict();function wc(n){let{operationId:t,request:r,...a}=n,{operationId:s,...o}=r;return p({...a,request:o})}d(wc,"scheduledExperimentHash");function Sc(n){let t=yc.parse(n);if(Pn(t,"Scheduled Experiment"),t.configurationHash!==wc(t.configuration)||t.configuration.request.teamId!==t.teamId||(t.configuration.request.project?.id??null)!==t.projectId)throw new Error("Scheduled Experiment immutable authority differs from its recipe.");return t}d(Sc,"verifyExperimentEvaluationSchedule");var Rc=e.object({teamId:F,id:F,operationId:F,expectedRevision:e.number().int().positive(),action:e.enum(["cancel_active","retry_active","pause"])}).strict(),Ic=e.discriminatedUnion("operation",[e.object({operation:e.literal("publish"),request:Ys}).strict(),e.object({operation:e.literal("control"),request:Rc}).strict(),e.object({operation:e.literal("read"),id:F}).strict(),e.object({operation:e.literal("list"),cursor:F.optional(),limit:e.number().int().min(1).max(100).default(50)}).strict()]),Xs=class{static{d(this,"OpenPondExperimentEvaluationScheduleClient")}transport;constructor(t){this.transport=new kt(t)}async command(t,r){let a=Ic.parse(t),s=this.transport.access;if(a.operation==="publish"&&(a.request.teamId!==s.teamId||a.request.projectId!==s.projectId)||a.operation==="control"&&a.request.teamId!==s.teamId)throw new Error("The schedule command belongs to another workspace or Project.");let o=await this.transport.post("experiment-evaluation-schedules",a,r),i=a.operation==="list"?e.object({items:e.array(e.unknown()).max(a.limit),nextCursor:e.string().nullable()}).strict().parse(o):null,c=(i?.items??[o]).map(l=>{let m=Sc(l);if(m.actorId!==s.actorId||m.teamId!==s.teamId||m.projectId!==s.projectId||a.operation==="read"&&m.id!==a.id||a.operation==="control"&&m.id!==a.request.id||a.operation==="publish"&&(m.requestHash!==p(a.request)||a.request.id&&m.id!==a.request.id))throw new Error("Schedule readback differs from its exact owner command.");return m});return i?{items:c,nextCursor:i.nextCursor}:c[0]}};var E=e.string().trim().min(1).max(240),pe=e.string().regex(/^[a-f0-9]{64}$/),Mr=e.object({schemaVersion:e.literal("openpond.advancedRefinerEvaluation.v1"),operationId:E,actorId:E,teamId:E,projectId:E.nullable(),mode:e.enum(["review_quality","downstream_adaptation"]),profileRef:e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:E,profileId:E}).strict(),sourceRevision:e.string().min(1).max(500),baselineRelease:y,refinerRelease:y,evidence:y,externalDatasetBinding:Je,adaptationDatasetBinding:Je,privateClosureHash:pe,adaptationTaskIds:e.array(E).min(1).max(1e4),holdoutTaskIds:e.array(E).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:pe}).strict(),e.object({kind:e.literal("frozen_observations"),environmentHash:pe}).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:pe}).strict();function Tc(n){let t=Mr.parse(n),{contentHash:r,...a}=t;if(p(a)!==r)throw new Error("Advanced Refiner evaluation admission changed.");let s=Rt(t.externalDatasetBinding);if(s.profileId!==t.profileRef.profileId||s.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 o=Rt(t.adaptationDatasetBinding);if(o.profileId!==s.profileId||o.packageHash!==s.packageHash||p(o.dataset)!==p(s.dataset)||p(o.target)!==p(s.target)||o.protectedProfileClosureHash!==s.protectedProfileClosureHash)throw new Error("This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target.");if(o.split!==t.adaptationSplit||s.split!==t.holdoutSplit)throw new Error("Advanced split policies differ from their exact admitted recipes.");let i=new Set(s.population.map(l=>l.taskId)),c=new Set(o.population.map(l=>l.taskId));if(t.holdoutTaskIds.some(l=>!i.has(l))||t.adaptationTaskIds.some(l=>!c.has(l)))throw new Error("Advanced evaluation selected cases outside its exact Dataset recipe.");return t}d(Tc,"verifyAdvancedRefinerEvaluationPin");var _c=e.object({pin:Mr,modelId:E,profileId:E,model:Ne,seed:e.number().int(),reasoningEffort:e.enum(["none","off","low","medium","high","xhigh","max"]).nullable()}).strict(),Cc=e.discriminatedUnion("operation",[e.object({operation:e.literal("start"),request:_c}).strict(),e.object({operation:e.enum(["read","cancel","resume"]),id:E}).strict(),e.object({operation:e.literal("list")}).strict()]),Ec=e.object({taskId:E,sourceCaseHash:pe,reviewSessionId:E,reviewTurnId:E,inputHarness:y,trigger:y,decision:e.enum(["no_action","route_deterministically","queue_refiner"]),outcome:y.nullable(),proposal:y.nullable(),validations:e.array(y).max(100),grade:e.object({id:E,contentHash:pe,score:e.number().min(0).max(1).nullable(),passed:e.boolean(),failureClass:e.string().nullable()}).strict(),resetComplete:e.boolean()}).strict(),Th=e.object({schemaVersion:e.literal("openpond.advancedRefinerReviewReceipt.v1"),id:E,runId:E,pinHash:pe,ownerActorId:E,teamId:E,privateClosureHash:pe,refinerRelease:y,cases:e.array(Ec).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:pe}).strict();var Zs=Wt.shape.profiles.element,Pc=Wt.extend({profiles:e.array(Zs.extend({components:e.array(Zs.shape.components.element.extend({adaptationSplits:e.array(e.object({split:e.enum(["train","validation","test","frozen_eval"]),taskIds:e.array(E)})),environmentHash:pe,resettable:e.boolean(),reviewQuality:e.boolean()}))})),refinerReleases:e.array(y),activeRefiner:y.nullable(),models:e.array(e.object({id:E,profileId:E,name:e.string(),location:e.enum(["local","hosted"])}))}),Ac=e.object({operation:e.literal("prepare"),evidence:y,profileOptionId:E,componentLabel:E,mode:e.enum(["review_quality","downstream_adaptation"]),adaptationSplit:e.enum(["train","validation","test","frozen_eval"]),operationId:E,refinerRelease:y,maximumCostUsd:e.number().positive(),maximumDurationMs:e.number().int().positive(),maximumModelSteps:e.number().int().positive()}).strict(),jc=e.union([Cc,Ac,e.object({operation:e.literal("options"),evidence:y}).strict()]),_h=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(),Qs=class{static{d(this,"OpenPondAdvancedRefinerEvaluationClient")}transport;constructor(t){this.transport=new kt(t)}async command(t,r){let a=jc.parse(t),s=this.transport.access,o=d(m=>{let h=Tc(m);if(h.actorId!==s.actorId||h.teamId!==s.teamId||h.projectId!==s.projectId)throw new Error("The advanced pin belongs to another evaluation owner.");return h},"assertPin");a.operation==="start"&&o(a.request.pin);let i=await this.transport.post("advanced-refiner-evaluations",a,r);if(a.operation==="options"){let m=Pc.parse(i);if(m.teamId!==s.teamId||p(m.evidence)!==p(a.evidence))throw new Error("Advanced options changed their reviewed evidence.");return m}if(a.operation==="prepare"){let m=e.object({pin:Mr}).strict().parse(i),h=o(m.pin);if(h.operationId!==a.operationId||p(h.profileRef)!==a.profileOptionId||p(h.evidence)!==p(a.evidence)||h.mode!==a.mode||p(h.refinerRelease)!==p(a.refinerRelease)||h.adaptationSplit!==a.adaptationSplit||h.maximumCostUsd!==a.maximumCostUsd||h.maximumDurationMs!==a.maximumDurationMs||h.maximumModelSteps!==a.maximumModelSteps)throw new Error("Advanced preparation changed its reviewed command.");return{pin:h}}if(a.operation==="list")return e.object({items:e.array(e.object({id:E,status:e.enum(["prepared","running","succeeded","failed","cancelled"]),mode:e.enum(["review_quality","downstream_adaptation"]),startedAt:e.string().datetime().nullable(),completedAt:e.string().datetime().nullable(),failure:e.string().nullable()}).strict()).max(1e4)}).strict().parse(i);if(a.operation==="cancel"){let m=e.object({id:E,status:e.enum(["prepared","running","succeeded","failed","cancelled"])}).strict().parse(i);if(m.id!==a.id)throw new Error("Advanced cancellation returned another Run.");return m}let c=e.object({schemaVersion:e.literal("openpond.modelRun.v1"),id:E,kind:e.literal("evaluation"),modelId:E,profileId:E,evaluation:e.object({benchmarkId:e.literal("harness-refiner"),advancedEvaluation:Mr}).passthrough()}).passthrough().parse(i),l=o(c.evaluation.advancedEvaluation);if(a.operation==="start"?l.contentHash!==a.request.pin.contentHash||c.modelId!==a.request.modelId||c.profileId!==a.request.profileId:c.id!==a.id)throw new Error("The advanced Run differs from its exact retained request.");return c}};import{randomUUID as Oc}from"node:crypto";function eo(n,t){return{supportsResume:!t,get:d((...r)=>n.get(...r),"get"),start:t?async()=>{throw new Error("This runtime does not support resuming a stopped guest; start fresh Work with saved outputs")}:(...r)=>n.start(...r),exec:d((r,a)=>n.exec(r,t?{...a,timeoutSeconds:Math.min(a.timeoutSeconds??30,60)}:a),"exec"),mkdir:d((...r)=>n.mkdir(...r),"mkdir"),uploadFile:d((...r)=>n.uploadFile(...r),"uploadFile"),uploadFileBase64:d((...r)=>n.uploadFileBase64(...r),"uploadFileBase64"),listFiles:d((...r)=>n.listFiles(...r),"listFiles"),downloadFileResponse:d((...r)=>n.downloadFileResponse(...r),"downloadFileResponse"),stop:d((...r)=>n.stop(...r),"stop"),delete:d((...r)=>n.delete(...r),"delete"),createWork:d(({requestId:r,repo:a,budgetUsd:s,metadata:o})=>{if(t){if(a?.trim())throw new Error("This runtime does not support repository provisioning; provide Work inputs instead");if(s!==void 0)throw new Error("Hosted spending budgets are not supported by this runtime");let c={resources:t.resources??{cpu:1,memoryGb:2,diskGb:10},...r?{requestId:r}:{}};return n.create(c)}let i=s?.trim()||"1.00";return n.create({...a?.trim()?{repo:a.trim()}:{},runtimeProfileId:"openpond-work-v1",resources:{cpu:2,memoryGb:4,diskGb:16},budget:{maxUsd:i},quotas:{maxSpendUsd:i,maxDurationSeconds:3600,idleTimeoutSeconds:900,maxCommands:200,maxOpenPorts:4},metadata:{source:"openpond-sdk-work",...o,...r?{workRequestId:r}:{}}},{async:!0})},"createWork")}}d(eo,"workSandbox");function Sn(n,t){let r=new URL(n);if(!["http:","https:"].includes(r.protocol)||r.username||r.password||r.search||r.hash)throw new Error(`${t} must be an HTTP(S) endpoint without embedded credentials, query or fragment`);return r.toString().replace(/\/$/,"")}d(Sn,"configuredEndpoint");function zr(n,t){if(!n?.trim())throw new Error(`${t} is required`);return n.trim()}d(zr,"configuredKey");var Hc=e.object({choices:e.array(e.object({message:e.object({content:e.string().nullable().optional(),tool_calls:e.array(e.object({id:e.string().min(1),type:e.literal("function"),function:e.object({name:e.string().min(1),arguments:e.string()})})).optional()})})).min(1)});async function to(n,t){if(!t)return ba(n);let r=await fetch(`${n.apiBaseUrl}/chat/completions`,{method:"POST",headers:{authorization:`Bearer ${n.token}`,"content-type":"application/json"},body:JSON.stringify({model:n.model,messages:n.messages,tools:n.tools,tool_choice:"auto",stream:!1}),signal:n.signal,redirect:"error"});if(!r.ok)throw new Error(`Configured model request failed (${r.status})`);return Hc.parse(await r.json())}d(to,"workModelTurn");var qc="openpond-chat",Dc=24,$c=4e4,Rn=2e4,We="outputs",In="inputs/previous-outputs",oo="inputs/.openpond-context.json",Mc=100,ro=100,no=100*1024*1024,Ur=class{static{d(this,"OpenPondWorkClient")}#t;#r;#n;#e;#a;#s;constructor(t){this.#t=t.apiKey,this.#r=t.apiBaseUrl,this.#n=t.chatApiBaseUrl,this.#e=eo(t.sandboxes,t.sandboxConfig),this.#a=t.defaultModel??qc,this.#s=t.customModel??!1}async run(t){let r=t.prompt.trim();if(!r)throw new Error("Work prompt is required");t.signal?.throwIfAborted();let a=Sa(t.requiredOutputs??[]),s=d(async u=>t.onEvent?.(u),"emit"),o=t.cleanup??"keep",i=Uc(o),c=null,l=null,m=!1,h=so(t.maxSteps,1,100,Dc),f="";try{await s({type:"status",message:"Preparing sandbox"}),c=await this.#f(t),await s({type:"sandbox",sandboxId:c.id,state:c.state}),await this.#l(c.id,t.inputs??[]),l=await this.#u(c.id);let u=[{role:"system",content:Bc(c.id,(t.inputs?.length??0)>0)},...(t.history??[]).map(b=>({...b})),{role:"user",content:r+(t.requiredOutputs?.length?`
|
|
15
|
-
Required outputs under outputs/: `+JSON.stringify(t.requiredOutputs):"")}];for(let b=1;b<=h;b+=1){t.signal?.throwIfAborted(),await s({type:"status",message:`Thinking \xB7 step ${b}`});let v=(await to({apiBaseUrl:this.#n,token:this.#t,model:t.model?.trim()||this.#a,messages:u,tools:[...zc,...a],toolChoice:"auto",signal:t.signal,metadata:{source:"openpond-sdk-work",sandboxId:c.id,apiBaseUrl:this.#r,...t.metadata}},this.#s)).choices?.[0],S=v?.message?.content?.trim()??"",R=v?.message?.tool_calls??[];if(u.push({role:"assistant",content:S||null,...R.length>0?{tool_calls:R}:{}}),S&&(f=S,await s({type:"assistant",text:S})),R.length===0){let H;try{H=await this.#d(c.id,l,t.requiredOutputs)}catch(V){u.push({role:"user",content:"Output acceptance failed. Correct the required outputs and submit again: "+Le(V)});continue}for(let V of H)await s({type:"output",output:V});m=!0,await this.#o(c.id,H,t,i,s);let k={sandboxId:c.id,text:f,steps:b,outputs:H,lifecycle:i};return await s({type:"done",...k}),k}for(let[H,k]of R.entries()){t.signal?.throwIfAborted();let V=await this.#h(c.id,k,H,t.timeoutSeconds,s,t.requiredOutputs);u.push(V)}}throw new Error(`Work did not finish within ${h} steps`)}catch(u){if(c&&l&&!m)try{let b=await this.#d(c.id,l,t.requiredOutputs);for(let g of b)await s({type:"output",output:g});await this.#o(c.id,b,t,i,s)}catch(b){ao(u,i,b)}throw ao(u,i),u}}async deleteSandbox(t){try{if((await this.#e.get(t)).state==="deleted")return;await this.#e.delete(t)}catch(r){if(r instanceof nn&&r.status===404)return;throw r}}async#l(t,r){if(r.length===0)return;if(r.length>ro)throw new Error(`Work inputs exceed the ${ro} file limit`);if(r.reduce((i,c)=>i+Buffer.byteLength(c.contentsBase64,"base64"),0)>no)throw new Error(`Work inputs exceed the ${no} byte limit`);await this.#e.mkdir(t,{path:In,recursive:!0});let s=new Set,o=[];for(let[i,c]of r.entries()){let l=Wc(c,i,s),m=`${In}/${l}`;await this.#e.uploadFileBase64(t,m,c.contentsBase64),o.push({id:c.id,path:m,name:c.name,mimeType:c.mimeType??null,checksumSha256:c.checksumSha256??null,revision:c.revision??null,metadata:c.metadata??{}})}await this.#e.uploadFile(t,oo,JSON.stringify({version:1,files:o},null,2))}async#o(t,r,a,s,o){if(s.persistence.outputCount=r.length,r.length===0)s.persistence.status="not_needed";else if(a.persistOutput){s.persistence.status="running";for(let i of r){await o({type:"persistence",output:i,status:"started"});try{let c=Fc(this.#e,t,i),l=d(async()=>{let m=await c(),h=a.requiredOutputs?.find(f=>Br(i.path)===`${We}/${f.path}`);if(h){let f=Pt(h,Buffer.from(m.file.contentsBase64,"base64"));if(i.validation&&f?.artifactHash!==i.validation.artifactHash)throw new Error("work_saved_output_changed")}return m},"download");await a.persistOutput({output:i,download:l}),s.persistence.persistedCount+=1,await o({type:"persistence",output:i,status:"succeeded"})}catch(c){let l=Le(c);throw s.persistence.status="failed",s.persistence.error=l,await o({type:"persistence",output:i,status:"failed",error:l}),(a.cleanup??"keep")!=="keep"&&await this.#i(t,s,o),c}}s.persistence.status="complete"}else{if((a.cleanup??"keep")==="delete"&&!a.discardOutputs)throw s.persistence.status="failed",s.persistence.error="Deleting a Work sandbox with outputs requires persistOutput or discardOutputs: true",await this.#i(t,s,o),new Error(s.persistence.error);s.persistence.status="not_requested"}await this.#c(t,a.cleanup??"keep",s,o)}async#i(t,r,a){if(this.#e.supportsResume){await this.#c(t,"stop",r,a);return}r.cleanup.status="pending",r.cleanup.finalSandboxState="running",r.cleanup.error="Output persistence must be retried before guest deletion",await a({type:"cleanup",policy:r.cleanupPolicy,status:"pending",sandboxState:"running",error:r.cleanup.error})}async#c(t,r,a,s){if(r!=="keep"){a.cleanup.status="running",await s({type:"cleanup",policy:r,status:"started"});try{let o=r==="delete"?await this.#e.delete(t):(await this.#e.stop(t)).sandbox;a.cleanup.finalSandboxState=o.state,a.cleanup.status=r==="delete"&&o.state==="deleted"||r==="stop"&&o.state==="stopped"?"complete":"pending",await s({type:"cleanup",policy:r,status:a.cleanup.status,sandboxState:o.state})}catch(o){let i=Le(o);throw a.cleanup.status="failed",a.cleanup.error=i,await s({type:"cleanup",policy:r,status:"failed",error:i}),o}}}downloadOutput(t,r){return this.#e.downloadFileResponse(t,typeof r=="string"?r:r.path)}async#u(t){return await this.#e.mkdir(t,{path:We,recursive:!0}),Lc(await this.#m(t))}async#d(t,r,a){let o=(await this.#m(t)).filter(i=>r.get(i.path)!==io(i)).sort((i,c)=>i.path.localeCompare(c.path)).slice(0,Mc).map(Vc);for(let i of a??[]){let c=o.find(m=>Br(m.path)===`${We}/${i.path}`);if(!c)throw new Error("work_required_output_missing:"+i.path);let l=await this.#e.downloadFileResponse(t,c.path);if(l.file.truncated)throw new Error("work_output_download_truncated");c.validation=Pt(i,Buffer.from(l.file.contentsBase64,"base64"))}return o}async#m(t){return(await this.#e.listFiles(t,{path:We,recursive:!0,maxEntries:500})).files.filter(a=>a.type==="file"&&!Br(a.path).includes("/.openpond-"))}async#f(t){if(t.sandboxId){let a=await this.#e.get(t.sandboxId);if(a.state==="stopped")await this.#e.start(a.id,{async:!0});else if(a.state==="deleted"||a.state==="error")throw new Error(`Cannot resume sandbox ${a.id} in state ${a.state}`);return await this.#p(a.id,t.signal)}let r=await this.#e.createWork(t);return this.#p(r.id,t.signal)}async#p(t,r){let a=Date.now()+72e4,s=await this.#e.get(t);for(;Date.now()<a;){if(r?.throwIfAborted(),s.state==="running")return s;if(s.state==="error"||s.state==="deleted")throw new Error(`Sandbox ${s.id} entered ${s.state}${s.logs.length?`: ${s.logs.join(`
|
|
16
|
-
`)}`:""}`);await Jc(2e3,r),s=await this.#e.get(t)}throw new Error(`Sandbox ${t} did not become ready before timeout`)}async#h(t,r,a,s,o,i){let c=r.id||`work_tool_${a}`,l=r.function?.name,m=Ra(i??[],l??"");if(m)try{let u=Ia(m,JSON.parse(r.function?.arguments||"{}")),b=`${We}/${m.path}`,g=`${We}/.openpond-${Oc()}`;await this.#e.uploadFileBase64(t,g,Buffer.from(u).toString("base64"));let v=d(R=>"'"+R.replaceAll("'","'\\''")+"'","quote");if((await this.#e.exec(t,{command:`mkdir -p -- ${v(b.slice(0,b.lastIndexOf("/")))} && mv -f -- ${v(g)} ${v(b)}`,timeoutSeconds:30})).command.exitCode!==0)throw new Error("work_output_registration_failed");return Ae(c,{ok:!0,path:b,validation:Pt(m,u)})}catch(u){return Ae(c,{ok:!1,error:Le(u)})}if(l!=="run_command")return Ae(c,{error:`Unknown tool: ${l??"missing"}`});let h;try{h=JSON.parse(r.function?.arguments||"{}")}catch(u){return Ae(c,{error:`Invalid tool arguments: ${Le(u)}`})}let f=typeof h.command=="string"?h.command.trim():"";if(!f)return Ae(c,{error:"command is required"});if(f.length>Rn){let u=`command exceeds the ${Rn} character limit`;return await o({type:"tool",toolCallId:c,command:f,status:"failed",output:u}),Ae(c,{status:"failed",error:u})}await o({type:"tool",toolCallId:c,command:f,status:"started"});try{let u=await this.#e.exec(t,{command:f,timeoutSeconds:so(s,1,900,180)}),b=Kc(u.command.output,$c),g=u.command.status==="succeeded"?"succeeded":"failed";return await o({type:"tool",toolCallId:c,command:f,status:g,output:b,exitCode:u.command.exitCode}),Ae(c,{status:u.command.status,exitCode:u.command.exitCode,output:b})}catch(u){if(u instanceof nn)throw u;let b=Le(u);return await o({type:"tool",toolCallId:c,command:f,status:"failed",output:b}),Ae(c,{status:"failed",error:b})}}},zc=[{type:"function",function:{name:"run_command",description:"Run a shell command inside the persistent OpenPond sandbox. Use standard shell tools to inspect, edit, build, and test files. Commands start in the repository workspace.",parameters:{type:"object",additionalProperties:!1,properties:{command:{type:"string",minLength:1,maxLength:Rn,description:"Shell command to execute."}},required:["command"]}}}];function Bc(n,t){return["You are OpenPond Work, a careful coding agent operating in an isolated Linux sandbox.",`The active sandbox is ${n}.`,...t?[`The authoritative saved files for this turn are staged under /workspace/${In}; their manifest is /workspace/${oo}.`,"Before revising a previous output, read its staged file and manifest. Copy the staged input into the output directory before editing it; previous output paths may not exist in this sandbox.","Preserve the actual file bytes. Never reconstruct a saved file from the conversation or claim to have preserved it without reading the staged input."]:[],"Use run_command to inspect the workspace, edit files, and validate your work.",`Place completed user-facing files in ${We}. The runtime collects new and revised files there automatically when the turn completes.`,"Do the requested work completely. Preserve existing user changes and avoid destructive commands.","Keep the user informed with concise prose, but call tools whenever verification or file changes are needed.","Before finishing, run relevant tests and summarize the concrete result."].join(`
|
|
17
|
-
`)}d(Bc,"systemPrompt");function Uc(n){return{cleanupPolicy:n,persistence:{status:"not_requested",outputCount:0,persistedCount:0},cleanup:{status:"not_requested"}}}d(Uc,"initialLifecycle");function Fc(n,t,r){let a=null;return()=>(a??=n.downloadFileResponse(t,{path:r.path,maxBytes:Math.max(1,r.sizeBytes)}).then(s=>{let o=Buffer.byteLength(s.file.contentsBase64,"base64");if(s.file.truncated||s.file.returnedBytes!==s.file.totalSizeBytes||o!==r.sizeBytes)throw new Error(`Output download was incomplete for ${r.name}`);return s}),a)}d(Fc,"lazyOutputDownload");function Wc(n,t,r){let a=n.id.replace(/[^a-zA-Z0-9._-]+/g,"-").slice(0,80)||`input-${t+1}`,s=n.name.replace(/[^a-zA-Z0-9._-]+/g,"-").slice(-120)||"file",o=`${a}-${s}`,i=o,c=1;for(;r.has(i);)c+=1,i=`${o}-${c}`;return r.add(i),i}d(Wc,"uniqueInputName");function ao(n,t,r){!n||typeof n!="object"||Object.assign(n,{workLifecycle:t,...r?{workFinalizationError:Le(r)}:{}})}d(ao,"attachWorkFailure");function Lc(n){return new Map(n.map(t=>[t.path,io(t)]))}d(Lc,"outputSignatures");function io(n){return`${n.sizeBytes}:${n.updatedAt}`}d(io,"outputSignature");function Vc(n){let t=Br(n.path).split("/").at(-1)||n.path,r=Nc(t);return{path:n.path,name:t,mimeType:r,sizeBytes:n.sizeBytes,updatedAt:n.updatedAt,isBinary:n.isBinary??null,previewable:n.previewable??(r.startsWith("image/")||r==="application/pdf"||r.startsWith("text/"))}}d(Vc,"workOutputFromFile");function Br(n){return n.replaceAll("\\","/")}d(Br,"normalizedOutputPath");function Nc(n){let t=n.toLowerCase().match(/\.[^.]+$/)?.[0]??"";return Gc[t]??"application/octet-stream"}d(Nc,"workOutputMimeType");var Gc=Object.freeze({".avif":"image/avif",".csv":"text/csv",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".gif":"image/gif",".html":"text/html",".jpeg":"image/jpeg",".jpg":"image/jpeg",".json":"application/json",".m4a":"audio/mp4",".md":"text/markdown",".mov":"video/quicktime",".mp3":"audio/mpeg",".mp4":"video/mp4",".pdf":"application/pdf",".png":"image/png",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".svg":"image/svg+xml",".tsv":"text/tab-separated-values",".txt":"text/plain",".wav":"audio/wav",".webm":"video/webm",".webp":"image/webp",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});function Ae(n,t){return{role:"tool",tool_call_id:n,content:JSON.stringify(t)}}d(Ae,"toolMessage");function so(n,t,r,a){return Number.isFinite(n)?Math.min(r,Math.max(t,Math.floor(n))):a}d(so,"boundedInteger");function Kc(n,t){return n.length<=t?n:`${n.slice(0,t)}
|
|
18
|
-
\u2026 output truncated by openpond-sdk`}d(Kc,"truncate");function Le(n){return n instanceof Error?n.message:String(n)}d(Le,"errorMessage");function Jc(n,t){return new Promise((r,a)=>{if(t?.aborted){a(t.reason);return}let s=setTimeout(r,n);s.unref?.(),t?.addEventListener("abort",()=>{clearTimeout(s),a(t.reason)},{once:!0})})}d(Jc,"sleep");import{promises as co}from"node:fs";var Wr=class{static{d(this,"OpenPondProjectActionsClient")}#t;#r;constructor(t){this.#t=t.apiKey,this.#r=t.apiBaseUrl.replace(/\/+$/,"")}async list(t){let r=await oe(this.#r,this.#t,Fr(t.projectId,"releases",t.teamId));return(await ie(r,"List Project Action releases")).releases}async catalog(t){let r=await oe(this.#r,this.#t,Fr(t.projectId,"catalog",t.teamId));return(await ie(r,"Get Project Action catalog")).catalog}async publish(t){let[r,a]=await Promise.all([co.readFile(t.build.bundlePath),co.readFile(t.build.runnerPath)]),s=await oe(this.#r,this.#t,Fr(t.projectId,"releases",t.teamId),{method:"POST",body:JSON.stringify({sourceRef:t.sourceRef,sourceCommitSha:t.sourceCommitSha,bundleBase64:r.toString("base64"),runnerBase64:a.toString("base64"),registry:t.build.registry,manifest:t.build.manifest,metadata:t.metadata})});return(await ie(s,"Publish Project Actions")).release}async run(t){let r=await oe(this.#r,this.#t,Fr(t.projectId,`actions/${encodeURIComponent(t.actionId)}`,t.teamId),{method:"POST",body:JSON.stringify({input:t.value??{},releaseId:t.releaseId,idempotencyKey:t.idempotencyKey,callerType:t.callerType??"sdk",callerId:t.callerId}),signal:t.signal,timeoutMs:9e5});return(await ie(r,"Run Project Action")).invocation}};function Fr(n,t,r){return`/v1/project-actions/${encodeURIComponent(n)}/${t}?teamId=${encodeURIComponent(r)}`}d(Fr,"projectActionPath");var Lr=class{static{d(this,"OpenPondProfileActionsClient")}#t;#r;constructor(t){this.#t=t.apiKey,this.#r=t.apiBaseUrl.replace(/\/+$/,"")}async catalog(t){let r=Nt(t.teamId,"teamId"),a=new URLSearchParams({teamId:r});t.profileId?.trim()&&a.set("profileId",t.profileId.trim()),t.profileName?.trim()&&a.set("profileName",t.profileName.trim());let s=await oe(this.#r,this.#t,`/v1/profile/actions?${a.toString()}`);return(await ie(s,"Get Profile Action catalog")).catalog}async run(t){let r=Nt(t.teamId,"teamId"),a=Nt(t.actionKey,"actionKey"),s=Nt(t.idempotencyKey,"idempotencyKey"),o=Nt(t.catalogVersion,"catalogVersion"),i=await oe(this.#r,this.#t,`/v1/profile/actions/run?${new URLSearchParams({teamId:r}).toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t.profileId?.trim()?{profileId:t.profileId.trim()}:{},...t.profileName?.trim()?{profileName:t.profileName.trim()}:{},actionKey:a,value:t.value??{},conversationId:t.conversationId??null,createConversation:t.createConversation,conversationTitle:t.conversationTitle??null,idempotencyKey:s,catalogVersion:o,externalCapabilityLeases:t.externalCapabilityLeases})});return ie(i,"Run Profile Action")}};function Nt(n,t){let r=n.trim();if(!r)throw new Error(`${t} is required`);return r}d(Nt,"requiredValue");import{randomUUID as mo}from"node:crypto";var Vr=class{static{d(this,"OpenPondWorkflowsClient")}#t;#r;constructor(t){this.#t=t.apiKey,this.#r=t.apiBaseUrl.replace(/\/+$/,"")}async list(t={}){return this.#n("","List Workflows",{signal:t.signal})}async create(t,r={}){return this.#n("","Create Workflow",{method:"POST",body:JSON.stringify({...t,clientRequestId:t.clientRequestId?.trim()||mo()}),signal:r.signal})}async update(t,r,a={}){return this.#n(`/schedules/${encodeURIComponent(Tn(t,"scheduleId"))}`,"Update Workflow",{method:"PATCH",body:JSON.stringify(r),signal:a.signal})}async delete(t,r={}){return this.#n(`/schedules/${encodeURIComponent(Tn(t,"scheduleId"))}`,"Delete Workflow",{method:"DELETE",signal:r.signal})}async runNow(t,r={},a={}){return this.#n(`/schedules/${encodeURIComponent(Tn(t,"scheduleId"))}/run`,"Run Workflow",{method:"POST",body:JSON.stringify({clientRequestId:r.clientRequestId?.trim()||mo()}),signal:a.signal})}async#n(t,r,a={}){let s=await oe(this.#r,this.#t,`/v1/saved-work${t}`,a);return ie(s,r)}};function Tn(n,t){let r=n.trim();if(!r)throw new Error(`${t} is required`);return r}d(Tn,"requiredId");var _n=class{static{d(this,"OpenPondClient")}sandboxes;work;workflows;actions;profileActions;learning;experiments;connectedEvidence;humanReview;constructor(t){let r=t.apiKey?.trim()??"";if(!r&&(!t.sandbox||!t.model))throw new Error("OpenPond API key is required when using a default sandbox or model");let a=t.sandbox?{...t.sandbox,endpoint:Sn(t.sandbox.endpoint,"Sandbox endpoint"),apiKey:zr(t.sandbox.apiKey,"Sandbox API key")}:void 0,s=t.model?{endpoint:Sn(t.model.endpoint,"Model endpoint"),apiKey:zr(t.model.apiKey,"Model API key"),model:zr(t.model.model,"Model ID")}:void 0,o=t.baseUrl?.trim()||"https://api.openpond.ai";this.learning=i=>new va({apiKey:r,baseUrl:o,scope:i}),this.experiments=i=>new qr({apiKey:r,baseUrl:o,teamId:i}),this.connectedEvidence=i=>new Or({apiKey:r,baseUrl:o,teamId:i}),this.humanReview=i=>new Dr({apiKey:r,baseUrl:o,scope:i}),this.sandboxes=ha({apiKey:a?.apiKey??r,baseUrl:o,sandboxApiUrl:a?.endpoint??t.sandboxApiUrl,customEndpoint:!!a}),this.work=new Ur({apiKey:s?.apiKey??r,apiBaseUrl:o,chatApiBaseUrl:s?.endpoint||t.chatApiUrl?.trim()||ga({apiBaseUrl:o,env:{}}),sandboxes:this.sandboxes,sandboxConfig:a,defaultModel:s?.model,customModel:!!s}),this.workflows=new Vr({apiKey:r,apiBaseUrl:o}),this.actions=new Wr({apiKey:r,apiBaseUrl:o}),this.profileActions=new Lr({apiKey:r,apiBaseUrl:o})}};function pg(n){return new _n(n)}d(pg,"createOpenPondClient");export{ue as a,gs as b,Ar as c,mt as d,Fi as e,mu as f,pu as g,Mt as h,lu as i,uu as j,fu as k,hu as l,gu as m,Rs as n,Ps as o,Or as p,js as q,vt as r,qr as s,Dr as t,Ls as u,Js as v,Ic as w,Xs as x,jc as y,Qs as z,pg as A};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{A as I,B as f,E as u,F as S,G as k,f as R,h as y,ka as w,la as n,na as P,oa as g,pa as T,ra as v,y as h}from"./chunk-M4ZRCRJM.js";import{o as p}from"./chunk-4M3YW3EQ.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as l}from"./chunk-FTQLQJQV.js";var c=e.string().trim().min(1).max(240),o=e.string().trim().min(1).max(5e3),E=e.enum(["no_training","prompting","retrieval","sft","preference","grpo_rft","sdft_opsd","sdpo","agentic_rl"]),C=e.object({id:c,taskIndex:e.number().int().nonnegative(),label:k,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:e.record(e.string(),e.unknown()).default({})}),j=e.object({schemaVersion:e.literal("openpond.capabilityDiagnosis.v1"),summary:e.string().trim().min(1).max(1e4),stableBehavior:e.array(o).max(100).default([]),changingKnowledge:e.array(o).max(100).default([]),requiredContext:e.array(o).max(100).default([]),requiredTools:e.array(c).max(100).default([]),intervention:E,trainingEligible:e.boolean(),rationale:e.array(o).min(1).max(100),confidence:e.number().min(0).max(1)}),F=e.object({id:c,sourceId:c,sourceTurnId:c.nullable(),split:h,origin:e.enum(["extracted","corrected","synthetic","expert_authored"]),inputPrompt:e.string().trim().min(1).max(1e5),expectedOutputText:e.string().trim().min(1).max(2e5).nullable(),rationale:o}),D=e.object({schemaVersion:e.literal("openpond.taskDesignProposal.v1"),id:c,name:e.string().trim().min(1).max(500),objective:e.string().trim().min(1).max(2e4),diagnosis:j.default({schemaVersion:"openpond.capabilityDiagnosis.v1",summary:"Reproduce the selected approved behavior.",stableBehavior:[],changingKnowledge:[],requiredContext:[],requiredTools:[],intervention:"sft",trainingEligible:!0,rationale:["The selected examples were supplied as demonstrations."],confidence:.5}),taskKind:u.shape.taskKind,sourceIds:e.array(c).min(1).max(1e5),assumptions:e.array(o).max(1e3),successCriteria:e.array(o).min(1).max(1e3),proposedGraders:e.array(S).max(1e3).default([]),graderFixtures:e.array(C).max(1e5).default([]),generatedFiles:e.array(g).max(1e3).default([]),proposedExamples:e.array(F).max(1e5).default([]),proposedMethod:v.shape.recommendedMethod,trainingPath:T.nullable().default(null),policy:f,warnings:e.array(e.string().trim().min(1)).default([]),createdAt:e.string().trim().min(1)});var q=e.string().min(1).max(240),_=e.string().regex(/^[a-f0-9]{64}$/),H=e.array(e.object({source:I,excerpts:e.array(e.object({role:e.enum(["user","assistant"]),text:e.string().max(2e5),turnId:q}).strict()).max(200)}).strict()).min(1).max(20),Ht=e.discriminatedUnion("action",[e.object({action:e.literal("messages"),id:q,evidence:H,instruction:e.string().max(2*1024*1024),buildSpecification:P,currentProposal:D.nullable().default(null)}).strict(),e.object({action:e.literal("validate"),evidence:H,content:e.string().max(2*1024*1024)}).strict()]),qt=e.object({messages:e.array(e.object({role:e.enum(["system","user"]),content:e.string()}).strict()).min(1).max(20),skillHash:_}).strict(),_t=e.object({proposal:D,skillHash:_}).strict(),r=n.shape.id,s=e.number().int().positive(),d=e.string().regex(/^[a-f0-9]{64}$/),m={teamId:r,modelId:r},At=e.object({schemaVersion:e.literal("openpond.tasksetDraftCreate.v1"),operationId:r,modelId:r,expectedModelRevision:s,name:n.shape.name}).strict(),Lt=e.object({schemaVersion:e.literal("openpond.tasksetDraftSourceDescriptor.v1"),...m,expectedModelRevision:s,sourcePackageHash:d}).strict(),Ut=e.object({schemaVersion:e.literal("openpond.tasksetDraftReadback.v1"),...m,draft:n,workspaceHash:d,projectEtag:d}).strict().refine(t=>t.draft.profileId===t.teamId&&t.draft.modelScope?.modelId===t.modelId,"The hosted draft must belong to its declared workspace and Model."),A=e.object({id:r,revision:s,name:n.shape.name,status:w,updatedAt:n.shape.updatedAt,sourceTasksetRef:p.nullable()}).strict(),Ot=e.object({schemaVersion:e.literal("openpond.tasksetDraftList.v1"),...m,drafts:e.array(A).max(100),nextCursor:e.string().min(1).max(2e3).nullable()}).strict(),Gt=e.object({expectedDraftRevision:s,draft:n}).strict(),Vt=e.object({expectedDraftRevision:s,expectedModelRevision:s}).strict(),L=e.object({expectedDraftRevision:s,expectedWorkspaceHash:d}).strict(),Bt=e.object({schemaVersion:e.literal("openpond.tasksetDraftValidation.v1"),...m,draftId:r,draftRevision:s,workspaceHash:d,valid:e.boolean(),issues:e.array(e.object({code:e.string().min(1),severity:e.enum(["warning","error"]),message:e.string(),path:e.string().nullable()}).strict()),packageHash:d.nullable(),tasksetRef:p.nullable()}).strict().refine(t=>t.valid?t.packageHash!==null&&t.tasksetRef!==null&&t.issues.every(a=>a.severity!=="error"):t.packageHash===null&&t.tasksetRef===null&&t.issues.some(a=>a.severity==="error"),"Validation must retain either a compiled package or publication errors."),zt=L.extend({operationId:r,expectedPackageHash:d,expectedTasksetRef:p}).strict(),Kt=e.object({schemaVersion:e.literal("openpond.tasksetDraftFileList.v1"),...m,draftId:r,draftRevision:s,files:e.array(R).max(10020)}).strict(),Wt=e.object({schemaVersion:e.literal("openpond.tasksetDraftFileReadback.v1"),...m,draftId:r,draftRevision:s,file:y}).strict(),Nt=e.object({schemaVersion:e.literal("openpond.tasksetDraftDeletion.v1"),...m,draftId:r,revision:s,deleted:e.literal(!0)}).strict(),Xt=n.shape.id,Yt=e.number().int().positive();var i=e.string().trim().min(1).max(500),Zt=e.object({projectId:i.optional(),tasksetId:i.optional(),draftId:i.optional(),taskId:i.optional(),query:e.string().trim().max(1e3).default(""),split:e.enum(["train","validation","test","frozen_eval"]).optional(),after:e.string().min(1).max(2e3).optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),U=e.object({id:i,method:e.enum(["code","judge","human"]),required:e.boolean()}),O=e.object({tasksetId:i,tasksetName:e.string(),tasksetRevision:e.number().int().positive(),tasksetHash:e.string(),taskId:i,ordinal:e.number().int().nonnegative(),title:e.string(),description:e.string(),split:e.string(),scoring:e.array(U),configuration:e.enum(["configured","needs_reward","needs_checks"]),draftId:i.nullable().default(null),modelId:i.nullable().default(null)}),ea=e.object({items:e.array(O).max(100),nextCursor:e.string().nullable()});function ta(t,a){let $=[t.instruction,t.prompt,t.request,t.question,t.message].find(b=>typeof b=="string"&&b.trim().length>0),M=typeof t.title=="string"?t.title.trim():"",x=$?.trim()??"";return{title:(M||x||a).slice(0,180),description:x.slice(0,2e3)}}l(ta,"describeTaskInput");function aa(t){return t.map(a=>({id:a.id,method:a.kind==="model_judge"?"judge":a.kind==="human"?"human":"code",required:a.hardGate}))}l(aa,"summarizeTaskScoring");function sa(t){return t.some(a=>a.kind!=="human")?t.some(a=>a.kind==="model_judge"&&a.calibrationStatus!=="passed")?"needs_checks":"configured":"needs_reward"}l(sa,"taskConfiguration");export{E as a,D as b,Ht as c,Zt as d,O as e,ea as f,ta as g,aa as h,sa as i};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b as te,g as re}from"./chunk-GQUS7MCH.js";import{f as V}from"./chunk-4N3UF3U5.js";import{J as D,O as Z,U as q,ha as ee}from"./chunk-M4ZRCRJM.js";import{m as A}from"./chunk-VNJAAYNQ.js";import{n as U,o as F,p as z,t as B}from"./chunk-XK7SPL63.js";import{a as Q}from"./chunk-NVHZRKXB.js";import{N as P,O as I,P as k,b as Y,r as K}from"./chunk-4M3YW3EQ.js";import{Da as O,Fa as J,Ma as W,Ra as X,Ya as H,x as C,z as j}from"./chunk-PBZCXPPC.js";import{m as $}from"./chunk-VVNV4NNW.js";import{A as c}from"./chunk-PF56N7ZY.js";import{a as f}from"./chunk-FTQLQJQV.js";import{cp as ge,lstat as _,mkdir as ve,mkdtemp as Se,readFile as ae,readdir as ie,rename as ye,rm as Te}from"node:fs/promises";import g from"node:path";async function ze(a,i,e,t={}){return be(g.join(a,"training","tasksets"),i,e,t)}f(ze,"materializeImmutableTasksetPackage");async function be(a,i,e,t={}){if(!/^[a-z0-9][a-z0-9-]{1,239}$/.test(e))throw new Error("Taskset package identity is not a safe directory name.");await ve(a,{recursive:!0});let r=await Se(g.join(a,".starter-")),d=g.join(a,e);try{if(t.source){let o=await _(t.source.directory);if(!o.isDirectory()||o.isSymbolicLink())throw new Error("Taskset source must be a regular directory.");await E(t.source.directory);for(let m of await ie(t.source.directory))await ge(g.join(t.source.directory,m),g.join(r,m),{recursive:!0,force:!1,errorOnExist:!0});if(await E(r),await te(r)!==t.source.packageHash)throw new Error("Taskset draft files changed during publication. Refresh before publishing.")}await re(i.taskset,r,{generatedFiles:i.generatedFiles}),await t.verify?.(r);let s=(await E(r)).sort();try{await ye(r,d)}catch(o){if(!["EEXIST","ENOTEMPTY"].includes(o.code??""))throw o;let m=await _(d);if(!m.isDirectory()||m.isSymbolicLink())throw new Error("Starter package destination is not a regular directory.");let b=await E(d);if(JSON.stringify(b.sort())!==JSON.stringify(s))throw new Error("Existing starter package has a different file inventory.");for(let u of s){let v=g.join(d,u),S=await _(v);if(!S.isFile()||S.isSymbolicLink()||!(await ae(v)).equals(await ae(g.join(r,u))))throw new Error("Existing starter package differs from the pinned creation attempt.")}}return d}finally{await Te(r,{recursive:!0,force:!0})}}f(be,"materializeImmutableTasksetPackageAtRoot");async function E(a,i=""){let e=[];for(let t of await ie(g.join(a,i),{withFileTypes:!0})){let r=g.join(i,t.name);if(t.isSymbolicLink())throw new Error("Starter packages cannot contain symbolic links.");if(t.isDirectory())e.push(...await E(a,r));else if(t.isFile())e.push(r);else throw new Error("Starter packages must contain regular files and directories.")}return e}f(E,"regularFiles");import{lstat as se,readFile as oe}from"node:fs/promises";import T from"node:path";function xe(a,i,e){let t=T.resolve(a),r=T.resolve(t,e.artifactRef);if(!r.startsWith(`${t}${T.sep}`))throw new Error(`Taskset asset ${e.id} escapes its package.`);if(i.metadata.portableFileInventory===void 0){if(!r.startsWith(`${T.join(t,"assets")}${T.sep}`))throw new Error(`Work asset ${e.id} must resolve inside the Taskset assets directory.`)}else{let s=V.parse(i.metadata.portableFileInventory).find(o=>o.asset.id===e.id&&o.sourcePath===e.artifactRef);if(!s||s.asset.visibility!=="policy"||s.asset.contentHash!==e.sha256||s.asset.sizeBytes!==e.sizeBytes||s.asset.mediaType!==e.mediaType)throw new Error(`Taskset asset ${e.id} differs from its declared policy inventory.`)}return r}f(xe,"resolveTasksetPolicyAssetPath");async function De(a,i){let e=V.parse(i.metadata.portableFileInventory??[]);for(let t of e){let r=T.resolve(a,t.sourcePath);if(!r.startsWith(`${T.resolve(a)}${T.sep}`))throw new Error("Taskset inventory file escapes its package.");let d=await se(r);if(!d.isFile()||d.isSymbolicLink())throw new Error("Taskset inventory requires regular files.");let s=await oe(r);if(s.length!==t.asset.sizeBytes||$(s)!==t.asset.contentHash)throw new Error(`Taskset file differs from its immutable inventory: ${t.asset.id}.`)}for(let t of i.tasks)for(let r of t.assets??[]){let d=xe(a,i,r),s=await se(d);if(!s.isFile()||s.isSymbolicLink())throw new Error(`Taskset asset ${r.id} is not a regular file.`);let o=await oe(d);if(o.byteLength!==r.sizeBytes||$(o)!==r.sha256)throw new Error(`Taskset asset ${r.id} does not match its immutable manifest.`)}}f(De,"verifyPublishedTasksetAssets");function Ee(a){let i=B.parse(a.setup),e=typeof a.package=="object"&&a.package!==null&&"schemaVersion"in a.package&&a.package.schemaVersion==="openpond.tasksetPackage.v1"?ee(a.package):null,t=e?null:q(a.package),r=e??t,d=i.tasksetRef;if(!(d&&d.revision===r.taskset.revision&&(e?d.id===e.taskset.id&&d.contentHash===e.taskset.contentHash||d.id===e.taskset.metadata.sourceTasksetId&&d.contentHash===e.taskset.metadata.sourceTasksetHash:d.id===r.taskset.id)))return i;!i.evaluationTasksetRef&&r.taskset.tasks.some(h=>h.split==="frozen_eval"||h.split==="validation")&&(i.evaluationTasksetRef=i.tasksetRef);let o=i.baseModel;if(i.method!=="grpo"||i.recipe||!o?.revision||!o.tokenizerRevision||!o.chatTemplateHash)return i;let m=r.taskset.tasks.filter(h=>h.split==="train"),b=e?e.taskset.graders:H(t.rewardBinding,t.rewards),u=b.find(h=>h.rewardEligible&&h.weight>0),v=e?.environment??t?.executionResources?.environment??t?.execution?.environment;if(!m.length||!u||!v)return i;let S=8,x=8;return B.parse({...i,recipe:{schemaVersion:"openpond.rftRecipe.v1",method:"grpo",parameterization:"lora",baseModel:{id:o.modelId,revision:o.revision,tokenizerRevision:o.tokenizerRevision,chatTemplateHash:o.chatTemplateHash},dataset:{trainSplit:"train",validationSplit:r.taskset.tasks.some(h=>h.split==="frozen_eval")?"frozen_eval":"validation",maxPromptTokens:4096,maxExamples:Math.min(1e3,m.length),selectionStrategy:"stable_hash_top_n"},lora:{rank:2},rollout:{groupSize:S,concurrency:4,maxTurns:r.taskset.environment.kind==="text"?1:15,maxOutputTokens:1024,temperature:.8,topP:.95,seed:17},optimizer:{learningRate:1e-4,maxSteps:x,clipRange:.2,iterations:2,microbatchSize:1,gradientAccumulationSteps:S,advantageEpsilon:1e-8,adamw:{name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8}},loss:{method:"grpo",klBeta:.01},reward:{graderId:u.id,graderHash:A(b),environmentId:v.id,environmentVersion:String(v.revision),toolContractHash:A(r.taskset.tools),learnedPreference:null},resourceLimits:{wallTimeMs:3960*1e3,maxRollouts:x*S,maxPayloadBytes:1e6},policyOptimization:null}})}f(Ee,"prepareModelTrainingDefaults");var M=c.string().trim().min(1).max(500),w=U,ne=c.object({schemaVersion:c.literal("openpond.modelStarter.v1"),id:M,revision:c.number().int().positive(),name:c.string().trim().min(1).max(200),description:c.string().trim().min(1).max(2e3),category:c.enum(["extraction","support","operations","knowledge","coding","writing","classification"]),taskset:w,taskDefinition:w,rewardBinding:w,rewards:c.array(w).min(1).max(100),assets:c.array(w).max(1e3),previewTaskIds:c.array(M).min(1).max(8),startingModel:F,supportedMethods:c.array(z).min(1).max(8),defaultMethod:z,provenance:c.object({author:c.string().min(1).max(200),license:c.string().min(1).max(200),sourceDescription:c.string().min(1).max(2e3)}).strict(),evidence:c.object({verifierFixtures:w.nullable(),baseline:w.nullable(),training:w.nullable(),evaluation:w.nullable()}).strict()}).strict().superRefine((a,i)=>{a.supportedMethods.includes(a.defaultMethod)||i.addIssue({code:"custom",path:["defaultMethod"],message:"The default method must be supported by the package."});for(let e of["rewards","assets"])new Set(a[e].map(t=>t.id)).size!==a[e].length&&i.addIssue({code:"custom",path:[e],message:"Dependency identities must be unique."});new Set(a.previewTaskIds).size!==a.previewTaskIds.length&&i.addIssue({code:"custom",path:["previewTaskIds"],message:"Preview tasks must be unique."})}),ce=ne.safeExtend({contentHash:c.string().regex(/^[a-f0-9]{64}$/)}),de=c.object({starter:ce,taskset:O,taskDefinition:K,rewardBinding:X,rewards:c.array(W).min(1).max(100),assets:c.array(Y).max(1e3),execution:D.optional()}).strict(),le=c.object({schemaVersion:c.literal("openpond.modelStarterPrivacyReview.v1"),disposition:c.literal("synthetic_only"),reviewedBy:c.string().trim().min(1).max(500),reviewedAt:c.iso.datetime(),reviewedContentHash:c.string().regex(/^[a-f0-9]{64}$/),note:c.string().trim().min(1).max(2e3)}).strict();function me(a){let{contentHash:i,...e}=a.starter,{contentHash:t,...r}=a.taskset,{contentHash:d,...s}=e.taskset,o={...r.metadata},m=o.starterAuthoring;if(m&&typeof m=="object"&&!Array.isArray(m)){let{privacyReview:b,...u}=m;o.starterAuthoring=u}return k({...a,starter:{...e,taskset:s},taskset:{...r,metadata:o}}).contentHash}f(me,"modelStarterPrivacyContentHash");var pe=c.object({profileId:M,modelId:M,name:c.string().trim().min(1).max(200),starter:w,startingModel:F,method:z,rewardBindingRef:w.nullable().optional(),learning:Q.optional()}).strict(),fe=pe.extend({schemaVersion:c.literal("openpond.modelStarterCreation.v1"),operationId:M}).strict();function ue(a){return C(a,64*1024),fe.parse(a)}f(ue,"parseModelStarterCreationRequest");function Me(a,i){let e=ue(a),t=L(i);if(!I(e.starter,P(t.starter)))throw new Error("Starter creation references a different package revision.");if(!t.starter.supportedMethods.includes(e.method))throw new Error("The selected training method is not supported by this starter.");return{request:e,resolved:t}}f(Me,"validateModelStarterCreation");function Re(a){let{starter:i,taskset:e,taskDefinition:t,rewardBinding:r,rewards:d}=L(a);return{starter:i,inputSchema:t.inputSchema,outputSchema:t.outputSchema,reward:{name:r.name,description:r.description,checks:r.sources.map(s=>{let o=d.find(m=>I(s.reward,P(m)));return{name:o.name,description:o.description,kind:o.implementation.kind,role:s.role,weight:s.weight,required:s.required,hardGate:s.hardGate}})},tasks:i.previewTaskIds.map(s=>{let o=e.tasks.find(m=>m.id===s);return{id:o.id,input:o.input,policyVisibleContext:o.policyVisibleContext}}),counts:{train:e.tasks.filter(s=>s.split==="train").length,validation:e.tasks.filter(s=>s.split==="validation").length,frozenEvaluation:e.tasks.filter(s=>s.split==="frozen_eval").length}}}f(Re,"previewModelStarter");function L(a){C(a,16*1024*1024);let i=de.parse(a),{starter:e,taskset:t,taskDefinition:r,rewardBinding:d,rewards:s,assets:o}=i,m=t.metadata.starterAuthoring;if(m&&typeof m=="object"&&!Array.isArray(m)&&"privacyReview"in m&&le.parse(m.privacyReview).reviewedContentHash!==me(i))throw new Error("Starter privacy review differs from the published contents.");let b=[e,t,r,d,...s,...o];for(let n of b){let{contentHash:l,...p}=n;if(k(p).contentHash!==l)throw new Error(`Starter resource integrity failed: ${n.id}.`)}J(t),Z(i.execution,t,o);function u(n,l){if(!I(n,P(l)))throw new Error(`Starter dependency mismatch: ${n.id}.`)}if(f(u,"exact"),u(e.taskset,t),u(e.taskDefinition,r),u(e.rewardBinding,d),u(r.rewardBinding,d),d.recipeRef)throw new Error("Starter binding recipes must be resolved into a standalone binding before publication.");let{policy:v,environment:S,environmentRelease:x,tools:h,capabilities:he,verifierSetRelease:G}=t,we={policy:v,environment:S,...x?{environmentRelease:x}:{},tools:h,capabilities:he,...G?{verifierSetRelease:G}:{}};if(k(we).contentHash!==k(r.execution).contentHash)throw new Error("Starter execution context differs from its task format.");if(k({graders:t.graders}).contentHash!==k({graders:H(d,s)}).contentHash)throw new Error("Starter executable graders differ from its Reward binding.");for(let[n,l]of[[e.rewards,s],[e.assets,o]]){if(n.length!==l.length||new Set(l.map(p=>p.id)).size!==l.length)throw new Error("Starter dependency inventory mismatch.");for(let p of n){let y=l.find(R=>R.id===p.id);if(!y)throw new Error(`Starter dependency is missing: ${p.id}.`);u(p,y)}}for(let n of d.sources){let l=s.find(p=>p.id===n.reward.id);if(!l)throw new Error(`Starter Reward is missing: ${n.reward.id}.`);u(n.reward,l)}for(let n of s){let l=n.implementation,p=[...n.assets,..."verifierRef"in l?[l.verifierRef]:[],..."rubricRef"in l?[l.rubricRef]:[],..."inputContract"in l?[l.inputContract]:[]];for(let y of p){let R=o.find(ke=>ke.id===y.id);if(!R||k(R.asset).contentHash!==k(y).contentHash)throw new Error(`Starter Reward source is missing or changed: ${y.id}.`);if(y.visibility==="policy")throw new Error(`Starter Reward source must remain private to its evaluator: ${y.id}.`)}}if(new Set(t.tasks.map(n=>n.id)).size!==t.tasks.length)throw new Error("Starter task identities must be unique.");let N=new Map;for(let n of t.tasks){if(n.policyVisibleContext.instructions!==r.instructions)throw new Error(`Starter task does not carry its declared model instructions: ${n.id}.`);let l=k({input:n.input,context:n.policyVisibleContext}).contentHash,p=N.get(l);if(p&&p!==n.split)throw new Error("Starter policy input appears in multiple splits.");if(N.set(l,n.split),!j(r.inputSchema,n.input).valid)throw new Error(`Starter task input does not match its format: ${n.id}.`);if(n.expectedOutput!==null&&!j(r.outputSchema,n.expectedOutput).valid)throw new Error(`Starter expected output does not match its format: ${n.id}.`)}for(let n of e.previewTaskIds){let l=t.tasks.find(p=>p.id===n);if(!l||l.split==="frozen_eval")throw new Error(`Starter preview task is unavailable: ${n}.`)}return i}f(L,"validateResolvedModelStarter");export{Ee as a,ce as b,le as c,ue as d,Me as e,Re as f,L as g,ze as h,be as i,xe as j,De as k};
|