openpond 0.2.63 → 0.2.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +76 -2
- package/dist/app-server.js +1 -1
- package/dist/chunks/account-context-TIJOM22A.js +12 -0
- package/dist/chunks/acp-PHMBLRCV.js +2 -0
- package/dist/chunks/acp-agent-A7GK2VSH.js +19 -0
- package/dist/chunks/actions-command-VLKMHCMI.js +2 -0
- package/dist/chunks/app-layer-J66CQ2QN.js +3 -0
- package/dist/chunks/app-server-connected-apps-IB6M35NS.js +2 -0
- package/dist/chunks/app-server-evaluations-V6LRWDUF.js +2 -0
- package/dist/chunks/app-server-harness-services-6ZRLA3YD.js +2 -0
- package/dist/chunks/app-server-runtime-OMR2VE6L.js +2 -0
- package/dist/chunks/apps-IHUFERZO.js +2 -0
- package/dist/chunks/{chunk-NZTCH6K5.js → chunk-2GJD23CM.js} +1 -1
- package/dist/chunks/{chunk-BKEDG3A4.js → chunk-2MEOUS24.js} +1 -1
- package/dist/chunks/{chunk-DUL6DXOI.js → chunk-2W22IXHB.js} +1 -1
- package/dist/chunks/{chunk-GGJUWIGR.js → chunk-36FNNR5N.js} +1 -1
- package/dist/chunks/chunk-3BJ7LPE3.js +2 -0
- package/dist/chunks/chunk-3MVKXAH7.js +2 -0
- package/dist/chunks/{chunk-UTNGEMW5.js → chunk-3WJQ4IGK.js} +1 -1
- package/dist/chunks/{chunk-G6OR5NB6.js → chunk-4D3CICBG.js} +1 -1
- package/dist/chunks/chunk-4DYWVGVS.js +2 -0
- package/dist/chunks/{chunk-KUPJNBWG.js → chunk-4JYTFEND.js} +1 -1
- package/dist/chunks/chunk-4MQHIFZL.js +2 -0
- package/dist/chunks/chunk-4TO743HO.js +4 -0
- package/dist/chunks/{chunk-B4RKHHF7.js → chunk-4TTXNVCE.js} +1 -1
- package/dist/chunks/{chunk-3YXYBYWK.js → chunk-4V73I4OL.js} +1 -1
- package/dist/chunks/chunk-55Q64WWF.js +2 -0
- package/dist/chunks/{chunk-F7QTIHXX.js → chunk-5AU5Y6KS.js} +1 -1
- package/dist/chunks/chunk-5HPZGLOL.js +2 -0
- package/dist/chunks/{chunk-LCSBCCYC.js → chunk-5JVJQA5H.js} +1 -1
- package/dist/chunks/chunk-5KJMFK65.js +2 -0
- package/dist/chunks/{chunk-BSPFY3Y5.js → chunk-5KWKSR4P.js} +1 -1
- package/dist/chunks/chunk-5WPMI6QX.js +2 -0
- package/dist/chunks/{chunk-SHJY5RLU.js → chunk-5Z3AU5CL.js} +1 -1
- package/dist/chunks/{chunk-DQI5TE6A.js → chunk-66HFW4OU.js} +1 -1
- package/dist/chunks/{chunk-NT7N6KLE.js → chunk-67HXM6AL.js} +1 -1
- package/dist/chunks/{chunk-J7ZTPXRQ.js → chunk-6C3CXME7.js} +1 -1
- package/dist/chunks/{chunk-PWK5Z5S3.js → chunk-6ESBAHWK.js} +1 -1
- package/dist/chunks/{chunk-XNOMIWEY.js → chunk-6I5AUTVO.js} +1 -1
- package/dist/chunks/{chunk-OG33QAG6.js → chunk-6S2MWJVD.js} +1 -1
- package/dist/chunks/{chunk-KCOTDUGW.js → chunk-6TRVEA3T.js} +1 -1
- package/dist/chunks/chunk-6ZTP6CUJ.js +2 -0
- package/dist/chunks/{chunk-4L6DU6Z2.js → chunk-7FBWUVX7.js} +1 -1
- package/dist/chunks/{chunk-GPL2Z65R.js → chunk-7P5SH3CI.js} +2 -2
- package/dist/chunks/chunk-7PKTCMZ6.js +2 -0
- package/dist/chunks/chunk-7XOUM6RK.js +2 -0
- package/dist/chunks/chunk-A77DLBR4.js +2 -0
- package/dist/chunks/chunk-AF3AVDPP.js +2 -0
- package/dist/chunks/{chunk-RV7PUSI2.js → chunk-AJXWJLZA.js} +1 -1
- package/dist/chunks/chunk-AMC4Z7G4.js +2 -0
- package/dist/chunks/chunk-ANG2YMMD.js +2 -0
- package/dist/chunks/{chunk-ZPTKR3GB.js → chunk-B32CW3NT.js} +1 -1
- package/dist/chunks/{chunk-Y766IN7Y.js → chunk-B666Z2NS.js} +1 -1
- package/dist/chunks/chunk-BJXPQIVD.js +2 -0
- package/dist/chunks/{chunk-WBUK73ST.js → chunk-BL3CZWWD.js} +1 -1
- package/dist/chunks/{chunk-XMHIQ3SK.js → chunk-BTJACFU3.js} +2 -2
- package/dist/chunks/{chunk-25XXZS3E.js → chunk-C5B3FMV3.js} +1 -1
- package/dist/chunks/chunk-CRDKBFRN.js +2 -0
- package/dist/chunks/chunk-CYQLXS2U.js +2 -0
- package/dist/chunks/{chunk-N4VHLJBZ.js → chunk-D7R2AAX2.js} +1 -1
- package/dist/chunks/{chunk-LSZJ5M3X.js → chunk-DAEUVT2I.js} +1 -1
- package/dist/chunks/{chunk-ELX7VRSU.js → chunk-DIDQHTAX.js} +1 -1
- package/dist/chunks/chunk-DMO3UIS7.js +6 -0
- package/dist/chunks/{chunk-4BJGUCHY.js → chunk-DRMOHADV.js} +1 -1
- package/dist/chunks/{chunk-FYYYECHE.js → chunk-DSJZS77R.js} +4 -4
- package/dist/chunks/{chunk-7HRLWPPZ.js → chunk-DXA2UHBE.js} +1 -1
- package/dist/chunks/chunk-E2S2EMYQ.js +10 -0
- package/dist/chunks/{chunk-T6JN4PND.js → chunk-EBOTNBUS.js} +1 -1
- package/dist/chunks/chunk-ECOH24MC.js +9 -0
- package/dist/chunks/{chunk-6PKXJEJM.js → chunk-EICS777E.js} +1 -1
- package/dist/chunks/{chunk-4SZ3HKHU.js → chunk-EVQISX7M.js} +1 -1
- package/dist/chunks/chunk-FEQ7HNJR.js +2 -0
- package/dist/chunks/{chunk-2HAWOMZK.js → chunk-FGOTSCSE.js} +1 -1
- package/dist/chunks/{chunk-IWWXIUAQ.js → chunk-FHLSLOKH.js} +8 -8
- package/dist/chunks/{chunk-BU27SLZP.js → chunk-FS2VKOT7.js} +1 -1
- package/dist/chunks/{chunk-4FNCBA3Y.js → chunk-FUFI4THX.js} +1 -1
- package/dist/chunks/{chunk-W5W4IODW.js → chunk-FYWQWKVS.js} +1 -1
- package/dist/chunks/{chunk-IZ56L2ZK.js → chunk-G4747MOW.js} +1 -1
- package/dist/chunks/{chunk-J572ANHX.js → chunk-G4E3WGLM.js} +4 -4
- package/dist/chunks/{chunk-P7HRF4FM.js → chunk-GD3RCUDH.js} +1 -1
- package/dist/chunks/{chunk-HUCBKXTU.js → chunk-GDJ4X2ZN.js} +1 -1
- package/dist/chunks/{chunk-JHR3LF2F.js → chunk-GF55VEMR.js} +1 -1
- package/dist/chunks/{chunk-GXCUH2VV.js → chunk-GFAI2MCJ.js} +3 -3
- package/dist/chunks/{chunk-KOKX7PBS.js → chunk-GI7LTJV3.js} +1 -1
- package/dist/chunks/{chunk-TCOTXCV6.js → chunk-GIU3Z45P.js} +1 -1
- package/dist/chunks/{chunk-GXZCMO6S.js → chunk-GRLQHYAU.js} +2 -2
- package/dist/chunks/{chunk-M3SCON53.js → chunk-GUG2SWRZ.js} +1 -1
- package/dist/chunks/{chunk-JQRMDFF3.js → chunk-H42UW6IF.js} +1 -1
- package/dist/chunks/{chunk-EZRUWIP6.js → chunk-H5ML7735.js} +1 -1
- package/dist/chunks/{chunk-VNJAAYNQ.js → chunk-HIQPGYVH.js} +1 -1
- package/dist/chunks/{chunk-DLANLLKH.js → chunk-HNDAGZCF.js} +1 -1
- package/dist/chunks/{chunk-OE22TAXP.js → chunk-HNQPEOJD.js} +1 -1
- package/dist/chunks/chunk-HORMGT2Q.js +2 -0
- package/dist/chunks/{chunk-2V4LPUBH.js → chunk-HPTEJBP4.js} +1 -1
- package/dist/chunks/{chunk-UWHIU24L.js → chunk-HVM2GUM3.js} +1 -1
- package/dist/chunks/{chunk-NEJLJ2XY.js → chunk-HX6GXMDK.js} +1 -1
- package/dist/chunks/chunk-I3NYYOSS.js +2 -0
- package/dist/chunks/{chunk-LV3CQ72P.js → chunk-I6VMRQF4.js} +1 -1
- package/dist/chunks/{chunk-QU4UE73E.js → chunk-IEVJLG3V.js} +1 -1
- package/dist/chunks/chunk-IOSBGCRT.js +2 -0
- package/dist/chunks/{chunk-SO42ZB5K.js → chunk-JBFPTEVE.js} +1 -1
- package/dist/chunks/{chunk-G32BO6M5.js → chunk-JD76ANPN.js} +1 -1
- package/dist/chunks/{chunk-ERJV5BMC.js → chunk-JFZ6USNQ.js} +1 -1
- package/dist/chunks/{chunk-UPWJSNL5.js → chunk-JLW5BQVO.js} +1 -1
- package/dist/chunks/chunk-JRGECNP3.js +2 -0
- package/dist/chunks/{chunk-DABBHWSF.js → chunk-KAWXVMHI.js} +1 -1
- package/dist/chunks/chunk-KGUPAPGR.js +2 -0
- package/dist/chunks/{chunk-AHOBCBVZ.js → chunk-KOKBDIGR.js} +1 -1
- package/dist/chunks/chunk-KTIBXRWQ.js +2 -0
- package/dist/chunks/chunk-L4EJ5R3B.js +23 -0
- package/dist/chunks/{chunk-SI5W5LBV.js → chunk-LARJARMS.js} +1 -1
- package/dist/chunks/{chunk-MPNJ2BB4.js → chunk-LE75SVEL.js} +1 -1
- package/dist/chunks/{chunk-ERT32RZA.js → chunk-LI3FTPAH.js} +5 -5
- package/dist/chunks/chunk-LK77GI6M.js +2 -0
- package/dist/chunks/chunk-LOIYNRBC.js +33 -0
- package/dist/chunks/{chunk-7WYL2IDD.js → chunk-LXZLLTYQ.js} +1 -1
- package/dist/chunks/{chunk-RZUCVF2Q.js → chunk-LYVHYT3L.js} +1 -1
- package/dist/chunks/{chunk-MWXW2CA6.js → chunk-LZPCA6DH.js} +1 -1
- package/dist/chunks/{chunk-GVARQXYI.js → chunk-M5QPL5NO.js} +1 -1
- package/dist/chunks/{chunk-WWQNMC7C.js → chunk-MCBRB5D6.js} +1 -1
- package/dist/chunks/chunk-MHPCVQOE.js +2 -0
- package/dist/chunks/chunk-MMJU6PZV.js +2 -0
- package/dist/chunks/chunk-MVPKU72J.js +4 -0
- package/dist/chunks/{chunk-AGVOGPAZ.js → chunk-MWS2NAHJ.js} +1 -1
- package/dist/chunks/{chunk-R6VJDOQM.js → chunk-N2AV7PHV.js} +4 -4
- package/dist/chunks/{chunk-R6WMY6AH.js → chunk-NTM3KQ25.js} +1 -1
- package/dist/chunks/chunk-NXN7GJOH.js +2 -0
- package/dist/chunks/chunk-O6ZYDHEJ.js +3 -0
- package/dist/chunks/chunk-OKEC2EIE.js +2 -0
- package/dist/chunks/{chunk-KCV5VN4X.js → chunk-OKKNDQJF.js} +1 -1
- package/dist/chunks/{chunk-ZYVHOVKL.js → chunk-OPTJYDZN.js} +1 -1
- package/dist/chunks/{chunk-NJLULBTM.js → chunk-OTDDXEQ6.js} +1 -1
- package/dist/chunks/{chunk-RDSVU6F6.js → chunk-OTUS7NTQ.js} +1 -1
- package/dist/chunks/{chunk-UH4JSSRL.js → chunk-OTXGAKFH.js} +8 -8
- package/dist/chunks/chunk-OW3EOC5Q.js +4 -0
- package/dist/chunks/chunk-OXRVILDW.js +2 -0
- package/dist/chunks/{chunk-JEISPWWM.js → chunk-PWKJ5KLZ.js} +1 -1
- package/dist/chunks/{chunk-RFMME46Z.js → chunk-PYNW5OFA.js} +1 -1
- package/dist/chunks/{chunk-AKGCM53D.js → chunk-Q3WXB465.js} +1 -1
- package/dist/chunks/{chunk-KHTAAVC2.js → chunk-Q4AXZY2P.js} +1 -1
- package/dist/chunks/{chunk-QJ6KUVAR.js → chunk-QAEZNFAM.js} +1 -1
- package/dist/chunks/{chunk-ABF3W2MO.js → chunk-QAFXQHHG.js} +2 -2
- package/dist/chunks/chunk-QCJY6FTC.js +3 -0
- package/dist/chunks/{chunk-5MHYGMJG.js → chunk-QJJNHKLT.js} +1 -1
- package/dist/chunks/{chunk-ERL2M773.js → chunk-QYQZQVVN.js} +1 -1
- package/dist/chunks/{chunk-VVNV4NNW.js → chunk-RCT3O3HQ.js} +1 -1
- package/dist/chunks/{chunk-7R56WC7L.js → chunk-RHMULF56.js} +1 -1
- package/dist/chunks/chunk-RRWL5BHZ.js +2 -0
- package/dist/chunks/{chunk-RG3NH6YQ.js → chunk-S4WILIRA.js} +1 -1
- package/dist/chunks/{chunk-N33D7KCW.js → chunk-S6UCVXBC.js} +1 -1
- package/dist/chunks/{chunk-IHB5GTOJ.js → chunk-SAZTOGX6.js} +3 -3
- package/dist/chunks/{chunk-2EPR4HLF.js → chunk-SH7POUVX.js} +6 -6
- package/dist/chunks/{chunk-NLYZ5K7U.js → chunk-SSJV3VX7.js} +1 -1
- package/dist/chunks/chunk-TBODQT4W.js +2 -0
- package/dist/chunks/chunk-TGULVWPV.js +2 -0
- package/dist/chunks/{chunk-HIYQPZ7C.js → chunk-TPOAAJKA.js} +1 -1
- package/dist/chunks/{chunk-42V4NV2F.js → chunk-TVDZXDQW.js} +1 -1
- package/dist/chunks/{chunk-FVRII5XO.js → chunk-U2BD545L.js} +1 -1
- package/dist/chunks/chunk-UK5LGSGT.js +2 -0
- package/dist/chunks/{chunk-HFJUXKT5.js → chunk-ULJZ7NUF.js} +1 -1
- package/dist/chunks/chunk-UM6EQOT2.js +161 -0
- package/dist/chunks/chunk-UN2LKLGV.js +2 -0
- package/dist/chunks/{chunk-4NXEYPPX.js → chunk-UOFDKMRU.js} +1 -1
- package/dist/chunks/{chunk-2ITZW2CN.js → chunk-UTIELP6F.js} +1 -1
- package/dist/chunks/{chunk-NWQL6FNF.js → chunk-V3KEG6MI.js} +1 -1
- package/dist/chunks/{chunk-BPZOABMC.js → chunk-V3S2B6WU.js} +2 -2
- package/dist/chunks/{chunk-ZG6353RM.js → chunk-VD2TQCMH.js} +1 -1
- package/dist/chunks/{chunk-4ZBOYWQ3.js → chunk-VS2LOUCT.js} +1 -1
- package/dist/chunks/{chunk-V7KR74NO.js → chunk-VS3AMJEK.js} +1 -1
- package/dist/chunks/{chunk-YCZZ62C2.js → chunk-W22KWKF6.js} +1 -1
- package/dist/chunks/chunk-W7NXFRHN.js +2 -0
- package/dist/chunks/{chunk-DTTFUANI.js → chunk-WBO6FQHR.js} +2 -2
- package/dist/chunks/{chunk-5ZBLCWEJ.js → chunk-WJSJXK2N.js} +1 -1
- package/dist/chunks/{chunk-C2LAEGOW.js → chunk-WKHGXLJD.js} +2 -2
- package/dist/chunks/{chunk-H6C4MAUN.js → chunk-WLQEONBF.js} +1 -1
- package/dist/chunks/chunk-WLZJOCLA.js +10 -0
- package/dist/chunks/chunk-WMBOXX7G.js +2 -0
- package/dist/chunks/{chunk-PF56N7ZY.js → chunk-X2J2P5ZT.js} +5 -5
- package/dist/chunks/{chunk-AH26AQN7.js → chunk-XHBMK6LC.js} +1 -1
- package/dist/chunks/{chunk-ZZHXQCNB.js → chunk-Y3B6ZUE6.js} +1 -1
- package/dist/chunks/{chunk-WP2L2NY2.js → chunk-YBKDEEEH.js} +1 -1
- package/dist/chunks/chunk-YRDPVTEI.js +3 -0
- package/dist/chunks/{chunk-JORRZ4BB.js → chunk-YU4JYWCA.js} +1 -1
- package/dist/chunks/{chunk-CZ5R4JXZ.js → chunk-Z2TOBS3P.js} +1 -1
- package/dist/chunks/chunk-ZFJWA4JK.js +1 -0
- package/dist/chunks/chunk-ZSZXA7WB.js +2 -0
- package/dist/chunks/{chunk-LK2K3SPM.js → chunk-ZU3YBRXS.js} +2 -2
- package/dist/chunks/{chunk-5FU5RLML.js → chunk-ZUT4EM64.js} +1 -1
- package/dist/chunks/chunk-ZWW227M3.js +2 -0
- package/dist/chunks/chunk-ZY32SZ2P.js +3 -0
- package/dist/chunks/cli-TE7RP5H7.js +2 -0
- package/dist/chunks/client-I5MYOJEJ.js +2 -0
- package/dist/chunks/command-NDHFZAKA.js +13 -0
- package/dist/chunks/configuration-command-465ODYTC.js +2 -0
- package/dist/chunks/connected-app-executor-7DYMZCD7.js +2 -0
- package/dist/chunks/connected-evidence-XPAZQRFQ.js +2 -0
- package/dist/chunks/{connected-starting-assets-JONPTII6.js → connected-starting-assets-2YX3QVDB.js} +1 -1
- package/dist/chunks/connection-GDWPMHPC.js +2 -0
- package/dist/chunks/{continual-Z7MO2PF6.js → continual-HQCFY7GN.js} +3 -3
- package/dist/chunks/core-commands-PJOGRBHJ.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-KWRTMKN6.js +4 -0
- package/dist/chunks/datasets-OTE2I4VT.js +2 -0
- package/dist/chunks/desktop-test-Q6REQJ7K.js +3 -0
- package/dist/chunks/dist-GR56E3QK.js +2 -0
- package/dist/chunks/dist-J4KHAVO3.js +2 -0
- package/dist/chunks/dist-O7HXZUBW.js +2 -0
- package/dist/chunks/enclave-7VLABNIX.js +2 -0
- package/dist/chunks/evaluation-coordination-KRCY2H4C.js +2 -0
- package/dist/chunks/experiment-improvements-7MI2VYBR.js +2 -0
- package/dist/chunks/experiments-CNUQKJZE.js +2 -0
- package/dist/chunks/experiments-VOCZ4DW3.js +2 -0
- package/dist/chunks/experiments-signal-4N344D4Y.js +2 -0
- package/dist/chunks/{extension-ZM6NI5O5.js → extension-UH34ZF7N.js} +1 -1
- package/dist/chunks/{help-7HXFWIKS.js → help-ZUKVY6RO.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +2 -0
- package/dist/chunks/host-profile-external-dataset-YRKG2GL5.js +2 -0
- package/dist/chunks/hosted-app-server-composition-DWSU6ASL.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-NZTPZTDH.js +3 -0
- package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +2 -0
- package/dist/chunks/hosted-profile-candidate-3CAT3XBI.js +3 -0
- package/dist/chunks/hosted-profile-compiler-RXU626Q6.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-CBDRKJ5J.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-CHYKDYUQ.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-H5S7JZMD.js +3 -0
- package/dist/chunks/hosted-tasksets-AMGDDB2R.js +2 -0
- package/dist/chunks/human-review-HOBGC6RC.js +2 -0
- package/dist/chunks/{import-6SI4BEKS.js → import-Q3YRFVY7.js} +2 -2
- package/dist/chunks/learning-NJLTGZFQ.js +2 -0
- package/dist/chunks/learning-XTY5VOTK.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-XEA73RGS.js +2 -0
- package/dist/chunks/local-harness-taskset-review-SW35G4DM.js +2 -0
- package/dist/chunks/local-scope-X3737QXT.js +2 -0
- package/dist/chunks/model-projects-GHWCKDON.js +2 -0
- package/dist/chunks/opchat-2LLDIWEJ.js +3 -0
- package/dist/chunks/opchat-bounded-chat-FLDS36LU.js +2 -0
- package/dist/chunks/organizations-VIFSOY6P.js +2 -0
- package/dist/chunks/{profile-O5HL5DTQ.js → profile-KIHMW2WB.js} +1 -1
- package/dist/chunks/profile-training-source-VIND2MM2.js +2 -0
- package/dist/chunks/project-action-payload-2G57RL74.js +2 -0
- package/dist/chunks/project-agent-TJLQNMLA.js +2 -0
- package/dist/chunks/published-experiment-source-D3C2AWQD.js +2 -0
- package/dist/chunks/refiner-profile-service-PPGGNVOV.js +2 -0
- package/dist/chunks/{runtime-XBA744HJ.js → runtime-VSOOPNYN.js} +2 -2
- package/dist/chunks/sandbox-command-CQO6BEMQ.js +2 -0
- package/dist/chunks/{sandbox-template-27U3FQN7.js → sandbox-template-MU33IILL.js} +1 -1
- package/dist/chunks/saved-work-LAVTNKPT.js +2 -0
- package/dist/chunks/send-turn-D3GTSSHI.js +2 -0
- package/dist/chunks/setup-HSRCZ3WR.js +2 -0
- package/dist/chunks/{src-PU7QTFO5.js → src-662QOKNP.js} +1 -1
- package/dist/chunks/{src-BLWX6DRG.js → src-CHQVWHV7.js} +117 -117
- package/dist/chunks/standalone-experiment-turn-owner-KKYIGGPF.js +2 -0
- package/dist/chunks/stdio-Z65UIX55.js +2 -0
- package/dist/chunks/store-chat-resources-ZWDYMDJF.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-FOMYYS25.js → store-continual-support-reviews-7PDLGRWF.js} +1 -1
- package/dist/chunks/store-conversation-serving-WRT4N7N2.js +2 -0
- package/dist/chunks/{store-create-improve-3LQMIYAP.js → store-create-improve-G46KIUVT.js} +1 -1
- package/dist/chunks/{store-datasets-3KSX7RSO.js → store-datasets-O67F75BL.js} +1 -1
- package/dist/chunks/store-evaluation-results-BEPR4LVD.js +7 -0
- package/dist/chunks/{store-harness-memory-2L7ARBR4.js → store-harness-memory-4XEUITXE.js} +1 -1
- package/dist/chunks/{store-harness-refinement-candidates-3PHL3BUY.js → store-harness-refinement-candidates-LCN4NV23.js} +1 -1
- package/dist/chunks/store-harness-workspaces-PJJQ74G6.js +2 -0
- package/dist/chunks/store-human-review-HJ3D7ZFA.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-EXNRDHCO.js +2 -0
- package/dist/chunks/store-learning-6P6IS7GH.js +2 -0
- package/dist/chunks/store-learning-credentials-EGJ2WTZI.js +2 -0
- package/dist/chunks/{store-local-experiments-QTVHJAEP.js → store-local-experiments-CBJA56X2.js} +1 -1
- package/dist/chunks/store-model-batch-review-YIVD7T2T.js +2 -0
- package/dist/chunks/{store-model-configuration-3SU73CMS.js → store-model-configuration-T6XJJDAB.js} +2 -2
- package/dist/chunks/store-model-project-preparation-WWU5CJTV.js +2 -0
- package/dist/chunks/{store-preference-comparison-DWV5XSMY.js → store-preference-comparison-XQFTLMGH.js} +1 -1
- package/dist/chunks/{store-schedules-2KUY4T6M.js → store-schedules-JPFVWL3Q.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-A4XCS7RM.js → store-sidebar-file-bookmarks-J3JEVAYR.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-V2PKRXUZ.js → store-sidebar-preferences-2JHTFXJK.js} +1 -1
- package/dist/chunks/{store-subagents-UGVEFA6M.js → store-subagents-PUBQVWSU.js} +1 -1
- package/dist/chunks/{store-task-inbox-QABI4ZAH.js → store-task-inbox-VVXZUJIO.js} +1 -1
- package/dist/chunks/{store-task-inventory-GEQIZELY.js → store-task-inventory-MQX44AI6.js} +1 -1
- package/dist/chunks/store-taskset-drafts-G3WFVN4M.js +9 -0
- package/dist/chunks/{store-training-CQV7PL3V.js → store-training-DUVIDYK5.js} +1 -1
- package/dist/chunks/{store-training-jobs-XKN6K66J.js → store-training-jobs-HHFH3V5O.js} +1 -1
- package/dist/chunks/{store-training-models-Q7DTTR4S.js → store-training-models-C7UUZDTO.js} +1 -1
- package/dist/chunks/{store-usage-XGAX7NLB.js → store-usage-6DMZM7WV.js} +1 -1
- package/dist/chunks/{store-work-evidence-VSLLZ6UF.js → store-work-evidence-77B36LRC.js} +1 -1
- package/dist/chunks/taskset-7FQCJ55X.js +2 -0
- package/dist/chunks/taskset-packages-NRRPON7B.js +2 -0
- package/dist/chunks/taskset-packages-RW4SFGDU.js +2 -0
- package/dist/chunks/{teams-bot-UTQAJA6H.js → teams-bot-D3LWA4S5.js} +1 -1
- package/dist/chunks/tool-learning-NGO7QHYK.js +2 -0
- package/dist/chunks/training-XFM3OOPN.js +2 -0
- package/dist/chunks/training-XILDD5RG.js +2 -0
- package/dist/chunks/training-error-LQKCOQDJ.js +2 -0
- package/dist/chunks/training-hardware-ESXRWUIK.js +3 -0
- package/dist/chunks/training-hosted-6BX2IASC.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +2 -0
- package/dist/chunks/training-hosted-learning-YN5VD3PW.js +2 -0
- package/dist/chunks/training-hosted-serving-N2MHWGZN.js +2 -0
- package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +2 -0
- package/dist/chunks/training-hosted-workers-6JTDCCWA.js +2 -0
- package/dist/chunks/training-model-start-E5MP3URL.js +2 -0
- package/dist/chunks/web-search-56QRZGPR.js +2 -0
- package/dist/chunks/workspaces-MCS2AQX6.js +2 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sandbox-template/manifest.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/App-BZuSv1XM.js +53 -0
- package/dist/web/assets/{AppDialog-8Y0FYalT.js → AppDialog-BILEK4np.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-BvxZ8bwD.js +2 -0
- package/dist/web/assets/{AppToastContext-BiQbbVxq.js → AppToastContext-C-FsCKXW.js} +1 -1
- package/dist/web/assets/{AppsView-Dtte4h6e.js → AppsView-BMaq5oxx.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-DgADV7dn.js → AttachmentTypeIcon-Bh7Ft_UL.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BUqDvEv9.js → BrowserSidebar-BG2MLJ9I.js} +1 -1
- package/dist/web/assets/{CartesianChart-J4ChOjvG.js → CartesianChart-CS6ES_XT.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-Dr5X_XyN.js +8 -0
- package/dist/web/assets/{ChatTimelineEntry-DztFb85D.css → ChatTimelineEntry-vs8RaEGD.css} +1 -1
- package/dist/web/assets/{CollaborationTabs-CFCpk2Ck.js → CollaborationTabs-CPJ2w67F.js} +1 -1
- package/dist/web/assets/{CommandMenu-EPPjB14H.js → CommandMenu-Fe1V7NJd.js} +1 -1
- package/dist/web/assets/{CommunityView-Okydjpqm.js → CommunityView-DHTcmOnI.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-RXCiE88M.js → ComposerAttachments-Ck9VWD6o.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CSngc8-V.js → ComposerCreateImproveStrip-yiXO7cf8.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-DS73kyfj.js → ConversationImportsSettings-_VLzUnHQ.js} +1 -1
- package/dist/web/assets/{FilePagePreview-Qc4B0vue.js → FilePagePreview-BpcM1DfE.js} +2 -2
- package/dist/web/assets/{GetStartedView-DGFPQ1We.js → GetStartedView-BH-WJ-rW.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-DFBYQdHz.js → GettingStartedDialog-CdQfj7RA.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-BDu3FlcU.js → HostedModelLearningReview-C3GsOlu9.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-CHaTHwC8.js → HostedModelLearningSettings-SSMst6dl.js} +1 -1
- package/dist/web/assets/{HtmlVisual-D9Mh7xds.js → HtmlVisual-CH0tb3fv.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DgY7lAu5.js → LabModelVersionDetailPage-J2t9yILv.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BwtlThO7.js → LabSkillSidebar-DdDYvfj2.js} +1 -1
- package/dist/web/assets/LabsRoute-MJwIjSKg.js +101 -0
- package/dist/web/assets/MainChatThread-BcwtaTDZ.js +2 -0
- package/dist/web/assets/MainPane-DDO6diPt.js +10 -0
- package/dist/web/assets/NativeSetupTerminal-BPSUFpRm.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-BEJvt5_H.js → NativeSkillSidebar-DPYavzau.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-CjrjgkTN.js → NewProjectDialog-BtmvE9Sp.js} +1 -1
- package/dist/web/assets/{OutputsPage-jzx93QQ3.js → OutputsPage-BMRY7RK2.js} +1 -1
- package/dist/web/assets/{PageChrome-C1M13qG2.js → PageChrome-5VRxH6Rp.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DZrjlMp2.js → ProjectsPage-1LHqxOMo.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-D_7KgExz.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-iznJwDMf.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-Cw1ja2GF.js → ScheduledWorkPage-Dtz4zJ0T.js} +1 -1
- package/dist/web/assets/{SettingsView-CckoIki3.js → SettingsView-BeDYNPcD.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-ByC8bDjp.js → TasksetDraftEditorPrimitives-CcvKO3YA.js} +1 -1
- package/dist/web/assets/{TeamChatView-OprnSKLF.js → TeamChatView-DaXxOkTe.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-d7A2F9Lx.js → TerminalOverlay-CF8uB4qA.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-Cyn6R6I6.js → TrainingCreationPanel-DmMO7x5T.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-Mpb5e7t5.js → TrainingDraftPanel-DCHbXjSx.js} +1 -1
- package/dist/web/assets/{TrainingRunLineage-VcKz7dIR.js → TrainingRunLineage-CwisTWs_.js} +1 -1
- package/dist/web/assets/UsageSettingsSection-Drt7gwRb.js +7 -0
- package/dist/web/assets/WorkSidebarPanel-BrIIRtGW.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-Dmbrg0-y.js +11 -0
- package/dist/web/assets/{WorkspaceEnvironmentMenu-C8y3537a.js → WorkspaceEnvironmentMenu-KEZm1gdb.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-LrEWj4UK.js → WorkspaceFileLocation-ChbOKrPO.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-NRIMXnkS.js → WorkspaceGitDialogs-BS2JQKNQ.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-CvDGjKAL.js → WorkspaceMonacoEditor-CN1hE_C4.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-BZ0BbnHv.js → WorkspacePdfPreview-Clb4m0le.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DJrjrvT0.js → WorkspacePresentationPreview-CwQsdvAR.js} +1 -1
- package/dist/web/assets/app-models-Cz3yxq4x.js +1 -0
- package/dist/web/assets/{bot-6OhUEmkE.js → bot-BNFltD5O.js} +1 -1
- package/dist/web/assets/chat-resources-CTN4f6KC.js +1 -0
- package/dist/web/assets/{chevron-down-jmVA1BIf.js → chevron-down-BnnT0tnM.js} +1 -1
- package/dist/web/assets/chevron-right-C8K5PZj7.js +1 -0
- package/dist/web/assets/{chevron-up-CstyLXH3.js → chevron-up-BAnwJJN3.js} +1 -1
- package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +9 -0
- package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +1 -0
- package/dist/web/assets/{client-choice-storage-BdQ_YDuk.js → client-choice-storage-Iuzoszas.js} +1 -1
- package/dist/web/assets/{cloud-upload-Ck1ufAr8.js → cloud-upload-CdSXJ7ms.js} +1 -1
- package/dist/web/assets/{copy-CPkbMfXt.js → copy-CBFg6m0d.js} +1 -1
- package/dist/web/assets/{createLucideIcon-CXQny8HU.js → createLucideIcon-DF2VR6WA.js} +1 -1
- package/dist/web/assets/{cssMode-CYxYl_om.js → cssMode-BSQUZhUO.js} +1 -1
- package/dist/web/assets/{external-link-CDKOLG_v.js → external-link-Cql9bKdv.js} +1 -1
- package/dist/web/assets/{folder-open-CEtOb_lK.js → folder-open-BXdVB5J1.js} +1 -1
- package/dist/web/assets/{folder-plus-CVMYZs3e.js → folder-plus-Cma2HulC.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DDyhPjxS.js → git-commit-horizontal-eF--16ps.js} +1 -1
- package/dist/web/assets/{htmlMode-DoY4V_j0.js → htmlMode-aLPlQtyU.js} +1 -1
- package/dist/web/assets/icons-c3vt7y6n.js +1 -0
- package/dist/web/assets/{image-B-PjDSwU.js → image-CqKPwnBn.js} +1 -1
- package/dist/web/assets/{index-D9WbJMSq.js → index-CM0IRu1U.js} +2 -2
- package/dist/web/assets/{info-CCnw-K3b.js → info-CqeYEqG0.js} +1 -1
- package/dist/web/assets/{jsonMode-CeOpZdPj.js → jsonMode-fu7bEcHB.js} +1 -1
- package/dist/web/assets/loader-circle-pxp89T5x.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DAbgLCqZ.js → lspLanguageFeatures-DraXQA4w.js} +1 -1
- package/dist/web/assets/{maximize-2-BZX38cpr.js → maximize-2-yMp8X9ts.js} +1 -1
- package/dist/web/assets/{message-square-CvgSecgD.js → message-square-DbIMQqfj.js} +1 -1
- package/dist/web/assets/model-display-zPvC4L2B.js +1 -0
- package/dist/web/assets/models-route-CWcJuOd0.js +1 -0
- package/dist/web/assets/{monaco.contribution-cbDqt48m.js → monaco.contribution-BQhp1CJs.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CF2JDhi4.js → monaco.contribution-Bd8EqYGR.js} +2 -2
- package/dist/web/assets/{monaco.contribution-m2ze2EsL.js → monaco.contribution-CYWKnVxQ.js} +2 -2
- package/dist/web/assets/{monaco.contribution-yeyow_-Q.js → monaco.contribution-CmbWO0tB.js} +2 -2
- package/dist/web/assets/{monitor-By0s4hxb.js → monitor-DFE2fTkT.js} +1 -1
- package/dist/web/assets/{paperclip-BJ2QgJLa.js → paperclip-D_qsKbVs.js} +1 -1
- package/dist/web/assets/{pdf-C4x-1jjP.js → pdf-DkQRsi4n.js} +1 -1
- package/dist/web/assets/play-BtlX2stU.js +1 -0
- package/dist/web/assets/plus-DbASL_gy.js +1 -0
- package/dist/web/assets/{presentation-I86G1Gd9.js → presentation-BN_kIBPL.js} +1 -1
- package/dist/web/assets/{python-CqFTPj8r.js → python-DB9pj5Hr.js} +1 -1
- package/dist/web/assets/{refresh-cw-Dga35Eay.js → refresh-cw-B27ohHfn.js} +1 -1
- package/dist/web/assets/{save-BLKjYtzR.js → save-D-rwjKop.js} +1 -1
- package/dist/web/assets/settings-lists-DgSaJQA4.js +5 -0
- package/dist/web/assets/square-C2caJ3NG.js +1 -0
- package/dist/web/assets/{square-terminal-B-n7vUex.js → square-terminal-CeoK51wH.js} +1 -1
- package/dist/web/assets/{submit-issue-command-B7Hrt2tU.js → submit-issue-command-DZNW7Evj.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BhmBE5XE.js → toggleHighContrast-Bs8L1gx0.js} +1 -1
- package/dist/web/assets/{training-QrdkRQZQ.js → training-DCdoHJ0Y.js} +2 -2
- package/dist/web/assets/{training-model-data-DB-jg6L_.js → training-model-data-wHvE7xL1.js} +1 -1
- package/dist/web/assets/{tsMode-BSWEII2p.js → tsMode-C7EqshxC.js} +1 -1
- package/dist/web/assets/{upload-C4MPhQn8.js → upload-BWgjC2Jf.js} +1 -1
- package/dist/web/assets/{useAccountSettings-9oqWdRLs.js → useAccountSettings-Dva1MpsJ.js} +1 -1
- package/dist/web/assets/{useAgentInventory-isO79ui9.js → useAgentInventory-CrjIOmvb.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CZX6PxoK.js → useLocalAgentSchedules-P-UaUKMb.js} +1 -1
- package/dist/web/assets/{useQuery-BD0Uexmh.js → useQuery-Bn3KqR4r.js} +1 -1
- package/dist/web/assets/{wifi-off-Cloe0WuQ.js → wifi-off--mKrSPFc.js} +1 -1
- package/dist/web/assets/{workers-BXagz5eg.js → workers-p0Kn2KMK.js} +1 -1
- package/dist/web/assets/x-D9GTV9ke.js +1 -0
- package/dist/web/assets/{yaml-sBdvVbCc.js → yaml-BeIdC4tu.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +44 -2
- package/package.json +1 -1
- package/dist/chunks/acp-H3MJCPHX.js +0 -2
- package/dist/chunks/acp-agent-DWA7272M.js +0 -21
- package/dist/chunks/actions-command-IIYOO4LL.js +0 -2
- package/dist/chunks/app-layer-K7H2WJ56.js +0 -3
- package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +0 -2
- package/dist/chunks/app-server-evaluations-XGMGS67X.js +0 -2
- package/dist/chunks/app-server-harness-services-BHD6S5II.js +0 -2
- package/dist/chunks/app-server-runtime-LFIL6F7D.js +0 -2
- package/dist/chunks/apps-QKAHJGQ4.js +0 -2
- package/dist/chunks/chunk-5EP2DZLJ.js +0 -2
- package/dist/chunks/chunk-6EBCS57F.js +0 -2
- package/dist/chunks/chunk-6RS4NAOY.js +0 -2
- package/dist/chunks/chunk-7O6Z3VOZ.js +0 -2
- package/dist/chunks/chunk-7YLXGILH.js +0 -2
- package/dist/chunks/chunk-7ZLXFKRI.js +0 -2
- package/dist/chunks/chunk-B5R53U74.js +0 -2
- package/dist/chunks/chunk-C2AXMKK4.js +0 -2
- package/dist/chunks/chunk-F6UQ6PPK.js +0 -2
- package/dist/chunks/chunk-GS6ZUSIN.js +0 -3
- package/dist/chunks/chunk-JSQRLLN6.js +0 -2
- package/dist/chunks/chunk-LAOLJDVB.js +0 -2
- package/dist/chunks/chunk-LKKMLBOH.js +0 -3
- package/dist/chunks/chunk-M3FLEZ4E.js +0 -4
- package/dist/chunks/chunk-MEGKXGW3.js +0 -2
- package/dist/chunks/chunk-MILEWROZ.js +0 -2
- package/dist/chunks/chunk-N42HT64M.js +0 -2
- package/dist/chunks/chunk-NG2L6D7G.js +0 -2
- package/dist/chunks/chunk-OSVGNONV.js +0 -2
- package/dist/chunks/chunk-OTUBJV6C.js +0 -6
- package/dist/chunks/chunk-PBTXLQAU.js +0 -2
- package/dist/chunks/chunk-PBZCXPPC.js +0 -10
- package/dist/chunks/chunk-SFKZITAG.js +0 -9
- package/dist/chunks/chunk-SXMR6E2W.js +0 -2
- package/dist/chunks/chunk-U2K7QJCG.js +0 -2
- package/dist/chunks/chunk-URNMC46H.js +0 -157
- package/dist/chunks/chunk-VHXDWAEH.js +0 -2
- package/dist/chunks/chunk-W2TICQ62.js +0 -2
- package/dist/chunks/chunk-WSOUMXH3.js +0 -24
- package/dist/chunks/chunk-XOB6FKQV.js +0 -2
- package/dist/chunks/chunk-YBNKGA5C.js +0 -2
- package/dist/chunks/chunk-YM4PSVFW.js +0 -4
- package/dist/chunks/chunk-YNQWJWIC.js +0 -10
- package/dist/chunks/chunk-Z3BWCFLV.js +0 -2
- package/dist/chunks/cli-PSXMIJTF.js +0 -2
- package/dist/chunks/configuration-command-XYKMXIWF.js +0 -2
- package/dist/chunks/connected-app-executor-6G2LA3PQ.js +0 -2
- package/dist/chunks/connected-evidence-IRXYN6YD.js +0 -2
- package/dist/chunks/connection-XMAAGMXJ.js +0 -2
- package/dist/chunks/core-commands-WWN7X3XC.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +0 -4
- package/dist/chunks/datasets-2PC2HP7N.js +0 -2
- package/dist/chunks/desktop-test-VU6AFAMO.js +0 -3
- package/dist/chunks/dist-47AYOIH6.js +0 -2
- package/dist/chunks/dist-HSC43RG4.js +0 -2
- package/dist/chunks/dist-MXBEBM4D.js +0 -2
- package/dist/chunks/enclave-VURYNILU.js +0 -2
- package/dist/chunks/evaluation-coordination-UOWZHHC5.js +0 -2
- package/dist/chunks/experiment-improvements-EB2CV5RA.js +0 -2
- package/dist/chunks/experiments-CLXGM3TZ.js +0 -2
- package/dist/chunks/experiments-SZQYR6MH.js +0 -2
- package/dist/chunks/experiments-signal-2KJCP25D.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +0 -2
- package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +0 -2
- package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +0 -3
- package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +0 -2
- package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +0 -3
- package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-2LSMZQNA.js +0 -3
- package/dist/chunks/hosted-tasksets-WGXGXJ7E.js +0 -2
- package/dist/chunks/human-review-M26UKGJL.js +0 -2
- package/dist/chunks/learning-HM3NWOV5.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +0 -2
- package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +0 -2
- package/dist/chunks/local-scope-62GWHDXS.js +0 -2
- package/dist/chunks/model-projects-YUAMBQTO.js +0 -2
- package/dist/chunks/opchat-AG4CWVY4.js +0 -3
- package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +0 -2
- package/dist/chunks/organizations-KDKX77XZ.js +0 -2
- package/dist/chunks/profile-training-source-3DXFM2XI.js +0 -2
- package/dist/chunks/project-action-payload-QA24HYGF.js +0 -2
- package/dist/chunks/project-agent-XBOOM5TS.js +0 -2
- package/dist/chunks/published-experiment-source-GZGN354O.js +0 -2
- package/dist/chunks/refiner-profile-service-BJMOYKTC.js +0 -2
- package/dist/chunks/sandbox-command-5ECGS7DG.js +0 -2
- package/dist/chunks/saved-work-KUNVTJ7O.js +0 -2
- package/dist/chunks/send-turn-FIPWOXWV.js +0 -2
- package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +0 -2
- package/dist/chunks/store-chat-resources-YOEJ2BI6.js +0 -2
- package/dist/chunks/store-conversation-serving-K324SQTO.js +0 -2
- package/dist/chunks/store-evaluation-results-LHCCNNE6.js +0 -7
- package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +0 -2
- package/dist/chunks/store-human-review-QJY3ZPPF.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +0 -2
- package/dist/chunks/store-learning-DW3QLQXU.js +0 -2
- package/dist/chunks/store-learning-credentials-67QNTPA7.js +0 -2
- package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +0 -2
- package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +0 -2
- package/dist/chunks/store-taskset-drafts-GXABQR5G.js +0 -9
- package/dist/chunks/taskset-ARKJQKYQ.js +0 -2
- package/dist/chunks/taskset-packages-X4K65DTW.js +0 -2
- package/dist/chunks/taskset-packages-XK7FSD45.js +0 -2
- package/dist/chunks/training-3IWW4256.js +0 -2
- package/dist/chunks/training-RVIESURJ.js +0 -2
- package/dist/chunks/training-error-2EWDOQ4G.js +0 -2
- package/dist/chunks/training-hosted-PFJHYTEU.js +0 -2
- package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +0 -2
- package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +0 -2
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +0 -2
- package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +0 -2
- package/dist/chunks/training-hosted-workers-LST4ZUXN.js +0 -2
- package/dist/chunks/training-model-start-ROLS3E4V.js +0 -2
- package/dist/chunks/web-search-7FBUBZ66.js +0 -2
- package/dist/chunks/workspaces-G3CMY7ZA.js +0 -2
- package/dist/web/assets/App-DY2R8Z6r.js +0 -53
- package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +0 -2
- package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +0 -8
- package/dist/web/assets/LabsRoute-BV7ZJGEw.js +0 -101
- package/dist/web/assets/MainChatThread-pzHKd_YN.js +0 -2
- package/dist/web/assets/MainPane-6OlLiKKb.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +0 -2
- package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +0 -1
- package/dist/web/assets/UsageSettingsSection-FhYymrfc.js +0 -7
- package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +0 -11
- package/dist/web/assets/app-models-CUA9XB9U.js +0 -1
- package/dist/web/assets/chat-resources-CI8KFVO5.js +0 -1
- package/dist/web/assets/chevron-right-BYmDQ7ti.js +0 -1
- package/dist/web/assets/chunk-ONGOAEY6-C__DQmRT.js +0 -9
- package/dist/web/assets/chunk-SQBYHWZU-DumrB9SB.js +0 -1
- package/dist/web/assets/icons-D7jkCa2d.js +0 -1
- package/dist/web/assets/loader-circle-CPaJeTDy.js +0 -1
- package/dist/web/assets/models-route-Bl_TmMl6.js +0 -1
- package/dist/web/assets/play-D_SuGDBM.js +0 -1
- package/dist/web/assets/plus-yw95Iaj8.js +0 -1
- package/dist/web/assets/settings-lists-DMKA1lCN.js +0 -5
- package/dist/web/assets/square-BY5lG2Ol.js +0 -1
- package/dist/web/assets/x-Dqpel42h.js +0 -1
- /package/dist/chunks/{chunk-IDOGNIMV.js → chunk-7J2NMUTK.js} +0 -0
- /package/dist/chunks/{chunk-PCB65K4G.js → chunk-SFR32TMJ.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{c as H}from"./chunk-BSHAIAXY.js";import{c as u,f as E,g as M,h as S}from"./chunk-3M53YXEI.js";import{q as N,t as O,u as U}from"./chunk-NG2L6D7G.js";import{f as L,h as _}from"./chunk-UGOK7VTC.js";import{a as l}from"./chunk-FTQLQJQV.js";import{readFile as x}from"node:fs/promises";import{request as J}from"node:http";import{randomUUID as V}from"node:crypto";import{createInterface as z}from"node:readline/promises";var F="http://127.0.0.1:17874",Y=128*1024*1024,W=new Set(["cancelled","completed","failed","succeeded"]);async function we(e,n,r={}){let t=n[0];if(t==="estimate"){await(await import("./training-hosted-PFJHYTEU.js")).runHostedTrainingCommand(e,["hosted-estimate-model",...n.slice(1)]);return}if(t==="start"&&u(e,"teamId")){await(await import("./training-hosted-PFJHYTEU.js")).runHostedTrainingCommand(e,["hosted-start-model",...n.slice(1)]);return}if(t?.startsWith("hosted-")){await(await import("./training-hosted-PFJHYTEU.js")).runHostedTrainingCommand(e,n);return}let o=n[1];if(!t||!["start","status","watch","logs","cancel","resume","artifacts","benchmark","create-project","prepare-project","pull-project","projects","inspect-project"].includes(t)||!o&&t!=="projects")throw new Error("usage: training <projects|inspect-project|create-project|prepare-project|pull-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> [identifier]");if(n.length>2)throw new Error(`training ${t} accepts exactly one identifier`);if(t==="projects"&&o)throw new Error("training projects does not accept an identifier; use inspect-project <id>.");let s=t==="pull-project"?u(e,"profile"):null;if(t==="pull-project"&&!s)throw new Error("training pull-project requires --profile <local-profile-id>.");let a=H(e)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??F;if(["pull-project","projects","inspect-project","prepare-project"].includes(t)){let c=new URL(a);if(c.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(c.hostname)||c.username||c.password||c.search||c.hash||c.pathname!=="/")throw new Error(`training ${t} uses the local app's HTTP loopback API; the app resolves its signed-in hosted account.`)}let i=new q({baseUrl:a,request:r.request??await K(a,{maximumResponseBytes:Y,timeoutMs:t==="pull-project"?3e5:6e4})}),d=E(e.json);if(t==="projects"||t==="inspect-project"){b(await i.inspectProjects(t==="inspect-project"?o:void 0,u(e,"profile")??void 0),d);return}if(!o)throw new Error(`training ${t} requires an identifier.`);if(t==="pull-project"){let c=u(e,"snapshotFile"),g=c?await x(c):null;if(g&&g.byteLength>64*1024*1024)throw new Error("Model pull snapshot exceeds 64 MiB.");let P=g?JSON.parse(g.toString("utf8")):void 0;b(await i.pullHostedProject(o,s,P),d);return}if(t==="create-project"){let c=await Z({client:i,options:e,tasksetId:o});b(c,d);return}if(t==="prepare-project"){await(await import("./training-project-preparation-XWGRY5ME.js")).runProjectPreparation(i,o,e);return}if(t==="benchmark"){await Q({client:i,modelId:o,options:e,json:d,sleep:r.sleep});return}if(t==="resume"){let c=await i.modelRun(o,"resume","POST");b(c,d),await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}if(t==="start"){await re({client:i,dependencies:r,json:d,modelRunId:o,options:e});return}if(t==="watch"){await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}let w=t==="status"?"status":t==="logs"?"logs":t==="artifacts"?"artifacts":"cancel",y=await i.modelRun(o,w,t==="cancel"?"POST":"GET");b(y,d)}l(we,"runTrainingCommand");async function K(e,n={}){let r=new URL(e);if(r.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(r.hostname))return fetch;let t=(await x(_(L()).token,"utf8")).trim();if(!t)throw new Error("OpenPond local capability token is empty.");let o=n.maximumResponseBytes??8388608,s=n.timeoutMs??6e4;if(!Number.isSafeInteger(s)||s<1||s>864e5)throw new Error("Local request timeout must be between one millisecond and one day.");return(async(a,i={})=>{let d=a instanceof Request?new URL(a.url):new URL(String(a));if(d.origin!==r.origin||d.username||d.password)throw new Error("Local capability requests must remain on the selected server origin.");let w=new Headers(i.headers);w.set("authorization",`Bearer ${t}`);let y={};w.forEach((g,P)=>{y[P]=g});let c=i.signal?AbortSignal.any([i.signal,AbortSignal.timeout(s)]):AbortSignal.timeout(s);return new Promise((g,P)=>{let R=!1,h=J(d,{method:i.method??"GET",headers:y},m=>{let T=[],v=0;m.on("data",f=>{if(v+=f.byteLength,v>o){m.destroy(new Error(`Local response exceeds ${o} bytes.`));return}T.push(f)}),m.once("error",k),m.once("end",()=>{if(R)return;R=!0;let f=new Headers;for(let[j,I]of Object.entries(m.headers))if(Array.isArray(I))for(let G of I)f.append(j,G);else I!==void 0&&f.set(j,I);g(new Response(new Uint8Array(Buffer.concat(T)),{status:m.statusCode??500,statusText:m.statusMessage,headers:f}))})}),k=l(m=>{R||(R=!0,P(m))},"rejectOnce");if(h.once("error",k),c){let m=l(()=>h.destroy(c.reason instanceof Error?c.reason:new Error("Training API request aborted.")),"abort");c.aborted?m():c.addEventListener("abort",m,{once:!0})}if(i.body!==void 0&&i.body!==null){if(typeof i.body!="string"&&!(i.body instanceof Uint8Array)){h.destroy(new Error("Local Training API supports string or byte request bodies."));return}h.write(i.body)}h.end()})})}l(K,"createLocalAuthenticatedRequest");var q=class{static{l(this,"TrainingApiClient")}baseUrl;request;constructor(n){this.baseUrl=n.baseUrl.replace(/\/$/,""),this.request=n.request??fetch}async modelRun(n,r,t,o){let s=await this.json(`/v1/training/model-runs/${encodeURIComponent(n)}/${r}`,t,o);return await this.attachTraining({modelRunId:n}),s}prepareModelProject(n,r){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/prepare`,"POST",r)}async startModelProject(n,r){let t=await this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/start`,"POST",r),o=t&&typeof t=="object"&&"job"in t?t.job:null;return o&&typeof o=="object"&&"id"in o&&typeof o.id=="string"&&await this.attachTraining({jobId:o.id}),t}async attachTraining(n){let r=process.env.OPENPOND_CHAT_INVOCATION;if(r)try{await this.json("/v1/chat-experiments","POST",{action:"attach_training",payload:n,invocationToken:r})}catch(t){console.error(`Training operation succeeded, but chat attachment failed: ${t instanceof Error?t.message:String(t)}. Inspect the saved job to retry attachment; do not submit it again.`)}}trainingState(n){let r=n?`?profileId=${encodeURIComponent(n)}`:"";return this.json(`/v1/training${r}`,"GET")}inspectProjects(n,r){let t=r?`?profileId=${encodeURIComponent(r)}`:"";return this.json(`/v1/training/model-projects${n?`/${encodeURIComponent(n)}`:""}${t}`,"GET")}pullHostedProject(n,r,t){return this.json(`/v1/training/hosted-model-projects/${encodeURIComponent(n)}/pull`,"POST",{profileId:r,...t!==void 0?{snapshot:t}:{}})}startHarnessRefinerBenchmark(n,r){return this.json(`/v1/training/models/${encodeURIComponent(n)}/harness-refiner-benchmark`,"POST",r)}importTasksetDraftPackage(n){return this.json("/v1/training/taskset-drafts/import","POST",n)}publishTasksetDraft(n,r){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}/publish`,"POST",r?{modelId:r}:{})}tasksetReadiness(n){return this.json("/v1/training/readiness","POST",{tasksetId:n})}deleteTasksetDraft(n){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}`,"DELETE")}saveModelProject(n){return this.json("/v1/training/models","PUT",n)}prepareLocalModelProject(n,r){return this.json(`/v1/training/model-project-preparations/${r?"apply":"prepare"}`,"POST",n)}async json(n,r,t){let o=await this.request(`${this.baseUrl}${n}`,{method:r,headers:t===void 0?{Accept:"application/json"}:{Accept:"application/json","Content-Type":"application/json"},body:t===void 0?void 0:JSON.stringify(t)}),s=await o.text(),a=null;if(s)try{a=JSON.parse(s)}catch{a=s}if(!o.ok){let i=a&&typeof a=="object"&&"error"in a&&typeof a.error=="string"?a.error:`${o.status} ${o.statusText}`.trim();throw new Error(`Training API request failed: ${i}`)}return a}};async function Q(e){let n=await e.client.trainingState(u(e.options,"profile")),r=X(n,e.modelId),t=u(e.options,"provider")||"openpond",o=u(e.options,"model")||"openpond-chat",s=u(e.options,"reasoningEffort")||"high",a=M(e.options.maxSpend,"max-spend")??10;if(a<=0)throw new Error("max-spend must be greater than zero");if(E(e.options.detach))throw new Error("Harness Refiner benchmark runs must be watched to terminal state.");let i=await e.client.startHarnessRefinerBenchmark(e.modelId,{profileId:r.profileId,model:{providerId:t,modelId:o},reasoningEffort:s==="none"?"none":s,maximumSpendUsd:a});b(i,e.json);let d=p(i,"id");if(!d)throw new Error("Benchmark start did not return a Model Run id.");await A({client:e.client,runId:d,json:e.json,intervalMs:S(e.options.intervalMs,"interval-ms")??2e3,sleep:e.sleep})}l(Q,"startHarnessRefinerBenchmark");function X(e,n){if(!e||typeof e!="object"||!("modelProjects"in e))throw new Error("Training state did not include Models.");let t=(Array.isArray(e.modelProjects)?e.modelProjects:[]).find(s=>s&&typeof s=="object"&&"id"in s&&s.id===n),o=t&&typeof t=="object"?p(t,"profileId"):null;if(!o)throw new Error(`Model ${n} was not found.`);return{profileId:o}}l(X,"modelProject");function p(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="string"&&r?r:null}l(p,"objectString");async function Z(e){let n=u(e.options,"recipe");if(!n)throw new Error("training create-project requires --recipe <versioned-recipe.json>");let r=await te(n,"Training recipe"),t=u(e.options,"profile"),o=await e.client.trainingState(t),s=ne(o,"tasksets",e.tasksetId,"Taskset"),a=t||p(s,"profileId");if(!a)throw new Error(`The Taskset has no Profile id (received ${typeof s.profileId}: ${String(s.profileId)}).`);let i=p(s,"profileId");if(i!==a)throw new Error(`Taskset ${e.tasksetId} belongs to Profile ${i??"unknown"}, not ${a}.`);let d=u(e.options,"projectId")||`model_${V()}`,w=t?o:await e.client.trainingState(a),c=D(w,"modelProjects").find(j=>p(j,"id")===d),g=C(e.options,"rolloutPlacement",["local","remote"],"local"),P=C(e.options,"gpuPlacementObjective",["fast","balanced","economical"],"balanced"),R=C(e.options,"runPreset",["small","standard","custom","small_experiment"],"custom"),h=M(e.options.maxSpend,"max-spend")??null;if(h!==null&&h<0)throw new Error("max-spend must be non-negative");let k=S(e.options.retentionDays,"retention-days")??null;if(k!==null&&k<0)throw new Error("retention-days must be non-negative");let m=p(s,"contentHash"),T=B(s,"revision");if(!m||!T||T<1)throw new Error("The Taskset does not have an immutable published revision.");let v=p(r,"method");if(!v)throw new Error("Training recipe must declare its method.");let f=ee(r);if(c){let j=$(c,"trainingSetup"),I=$(j,"tasksetRef");if(p(I,"id")!==e.tasksetId||p(c,"profileId")!==a)throw new Error(`Model Project ${d} already exists for a different Profile or Taskset.`);if($(j,"baseModel"))throw new Error(`Model Project ${d} already exists.`);return e.client.saveModelProject(await U(O.parse({...O.strip().parse(c),defaultBaseModel:f,trainingSetup:{...j,baseModel:f,recipe:r}}),B(c,"revision")??1))}return e.client.saveModelProject(await U(O.parse({id:d,profileId:a,name:u(e.options,"name")||p(s,"name")||"Managed Model",objective:u(e.options,"objective")||p(s,"objective"),defaultBaseModel:f,defaultDestinationId:u(e.options,"destination")||"openpond_managed",trainingSetup:{tasksetRef:{id:e.tasksetId,revision:T,contentHash:m},tasksetRelease:null,harnessRelease:null,baseModel:f,method:v,destinationId:u(e.options,"destination")||"openpond_managed",managedRolloutPlacement:g,managedGpuPlacementObjective:P,managedGpuRequirement:"any",runPreset:R,recipe:r,preferredMaximumSpendUsd:h,preferredRetentionDays:k}}),0))}l(Z,"createManagedModelProject");function ee(e){let n=$(e,"baseModel"),r=p(n,"id"),t=p(n,"revision"),o=p(n,"tokenizerRevision"),s=p(n,"chatTemplateHash");if(!r||!t||!o||!s)throw new Error("Managed GRPO recipe must pin baseModel id, revision, tokenizerRevision, and chatTemplateHash.");return N.parse({schemaVersion:"openpond.baseModelPreference.v1",modelId:r,revision:t,tokenizerRevision:o,chatTemplateHash:s,modelAssetId:null,source:"managed"})}l(ee,"managedBasePreferenceFromRecipe");function ne(e,n,r,t){let o=D(e,n).find(s=>p(s,"id")===r);if(!o)throw new Error(`${t} ${r} was not found.`);return o}l(ne,"trainingStateRecord");function D(e,n){if(!e||typeof e!="object"||!(n in e))return[];let r=e[n];return Array.isArray(r)?r.filter(t=>!!t&&typeof t=="object"&&!Array.isArray(t)):[]}l(D,"trainingStateRecords");function B(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="number"&&Number.isFinite(r)?r:null}l(B,"objectNumber");function $(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return r&&typeof r=="object"&&!Array.isArray(r)?r:null}l($,"objectRecord");function C(e,n,r,t){let o=u(e,n)||t;if(!r.includes(o))throw new Error(`${n} must be one of ${r.join(", ")}`);return o}l(C,"enumOption");async function te(e,n){let r;try{r=JSON.parse(await x(e,"utf8"))}catch(t){throw new Error(`Could not read ${n} ${e}: ${t instanceof Error?t.message:String(t)}`)}if(!r||typeof r!="object"||Array.isArray(r))throw new Error(`${n} must be a JSON object.`);return r}l(te,"readJsonObject");async function re(e){let n=M(e.options.maxSpend,"max-spend")??null;if(n!==null&&n<0)throw new Error("max-spend must be non-negative");let r=S(e.options.retentionDays,"retention-days")??null;if(r!==null&&r<=0)throw new Error("retention-days must be a positive integer");let t=u(e.options,"manifest"),o=t?await oe(t):void 0,s=u(e.options,"comparisonSeriesEntry")||null,a={maximumSpendUsd:n,retentionDays:r},i=await e.client.prepareModelProject(e.modelRunId,a);if(e.json||(console.log("Preparation:"),console.log(JSON.stringify(i,null,2))),!(E(e.options.yes)||await se(e.dependencies.confirm)))throw new Error("Training start cancelled.");let w=await e.client.startModelProject(e.modelRunId,{...a,exportApproved:E(e.options.exportApproved),manifest:o,comparisonSeriesEntryId:s});if(b(w,e.json),E(e.options.detach))return;let y=ie(w)??e.modelRunId;await A({client:e.client,runId:y,json:e.json,intervalMs:2e3,sleep:e.dependencies.sleep})}l(re,"startTraining");async function A(e){if(e.intervalMs<250)throw new Error("interval-ms must be at least 250");let n=e.sleep??(t=>new Promise(o=>setTimeout(o,t))),r="";for(;;){let t=await e.client.modelRun(e.runId,"status","GET"),o=JSON.stringify(t);if((e.json||o!==r)&&(b(t,e.json),r=o),W.has(ae(t)))return;await n(e.intervalMs)}}l(A,"watchTraining");async function oe(e){let n;try{n=JSON.parse(await x(e,"utf8"))}catch(r){throw new Error(`Could not read Harness Run Manifest ${e}: ${r instanceof Error?r.message:String(r)}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Harness Run Manifest must be a JSON object.");return n}l(oe,"readManifest");async function se(e){let n="Start this exact prepared training run? Downloads, provisioning, or spend may begin.";if(e)return e(n);if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("training start requires --yes when standard input is not interactive");let r=z({input:process.stdin,output:process.stdout});try{let t=await r.question(`${n} [y/N] `);return t.trim().toLowerCase()==="y"||t.trim().toLowerCase()==="yes"}finally{r.close()}}l(se,"confirmStart");function ie(e){if(!e||typeof e!="object")return null;let n="job"in e?e.job:null;return!n||typeof n!="object"||!("id"in n)?null:typeof n.id=="string"?n.id:null}l(ie,"readRunId");function ae(e){return!e||typeof e!="object"?"":"state"in e&&typeof e.state=="string"?e.state:"status"in e&&typeof e.status=="string"?e.status:""}l(ae,"readStatus");function b(e,n){if(n){console.log(JSON.stringify(e));return}console.log(JSON.stringify(e,null,2))}l(b,"printResult");export{F as a,Y as b,we as c,K as d,q as e};
|
|
2
|
+
import{c as N}from"./chunk-BSHAIAXY.js";import{c as u,f as E,g as M,h as S}from"./chunk-3M53YXEI.js";import{f as H,i as O,j as U}from"./chunk-5WPMI6QX.js";import{f as L,h as _}from"./chunk-UGOK7VTC.js";import{a as l}from"./chunk-FTQLQJQV.js";import{readFile as x}from"node:fs/promises";import{request as J}from"node:http";import{randomUUID as V}from"node:crypto";import{createInterface as z}from"node:readline/promises";var F="http://127.0.0.1:17874",Y=128*1024*1024,W=new Set(["cancelled","completed","failed","succeeded"]);async function we(e,n,r={}){let t=n[0];if(t==="estimate"){await(await import("./training-hosted-6BX2IASC.js")).runHostedTrainingCommand(e,["hosted-estimate-model",...n.slice(1)]);return}if(t==="start"&&u(e,"teamId")){await(await import("./training-hosted-6BX2IASC.js")).runHostedTrainingCommand(e,["hosted-start-model",...n.slice(1)]);return}if(t?.startsWith("hosted-")){await(await import("./training-hosted-6BX2IASC.js")).runHostedTrainingCommand(e,n);return}let o=n[1];if(!t||!["start","status","watch","logs","cancel","resume","artifacts","benchmark","create-project","prepare-project","pull-project","projects","inspect-project"].includes(t)||!o&&t!=="projects")throw new Error("usage: training <projects|inspect-project|create-project|prepare-project|pull-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> [identifier]");if(n.length>2)throw new Error(`training ${t} accepts exactly one identifier`);if(t==="projects"&&o)throw new Error("training projects does not accept an identifier; use inspect-project <id>.");let s=t==="pull-project"?u(e,"profile"):null;if(t==="pull-project"&&!s)throw new Error("training pull-project requires --profile <local-profile-id>.");let a=N(e)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??F;if(["pull-project","projects","inspect-project","prepare-project"].includes(t)){let c=new URL(a);if(c.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(c.hostname)||c.username||c.password||c.search||c.hash||c.pathname!=="/")throw new Error(`training ${t} uses the local app's HTTP loopback API; the app resolves its signed-in hosted account.`)}let i=new q({baseUrl:a,request:r.request??await K(a,{maximumResponseBytes:Y,timeoutMs:t==="pull-project"?3e5:6e4})}),d=E(e.json);if(t==="projects"||t==="inspect-project"){b(await i.inspectProjects(t==="inspect-project"?o:void 0,u(e,"profile")??void 0),d);return}if(!o)throw new Error(`training ${t} requires an identifier.`);if(t==="pull-project"){let c=u(e,"snapshotFile"),g=c?await x(c):null;if(g&&g.byteLength>64*1024*1024)throw new Error("Model pull snapshot exceeds 64 MiB.");let P=g?JSON.parse(g.toString("utf8")):void 0;b(await i.pullHostedProject(o,s,P),d);return}if(t==="create-project"){let c=await Z({client:i,options:e,tasksetId:o});b(c,d);return}if(t==="prepare-project"){await(await import("./training-project-preparation-XWGRY5ME.js")).runProjectPreparation(i,o,e);return}if(t==="benchmark"){await Q({client:i,modelId:o,options:e,json:d,sleep:r.sleep});return}if(t==="resume"){let c=await i.modelRun(o,"resume","POST");b(c,d),await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}if(t==="start"){await re({client:i,dependencies:r,json:d,modelRunId:o,options:e});return}if(t==="watch"){await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}let w=t==="status"?"status":t==="logs"?"logs":t==="artifacts"?"artifacts":"cancel",y=await i.modelRun(o,w,t==="cancel"?"POST":"GET");b(y,d)}l(we,"runTrainingCommand");async function K(e,n={}){let r=new URL(e);if(r.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(r.hostname))return fetch;let t=(await x(_(L()).token,"utf8")).trim();if(!t)throw new Error("OpenPond local capability token is empty.");let o=n.maximumResponseBytes??8388608,s=n.timeoutMs??6e4;if(!Number.isSafeInteger(s)||s<1||s>864e5)throw new Error("Local request timeout must be between one millisecond and one day.");return(async(a,i={})=>{let d=a instanceof Request?new URL(a.url):new URL(String(a));if(d.origin!==r.origin||d.username||d.password)throw new Error("Local capability requests must remain on the selected server origin.");let w=new Headers(i.headers);w.set("authorization",`Bearer ${t}`);let y={};w.forEach((g,P)=>{y[P]=g});let c=i.signal?AbortSignal.any([i.signal,AbortSignal.timeout(s)]):AbortSignal.timeout(s);return new Promise((g,P)=>{let R=!1,h=J(d,{method:i.method??"GET",headers:y},m=>{let T=[],v=0;m.on("data",f=>{if(v+=f.byteLength,v>o){m.destroy(new Error(`Local response exceeds ${o} bytes.`));return}T.push(f)}),m.once("error",k),m.once("end",()=>{if(R)return;R=!0;let f=new Headers;for(let[j,I]of Object.entries(m.headers))if(Array.isArray(I))for(let G of I)f.append(j,G);else I!==void 0&&f.set(j,I);g(new Response(new Uint8Array(Buffer.concat(T)),{status:m.statusCode??500,statusText:m.statusMessage,headers:f}))})}),k=l(m=>{R||(R=!0,P(m))},"rejectOnce");if(h.once("error",k),c){let m=l(()=>h.destroy(c.reason instanceof Error?c.reason:new Error("Training API request aborted.")),"abort");c.aborted?m():c.addEventListener("abort",m,{once:!0})}if(i.body!==void 0&&i.body!==null){if(typeof i.body!="string"&&!(i.body instanceof Uint8Array)){h.destroy(new Error("Local Training API supports string or byte request bodies."));return}h.write(i.body)}h.end()})})}l(K,"createLocalAuthenticatedRequest");var q=class{static{l(this,"TrainingApiClient")}baseUrl;request;constructor(n){this.baseUrl=n.baseUrl.replace(/\/$/,""),this.request=n.request??fetch}async modelRun(n,r,t,o){let s=await this.json(`/v1/training/model-runs/${encodeURIComponent(n)}/${r}`,t,o);return await this.attachTraining({modelRunId:n}),s}prepareModelProject(n,r){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/prepare`,"POST",r)}async startModelProject(n,r){let t=await this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/start`,"POST",r),o=t&&typeof t=="object"&&"job"in t?t.job:null;return o&&typeof o=="object"&&"id"in o&&typeof o.id=="string"&&await this.attachTraining({jobId:o.id}),t}async attachTraining(n){let r=process.env.OPENPOND_CHAT_INVOCATION;if(r)try{await this.json("/v1/chat-experiments","POST",{action:"attach_training",payload:n,invocationToken:r})}catch(t){console.error(`Training operation succeeded, but chat attachment failed: ${t instanceof Error?t.message:String(t)}. Inspect the saved job to retry attachment; do not submit it again.`)}}trainingState(n){let r=n?`?profileId=${encodeURIComponent(n)}`:"";return this.json(`/v1/training${r}`,"GET")}inspectProjects(n,r){let t=r?`?profileId=${encodeURIComponent(r)}`:"";return this.json(`/v1/training/model-projects${n?`/${encodeURIComponent(n)}`:""}${t}`,"GET")}pullHostedProject(n,r,t){return this.json(`/v1/training/hosted-model-projects/${encodeURIComponent(n)}/pull`,"POST",{profileId:r,...t!==void 0?{snapshot:t}:{}})}startHarnessRefinerBenchmark(n,r){return this.json(`/v1/training/models/${encodeURIComponent(n)}/harness-refiner-benchmark`,"POST",r)}importTasksetDraftPackage(n){return this.json("/v1/training/taskset-drafts/import","POST",n)}publishTasksetDraft(n,r){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}/publish`,"POST",r?{modelId:r}:{})}tasksetReadiness(n){return this.json("/v1/training/readiness","POST",{tasksetId:n})}deleteTasksetDraft(n){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}`,"DELETE")}saveModelProject(n){return this.json("/v1/training/models","PUT",n)}prepareLocalModelProject(n,r){return this.json(`/v1/training/model-project-preparations/${r?"apply":"prepare"}`,"POST",n)}async json(n,r,t){let o=await this.request(`${this.baseUrl}${n}`,{method:r,headers:t===void 0?{Accept:"application/json"}:{Accept:"application/json","Content-Type":"application/json"},body:t===void 0?void 0:JSON.stringify(t)}),s=await o.text(),a=null;if(s)try{a=JSON.parse(s)}catch{a=s}if(!o.ok){let i=a&&typeof a=="object"&&"error"in a&&typeof a.error=="string"?a.error:`${o.status} ${o.statusText}`.trim();throw new Error(`Training API request failed: ${i}`)}return a}};async function Q(e){let n=await e.client.trainingState(u(e.options,"profile")),r=X(n,e.modelId),t=u(e.options,"provider")||"openpond",o=u(e.options,"model")||"openpond-chat",s=u(e.options,"reasoningEffort")||"high",a=M(e.options.maxSpend,"max-spend")??10;if(a<=0)throw new Error("max-spend must be greater than zero");if(E(e.options.detach))throw new Error("Harness Refiner benchmark runs must be watched to terminal state.");let i=await e.client.startHarnessRefinerBenchmark(e.modelId,{profileId:r.profileId,model:{providerId:t,modelId:o},reasoningEffort:s==="none"?"none":s,maximumSpendUsd:a});b(i,e.json);let d=p(i,"id");if(!d)throw new Error("Benchmark start did not return a Model Run id.");await A({client:e.client,runId:d,json:e.json,intervalMs:S(e.options.intervalMs,"interval-ms")??2e3,sleep:e.sleep})}l(Q,"startHarnessRefinerBenchmark");function X(e,n){if(!e||typeof e!="object"||!("modelProjects"in e))throw new Error("Training state did not include Models.");let t=(Array.isArray(e.modelProjects)?e.modelProjects:[]).find(s=>s&&typeof s=="object"&&"id"in s&&s.id===n),o=t&&typeof t=="object"?p(t,"profileId"):null;if(!o)throw new Error(`Model ${n} was not found.`);return{profileId:o}}l(X,"modelProject");function p(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="string"&&r?r:null}l(p,"objectString");async function Z(e){let n=u(e.options,"recipe");if(!n)throw new Error("training create-project requires --recipe <versioned-recipe.json>");let r=await te(n,"Training recipe"),t=u(e.options,"profile"),o=await e.client.trainingState(t),s=ne(o,"tasksets",e.tasksetId,"Taskset"),a=t||p(s,"profileId");if(!a)throw new Error(`The Taskset has no Profile id (received ${typeof s.profileId}: ${String(s.profileId)}).`);let i=p(s,"profileId");if(i!==a)throw new Error(`Taskset ${e.tasksetId} belongs to Profile ${i??"unknown"}, not ${a}.`);let d=u(e.options,"projectId")||`model_${V()}`,w=t?o:await e.client.trainingState(a),c=D(w,"modelProjects").find(j=>p(j,"id")===d),g=C(e.options,"rolloutPlacement",["local","remote"],"local"),P=C(e.options,"gpuPlacementObjective",["fast","balanced","economical"],"balanced"),R=C(e.options,"runPreset",["small","standard","custom","small_experiment"],"custom"),h=M(e.options.maxSpend,"max-spend")??null;if(h!==null&&h<0)throw new Error("max-spend must be non-negative");let k=S(e.options.retentionDays,"retention-days")??null;if(k!==null&&k<0)throw new Error("retention-days must be non-negative");let m=p(s,"contentHash"),T=B(s,"revision");if(!m||!T||T<1)throw new Error("The Taskset does not have an immutable published revision.");let v=p(r,"method");if(!v)throw new Error("Training recipe must declare its method.");let f=ee(r);if(c){let j=$(c,"trainingSetup"),I=$(j,"tasksetRef");if(p(I,"id")!==e.tasksetId||p(c,"profileId")!==a)throw new Error(`Model Project ${d} already exists for a different Profile or Taskset.`);if($(j,"baseModel"))throw new Error(`Model Project ${d} already exists.`);return e.client.saveModelProject(await U(O.parse({...O.strip().parse(c),defaultBaseModel:f,trainingSetup:{...j,baseModel:f,recipe:r}}),B(c,"revision")??1))}return e.client.saveModelProject(await U(O.parse({id:d,profileId:a,name:u(e.options,"name")||p(s,"name")||"Managed Model",objective:u(e.options,"objective")||p(s,"objective"),defaultBaseModel:f,defaultDestinationId:u(e.options,"destination")||"openpond_managed",trainingSetup:{tasksetRef:{id:e.tasksetId,revision:T,contentHash:m},tasksetRelease:null,harnessRelease:null,baseModel:f,method:v,destinationId:u(e.options,"destination")||"openpond_managed",managedRolloutPlacement:g,managedGpuPlacementObjective:P,managedGpuRequirement:"any",runPreset:R,recipe:r,preferredMaximumSpendUsd:h,preferredRetentionDays:k}}),0))}l(Z,"createManagedModelProject");function ee(e){let n=$(e,"baseModel"),r=p(n,"id"),t=p(n,"revision"),o=p(n,"tokenizerRevision"),s=p(n,"chatTemplateHash");if(!r||!t||!o||!s)throw new Error("Managed GRPO recipe must pin baseModel id, revision, tokenizerRevision, and chatTemplateHash.");return H.parse({schemaVersion:"openpond.baseModelPreference.v1",modelId:r,revision:t,tokenizerRevision:o,chatTemplateHash:s,modelAssetId:null,source:"managed"})}l(ee,"managedBasePreferenceFromRecipe");function ne(e,n,r,t){let o=D(e,n).find(s=>p(s,"id")===r);if(!o)throw new Error(`${t} ${r} was not found.`);return o}l(ne,"trainingStateRecord");function D(e,n){if(!e||typeof e!="object"||!(n in e))return[];let r=e[n];return Array.isArray(r)?r.filter(t=>!!t&&typeof t=="object"&&!Array.isArray(t)):[]}l(D,"trainingStateRecords");function B(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="number"&&Number.isFinite(r)?r:null}l(B,"objectNumber");function $(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return r&&typeof r=="object"&&!Array.isArray(r)?r:null}l($,"objectRecord");function C(e,n,r,t){let o=u(e,n)||t;if(!r.includes(o))throw new Error(`${n} must be one of ${r.join(", ")}`);return o}l(C,"enumOption");async function te(e,n){let r;try{r=JSON.parse(await x(e,"utf8"))}catch(t){throw new Error(`Could not read ${n} ${e}: ${t instanceof Error?t.message:String(t)}`)}if(!r||typeof r!="object"||Array.isArray(r))throw new Error(`${n} must be a JSON object.`);return r}l(te,"readJsonObject");async function re(e){let n=M(e.options.maxSpend,"max-spend")??null;if(n!==null&&n<0)throw new Error("max-spend must be non-negative");let r=S(e.options.retentionDays,"retention-days")??null;if(r!==null&&r<=0)throw new Error("retention-days must be a positive integer");let t=u(e.options,"manifest"),o=t?await oe(t):void 0,s=u(e.options,"comparisonSeriesEntry")||null,a={maximumSpendUsd:n,retentionDays:r},i=await e.client.prepareModelProject(e.modelRunId,a);if(e.json||(console.log("Preparation:"),console.log(JSON.stringify(i,null,2))),!(E(e.options.yes)||await se(e.dependencies.confirm)))throw new Error("Training start cancelled.");let w=await e.client.startModelProject(e.modelRunId,{...a,exportApproved:E(e.options.exportApproved),manifest:o,comparisonSeriesEntryId:s});if(b(w,e.json),E(e.options.detach))return;let y=ie(w)??e.modelRunId;await A({client:e.client,runId:y,json:e.json,intervalMs:2e3,sleep:e.dependencies.sleep})}l(re,"startTraining");async function A(e){if(e.intervalMs<250)throw new Error("interval-ms must be at least 250");let n=e.sleep??(t=>new Promise(o=>setTimeout(o,t))),r="";for(;;){let t=await e.client.modelRun(e.runId,"status","GET"),o=JSON.stringify(t);if((e.json||o!==r)&&(b(t,e.json),r=o),W.has(ae(t)))return;await n(e.intervalMs)}}l(A,"watchTraining");async function oe(e){let n;try{n=JSON.parse(await x(e,"utf8"))}catch(r){throw new Error(`Could not read Harness Run Manifest ${e}: ${r instanceof Error?r.message:String(r)}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Harness Run Manifest must be a JSON object.");return n}l(oe,"readManifest");async function se(e){let n="Start this exact prepared training run? Downloads, provisioning, or spend may begin.";if(e)return e(n);if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("training start requires --yes when standard input is not interactive");let r=z({input:process.stdin,output:process.stdout});try{let t=await r.question(`${n} [y/N] `);return t.trim().toLowerCase()==="y"||t.trim().toLowerCase()==="yes"}finally{r.close()}}l(se,"confirmStart");function ie(e){if(!e||typeof e!="object")return null;let n="job"in e?e.job:null;return!n||typeof n!="object"||!("id"in n)?null:typeof n.id=="string"?n.id:null}l(ie,"readRunId");function ae(e){return!e||typeof e!="object"?"":"state"in e&&typeof e.state=="string"?e.state:"status"in e&&typeof e.status=="string"?e.status:""}l(ae,"readStatus");function b(e,n){if(n){console.log(JSON.stringify(e));return}console.log(JSON.stringify(e,null,2))}l(b,"printResult");export{F as a,Y as b,we as c,K as d,q as e};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as i}from"./chunk-FTQLQJQV.js";var d=class extends Error{constructor(n,r){super(`API request timed out after ${n}ms: ${r}`);this.timeoutMs=n;this.requestUrl=r;this.name="ApiTimeoutError"}timeoutMs;requestUrl;static{i(this,"ApiTimeoutError")}code="OPENPOND_API_TIMEOUT"},l=class extends Error{constructor(n,r){super(`API response exceeded ${n} bytes: ${r}`);this.maximumBytes=n;this.requestUrl=r;this.name="ApiResponseTooLargeError"}maximumBytes;requestUrl;static{i(this,"ApiResponseTooLargeError")}code="OPENPOND_API_RESPONSE_TOO_LARGE"},E=class extends Error{constructor(n,r,o,c=null){let s=c||r;super(`${o} failed: ${n}${s?` ${s}`:""}`);this.status=n;this.apiMessage=c;this.name="OpenPondApiError",this.code=r||"OPENPOND_API_ERROR"}status;apiMessage;static{i(this,"OpenPondApiError")}code};async function O(t,e,n,r={}){let{timeoutMs:o=3e4,maxResponseBytes:c=8388608,explicitBearerAuth:s=!1,...a}=r,y=`${t}${n}`,u=new Headers(a.headers);u.set("Content-Type","application/json");let p=s?void 0:process.env.OPENPOND_API_KEY,A=e?.trim()||"",x=!s&&A.startsWith("opk_"),T=p||(x?A:null);T&&!u.has("openpond-api-key")&&u.set("openpond-api-key",T),e?u.set("Authorization",x?`ApiKey ${A}`:`Bearer ${e}`):p&&!u.has("Authorization")&&u.set("Authorization",`ApiKey ${p}`);let m=new AbortController,h=new d(o,y),f=o>0?setTimeout(()=>m.abort(h),o):null;f?.unref?.();let _=w(a.signal,m.signal,o),b=i(()=>{f&&clearTimeout(f)},"cleanup");try{let g=await fetch(y,{...a,headers:u,signal:_});return P(g,{cleanup:b,maximumBytes:c,requestUrl:y,timeoutController:m,timeoutError:h})}catch(g){throw b(),m.signal.aborted?h:g}}i(O,"apiFetch");async function R(t,e){let n;try{let r=await t.text();n=r?JSON.parse(r):{}}catch(r){if(r instanceof d||r instanceof l)throw r;n={}}if(!t.ok){let r=typeof n.error=="string"?n.error:null,o=typeof n.message=="string"?n.message:null;throw new E(t.status,r,e,o)}return n}i(R,"readApiJson");function P(t,e){if(!t.body)return e.cleanup(),t;let n=Number(t.headers.get("content-length"));if(e.maximumBytes>0&&Number.isFinite(n)&&n>e.maximumBytes)throw e.cleanup(),t.body.cancel(),new l(e.maximumBytes,e.requestUrl);let r=t.body.getReader(),o=0,c=new ReadableStream({async pull(s){try{let a=await r.read();if(a.done){e.cleanup(),s.close();return}if(o+=a.value.byteLength,e.maximumBytes>0&&o>e.maximumBytes){e.cleanup(),await r.cancel(),s.error(new l(e.maximumBytes,e.requestUrl));return}s.enqueue(a.value)}catch(a){e.cleanup(),s.error(e.timeoutController.signal.aborted?e.timeoutError:a)}},async cancel(s){e.cleanup(),await r.cancel(s)}});return new Response(c,{headers:t.headers,status:t.status,statusText:t.statusText})}i(P,"boundedResponse");function w(t,e,n){return n<=0?t??void 0:t?AbortSignal.any([t,e]):e}i(w,"composedSignal");export{O as a,R as b};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{A as je,C as K,D as J,E as z,G as Me,N as _e,O,P as L,S as re,U as Fe,W as oe,X as I,Y as Ce,Z as U,_ as B,a as Z,b as ue,c as ee,h as ae,i as Se,j as xe,k as De,l as Pe,p as Ie,r as Ae,s as V,t as C,y as Ee,z as He}from"./chunk-YRDPVTEI.js";import{d as Re}from"./chunk-I6VMRQF4.js";import{V as be,X as ye}from"./chunk-QAFXQHHG.js";import{K as H,L as se,M as F,P as we,o as Te}from"./chunk-G4E3WGLM.js";import{ga as te,v as he}from"./chunk-ZY32SZ2P.js";import{i as Q,l as _,m as q,n as i}from"./chunk-RCT3O3HQ.js";import{A as m}from"./chunk-X2J2P5ZT.js";import{a as d}from"./chunk-FTQLQJQV.js";var Ye=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 ne(t){return Ye.has(C.parse(t))}d(ne,"isManagedTasksetDraftFilePath");function Be(t){let e=O(t.source),s=O(t.edited),o=t.preparation;if(o.authoringGraph!=="bound"||!e.modelResources||e.learningResources||s.modelResources||s.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==o.sourcePackageHash||!se(H(e.taskset),o.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let n=d(g=>g.taskset.graders.map(x=>x.kind==="custom_verifier"?{...x,exportName:x.exportName??"verify"}:x),"normalizedGraders");if(i(n(e))!==i(n(s)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let c=e.modelResources,T=new Map(c.assets.map(g=>[g.id,g])),a=J(s),k=J(e),p=d(g=>{let{id:x,revision:me,contentHash:fe,metadata:pe,...Xe}=g,{javascriptEnvironment:lt,...ve}=pe;return{...Xe,metadata:{...ve,resources:ve.resources??[]}}},"environmentContent"),u=d(g=>{if(!g)return null;let{id:x,revision:me,contentHash:fe,...pe}=g.execution.javascript;return pe},"javascriptContent"),R=i(p(e.environment))===i(p(s.environment))&&i(u(k))===i(u(a)),D=R?e.environment:s.environment,h=R?k:a,y=new Set([...c.assets.map(g=>g.id),...s.taskset.tasks.flatMap(g=>g.privilegedContextRef?[g.privilegedContextRef]:[]),...[s.environment.actionSchemaRef,s.environment.observationSchemaRef,s.environment.stateSchemaRef].flatMap(g=>g?[g.id]:[]),...a?.assets.map(g=>g.id)??[]]),j=new Set([...y,...s.taskset.tasks.flatMap(g=>[...g.artifactRefs.map(x=>x.id),...(g.requiredOutputs??[]).flatMap(x=>x.schemaRef?[x.schemaRef.id]:[])])]),A=Qe(e,s,j);for(let g of y){let x=A.find(fe=>fe.asset.id===g);if(!x)throw new Error(`Bound Taskset asset is missing: ${g}.`);let me=new TextDecoder("utf-8",{fatal:!0}).decode(K(x));T.set(g,we.parse(F({schemaVersion:"openpond.learningTextAsset.v1",id:g,revision:1,asset:x.asset,text:me})))}let S=_e(s),{contentHash:$,...w}=c.taskDefinition,{policy:W,environment:ce,environmentRelease:N,tools:r,capabilities:l,verifierSetRelease:v}=s.taskset,f=Te.parse(F({...w,instructions:S,execution:{policy:W,environment:ce,environmentRelease:N,tools:r,capabilities:l,verifierSetRelease:v}})),{contentHash:b,...P}=s.taskset,M=te.parse(F({...P,tasks:s.taskset.tasks.map(g=>c.instructionMode==="per_task"?g:{...g,policyVisibleContext:{...g.policyVisibleContext,instructions:S}})})),E=Pe({owner:o.lineage.owner,source:{...c,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:c.rewardBinding,rewards:c.rewards,assets:[...T.values()],edits:{taskset:M,taskDefinition:f,executionResources:{environment:D,verifierSet:s.verifierSet},...h?{execution:h.execution}:{}}}),G=xe.parse(E.taskset.metadata.modelTasksetDerivation);if(E.taskset.id!==o.tasksetId||E.taskset.revision!==o.tasksetRevision||i({...G,schemaVersion:o.lineage.schemaVersion})!==i(o.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:de,executionResources:le,...Je}=E;return L({schemaVersion:"openpond.tasksetPackage.v1",taskset:de,...le,modelResources:Je,files:A})}d(Be,"publishBoundModelTasksetDraftPackage");function Qe(t,e,s){let o=e.files,n=new Map(t.files.map(a=>[a.asset.id,{file:a,assetHash:i(a.asset)}])),c=d(a=>{let k=n.get(a.asset.id);return k!==void 0&&k.file.base64===a.base64&&k.assetHash===i(a.asset)},"isSourceFile"),T=t.files.filter(a=>ne(a.asset.path)).map(a=>{let k=`source-artifact-${i({packageHash:t.contentHash,assetId:a.asset.id})}`;return{original:a,asset:{...a.asset,id:k,path:`source-artifacts/${t.contentHash}/${i(a.asset.path)}/${a.asset.path.split("/").at(-1)}`}}});for(let{original:a,asset:k}of T){let p=T.filter(h=>i({...h.original.asset,id:a.asset.id})===i(a.asset)),R=e.files.find(h=>h.asset.id===k.id)??p.flatMap(h=>e.files.filter(y=>i(y.asset)===i(h.asset)))[0];if(!R||R.base64!==a.base64||!p.some(h=>i(h.asset)===i(R.asset)))throw new Error(`Retained Taskset source artifact differs from its original bytes: ${a.asset.id}.`);let D=o.filter(h=>h.asset.path===a.asset.path||h.asset.id===a.asset.id);if(D.some(h=>h.asset.path!==a.asset.path||h.asset.id!==a.asset.id&&h.asset.id!==`taskset-file-${i(a.asset.path)}`&&!c(h)))throw new Error(`Retained Taskset source artifact conflicts with an authored file: ${a.asset.id}.`);o=[...o.filter(h=>h.asset.id!==k.id&&h.asset.id!==a.asset.id&&(!D.includes(h)||c(h))),a]}for(let a of t.files.filter(k=>!o.some(p=>p.asset.id===k.asset.id))){if(a.asset.path==="environment/execution.json"){let u=ae.safeParse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(K(a))));if(u.success&&i(z(u.data))===i(a))continue}let k=o.filter(u=>u.asset.path===a.asset.path),p=d(u=>i({...u.asset,id:a.asset.id})===i(a.asset)&&u.base64===a.base64,"sameEnvelope");if(s.has(a.asset.id)||!k.length||k.some(u=>!p(u)))throw new Error(`Retained Taskset source alias differs from its original bytes: ${a.asset.id}.`);o=[...o,a]}return o}d(Qe,"retainSourceFileIdentities");function Ct(t){let e=Ae.parse(t.request),s=Ie.parse(t.owner),o=O(t.source);if(o.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(o.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(o.modelResources){let k=De({owner:s,source:{...o.modelResources,taskset:o.taskset,executionResources:{environment:o.environment,verifierSet:o.verifierSet}},rewardBinding:o.modelResources.rewardBinding,rewards:o.modelResources.rewards,assets:o.modelResources.assets}),p=k.taskset.metadata.modelTasksetDerivation;return V.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${i({owner:s,operationId:e.operationId})}`,requestHash:i(e),sourcePackageHash:o.contentHash,sourceTasksetRef:H(o.taskset),tasksetId:k.taskset.id,tasksetRevision:k.taskset.revision,lineage:{...p,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let n=He(o.taskset),c=n&&i(n.owner)===i(s),T=c?n.root:H(o.taskset),a={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:s,root:T,parent:H(o.taskset)};return V.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${i({owner:s,operationId:e.operationId})}`,requestHash:i(e),sourcePackageHash:o.contentHash,sourceTasksetRef:H(o.taskset),tasksetId:Ee(a),tasksetRevision:c?o.taskset.revision+1:1,lineage:a})}d(Ct,"prepareModelTasksetDraft");function $e(t){let e=V.parse(t.preparation);if(!se(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return Be({preparation:e,source:t.source,edited:t.edited})}let s=Ze(t.edited),{contentHash:o,...n}=s.verifierSet,c=ye({...n,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:H(s.verifierSet)}}),{contentHash:T,...a}=s.taskset,k=te.parse(F({...a,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:c.id,contentHash:c.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...s.taskset.metadata.environmentResources===void 0?{}:{environmentResources:s.taskset.metadata.environmentResources},...s.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:s.taskset.metadata.ordinaryAuthoring}}})),p=J(s),u=p?[...s.files.filter(R=>R.asset.id!==Se(s.taskset)),z({...p.execution,verifierSet:c})]:s.files;return L({schemaVersion:"openpond.tasksetPackage.v1",taskset:k,environment:s.environment,verifierSet:c,files:u})}d($e,"publishModelTasksetDraftPackage");function Ze(t){let e=O(t);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}d(Ze,"requireOrdinaryPackage");function qe(t,e,s,o){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:s,generatedFiles:[]};let n="environment/execution.json",c=e.get(n);if(!c||c.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let T=ae.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(c))),a=d(S=>{if(!S)return null;let $=s.find(w=>w.asset.id===S.id&&w.asset.path===S.path);if(!$)throw new Error(`Authored environment dependency is missing: ${S.id}.`);return $.asset},"repin"),{contentHash:k,...p}=T.javascript,u=Re.parse(F({...p,id:`javascript-${t.id}`,revision:t.revision,module:a(T.javascript.module)}));if(i(u.tools)!==i(t.environment.metadata.portableTools)||i(u.tools.map(S=>S.name))!==i(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let R=be({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Fe(t),actionSchemaRef:a(T.environment.actionSchemaRef),observationSchemaRef:a(T.environment.observationSchemaRef),stateSchemaRef:a(T.environment.stateSchemaRef),artifactCollection:T.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:H(u),resources:t.environment.resources??[]}}),D=I.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:R}}}}),h=re({taskset:D,adapterId:o}),y=z({javascript:u,environment:R,verifierSet:h.verifierSetRelease}),j=[...s.filter(S=>S.sourcePath!==n),{asset:y.asset,sourcePath:n}],A=I.parse({...D,metadata:{...D.metadata,portableFileInventory:j}});return{taskset:I.parse({...A,contentHash:U(A)}),inventory:j,generatedFiles:[{path:n,role:"environment",content:new TextDecoder().decode(K(y))}]}}d(qe,"prepareAuthoredToolEnvironment");var ie=m.array(m.object({asset:Q,sourcePath:m.string().min(1)}).strict()).max(1e4),et=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function We(t){return et.has(t)}d(We,"isGeneratedTasksetPublicationFilePath");function Ve(t,e,s,o=je){let n=I.parse(t);for(let r of n.tasks)for(let l of r.requiredOutputs??[])if(Z(l.metadata)&&l.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(n.metadata.taskDefinition!==void 0||n.metadata.rewardBinding!==void 0){for(let r of n.tasks)for(let l of oe(r).requiredOutputs??[]){let v=Z(l.metadata);if(!v)continue;let f=oe(r).artifactRefs.find(G=>G.id===v.schemaRef.id);if(!f||i(f)!==i(v.schemaRef)||!l.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let b=d((G,de)=>r.assets?.find(le=>le.id===G)?.artifactRef??de,"sourcePath"),P=e.get(b(l.schemaRef.id,l.schemaRef.path)),M=e.get(b(f.id,f.path));if(!P||!M)throw new Error("Sampling schema source bytes are missing.");let E=ee(P,l.schemaRef.contentHash);ue(E,v,M)}return{taskset:n,generatedFiles:[]}}let c=new Map,T=0;for(let[r,l]of e){if(C.parse(r),T+=l.byteLength,c.size>=1e4||T>o*3/4)throw new Error("Taskset source exceeds the package byte limit.");c.set(r,l.slice())}let a=n.metrics?.customAggregator,k=a?c.get(a.module):void 0;if(a&&!k)throw new Error("Declared Taskset metric module is missing.");let p=a&&k?{...n.metrics,customAggregator:{...a,contentHash:q(k)}}:n.metrics,u=new Map,R=new Set,D=[],h=d((r,l,v,f)=>{let b=c.get(l);if(!b)throw new Error(`Declared Taskset file is missing: ${l}.`);return{id:r,path:l,contentHash:q(b),sizeBytes:b.byteLength,mediaType:v,visibility:f}},"ref"),y=d((r,l=r.path)=>{let v=u.get(r.id);if(v&&i(v)!==i({asset:r,sourcePath:l}))throw new Error(`Conflicting Taskset file identity: ${r.id}.`);let f=c.get(l);if(!f||f.length!==r.sizeBytes||q(f)!==r.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${r.id}.`);u.set(r.id,{asset:r,sourcePath:l}),R.add(l)},"add");for(let r of n.tasks){let l={};for(let f of r.requiredOutputs??[])if(f.submissionMode==="structured_json"){if(!f.schemaRef||f.mediaType!=="application/json")throw new Error("Structured outputs require a JSON schemaRef and application/json.");let b=r.metadata.portableTaskRecord?.requiredOutputs?.find(E=>E.path===f.path)?.schemaRef,P=b?.id===f.schemaRef?b.path:f.schemaRef,M=h(f.schemaRef,P,"application/schema+json","policy");if(b&&b.id===f.schemaRef&&b.visibility!=="policy")throw new Error("Structured output schema must be policy-visible.");ee(c.get(P),M.contentHash),l[f.schemaRef]=M}Object.keys(l).length&&(r.metadata={...r.metadata,outputSchemaRefs:l});let v=oe(r);for(let f of v.artifactRefs)y(f,r.assets?.find(b=>b.id===f.id)?.artifactRef??f.path);for(let f of v.requiredOutputs??[])f.schemaRef&&y(f.schemaRef);for(let f of v.requiredOutputs??[]){let b=Z(f.metadata);if(!b)continue;let P=u.get(b.schemaRef.id);if(!P||i(P.asset)!==i(b.schemaRef)||!v.artifactRefs.some(E=>E.id===b.schemaRef.id)||!f.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let M=ee(c.get(u.get(f.schemaRef.id).sourcePath),f.schemaRef.contentHash);ue(M,b,c.get(P.sourcePath))}}for(let r of n.environment.resources??[])y(h(r.id,r.path,r.mediaType??"application/octet-stream",r.visibility==="policy_visible"?"policy":"host_private"));let j=n.graders.map(r=>{if(r.kind==="custom_verifier"){let l=h(`verifier-${r.id}`,r.module,"application/javascript","host_private"),v=Q.safeParse(r.metadata.portableVerifierRef);return v.success&&v.data.contentHash===l.contentHash&&v.data.sizeBytes===l.sizeBytes&&(l=v.data),y(l,r.module),{...r,metadata:{...r.metadata,portableVerifierRef:l}}}if(r.kind==="human"||r.kind==="model_judge"){let l=new TextEncoder().encode(r.rubric),v=`graders/rubric-${q(l)}.md`;c.set(v,l);let f=h(`rubric-${r.id}`,v,"text/markdown","verifier"),b=Q.safeParse(r.metadata.portableRubricRef);if(b.success&&b.data.contentHash===f.contentHash&&b.data.sizeBytes===f.sizeBytes){if(b.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");f=b.data}return y(f,v),D.push({path:v,role:"verifier",content:r.rubric}),{...r,metadata:{...r.metadata,portableRubricRef:f}}}return r});a&&![...u.values()].some(r=>r.asset.path===a.module&&r.sourcePath===a.module&&r.asset.visibility!=="policy")&&y(h(`metric-${i(a.module)}`,a.module,"application/javascript","host_private"));let A=ie.parse(n.metadata.portableFileInventory??[]);for(let r of[...c.keys()].sort())if(!R.has(r)){let l=A.find(v=>v.sourcePath===r&&!u.has(v.asset.id));y(l?{...h(l.asset.id,r,l.asset.mediaType,l.asset.visibility),path:l.asset.path}:h(`taskset-file-${i(r)}`,r,"application/octet-stream","host_private"),r)}let{importedPackageHash:S,derivedPortableMetadata:$,...w}=n.metadata,W={...n.environment.metadata};if(W.portableExecutionResources!==void 0){let r=m.object({environment:m.unknown(),verifierSet:m.unknown().optional()}).parse(W.portableExecutionResources);W.portableExecutionResources={environment:r.environment}}let ce=I.parse({...n,graders:j,metrics:p,environment:{...n.environment,metadata:W},metadata:{...w,...S===void 0?{}:{sourceImportedPackageHash:S},portableFileInventory:ie.parse([...u.values()].sort((r,l)=>r.asset.id.localeCompare(l.asset.id)))}}),N=qe(ce,c,[...u.values()],s);return{taskset:I.parse({...N.taskset,contentHash:U(N.taskset)}),generatedFiles:[...D,...N.generatedFiles]}}d(Ve,"prepareAuthoredTasksetSource");var X=class extends Error{static{d(this,"TasksetDraftPublishError")}issues;constructor(e){super(e.map(s=>s.message).join(`
|
|
3
|
+
`)),this.name="TasksetDraftPublishError",this.issues=e}};function ds(t){let e=t.now??new Date().toISOString(),s=t.id?.trim()||`taskset-draft-${globalThis.crypto.randomUUID()}`;return B.parse({schemaVersion:"openpond.tasksetDraft.v1",id:s,revision:1,profileId:t.profileId,modelScope:t.modelScope??null,name:t.name?.trim()??"",objective:"",purpose:"general",benchmark:null,preferenceComparison:null,status:"draft",sourceRefs:[],datasetArtifact:null,policy:{policyVisibleFields:["input"],privilegedFields:["expectedOutput"],hiddenGraderRefs:[],connectedAppScopes:[]},environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:"chat",entrypoint:"openpond-chat-v1",stateful:!1,deterministicSeeds:!0,toolNames:[],lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:12e4,networkPolicy:"none",resources:[],metadata:{}},output:{mode:"text",jsonSchema:null,renderer:null},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:"chat",supportedSignals:["demonstration","preference","correction","feedback","reward","label"],compatibleMethods:["none"],rewardKinds:["none"],requiresTools:!1,requiresState:!1,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote","colocated"],exportable:!0,portabilityBlockers:[]},metrics:{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!1,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:[],graders:[],graderFixtures:[],learningSignals:{demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},publishedTasksetRef:null,createdAt:e,updatedAt:e,metadata:{}})}d(ds,"createTasksetDraft");function ze(t){let e=[];t.name.trim()||e.push({code:"name_missing",message:"Name is required.",path:"name"}),t.objective.trim()||e.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!t.datasetArtifact&&t.tasks.length===0&&e.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"});let s=new Set(t.sourceRefs.map(o=>o.id));for(let o of t.tasks)for(let n of o.sourceRefs)s.has(n)||e.push({code:"task_source_missing",message:`Task ${o.id} references missing source ${n}.`,path:`tasks.${o.id}.sourceRefs`});return e}d(ze,"draftPublishIssues");function Oe(t){let e=B.parse(t.draft),s=t.now??new Date().toISOString(),o=ze(e);if(o.length)throw new X(o);let n=e.modelScope?.source;if(n&&t.tasksetId&&t.tasksetId!==n.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let c=n?.tasksetId||t.tasksetId?.trim()||e.publishedTasksetRef?.id||e.id.replace(/-draft$/,""),T=n?.tasksetRevision??(e.publishedTasksetRef?.id===c?e.publishedTasksetRef.revision+1:1),a=e.sourceRefs.length?e.sourceRefs:[tt(e,c,s)],k=a[0].id,p=e.tasks.map(w=>Me.parse({...w,sourceRefs:w.sourceRefs.length?w.sourceRefs:[k],metadata:{exampleOrigin:"expert_authored",...w.metadata}})),u=e.capabilities.compatibleMethods.find(w=>w!=="none"&&w!=="retrieval")??null,R=st(e),D=e.graders.filter(w=>w.rewardEligible&&w.weight>0&&w.kind!=="human"),h=u===null&&R==="verifiable_reward"&&D.length>0,y=u??(h?"grpo":null),j=I.parse({schemaVersion:"openpond.taskset.v1",id:c,revision:T,profileId:e.profileId,profileRelease:null,createImproveRunId:null,name:e.name,objective:e.objective,purpose:e.purpose,benchmark:e.benchmark,preferenceComparison:e.preferenceComparison,status:"needs_review",sourceRefs:a,datasetArtifact:e.datasetArtifact??null,policy:e.policy,environment:e.environment,capabilities:h?{...e.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(D.map(w=>w.kind==="model_judge"?"model_judge":"deterministic"))]}:e.capabilities,metrics:e.metrics,tasks:p,graders:e.graders,graderFixtures:e.graderFixtures,learningSignals:e.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:i("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:R,buildSpecification:null,evidenceHashes:a.map(w=>w.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:s},readiness:null,contentHash:"00000000",createdAt:T===1?e.createdAt:s,updatedAt:s,metadata:{...e.metadata,...n?{modelTasksetAuthoring:n.lineage}:{},tasksetReviewPolicy:e.review,tasksetOutputContract:e.output,...t.sourcePackageHash?{sourcePackageHash:t.sourcePackageHash}:{},...y?{trainingMethod:y}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:e.objective,stableBehavior:[e.objective],changingKnowledge:[],requiredContext:[],requiredTools:e.environment.toolNames,intervention:y==="dpo"?"preference":y==="grpo"||y==="ppo"?"grpo_rft":y==="sft"?"sft":"no_training",trainingEligible:y!==null,rationale:y?[`The author selected ${y.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),A=I.parse({...j,contentHash:U(j)}),$=Ce(A,{purpose:"publication"}).issues.filter(w=>w.severity==="error");if($.length)throw new X($.map(w=>({code:w.code,message:w.message,path:w.path})));return A}d(Oe,"publishTasksetDraft");function tt(t,e,s){let o=i({draftId:t.id,draftRevision:t.revision,tasks:t.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${e}`,profileId:t.profileId,title:`${t.name} manual authoring`,sourceHash:o,occurredAt:s,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:o,metadata:{draftId:t.id,draftRevision:t.revision}}}d(tt,"generatedDraftSource");function st(t){return t.metadata.buildIntent==="discovery"||!t.graders.length&&!t.learningSignals.preferences.length&&!t.learningSignals.rewards.length&&!t.learningSignals.labels.length?"discovery":t.learningSignals.preferences.length?"preferences":t.learningSignals.rewards.length?"verifiable_reward":t.learningSignals.labels.length?"rubric":!t.capabilities.compatibleMethods.some(e=>e!=="none"&&e!=="retrieval")&&t.graders.some(e=>e.rewardEligible&&e.weight>0&&e.kind!=="human")?"verifiable_reward":"demonstrations"}d(st,"buildIntentForDraft");function Rs(t){let e=[];t.output.renderer&&e.push({relativePath:t.output.renderer.module,source:`export async function ${t.output.renderer.exportName}(output: unknown) {
|
|
4
|
+
// Return artifact paths or bytes derived from the model's structured output.
|
|
5
|
+
return output;
|
|
6
|
+
}
|
|
7
|
+
`});for(let s of t.graders)s.kind==="custom_verifier"&&e.push({relativePath:s.module,source:`export async function ${s.exportName}(input: { output: unknown; task: unknown }) {
|
|
8
|
+
return { passed: false, score: 0, feedback: "Implement this verifier." };
|
|
9
|
+
}
|
|
10
|
+
`});t.metrics.customAggregator&&e.push({relativePath:t.metrics.customAggregator.module,source:`export function ${t.metrics.customAggregator.exportName}(scores: number[]) {
|
|
11
|
+
return scores.length ? scores.reduce((sum, score) => sum + score, 0) / scores.length : 0;
|
|
12
|
+
}
|
|
13
|
+
`});for(let s of e)C.parse(s.relativePath);return e}d(Rs,"configuredTasksetDraftFiles");function Le(t){let e=B.parse(t);return new Map([["taskset.json",_(e)],["tasks/tasks.jsonl",rt(e.tasks)],["graders/graders.json",_(e.graders)],["fixtures/grader-fixtures.json",_(e.graderFixtures)],["metrics/policy.json",_(e.metrics)],["assets/manifest.json",_(e.tasks.flatMap(s=>s.assets??[]))],["environment/contract.json",_(e.environment)],["rubrics/preference-review.md",at(e)],["comparisons/policy.json",_(e.review)]])}d(Le,"renderTasksetDraftManifests");function at(t){let e=t.review.criteria.length?`
|
|
14
|
+
|
|
15
|
+
## Criteria
|
|
16
|
+
|
|
17
|
+
${t.review.criteria.map(s=>`- **${s.label}** (${s.weight}): ${s.description}`).join(`
|
|
18
|
+
`)}`:"";return`# Preference review rubric
|
|
19
|
+
|
|
20
|
+
${t.review.rubric}${e}
|
|
21
|
+
`}d(at,"rubricMarkdown");function rt(t){return t.length?`${t.map(e=>JSON.stringify(e)).join(`
|
|
22
|
+
`)}
|
|
23
|
+
`:""}d(rt,"jsonLines");var Ue=64*1024*1024,Ne=m.string().regex(/^[a-f0-9]{64}$/),Ge=m.object({path:C,contentHash:Ne,sizeBytes:m.number().int().nonnegative(),base64:m.string()}).strict(),Ke=m.object({schemaVersion:m.literal("openpond.tasksetDraftWorkspace.v1"),draft:B,files:m.array(Ge).max(1e4)}).strict(),ot=Ke.extend({contentHash:Ne}).strict();function Cs(t,e=Ue){he(t,e);let s=Ke.parse(t);return s.files.sort((o,n)=>o.path<n.path?-1:o.path>n.path?1:0),ke({...s,contentHash:i(s)},e)}d(Cs,"createTasksetDraftWorkspace");function ke(t,e=Ue){he(t,e);let s=ot.parse(t),{contentHash:o,...n}=s;if(i(n)!==o)throw new Error("Taskset draft workspace differs from its retained bytes.");let c=null,T=new Set;for(let a of s.files){if(ne(a.path))throw new Error("Managed Taskset files are represented by the draft document.");if(c!==null&&c>=a.path)throw new Error("Taskset draft file paths must be unique and sorted.");let k=a.path.split("/");for(let p=1;p<k.length;p++)if(T.has(k.slice(0,p).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");ge(a),T.add(a.path),c=a.path}return s}d(ke,"validateTasksetDraftWorkspace");function ge(t){let e=Ge.parse(t),s;try{s=atob(e.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(s)!==e.base64)throw new Error("Taskset draft file contains noncanonical base64.");let o=new Uint8Array(s.length);for(let n=0;n<s.length;n++)o[n]=s.charCodeAt(n);if(o.byteLength!==e.sizeBytes||q(o)!==e.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return o}d(ge,"decodeTasksetDraftWorkspaceFile");function nt(t){let e=ke(t.workspace,t.maximumBytes),s=t.preparation===null?null:V.parse(t.preparation);if(s?e.draft.id!==s.draftId||e.draft.modelScope?.modelId!==s.lineage.owner.modelId||e.draft.profileId!==s.lineage.owner.scopeId||i(e.draft.modelScope?.source??null)!==i(s):e.draft.modelScope?.source!==void 0)throw new Error("Taskset draft differs from its retained source preparation.");let o=Oe({draft:e.draft,now:e.draft.updatedAt,sourcePackageHash:t.sourceWorkspaceHash??e.contentHash}),n=new Map(e.files.map(p=>[p.path,ge(p)]));for(let[p,u]of Le(e.draft))We(p)||n.set(p,new TextEncoder().encode(u));let c=Ve(o,n,t.adapterId,t.maximumBytes);for(let p of c.generatedFiles)n.set(p.path,new TextEncoder().encode(p.content));let T=re({taskset:c.taskset,adapterId:t.adapterId}),a=ie.parse(c.taskset.metadata.portableFileInventory),k=L({schemaVersion:"openpond.tasksetPackage.v1",taskset:T.tasksetRelease,environment:T.environmentRelease,verifierSet:T.verifierSetRelease,files:a.map(p=>{let u=n.get(p.sourcePath);if(!u)throw new Error(`Captured Taskset file is missing: ${p.sourcePath}.`);return{asset:p.asset,base64:Buffer.from(u).toString("base64")}})},t.maximumBytes);return s?$e({preparation:s,edited:k,source:t.source}):k}d(nt,"compileTasksetDraftWorkspace");function Ks(t){if(!t.workspace.draft.modelScope)throw new Error("Taskset draft requires a Model owner.");return nt(t)}d(Ks,"compileModelTasksetDraftWorkspace");var Y=m.string().trim().min(1).max(500),it=m.string().regex(/^[a-f0-9]{64}$/),ct=m.object({id:Y,revision:m.number().int().positive(),contentHash:it}).strict(),dt=m.object({schemaVersion:m.literal("openpond.hostedTasksetSummary.v1"),id:Y,teamId:Y,release:ct,name:m.string().min(1).max(500),description:m.string().max(2e4),taskCount:m.number().int().nonnegative(),buildIntent:m.string().min(1).max(100),methodHint:m.string().min(1).max(100).nullable(),packageBytes:m.number().int().nonnegative().nullable(),storedBytes:m.number().int().nonnegative().nullable(),createdAt:m.string().datetime({offset:!0})}).strict(),Qs=m.object({afterId:m.string().trim().min(1).max(2e3).optional(),limit:m.number().int().min(1).max(100).default(30),modelProjectId:Y.optional(),projectId:Y.optional(),search:m.string().trim().max(100).optional(),sort:m.enum(["id","name","updated"]).default("id")}).strict(),Zs=m.object({items:m.array(dt).max(100),nextCursor:m.string().trim().min(1).max(2e3).nullable()}).strict(),ea=m.object({code:m.string().min(1),message:m.string().min(1)}).strict();export{ds as a,ne as b,Rs as c,ot as d,Cs as e,ke as f,ge as g,ct as h,Ct as i,$e as j,ie as k,We as l,Ve as m,nt as n,Ks as o};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{t as l}from"./chunk-
|
|
2
|
+
import{t as l}from"./chunk-Y3B6ZUE6.js";import{a as f}from"./chunk-FTQLQJQV.js";function d(e,s){let{tasks:r,paths:i,policyPaths:c}=p(e.draft,s),o=e.draft.metadata.portableFileInventory,n=e.files.filter(a=>!c.has(a.path)||i.has(a.path)),t=new Set(n.map(a=>a.path));return l({schemaVersion:e.schemaVersion,files:n,draft:{...e.draft,tasks:r,metadata:{...e.draft.metadata,...Array.isArray(o)?{portableFileInventory:o.filter(a=>t.has(a.sourcePath))}:{},localDatasetTaskIds:s}}},Number.POSITIVE_INFINITY)}f(d,"projectLocalDatasetWorkspace");function p(e,s){let r=new Set(s);if(!r.size||r.size!==s.length||s.some(t=>!e.tasks.some(a=>a.id===t)))throw new Error("Select distinct existing local Dataset tasks.");for(let t of e.graderFixtures)r.add(t.taskId);let i=e.tasks.filter(t=>r.has(t.id)),c=new Set(i.flatMap(t=>(t.assets??[]).map(a=>a.artifactRef)));for(let t of e.environment.resources??[])t.kind==="file"&&c.add(t.path);let o=e.metadata.portableFileInventory,n=new Set;if(Array.isArray(o))for(let t of o)t.asset?.visibility==="policy"&&n.add(t.sourcePath);return{tasks:i,paths:c,policyPaths:n}}f(p,"localDatasetProjectionPaths");export{d as a,p as b};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{h as _,i as k}from"./chunk-UWHIU24L.js";import{a as H,c as v}from"./chunk-RV7PUSI2.js";import{c as r,d as c,e as i,g as o,n as m}from"./chunk-VVNV4NNW.js";import{A as n}from"./chunk-PF56N7ZY.js";import{a as l}from"./chunk-FTQLQJQV.js";var h=n.record(n.string(),n.unknown()).default({}),u=n.number().int().nonnegative(),g=n.string().trim().min(1).max(1e5),I=n.object({kind:n.enum(["personal","team"]),id:r}).strict(),B=n.object({name:r,release:o.nullable(),revision:u}).strict(),ue=n.object({schemaVersion:n.literal("openpond.harnessWorkspace.v1"),id:r,ownerScope:I,name:n.string().trim().min(1).max(240),location:n.enum(["local","hosted"]),sourceRevision:n.string().trim().min(1).max(500),revision:u,dirty:n.boolean(),currentChannel:B,createdAt:i,updatedAt:i,metadata:h}).strict(),y=n.enum(["runtime","memory","prompt","skill","agent","product","taskset","training"]),C=n.enum(["text_instruction","memory","dependency_selection","executable_code","business_logic","financial_logic","permission","connected_app","publication","deployment","training","model_binding","team_or_global"]),A=n.object({id:r,route:y,operation:n.enum(["create","update","delete"]),target:n.string().trim().min(1).max(2e3),summary:n.string().trim().min(1).max(2e3),content:n.string().max(1e6).nullable(),contentHash:c.nullable(),effects:n.array(C).min(1).max(20)}).strict().superRefine((e,s)=>{if(e.operation==="delete"){(e.content!==null||e.contentHash!==null)&&s.addIssue({code:"custom",message:"delete edits cannot include replacement content",path:["content"]});return}if(e.content===null||e.contentHash===null){s.addIssue({code:"custom",message:"create and update edits require content and contentHash",path:["content"]});return}let a=m(e.content);e.contentHash!==a&&s.addIssue({code:"custom",message:`edit contentHash is ${e.contentHash}; expected ${a}`,path:["contentHash"]})}),w=n.object({workspaceId:r,revision:u,sourceRevision:n.string().trim().min(1).max(500),channelRevision:u}).strict(),R=n.object({id:r,revision:u,contentHash:c}).strict(),me=n.object({schemaVersion:n.literal("openpond.harnessTurnSnapshot.v1"),workspaceId:r,workspaceRevision:u,sourceRevision:n.string().trim().min(1).max(500),channelName:r,channelRevision:u,harnessRelease:o,toolCatalogHash:c.nullable().optional(),overlay:R.nullable().optional().default(null)}).strict(),j=n.object({schemaVersion:n.literal("openpond.harnessRunOverlay.v1"),id:r,runId:r,baseHarnessRelease:o,workspace:w,revision:u,status:n.enum(["active","frozen","abandoned"]),edits:n.array(A).max(1e3),createdAt:i,updatedAt:i,metadata:h}).strict(),D=j.extend({contentHash:c}).strict(),q=n.object({kind:n.enum(["tool_event","recovery","validation","user_turn","work_output","work_receipt"]),id:r,contentHash:c.nullable()}).strict(),O=n.object({id:r,kind:n.enum(["dependency","schema","package","file_render","skill","prompt","business_formula","targeted_evaluation","observed_recovery","memory","component_activation"]),description:g,required:n.boolean()}).strict(),E=n.object({schemaVersion:n.literal("openpond.harnessImprovementProposal.v1"),id:r,overlay:R,baseHarnessRelease:o,expectedWorkspace:w,requestedScope:n.enum(["personal","team","global"]),route:y,risk:n.enum(["low","review","restricted"]),effects:n.array(C).min(1).max(20),evidence:n.array(q).min(1).max(1e3),edits:n.array(A).min(1).max(1e3),validationPlan:n.array(O).min(1).max(100),expectedOutcome:g,createdAt:i,metadata:h}).strict().superRefine((e,s)=>{let a=new Set(e.effects);for(let[t,d]of e.edits.entries()){d.route!==e.route&&s.addIssue({code:"custom",message:"every edit route must match the proposal route",path:["edits",t,"route"]});for(let f of d.effects)a.has(f)||s.addIssue({code:"custom",message:`edit effect ${f} is missing from proposal effects`,path:["edits",t,"effects"]})}new Set(e.validationPlan.map(t=>t.id)).size!==e.validationPlan.length&&s.addIssue({code:"custom",message:"validation plan ids must be unique",path:["validationPlan"]})}),L=E.extend({contentHash:c}).strict(),V=n.object({schemaVersion:n.literal("openpond.harnessTargetedValidationReceipt.v1"),id:r,proposal:o,validationId:r,kind:O.shape.kind,status:n.enum(["passed","failed","blocked","skipped"]),summary:g,evidenceRefs:n.array(q).max(1e3),createdAt:i,metadata:h}).strict(),W=V.extend({contentHash:c}).strict(),F=n.enum(["advanced","retained","conflict","rolled_back"]),P=n.object({schemaVersion:n.literal("openpond.harnessAdvanceReceipt.v1"),id:r,workspaceId:r,ownerScope:I,proposal:o.nullable(),expectedWorkspaceRevision:u,observedWorkspaceRevision:u,previousChannelRevision:u,nextChannelRevision:u,previousRelease:o.nullable(),nextRelease:o.nullable(),validationReceipts:n.array(o).max(100),decision:F,reason:g,rollbackOf:o.nullable(),createdAt:i,metadata:h}).strict().superRefine((e,s)=>{let a=e.nextChannelRevision===e.previousChannelRevision+1;["advanced","rolled_back"].includes(e.decision)!==a&&s.addIssue({code:"custom",message:"only successful advancement or rollback increments the channel revision",path:["nextChannelRevision"]}),e.decision==="rolled_back"&&e.rollbackOf===null&&s.addIssue({code:"custom",message:"rollback receipts require rollbackOf",path:["rollbackOf"]}),e.decision!=="rolled_back"&&e.rollbackOf!==null&&s.addIssue({code:"custom",message:"rollbackOf is only valid for rollback receipts",path:["rollbackOf"]})}),M=P.extend({contentHash:c}).strict(),N=n.object({schemaVersion:n.literal("openpond.harnessOverlayMergeReceipt.v1"),id:r,workspaceId:r,baseHarnessRelease:o,leftOverlay:R,rightOverlay:R,decision:n.enum(["merged","conflict"]),mergedOverlay:R.nullable(),conflictTargets:n.array(n.string().trim().min(1).max(2e3)).max(1e3),requiresRevalidation:n.literal(!0),createdAt:i,metadata:h}).strict().superRefine((e,s)=>{e.decision==="merged"!=(e.mergedOverlay!==null)&&s.addIssue({code:"custom",message:"merged decisions require a merged overlay; conflicts cannot provide one",path:["mergedOverlay"]}),e.decision==="conflict"!=e.conflictTargets.length>0&&s.addIssue({code:"custom",message:"conflict decisions require conflict targets and merged decisions cannot include them",path:["conflictTargets"]})}),pe=N.extend({contentHash:c}).strict();function fe(e){let s=j.parse(e);return D.parse({...s,contentHash:m(s)})}l(fe,"createHarnessRunOverlay");function he(e){let s=E.parse(e);return L.parse({...s,contentHash:m(s)})}l(he,"createHarnessImprovementProposal");function ve(e){let s=V.parse(e);return W.parse({...s,contentHash:m(s)})}l(ve,"createHarnessTargetedValidationReceipt");function Re(e){let s=P.parse(e);return M.parse({...s,contentHash:m(s)})}l(Re,"createHarnessAdvanceReceipt");var U=n.string().trim().min(1).max(2e3),S=n.string().trim().min(1).max(1e5),G=n.enum(["create","update","delete"]),J=n.enum(["memory","prompt","skill","agent"]),Q=n.enum(["runtime","product","taskset","training"]),X=n.enum(["no_action","routed","applied","retained","failed"]),Y=n.enum(["not_applicable","pending","passed","rejected","failed"]),Z=n.enum(["not_applicable","pending","passed","failed"]),ee=n.object({schemaVersion:n.literal("openpond.harnessRefinerActivityReceipt.v1"),id:r,runRef:r,turnId:r,result:X,decision:n.enum(["no_action","route","propose"]).nullable(),route:y.nullable(),operation:G.nullable(),target:n.string().trim().min(1).max(2e3).nullable(),summary:U,evidenceBasis:_.nullable(),critiqueStatus:Y,validationStatus:Z,trigger:o,outcome:o.nullable(),proposal:o.nullable(),applyReceipt:o.nullable(),inputHarness:o,outputHarness:o.nullable(),createdAt:i}).strict().superRefine((e,s)=>{let a=e.result==="applied"||e.result==="retained";e.result==="no_action"?$(s,e,{decision:"no_action",route:null,operation:null,target:null,evidenceBasis:null,proposal:null,applyReceipt:null,outputHarness:null,critiqueStatus:"not_applicable",validationStatus:"not_applicable"}):e.result==="routed"?((e.decision!=="route"||!Q.safeParse(e.route).success||e.operation!==null||e.target!==null||e.evidenceBasis===null||e.proposal!==null||e.applyReceipt!==null||e.outputHarness!==null)&&s.addIssue({code:"custom",message:"routed activity requires an external route and evidence basis without proposal state"}),$(s,e,{critiqueStatus:"not_applicable",validationStatus:"not_applicable"})):a?((e.decision!=="propose"||!J.safeParse(e.route).success||e.operation===null||e.target===null||e.evidenceBasis===null||e.proposal===null||e.applyReceipt===null)&&s.addIssue({code:"custom",message:"applied and retained activity requires complete proposal state"}),e.result==="applied"&&e.outputHarness===null&&s.addIssue({code:"custom",message:"applied activity requires the advanced Harness release",path:["outputHarness"]}),e.result==="applied"&&(e.critiqueStatus!=="passed"||e.validationStatus!=="passed")&&s.addIssue({code:"custom",message:"applied activity requires passed critique and validation"}),e.result==="retained"&&e.outputHarness!==null&&s.addIssue({code:"custom",message:"retained activity cannot report a new Harness release",path:["outputHarness"]})):(e.decision!==null||e.route!==null||e.operation!==null||e.target!==null||e.evidenceBasis!==null||e.outcome!==null||e.proposal!==null||e.applyReceipt!==null||e.outputHarness!==null)&&s.addIssue({code:"custom",message:"failed activity cannot claim a decision, route, proposal, or release transition"}),e.result!=="failed"&&e.outcome===null&&s.addIssue({code:"custom",message:"terminal Refiner decisions require an outcome reference",path:["outcome"]})}),ke=ee.extend({contentHash:c}).strict(),ne=n.enum(["unresolved","confirmed","resolved","rejected","expired"]),se=n.object({kind:n.enum(["applied_change","later_success","manual_rejection","source_revoked","expired"]),reason:S,evidenceRefs:n.array(o).max(1e3),resolvedAt:i}).strict(),T=n.object({schemaVersion:n.literal("openpond.harnessRefinementCandidate.v1"),id:r,ownerScope:H,workspaceRef:r,fingerprint:c,recurrenceFamily:n.string().trim().min(1).max(1e3),statement:S,status:ne,occurrences:n.array(v).max(1e3),counterevidence:n.array(v).max(1e3),sourceReviews:n.array(o).min(1).max(100),relatedHarnessReleases:n.array(o).max(100),firstSeenAt:i,lastSeenAt:i,lastReviewedAt:i,expiresAt:i,resolution:se.nullable(),createdAt:i,updatedAt:i}).strict().superRefine((e,s)=>{p(s,e.occurrences,"occurrences"),p(s,e.counterevidence,"counterevidence"),p(s,e.sourceReviews,"sourceReviews"),p(s,e.relatedHarnessReleases,"relatedHarnessReleases");let a=new Set(e.occurrences.map(d=>d.occurrenceKey));e.counterevidence.some(d=>a.has(d.occurrenceKey))&&s.addIssue({code:"custom",message:"supporting occurrences and counterevidence must be disjoint",path:["counterevidence"]});let t=e.status==="unresolved"||e.status==="confirmed";t&&e.occurrences.length===0&&s.addIssue({code:"custom",message:"actionable candidates require at least one supporting occurrence",path:["occurrences"]}),t&&[...e.occurrences,...e.counterevidence].some(d=>d.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"actionable candidates may contain only currently authorized evidence",path:["occurrences"]}),t!==(e.resolution===null)&&s.addIssue({code:"custom",message:"only resolved, rejected, or expired candidates require a resolution",path:["resolution"]}),e.status==="expired"&&e.resolution?.kind!=="expired"&&s.addIssue({code:"custom",message:"expired candidates require an expired resolution",path:["resolution","kind"]}),e.status==="rejected"&&e.resolution&&!["manual_rejection","source_revoked"].includes(e.resolution.kind)&&s.addIssue({code:"custom",message:"rejected candidates require a rejection or revocation resolution",path:["resolution","kind"]}),e.status==="resolved"&&e.resolution&&!["applied_change","later_success"].includes(e.resolution.kind)&&s.addIssue({code:"custom",message:"resolved candidates require applied-change or later-success evidence",path:["resolution","kind"]}),ce(s,e)}),te=T.extend({contentHash:c}).strict(),ae=n.enum(["created","merged","rejected","expired","reopened","resolved"]),K=n.object({schemaVersion:n.literal("openpond.harnessRefinementCandidateLifecycleReceipt.v1"),id:r,candidateId:r,decision:ae,beforeCandidate:o.nullable(),afterCandidate:o,review:o,addedEvidence:n.array(v).max(1e3),removedEvidence:n.array(o).max(1e3),reason:S,createdAt:i}).strict().superRefine((e,s)=>{e.decision==="created"!=(e.beforeCandidate===null)&&s.addIssue({code:"custom",message:"only candidate creation omits the previous candidate reference",path:["beforeCandidate"]}),e.beforeCandidate&&e.beforeCandidate.contentHash===e.afterCandidate.contentHash&&s.addIssue({code:"custom",message:"candidate lifecycle transitions must change candidate content",path:["afterCandidate"]}),["created","reopened"].includes(e.decision)&&e.addedEvidence.length===0&&s.addIssue({code:"custom",message:`${e.decision} candidate transitions require added evidence`,path:["addedEvidence"]}),e.addedEvidence.some(t=>t.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"candidate transitions may add only authorized evidence",path:["addedEvidence"]}),p(s,e.addedEvidence,"addedEvidence"),p(s,e.removedEvidence,"removedEvidence");let a=new Set(e.removedEvidence.map(t=>b(t)));e.addedEvidence.some(t=>a.has(b(t.evidence)))&&s.addIssue({code:"custom",message:"candidate lifecycle evidence cannot be added and removed together",path:["removedEvidence"]})}),re=K.extend({contentHash:c}).strict(),z=n.object({schemaVersion:n.literal("openpond.harnessCrossRunRefinementRequest.v1"),id:r,ownerScope:H,workspaceRef:r,candidate:o,candidateFingerprint:c,review:o,admittedHarness:o,evidence:n.array(v).min(1).max(1e3),capabilities:k,deduplicationKey:c,createdAt:i}).strict().superRefine((e,s)=>{e.evidence.some(t=>t.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"cross-run refinement requires currently authorized evidence",path:["evidence"]}),p(s,e.evidence,"evidence"),Object.values(e.capabilities).some(Boolean)||s.addIssue({code:"custom",message:"cross-run refinement requires at least one available Harness capability",path:["capabilities"]});let a=ie(e);e.deduplicationKey!==a&&s.addIssue({code:"custom",message:`cross-run refinement deduplicationKey is ${e.deduplicationKey}; expected ${a}`,path:["deduplicationKey"]})}),oe=z.extend({contentHash:c}).strict();function Ie(e){return x(e,T,te)}l(Ie,"createHarnessRefinementCandidate");function Ce(e){return x(e,K,re)}l(Ce,"createHarnessRefinementCandidateLifecycleReceipt");function ie(e){return m({schemaVersion:"openpond.harnessCrossRunRefinementIdentity.v1",workspaceRef:e.workspaceRef,candidateFingerprint:e.candidateFingerprint,admittedHarness:e.admittedHarness})}l(ie,"harnessCrossRunRefinementDeduplicationKey");function Ae(e){return x(e,z,oe)}l(Ae,"createHarnessCrossRunRefinementRequest");function x(e,s,a){let t=s.parse(e);return a.parse({...t,contentHash:m(t)})}l(x,"createHashedContract");function $(e,s,a){for(let[t,d]of Object.entries(a))s[t]!==d&&e.addIssue({code:"custom",message:`${t} must be ${String(d)}`,path:[t]})}l($,"requireFields");function p(e,s,a){let t=s.map(d=>b(d));new Set(t).size!==t.length&&e.addIssue({code:"custom",message:`${a} references must be unique`,path:[a]})}l(p,"requireUniqueRefs");function b(e){if(!e||typeof e!="object"||Array.isArray(e))return String(e);let s=e;if(typeof s.occurrenceKey=="string")return s.occurrenceKey;let a=s.evidence;if(a&&typeof a=="object"&&!Array.isArray(a)){let t=a;return`${String(t.id)}:${String(t.contentHash)}`}return`${String(s.id)}:${String(s.contentHash)}`}l(b,"refKey");function ce(e,s){let a=[["firstSeenAt",s.firstSeenAt],["lastSeenAt",s.lastSeenAt],["lastReviewedAt",s.lastReviewedAt],["updatedAt",s.updatedAt],["expiresAt",s.expiresAt]];for(let t=1;t<a.length;t+=1){let d=a[t-1],f=a[t];Date.parse(d[1])<=Date.parse(f[1])||e.addIssue({code:"custom",message:`${f[0]} must not precede ${d[0]}`,path:[f[0]]})}Date.parse(s.createdAt)>Date.parse(s.updatedAt)&&e.addIssue({code:"custom",message:"updatedAt must not precede createdAt",path:["updatedAt"]})}l(ce,"requireChronology");export{ue as a,y as b,R as c,me as d,D as e,L as f,W as g,M as h,pe as i,fe as j,he as k,ve as l,Re as m,te as n,re as o,oe as p,Ie as q,Ce as r,ie as s,Ae as t};
|
|
2
|
+
import{h as _,i as k}from"./chunk-HVM2GUM3.js";import{a as H,c as v}from"./chunk-AJXWJLZA.js";import{c as r,d as c,e as i,g as o,n as m}from"./chunk-RCT3O3HQ.js";import{A as n}from"./chunk-X2J2P5ZT.js";import{a as l}from"./chunk-FTQLQJQV.js";var h=n.record(n.string(),n.unknown()).default({}),u=n.number().int().nonnegative(),g=n.string().trim().min(1).max(1e5),I=n.object({kind:n.enum(["personal","team"]),id:r}).strict(),B=n.object({name:r,release:o.nullable(),revision:u}).strict(),ue=n.object({schemaVersion:n.literal("openpond.harnessWorkspace.v1"),id:r,ownerScope:I,name:n.string().trim().min(1).max(240),location:n.enum(["local","hosted"]),sourceRevision:n.string().trim().min(1).max(500),revision:u,dirty:n.boolean(),currentChannel:B,createdAt:i,updatedAt:i,metadata:h}).strict(),y=n.enum(["runtime","memory","prompt","skill","agent","product","taskset","training"]),C=n.enum(["text_instruction","memory","dependency_selection","executable_code","business_logic","financial_logic","permission","connected_app","publication","deployment","training","model_binding","team_or_global"]),A=n.object({id:r,route:y,operation:n.enum(["create","update","delete"]),target:n.string().trim().min(1).max(2e3),summary:n.string().trim().min(1).max(2e3),content:n.string().max(1e6).nullable(),contentHash:c.nullable(),effects:n.array(C).min(1).max(20)}).strict().superRefine((e,s)=>{if(e.operation==="delete"){(e.content!==null||e.contentHash!==null)&&s.addIssue({code:"custom",message:"delete edits cannot include replacement content",path:["content"]});return}if(e.content===null||e.contentHash===null){s.addIssue({code:"custom",message:"create and update edits require content and contentHash",path:["content"]});return}let a=m(e.content);e.contentHash!==a&&s.addIssue({code:"custom",message:`edit contentHash is ${e.contentHash}; expected ${a}`,path:["contentHash"]})}),w=n.object({workspaceId:r,revision:u,sourceRevision:n.string().trim().min(1).max(500),channelRevision:u}).strict(),R=n.object({id:r,revision:u,contentHash:c}).strict(),me=n.object({schemaVersion:n.literal("openpond.harnessTurnSnapshot.v1"),workspaceId:r,workspaceRevision:u,sourceRevision:n.string().trim().min(1).max(500),channelName:r,channelRevision:u,harnessRelease:o,toolCatalogHash:c.nullable().optional(),overlay:R.nullable().optional().default(null)}).strict(),j=n.object({schemaVersion:n.literal("openpond.harnessRunOverlay.v1"),id:r,runId:r,baseHarnessRelease:o,workspace:w,revision:u,status:n.enum(["active","frozen","abandoned"]),edits:n.array(A).max(1e3),createdAt:i,updatedAt:i,metadata:h}).strict(),D=j.extend({contentHash:c}).strict(),q=n.object({kind:n.enum(["tool_event","recovery","validation","user_turn","work_output","work_receipt"]),id:r,contentHash:c.nullable()}).strict(),O=n.object({id:r,kind:n.enum(["dependency","schema","package","file_render","skill","prompt","business_formula","targeted_evaluation","observed_recovery","memory","component_activation"]),description:g,required:n.boolean()}).strict(),E=n.object({schemaVersion:n.literal("openpond.harnessImprovementProposal.v1"),id:r,overlay:R,baseHarnessRelease:o,expectedWorkspace:w,requestedScope:n.enum(["personal","team","global"]),route:y,risk:n.enum(["low","review","restricted"]),effects:n.array(C).min(1).max(20),evidence:n.array(q).min(1).max(1e3),edits:n.array(A).min(1).max(1e3),validationPlan:n.array(O).min(1).max(100),expectedOutcome:g,createdAt:i,metadata:h}).strict().superRefine((e,s)=>{let a=new Set(e.effects);for(let[t,d]of e.edits.entries()){d.route!==e.route&&s.addIssue({code:"custom",message:"every edit route must match the proposal route",path:["edits",t,"route"]});for(let f of d.effects)a.has(f)||s.addIssue({code:"custom",message:`edit effect ${f} is missing from proposal effects`,path:["edits",t,"effects"]})}new Set(e.validationPlan.map(t=>t.id)).size!==e.validationPlan.length&&s.addIssue({code:"custom",message:"validation plan ids must be unique",path:["validationPlan"]})}),L=E.extend({contentHash:c}).strict(),V=n.object({schemaVersion:n.literal("openpond.harnessTargetedValidationReceipt.v1"),id:r,proposal:o,validationId:r,kind:O.shape.kind,status:n.enum(["passed","failed","blocked","skipped"]),summary:g,evidenceRefs:n.array(q).max(1e3),createdAt:i,metadata:h}).strict(),W=V.extend({contentHash:c}).strict(),F=n.enum(["advanced","retained","conflict","rolled_back"]),P=n.object({schemaVersion:n.literal("openpond.harnessAdvanceReceipt.v1"),id:r,workspaceId:r,ownerScope:I,proposal:o.nullable(),expectedWorkspaceRevision:u,observedWorkspaceRevision:u,previousChannelRevision:u,nextChannelRevision:u,previousRelease:o.nullable(),nextRelease:o.nullable(),validationReceipts:n.array(o).max(100),decision:F,reason:g,rollbackOf:o.nullable(),createdAt:i,metadata:h}).strict().superRefine((e,s)=>{let a=e.nextChannelRevision===e.previousChannelRevision+1;["advanced","rolled_back"].includes(e.decision)!==a&&s.addIssue({code:"custom",message:"only successful advancement or rollback increments the channel revision",path:["nextChannelRevision"]}),e.decision==="rolled_back"&&e.rollbackOf===null&&s.addIssue({code:"custom",message:"rollback receipts require rollbackOf",path:["rollbackOf"]}),e.decision!=="rolled_back"&&e.rollbackOf!==null&&s.addIssue({code:"custom",message:"rollbackOf is only valid for rollback receipts",path:["rollbackOf"]})}),M=P.extend({contentHash:c}).strict(),N=n.object({schemaVersion:n.literal("openpond.harnessOverlayMergeReceipt.v1"),id:r,workspaceId:r,baseHarnessRelease:o,leftOverlay:R,rightOverlay:R,decision:n.enum(["merged","conflict"]),mergedOverlay:R.nullable(),conflictTargets:n.array(n.string().trim().min(1).max(2e3)).max(1e3),requiresRevalidation:n.literal(!0),createdAt:i,metadata:h}).strict().superRefine((e,s)=>{e.decision==="merged"!=(e.mergedOverlay!==null)&&s.addIssue({code:"custom",message:"merged decisions require a merged overlay; conflicts cannot provide one",path:["mergedOverlay"]}),e.decision==="conflict"!=e.conflictTargets.length>0&&s.addIssue({code:"custom",message:"conflict decisions require conflict targets and merged decisions cannot include them",path:["conflictTargets"]})}),pe=N.extend({contentHash:c}).strict();function fe(e){let s=j.parse(e);return D.parse({...s,contentHash:m(s)})}l(fe,"createHarnessRunOverlay");function he(e){let s=E.parse(e);return L.parse({...s,contentHash:m(s)})}l(he,"createHarnessImprovementProposal");function ve(e){let s=V.parse(e);return W.parse({...s,contentHash:m(s)})}l(ve,"createHarnessTargetedValidationReceipt");function Re(e){let s=P.parse(e);return M.parse({...s,contentHash:m(s)})}l(Re,"createHarnessAdvanceReceipt");var U=n.string().trim().min(1).max(2e3),S=n.string().trim().min(1).max(1e5),G=n.enum(["create","update","delete"]),J=n.enum(["memory","prompt","skill","agent"]),Q=n.enum(["runtime","product","taskset","training"]),X=n.enum(["no_action","routed","applied","retained","failed"]),Y=n.enum(["not_applicable","pending","passed","rejected","failed"]),Z=n.enum(["not_applicable","pending","passed","failed"]),ee=n.object({schemaVersion:n.literal("openpond.harnessRefinerActivityReceipt.v1"),id:r,runRef:r,turnId:r,result:X,decision:n.enum(["no_action","route","propose"]).nullable(),route:y.nullable(),operation:G.nullable(),target:n.string().trim().min(1).max(2e3).nullable(),summary:U,evidenceBasis:_.nullable(),critiqueStatus:Y,validationStatus:Z,trigger:o,outcome:o.nullable(),proposal:o.nullable(),applyReceipt:o.nullable(),inputHarness:o,outputHarness:o.nullable(),createdAt:i}).strict().superRefine((e,s)=>{let a=e.result==="applied"||e.result==="retained";e.result==="no_action"?$(s,e,{decision:"no_action",route:null,operation:null,target:null,evidenceBasis:null,proposal:null,applyReceipt:null,outputHarness:null,critiqueStatus:"not_applicable",validationStatus:"not_applicable"}):e.result==="routed"?((e.decision!=="route"||!Q.safeParse(e.route).success||e.operation!==null||e.target!==null||e.evidenceBasis===null||e.proposal!==null||e.applyReceipt!==null||e.outputHarness!==null)&&s.addIssue({code:"custom",message:"routed activity requires an external route and evidence basis without proposal state"}),$(s,e,{critiqueStatus:"not_applicable",validationStatus:"not_applicable"})):a?((e.decision!=="propose"||!J.safeParse(e.route).success||e.operation===null||e.target===null||e.evidenceBasis===null||e.proposal===null||e.applyReceipt===null)&&s.addIssue({code:"custom",message:"applied and retained activity requires complete proposal state"}),e.result==="applied"&&e.outputHarness===null&&s.addIssue({code:"custom",message:"applied activity requires the advanced Harness release",path:["outputHarness"]}),e.result==="applied"&&(e.critiqueStatus!=="passed"||e.validationStatus!=="passed")&&s.addIssue({code:"custom",message:"applied activity requires passed critique and validation"}),e.result==="retained"&&e.outputHarness!==null&&s.addIssue({code:"custom",message:"retained activity cannot report a new Harness release",path:["outputHarness"]})):(e.decision!==null||e.route!==null||e.operation!==null||e.target!==null||e.evidenceBasis!==null||e.outcome!==null||e.proposal!==null||e.applyReceipt!==null||e.outputHarness!==null)&&s.addIssue({code:"custom",message:"failed activity cannot claim a decision, route, proposal, or release transition"}),e.result!=="failed"&&e.outcome===null&&s.addIssue({code:"custom",message:"terminal Refiner decisions require an outcome reference",path:["outcome"]})}),ke=ee.extend({contentHash:c}).strict(),ne=n.enum(["unresolved","confirmed","resolved","rejected","expired"]),se=n.object({kind:n.enum(["applied_change","later_success","manual_rejection","source_revoked","expired"]),reason:S,evidenceRefs:n.array(o).max(1e3),resolvedAt:i}).strict(),T=n.object({schemaVersion:n.literal("openpond.harnessRefinementCandidate.v1"),id:r,ownerScope:H,workspaceRef:r,fingerprint:c,recurrenceFamily:n.string().trim().min(1).max(1e3),statement:S,status:ne,occurrences:n.array(v).max(1e3),counterevidence:n.array(v).max(1e3),sourceReviews:n.array(o).min(1).max(100),relatedHarnessReleases:n.array(o).max(100),firstSeenAt:i,lastSeenAt:i,lastReviewedAt:i,expiresAt:i,resolution:se.nullable(),createdAt:i,updatedAt:i}).strict().superRefine((e,s)=>{p(s,e.occurrences,"occurrences"),p(s,e.counterevidence,"counterevidence"),p(s,e.sourceReviews,"sourceReviews"),p(s,e.relatedHarnessReleases,"relatedHarnessReleases");let a=new Set(e.occurrences.map(d=>d.occurrenceKey));e.counterevidence.some(d=>a.has(d.occurrenceKey))&&s.addIssue({code:"custom",message:"supporting occurrences and counterevidence must be disjoint",path:["counterevidence"]});let t=e.status==="unresolved"||e.status==="confirmed";t&&e.occurrences.length===0&&s.addIssue({code:"custom",message:"actionable candidates require at least one supporting occurrence",path:["occurrences"]}),t&&[...e.occurrences,...e.counterevidence].some(d=>d.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"actionable candidates may contain only currently authorized evidence",path:["occurrences"]}),t!==(e.resolution===null)&&s.addIssue({code:"custom",message:"only resolved, rejected, or expired candidates require a resolution",path:["resolution"]}),e.status==="expired"&&e.resolution?.kind!=="expired"&&s.addIssue({code:"custom",message:"expired candidates require an expired resolution",path:["resolution","kind"]}),e.status==="rejected"&&e.resolution&&!["manual_rejection","source_revoked"].includes(e.resolution.kind)&&s.addIssue({code:"custom",message:"rejected candidates require a rejection or revocation resolution",path:["resolution","kind"]}),e.status==="resolved"&&e.resolution&&!["applied_change","later_success"].includes(e.resolution.kind)&&s.addIssue({code:"custom",message:"resolved candidates require applied-change or later-success evidence",path:["resolution","kind"]}),ce(s,e)}),te=T.extend({contentHash:c}).strict(),ae=n.enum(["created","merged","rejected","expired","reopened","resolved"]),K=n.object({schemaVersion:n.literal("openpond.harnessRefinementCandidateLifecycleReceipt.v1"),id:r,candidateId:r,decision:ae,beforeCandidate:o.nullable(),afterCandidate:o,review:o,addedEvidence:n.array(v).max(1e3),removedEvidence:n.array(o).max(1e3),reason:S,createdAt:i}).strict().superRefine((e,s)=>{e.decision==="created"!=(e.beforeCandidate===null)&&s.addIssue({code:"custom",message:"only candidate creation omits the previous candidate reference",path:["beforeCandidate"]}),e.beforeCandidate&&e.beforeCandidate.contentHash===e.afterCandidate.contentHash&&s.addIssue({code:"custom",message:"candidate lifecycle transitions must change candidate content",path:["afterCandidate"]}),["created","reopened"].includes(e.decision)&&e.addedEvidence.length===0&&s.addIssue({code:"custom",message:`${e.decision} candidate transitions require added evidence`,path:["addedEvidence"]}),e.addedEvidence.some(t=>t.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"candidate transitions may add only authorized evidence",path:["addedEvidence"]}),p(s,e.addedEvidence,"addedEvidence"),p(s,e.removedEvidence,"removedEvidence");let a=new Set(e.removedEvidence.map(t=>b(t)));e.addedEvidence.some(t=>a.has(b(t.evidence)))&&s.addIssue({code:"custom",message:"candidate lifecycle evidence cannot be added and removed together",path:["removedEvidence"]})}),re=K.extend({contentHash:c}).strict(),z=n.object({schemaVersion:n.literal("openpond.harnessCrossRunRefinementRequest.v1"),id:r,ownerScope:H,workspaceRef:r,candidate:o,candidateFingerprint:c,review:o,admittedHarness:o,evidence:n.array(v).min(1).max(1e3),capabilities:k,deduplicationKey:c,createdAt:i}).strict().superRefine((e,s)=>{e.evidence.some(t=>t.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"cross-run refinement requires currently authorized evidence",path:["evidence"]}),p(s,e.evidence,"evidence"),Object.values(e.capabilities).some(Boolean)||s.addIssue({code:"custom",message:"cross-run refinement requires at least one available Harness capability",path:["capabilities"]});let a=ie(e);e.deduplicationKey!==a&&s.addIssue({code:"custom",message:`cross-run refinement deduplicationKey is ${e.deduplicationKey}; expected ${a}`,path:["deduplicationKey"]})}),oe=z.extend({contentHash:c}).strict();function Ie(e){return x(e,T,te)}l(Ie,"createHarnessRefinementCandidate");function Ce(e){return x(e,K,re)}l(Ce,"createHarnessRefinementCandidateLifecycleReceipt");function ie(e){return m({schemaVersion:"openpond.harnessCrossRunRefinementIdentity.v1",workspaceRef:e.workspaceRef,candidateFingerprint:e.candidateFingerprint,admittedHarness:e.admittedHarness})}l(ie,"harnessCrossRunRefinementDeduplicationKey");function Ae(e){return x(e,z,oe)}l(Ae,"createHarnessCrossRunRefinementRequest");function x(e,s,a){let t=s.parse(e);return a.parse({...t,contentHash:m(t)})}l(x,"createHashedContract");function $(e,s,a){for(let[t,d]of Object.entries(a))s[t]!==d&&e.addIssue({code:"custom",message:`${t} must be ${String(d)}`,path:[t]})}l($,"requireFields");function p(e,s,a){let t=s.map(d=>b(d));new Set(t).size!==t.length&&e.addIssue({code:"custom",message:`${a} references must be unique`,path:[a]})}l(p,"requireUniqueRefs");function b(e){if(!e||typeof e!="object"||Array.isArray(e))return String(e);let s=e;if(typeof s.occurrenceKey=="string")return s.occurrenceKey;let a=s.evidence;if(a&&typeof a=="object"&&!Array.isArray(a)){let t=a;return`${String(t.id)}:${String(t.contentHash)}`}return`${String(s.id)}:${String(s.contentHash)}`}l(b,"refKey");function ce(e,s){let a=[["firstSeenAt",s.firstSeenAt],["lastSeenAt",s.lastSeenAt],["lastReviewedAt",s.lastReviewedAt],["updatedAt",s.updatedAt],["expiresAt",s.expiresAt]];for(let t=1;t<a.length;t+=1){let d=a[t-1],f=a[t];Date.parse(d[1])<=Date.parse(f[1])||e.addIssue({code:"custom",message:`${f[0]} must not precede ${d[0]}`,path:[f[0]]})}Date.parse(s.createdAt)>Date.parse(s.updatedAt)&&e.addIssue({code:"custom",message:"updatedAt must not precede createdAt",path:["updatedAt"]})}l(ce,"requireChronology");export{ue as a,y as b,R as c,me as d,D as e,L as f,W as g,M as h,pe as i,fe as j,he as k,ve as l,Re as m,te as n,re as o,oe as p,Ie as q,Ce as r,ie as s,Ae as t};
|