openpond 0.2.58 → 0.2.59
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 +1 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/{actions-command-QU4H53OG.js → actions-command-JJ3CU7J6.js} +1 -1
- package/dist/chunks/{app-layer-NSTE5HIT.js → app-layer-KAUZAHGE.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-JHGWLBXT.js → app-server-connected-apps-SXGZOUJJ.js} +1 -1
- package/dist/chunks/{app-server-evaluations-K52NAQLP.js → app-server-evaluations-N4OMTPCI.js} +1 -1
- package/dist/chunks/{app-server-harness-services-QMUOEYOA.js → app-server-harness-services-DDFUMNYC.js} +1 -1
- package/dist/chunks/app-server-runtime-SVB6L26M.js +2 -0
- package/dist/chunks/{apps-BKTOR4F7.js → apps-EZB56RHV.js} +1 -1
- package/dist/chunks/{chunk-SDXFLO7J.js → chunk-22VMH6JV.js} +1 -1
- package/dist/chunks/{chunk-FTEOCCPB.js → chunk-25JDHAZ5.js} +1 -1
- package/dist/chunks/{chunk-HDGTHRY7.js → chunk-2G4BEISF.js} +1 -1
- package/dist/chunks/{chunk-O72BSKSO.js → chunk-2L5XWJJ5.js} +1 -1
- package/dist/chunks/{chunk-QL4OIPEZ.js → chunk-2RNQQNB7.js} +2 -2
- package/dist/chunks/{chunk-O6ULLQJ6.js → chunk-2WKUBGIF.js} +1 -1
- package/dist/chunks/{chunk-F4KOGISR.js → chunk-37MWETFU.js} +1 -1
- package/dist/chunks/{chunk-D74JEERO.js → chunk-3CDEBKSU.js} +1 -1
- package/dist/chunks/{chunk-APB4O67E.js → chunk-4EDIRCD3.js} +1 -1
- package/dist/chunks/{chunk-JYKRR7E5.js → chunk-4GPXTISD.js} +1 -1
- package/dist/chunks/chunk-57TRXBLT.js +3 -0
- package/dist/chunks/{chunk-LQQNBVEB.js → chunk-76M2MEHV.js} +1 -1
- package/dist/chunks/{chunk-HCYX6RHP.js → chunk-776WNDV2.js} +1 -1
- package/dist/chunks/{chunk-RWWE5OXU.js → chunk-7AVNZF36.js} +1 -1
- package/dist/chunks/{chunk-65PL62KH.js → chunk-7K7O3CKY.js} +1 -1
- package/dist/chunks/chunk-7UH4YDA7.js +3 -0
- package/dist/chunks/{chunk-IIZ4CWBX.js → chunk-ABZ2ZOLU.js} +1 -1
- package/dist/chunks/{chunk-ZRDGQDZL.js → chunk-ANFDRKUU.js} +1 -1
- package/dist/chunks/{chunk-JUHZ5S3R.js → chunk-AQD7K4Z5.js} +1 -1
- package/dist/chunks/{chunk-4D7HWVWD.js → chunk-ARLOVWQ3.js} +1 -1
- package/dist/chunks/{chunk-7SC46OFC.js → chunk-ATAOHSFR.js} +1 -1
- package/dist/chunks/{chunk-TTVS6JMC.js → chunk-BE6SS65L.js} +2 -2
- package/dist/chunks/{chunk-Z54O534A.js → chunk-BGJYITVI.js} +1 -1
- package/dist/chunks/{chunk-BLXEAZCQ.js → chunk-BL3YH2QU.js} +1 -1
- package/dist/chunks/{chunk-2D4Y3HNW.js → chunk-BO5JZYWG.js} +1 -1
- package/dist/chunks/{chunk-ZGTOK7ZK.js → chunk-BQS7Z4AP.js} +1 -1
- package/dist/chunks/{chunk-NH6UUX5S.js → chunk-BRORSFJX.js} +3 -3
- package/dist/chunks/{chunk-HPBQ4VTW.js → chunk-BVQWVIGK.js} +1 -1
- package/dist/chunks/{chunk-SWUEFLOH.js → chunk-C37PUHA6.js} +1 -1
- package/dist/chunks/{chunk-3VUATFZD.js → chunk-CGWA54LE.js} +1 -1
- package/dist/chunks/{chunk-NC27T4AB.js → chunk-CKMSBAI2.js} +1 -1
- package/dist/chunks/{chunk-TJ6GVTYB.js → chunk-COHMDT7A.js} +7 -7
- package/dist/chunks/{chunk-JDEEWOD7.js → chunk-DPHAN6N3.js} +1 -1
- package/dist/chunks/{chunk-YOQRYNLP.js → chunk-DZUN5YWB.js} +1 -1
- package/dist/chunks/{chunk-ROGF26KV.js → chunk-E72UU4VX.js} +1 -1
- package/dist/chunks/{chunk-ABD5M2D2.js → chunk-EOBHQ3JT.js} +1 -1
- package/dist/chunks/chunk-EQOV34UH.js +2 -0
- package/dist/chunks/chunk-EUMXMT3S.js +2 -0
- package/dist/chunks/{chunk-773TH7FN.js → chunk-EWOSLZDX.js} +1 -1
- package/dist/chunks/{chunk-HIOKCIL7.js → chunk-FAYASU7Z.js} +1 -1
- package/dist/chunks/{chunk-EIRYMSEG.js → chunk-FKJHEZCW.js} +1 -1
- package/dist/chunks/{chunk-Q2QL6UWN.js → chunk-GL3NX3F3.js} +1 -1
- package/dist/chunks/{chunk-UKMA4R6X.js → chunk-GOPFFQZU.js} +1 -1
- package/dist/chunks/{chunk-RAXOSUSW.js → chunk-GUOLMLZN.js} +1 -1
- package/dist/chunks/{chunk-YNH3NMPF.js → chunk-GVZLGS2U.js} +1 -1
- package/dist/chunks/chunk-GYJQKCEO.js +5 -0
- package/dist/chunks/{chunk-XDQMGUWL.js → chunk-H7ATCPPB.js} +1 -1
- package/dist/chunks/{chunk-XX6SMFDY.js → chunk-IFDALGZE.js} +4 -4
- package/dist/chunks/{chunk-H4QHIHMK.js → chunk-IRV6GWGG.js} +3 -3
- package/dist/chunks/chunk-JFXINDOQ.js +3 -0
- package/dist/chunks/{chunk-PRGBLQVH.js → chunk-JMBQYBPI.js} +1 -1
- package/dist/chunks/{chunk-DBK66CJP.js → chunk-JQKSXCAJ.js} +1 -1
- package/dist/chunks/{chunk-DARVPBZ4.js → chunk-JUQMSHNR.js} +1 -1
- package/dist/chunks/{chunk-3Z47M3YY.js → chunk-K44RHALX.js} +1 -1
- package/dist/chunks/{chunk-4EPSHPZL.js → chunk-KO3HNMLJ.js} +1 -1
- package/dist/chunks/{chunk-4NESNOK5.js → chunk-LNCHFVHT.js} +1 -1
- package/dist/chunks/{chunk-7E6T7GP5.js → chunk-LPWBIGKW.js} +1 -1
- package/dist/chunks/{chunk-X2HIHF2I.js → chunk-MFMYWZK2.js} +1 -1
- package/dist/chunks/{chunk-A6USMRWK.js → chunk-MMQRHR3V.js} +1 -1
- package/dist/chunks/{chunk-I7AQMAQI.js → chunk-MNC4YUDI.js} +6 -6
- package/dist/chunks/{chunk-RNQF63ZR.js → chunk-N6ENLEMY.js} +2 -2
- package/dist/chunks/{chunk-JAJ46T5X.js → chunk-NTB2O4RP.js} +1 -1
- package/dist/chunks/{chunk-OQKJGTTO.js → chunk-O3RF72BT.js} +1 -1
- package/dist/chunks/{chunk-JE7RJZOA.js → chunk-O4VIXU7A.js} +1 -1
- package/dist/chunks/{chunk-5MCNZCVQ.js → chunk-OLDK2LKJ.js} +1 -1
- package/dist/chunks/{chunk-VVCKLCF3.js → chunk-OX3XZKGK.js} +2 -2
- package/dist/chunks/{chunk-SDAUS5PY.js → chunk-P2RSBSCT.js} +1 -1
- package/dist/chunks/{chunk-EKM2D7JU.js → chunk-PFSMXKTI.js} +1 -1
- package/dist/chunks/{chunk-FUOEIDMA.js → chunk-PH6IORGZ.js} +1 -1
- package/dist/chunks/{chunk-L3KCP52O.js → chunk-PQJTYOR2.js} +1 -1
- package/dist/chunks/{chunk-OLLLZVHF.js → chunk-PY6K2JRH.js} +1 -1
- package/dist/chunks/{chunk-EYPCBBMS.js → chunk-RBZH6A6M.js} +1 -1
- package/dist/chunks/{chunk-6QSSIT62.js → chunk-RZUEVS64.js} +1 -1
- package/dist/chunks/{chunk-Q5LEXXJG.js → chunk-SF5HJ7PL.js} +4 -4
- package/dist/chunks/{chunk-NHQ36THU.js → chunk-TG7P7BSV.js} +1 -1
- package/dist/chunks/{chunk-G3RXYI2L.js → chunk-TIHXUKFD.js} +1 -1
- package/dist/chunks/{chunk-QOGJAQDO.js → chunk-TKLBP3MM.js} +1 -1
- package/dist/chunks/{chunk-M4JWQSV7.js → chunk-U2MAPON2.js} +1 -1
- package/dist/chunks/chunk-U5FKRYJO.js +86 -0
- package/dist/chunks/{chunk-QNG27G3T.js → chunk-V34H7Y2T.js} +2 -2
- package/dist/chunks/chunk-VGRMAGOK.js +9 -0
- package/dist/chunks/chunk-VRODAXFS.js +145 -0
- package/dist/chunks/{chunk-EIEZHFIW.js → chunk-WC42WOLG.js} +1 -1
- package/dist/chunks/{chunk-OS3LO5J3.js → chunk-WRI4XKSK.js} +1 -1
- package/dist/chunks/{chunk-4EQA2M7K.js → chunk-XJZSIXEO.js} +2 -2
- package/dist/chunks/{chunk-25MBPJVY.js → chunk-XMKCCLGB.js} +1 -1
- package/dist/chunks/{chunk-HZEIRHEB.js → chunk-XMWXH7TS.js} +1 -1
- package/dist/chunks/chunk-YCQSVHCD.js +9 -0
- package/dist/chunks/{chunk-B7RFL4N2.js → chunk-YHHF4Q7Y.js} +1 -1
- package/dist/chunks/{chunk-DMVD2RFZ.js → chunk-ZAN4DYLH.js} +1 -1
- package/dist/chunks/{chunk-5IPFI25K.js → chunk-ZH3K7LKQ.js} +1 -1
- package/dist/chunks/cli-5DFVQL5Y.js +2 -0
- package/dist/chunks/{configuration-command-6C5UO7GE.js → configuration-command-JS6U3RMC.js} +1 -1
- package/dist/chunks/connected-app-executor-UBMGMV76.js +2 -0
- package/dist/chunks/{connected-evidence-GH2ATNEX.js → connected-evidence-NLAIEVQ3.js} +1 -1
- package/dist/chunks/connection-NZSD3U5O.js +2 -0
- package/dist/chunks/{continual-6CQAMTTR.js → continual-WFPIDWPH.js} +1 -1
- package/dist/chunks/core-commands-U4IBRRY5.js +2 -0
- package/dist/chunks/{datasets-7BNMVJOY.js → datasets-UX47DTTB.js} +1 -1
- package/dist/chunks/{desktop-test-3CUHVLXV.js → desktop-test-UUU7PD4P.js} +1 -1
- package/dist/chunks/{dist-VYC5VMQB.js → dist-OGLX76LL.js} +1 -1
- package/dist/chunks/{dist-ZVJPJLXR.js → dist-W5MJYSPF.js} +1 -1
- package/dist/chunks/{evaluation-coordination-XEF5L7KZ.js → evaluation-coordination-3YQN5JQW.js} +1 -1
- package/dist/chunks/{experiment-improvements-KRX2DP27.js → experiment-improvements-ZRVD2AGY.js} +1 -1
- package/dist/chunks/{experiments-DFGQYA4O.js → experiments-JEB5A2N5.js} +1 -1
- package/dist/chunks/{extension-XKXXOP5N.js → extension-JCUA3RWV.js} +1 -1
- package/dist/chunks/{help-S7THC6IE.js → help-KA4OINP5.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-2URLU5SG.js +2 -0
- package/dist/chunks/host-profile-external-dataset-B2AQNSDR.js +2 -0
- package/dist/chunks/{hosted-app-server-composition-T5IWGOTA.js → hosted-app-server-composition-VJQ3FM4I.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-HVMDGS75.js → hosted-experiment-improvement-42YWXB3P.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-BM4WONJN.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-EXNN6MVN.js → hosted-profile-candidate-HVVC43XQ.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-RKDWHYK3.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-TJVER3NW.js → hosted-profile-evaluation-control-57V24UGU.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-ZUANDYZ6.js → hosted-profile-evaluation-inspection-BUWLCKCD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-ORVZ6MBD.js → hosted-profile-evaluation-preparation-3XLRR6UH.js} +1 -1
- package/dist/chunks/{hosted-tasksets-ANAE2PIW.js → hosted-tasksets-THKM5QY5.js} +1 -1
- package/dist/chunks/{human-review-WR777ODH.js → human-review-CSYAW4PC.js} +1 -1
- package/dist/chunks/import-CBDJ4DME.js +3 -0
- package/dist/chunks/local-harness-improvement-runtime-3T6E7I5Q.js +2 -0
- package/dist/chunks/local-harness-taskset-review-LQPQBALH.js +2 -0
- package/dist/chunks/{opchat-T4QTNEIY.js → opchat-6ADSONAD.js} +1 -1
- package/dist/chunks/{organizations-75L5DZDV.js → organizations-GT24ZTCN.js} +1 -1
- package/dist/chunks/{profile-TFZMUEDR.js → profile-Y2MCSOUK.js} +1 -1
- package/dist/chunks/project-action-payload-GHSLE7K3.js +2 -0
- package/dist/chunks/{project-agent-6RRO233B.js → project-agent-YYSQIHVE.js} +1 -1
- package/dist/chunks/{published-experiment-source-HVP5IGRH.js → published-experiment-source-5TMGLKDM.js} +1 -1
- package/dist/chunks/refiner-profile-service-ZK7KAFP5.js +2 -0
- package/dist/chunks/{runtime-A7OZXM43.js → runtime-QFXCXSVB.js} +2 -2
- package/dist/chunks/{sandbox-command-IU5XFTJP.js → sandbox-command-U6346TVJ.js} +1 -1
- package/dist/chunks/{sandbox-template-C4V6T36U.js → sandbox-template-XWWPWWNR.js} +1 -1
- package/dist/chunks/saved-work-SWHZ4OLO.js +2 -0
- package/dist/chunks/{send-turn-XTAIS2JN.js → send-turn-SIXOZUVJ.js} +1 -1
- package/dist/chunks/{src-DZL5T2MT.js → src-6SHCCYEN.js} +1 -1
- package/dist/chunks/{src-R36AGJY7.js → src-EZAKCCUV.js} +103 -103
- package/dist/chunks/standalone-experiment-turn-owner-LIAQWTGI.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-LJPNG4SP.js → store-continual-support-reviews-GDX6CSUU.js} +1 -1
- package/dist/chunks/{store-conversation-serving-KPC62UEY.js → store-conversation-serving-W55XMDH4.js} +1 -1
- package/dist/chunks/{store-create-improve-SW5FTBTL.js → store-create-improve-A7E7CUPZ.js} +1 -1
- package/dist/chunks/{store-datasets-WMA7AJKN.js → store-datasets-HKF3EO7B.js} +1 -1
- package/dist/chunks/{store-evaluation-results-ZO6R653G.js → store-evaluation-results-645RFBGR.js} +1 -1
- package/dist/chunks/{store-human-review-7QQ7ZQ6P.js → store-human-review-F5KESW52.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-NADPXOTG.js → store-learned-preference-migration-validation-V27XD4I7.js} +1 -1
- package/dist/chunks/{store-local-experiments-SAULQSBN.js → store-local-experiments-HWQWNTIU.js} +1 -1
- package/dist/chunks/{store-model-batch-review-VKLDYGH3.js → store-model-batch-review-TOCSDVAP.js} +1 -1
- package/dist/chunks/{store-model-configuration-BYRJUR3C.js → store-model-configuration-6543ASY2.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-VB5GTLFY.js → store-sidebar-file-bookmarks-53B7QIGS.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-GWIOG2NH.js → store-sidebar-preferences-YXGEJVUO.js} +1 -1
- package/dist/chunks/{store-subagents-T7R2Z6TB.js → store-subagents-HRCAK7VZ.js} +1 -1
- package/dist/chunks/{store-task-inbox-QPE44OSS.js → store-task-inbox-WF74W4U2.js} +1 -1
- package/dist/chunks/{store-task-inventory-I3RDRI52.js → store-task-inventory-KHCTEZVK.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-2IULRV2W.js → store-taskset-drafts-3ACG5AVX.js} +1 -1
- package/dist/chunks/{store-training-B2TW2MLA.js → store-training-R46WOGXB.js} +1 -1
- package/dist/chunks/{store-training-jobs-VBNG23RL.js → store-training-jobs-D4LECE7O.js} +1 -1
- package/dist/chunks/{store-training-models-OMV5FIC4.js → store-training-models-EQVNXOVB.js} +1 -1
- package/dist/chunks/{taskset-EQRFQBYM.js → taskset-NR2X2UOK.js} +1 -1
- package/dist/chunks/{taskset-packages-XC6HEE3K.js → taskset-packages-ONULEIVI.js} +1 -1
- package/dist/chunks/{teams-bot-EAPGPTHZ.js → teams-bot-CHUYMD6K.js} +1 -1
- package/dist/chunks/{training-UF6RPI4T.js → training-IDSGYGU2.js} +1 -1
- package/dist/chunks/{web-search-CZ3NCLPY.js → web-search-BPON7H5N.js} +1 -1
- package/dist/chunks/{workspaces-EKKE5NAC.js → workspaces-2TJRDM5K.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/App-pcwmC4IR.js +154 -0
- package/dist/web/assets/{AppDialog-t2Fx5tK3.js → AppDialog-CdHad7GT.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-Dj1Y32oI.js → AppTerminalPanel-CrmoOgd4.js} +2 -2
- package/dist/web/assets/AppsView-0P6cBsD4.js +1 -0
- package/dist/web/assets/{BrowserSidebar-jhWi4rVm.js → BrowserSidebar-Cb6edJw6.js} +1 -1
- package/dist/web/assets/{CartesianChart-C1DIx0Ia.js → CartesianChart-B2Sxi0lv.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-Bdr-HmOL.js → CollaborationTabs-PP0AIXhb.js} +1 -1
- package/dist/web/assets/{CommandMenu-Ux2yOHAc.js → CommandMenu-GfQIMe6W.js} +1 -1
- package/dist/web/assets/{CommunityView-DPEeVKFn.js → CommunityView-V6KmMl5n.js} +1 -1
- package/dist/web/assets/ComposerCreateImproveStrip-oeVeyhPX.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-CuQcvVgE.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-PfUa8V7X.css +1 -0
- package/dist/web/assets/{GetStartedView-CFHP0AaI.js → GetStartedView-2oZ068h_.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-D8BGTPVN.js → HostedModelLearningReview-DLzak_Vf.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-JS1S7vNO.js → HostedModelLearningSettings-Eca6Pd9R.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-Dx5Q3xV2.js → LabModelVersionDetailPage-DsBblnMp.js} +1 -1
- package/dist/web/assets/LabSkillSidebar-DDknttrB.js +1 -0
- package/dist/web/assets/{LabsRoute-CyYF8-dw.js → LabsRoute-CgNiUHsy.js} +4 -4
- package/dist/web/assets/MainChatThread-yCVg99LU.js +2 -0
- package/dist/web/assets/MainPane-C86le7UF.js +65 -0
- package/dist/web/assets/{MarkdownText-BR4V6lNO.js → MarkdownText-BBVriBCj.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-DU9IEgIO.js → NativeSkillSidebar-D2uVZkqh.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-mIy6FzCj.js → NewExperienceSwitcher-DuD6GScJ.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-RfTZTHxl.js → NewProjectDialog-B6XZkJrU.js} +1 -1
- package/dist/web/assets/OutputsPage-PUlmcWjv.js +1 -0
- package/dist/web/assets/{ProjectsPage-CE6QUB-b.js → ProjectsPage-DWBRmej6.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-HaCVep4t.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-CK0rP3WT.js → RightSidebarHomePanel-BUtdPb2L.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-vOrYv8pp.js → ScheduledWorkPage-Dg9GkGrT.js} +1 -1
- package/dist/web/assets/SettingsView-DjjnCnlb.css +1 -0
- package/dist/web/assets/{SettingsView-DCKVrfjj.js → SettingsView-DtldfnV-.js} +4 -4
- package/dist/web/assets/{TeamChatView-Bwrjr-vk.js → TeamChatView-C71JX4je.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-DhPoKZAq.js → TerminalOverlay-B4F6Q36s.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-B9MxFzQx.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-C9cRX5qf.js → TrainingDraftPanel-7C48sHfC.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CrdcSGeW.js → UsageSettingsSection-CC57FcUB.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-DSSikNFQ.js → WorkSidebarPanel-Cto1usLM.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-BAFo0CPN.js → WorkspaceDiffPanel-CL7wi3kp.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-BVHAhwnJ.js → WorkspaceEnvironmentMenu-zdzSDofs.js} +18 -18
- package/dist/web/assets/{WorkspaceGitDialogs-CwVoiDQ2.js → WorkspaceGitDialogs-CZSmjnrc.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-TxLyhzNp.js → WorkspaceMonacoEditor-TrUDJMKb.js} +3 -3
- package/dist/web/assets/agent-connections-4Dza2mDg.js +1 -0
- package/dist/web/assets/{arrow-up-right-C9aE8Mfz.js → arrow-up-right-xKb5kWQJ.js} +1 -1
- package/dist/web/assets/{chunk-P3BRSSRD-DUGfuKA8.js → chunk-P3BRSSRD-BsGTkgyC.js} +1 -1
- package/dist/web/assets/{clipboard-Dk158Qp4.js → clipboard-BgjV3aCx.js} +1 -1
- package/dist/web/assets/{cloud-upload-k9eqBsHr.js → cloud-upload-Bw9XUsKQ.js} +1 -1
- package/dist/web/assets/{cssMode-CO35ARZp.js → cssMode-DxsFJGb-.js} +1 -1
- package/dist/web/assets/{folder-open-sYgceW_f.js → folder-open-CbmUjIYS.js} +1 -1
- package/dist/web/assets/{folder-plus-CS0R49m9.js → folder-plus-slsst7Ct.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DrGxH2h4.js → git-commit-horizontal-BIS-8MuS.js} +1 -1
- package/dist/web/assets/{htmlMode-REMmzdfq.js → htmlMode-BE4VOrZo.js} +1 -1
- package/dist/web/assets/{index-C8aCGagb.js → index-DEg0S7Qk.js} +2 -2
- package/dist/web/assets/index-erq7hUne.css +1 -0
- package/dist/web/assets/{info-DLdbiUrh.js → info-5bL9xSSf.js} +1 -1
- package/dist/web/assets/{jsonMode-KEdMfkIf.js → jsonMode-CYimnBhD.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-5KZwEoxW.js → lspLanguageFeatures-CiFuk-P7.js} +1 -1
- package/dist/web/assets/{minimize-2-CqcI4zcM.js → minimize-2-BGVWKvTg.js} +1 -1
- package/dist/web/assets/{monaco.contribution-omszXBEj.js → monaco.contribution-BTY4dJ0f.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BJGj65F9.js → monaco.contribution-C7sMrcos.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DO10L0zW.js → monaco.contribution-DUE3CQph.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Cly9Wt7L.js → monaco.contribution-DkLVGT8N.js} +2 -2
- package/dist/web/assets/{monitor-BFVCcbxp.js → monitor-B5hx_tzp.js} +1 -1
- package/dist/web/assets/{play-C469pVZq.js → play-pmSO95Qg.js} +1 -1
- package/dist/web/assets/{python-Dw0YcVy9.js → python-CiZvL3LX.js} +1 -1
- package/dist/web/assets/{save-CtSjPydi.js → save-CvYL4DUg.js} +1 -1
- package/dist/web/assets/{square-BuImvLhT.js → square-DT_uFOml.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-DjCO9lIP.js → toggleHighContrast-CrE1_HY0.js} +1 -1
- package/dist/web/assets/{tsMode-BAOnxKd6.js → tsMode-CI_PdZmj.js} +1 -1
- package/dist/web/assets/{upload-2JkFZo3h.js → upload-PVi8vC3T.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-BNqAisfS.js → useLocalAgentSchedules-BHJNVf42.js} +1 -1
- package/dist/web/assets/useProviderSettings-CU3zXyie.js +5 -0
- package/dist/web/assets/{useProviderSettings-CmL_BaxP.css → useProviderSettings-Cktvzinz.css} +1 -1
- package/dist/web/assets/{useSessionTurnCache-BHU2-Jmz.js → useSessionTurnCache-BE7cipLX.js} +1 -1
- package/dist/web/assets/{wifi-off-CpOAH62M.js → wifi-off-7WiFuOhD.js} +1 -1
- package/dist/web/assets/{workers-0QvlA2T5.js → workers-Cv8r4CvM.js} +1 -1
- package/dist/web/assets/{yaml-BK3qxo7D.js → yaml-Bj7mdkV2.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +10 -3
- package/docs/conversation-imports.md +57 -0
- package/package.json +1 -1
- package/dist/chunks/app-server-runtime-ISGGLQHU.js +0 -2
- package/dist/chunks/chunk-6UDGARFC.js +0 -143
- package/dist/chunks/chunk-FV2R5RUN.js +0 -3
- package/dist/chunks/chunk-HY3GOBFJ.js +0 -58
- package/dist/chunks/chunk-I3HZKJB3.js +0 -2
- package/dist/chunks/chunk-I3VVWNUW.js +0 -5
- package/dist/chunks/chunk-KG325WTN.js +0 -2
- package/dist/chunks/chunk-VRIEKBBH.js +0 -9
- package/dist/chunks/chunk-WJ43MJ3F.js +0 -2
- package/dist/chunks/chunk-ZTNHW2K7.js +0 -10
- package/dist/chunks/cli-XZENDZ7Z.js +0 -2
- package/dist/chunks/connected-app-executor-LQNIU5NR.js +0 -2
- package/dist/chunks/connection-HTF6CC7M.js +0 -2
- package/dist/chunks/core-commands-A2DGGIPS.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-JOFBL5OF.js +0 -2
- package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +0 -2
- package/dist/chunks/hosted-harness-runtime-YCKB6NBI.js +0 -2
- package/dist/chunks/hosted-profile-compiler-IYLLHCRY.js +0 -2
- package/dist/chunks/import-MLZUHITH.js +0 -4
- package/dist/chunks/local-harness-improvement-runtime-QRFGPFRM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-HR7KLY4B.js +0 -2
- package/dist/chunks/project-action-payload-JDS6OQAW.js +0 -2
- package/dist/chunks/refiner-profile-service-FDTQKY33.js +0 -2
- package/dist/chunks/saved-work-SHEEDZ6Z.js +0 -2
- package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +0 -2
- package/dist/web/assets/App-s-CJswyt.js +0 -154
- package/dist/web/assets/AppsView-BYE5EBDJ.js +0 -1
- package/dist/web/assets/ComposerCreateImproveStrip-CEgh4OtN.js +0 -1
- package/dist/web/assets/LabSkillSidebar-BxffN-pN.js +0 -1
- package/dist/web/assets/MainChatThread-DZpcFRFl.js +0 -2
- package/dist/web/assets/MainPane-5DTtwVCk.js +0 -65
- package/dist/web/assets/OutputsPage-Cr1Spf7S.js +0 -1
- package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +0 -1
- package/dist/web/assets/SettingsView-Dulr_xlq.css +0 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +0 -1
- package/dist/web/assets/index-3iPNbbER.css +0 -1
- package/dist/web/assets/useProviderSettings-C4L4wDoh.js +0 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as vs,b as Ts}from"./chunk-HDGTHRY7.js";import{a as ps,c as fs}from"./chunk-XVDFJ3ZF.js";import{a as oe}from"./chunk-NC27T4AB.js";import{i as ms,j as pt}from"./chunk-HCYX6RHP.js";import{d as je,e as it}from"./chunk-TRQQNFMO.js";import{a as ce}from"./chunk-I2NXNMRZ.js";import{a as Yr,b as Kr,c as Xr,d as dt,f as Zr,g as Qr,h as ct}from"./chunk-O72BSKSO.js";import{b as Br,e as at,f as nt}from"./chunk-DBK66CJP.js";import{E as ys,N as ws,a as ft,b as gs,c as gt,d as ht,e as hs,f as ks}from"./chunk-RNQF63ZR.js";import{g as ut,i as mt}from"./chunk-UKMA4R6X.js";import{a as ye}from"./chunk-7KWD2I6W.js";import{g as qe}from"./chunk-KG325WTN.js";import{s as Gr}from"./chunk-EIRYMSEG.js";import{A as rs,C as ss,t as ts}from"./chunk-QL4OIPEZ.js";import{q as es}from"./chunk-WJ43MJ3F.js";import{G as B,H as os,I as as,J as ns,K as lt,L as is,M as q,N as ds,O as Ne,P as cs,R as ls,S as Lt,T as us}from"./chunk-QOGJAQDO.js";import{l as $t}from"./chunk-EYPCBBMS.js";import{p as Vr,r as F,s as zr,u as Jr}from"./chunk-PRGBLQVH.js";import{f as Fr}from"./chunk-XDQMGUWL.js";import{Ib as ot,M as Pr,N as Or,O as Hr,P as Dr,R as jr,ca as Nr,da as qr,ka as $r,sa as Lr,ua as ke,va as Ur,wa as Wr,xa as Te}from"./chunk-25MBPJVY.js";import{n as se}from"./chunk-523TE4BI.js";import{C as Sr,S as Er,T as Cr,Tb as Ar}from"./chunk-Y4OWBBDD.js";import{f as yr}from"./chunk-JFXWI3EN.js";import{$ as De,Kb as Ir,N as U,O as _r,V as st,W as xr,c as qt,d as re,g as br,j as Rr,lb as ge,mb as he}from"./chunk-VYLGI3IH.js";import{La as ve,Ma as Tr,l as ze,oa as rt}from"./chunk-ACYFMLWG.js";import{l as wr,m as vr}from"./chunk-TVQAPBLZ.js";import{h as kr,l as fe,m as h}from"./chunk-KGNCKIFP.js";import{b as O}from"./chunk-ES2ISFJC.js";import{n as Mr}from"./chunk-H7IWJN7L.js";import{a as i}from"./chunk-FTQLQJQV.js";import{randomUUID as Vo}from"node:crypto";function yt(e){let t=kt(kt(kt(e.metadata).billing).pricing);return{version:$e(t.version,"pricing version"),source:$e(t.source,"pricing source"),effectiveAt:$e(t.effectiveAt,"pricing effective date"),inputUsdPerMillionTokens:Le(t.inputUsdPerMillionTokens,"input token rate"),cachedInputUsdPerMillionTokens:Le(t.cachedInputUsdPerMillionTokens,"cached input token rate"),outputUsdPerMillionTokens:Le(t.outputUsdPerMillionTokens,"output token rate")}}i(yt,"hostedTokenPricingFromCatalog");function Fn(e){let t=kt(e);try{return{version:$e(t.version,"pricing version"),source:$e(t.source,"pricing source"),effectiveAt:$e(t.effectiveAt,"pricing effective date"),inputUsdPerMillionTokens:Le(t.inputUsdPerMillionTokens,"input token rate"),cachedInputUsdPerMillionTokens:Le(t.cachedInputUsdPerMillionTokens,"cached input token rate"),outputUsdPerMillionTokens:Le(t.outputUsdPerMillionTokens,"output token rate")}}catch{return null}}i(Fn,"hostedTokenPricingFromValue");function Se(e,t){let r=ye(e);if(r.promptTokens===null&&r.completionTokens===null)return null;let s=r.cachedPromptTokens??0;return((r.uncachedPromptTokens??r.promptTokens??0)*t.inputUsdPerMillionTokens+s*t.cachedInputUsdPerMillionTokens+(r.completionTokens??0)*t.outputUsdPerMillionTokens)/1e6}i(Se,"hostedUsageCostUsd");function kt(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(kt,"record");function $e(e,t){if(typeof e=="string"&&e.trim())return e.trim();throw new Error(`Hosted model catalog is missing ${t}.`)}i($e,"requiredString");function Le(e,t){if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return e;throw new Error(`Hosted model catalog is missing ${t}.`)}i(Le,"requiredRate");function Rs(e={}){let t=e.catalog??ut,r=e.stream??mt;return{async prepare(s){if(s.providerId!=="openpond")throw new Error("The selected judge provider is not connected to the hosted judge transport.");if(s.revision!==null)throw new Error("This judge transport cannot enforce a model revision; select a provider with revision support.");let a=await t();if(a.error)throw new Error(`Judge model catalog unavailable: ${a.error}`);let o=a.models.find(l=>l.id===s.modelId);if(!o)throw new Error("The selected judge model is unavailable.");let n=Ss(o.raw),c=yt(n),u=bs(n.context_window,"context window"),g=Math.min(4096,bs(n.output_limit,"output limit")),p=(u*Math.max(c.inputUsdPerMillionTokens,c.cachedInputUsdPerMillionTokens)+g*c.outputUsdPerMillionTokens)/1e6;if(!(p>0))throw new Error("The judge model must have a positive known charge ceiling.");return{maximumChargeUsd:p,async dispatch(l){l?.throwIfAborted();let d="",m=null,f=null,T=null,y=!1;for await(let A of r({model:s.modelId,messages:[{role:"system",content:s.system},{role:"user",content:s.data}],requestId:`learning-judge-${Vo()}`,maxTokens:g,temperature:s.temperature,signal:l})){let I=Ss(A.raw);if(typeof I.model=="string"){if(m!==null&&I.model!==m)throw new Error("Judge response model identity changed during streaming.");m=I.model}if(typeof I.id=="string"){if(f!==null&&f!==I.id)throw new Error("Judge response identity changed during streaming.");f=I.id}if(A.type==="text_delta"&&(d+=A.text),d.length>1e5)throw new Error("Judge response exceeds the retained response limit.");A.type==="usage"&&(T=A.usage),A.type==="finish"&&(y=!0)}if(!y||!m||!f)throw new Error("Judge response did not include a complete model receipt.");let w=ye(T),_=w.promptTokens!==null&&w.completionTokens!==null?Se(T,c):null;return{text:d,modelId:m,modelRevision:null,responseId:f,inputTokens:w.promptTokens,outputTokens:w.completionTokens,costUsd:_}}}},async cancel({run:s}){return!s.judgeCalls?.some(a=>a.status==="reserved")}}}i(Rs,"createLearningHostedJudgeProvider");function Ss(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(Ss,"record");function bs(e,t){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw new Error(`Judge catalog is missing its ${t}.`);return e}i(bs,"positiveInteger");function oi(e,t=Rs()){return{execute(r){if(r.definition.execution.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Tool Tasksets require grading an owner-recorded environment attempt.");let s=Ir({repository:e,scope:r.scope,run:r.run});return Tr({binding:r.binding,rewards:r.rewards,task:st(r.evidence,r.definition),evidence:xr(r.evidence,r.run.output),evaluatorContext:r.evidence.submission.evaluatorContext,signal:r.signal,modelJudge:br({readRubric:i(a=>e.transaction(r.scope,async o=>re(await ge(o,"asset",a.id,1),a)),"readRubric"),async executeBudgeted(a,o){let n=await t.prepare(a,{scope:r.scope,run:r.run});return Rr({store:s,maximumCharge:i(()=>n.maximumChargeUsd,"maximumCharge"),dispatch:i((u,g)=>n.dispatch(g),"dispatch")})(`grade-${h(a)}`,a,o)}}),customVerifier:i(async({grader:a,task:o,evidence:n})=>{let c=await Je({repository:e,scope:r.scope,grader:a,task:o,evidence:n,evaluatorContext:r.evidence.submission.evaluatorContext,timeoutMs:r.run.timeoutMs,signal:r.signal});return{score:c.score,passed:c.passed,rewardEligible:a.rewardEligible,failureClass:null,feedback:[c.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:c.evidenceRefs}},"customVerifier")})},async cancel({scope:r,run:s}){let a=await e.transaction(r,o=>ge(o,"grade",s.id));return a.judgeCalls?.some(o=>o.status==="reserved")?!1:t.cancel({scope:r,run:a})}}}i(oi,"createLocalTaskGradeExecutor");async function Je(e){let t=await e.repository.transaction(e.scope,async r=>re(await ge(r,"asset",e.grader.verifierRef.id,1),e.grader.verifierRef));return je({source:t,exportName:e.grader.exportName,runtime:e.grader.runtime,timeoutMs:Math.min(e.grader.timeoutMs,e.timeoutMs??e.grader.timeoutMs),signal:e.signal,value:{task:e.task,attempt:e.evidence,input:e.task.input,output:e.evidence.output,expectedOutput:e.task.expectedOutput,evaluatorContext:e.evaluatorContext,infrastructureError:e.evidence.infrastructureError??null}})}i(Je,"executeLocalLearningVerifier");import zo from"node:path";async function _s(e,t,r){if(!r)throw new Error("Ordinary tool execution requires its owner's package directory.");let s=ot({taskset:e,adapterId:dt(e)}),a=await Zr({root:zo.join(r,"training","tasksets",ce(e)),content:{schemaVersion:"openpond.tasksetPackage.v1",taskset:s.tasksetRelease,environment:s.environmentRelease,verifierSet:s.verifierSetRelease},sources:Fr.parse(e.metadata.portableFileInventory)}),o=qr(a);if(!o)throw new Error("The Taskset does not declare a JavaScript execution graph.");let n=a.taskset.tasks.find(g=>g.id===t.id);if(!n)throw new Error("The selected task is missing from its executable package.");let c=o.assets.find(g=>g.id===o.execution.javascript.module.id),u=o.assets.find(g=>g.id===n.privilegedContextRef);return{execution:o.execution,module:c,initialState:JSON.parse(u.text),definition:U(a.taskset),instructions:$r(a),task:n}}i(_s,"loadOrdinaryToolEnvironment");var Y="openpond.javascript-environment.v1";async function Ue(e,t,r,s){let a=t.tasks.find(o=>o.id===r.id);if(!a||h(a)!==h(r))throw new Error("Tool task differs from the selected immutable Taskset.");return t.metadata.taskDefinition===void 0?_s(t,r,s):e.learningRepository().transaction(t.profileId,async o=>{let n=await he(o,"definition",se.parse(t.metadata.taskDefinition)),c=n.execution.environment;if(c.entrypoint!==Y||t.environment.entrypoint!==Y||t.environment.kind!=="agent"||t.environment.stateful!==c.stateful||t.environment.defaultTimeoutMs!==c.defaultTimeoutMs||t.environment.networkPolicy!==c.networkPolicy||t.environment.deterministicSeeds!==c.deterministicSeeds||h(t.environment.toolNames)!==h(n.execution.tools.map(S=>S.name))||h(t.environment.metadata.portableTools)!==h(n.execution.tools)||h(t.policy)!==h(n.execution.policy)||h(t.metadata.rewardBinding)!==h(n.rewardBinding))throw new Error("Tool Taskset context differs from its pinned task definition.");let u=await he(o,"binding",n.rewardBinding),g=await Promise.all(u.sources.map(S=>he(o,"reward",S.reward))),p=rt.parse({id:r.id,clusterKey:r.clusterKey,split:r.split,input:r.input,expectedOutput:r.expectedOutput,policyVisibleContext:r.policyVisibleContext,privilegedContextRef:r.privilegedContextRef,artifactRefs:[],tags:r.tags}),l={...n.execution,graders:ve(u,g),tasks:[p]},d=await ge(o,"asset",Dr(l),1),m=Or.parse(JSON.parse(re(d,d.asset))),f=[m.javascript.module,m.environment.actionSchemaRef,m.environment.observationSchemaRef,m.environment.stateSchemaRef].filter(S=>S!==null),T=[...new Set([...f.map(S=>S.id),r.privilegedContextRef].filter(S=>S!==null))],y=await Promise.all(T.map(S=>ge(o,"asset",S,1))),w=jr(l,d,y);if(h(t.environment.metadata.portableExecutionResources)!==h({environment:w.environment,verifierSet:w.verifierSet}))throw new Error("Tool Taskset publication differs from its private execution resources.");let _=y.find(S=>S.id===w.javascript.module.id),A=y.find(S=>S.id===r.privilegedContextRef),I=JSON.parse(re(A,A.asset));return{execution:w,module:_,initialState:I,definition:U(n),instructions:n.instructions,task:p}})}i(Ue,"loadStarterToolEnvironment");function xs(e){let t=qt({text:e.instructions,path:"policy/instructions.txt",mediaType:"text/plain",visibility:"policy"}),r=qt({text:JSON.stringify({environment:U(e.execution.environment),verifierSet:U(e.execution.verifierSet),javascript:U(e.execution.javascript)}),path:"environment/dependencies.json",mediaType:"application/json",visibility:"host_private"}),s=wr({schemaVersion:"openpond.agentSnapshot.v2",id:`starter-agent-${e.definition.contentHash}`,sourceRelease:{id:e.definition.id,contentHash:e.definition.contentHash},instructions:[t.asset],skills:[],agents:[],toolDeclarations:e.execution.javascript.tools,capabilityRequirements:[],dependencyLock:r.asset,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[e.module.id,r.id]},metadata:{execution:Y}}),a=vr({schemaVersion:"openpond.harnessRelease.v2",id:`starter-harness-${s.contentHash}`,agentSnapshot:{id:s.id,contentHash:s.contentHash},program:e.module.asset,tools:e.execution.javascript.tools,lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output"],privilegedEvidence:["environment_state","private_verifier"],privateVerifierIsolation:!0},files:[t.asset,r.asset,e.module.asset],metadata:{execution:Y}});return{agentSnapshot:s,harnessRelease:a,instructionContext:void 0}}i(xs,"compileStarterToolHarness");import wt from"node:path";import{constants as Is}from"node:fs";import{open as Jo,realpath as Es}from"node:fs/promises";var Go=O.string().regex(/^[a-f0-9]{64}$/),Yo=O.object({schemaVersion:O.literal("openpond.starterToolAttempt.v1"),requestId:O.string(),taskset:se,taskHash:Go,model:O.unknown(),seed:O.number().int(),attempt:O.number().int(),definition:se,policySource:O.enum(["model","fixture"]),environment:se,verifierSet:se,result:Pr}).strict();async function vt(e){let{store:t,taskset:r,task:s,attempt:a}=e,o=await Ue(t,r,s,e.storeDir),c=(await t.listTaskAttemptArtifacts({attemptId:a.id})).filter(_=>_.kind==="environment_state"&&_.tasksetId===r.id&&_.taskId===s.id&&_.attemptId===a.id&&a.artifactRefs.includes(_.id)&&a.privilegedOutcomeRef===_.id);if(c.length!==1)throw new Error("Tool grading requires exactly one owner-recorded environment artifact.");let u=c[0],g=await Es(wt.join(e.storeDir,"training","evaluation-artifacts")),p=await Es(wt.dirname(u.path)),l=wt.relative(g,p);if(!l||l.startsWith("..")||wt.isAbsolute(l))throw new Error("Tool evidence is outside the execution owner's artifact directory.");let d=await Jo(u.path,Is.O_RDONLY|Is.O_NOFOLLOW),m;try{let _=await d.stat();if(!_.isFile()||_.size>33554432||_.size!==u.sizeBytes)throw new Error("Tool evidence exceeds its declared byte boundary.");m=await d.readFile()}finally{await d.close()}if(m.byteLength!==u.sizeBytes||fe(m)!==u.sha256)throw new Error("Owner-recorded tool evidence bytes changed.");let f=Yo.parse(JSON.parse(m.toString("utf8"))),{contentHash:T,...y}=f.result,w=f.result;if(h(y)!==T||!w.snapshot||!w.environmentCleanupComplete||!["completed","budget_exhausted","policy_failure"].includes(w.status)||h(f.taskset)!==h(U(r))||f.taskHash!==h(s)||h(f.model)!==h(a.modelRef)||f.seed!==a.seed||f.attempt!==a.attempt||a.tasksetId!==r.id||a.taskId!==s.id||a.split!==s.split||h(f.definition)!==h(o.definition)||h(f.environment)!==h(U(o.execution.environment))||h(f.verifierSet)!==h(U(o.execution.verifierSet))||w.taskId!==s.id||w.snapshot.seed!==a.seed||w.snapshot.inputHash!==h(s.input)||h(w.snapshot.definition)!==h(U(o.execution.javascript))||w.snapshot.finalStateHash!==h(w.snapshot.state)||h(a.output)!==h({text:w.output??""})||a.metadata.environmentAttemptHash!==T)throw new Error("Tool evidence differs from the selected task, model or recorded attempt.");if(a.metadata.policySource!==f.policySource)throw new Error("Tool evidence policy source changed.");return{environment:{status:w.status,collected:w.collected,definition:w.snapshot.definition,initialStateHash:w.snapshot.initialStateHash,finalStateHash:w.snapshot.finalStateHash,finalState:w.snapshot.state,events:w.snapshot.events}}}i(vt,"readStarterToolEvidence");async function be(e,t){if(t.metadata.learning!==void 0)return De.parse(t.metadata.learning);if(t.metadata.rewardBinding===void 0)return;let r=se.parse(t.metadata.rewardBinding);return e.learningRepository().transaction(t.profileId,async s=>{let a=await he(s,"binding",r),o=[...new Map(a.sources.map(c=>[`${c.reward.id}:${c.reward.revision}:${c.reward.contentHash}`,c.reward])).values()],n=await Promise.all(o.map(c=>he(s,"reward",c)));return{binding:a,rewards:n}})}i(be,"resolveTasksetRewardBinding");async function Ko(e,t,r){let s=await be(e,t);if(!s)return{rewardExecution:void 0,verifierAssets:[]};let a=ve(s.binding,s.rewards).flatMap(c=>c.kind==="custom_verifier"?[c.verifierRef]:c.kind==="model_judge"?[c.rubricRef]:[]),o=t.metadata.learning===void 0?void 0:await ct(r,t);if(o){let c=[...new Map(a.map(u=>{let g=o.learningResources.assets.find(p=>p.id===u.id);if(!g)throw new Error("Imported batch verifier is missing from its package.");return re(g,u),[g.id,g]})).values()];return{rewardExecution:s,verifierAssets:c}}let n=await e.learningRepository().transaction(t.profileId,async c=>{let u=new Map;for(let g of a){let p=await ge(c,"asset",g.id,1);re(p,g),u.set(p.id,p)}return[...u.values()]});return{rewardExecution:s,verifierAssets:n}}i(Ko,"resolveTasksetTrainingReward");async function Ji(e,t,r){let s=await Ko(e,t,r.storeDir);if(!s.rewardExecution)return s;let a=ve(s.rewardExecution.binding,s.rewardExecution.rewards);if(!s.rewardExecution.binding.sources.some(o=>o.role==="evaluation"&&o.weight>0))throw new Error("Managed training requires a positively weighted evaluation Reward source for retained validation.");if(a.some(o=>o.kind==="custom_verifier"&&o.runtime==="sandbox_process"))throw new Error("Managed preparation requires a qualified isolated sandbox for process verifiers.");if(r.placement!=="remote"||t.environment.kind==="work"||t.capabilities.requiresState||t.capabilities.requiresTools||a.some(o=>o.kind==="human"||o.kind==="model_judge"&&(!o.model||o.calibrationStatus!=="passed"))||t.tasks.some(o=>o.privilegedContextRef!==null)||!s.rewardExecution.binding.sources.some(o=>o.role==="training"&&o.weight>0)||r.hasLearnedPreferenceReward)throw new Error("This Reward binding requires an additional managed execution adapter.");return s}i(Ji,"resolveManagedTasksetReward");async function Cs(e,t,r){let s=await be(e,t);if(!s)throw new Error("The Taskset has no published Reward binding.");let a=ve(s.binding,s.rewards);return async({grader:o,task:n,attempt:c,signal:u})=>{let g=t.tasks.find(m=>m.id===n.id);if(!g||h(g)!==h(n))throw new Error("Task differs from the selected immutable Taskset.");let p=null;if(t.environment.entrypoint===Y){if(!r)throw new Error("Tool grading requires the execution owner's artifact directory.");p=await vt({store:e,storeDir:r,taskset:t,task:n,attempt:c})}else if(n.privilegedContextRef!==null)throw new Error("This authored Taskset requires a private evaluator-context resolver.");let l=a.find(m=>m.id===o.id);if(l?.kind!=="custom_verifier")throw new Error("The verifier is absent from the published Reward binding.");let d=rt.parse({id:n.id,clusterKey:n.clusterKey,split:n.split,input:n.input,expectedOutput:n.expectedOutput,policyVisibleContext:n.policyVisibleContext,privilegedContextRef:n.privilegedContextRef,artifactRefs:[],tags:n.tags});return Je({repository:e.learningRepository(),scope:t.profileId,grader:l,task:d,evidence:{output:c.output,artifactRefs:c.artifactRefs,runtimeEventRefs:c.runtimeEventRefs,infrastructureError:c.infrastructureError},evaluatorContext:p,signal:u})}}i(Cs,"createTasksetBindingVerifier");async function Ee(e,t,r){let s=r?se.parse(r):null;if(s&&s.id!==t)throw new Error("Taskset execution reference differs from the requested Taskset.");let a=s?await e.getTasksetRevision(s.id,s.revision):await e.getTaskset(t);if(!a||s&&(a.contentHash!==s.contentHash||Te(a)!==s.contentHash))throw new Error("Taskset execution revision is unavailable or differs from its immutable hash.");return a}i(Ee,"requireLocalTasksetRevision");async function ed(e,t,r){let s=await e.releaseForTaskset(t);return s||ot({taskset:t,rewardExecution:r?await be(r,t):void 0,adapterId:dt(t)}).tasksetRelease}i(ed,"requireReleasedTaskset");import{createHash as Xo}from"node:crypto";function As(e,t,r){if(t.metadata.importedPackageHash!==e.contentHash)throw new Error("The Work projection differs from the admitted published package.");let s=e.taskset.tasks.find(n=>n.id===r.id);if(!s||s.split!==r.split||h(r.metadata.portableTaskRecord)!==h(s))throw new Error("The Work task differs from its exact released population.");let a=0,o=(r.assets??[]).map(n=>{let c=s.artifactRefs.find(l=>l.id===n.id&&l.contentHash===n.sha256&&l.path===n.artifactRef),u=c&&e.files.find(l=>h(l.asset)===h(c));if(!c||!u||c.visibility!=="policy")throw new Error("The Work task requests an unavailable or private evaluator file.");let g=Buffer.from(Nr(u));if(Xo("sha256").update(g).digest("hex")!==n.sha256||g.length!==n.sizeBytes||n.split!==r.split)throw new Error("The published Work input manifest changed.");if(a+=g.length,a>25e7)throw new Error("Published Work inputs exceed the admitted 250 MB ceiling.");return{...n,assetId:n.id,storageName:n.fileName,bytes:g,sizeBytes:g.length}});if(o.length!==s.artifactRefs.length)throw new Error("The exact policy-visible Work asset population is incomplete.");return o}i(As,"advancedPublishedWorkAssets");async function Ut(e,t=ut,r=!1){if(e.kind==="hosted_harness")return Ut({kind:"hosted_chat",modelId:e.modelId,maxOutputTokens:4096,temperature:0,topP:1},t);if(e.kind!=="hosted_chat")throw new oe("local_target_not_qualified","Select an explicit model target for local execution.",422);if(e.harness&&!r)throw new oe("local_harness_not_qualified","This released Harness requires its native turn executor; it cannot run as a model-only case.",422);let s=await t();if(s.error)throw new oe("local_model_catalog_unavailable",s.error,422);let a=s.models.find(d=>d.id===e.modelId);if(!a)throw new oe("local_model_unavailable","The selected model is unavailable.",422);let o=Ms(a.raw),n=yt(o),c=Ms(o.capabilities).samplingParameters===!0;if(!c&&(e.temperature!==0||e.topP!==1))throw new oe("local_sampling_unsupported","This model uses provider-managed sampling. Custom temperature or top P requires an explicit supported capability.",422);let u=Ps(o.context_window),g=Ps(o.output_limit);if(e.maxOutputTokens>g)throw new oe("local_model_output_limit","The model cannot accept the configured output limit.",422);let p={providerId:"openpond",modelId:e.modelId,maxOutputTokens:e.maxOutputTokens,...c?{temperature:e.temperature,topP:e.topP}:{},messages:e.messages??[]},l=(u*Math.max(n.inputUsdPerMillionTokens,n.cachedInputUsdPerMillionTokens)+e.maxOutputTokens*n.outputUsdPerMillionTokens)/1e6;if(!(l>0))throw new oe("local_model_charge_unknown","The model must publish an enforceable positive request ceiling.",422);return{model:{...p,configurationHash:h({configuration:p,contextWindow:u,outputLimit:g,pricing:n})},pricing:n,maximumChargeUsd:l}}i(Ut,"prepareLocalExperimentModel");function fd(e){let t=e.admission.streamFactory?.(e)??e.admission.stream??e.stream??mt;return async function*(r){if(!r.requestId)throw new oe("local_request_identity_missing","Every local model dispatch requires a stable request identity.");let s=e.admission.model;if(r.model!==s.modelId||r.maxTokens!==s.maxOutputTokens||r.temperature!==s.temperature||r.topP!==s.topP)throw new oe("local_model_configuration_conflict","The native model request changed its admitted model, output limit or sampling configuration.",422);let a=ps();a?.assertExecution(e.executionId);let o={teamId:e.teamId,id:e.executionId,ownerId:e.ownerId,requestId:r.requestId};await e.store.reserveLocalCharge({...o,caseId:e.caseId,maximumUsd:e.admission.maximumChargeUsd}),r.signal?.aborted&&(await e.store.settleLocalCharge({...o,costUsd:null,usage:null,notDispatched:!0}),r.signal.throwIfAborted());try{await e.store.markLocalChargeDispatched(o.teamId,o.id,o.requestId,o.ownerId)}catch(p){throw a&&await e.store.settleLocalCharge({...o,costUsd:null,usage:null,notDispatched:!0}),p}await e.store.appendLocalExperimentEvent({...o,caseId:e.caseId,type:"model.dispatch",payload:{requestId:o.requestId,model:r.model,messages:r.messages}});let n=null,c=!1,u=!1,g;try{for await(let p of t(r)){u=!0,p.type==="usage"&&(n=p.usage),p.type==="finish"&&(c=!0);let l=p.type==="text_delta"?{requestId:o.requestId,text:p.text}:p.type==="tool_call_delta"?{requestId:o.requestId,toolCalls:p.toolCalls}:p.type==="usage"?{requestId:o.requestId,usage:ye(p.usage)}:p.type==="finish"?{requestId:o.requestId,finishReason:p.finishReason}:null;l&&await e.store.appendLocalExperimentEvent({...o,caseId:e.caseId,type:`model.${p.type}`,payload:l}),yield p}}catch(p){throw!u&&p instanceof fs&&p.executionId===o.id&&p.requestId===o.requestId&&(g=p),p}finally{let p=ye(n),l=e.admission.pricing&&c&&p.promptTokens!==null&&p.completionTokens!==null?Se(n,e.admission.pricing):null;await e.store.settleLocalCharge({...o,costUsd:l,confirmedTransportNotInvoked:g,usage:n===null?null:{promptTokens:p.promptTokens,completionTokens:p.completionTokens,cachedPromptTokens:p.cachedPromptTokens,uncachedPromptTokens:p.uncachedPromptTokens}})}}}i(fd,"createLocalBudgetedModelStream");function Ms(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(Ms,"record");function Ps(e){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw new oe("local_model_bound_unknown","The model catalog is missing an enforceable context/output bound.",422);return e}i(Ps,"positive");import{AsyncLocalStorage as Zo}from"node:async_hooks";import Qo from"node:path";var Os=new Zo;function Hs(){return Os.getStore()}i(Hs,"currentAdvancedRefinerBoundary");function Rd(e){let t=Mr(Qo.join(e.storeDir,"library","harnesses","advanced-refiner-paid-calls.sqlite"));t.exec(`CREATE TABLE IF NOT EXISTS advanced_refiner_budgets(id TEXT PRIMARY KEY,actor_id TEXT NOT NULL,team_id TEXT NOT NULL,pin_hash TEXT NOT NULL,maximum_spend REAL NOT NULL,maximum_steps INTEGER NOT NULL,expires_at TEXT NOT NULL);
|
|
3
|
-
CREATE TABLE IF NOT EXISTS advanced_refiner_calls(run_id TEXT NOT NULL,id TEXT NOT NULL,intent_hash TEXT NOT NULL,ceiling REAL NOT NULL,state TEXT NOT NULL,actual_spend REAL,result TEXT,PRIMARY KEY(run_id,id));`);function r(a){t.exec("BEGIN IMMEDIATE");try{let o=a();return t.exec("COMMIT"),o}catch(o){throw t.exec("ROLLBACK"),o}}i(r,"transaction");async function s(a,o,n){let c=$t(o);await e.authorize(c),r(()=>{let l=t.prepare("SELECT * FROM advanced_refiner_budgets WHERE id=?").get(a);if(l){if(l.actor_id!==c.actorId||l.team_id!==c.teamId||l.pin_hash!==c.contentHash)throw new Error("Advanced Run budget belongs to another immutable admission.");return}t.prepare("INSERT INTO advanced_refiner_budgets VALUES(?,?,?,?,?,?,?)").run(a,c.actorId,c.teamId,c.contentHash,c.maximumCostUsd,c.maximumModelSteps,new Date(Date.now()+c.maximumDurationMs).toISOString())});let u=t.prepare("SELECT expires_at FROM advanced_refiner_budgets WHERE id=?").get(a),g=Date.parse(String(u.expires_at))-Date.now();if(g<=0)throw new Error("The immutable advanced evaluation duration is exhausted.");let p={runId:a,pin:c,signal:AbortSignal.timeout(g),authorize:i(()=>e.authorize(c),"authorize"),async resolveWorkAssets(l,d){await e.authorize(c),p.signal.throwIfAborted();let m=await e.packageForPin(c),f=As(m,l,d);return await e.authorize(c),p.signal.throwIfAborted(),f},async call(l,d,m,f,T){if(await e.authorize(c),!Number.isInteger(f)||f<1)throw new Error("Advanced paid requests require a finite enforced token ceiling.");let y=d.model;if(y?.providerId!=="openpond"||!y.modelId)throw new Error("Advanced paid calls require an explicitly qualified hosted model.");let w=y.modelId,_=e.prepareModel?await e.prepareModel(w,f,m):await(async()=>{let k=await Ut({kind:"hosted_chat",modelId:w,maxOutputTokens:f,temperature:0,topP:1});if(h(k.pricing)!==h(m))throw new Error("The actual model pricing differs from its reviewed request pin.");return{configurationHash:k.model.configurationHash,maximumChargeUsd:k.maximumChargeUsd}})();if(!/^[a-f0-9]{64}$/.test(_.configurationHash)||!Number.isFinite(_.maximumChargeUsd)||_.maximumChargeUsd<=0)throw new Error("The actual owner model ceiling is unavailable.");let A=h({intent:d,pricing:m,maximumOutputTokens:f,modelConfigurationHash:_.configurationHash}),I=_.maximumChargeUsd,S=r(()=>{let k=t.prepare("SELECT * FROM advanced_refiner_budgets WHERE id=?").get(a);if(!k||String(k.expires_at)<=new Date().toISOString())throw new Error("The immutable advanced evaluation duration is exhausted.");let x=t.prepare("SELECT * FROM advanced_refiner_calls WHERE run_id=? AND id=?").get(a,l);if(x){if(x.intent_hash!==A)throw new Error("Advanced provider request ID retains another exact payload.");if(x.state!=="completed")throw new Error("This paid request has an unknown outcome; recover its actual provider receipt before resuming.");return JSON.parse(String(x.result))}let v=t.prepare("SELECT COUNT(*) AS steps,COALESCE(SUM(COALESCE(actual_spend,ceiling)),0) AS spent,SUM(CASE WHEN state NOT IN ('completed','not_dispatched') THEN 1 ELSE 0 END) AS unknown FROM advanced_refiner_calls WHERE run_id=?").get(a);if(Number(v.unknown)>0)throw new Error("A prior advanced paid request is unsettled; no fresh request is allowed.");if(Number(v.steps)>=c.maximumModelSteps||Number(v.spent)+I>c.maximumCostUsd+1e-9)throw new Error("The advanced evaluation step or cumulative spend ceiling is exhausted.");t.prepare("INSERT INTO advanced_refiner_calls(run_id,id,intent_hash,ceiling,state) VALUES(?,?,?,?,?)").run(a,l,A,I,"reserved")});if(S!==void 0)return await e.authorize(c),p.signal.throwIfAborted(),S;let M=!1;try{if(await e.authorize(c),p.signal.throwIfAborted(),t.prepare("UPDATE advanced_refiner_calls SET state='dispatched' WHERE run_id=? AND id=? AND intent_hash=? AND state='reserved'").run(a,l,A).changes!==1)throw new Error("The retained advanced request admission changed.");M=!0;let x=await T();if(x.costUsd===null||!Number.isFinite(x.costUsd)||x.costUsd<0||x.costUsd>I+1e-9)throw new Error("The actual provider receipt cannot settle its admitted request ceiling.");let v=JSON.stringify(x.value);if(Buffer.byteLength(v)>8*1024*1024)throw new Error("The advanced provider response exceeds the retained output bound.");return r(()=>{if(t.prepare("UPDATE advanced_refiner_calls SET state='completed',actual_spend=?,result=? WHERE run_id=? AND id=? AND intent_hash=? AND state='dispatched'").run(x.costUsd,v,a,l,A).changes!==1)throw new Error("The advanced request settlement changed concurrently.")}),await e.authorize(c),x.value}catch(k){throw M?t.prepare("UPDATE advanced_refiner_calls SET state='unknown' WHERE run_id=? AND id=? AND state='dispatched'").run(a,l):t.prepare("UPDATE advanced_refiner_calls SET state='not_dispatched',actual_spend=0 WHERE run_id=? AND id=? AND state='reserved'").run(a,l),k}}};return Os.run(p,n)}return i(s,"run"),{run:s,async authorize(a){await e.authorize($t(a))},read(a,o){return t.prepare("SELECT * FROM advanced_refiner_budgets WHERE id=? AND actor_id=? AND team_id=? AND pin_hash=?").get(a,o.actorId,o.teamId,o.contentHash)?t.prepare("SELECT id,intent_hash,ceiling,state,actual_spend FROM advanced_refiner_calls WHERE run_id=? ORDER BY id").all(a):null},accounting(a,o){let n=this.read(a,o)??[],c=n.filter(g=>g.state!=="completed"&&g.state!=="not_dispatched"),u=n.reduce((g,p)=>g+Number(p.actual_spend??0),0);return{modelRequests:n.filter(g=>g.state!=="not_dispatched").length,knownSpendUsd:u,totalSpendUsd:c.length?null:u,heldUsd:c.reduce((g,p)=>g+Number(p.ceiling),0),uncertainRequests:c.filter(g=>g.state!=="reserved").length}},close(){t.close()}}}i(Rd,"createAdvancedRefinerPaidBoundary");var Wt={buildIntent:"verifiable_reward",methodHint:"grpo"};async function Ed(e){let t=await ea(e.store,e.workspaceId,e.reviewRef),r=`harness-review-${h({review:t.contentHash,strategy:Wt}).slice(0,24)}`,s=(await e.store.listTaskCreationSnapshots(e.profileId)).find(d=>d.request.candidateId===r);if(s)return s;let[a,o,n]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"route_decision",1e3),e.store.listHarnessImprovementArtifacts(e.workspaceId,"trigger_decision",1e3),e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",1e3)]),c=new Map(a.map(d=>[Re(d),d])),u=new Map(o.map(d=>[Re(d),d])),g=new Map(n.map(d=>[Re(d),d])),p=new Map;for(let d of t.selectedEvidence){if(d.kind!=="route_decision")continue;let m=c.get(Re(d.evidence)),f=m?u.get(Re(m.trigger)):null;if(!m||!f)throw new Error(`Harness review evidence ${d.evidence.id} cannot be reconstructed.`);let T=f.observations.map(w=>g.get(Re(w))??null).filter(w=>w?.runRef===d.sourceRef);if(!T.length)throw new Error(`Harness review source ${d.sourceRef} has no exact observation evidence.`);let y=p.get(d.sourceRef)??{turnIds:new Set,evidenceRefs:[],sourcePolicies:[]};for(let w of T)y.turnIds.add(w.turnId);y.evidenceRefs.push(d.evidence),y.sourcePolicies.push(d.sourcePolicy),p.set(d.sourceRef,y)}if(!p.size)throw new Error("Harness Taskset review has no reconstructable source runs.");let l=[];for(let[d,m]of[...p.entries()].sort(([f],[T])=>f.localeCompare(T))){let f=await e.taskCreator.addSessionSource({profileId:e.profileId,sessionId:d,turnIds:[...m.turnIds].sort(),consentScope:"selected_turns"}),T=Array.isArray(f.metadata.harnessEvaluationReviews)?f.metadata.harnessEvaluationReviews:[],y={...f,metadata:{...f.metadata,harnessEvaluationReviews:Ft([...T,{id:t.id,contentHash:t.contentHash,workspaceId:t.workspaceRef,harnessRelease:t.harnessRelease,claimFingerprint:t.claim?.fingerprint??null,evidenceRefs:m.evidenceRefs,sourcePolicies:m.sourcePolicies}])}};l.push(await e.store.upsertTrainingSource(y))}return e.startCreation({profileId:e.profileId,sourceIds:l.map(d=>d.id),surface:"task_candidate",mode:"customize",entryMode:"automated",resourceIntent:"workproduct",buildIntent:Wt.buildIntent,buildSpecification:null,objective:t.claim?.statement??t.reason,methodHint:Wt.methodHint,preferredBaseModelId:null,preferredBaseModel:null,candidateId:r,analysisModel:e.analysisModel??null,analysisReasoningEffort:e.analysisReasoningEffort??null,createImproveRunId:null,targetIntent:{kind:"model",id:null,displayName:null,operation:"create"}})}i(Ed,"startHarnessReviewTasksetAuthoring");function Cd(e){let t=e.flatMap(o=>Array.isArray(o.metadata.harnessEvaluationReviews)?o.metadata.harnessEvaluationReviews.filter(Bt):[]);if(!t.length)return null;let r=`${String(t[0].id)}:${String(t[0].contentHash)}`,s=t.filter(o=>`${String(o.id)}:${String(o.contentHash)}`===r);if(s.length!==e.length)return null;let a=s[0];return{review:{id:String(a.id),contentHash:String(a.contentHash),workspaceId:String(a.workspaceId),harnessRelease:a.harnessRelease,claimFingerprint:typeof a.claimFingerprint=="string"?a.claimFingerprint:null},evidenceRefs:Ft(s.flatMap(o=>Array.isArray(o.evidenceRefs)?o.evidenceRefs:[])),sourcePolicies:Ft(s.flatMap(o=>Array.isArray(o.sourcePolicies)?o.sourcePolicies:[]))}}i(Cd,"harnessReviewLineageFromSources");async function Ds(e){let t=e.taskset.metadata.harnessEvaluationLineage;if(!Bt(t)||!Bt(t.review))return null;let r=String(t.review.workspaceId??""),s={id:String(t.review.id??""),contentHash:String(t.review.contentHash??"")};if(!r||!s.id||!s.contentHash)throw new Error("Taskset Harness Evaluation lineage is incomplete.");let a=await e.store.listHarnessImprovementArtifacts(r,"evaluation_review",1e3),o=a.find(d=>Re(d)===Re(s));if(!o)throw new Error("Originating Harness Evaluation review was not found.");let n=e.evaluationResult?{id:e.evaluationResult.id,contentHash:e.evaluationResult.contentHash}:null,c={id:e.taskset.id,contentHash:e.taskset.contentHash},u=h({originRef:s,tasksetRef:c,evaluationRef:n}),g=a.find(d=>d.metadata.downstreamLinkKey===u);if(g)return g;let p=(e.now??(()=>new Date().toISOString()))(),l=yr({schemaVersion:"openpond.harnessEvaluationReviewReceipt.v1",id:`evaluation-review-link-${u.slice(0,24)}`,ownerScope:o.ownerScope,workspaceRef:o.workspaceRef,harnessRelease:o.harnessRelease,previousWatermark:o.nextWatermark,nextWatermark:{cursor:h({cursor:o.nextWatermark.cursor,tasksetRef:c,evaluationRef:n}),throughCreatedAt:p},selectedEvidence:o.selectedEvidence,excludedEvidence:o.excludedEvidence,claim:o.claim,classification:"taskset",triage:o.triage,reason:n?"The approved Taskset completed a real baseline Evaluation.":"The approved Harness review materialized one immutable Taskset.",nextAuthority:"human_review",maxEstimatedCostUsd:o.maxEstimatedCostUsd,tasksetProposal:c,evaluation:n,trainingQualification:null,policyVersion:o.policyVersion,createdAt:p,metadata:{originReview:s,downstreamLinkKey:u,tasksetRevision:e.taskset.revision}});return await e.store.saveHarnessImprovementArtifact(r,"evaluation_review",l),l}i(Ds,"linkHarnessReviewTaskset");async function ea(e,t,r){let s=await e.getHarnessWorkspace(t);if(!s)throw new Error(`Harness workspace ${t} was not found.`);let a=(await e.listHarnessImprovementArtifacts(t,"evaluation_review",1e3)).find(n=>n.id===r.id&&n.contentHash===r.contentHash);if(!a||a.schemaVersion!=="openpond.harnessEvaluationReviewReceipt.v1")throw new Error("Harness Evaluation review was not found.");let o=a;if(o.classification!=="taskset"||o.nextAuthority!=="human_review")throw new Error("Only a human-review Taskset recommendation can enter Taskset authoring.");if(o.tasksetProposal)throw new Error("Harness Evaluation review already has a materialized Taskset link.");if(o.ownerScope.kind!==s.ownerScope.kind||o.ownerScope.id!==s.ownerScope.id)throw new Error("Harness Evaluation review owner scope does not match its workspace.");return o}i(ea,"requireTasksetReview");function Re(e){return`${e.id}:${e.contentHash}`}i(Re,"artifactKey");function Bt(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}i(Bt,"isRecord");function Ft(e){let t=new Set;return e.filter(r=>{let s=JSON.stringify(r);return t.has(s)?!1:(t.add(s),!0)})}i(Ft,"uniqueObjects");import Wo from"node:path";function Vt(e,t,r){let s=new Date().toISOString();return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:`fixture_attempt_${t.id}_${r}`,tasksetId:e,taskId:t.taskId,split:Tt(t)??"frozen_eval",attempt:r,seed:0,modelRef:null,startedAt:s,completedAt:s,output:t.output,runtimeEventRefs:[],artifactRefs:[],privilegedOutcomeRef:null,infrastructureError:t.infrastructureError,costUsd:0,latencyMs:0,userInterventions:0,metadata:{fixtureLabel:t.label}})}i(Vt,"fixtureAttempt");function Tt(e){let t=e&&typeof e=="object"&&!Array.isArray(e)&&"metadata"in e&&e.metadata&&typeof e.metadata=="object"&&!Array.isArray(e.metadata)?e.metadata.artifactSplit:null;return t==="train"||t==="validation"||t==="test"||t==="frozen_eval"?t:null}i(Tt,"artifactSplit");function Ns(e){let t=Wr(e.taskset),r=t.issues.filter(R=>R.severity==="error").map(R=>({code:R.code,message:R.message,path:R.path})),s=t.issues.filter(R=>R.severity==="warning").map(R=>({code:R.code,message:R.message,path:R.path})),a=typeof e.taskset.metadata.trainingMethod=="string"?e.taskset.metadata.trainingMethod:null,o=ta(a),n=o==="sft",c=o==="dpo",u=o==="grpo"||o==="ppo",g=new Set(e.taskset.learningSignals.demonstrations.filter(R=>R.approved&&R.taskId).map(R=>R.taskId)),p=e.taskset.metadata.learning===void 0?null:De.parse(e.taskset.metadata.learning),l=i(R=>p?p.admissions.some(G=>G.taskId===R.id&&G.supervisedTarget!==null):R.expectedOutput!=null,"hasSupervisedTarget"),d=e.taskset.datasetArtifact,m=new Set(js(e.taskset.metadata.approvedArtifactSignals)),f=!!d?.schema.fields.some(R=>R.semanticRole==="demonstration"||R.semanticRole==="expected_output"||R.semanticRole==="chosen"),T=e.taskset.tasks.filter(R=>R.split==="train"&&(l(R)||u)),y=n?T.filter(R=>g.has(R.id)):T,w=e.taskset.tasks.filter(R=>R.split==="train"&&l(R)&&!g.has(R.id)),_=e.taskset.tasks.filter(R=>R.split==="frozen_eval"&&(R.expectedOutput||u)),A=d&&f?d.splitCounts.train??0:0,I=d&&f?d.splitCounts.frozen_eval??0:0,S=d?m.has(o??""):!1,M=d?S?A:0:y.length,k=e.taskset.learningSignals.preferences.filter(R=>R.approved).length,x=e.taskset.learningSignals.rewards.filter(R=>R.approved&&R.executable).length,v=c?k:u?x?M:0:M,E=d?I:_.length;v===0&&r.push(n?{code:"sft_demonstrations_missing",message:"At least one explicitly approved training demonstration is required.",path:"learningSignals.demonstrations"}:c?{code:"dpo_preferences_missing",message:"At least one approved chosen/rejected response pair is required for DPO.",path:"learningSignals.preferences"}:{code:"online_reward_missing",message:`${o?.toUpperCase()??"Online training"} requires an executable reward-bearing task.`,path:"learningSignals.rewards"});let b=d?n&&!S?A:0:w.length;n&&b&&r.push({code:"sft_demonstrations_unapproved",message:`${b} training example${b===1?" is":"s are"} not explicitly approved.`,path:d?"metadata.approvedArtifactSignals":"learningSignals.demonstrations"}),E===0&&s.push({code:"frozen_eval_missing",message:"At least one independent evaluation example is recommended before making quality claims.",path:d?"datasetArtifact.splitCounts.frozen_eval":"tasks"});let D=new Set(y.map(R=>R.clusterKey)),$=new Set(_.map(R=>R.clusterKey)),z=d&&e.taskset.metadata.splitIsolationVerified===!0;(d?!z||v===0||E===0:D.size===0||$.size===0||[...D].some(R=>$.has(R)))&&s.push({code:"independent_evaluation_missing",message:"Independent source clusters are recommended before using evaluation results for quality claims.",path:d?"metadata.splitIsolationVerified":"tasks"}),(d?e.taskset.metadata.artifactRowsVerified!==!0:e.taskset.tasks.some(R=>typeof R.metadata.exampleOrigin!="string"))&&r.push({code:"example_provenance_missing",message:"Every training and evaluation example must record whether it was extracted, corrected, synthetic, or expert-authored.",path:d?"metadata.artifactRowsVerified":"tasks.metadata.exampleOrigin"});let L=ra(e.taskset.metadata.diagnosis);(!L||typeof L.summary!="string"||!Array.isArray(L.stableBehavior))&&s.push({code:"capability_diagnosis_missing",message:"A capability diagnosis is recommended to separate stable behavior from changing knowledge.",path:"metadata.diagnosis"}),L?.trainingEligible===!1&&s.push({code:"training_not_recommended",message:"The capability diagnosis does not recommend storing this behavior in model weights.",path:"metadata.diagnosis.trainingEligible"});let J=e.taskset.graders.some(R=>R.rewardEligible&&(R.kind!=="model_judge"||R.metadata.calibrationIsAdvisory!==!0));J&&!e.graderAudit&&s.push({code:"grader_audit_missing",message:"Optional grader calibration evidence has not been recorded.",path:"graderFixtures"}),J&&e.graderAudit&&e.graderAudit.tasksetHash!==e.taskset.contentHash&&s.push({code:"grader_audit_stale",message:"Optional grader calibration evidence predates this immutable Taskset revision.",path:"graderFixtures"}),J&&e.graderAudit&&!e.graderAudit.passed&&s.push({code:"grader_audit_failed",message:"The grader did not match every optional calibration fixture's expected outcome.",path:"graderFixtures"}),J&&e.graderAudit&&!e.graderAudit.hackingChecksPassed&&s.push({code:"grader_adversarial_calibration_failed",message:"Adversarial or prompt-injection calibration fixtures did not match their expected grader outcomes.",path:"graders"}),J&&e.graderAudit&&!e.graderAudit.leakageChecksPassed&&r.push({code:"environment_leakage",message:"Environment or privileged-state leakage checks failed.",path:"environment"}),J&&e.graderAudit&&!e.graderAudit.infrastructureSafetyPassed&&r.push({code:"infrastructure_reward",message:"An infrastructure failure produced a score or eligible reward.",path:"graderFixtures"});let Xe=e.taskset.graders.some(R=>R.rewardEligible);u&&!Xe&&r.push({code:"online_reward_grader_missing",message:`${o?.toUpperCase()} requires a user-selected reward-eligible grader.`,path:"graders"});let ae=o??(v>0&&e.taskset.capabilities.compatibleMethods.includes("sft")?"sft":"none"),Me=e.taskset.learningSignals.demonstrations.filter(R=>R.approved).map(R=>R.id),C=ae==="none"?null:{primaryMethod:ae,bootstrap:ae==="grpo"&&Me.length?{method:"sft",purpose:"trajectory_bootstrap",demonstrationRefs:Me,limitations:["The SFT bootstrap imitates approved trajectories; it does not optimize verifier reward.","Completing the bootstrap does not satisfy the primary GRPO recommendation."]}:null},j=r.length===0,Z=r.length>0,ue=["sft","dpo","grpo","ppo"].map(R=>{let G=[],te=[];R==="sft"&&Me.length===0&&(G.push("demonstrations_missing"),te.push("Add at least one approved prompt/response demonstration.")),R==="dpo"&&k===0&&(G.push("preference_pairs_missing"),te.push("Add at least one approved chosen/rejected response pair.")),(R==="grpo"||R==="ppo")&&x===0&&(G.push("executable_reward_missing"),te.push("Implement and validate an executable scalar reward.")),R==="ppo"&&(G.push("value_model_required"),te.push("Choose and bind a value/critic model before PPO can execute.")),E===0&&(G.push("frozen_eval_missing"),te.push("Add an independent frozen-evaluation split.")),Z&&G.length===0&&(G.push("taskset_not_ready"),te.push("Resolve the Dataset validation and grader-audit blockers."));let _e=G.filter(Pe=>Pe!=="value_model_required");return{method:R,status:_e.length?"needs_dataset_work":R===ae?"recommended":"compatible",reasonCodes:G,reasons:te}});return Lr.parse({schemaVersion:"openpond.tasksetReadiness.v1",tasksetId:e.taskset.id,tasksetHash:e.taskset.contentHash,ready:j,recommendedMethod:ae,trainingPath:C,methodReadiness:ue,compatibleDestinationClasses:j?ae==="grpo"?["export","custom","hosted_managed"]:["export","custom"]:["export"],blockers:r,advisories:s,warnings:[...t.issues.filter(R=>R.severity==="warning").map(R=>R.message),...ae==="grpo"?["GRPO is readiness-compatible but not executable in the local CPU fixture."]:[],...js(e.taskset.metadata.warnings)],generatedAt:e.generatedAt??new Date().toISOString(),metadata:{reportHash:h([e.taskset.contentHash,r])}})}i(Ns,"buildTasksetReadiness");function ta(e){return e==="sft"||e==="dpo"||e==="grpo"||e==="ppo"||e==="sdft"||e==="opsd"||e==="sdpo"?e:null}i(ta,"trainingPathMethod");function ra(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}i(ra,"metadataRecord");function js(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&!!t.trim()):[]}i(js,"metadataStrings");import Ws from"node:path";function qs(e,t,r){let s=De.parse(t.metadata.learning),a=ve(s.binding,s.rewards);return async({grader:o,task:n,attempt:c,signal:u})=>{let g=s.admissions.find(T=>T.taskId===n.id),p=a.find(T=>T.id===o.id);if(!g||p?.kind!=="custom_verifier")throw new Error("Prepared batch has no matching verifier admission.");let l=await ct(r,t),d=l?l.learningResources?.evidence.find(T=>_r(U(T),g.evidence)):await e.learningRepository().transaction(t.profileId,T=>he(T,"evidence",g.evidence));if(!d)throw new Error("Imported batch evidence is missing from its package.");let m=st(d,s.definition),f=i(T=>({id:T.id,input:T.input,expectedOutput:T.expectedOutput,policyVisibleContext:T.policyVisibleContext,privilegedContextRef:T.privilegedContextRef}),"selected");if(h(f(n))!==h(f(m)))throw new Error("Prepared task differs from its admitted evaluator context.");if(l){let T=l.learningResources?.assets.find(y=>y.id===p.verifierRef.id);if(!T)throw new Error("Imported batch verifier is missing from its package.");return je({source:re(T,p.verifierRef),exportName:p.exportName,timeoutMs:p.timeoutMs,signal:u,value:{task:m,attempt:{output:c.output,artifactRefs:c.artifactRefs,runtimeEventRefs:c.runtimeEventRefs,infrastructureError:c.infrastructureError},input:m.input,output:c.output,expectedOutput:m.expectedOutput,evaluatorContext:d.submission.evaluatorContext,infrastructureError:c.infrastructureError??null}})}return Je({repository:e.learningRepository(),scope:t.profileId,grader:p,task:m,evidence:{output:c.output,artifactRefs:c.artifactRefs,runtimeEventRefs:c.runtimeEventRefs,infrastructureError:c.infrastructureError},evaluatorContext:d.submission.evaluatorContext,signal:u})}}i(qs,"createLearningBatchVerifier");import{readFile as sa,realpath as $s}from"node:fs/promises";import Ls from"node:path";async function Us(e){let t=await $s(e.allowedRoot),r=await $s(Ls.resolve(t,e.grader.module));if(r!==t&&!r.startsWith(`${t}${Ls.sep}`))throw new Error("Verifier module is outside the approved Taskset root.");let s=await sa(r);if(e.grader.metadata.portableVerifierRef!==void 0){let o=kr.parse(e.grader.metadata.portableVerifierRef);if(o.sizeBytes!==s.length||o.contentHash!==fe(s))throw new Error("Verifier source differs from its immutable Taskset release.")}let a=new TextDecoder("utf-8",{fatal:!0}).decode(s);return je({source:a,exportName:e.grader.exportName,runtime:e.grader.runtime,timeoutMs:e.grader.timeoutMs,signal:e.signal,value:{task:e.task,attempt:e.attempt,input:e.task.input,expectedOutput:e.task.expectedOutput,output:e.attempt.output,infrastructureError:e.attempt.infrastructureError,...e.evaluatorContext?{evaluatorContext:e.evaluatorContext}:{}}})}i(Us,"runSandboxedVerifier");async function zt(e,t){if(!t.graders.some(n=>n.kind==="custom_verifier"))return;if(t.metadata.learning!==void 0)return qs(e.store,t,e.storeDir);if(t.metadata.rewardBinding!==void 0)return Cs(e.store,t,e.storeDir);let r=e.storeDir?null:await(e.loadProfileState??Gr)(),s=e.storeDir?Ws.join(e.storeDir,"training","tasksets",ce(t)):r?.sourcePath?Ws.join(r.sourcePath,"tasksets",t.id):null,a=typeof t.metadata.creationSnapshotId=="string"?t.metadata.creationSnapshotId:null,o=a?await e.store.getTaskDesignProposal(a):null;return s&&t.purpose!=="benchmark"&&t.environment.metadata.runtimeSourceTasksetId===void 0&&await nt(t,s,{generatedFiles:o?.generatedFiles??[]}),s?async({grader:n,task:c,attempt:u,signal:g})=>{let p=t.graders.find(d=>d.id===n.id);if(!p||p.kind!=="custom_verifier")throw new Error("Verifier is not declared by this Taskset revision.");let l;if(t.environment.entrypoint===Y&&!u.infrastructureError){if(!e.storeDir)throw new Error("Tool grading requires the execution owner's artifact directory.");l=await vt({store:e.store,storeDir:e.storeDir,taskset:t,task:c,attempt:u})}return Us({grader:p,task:c,attempt:u,allowedRoot:s,signal:g,evaluatorContext:l})}:void 0}i(zt,"createTasksetEvaluationVerifier");var oa=new Set(["correct","incorrect","parse_failure","budget_exhausted","tool_schema_violation","infrastructure_failure","cancelled"]);async function Bs(e){let t=na(e.attempt);if(t){let g=h(e.graders),p=`Taskset Work attempt ended with ${t.failureClass}: `+t.message;return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,g,t]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:g,score:null,passed:!1,components:e.graders.map(l=>({graderId:l.id,graderVersion:l.version,score:0,passed:!1,hardGate:l.hardGate,rewardEligible:!1,feedback:p,evidenceRefs:e.attempt.artifactRefs,judge:l.kind==="model_judge"?l.judge:null,calibrationStatus:l.kind==="model_judge"?l.calibrationStatus:"not_applicable"})),failureClass:t.failureClass,feedback:[p],rewardEligible:!1,createdAt:e.now?.()??new Date().toISOString()}}let r=e.learning?null:ia(e.attempt.metadata);if(!r)try{return await at(e)}catch(g){return aa({attempt:e.attempt,graders:e.graders,now:e.now,error:g})}let s=h(e.graders),a=r.rewardEligible?r.outcome==="correct"?1:0:null,o=r.outcome==="correct",n=da(r.outcome),c=`Cross-System trajectory verifier outcome: ${r.outcome}.`,u=e.graders.map(g=>({graderId:g.id,graderVersion:g.version,score:a??0,passed:o,hardGate:g.hardGate,rewardEligible:r.rewardEligible&&g.rewardEligible,feedback:c,evidenceRefs:e.attempt.artifactRefs,judge:g.kind==="model_judge"?g.judge:null,calibrationStatus:g.kind==="model_judge"?g.calibrationStatus:"not_applicable"}));return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,s,r]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:s,score:a,passed:o,components:u,failureClass:n,feedback:[c],rewardEligible:r.rewardEligible,createdAt:e.now?.()??new Date().toISOString()}}i(Bs,"gradeTasksetEvaluationAttempt");function aa(e){let t=h(e.graders),r=(e.error instanceof Error?e.error.message:String(e.error)).slice(0,19e3),s=`Taskset grader failed: ${r}`;return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,t,"grader_failure",r]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:t,score:null,passed:!1,components:e.graders.map(a=>({graderId:a.id,graderVersion:a.version,score:0,passed:!1,hardGate:a.hardGate,rewardEligible:!1,feedback:s,evidenceRefs:e.attempt.artifactRefs,judge:a.kind==="model_judge"?a.judge:null,calibrationStatus:a.kind==="model_judge"?a.calibrationStatus:"not_applicable"})),failureClass:"grader_failure",feedback:[s],rewardEligible:!1,createdAt:e.now?.()??new Date().toISOString()}}i(aa,"graderFailureResult");function na(e){if(e.metadata.execution!=="taskset_work"||!e.infrastructureError)return null;let t=Vr.safeParse(e.metadata.failureClass);if(!t.success||t.data==="policy_failure"||t.data==="grader_failure")throw new Error("Taskset Work attempt is missing a trusted execution failure class.");return{failureClass:t.data,message:e.infrastructureError}}i(na,"tasksetWorkFailure");function ia(e){if(e.execution!=="post_training_evaluation_tool_loop")return null;let t=e.verifierOutcome,r=e.verifierReward,s=e.verifierRewardEligible;if(typeof t!="string"||!oa.has(t)||typeof s!="boolean"||r!==null&&typeof r!="number")throw new Error("Cross-System evaluation attempt is missing trusted verifier metadata.");if(s!==(t==="correct"||t==="incorrect"||t==="parse_failure")||s&&typeof r!="number"||!s&&r!==null)throw new Error("Cross-System evaluation verifier metadata is internally inconsistent.");return{outcome:t,reward:r,rewardEligible:s}}i(ia,"crossSystemGrade");function da(e){return e==="correct"?null:e==="infrastructure_failure"?"infrastructure_failure":e==="cancelled"?"cancelled":"policy_failure"}i(da,"failureClassFor");import Ge from"node:path";import{mkdir as Fs,readFile as ca,writeFile as Vs}from"node:fs/promises";async function Q(e){let t=Ge.join(e.storeDir,"training","evaluation-artifacts",e.tasksetId),r=Ge.join(t,`${e.attemptId}-${zs(e.fileLabel??e.kind)}.json`),s=Buffer.from(`${JSON.stringify({schemaVersion:"openpond.rawEvaluationArtifact.v1",requestId:e.requestId,...e.payload},null,2)}
|
|
2
|
+
import{a as vs,b as Ts}from"./chunk-2G4BEISF.js";import{a as ps,c as fs}from"./chunk-XVDFJ3ZF.js";import{a as oe}from"./chunk-CKMSBAI2.js";import{i as ms,j as pt}from"./chunk-776WNDV2.js";import{d as je,e as it}from"./chunk-TRQQNFMO.js";import{a as ce}from"./chunk-I2NXNMRZ.js";import{a as Yr,b as Kr,c as Xr,d as dt,f as Zr,g as Qr,h as ct}from"./chunk-2L5XWJJ5.js";import{b as Br,e as at,f as nt}from"./chunk-JQKSXCAJ.js";import{E as ys,N as ws,a as ft,b as gs,c as gt,d as ht,e as hs,f as ks}from"./chunk-N6ENLEMY.js";import{g as ut,i as mt}from"./chunk-GOPFFQZU.js";import{a as ye}from"./chunk-7KWD2I6W.js";import{g as qe}from"./chunk-57TRXBLT.js";import{s as Gr}from"./chunk-FKJHEZCW.js";import{A as rs,C as ss,t as ts}from"./chunk-2RNQQNB7.js";import{q as es}from"./chunk-EUMXMT3S.js";import{G as B,H as os,I as as,J as ns,K as lt,L as is,M as q,N as ds,O as Ne,P as cs,R as ls,S as Lt,T as us}from"./chunk-TKLBP3MM.js";import{l as $t}from"./chunk-RBZH6A6M.js";import{p as Vr,r as F,s as zr,u as Jr}from"./chunk-JMBQYBPI.js";import{f as Fr}from"./chunk-H7ATCPPB.js";import{Ib as ot,M as Pr,N as Or,O as Hr,P as Dr,R as jr,ca as Nr,da as qr,ka as $r,sa as Lr,ua as ke,va as Ur,wa as Wr,xa as Te}from"./chunk-XMKCCLGB.js";import{n as se}from"./chunk-523TE4BI.js";import{C as br,S as Cr,T as Ar,Tb as Mr}from"./chunk-Y4OWBBDD.js";import{f as wr}from"./chunk-JFXWI3EN.js";import{n as yr}from"./chunk-H7IWJN7L.js";import{$ as De,Kb as Er,N as U,O as xr,V as st,W as Ir,c as qt,d as re,g as Rr,j as _r,lb as ge,mb as he}from"./chunk-VYLGI3IH.js";import{La as ve,Ma as Sr,l as ze,oa as rt}from"./chunk-ACYFMLWG.js";import{l as vr,m as Tr}from"./chunk-TVQAPBLZ.js";import{h as kr,l as fe,m as h}from"./chunk-KGNCKIFP.js";import{b as O}from"./chunk-ES2ISFJC.js";import{a as i}from"./chunk-FTQLQJQV.js";import{randomUUID as Vo}from"node:crypto";function yt(e){let t=kt(kt(kt(e.metadata).billing).pricing);return{version:$e(t.version,"pricing version"),source:$e(t.source,"pricing source"),effectiveAt:$e(t.effectiveAt,"pricing effective date"),inputUsdPerMillionTokens:Le(t.inputUsdPerMillionTokens,"input token rate"),cachedInputUsdPerMillionTokens:Le(t.cachedInputUsdPerMillionTokens,"cached input token rate"),outputUsdPerMillionTokens:Le(t.outputUsdPerMillionTokens,"output token rate")}}i(yt,"hostedTokenPricingFromCatalog");function Fn(e){let t=kt(e);try{return{version:$e(t.version,"pricing version"),source:$e(t.source,"pricing source"),effectiveAt:$e(t.effectiveAt,"pricing effective date"),inputUsdPerMillionTokens:Le(t.inputUsdPerMillionTokens,"input token rate"),cachedInputUsdPerMillionTokens:Le(t.cachedInputUsdPerMillionTokens,"cached input token rate"),outputUsdPerMillionTokens:Le(t.outputUsdPerMillionTokens,"output token rate")}}catch{return null}}i(Fn,"hostedTokenPricingFromValue");function Se(e,t){let r=ye(e);if(r.promptTokens===null&&r.completionTokens===null)return null;let s=r.cachedPromptTokens??0;return((r.uncachedPromptTokens??r.promptTokens??0)*t.inputUsdPerMillionTokens+s*t.cachedInputUsdPerMillionTokens+(r.completionTokens??0)*t.outputUsdPerMillionTokens)/1e6}i(Se,"hostedUsageCostUsd");function kt(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(kt,"record");function $e(e,t){if(typeof e=="string"&&e.trim())return e.trim();throw new Error(`Hosted model catalog is missing ${t}.`)}i($e,"requiredString");function Le(e,t){if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return e;throw new Error(`Hosted model catalog is missing ${t}.`)}i(Le,"requiredRate");function Rs(e={}){let t=e.catalog??ut,r=e.stream??mt;return{async prepare(s){if(s.providerId!=="openpond")throw new Error("The selected judge provider is not connected to the hosted judge transport.");if(s.revision!==null)throw new Error("This judge transport cannot enforce a model revision; select a provider with revision support.");let a=await t();if(a.error)throw new Error(`Judge model catalog unavailable: ${a.error}`);let o=a.models.find(l=>l.id===s.modelId);if(!o)throw new Error("The selected judge model is unavailable.");let n=Ss(o.raw),c=yt(n),u=bs(n.context_window,"context window"),g=Math.min(4096,bs(n.output_limit,"output limit")),p=(u*Math.max(c.inputUsdPerMillionTokens,c.cachedInputUsdPerMillionTokens)+g*c.outputUsdPerMillionTokens)/1e6;if(!(p>0))throw new Error("The judge model must have a positive known charge ceiling.");return{maximumChargeUsd:p,async dispatch(l){l?.throwIfAborted();let d="",m=null,f=null,T=null,y=!1;for await(let A of r({model:s.modelId,messages:[{role:"system",content:s.system},{role:"user",content:s.data}],requestId:`learning-judge-${Vo()}`,maxTokens:g,temperature:s.temperature,signal:l})){let I=Ss(A.raw);if(typeof I.model=="string"){if(m!==null&&I.model!==m)throw new Error("Judge response model identity changed during streaming.");m=I.model}if(typeof I.id=="string"){if(f!==null&&f!==I.id)throw new Error("Judge response identity changed during streaming.");f=I.id}if(A.type==="text_delta"&&(d+=A.text),d.length>1e5)throw new Error("Judge response exceeds the retained response limit.");A.type==="usage"&&(T=A.usage),A.type==="finish"&&(y=!0)}if(!y||!m||!f)throw new Error("Judge response did not include a complete model receipt.");let w=ye(T),_=w.promptTokens!==null&&w.completionTokens!==null?Se(T,c):null;return{text:d,modelId:m,modelRevision:null,responseId:f,inputTokens:w.promptTokens,outputTokens:w.completionTokens,costUsd:_}}}},async cancel({run:s}){return!s.judgeCalls?.some(a=>a.status==="reserved")}}}i(Rs,"createLearningHostedJudgeProvider");function Ss(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(Ss,"record");function bs(e,t){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw new Error(`Judge catalog is missing its ${t}.`);return e}i(bs,"positiveInteger");function oi(e,t=Rs()){return{execute(r){if(r.definition.execution.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Tool Tasksets require grading an owner-recorded environment attempt.");let s=Er({repository:e,scope:r.scope,run:r.run});return Sr({binding:r.binding,rewards:r.rewards,task:st(r.evidence,r.definition),evidence:Ir(r.evidence,r.run.output),evaluatorContext:r.evidence.submission.evaluatorContext,signal:r.signal,modelJudge:Rr({readRubric:i(a=>e.transaction(r.scope,async o=>re(await ge(o,"asset",a.id,1),a)),"readRubric"),async executeBudgeted(a,o){let n=await t.prepare(a,{scope:r.scope,run:r.run});return _r({store:s,maximumCharge:i(()=>n.maximumChargeUsd,"maximumCharge"),dispatch:i((u,g)=>n.dispatch(g),"dispatch")})(`grade-${h(a)}`,a,o)}}),customVerifier:i(async({grader:a,task:o,evidence:n})=>{let c=await Je({repository:e,scope:r.scope,grader:a,task:o,evidence:n,evaluatorContext:r.evidence.submission.evaluatorContext,timeoutMs:r.run.timeoutMs,signal:r.signal});return{score:c.score,passed:c.passed,rewardEligible:a.rewardEligible,failureClass:null,feedback:[c.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:c.evidenceRefs}},"customVerifier")})},async cancel({scope:r,run:s}){let a=await e.transaction(r,o=>ge(o,"grade",s.id));return a.judgeCalls?.some(o=>o.status==="reserved")?!1:t.cancel({scope:r,run:a})}}}i(oi,"createLocalTaskGradeExecutor");async function Je(e){let t=await e.repository.transaction(e.scope,async r=>re(await ge(r,"asset",e.grader.verifierRef.id,1),e.grader.verifierRef));return je({source:t,exportName:e.grader.exportName,runtime:e.grader.runtime,timeoutMs:Math.min(e.grader.timeoutMs,e.timeoutMs??e.grader.timeoutMs),signal:e.signal,value:{task:e.task,attempt:e.evidence,input:e.task.input,output:e.evidence.output,expectedOutput:e.task.expectedOutput,evaluatorContext:e.evaluatorContext,infrastructureError:e.evidence.infrastructureError??null}})}i(Je,"executeLocalLearningVerifier");import zo from"node:path";async function _s(e,t,r){if(!r)throw new Error("Ordinary tool execution requires its owner's package directory.");let s=ot({taskset:e,adapterId:dt(e)}),a=await Zr({root:zo.join(r,"training","tasksets",ce(e)),content:{schemaVersion:"openpond.tasksetPackage.v1",taskset:s.tasksetRelease,environment:s.environmentRelease,verifierSet:s.verifierSetRelease},sources:Fr.parse(e.metadata.portableFileInventory)}),o=qr(a);if(!o)throw new Error("The Taskset does not declare a JavaScript execution graph.");let n=a.taskset.tasks.find(g=>g.id===t.id);if(!n)throw new Error("The selected task is missing from its executable package.");let c=o.assets.find(g=>g.id===o.execution.javascript.module.id),u=o.assets.find(g=>g.id===n.privilegedContextRef);return{execution:o.execution,module:c,initialState:JSON.parse(u.text),definition:U(a.taskset),instructions:$r(a),task:n}}i(_s,"loadOrdinaryToolEnvironment");var Y="openpond.javascript-environment.v1";async function Ue(e,t,r,s){let a=t.tasks.find(o=>o.id===r.id);if(!a||h(a)!==h(r))throw new Error("Tool task differs from the selected immutable Taskset.");return t.metadata.taskDefinition===void 0?_s(t,r,s):e.learningRepository().transaction(t.profileId,async o=>{let n=await he(o,"definition",se.parse(t.metadata.taskDefinition)),c=n.execution.environment;if(c.entrypoint!==Y||t.environment.entrypoint!==Y||t.environment.kind!=="agent"||t.environment.stateful!==c.stateful||t.environment.defaultTimeoutMs!==c.defaultTimeoutMs||t.environment.networkPolicy!==c.networkPolicy||t.environment.deterministicSeeds!==c.deterministicSeeds||h(t.environment.toolNames)!==h(n.execution.tools.map(S=>S.name))||h(t.environment.metadata.portableTools)!==h(n.execution.tools)||h(t.policy)!==h(n.execution.policy)||h(t.metadata.rewardBinding)!==h(n.rewardBinding))throw new Error("Tool Taskset context differs from its pinned task definition.");let u=await he(o,"binding",n.rewardBinding),g=await Promise.all(u.sources.map(S=>he(o,"reward",S.reward))),p=rt.parse({id:r.id,clusterKey:r.clusterKey,split:r.split,input:r.input,expectedOutput:r.expectedOutput,policyVisibleContext:r.policyVisibleContext,privilegedContextRef:r.privilegedContextRef,artifactRefs:[],tags:r.tags}),l={...n.execution,graders:ve(u,g),tasks:[p]},d=await ge(o,"asset",Dr(l),1),m=Or.parse(JSON.parse(re(d,d.asset))),f=[m.javascript.module,m.environment.actionSchemaRef,m.environment.observationSchemaRef,m.environment.stateSchemaRef].filter(S=>S!==null),T=[...new Set([...f.map(S=>S.id),r.privilegedContextRef].filter(S=>S!==null))],y=await Promise.all(T.map(S=>ge(o,"asset",S,1))),w=jr(l,d,y);if(h(t.environment.metadata.portableExecutionResources)!==h({environment:w.environment,verifierSet:w.verifierSet}))throw new Error("Tool Taskset publication differs from its private execution resources.");let _=y.find(S=>S.id===w.javascript.module.id),A=y.find(S=>S.id===r.privilegedContextRef),I=JSON.parse(re(A,A.asset));return{execution:w,module:_,initialState:I,definition:U(n),instructions:n.instructions,task:p}})}i(Ue,"loadStarterToolEnvironment");function xs(e){let t=qt({text:e.instructions,path:"policy/instructions.txt",mediaType:"text/plain",visibility:"policy"}),r=qt({text:JSON.stringify({environment:U(e.execution.environment),verifierSet:U(e.execution.verifierSet),javascript:U(e.execution.javascript)}),path:"environment/dependencies.json",mediaType:"application/json",visibility:"host_private"}),s=vr({schemaVersion:"openpond.agentSnapshot.v2",id:`starter-agent-${e.definition.contentHash}`,sourceRelease:{id:e.definition.id,contentHash:e.definition.contentHash},instructions:[t.asset],skills:[],agents:[],toolDeclarations:e.execution.javascript.tools,capabilityRequirements:[],dependencyLock:r.asset,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[e.module.id,r.id]},metadata:{execution:Y}}),a=Tr({schemaVersion:"openpond.harnessRelease.v2",id:`starter-harness-${s.contentHash}`,agentSnapshot:{id:s.id,contentHash:s.contentHash},program:e.module.asset,tools:e.execution.javascript.tools,lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output"],privilegedEvidence:["environment_state","private_verifier"],privateVerifierIsolation:!0},files:[t.asset,r.asset,e.module.asset],metadata:{execution:Y}});return{agentSnapshot:s,harnessRelease:a,instructionContext:void 0}}i(xs,"compileStarterToolHarness");import wt from"node:path";import{constants as Is}from"node:fs";import{open as Jo,realpath as Es}from"node:fs/promises";var Go=O.string().regex(/^[a-f0-9]{64}$/),Yo=O.object({schemaVersion:O.literal("openpond.starterToolAttempt.v1"),requestId:O.string(),taskset:se,taskHash:Go,model:O.unknown(),seed:O.number().int(),attempt:O.number().int(),definition:se,policySource:O.enum(["model","fixture"]),environment:se,verifierSet:se,result:Pr}).strict();async function vt(e){let{store:t,taskset:r,task:s,attempt:a}=e,o=await Ue(t,r,s,e.storeDir),c=(await t.listTaskAttemptArtifacts({attemptId:a.id})).filter(_=>_.kind==="environment_state"&&_.tasksetId===r.id&&_.taskId===s.id&&_.attemptId===a.id&&a.artifactRefs.includes(_.id)&&a.privilegedOutcomeRef===_.id);if(c.length!==1)throw new Error("Tool grading requires exactly one owner-recorded environment artifact.");let u=c[0],g=await Es(wt.join(e.storeDir,"training","evaluation-artifacts")),p=await Es(wt.dirname(u.path)),l=wt.relative(g,p);if(!l||l.startsWith("..")||wt.isAbsolute(l))throw new Error("Tool evidence is outside the execution owner's artifact directory.");let d=await Jo(u.path,Is.O_RDONLY|Is.O_NOFOLLOW),m;try{let _=await d.stat();if(!_.isFile()||_.size>33554432||_.size!==u.sizeBytes)throw new Error("Tool evidence exceeds its declared byte boundary.");m=await d.readFile()}finally{await d.close()}if(m.byteLength!==u.sizeBytes||fe(m)!==u.sha256)throw new Error("Owner-recorded tool evidence bytes changed.");let f=Yo.parse(JSON.parse(m.toString("utf8"))),{contentHash:T,...y}=f.result,w=f.result;if(h(y)!==T||!w.snapshot||!w.environmentCleanupComplete||!["completed","budget_exhausted","policy_failure"].includes(w.status)||h(f.taskset)!==h(U(r))||f.taskHash!==h(s)||h(f.model)!==h(a.modelRef)||f.seed!==a.seed||f.attempt!==a.attempt||a.tasksetId!==r.id||a.taskId!==s.id||a.split!==s.split||h(f.definition)!==h(o.definition)||h(f.environment)!==h(U(o.execution.environment))||h(f.verifierSet)!==h(U(o.execution.verifierSet))||w.taskId!==s.id||w.snapshot.seed!==a.seed||w.snapshot.inputHash!==h(s.input)||h(w.snapshot.definition)!==h(U(o.execution.javascript))||w.snapshot.finalStateHash!==h(w.snapshot.state)||h(a.output)!==h({text:w.output??""})||a.metadata.environmentAttemptHash!==T)throw new Error("Tool evidence differs from the selected task, model or recorded attempt.");if(a.metadata.policySource!==f.policySource)throw new Error("Tool evidence policy source changed.");return{environment:{status:w.status,collected:w.collected,definition:w.snapshot.definition,initialStateHash:w.snapshot.initialStateHash,finalStateHash:w.snapshot.finalStateHash,finalState:w.snapshot.state,events:w.snapshot.events}}}i(vt,"readStarterToolEvidence");async function be(e,t){if(t.metadata.learning!==void 0)return De.parse(t.metadata.learning);if(t.metadata.rewardBinding===void 0)return;let r=se.parse(t.metadata.rewardBinding);return e.learningRepository().transaction(t.profileId,async s=>{let a=await he(s,"binding",r),o=[...new Map(a.sources.map(c=>[`${c.reward.id}:${c.reward.revision}:${c.reward.contentHash}`,c.reward])).values()],n=await Promise.all(o.map(c=>he(s,"reward",c)));return{binding:a,rewards:n}})}i(be,"resolveTasksetRewardBinding");async function Ko(e,t,r){let s=await be(e,t);if(!s)return{rewardExecution:void 0,verifierAssets:[]};let a=ve(s.binding,s.rewards).flatMap(c=>c.kind==="custom_verifier"?[c.verifierRef]:c.kind==="model_judge"?[c.rubricRef]:[]),o=t.metadata.learning===void 0?void 0:await ct(r,t);if(o){let c=[...new Map(a.map(u=>{let g=o.learningResources.assets.find(p=>p.id===u.id);if(!g)throw new Error("Imported batch verifier is missing from its package.");return re(g,u),[g.id,g]})).values()];return{rewardExecution:s,verifierAssets:c}}let n=await e.learningRepository().transaction(t.profileId,async c=>{let u=new Map;for(let g of a){let p=await ge(c,"asset",g.id,1);re(p,g),u.set(p.id,p)}return[...u.values()]});return{rewardExecution:s,verifierAssets:n}}i(Ko,"resolveTasksetTrainingReward");async function Ji(e,t,r){let s=await Ko(e,t,r.storeDir);if(!s.rewardExecution)return s;let a=ve(s.rewardExecution.binding,s.rewardExecution.rewards);if(!s.rewardExecution.binding.sources.some(o=>o.role==="evaluation"&&o.weight>0))throw new Error("Managed training requires a positively weighted evaluation Reward source for retained validation.");if(a.some(o=>o.kind==="custom_verifier"&&o.runtime==="sandbox_process"))throw new Error("Managed preparation requires a qualified isolated sandbox for process verifiers.");if(r.placement!=="remote"||t.environment.kind==="work"||t.capabilities.requiresState||t.capabilities.requiresTools||a.some(o=>o.kind==="human"||o.kind==="model_judge"&&(!o.model||o.calibrationStatus!=="passed"))||t.tasks.some(o=>o.privilegedContextRef!==null)||!s.rewardExecution.binding.sources.some(o=>o.role==="training"&&o.weight>0)||r.hasLearnedPreferenceReward)throw new Error("This Reward binding requires an additional managed execution adapter.");return s}i(Ji,"resolveManagedTasksetReward");async function Cs(e,t,r){let s=await be(e,t);if(!s)throw new Error("The Taskset has no published Reward binding.");let a=ve(s.binding,s.rewards);return async({grader:o,task:n,attempt:c,signal:u})=>{let g=t.tasks.find(m=>m.id===n.id);if(!g||h(g)!==h(n))throw new Error("Task differs from the selected immutable Taskset.");let p=null;if(t.environment.entrypoint===Y){if(!r)throw new Error("Tool grading requires the execution owner's artifact directory.");p=await vt({store:e,storeDir:r,taskset:t,task:n,attempt:c})}else if(n.privilegedContextRef!==null)throw new Error("This authored Taskset requires a private evaluator-context resolver.");let l=a.find(m=>m.id===o.id);if(l?.kind!=="custom_verifier")throw new Error("The verifier is absent from the published Reward binding.");let d=rt.parse({id:n.id,clusterKey:n.clusterKey,split:n.split,input:n.input,expectedOutput:n.expectedOutput,policyVisibleContext:n.policyVisibleContext,privilegedContextRef:n.privilegedContextRef,artifactRefs:[],tags:n.tags});return Je({repository:e.learningRepository(),scope:t.profileId,grader:l,task:d,evidence:{output:c.output,artifactRefs:c.artifactRefs,runtimeEventRefs:c.runtimeEventRefs,infrastructureError:c.infrastructureError},evaluatorContext:p,signal:u})}}i(Cs,"createTasksetBindingVerifier");async function Ee(e,t,r){let s=r?se.parse(r):null;if(s&&s.id!==t)throw new Error("Taskset execution reference differs from the requested Taskset.");let a=s?await e.getTasksetRevision(s.id,s.revision):await e.getTaskset(t);if(!a||s&&(a.contentHash!==s.contentHash||Te(a)!==s.contentHash))throw new Error("Taskset execution revision is unavailable or differs from its immutable hash.");return a}i(Ee,"requireLocalTasksetRevision");async function ed(e,t,r){let s=await e.releaseForTaskset(t);return s||ot({taskset:t,rewardExecution:r?await be(r,t):void 0,adapterId:dt(t)}).tasksetRelease}i(ed,"requireReleasedTaskset");import{createHash as Xo}from"node:crypto";function As(e,t,r){if(t.metadata.importedPackageHash!==e.contentHash)throw new Error("The Work projection differs from the admitted published package.");let s=e.taskset.tasks.find(n=>n.id===r.id);if(!s||s.split!==r.split||h(r.metadata.portableTaskRecord)!==h(s))throw new Error("The Work task differs from its exact released population.");let a=0,o=(r.assets??[]).map(n=>{let c=s.artifactRefs.find(l=>l.id===n.id&&l.contentHash===n.sha256&&l.path===n.artifactRef),u=c&&e.files.find(l=>h(l.asset)===h(c));if(!c||!u||c.visibility!=="policy")throw new Error("The Work task requests an unavailable or private evaluator file.");let g=Buffer.from(Nr(u));if(Xo("sha256").update(g).digest("hex")!==n.sha256||g.length!==n.sizeBytes||n.split!==r.split)throw new Error("The published Work input manifest changed.");if(a+=g.length,a>25e7)throw new Error("Published Work inputs exceed the admitted 250 MB ceiling.");return{...n,assetId:n.id,storageName:n.fileName,bytes:g,sizeBytes:g.length}});if(o.length!==s.artifactRefs.length)throw new Error("The exact policy-visible Work asset population is incomplete.");return o}i(As,"advancedPublishedWorkAssets");async function Ut(e,t=ut,r=!1){if(e.kind==="hosted_harness")return Ut({kind:"hosted_chat",modelId:e.modelId,maxOutputTokens:4096,temperature:0,topP:1},t);if(e.kind!=="hosted_chat")throw new oe("local_target_not_qualified","Select an explicit model target for local execution.",422);if(e.harness&&!r)throw new oe("local_harness_not_qualified","This released Harness requires its native turn executor; it cannot run as a model-only case.",422);let s=await t();if(s.error)throw new oe("local_model_catalog_unavailable",s.error,422);let a=s.models.find(d=>d.id===e.modelId);if(!a)throw new oe("local_model_unavailable","The selected model is unavailable.",422);let o=Ms(a.raw),n=yt(o),c=Ms(o.capabilities).samplingParameters===!0;if(!c&&(e.temperature!==0||e.topP!==1))throw new oe("local_sampling_unsupported","This model uses provider-managed sampling. Custom temperature or top P requires an explicit supported capability.",422);let u=Ps(o.context_window),g=Ps(o.output_limit);if(e.maxOutputTokens>g)throw new oe("local_model_output_limit","The model cannot accept the configured output limit.",422);let p={providerId:"openpond",modelId:e.modelId,maxOutputTokens:e.maxOutputTokens,...c?{temperature:e.temperature,topP:e.topP}:{},messages:e.messages??[]},l=(u*Math.max(n.inputUsdPerMillionTokens,n.cachedInputUsdPerMillionTokens)+e.maxOutputTokens*n.outputUsdPerMillionTokens)/1e6;if(!(l>0))throw new oe("local_model_charge_unknown","The model must publish an enforceable positive request ceiling.",422);return{model:{...p,configurationHash:h({configuration:p,contextWindow:u,outputLimit:g,pricing:n})},pricing:n,maximumChargeUsd:l}}i(Ut,"prepareLocalExperimentModel");function fd(e){let t=e.admission.streamFactory?.(e)??e.admission.stream??e.stream??mt;return async function*(r){if(!r.requestId)throw new oe("local_request_identity_missing","Every local model dispatch requires a stable request identity.");let s=e.admission.model;if(r.model!==s.modelId||r.maxTokens!==s.maxOutputTokens||r.temperature!==s.temperature||r.topP!==s.topP)throw new oe("local_model_configuration_conflict","The native model request changed its admitted model, output limit or sampling configuration.",422);let a=ps();a?.assertExecution(e.executionId);let o={teamId:e.teamId,id:e.executionId,ownerId:e.ownerId,requestId:r.requestId};await e.store.reserveLocalCharge({...o,caseId:e.caseId,maximumUsd:e.admission.maximumChargeUsd}),r.signal?.aborted&&(await e.store.settleLocalCharge({...o,costUsd:null,usage:null,notDispatched:!0}),r.signal.throwIfAborted());try{await e.store.markLocalChargeDispatched(o.teamId,o.id,o.requestId,o.ownerId)}catch(p){throw a&&await e.store.settleLocalCharge({...o,costUsd:null,usage:null,notDispatched:!0}),p}await e.store.appendLocalExperimentEvent({...o,caseId:e.caseId,type:"model.dispatch",payload:{requestId:o.requestId,model:r.model,messages:r.messages}});let n=null,c=!1,u=!1,g;try{for await(let p of t(r)){u=!0,p.type==="usage"&&(n=p.usage),p.type==="finish"&&(c=!0);let l=p.type==="text_delta"?{requestId:o.requestId,text:p.text}:p.type==="tool_call_delta"?{requestId:o.requestId,toolCalls:p.toolCalls}:p.type==="usage"?{requestId:o.requestId,usage:ye(p.usage)}:p.type==="finish"?{requestId:o.requestId,finishReason:p.finishReason}:null;l&&await e.store.appendLocalExperimentEvent({...o,caseId:e.caseId,type:`model.${p.type}`,payload:l}),yield p}}catch(p){throw!u&&p instanceof fs&&p.executionId===o.id&&p.requestId===o.requestId&&(g=p),p}finally{let p=ye(n),l=e.admission.pricing&&c&&p.promptTokens!==null&&p.completionTokens!==null?Se(n,e.admission.pricing):null;await e.store.settleLocalCharge({...o,costUsd:l,confirmedTransportNotInvoked:g,usage:n===null?null:{promptTokens:p.promptTokens,completionTokens:p.completionTokens,cachedPromptTokens:p.cachedPromptTokens,uncachedPromptTokens:p.uncachedPromptTokens}})}}}i(fd,"createLocalBudgetedModelStream");function Ms(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(Ms,"record");function Ps(e){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw new oe("local_model_bound_unknown","The model catalog is missing an enforceable context/output bound.",422);return e}i(Ps,"positive");import{AsyncLocalStorage as Zo}from"node:async_hooks";import Qo from"node:path";var Os=new Zo;function Hs(){return Os.getStore()}i(Hs,"currentAdvancedRefinerBoundary");function Rd(e){let t=yr(Qo.join(e.storeDir,"library","harnesses","advanced-refiner-paid-calls.sqlite"));t.exec(`CREATE TABLE IF NOT EXISTS advanced_refiner_budgets(id TEXT PRIMARY KEY,actor_id TEXT NOT NULL,team_id TEXT NOT NULL,pin_hash TEXT NOT NULL,maximum_spend REAL NOT NULL,maximum_steps INTEGER NOT NULL,expires_at TEXT NOT NULL);
|
|
3
|
+
CREATE TABLE IF NOT EXISTS advanced_refiner_calls(run_id TEXT NOT NULL,id TEXT NOT NULL,intent_hash TEXT NOT NULL,ceiling REAL NOT NULL,state TEXT NOT NULL,actual_spend REAL,result TEXT,PRIMARY KEY(run_id,id));`);function r(a){t.exec("BEGIN IMMEDIATE");try{let o=a();return t.exec("COMMIT"),o}catch(o){throw t.exec("ROLLBACK"),o}}i(r,"transaction");async function s(a,o,n){let c=$t(o);await e.authorize(c),r(()=>{let l=t.prepare("SELECT * FROM advanced_refiner_budgets WHERE id=?").get(a);if(l){if(l.actor_id!==c.actorId||l.team_id!==c.teamId||l.pin_hash!==c.contentHash)throw new Error("Advanced Run budget belongs to another immutable admission.");return}t.prepare("INSERT INTO advanced_refiner_budgets VALUES(?,?,?,?,?,?,?)").run(a,c.actorId,c.teamId,c.contentHash,c.maximumCostUsd,c.maximumModelSteps,new Date(Date.now()+c.maximumDurationMs).toISOString())});let u=t.prepare("SELECT expires_at FROM advanced_refiner_budgets WHERE id=?").get(a),g=Date.parse(String(u.expires_at))-Date.now();if(g<=0)throw new Error("The immutable advanced evaluation duration is exhausted.");let p={runId:a,pin:c,signal:AbortSignal.timeout(g),authorize:i(()=>e.authorize(c),"authorize"),async resolveWorkAssets(l,d){await e.authorize(c),p.signal.throwIfAborted();let m=await e.packageForPin(c),f=As(m,l,d);return await e.authorize(c),p.signal.throwIfAborted(),f},async call(l,d,m,f,T){if(await e.authorize(c),!Number.isInteger(f)||f<1)throw new Error("Advanced paid requests require a finite enforced token ceiling.");let y=d.model;if(y?.providerId!=="openpond"||!y.modelId)throw new Error("Advanced paid calls require an explicitly qualified hosted model.");let w=y.modelId,_=e.prepareModel?await e.prepareModel(w,f,m):await(async()=>{let k=await Ut({kind:"hosted_chat",modelId:w,maxOutputTokens:f,temperature:0,topP:1});if(h(k.pricing)!==h(m))throw new Error("The actual model pricing differs from its reviewed request pin.");return{configurationHash:k.model.configurationHash,maximumChargeUsd:k.maximumChargeUsd}})();if(!/^[a-f0-9]{64}$/.test(_.configurationHash)||!Number.isFinite(_.maximumChargeUsd)||_.maximumChargeUsd<=0)throw new Error("The actual owner model ceiling is unavailable.");let A=h({intent:d,pricing:m,maximumOutputTokens:f,modelConfigurationHash:_.configurationHash}),I=_.maximumChargeUsd,S=r(()=>{let k=t.prepare("SELECT * FROM advanced_refiner_budgets WHERE id=?").get(a);if(!k||String(k.expires_at)<=new Date().toISOString())throw new Error("The immutable advanced evaluation duration is exhausted.");let x=t.prepare("SELECT * FROM advanced_refiner_calls WHERE run_id=? AND id=?").get(a,l);if(x){if(x.intent_hash!==A)throw new Error("Advanced provider request ID retains another exact payload.");if(x.state!=="completed")throw new Error("This paid request has an unknown outcome; recover its actual provider receipt before resuming.");return JSON.parse(String(x.result))}let v=t.prepare("SELECT COUNT(*) AS steps,COALESCE(SUM(COALESCE(actual_spend,ceiling)),0) AS spent,SUM(CASE WHEN state NOT IN ('completed','not_dispatched') THEN 1 ELSE 0 END) AS unknown FROM advanced_refiner_calls WHERE run_id=?").get(a);if(Number(v.unknown)>0)throw new Error("A prior advanced paid request is unsettled; no fresh request is allowed.");if(Number(v.steps)>=c.maximumModelSteps||Number(v.spent)+I>c.maximumCostUsd+1e-9)throw new Error("The advanced evaluation step or cumulative spend ceiling is exhausted.");t.prepare("INSERT INTO advanced_refiner_calls(run_id,id,intent_hash,ceiling,state) VALUES(?,?,?,?,?)").run(a,l,A,I,"reserved")});if(S!==void 0)return await e.authorize(c),p.signal.throwIfAborted(),S;let M=!1;try{if(await e.authorize(c),p.signal.throwIfAborted(),t.prepare("UPDATE advanced_refiner_calls SET state='dispatched' WHERE run_id=? AND id=? AND intent_hash=? AND state='reserved'").run(a,l,A).changes!==1)throw new Error("The retained advanced request admission changed.");M=!0;let x=await T();if(x.costUsd===null||!Number.isFinite(x.costUsd)||x.costUsd<0||x.costUsd>I+1e-9)throw new Error("The actual provider receipt cannot settle its admitted request ceiling.");let v=JSON.stringify(x.value);if(Buffer.byteLength(v)>8*1024*1024)throw new Error("The advanced provider response exceeds the retained output bound.");return r(()=>{if(t.prepare("UPDATE advanced_refiner_calls SET state='completed',actual_spend=?,result=? WHERE run_id=? AND id=? AND intent_hash=? AND state='dispatched'").run(x.costUsd,v,a,l,A).changes!==1)throw new Error("The advanced request settlement changed concurrently.")}),await e.authorize(c),x.value}catch(k){throw M?t.prepare("UPDATE advanced_refiner_calls SET state='unknown' WHERE run_id=? AND id=? AND state='dispatched'").run(a,l):t.prepare("UPDATE advanced_refiner_calls SET state='not_dispatched',actual_spend=0 WHERE run_id=? AND id=? AND state='reserved'").run(a,l),k}}};return Os.run(p,n)}return i(s,"run"),{run:s,async authorize(a){await e.authorize($t(a))},read(a,o){return t.prepare("SELECT * FROM advanced_refiner_budgets WHERE id=? AND actor_id=? AND team_id=? AND pin_hash=?").get(a,o.actorId,o.teamId,o.contentHash)?t.prepare("SELECT id,intent_hash,ceiling,state,actual_spend FROM advanced_refiner_calls WHERE run_id=? ORDER BY id").all(a):null},accounting(a,o){let n=this.read(a,o)??[],c=n.filter(g=>g.state!=="completed"&&g.state!=="not_dispatched"),u=n.reduce((g,p)=>g+Number(p.actual_spend??0),0);return{modelRequests:n.filter(g=>g.state!=="not_dispatched").length,knownSpendUsd:u,totalSpendUsd:c.length?null:u,heldUsd:c.reduce((g,p)=>g+Number(p.ceiling),0),uncertainRequests:c.filter(g=>g.state!=="reserved").length}},close(){t.close()}}}i(Rd,"createAdvancedRefinerPaidBoundary");var Wt={buildIntent:"verifiable_reward",methodHint:"grpo"};async function Ed(e){let t=await ea(e.store,e.workspaceId,e.reviewRef),r=`harness-review-${h({review:t.contentHash,strategy:Wt}).slice(0,24)}`,s=(await e.store.listTaskCreationSnapshots(e.profileId)).find(d=>d.request.candidateId===r);if(s)return s;let[a,o,n]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"route_decision",1e3),e.store.listHarnessImprovementArtifacts(e.workspaceId,"trigger_decision",1e3),e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",1e3)]),c=new Map(a.map(d=>[Re(d),d])),u=new Map(o.map(d=>[Re(d),d])),g=new Map(n.map(d=>[Re(d),d])),p=new Map;for(let d of t.selectedEvidence){if(d.kind!=="route_decision")continue;let m=c.get(Re(d.evidence)),f=m?u.get(Re(m.trigger)):null;if(!m||!f)throw new Error(`Harness review evidence ${d.evidence.id} cannot be reconstructed.`);let T=f.observations.map(w=>g.get(Re(w))??null).filter(w=>w?.runRef===d.sourceRef);if(!T.length)throw new Error(`Harness review source ${d.sourceRef} has no exact observation evidence.`);let y=p.get(d.sourceRef)??{turnIds:new Set,evidenceRefs:[],sourcePolicies:[]};for(let w of T)y.turnIds.add(w.turnId);y.evidenceRefs.push(d.evidence),y.sourcePolicies.push(d.sourcePolicy),p.set(d.sourceRef,y)}if(!p.size)throw new Error("Harness Taskset review has no reconstructable source runs.");let l=[];for(let[d,m]of[...p.entries()].sort(([f],[T])=>f.localeCompare(T))){let f=await e.taskCreator.addSessionSource({profileId:e.profileId,sessionId:d,turnIds:[...m.turnIds].sort(),consentScope:"selected_turns"}),T=Array.isArray(f.metadata.harnessEvaluationReviews)?f.metadata.harnessEvaluationReviews:[],y={...f,metadata:{...f.metadata,harnessEvaluationReviews:Ft([...T,{id:t.id,contentHash:t.contentHash,workspaceId:t.workspaceRef,harnessRelease:t.harnessRelease,claimFingerprint:t.claim?.fingerprint??null,evidenceRefs:m.evidenceRefs,sourcePolicies:m.sourcePolicies}])}};l.push(await e.store.upsertTrainingSource(y))}return e.startCreation({profileId:e.profileId,sourceIds:l.map(d=>d.id),surface:"task_candidate",mode:"customize",entryMode:"automated",resourceIntent:"workproduct",buildIntent:Wt.buildIntent,buildSpecification:null,objective:t.claim?.statement??t.reason,methodHint:Wt.methodHint,preferredBaseModelId:null,preferredBaseModel:null,candidateId:r,analysisModel:e.analysisModel??null,analysisReasoningEffort:e.analysisReasoningEffort??null,createImproveRunId:null,targetIntent:{kind:"model",id:null,displayName:null,operation:"create"}})}i(Ed,"startHarnessReviewTasksetAuthoring");function Cd(e){let t=e.flatMap(o=>Array.isArray(o.metadata.harnessEvaluationReviews)?o.metadata.harnessEvaluationReviews.filter(Bt):[]);if(!t.length)return null;let r=`${String(t[0].id)}:${String(t[0].contentHash)}`,s=t.filter(o=>`${String(o.id)}:${String(o.contentHash)}`===r);if(s.length!==e.length)return null;let a=s[0];return{review:{id:String(a.id),contentHash:String(a.contentHash),workspaceId:String(a.workspaceId),harnessRelease:a.harnessRelease,claimFingerprint:typeof a.claimFingerprint=="string"?a.claimFingerprint:null},evidenceRefs:Ft(s.flatMap(o=>Array.isArray(o.evidenceRefs)?o.evidenceRefs:[])),sourcePolicies:Ft(s.flatMap(o=>Array.isArray(o.sourcePolicies)?o.sourcePolicies:[]))}}i(Cd,"harnessReviewLineageFromSources");async function Ds(e){let t=e.taskset.metadata.harnessEvaluationLineage;if(!Bt(t)||!Bt(t.review))return null;let r=String(t.review.workspaceId??""),s={id:String(t.review.id??""),contentHash:String(t.review.contentHash??"")};if(!r||!s.id||!s.contentHash)throw new Error("Taskset Harness Evaluation lineage is incomplete.");let a=await e.store.listHarnessImprovementArtifacts(r,"evaluation_review",1e3),o=a.find(d=>Re(d)===Re(s));if(!o)throw new Error("Originating Harness Evaluation review was not found.");let n=e.evaluationResult?{id:e.evaluationResult.id,contentHash:e.evaluationResult.contentHash}:null,c={id:e.taskset.id,contentHash:e.taskset.contentHash},u=h({originRef:s,tasksetRef:c,evaluationRef:n}),g=a.find(d=>d.metadata.downstreamLinkKey===u);if(g)return g;let p=(e.now??(()=>new Date().toISOString()))(),l=wr({schemaVersion:"openpond.harnessEvaluationReviewReceipt.v1",id:`evaluation-review-link-${u.slice(0,24)}`,ownerScope:o.ownerScope,workspaceRef:o.workspaceRef,harnessRelease:o.harnessRelease,previousWatermark:o.nextWatermark,nextWatermark:{cursor:h({cursor:o.nextWatermark.cursor,tasksetRef:c,evaluationRef:n}),throughCreatedAt:p},selectedEvidence:o.selectedEvidence,excludedEvidence:o.excludedEvidence,claim:o.claim,classification:"taskset",triage:o.triage,reason:n?"The approved Taskset completed a real baseline Evaluation.":"The approved Harness review materialized one immutable Taskset.",nextAuthority:"human_review",maxEstimatedCostUsd:o.maxEstimatedCostUsd,tasksetProposal:c,evaluation:n,trainingQualification:null,policyVersion:o.policyVersion,createdAt:p,metadata:{originReview:s,downstreamLinkKey:u,tasksetRevision:e.taskset.revision}});return await e.store.saveHarnessImprovementArtifact(r,"evaluation_review",l),l}i(Ds,"linkHarnessReviewTaskset");async function ea(e,t,r){let s=await e.getHarnessWorkspace(t);if(!s)throw new Error(`Harness workspace ${t} was not found.`);let a=(await e.listHarnessImprovementArtifacts(t,"evaluation_review",1e3)).find(n=>n.id===r.id&&n.contentHash===r.contentHash);if(!a||a.schemaVersion!=="openpond.harnessEvaluationReviewReceipt.v1")throw new Error("Harness Evaluation review was not found.");let o=a;if(o.classification!=="taskset"||o.nextAuthority!=="human_review")throw new Error("Only a human-review Taskset recommendation can enter Taskset authoring.");if(o.tasksetProposal)throw new Error("Harness Evaluation review already has a materialized Taskset link.");if(o.ownerScope.kind!==s.ownerScope.kind||o.ownerScope.id!==s.ownerScope.id)throw new Error("Harness Evaluation review owner scope does not match its workspace.");return o}i(ea,"requireTasksetReview");function Re(e){return`${e.id}:${e.contentHash}`}i(Re,"artifactKey");function Bt(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}i(Bt,"isRecord");function Ft(e){let t=new Set;return e.filter(r=>{let s=JSON.stringify(r);return t.has(s)?!1:(t.add(s),!0)})}i(Ft,"uniqueObjects");import Wo from"node:path";function Vt(e,t,r){let s=new Date().toISOString();return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:`fixture_attempt_${t.id}_${r}`,tasksetId:e,taskId:t.taskId,split:Tt(t)??"frozen_eval",attempt:r,seed:0,modelRef:null,startedAt:s,completedAt:s,output:t.output,runtimeEventRefs:[],artifactRefs:[],privilegedOutcomeRef:null,infrastructureError:t.infrastructureError,costUsd:0,latencyMs:0,userInterventions:0,metadata:{fixtureLabel:t.label}})}i(Vt,"fixtureAttempt");function Tt(e){let t=e&&typeof e=="object"&&!Array.isArray(e)&&"metadata"in e&&e.metadata&&typeof e.metadata=="object"&&!Array.isArray(e.metadata)?e.metadata.artifactSplit:null;return t==="train"||t==="validation"||t==="test"||t==="frozen_eval"?t:null}i(Tt,"artifactSplit");function Ns(e){let t=Wr(e.taskset),r=t.issues.filter(R=>R.severity==="error").map(R=>({code:R.code,message:R.message,path:R.path})),s=t.issues.filter(R=>R.severity==="warning").map(R=>({code:R.code,message:R.message,path:R.path})),a=typeof e.taskset.metadata.trainingMethod=="string"?e.taskset.metadata.trainingMethod:null,o=ta(a),n=o==="sft",c=o==="dpo",u=o==="grpo"||o==="ppo",g=new Set(e.taskset.learningSignals.demonstrations.filter(R=>R.approved&&R.taskId).map(R=>R.taskId)),p=e.taskset.metadata.learning===void 0?null:De.parse(e.taskset.metadata.learning),l=i(R=>p?p.admissions.some(G=>G.taskId===R.id&&G.supervisedTarget!==null):R.expectedOutput!=null,"hasSupervisedTarget"),d=e.taskset.datasetArtifact,m=new Set(js(e.taskset.metadata.approvedArtifactSignals)),f=!!d?.schema.fields.some(R=>R.semanticRole==="demonstration"||R.semanticRole==="expected_output"||R.semanticRole==="chosen"),T=e.taskset.tasks.filter(R=>R.split==="train"&&(l(R)||u)),y=n?T.filter(R=>g.has(R.id)):T,w=e.taskset.tasks.filter(R=>R.split==="train"&&l(R)&&!g.has(R.id)),_=e.taskset.tasks.filter(R=>R.split==="frozen_eval"&&(R.expectedOutput||u)),A=d&&f?d.splitCounts.train??0:0,I=d&&f?d.splitCounts.frozen_eval??0:0,S=d?m.has(o??""):!1,M=d?S?A:0:y.length,k=e.taskset.learningSignals.preferences.filter(R=>R.approved).length,x=e.taskset.learningSignals.rewards.filter(R=>R.approved&&R.executable).length,v=c?k:u?x?M:0:M,E=d?I:_.length;v===0&&r.push(n?{code:"sft_demonstrations_missing",message:"At least one explicitly approved training demonstration is required.",path:"learningSignals.demonstrations"}:c?{code:"dpo_preferences_missing",message:"At least one approved chosen/rejected response pair is required for DPO.",path:"learningSignals.preferences"}:{code:"online_reward_missing",message:`${o?.toUpperCase()??"Online training"} requires an executable reward-bearing task.`,path:"learningSignals.rewards"});let b=d?n&&!S?A:0:w.length;n&&b&&r.push({code:"sft_demonstrations_unapproved",message:`${b} training example${b===1?" is":"s are"} not explicitly approved.`,path:d?"metadata.approvedArtifactSignals":"learningSignals.demonstrations"}),E===0&&s.push({code:"frozen_eval_missing",message:"At least one independent evaluation example is recommended before making quality claims.",path:d?"datasetArtifact.splitCounts.frozen_eval":"tasks"});let D=new Set(y.map(R=>R.clusterKey)),$=new Set(_.map(R=>R.clusterKey)),z=d&&e.taskset.metadata.splitIsolationVerified===!0;(d?!z||v===0||E===0:D.size===0||$.size===0||[...D].some(R=>$.has(R)))&&s.push({code:"independent_evaluation_missing",message:"Independent source clusters are recommended before using evaluation results for quality claims.",path:d?"metadata.splitIsolationVerified":"tasks"}),(d?e.taskset.metadata.artifactRowsVerified!==!0:e.taskset.tasks.some(R=>typeof R.metadata.exampleOrigin!="string"))&&r.push({code:"example_provenance_missing",message:"Every training and evaluation example must record whether it was extracted, corrected, synthetic, or expert-authored.",path:d?"metadata.artifactRowsVerified":"tasks.metadata.exampleOrigin"});let L=ra(e.taskset.metadata.diagnosis);(!L||typeof L.summary!="string"||!Array.isArray(L.stableBehavior))&&s.push({code:"capability_diagnosis_missing",message:"A capability diagnosis is recommended to separate stable behavior from changing knowledge.",path:"metadata.diagnosis"}),L?.trainingEligible===!1&&s.push({code:"training_not_recommended",message:"The capability diagnosis does not recommend storing this behavior in model weights.",path:"metadata.diagnosis.trainingEligible"});let J=e.taskset.graders.some(R=>R.rewardEligible&&(R.kind!=="model_judge"||R.metadata.calibrationIsAdvisory!==!0));J&&!e.graderAudit&&s.push({code:"grader_audit_missing",message:"Optional grader calibration evidence has not been recorded.",path:"graderFixtures"}),J&&e.graderAudit&&e.graderAudit.tasksetHash!==e.taskset.contentHash&&s.push({code:"grader_audit_stale",message:"Optional grader calibration evidence predates this immutable Taskset revision.",path:"graderFixtures"}),J&&e.graderAudit&&!e.graderAudit.passed&&s.push({code:"grader_audit_failed",message:"The grader did not match every optional calibration fixture's expected outcome.",path:"graderFixtures"}),J&&e.graderAudit&&!e.graderAudit.hackingChecksPassed&&s.push({code:"grader_adversarial_calibration_failed",message:"Adversarial or prompt-injection calibration fixtures did not match their expected grader outcomes.",path:"graders"}),J&&e.graderAudit&&!e.graderAudit.leakageChecksPassed&&r.push({code:"environment_leakage",message:"Environment or privileged-state leakage checks failed.",path:"environment"}),J&&e.graderAudit&&!e.graderAudit.infrastructureSafetyPassed&&r.push({code:"infrastructure_reward",message:"An infrastructure failure produced a score or eligible reward.",path:"graderFixtures"});let Xe=e.taskset.graders.some(R=>R.rewardEligible);u&&!Xe&&r.push({code:"online_reward_grader_missing",message:`${o?.toUpperCase()} requires a user-selected reward-eligible grader.`,path:"graders"});let ae=o??(v>0&&e.taskset.capabilities.compatibleMethods.includes("sft")?"sft":"none"),Me=e.taskset.learningSignals.demonstrations.filter(R=>R.approved).map(R=>R.id),C=ae==="none"?null:{primaryMethod:ae,bootstrap:ae==="grpo"&&Me.length?{method:"sft",purpose:"trajectory_bootstrap",demonstrationRefs:Me,limitations:["The SFT bootstrap imitates approved trajectories; it does not optimize verifier reward.","Completing the bootstrap does not satisfy the primary GRPO recommendation."]}:null},j=r.length===0,Z=r.length>0,ue=["sft","dpo","grpo","ppo"].map(R=>{let G=[],te=[];R==="sft"&&Me.length===0&&(G.push("demonstrations_missing"),te.push("Add at least one approved prompt/response demonstration.")),R==="dpo"&&k===0&&(G.push("preference_pairs_missing"),te.push("Add at least one approved chosen/rejected response pair.")),(R==="grpo"||R==="ppo")&&x===0&&(G.push("executable_reward_missing"),te.push("Implement and validate an executable scalar reward.")),R==="ppo"&&(G.push("value_model_required"),te.push("Choose and bind a value/critic model before PPO can execute.")),E===0&&(G.push("frozen_eval_missing"),te.push("Add an independent frozen-evaluation split.")),Z&&G.length===0&&(G.push("taskset_not_ready"),te.push("Resolve the Dataset validation and grader-audit blockers."));let _e=G.filter(Pe=>Pe!=="value_model_required");return{method:R,status:_e.length?"needs_dataset_work":R===ae?"recommended":"compatible",reasonCodes:G,reasons:te}});return Lr.parse({schemaVersion:"openpond.tasksetReadiness.v1",tasksetId:e.taskset.id,tasksetHash:e.taskset.contentHash,ready:j,recommendedMethod:ae,trainingPath:C,methodReadiness:ue,compatibleDestinationClasses:j?ae==="grpo"?["export","custom","hosted_managed"]:["export","custom"]:["export"],blockers:r,advisories:s,warnings:[...t.issues.filter(R=>R.severity==="warning").map(R=>R.message),...ae==="grpo"?["GRPO is readiness-compatible but not executable in the local CPU fixture."]:[],...js(e.taskset.metadata.warnings)],generatedAt:e.generatedAt??new Date().toISOString(),metadata:{reportHash:h([e.taskset.contentHash,r])}})}i(Ns,"buildTasksetReadiness");function ta(e){return e==="sft"||e==="dpo"||e==="grpo"||e==="ppo"||e==="sdft"||e==="opsd"||e==="sdpo"?e:null}i(ta,"trainingPathMethod");function ra(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}i(ra,"metadataRecord");function js(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&!!t.trim()):[]}i(js,"metadataStrings");import Ws from"node:path";function qs(e,t,r){let s=De.parse(t.metadata.learning),a=ve(s.binding,s.rewards);return async({grader:o,task:n,attempt:c,signal:u})=>{let g=s.admissions.find(T=>T.taskId===n.id),p=a.find(T=>T.id===o.id);if(!g||p?.kind!=="custom_verifier")throw new Error("Prepared batch has no matching verifier admission.");let l=await ct(r,t),d=l?l.learningResources?.evidence.find(T=>xr(U(T),g.evidence)):await e.learningRepository().transaction(t.profileId,T=>he(T,"evidence",g.evidence));if(!d)throw new Error("Imported batch evidence is missing from its package.");let m=st(d,s.definition),f=i(T=>({id:T.id,input:T.input,expectedOutput:T.expectedOutput,policyVisibleContext:T.policyVisibleContext,privilegedContextRef:T.privilegedContextRef}),"selected");if(h(f(n))!==h(f(m)))throw new Error("Prepared task differs from its admitted evaluator context.");if(l){let T=l.learningResources?.assets.find(y=>y.id===p.verifierRef.id);if(!T)throw new Error("Imported batch verifier is missing from its package.");return je({source:re(T,p.verifierRef),exportName:p.exportName,timeoutMs:p.timeoutMs,signal:u,value:{task:m,attempt:{output:c.output,artifactRefs:c.artifactRefs,runtimeEventRefs:c.runtimeEventRefs,infrastructureError:c.infrastructureError},input:m.input,output:c.output,expectedOutput:m.expectedOutput,evaluatorContext:d.submission.evaluatorContext,infrastructureError:c.infrastructureError??null}})}return Je({repository:e.learningRepository(),scope:t.profileId,grader:p,task:m,evidence:{output:c.output,artifactRefs:c.artifactRefs,runtimeEventRefs:c.runtimeEventRefs,infrastructureError:c.infrastructureError},evaluatorContext:d.submission.evaluatorContext,signal:u})}}i(qs,"createLearningBatchVerifier");import{readFile as sa,realpath as $s}from"node:fs/promises";import Ls from"node:path";async function Us(e){let t=await $s(e.allowedRoot),r=await $s(Ls.resolve(t,e.grader.module));if(r!==t&&!r.startsWith(`${t}${Ls.sep}`))throw new Error("Verifier module is outside the approved Taskset root.");let s=await sa(r);if(e.grader.metadata.portableVerifierRef!==void 0){let o=kr.parse(e.grader.metadata.portableVerifierRef);if(o.sizeBytes!==s.length||o.contentHash!==fe(s))throw new Error("Verifier source differs from its immutable Taskset release.")}let a=new TextDecoder("utf-8",{fatal:!0}).decode(s);return je({source:a,exportName:e.grader.exportName,runtime:e.grader.runtime,timeoutMs:e.grader.timeoutMs,signal:e.signal,value:{task:e.task,attempt:e.attempt,input:e.task.input,expectedOutput:e.task.expectedOutput,output:e.attempt.output,infrastructureError:e.attempt.infrastructureError,...e.evaluatorContext?{evaluatorContext:e.evaluatorContext}:{}}})}i(Us,"runSandboxedVerifier");async function zt(e,t){if(!t.graders.some(n=>n.kind==="custom_verifier"))return;if(t.metadata.learning!==void 0)return qs(e.store,t,e.storeDir);if(t.metadata.rewardBinding!==void 0)return Cs(e.store,t,e.storeDir);let r=e.storeDir?null:await(e.loadProfileState??Gr)(),s=e.storeDir?Ws.join(e.storeDir,"training","tasksets",ce(t)):r?.sourcePath?Ws.join(r.sourcePath,"tasksets",t.id):null,a=typeof t.metadata.creationSnapshotId=="string"?t.metadata.creationSnapshotId:null,o=a?await e.store.getTaskDesignProposal(a):null;return s&&t.purpose!=="benchmark"&&t.environment.metadata.runtimeSourceTasksetId===void 0&&await nt(t,s,{generatedFiles:o?.generatedFiles??[]}),s?async({grader:n,task:c,attempt:u,signal:g})=>{let p=t.graders.find(d=>d.id===n.id);if(!p||p.kind!=="custom_verifier")throw new Error("Verifier is not declared by this Taskset revision.");let l;if(t.environment.entrypoint===Y&&!u.infrastructureError){if(!e.storeDir)throw new Error("Tool grading requires the execution owner's artifact directory.");l=await vt({store:e.store,storeDir:e.storeDir,taskset:t,task:c,attempt:u})}return Us({grader:p,task:c,attempt:u,allowedRoot:s,signal:g,evaluatorContext:l})}:void 0}i(zt,"createTasksetEvaluationVerifier");var oa=new Set(["correct","incorrect","parse_failure","budget_exhausted","tool_schema_violation","infrastructure_failure","cancelled"]);async function Bs(e){let t=na(e.attempt);if(t){let g=h(e.graders),p=`Taskset Work attempt ended with ${t.failureClass}: `+t.message;return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,g,t]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:g,score:null,passed:!1,components:e.graders.map(l=>({graderId:l.id,graderVersion:l.version,score:0,passed:!1,hardGate:l.hardGate,rewardEligible:!1,feedback:p,evidenceRefs:e.attempt.artifactRefs,judge:l.kind==="model_judge"?l.judge:null,calibrationStatus:l.kind==="model_judge"?l.calibrationStatus:"not_applicable"})),failureClass:t.failureClass,feedback:[p],rewardEligible:!1,createdAt:e.now?.()??new Date().toISOString()}}let r=e.learning?null:ia(e.attempt.metadata);if(!r)try{return await at(e)}catch(g){return aa({attempt:e.attempt,graders:e.graders,now:e.now,error:g})}let s=h(e.graders),a=r.rewardEligible?r.outcome==="correct"?1:0:null,o=r.outcome==="correct",n=da(r.outcome),c=`Cross-System trajectory verifier outcome: ${r.outcome}.`,u=e.graders.map(g=>({graderId:g.id,graderVersion:g.version,score:a??0,passed:o,hardGate:g.hardGate,rewardEligible:r.rewardEligible&&g.rewardEligible,feedback:c,evidenceRefs:e.attempt.artifactRefs,judge:g.kind==="model_judge"?g.judge:null,calibrationStatus:g.kind==="model_judge"?g.calibrationStatus:"not_applicable"}));return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,s,r]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:s,score:a,passed:o,components:u,failureClass:n,feedback:[c],rewardEligible:r.rewardEligible,createdAt:e.now?.()??new Date().toISOString()}}i(Bs,"gradeTasksetEvaluationAttempt");function aa(e){let t=h(e.graders),r=(e.error instanceof Error?e.error.message:String(e.error)).slice(0,19e3),s=`Taskset grader failed: ${r}`;return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,t,"grader_failure",r]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:t,score:null,passed:!1,components:e.graders.map(a=>({graderId:a.id,graderVersion:a.version,score:0,passed:!1,hardGate:a.hardGate,rewardEligible:!1,feedback:s,evidenceRefs:e.attempt.artifactRefs,judge:a.kind==="model_judge"?a.judge:null,calibrationStatus:a.kind==="model_judge"?a.calibrationStatus:"not_applicable"})),failureClass:"grader_failure",feedback:[s],rewardEligible:!1,createdAt:e.now?.()??new Date().toISOString()}}i(aa,"graderFailureResult");function na(e){if(e.metadata.execution!=="taskset_work"||!e.infrastructureError)return null;let t=Vr.safeParse(e.metadata.failureClass);if(!t.success||t.data==="policy_failure"||t.data==="grader_failure")throw new Error("Taskset Work attempt is missing a trusted execution failure class.");return{failureClass:t.data,message:e.infrastructureError}}i(na,"tasksetWorkFailure");function ia(e){if(e.execution!=="post_training_evaluation_tool_loop")return null;let t=e.verifierOutcome,r=e.verifierReward,s=e.verifierRewardEligible;if(typeof t!="string"||!oa.has(t)||typeof s!="boolean"||r!==null&&typeof r!="number")throw new Error("Cross-System evaluation attempt is missing trusted verifier metadata.");if(s!==(t==="correct"||t==="incorrect"||t==="parse_failure")||s&&typeof r!="number"||!s&&r!==null)throw new Error("Cross-System evaluation verifier metadata is internally inconsistent.");return{outcome:t,reward:r,rewardEligible:s}}i(ia,"crossSystemGrade");function da(e){return e==="correct"?null:e==="infrastructure_failure"?"infrastructure_failure":e==="cancelled"?"cancelled":"policy_failure"}i(da,"failureClassFor");import Ge from"node:path";import{mkdir as Fs,readFile as ca,writeFile as Vs}from"node:fs/promises";async function Q(e){let t=Ge.join(e.storeDir,"training","evaluation-artifacts",e.tasksetId),r=Ge.join(t,`${e.attemptId}-${zs(e.fileLabel??e.kind)}.json`),s=Buffer.from(`${JSON.stringify({schemaVersion:"openpond.rawEvaluationArtifact.v1",requestId:e.requestId,...e.payload},null,2)}
|
|
4
4
|
`,"utf8");return await Fs(t,{recursive:!0}),await Vs(r,s,{mode:384}),Jt({...e,file:r,bytes:s,mediaType:"application/json"})}i(Q,"persistJsonTaskAttemptArtifact");async function wc(e){let t=e.extension.replace(/^\.+/,"");if(!/^[a-z0-9]{1,12}$/i.test(t))throw new Error("Task Attempt artifact extension is invalid.");let r=Ge.join(e.storeDir,"training","evaluation-artifacts",e.tasksetId);await Fs(r,{recursive:!0});let s=Ge.join(r,`${e.attemptId}-${zs(e.fileLabel)}.${t}`);return await Vs(s,e.bytes,{mode:384}),Jt({...e,file:s})}i(wc,"persistBinaryTaskAttemptArtifact");function zs(e){let t=e.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"");if(!t)throw new Error("Evaluation artifact file label is empty.");return t}i(zs,"safeFileLabel");async function Js(e){let t=await ca(e.path),r=fe(t);if(t.byteLength!==e.expectedSizeBytes||r!==e.expectedSha256)throw new Error(`Saved Work output ${Ge.basename(e.path)} no longer matches its OutputRef.`);return Jt({...e,file:e.path,bytes:t,kind:"output_artifact",metadata:{...e.metadata,source:"openpond-work",outputValidated:!0}})}i(Js,"persistTaskAttemptOutputArtifact");async function Jt(e){let t=fe(e.bytes),r=zr.parse({schemaVersion:"openpond.taskAttemptArtifact.v1",id:`attempt_artifact_${h([e.attemptId,e.kind,e.file,t]).slice(0,24)}`,tasksetId:e.tasksetId,taskId:e.taskId,attemptId:e.attemptId,kind:e.kind,path:e.file,mediaType:e.mediaType,sha256:t,sizeBytes:e.bytes.byteLength,createdAt:e.timestamp(),metadata:{requestId:e.requestId,localOnly:!0,containsPrivilegedOutcome:!1,...e.metadata}});return e.store.saveTaskAttemptArtifact(r)}i(Jt,"saveArtifact");function Gt(e){let t=new Set(e.approvedTrajectoryIds),r=new Map(e.tasks.map(a=>[a.id,a])),s=new Map(e.results.map(a=>[a.trajectoryId,a]));return e.trajectories.flatMap(a=>{let o=s.get(a.id),n=r.get(a.taskId);return!t.has(a.id)||!n||o?.outcome!=="correct"||!o.rewardEligible?[]:[ls.parse({schemaVersion:B,id:`cso_bootstrap_${a.id}`,taskId:n.id,worldId:a.worldId,trajectoryId:a.id,toolContractHash:q,approval:{status:"approved",approvedBy:e.approvedBy,approvedAt:e.approvedAt},messages:la(n,a)})]})}i(Gt,"buildCrossSystemBootstrapDataset");function la(e,t){let r=[{role:"system",content:ds},{role:"user",content:e.prompt}];for(let s of t.steps)s.kind==="model"&&s.content.trim()&&r.push({role:"assistant",content:s.content}),s.kind==="tool_call"&&r.push({role:"assistant",content:null,tool_calls:[{id:s.callId,type:"function",function:{name:s.name,arguments:JSON.stringify(s.arguments)}}]}),s.kind==="tool_result"&&r.push({role:"tool",tool_call_id:s.callId,content:JSON.stringify({ok:s.ok,result:s.result,error:s.error})}),s.kind==="final"&&r.push({role:"assistant",content:s.content});return r}i(la,"trajectoryMessages");import cn from"node:path";import{mkdir as ua,mkdtemp as ma,rm as pa}from"node:fs/promises";import fa from"node:path";async function Gs(e,t,r){await ua(e,{recursive:!0});let s=await ma(fa.join(e,".authoring-"));try{return await nt(t,s,{generatedFiles:r}),await Yt(e,t,s)}finally{await pa(s,{recursive:!0,force:!0})}}i(Gs,"materializeGeneratedTasksetPackage");async function Yt(e,t,r){let s=await Br(r),a=await Qr(t,r),o=`authored-${h(a.taskset)}`,n=ke.parse({...a.taskset,environment:{...a.taskset.environment,metadata:{...a.taskset.environment.metadata,runtimeSourceTasksetId:o}}}),c=ke.parse({...n,contentHash:Te(n)});return await ms(e,{taskset:c,generatedFiles:a.generatedFiles},o,{source:{directory:r,packageHash:s},verify:i(u=>pt(u,c),"verify")}),c}i(Yt,"materializeTasksetRevisionFromSource");import{Buffer as Xt}from"node:buffer";import{spawn as ga}from"node:child_process";var Ys=String.raw`
|
|
5
5
|
import contextlib, io, json, math, statistics, decimal, datetime, collections, itertools, functools, sys
|
|
6
6
|
|
|
@@ -83,4 +83,4 @@ _result = sum(values)`}})}i(Fa,"toolCallsFor");function Va(e){let t=new Date(`${
|
|
|
83
83
|
|
|
84
84
|
`);throw new Error(`Evaluation task ${e.id} has no policy-visible prompt.`)}i(le,"tasksetWorkUserPrompt");function jn(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(jn,"asRecord");import So from"node:path";function bo(e){let t=[];e.data&&typeof e.data=="object"&&!Array.isArray(e.data)&&t.push(e.data);try{let r=JSON.parse(e.contentText);if(r&&typeof r=="object"&&!Array.isArray(r)){let s=r.data;s&&typeof s=="object"&&!Array.isArray(s)&&t.push(s)}}catch{}return[...new Set(t.flatMap(r=>(Array.isArray(r.files)?r.files:[]).flatMap(a=>{let o=typeof a=="string"?a:a&&typeof a=="object"&&!Array.isArray(a)?a.path:null;if(typeof o!="string")return[];let n=So.posix.normalize(o.replaceAll("\\","/"));return n.startsWith("outputs/")?[n.slice(8)]:n.startsWith("/")||n.startsWith("../")?[]:[n]})))]}i(bo,"listedWorkOutputPaths");function Ro(e){let t=e.availableOutputs.filter(r=>{if(e.claimedSourcePaths.has(r))return!1;let s=So.posix.extname(r).toLowerCase();return rs[s]===e.mediaType});return t.length===1?t[0]:null}i(Ro,"uniqueCompatibleOutputPath");function _o(e,t){if(t===null)return{signal:e,dispose(){}};let r=new AbortController,s=i(()=>r.abort(e.reason??new Error("The Work evaluation was cancelled.")),"abortFromParent");e.aborted?s():e.addEventListener("abort",s,{once:!0});let a=setTimeout(()=>{r.abort(new Error(`Work model request exceeded ${t} ms.`))},t);return a.unref?.(),{signal:r.signal,dispose(){clearTimeout(a),e.removeEventListener("abort",s)}}}i(_o,"boundedRequestSignal");async function xo(e,t){return Be(t),await new Promise((r,s)=>{let a=i(()=>s(t.reason instanceof Error?t.reason:new Error("The Work model request was cancelled.")),"rejectForAbort");t.addEventListener("abort",a,{once:!0}),e.next().then(r,s).finally(()=>{t.removeEventListener("abort",a)})})}i(xo,"nextTasksetWorkModelDelta");function Be(e){if(e.aborted)throw e.reason instanceof Error?e.reason:new Error("The Work evaluation was cancelled.")}i(Be,"throwIfAborted");function Ot(e){return e instanceof Error?e.message:String(e)}i(Ot,"errorMessage");function Io(e,t){return Math.max(0,Date.parse(t)-Date.parse(e))}i(Io,"elapsedMilliseconds");async function Co(e){if(e.taskset.environment.kind!=="work")throw new Error(`Taskset ${e.taskset.id} does not select Work.`);let t=e.timestamp??(()=>new Date().toISOString()),r=t(),s=`taskset-work:${h([e.taskset.id,e.taskset.contentHash,e.task.id,e.model,e.seed,e.attempt,r]).slice(0,40)}`,a=e.resultId??`attempt_${h([s,"work"]).slice(0,24)}`,o=`taskset_work_turn_${h([a,e.task.id,r]).slice(0,24)}`,n=new AbortController,c=!1,u=i(()=>n.abort(e.signal?.reason??new Error("The Work evaluation was cancelled.")),"abortFromParent");e.signal?.aborted?u():e.signal?.addEventListener("abort",u,{once:!0});let g=Math.max(1,Math.min(e.taskset.environment.defaultTimeoutMs,60*6e4)),p=setTimeout(()=>{c=!0,n.abort(new Error(`Work evaluation exceeded ${g} ms.`))},g);p.unref?.();let l=[],d=[],m=[],f=new Map,T=new Map,y=null,w=null,_=[],A="",I="completed",S=null,M=null,k=0,x=!1,v="assets";try{Be(n.signal);let C=Hs(),j=C?await C.resolveWorkAssets(e.taskset,e.task):await Mt({storeDir:e.storeDir,taskset:e.taskset,task:e.task});v="session",w=await e.runtime.createSession({experience:"work",provider:e.model.providerId,modelRef:e.model,openPondCommandAccessMode:"disabled",hiddenFromDefaultSidebar:!0,title:`Taskset Work attempt: ${e.task.id}`,cwd:null,metadata:{automatedTasksetWorkAttempt:!0,tasksetId:e.taskset.id,tasksetName:e.taskset.name,tasksetHash:e.taskset.contentHash,taskId:e.task.id,attemptId:a,requestId:s,parentModelRunId:e.parentModelRunId??null}}),await e.store.insertTurn(es.parse({id:o,sessionId:w.id,providerTurnId:null,modelRef:e.model,prompt:le(e.task),startedAt:r,completedAt:null,status:"in_progress",error:null,metadata:{automatedTasksetWorkAttempt:!0,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:a,parentModelRunId:e.parentModelRunId??null},createImproveRun:null,profileSnapshot:null,harnessSnapshot:null})),await yo({store:e.store,session:w,turnId:o,prompt:le(e.task),tasksetId:e.taskset.id,taskId:e.task.id,attemptId:a}),v="environment",_=[...ws({executeWorkspaceTool:e.runtime.executeWorkspaceTool,inputs:j}),...e.additionalToolDefinitions??[]];let Z=new Map(_.map(P=>[P.name,P])),ue=e.taskset.environment.toolNames.filter(P=>!Z.has(P));if(ue.length)throw new Error(`Work environment declares unknown tools: ${ue.join(", ")}.`);if(!e.taskset.environment.toolNames.includes("work_save_output"))throw new Error("Work Tasksets must declare work_save_output.");let R=e.taskset.environment.toolNames.map(P=>Z.get(P)),G=R.map(ys),te=new Map(R.map(P=>[P.name,P])),_e=te.get("work_save_output");if(!_e)throw new Error("The Work output persistence tool is unavailable.");let Pe=te.get("work_list_files")??null,xe=To(e.task,j,e.harnessInstructionContext),mr=fo(e.taskset),Bo=go(e.taskset),Fo=ho(e.taskset),Nt=ko(e.taskset),Oe=new Set((e.task.requiredOutputs??[]).map(P=>P.path)),Fe=!1,pr=_.find(P=>P.name==="work_environment");if(!pr)throw new Error("The Work environment readiness tool is unavailable.");let fr=await Ae({definition:pr,runtime:e.runtime,sessionId:w.id,turnId:o,model:e.model,callId:`environment_${a}`,args:{},signal:n.signal,userPrompt:le(e.task)});if(!fr.ok)throw new Error(fr.contentText);v="model";for(let P=0;P<mr;P+=1){Be(n.signal);let ne=new ft,ie="",we=null,Ze=_o(n.signal,Fo);try{let H=e.stream({model:e.model,reasoningEffort:e.reasoningEffort??null,messages:xe,tools:G,toolChoice:"auto",requestId:`${s}:${P}`,signal:Ze.signal,maxOutputTokens:e.sampling?.maxOutputTokens??4096,temperature:e.sampling?.temperature??0,topP:e.sampling?.topP??1,seed:e.seed+e.attempt,hostedTokenPricing:e.hostedTokenPricing})[Symbol.asyncIterator]();for(;;){let me=await xo(H,Ze.signal);if(me.done)break;let N=me.value;N.text&&(ie+=N.text),N.continuation&&(we=N.continuation),N.toolCalls?.length&&ne.append(N.toolCalls),N.usage!==void 0&&d.push(N.usage),typeof N.costUsd=="number"&&Number.isFinite(N.costUsd)&&N.costUsd>=0&&m.push(N.costUsd)}}catch(H){throw Ze.signal.aborted&&!n.signal.aborted&&(x=!0),H}finally{Ze.dispose()}Be(n.signal);let Qe=ne.completed();if(await wo({store:e.store,session:w,turnId:o,text:ie}),l.push({kind:"model",turn:P,text:ie,toolCallCount:Qe.length}),!Qe.length){if(A=ie,xe.push({role:"assistant",content:ie,...we?{continuation:we}:{}}),Oe.size>0&&k<Bo){k+=1,xe.push({role:"user",content:["The turn ended before every declared deliverable was saved.","Resume the task now; this is not a request for a status summary.","Create and inspect the missing files, then call work_save_output for every exact required path.",`Required paths: ${JSON.stringify([...Oe])}`].join(`
|
|
85
85
|
`)});continue}break}xe.push(gs(ie,Qe,{continuation:we,maxArgumentCharacters:6e3}));let gr=!1;for(let H of Qe){let me=te.get(H.name);if(!me){let W=ks(H);await Ke({store:e.store,session:w,turnId:o,callId:H.id,name:H.name,args:{},result:W}),l.push({kind:"tool",turn:P,callId:H.id,name:H.name,arguments:{},ok:!1,output:W.contentText}),xe.push(gt(W,{maxContentCharacters:6e3}));continue}let N;try{if(N=ht(H),H.name==="work_exec"&&Nt!==null){let W=typeof N.timeoutSeconds=="number"&&Number.isFinite(N.timeoutSeconds)&&N.timeoutSeconds>0?N.timeoutSeconds:Nt;N={...N,timeoutSeconds:Math.min(W,Nt)}}}catch(W){let He=Ot(W),Ie=hs(H,He);await Ke({store:e.store,session:w,turnId:o,callId:H.id,name:H.name,args:{},result:Ie}),l.push({kind:"tool",turn:P,callId:H.id,name:H.name,arguments:{},ok:!1,output:Ie.contentText}),xe.push(gt(Ie,{maxContentCharacters:6e3}));continue}await ar({store:e.store,session:w,turnId:o,callId:H.id,name:H.name,args:N});let Ve=i(()=>Ae({definition:me,runtime:e.runtime,sessionId:w.id,turnId:o,model:e.model,callId:H.id,args:N,signal:n.signal,userPrompt:le(e.task)}),"executeTool"),pe=e.toolEvidence?await e.toolEvidence.execute({taskId:e.task.id,callId:H.id,toolName:H.name,args:N,execute:Ve}):await Ve();await nr({store:e.store,session:w,turnId:o,callId:H.id,name:H.name,result:pe}),l.push({kind:"tool",turn:P,callId:H.id,name:H.name,arguments:N,ok:pe.ok,output:pe.contentText});let de=Pt(N,pe);if(de&&(f.set(de.relativePath,de),Fe=Oe.size>0&&[...Oe].every(W=>f.has(W))),pe.ok&&(H.name==="work_write_file"||H.name==="work_edit_file"||H.name==="work_exec")&&(gr=!0),xe.push(gt(pe,{maxContentCharacters:6e3})),Fe)break}if(!Fe&&gr&&Pe){let H=`discover_outputs_${a}_${P}`,me={area:"outputs",recursive:!0},N=await Ae({definition:Pe,runtime:e.runtime,sessionId:w.id,turnId:o,model:e.model,callId:H,args:me,signal:n.signal,userPrompt:le(e.task)});await Ke({store:e.store,session:w,turnId:o,callId:H,name:Pe.name,args:me,result:N}),l.push({kind:"tool",turn:P,callId:H,name:Pe.name,arguments:me,ok:N.ok,output:N.contentText});let Ve=bo(N),pe=new Set([...f.values()].map(de=>de.relativePath));for(let de of e.task.requiredOutputs??[]){let W=de.path;if(f.has(W))continue;let He=Ve.includes(W)?W:Ro({availableOutputs:Ve,claimedSourcePaths:pe,mediaType:de.mediaType});if(!He)continue;let Ie=`persist_output_${h([a,P,W,He]).slice(0,20)}`,et={path:He,suggestedName:Eo.posix.basename(W),validation:[]},tt=await Ae({definition:_e,runtime:e.runtime,sessionId:w.id,turnId:o,model:e.model,callId:Ie,args:et,signal:n.signal,userPrompt:le(e.task)});await Ke({store:e.store,session:w,turnId:o,callId:Ie,name:_e.name,args:et,result:tt}),l.push({kind:"tool",turn:P,callId:Ie,name:_e.name,arguments:et,ok:tt.ok,output:tt.contentText});let hr=Pt(et,tt);hr&&(f.set(W,{...hr,relativePath:W}),pe.add(He))}Fe=Oe.size>0&&[...Oe].every(de=>f.has(de))}if(Fe){clearTimeout(p);break}P===mr-1&&(I="budget_exhausted")}v="outputs",Be(n.signal);for(let P of e.task.requiredOutputs??[]){let ne=f.get(P.path)??null;if(!ne){let we=await Ae({definition:_e,runtime:e.runtime,sessionId:w.id,turnId:o,model:e.model,callId:`save_${h([a,P.path]).slice(0,20)}`,args:{path:P.path,suggestedName:Eo.posix.basename(P.path),validation:[]},signal:n.signal,userPrompt:le(e.task)});if(ne=Pt({path:P.path},we),ne&&f.set(ne.relativePath,ne),!we.ok||!ne){l.push({kind:"required_output",path:P.path,ok:!1,detail:we.contentText});continue}}let ie=await po({requiredOutput:P,saved:ne,validateRequiredOutput:e.validateRequiredOutput});T.set(P.path,ie),l.push({kind:"required_output",path:P.path,ok:ie.passed,detail:ie.detail})}}catch(C){S=Ot(C),n.signal.aborted?(I=c?"timeout":"cancelled",M=c?"timeout":"cancelled"):x?(I="timeout",M="timeout"):v==="assets"||v==="environment"?(I="environment_failure",M="environment_failure"):(I="infrastructure_failure",M="infrastructure_failure")}finally{if(clearTimeout(p),e.signal?.removeEventListener("abort",u),w){v="cleanup";let C=_.find(j=>j.name==="work_stop");if(C)try{let j=await Ae({definition:C,runtime:e.runtime,sessionId:w.id,turnId:o,model:e.model,callId:`cleanup_${a}`,args:{},signal:new AbortController().signal,userPrompt:le(e.task)});if(l.push({kind:"cleanup",ok:j.ok,detail:j.contentText}),j.ok&&(y=or(j.data),!y&&e.runtime.settleCostEvidence)){let Z=await e.runtime.settleCostEvidence(w.id,{turnId:o});Z.ok&&(y=or(Z.data))}j.ok||(S=`Work cleanup failed: ${j.contentText}`,I="infrastructure_failure",M="infrastructure_failure")}catch(j){S=`Work cleanup failed: ${Ot(j)}`,I="infrastructure_failure",M="infrastructure_failure",l.push({kind:"cleanup",ok:!1,detail:S})}}}let E=[],b=new Map;for(let C of f.values()){if(C.outputRef.location.kind!=="local")continue;let j=await Js({store:e.store,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:a,requestId:s,path:C.artifactPath,mediaType:C.outputRef.contentType,expectedSha256:C.outputRef.sha256,expectedSizeBytes:C.outputRef.sizeBytes,timestamp:t,metadata:{requiredOutputPath:C.relativePath,outputRefId:C.outputRef.id,outputRefRevision:C.outputRef.revision}});E.push(j.id),b.set(C.relativePath,j.id)}let D=t();if(w){let C=I==="cancelled"||I==="timeout"?"interrupted":I==="environment_failure"||I==="infrastructure_failure"?"failed":"completed";await vo({store:e.store,session:w,turnId:o,status:C,error:C==="completed"?null:S}),await e.store.updateTurn(o,j=>({...j,completedAt:D,status:C,error:C==="completed"?null:S}))}let $=w?await e.runtime.runtimeEventsForSession(w.id):[],z=await Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:a,requestId:s,kind:"runtime_trace",payload:{schemaVersion:"openpond.tasksetWorkTrace.v1",tasksetId:e.taskset.id,tasksetHash:e.taskset.contentHash,taskId:e.task.id,model:e.model,seed:e.seed,attempt:e.attempt,status:I,steps:l,runtimeEventRefs:$.map(C=>C.id),usage:d,infrastructureError:S,failureClass:M,startedAt:r,completedAt:D},timestamp:t});E.push(z.id);let L=(e.task.requiredOutputs??[]).map(C=>{let j=f.get(C.path),Z=[...l].reverse().find(ue=>ue.kind==="required_output"&&ue.path===C.path);return{path:C.path,mediaType:C.mediaType,validationKinds:Array.isArray(C.metadata.validationKinds)?C.metadata.validationKinds.filter(ue=>typeof ue=="string"):[],schemaRef:C.schemaRef??null,artifactId:j?b.get(C.path)??null:null,outputRefId:j?.outputRef.id??null,sha256:j?.outputRef.sha256??null,sizeBytes:j?.outputRef.sizeBytes??null,passed:Z?.kind==="required_output"?Z.ok:!1,detail:Z?.kind==="required_output"?Z.detail:"Required output was not saved.",...T.get(C.path)?.parsedJson!==void 0?{parsedJson:T.get(C.path)?.parsedJson}:{}}}),J=e.hostedTokenPricing?d.flatMap(C=>{let j=Se(C,e.hostedTokenPricing);return j===null?[]:[j]}):[],Xe=m.length?Ce(m):J.length?Ce(J):S&&d.length===0?0:null,ae=[Xe,y?.billableUsd??null].filter(C=>C!==null),Me=ae.length?Ce(ae):null;return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:a,tasksetId:e.taskset.id,taskId:e.task.id,split:e.task.split,attempt:e.attempt,seed:e.seed,modelRef:e.model,startedAt:r,completedAt:D,output:{text:A,requiredOutputs:L,outputsPassed:L.length>0&&L.every(C=>C.passed),toolFailureCount:l.filter(C=>C.kind==="tool"&&!C.ok).length,missingOutputRecoveryTurns:k},runtimeEventRefs:$.map(C=>C.id),artifactRefs:E,privilegedOutcomeRef:e.task.privilegedContextRef,infrastructureError:S,costUsd:Me,latencyMs:Io(r,D),userInterventions:0,metadata:{requestId:s,parentModelRunId:e.parentModelRunId??null,execution:"taskset_work",runtimeProfileId:e.taskset.environment.entrypoint,tasksetHash:e.taskset.contentHash,status:I,failureClass:M,sessionId:w?.id??null,turnId:o,toolNames:e.taskset.environment.toolNames,harnessCapabilityReceipt:e.harnessCapabilityReceipt?{...e.harnessCapabilityReceipt,executableToolNames:e.taskset.environment.toolNames}:null,hostedTokenPricing:e.hostedTokenPricing??null,assetHashes:(e.task.assets??[]).map(C=>C.sha256),requiredOutputPaths:(e.task.requiredOutputs??[]).map(C=>C.path),usage:d,costEvidence:{providerInferenceUsd:Xe,workRuntimeUsd:y?.totalUsd??null,workRuntimeBillableUsd:y?.billableUsd??null,workRuntimeSimulatedUsd:y?.simulatedUsd??null,combinedUsd:Me,workReceiptIds:y?.receiptIds??[],workDurationSeconds:y?.durationSeconds??null,settlementModes:y?.settlementModes??[]}}})}i(Co,"runTasksetWorkAttempt");function Ao(e){let t=0,r=null,s=new Map;return{policy:i(async({messages:o,tools:n,signal:c})=>{c.throwIfAborted();let u=0,g=o.map(f=>{if(f.role==="tool")return{role:"tool",tool_call_id:f.callId,name:f.name,content:JSON.stringify(f.observation)};if(f.role==="assistant"){let T=s.get(u++);return{role:"assistant",content:f.text||null,...T?{continuation:T}:{},tool_calls:f.toolCalls.map(y=>({id:y.id,type:"function",function:{name:y.name,arguments:JSON.stringify(y.arguments)}}))}}return{role:f.role,content:f.text}});ze(g,8388608);let p=t++,l=new ft,d="",m=0;for await(let f of e.stream({model:e.model,reasoningEffort:e.reasoningEffort??null,messages:g,tools:n.map(T=>({type:"function",function:{name:T.name,description:T.description,parameters:T.inputSchema}})),toolChoice:"auto",requestId:`${e.requestId}:${p}`,signal:c,maxOutputTokens:e.sampling?.maxOutputTokens??4096,temperature:e.sampling?.temperature??0,topP:e.sampling?.topP??1,seed:e.seed,hostedTokenPricing:e.hostedTokenPricing})){c.throwIfAborted();let T=ir({text:f.text,continuation:f.continuation,toolCalls:f.toolCalls?.map(y=>ir({...y,function:y.function?ir(y.function):void 0}))});if(ze(T,1048576),m+=new TextEncoder().encode(JSON.stringify(T)).byteLength,m>1048576)throw new Error("Model tool response exceeded its byte budget.");f.text&&(d+=f.text),f.toolCalls&&l.append(f.toolCalls),f.continuation&&s.set(p,structuredClone(f.continuation)),typeof f.costUsd=="number"&&Number.isFinite(f.costUsd)&&f.costUsd>=0&&(r=(r??0)+f.costUsd)}return c.throwIfAborted(),{text:d,toolCalls:l.completed({strict:!0}).map(f=>({id:f.id,name:f.name,arguments:ht(f)}))}},"policy"),costUsd:i(()=>r,"costUsd")}}i(Ao,"createStarterToolPolicy");function ir(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}i(ir,"definedFields");async function Ht(e){let{attemptInput:t,taskset:r}=e,s=e.policySource==="fixture"?null:t.model,a=await Ue(e.store,r,t.task,e.storeDir),o=e.timestamp(),n=`starter-tool-${h({taskset:U(r),task:t.task.id,model:s,seed:t.seed,attempt:t.attempt,startedAt:o}).slice(0,32)}`,c=e.resultId??n;if(!/^[a-zA-Z0-9_-]{1,200}$/.test(r.id)||!/^[a-zA-Z0-9_-]{1,200}$/.test(c))throw new Error("Tool attempt identifiers must be safe artifact identities.");let u=Ao({stream:e.stream,model:t.model,reasoningEffort:t.reasoningEffort,requestId:n,seed:t.seed+t.attempt,sampling:t.sampling,hostedTokenPricing:e.hostedTokenPricing}),g=await vs({taskId:t.task.id,definition:a.execution.javascript,asset:a.module,initialState:a.initialState,input:t.task.input,instructions:`${a.instructions}
|
|
86
|
-
${JSON.stringify({policyVisibleContext:t.task.policyVisibleContext})}`,seed:t.seed,timeoutMs:a.execution.environment.contract.defaultTimeoutMs,signal:t.signal,execute:Ts,policy:u.policy}),p=e.timestamp(),l=["environment_failure","timed_out","cancelled"].includes(g.status)?g.error??g.status:null,d={schemaVersion:"openpond.starterToolAttempt.v1",taskset:U(r),taskHash:h(t.task),model:s,seed:t.seed,attempt:t.attempt,policySource:e.policySource??"model",definition:a.definition,environment:U(a.execution.environment),verifierSet:U(a.execution.verifierSet),result:g};ze(d,12582912);let m=await Q({store:e.store,storeDir:e.storeDir,tasksetId:r.id,taskId:t.task.id,attemptId:c,requestId:n,kind:"environment_state",payload:d,timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:c,tasksetId:r.id,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:s,startedAt:o,completedAt:p,output:{text:g.output??""},runtimeEventRefs:[],artifactRefs:[m.id],privilegedOutcomeRef:m.id,infrastructureError:l,costUsd:u.costUsd(),latencyMs:Math.max(0,Date.parse(p)-Date.parse(o)),userInterventions:0,metadata:{requestId:n,execution:"starter_tool_environment",policySource:e.policySource??"model",environmentStatus:g.status,environmentCleanupComplete:g.environmentCleanupComplete,environmentAttemptHash:g.contentHash}})}i(Ht,"runStarterToolAttempt");async function Po(e){let t=e.timestamp??(()=>new Date().toISOString()),r=await Ee(e.store,e.attemptInput.tasksetId,e.attemptInput.tasksetRef);if(r.environment.entrypoint===Y)return Ht({store:e.store,storeDir:e.storeDir,taskset:r,attemptInput:e.attemptInput,stream:e.crossSystemStream,timestamp:t,resultId:e.resultId,hostedTokenPricing:e.hostedTokenPricing});if(r.environment.kind==="work"){if(!e.work)throw new Error("Taskset Work execution is not configured for this evaluator.");return Co({store:e.store,storeDir:e.storeDir,taskset:r,task:e.attemptInput.task,model:e.attemptInput.model,reasoningEffort:e.attemptInput.reasoningEffort,seed:e.attemptInput.seed,attempt:e.attemptInput.attempt,sampling:e.attemptInput.sampling,signal:e.attemptInput.signal,stream:e.work.stream,runtime:e.work.runtime,timestamp:e.timestamp,resultId:e.resultId,parentModelRunId:e.parentModelRunId,harnessInstructionContext:e.harnessInstructionContext,validateRequiredOutput:e.work.validateRequiredOutput,additionalToolDefinitions:e.work.additionalToolDefinitions,toolEvidence:e.work.toolEvidence,harnessCapabilityReceipt:e.work.harnessCapabilityReceipt,hostedTokenPricing:e.work.hostedTokenPricing})}if(!Mo(r)&&(r.environment.kind!=="chat"||r.environment.stateful||r.environment.toolNames.length||r.capabilities.requiresTools||r.capabilities.requiresState))throw new Error("The Taskset environment has no registered evaluation adapter.");return Mo(r)?Nn({...e,timestamp:t,taskset:r}):qn({...e,timestamp:t})}i(Po,"runPostTrainingEvaluationAttempt");function Mo(e){let t=e.metadata.flagship==="cross-system-operations",r=e.environment.metadata.flagship==="cross-system-operations";return(t||r)&&e.environment.stateful&&e.environment.metadata.toolContractHash===q}i(Mo,"isCrossSystemTaskset");async function Nn(e){let{attemptInput:t,taskset:r}=e,s=e.timestamp(),a=Oo(t,s),o=uo(r,{taskId:t.task.id,prompt:typeof t.task.input.prompt=="string"?t.task.input.prompt:null}),n=new AbortController,c=i(()=>n.abort(t.signal?.reason??new Error("The evaluation was cancelled.")),"abortFromParent");t.signal?.addEventListener("abort",c,{once:!0});let u=Math.max(1,Math.min(r.environment.defaultTimeoutMs,10*6e4)),g=setTimeout(()=>n.abort(new Error(`Cross-System evaluation exceeded ${u} ms.`)),u);g.unref?.();try{let p=[],l=null,d=null;for(let w=0;w<=1;w+=1){let _=await io({world:o.world,task:o.generatedTask,model:t.model,reasoningEffort:null,stream:e.crossSystemStream,signal:n.signal,trajectoryId:`cso_post_training_eval_${h([a,w]).slice(0,24)}`,metadata:{evaluation:"post_training",execution:"post_training_evaluation_tool_loop",tasksetId:r.id,tasksetHash:r.contentHash,samplingSeed:t.seed,attempt:t.attempt,infrastructureRetryAttempt:w,priorInfrastructureErrors:p.map(A=>A.infrastructureError??"Unknown infrastructure failure.")}});if(l=_,d=xt({task:o.generatedTask,trajectory:_}),d.outcome!=="infrastructure_failure"||w===1)break;p.push(_)}if(!l||!d)throw new Error(`Cross-System task ${t.task.id} produced no trajectory.`);let m=[...l.steps].reverse().find(w=>w.kind==="final"),f=l.completedAt,T=e.resultId??`attempt_${h([a,l.id,d.outcome]).slice(0,24)}`,y=await Q({store:e.store,storeDir:e.storeDir,tasksetId:r.id,taskId:t.task.id,attemptId:T,requestId:a,kind:"runtime_trace",payload:{schemaVersion:B,model:t.model,seed:t.seed,attempt:t.attempt,trajectory:l,verifier:d,priorInfrastructureTrajectories:p},timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:T,tasksetId:r.id,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:t.model,startedAt:l.startedAt,completedAt:f,output:{text:m?.content??"",trajectoryId:l.id},runtimeEventRefs:[],artifactRefs:[y.id],privilegedOutcomeRef:t.task.privilegedContextRef,infrastructureError:l.infrastructureError,costUsd:null,latencyMs:dr(l.startedAt,f),userInterventions:0,metadata:{requestId:a,execution:"post_training_evaluation_tool_loop",trajectoryId:l.id,worldId:l.worldId,toolContractHash:l.toolContractHash,verifierOutcome:d.outcome,verifierReward:d.reward,verifierRewardEligible:d.rewardEligible,infrastructureRetryAttempt:l.metadata.infrastructureRetryAttempt,priorInfrastructureErrors:l.metadata.priorInfrastructureErrors}})}finally{clearTimeout(g),t.signal?.removeEventListener("abort",c)}}i(Nn,"runCrossSystemAttempt");async function qn(e){let{attemptInput:t}=e,r=e.timestamp(),s=Oo(t,r);try{let a=await e.modelText({model:t.model,reasoningEffort:null,signal:t.signal??new AbortController().signal,requestId:s,messages:$n(t.task),maxOutputTokens:t.sampling?.maxOutputTokens??2048,temperature:t.sampling?.temperature??.8,topP:t.sampling?.topP??.95,seed:t.seed+t.attempt}),o=e.timestamp(),n=e.resultId??`attempt_${h([s,a]).slice(0,24)}`,c=await Q({store:e.store,storeDir:e.storeDir,tasksetId:t.tasksetId,taskId:t.task.id,attemptId:n,requestId:s,kind:"raw_model_response",payload:{model:t.model,seed:t.seed,attempt:t.attempt,output:{text:a},startedAt:r,completedAt:o},timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:n,tasksetId:t.tasksetId,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:t.model,startedAt:r,completedAt:o,output:{text:a},runtimeEventRefs:[],artifactRefs:[c.id],privilegedOutcomeRef:t.task.privilegedContextRef,infrastructureError:null,costUsd:null,latencyMs:dr(r,o),userInterventions:0,metadata:{requestId:s,execution:"text_completion"}})}catch(a){if(t.signal?.aborted)throw t.signal.reason instanceof Error?t.signal.reason:new Error("The evaluation was cancelled.");let o=e.timestamp(),n=a instanceof Error?a.message:String(a),c=e.resultId??`attempt_${h([s,"failure"]).slice(0,24)}`,u=await Q({store:e.store,storeDir:e.storeDir,tasksetId:t.tasksetId,taskId:t.task.id,attemptId:c,requestId:s,kind:"raw_model_response",payload:{model:t.model,seed:t.seed,attempt:t.attempt,error:n,startedAt:r,completedAt:o},timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:c,tasksetId:t.tasksetId,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:t.model,startedAt:r,completedAt:o,output:{},runtimeEventRefs:[],artifactRefs:[u.id],privilegedOutcomeRef:null,infrastructureError:n,costUsd:null,latencyMs:dr(r,o),userInterventions:0,metadata:{requestId:s,execution:"text_completion"}})}}i(qn,"runTextAttempt");function $n(e){let t=Array.isArray(e.input.messages)?e.input.messages.flatMap(r=>{if(!r||typeof r!="object"||Array.isArray(r))return[];let s=r;return s.role!=="system"&&s.role!=="user"||typeof s.content!="string"||!s.content.trim()?[]:[{role:s.role,content:s.content}]}):[];if(t.length)return t;if(typeof e.input.prompt=="string"&&e.input.prompt.trim())return[{role:"user",content:e.input.prompt}];throw new Error(`Evaluation task ${e.id} has no policy-visible prompt.`)}i($n,"policyMessages");function Oo(e,t){return`post-training-evaluation:${h([e.task.id,e.model,e.seed,e.attempt,t]).slice(0,40)}`}i(Oo,"evaluationRequestId");function dr(e,t){return Math.max(0,Date.parse(t)-Date.parse(e))}i(dr,"elapsedMilliseconds");async function Ho(e){let t=Kr({context:e.context,attempt:e.attempt,grade:e.grade,artifacts:e.artifacts}),r=Ar.safeParse(e.attempt.metadata.optimizerTrainingSample??e.attempt.metadata.trainingSample),s=Xr({context:e.context,attempt:e.attempt,artifacts:e.artifacts,canonical:t,optimizerSample:r.success?r.data:null}),a=await Promise.all([Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:e.attempt.id,requestId:e.attempt.id,kind:"grader_evidence",fileLabel:"artifact-manifest",payload:t.artifactManifest,timestamp:i(()=>t.artifactManifest.createdAt,"timestamp")}),Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:e.attempt.id,requestId:e.attempt.id,kind:"grader_evidence",fileLabel:"reward-receipt",payload:t.rewardReceipt,timestamp:i(()=>t.rewardReceipt.createdAt,"timestamp")}),Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:e.attempt.id,requestId:e.attempt.id,kind:"grader_evidence",fileLabel:"canonical-rollout",payload:s,timestamp:i(()=>s.completedAt,"timestamp")})]),o=[...e.artifacts,...a],n=F.parse({...e.attempt,artifactRefs:[...new Set([...e.attempt.artifactRefs,...a.map(c=>c.id)])],metadata:{...e.attempt.metadata,portableRunManifestRef:{id:e.context.runManifest.id,contentHash:e.context.runManifest.contentHash},portableAttemptReceipt:t.attemptReceipt,portableArtifactManifest:t.artifactManifest,portableRewardReceipt:t.rewardReceipt,portableCanonicalRollout:s,portableEnvironmentReleaseRef:{id:e.context.environmentRelease.id,contentHash:e.context.environmentRelease.contentHash},portableVerifierSetReleaseRef:{id:e.context.verifierSetRelease.id,contentHash:e.context.verifierSetRelease.contentHash},canonicalEvidenceArtifactRefs:a.map(c=>c.id)}});return await e.store.saveTaskAttempt(n),{attempt:n,artifacts:o,attemptReceipt:t.attemptReceipt,artifactManifest:t.artifactManifest,rewardReceipt:t.rewardReceipt,rolloutRecord:s}}i(Ho,"persistCanonicalEvaluationEvidence");function Do(e){if(typeof e.costUsd=="number"&&Number.isFinite(e.costUsd)&&e.costUsd>=0)return e.costUsd;if(!e.pricing)return null;let r=(Array.isArray(e.usage)?e.usage:e.usage===void 0?[]:[e.usage]).map(s=>Se(s,e.pricing));return!r.length||!r.every(s=>s!==null)?null:r.reduce((s,a)=>s+a,0)}i(Do,"hostedModelJudgeCallCost");function jo(e,t){return!!(e&&typeof e=="object"&&!Array.isArray(e)&&e.id===t.id&&e.contentHash===t.contentHash)}i(jo,"reviewRefMatches");function No(e){if(e.length<2)return 0;let t=e.reduce((r,s)=>r+s,0)/e.length;return e.reduce((r,s)=>r+(s-t)**2,0)/e.length}i(No,"variance");async function qo(e){let t=Hr.parse(e.fixture.metadata.toolScript),r=0;return Ht({store:e.store,storeDir:e.storeDir,taskset:e.taskset,policySource:"fixture",timestamp:i(()=>new Date().toISOString(),"timestamp"),resultId:`tool_fixture_${h({taskset:e.taskset.contentHash,fixture:e.fixture,time:Date.now()}).slice(0,32)}`,attemptInput:{tasksetId:e.taskset.id,task:e.task,model:{providerId:"openpond",modelId:"scripted-tool-policy"},seed:0,attempt:0},stream:i(async function*(){let s=t.actions[r++];s?yield{toolCalls:[{id:`fixture-call-${r}`,type:"function",function:{name:s.name,arguments:JSON.stringify(s.arguments)}}]}:yield{text:typeof e.fixture.output.text=="string"?e.fixture.output.text:JSON.stringify(e.fixture.output)}},"stream")})}i(qo,"runStarterToolFixture");import{constants as cr}from"node:fs";import{lstat as Ln,open as Un,realpath as $o}from"node:fs/promises";import lr from"node:path";async function Dt(e,t,r){r?.throwIfAborted();let s=e.metrics?.customAggregator;if(!s)return;if(!t)throw new Error("Taskset metric execution requires its package storage directory.");let a=lr.join(t,"training","tasksets",ce(e)),o=await Ln(a);if(!o.isDirectory()||o.isSymbolicLink())throw new Error("Taskset metric package must be a regular directory.");let n=await $o(a),c=lr.resolve(n,s.module);if(!c.startsWith(`${n}${lr.sep}`)||await $o(c)!==c)throw new Error("Taskset metric module must be a regular file inside its pinned package.");let u=await Un(c,cr.O_RDONLY|cr.O_NOFOLLOW|cr.O_NONBLOCK);try{let g=await u.stat();if(!g.isFile()||g.size>524288)throw new Error("Taskset metric module must be a bounded regular file.");let p=Buffer.alloc(g.size),l=0;for(;l<p.length;){r?.throwIfAborted();let d=await u.read(p,l,p.length-l,l);if(!d.bytesRead)throw new Error("Taskset metric module changed during capture.");l+=d.bytesRead}if((await u.read(Buffer.alloc(1),0,1,l)).bytesRead||fe(p)!==s.contentHash)throw new Error("Taskset metric module differs from its pinned content hash.");return r?.throwIfAborted(),new TextDecoder("utf-8",{fatal:!0}).decode(p)}finally{await u.close()}}i(Dt,"captureTasksetMetricSource");function Lo(e,t,r){if(h(e.metrics??null)!==h(t.metrics??null))throw new Error("Local Taskset metric policy differs from the admitted portable release.");Sr(t,r)}i(Lo,"assertLocalTasksetMetric");async function Uo(e){let{run:t}=e,r=await e.store.listBenchmarkRuns(e.tasksetId),s=i(c=>t.phase===c?t:r.find(u=>u.phase===c&&u.tasksetRelease.contentHash===t.tasksetRelease.contentHash&&u.model.provider===t.model.provider&&u.model.model===t.model.model&&u.reasoningEffort===t.reasoningEffort&&h(u.protocol)===h(t.protocol)),"counterpart"),a=s("baseline"),o=s("candidate");if(!a||!o)return null;let n=Cr({id:`benchmark-comparison-${h([a.contentHash,o.contentHash]).slice(0,24)}`,baseline:a,candidate:o,primaryMetric:e.benchmark.primaryMetric,qualityGate:e.benchmark.qualityGate,createdAt:e.createdAt,metadata:{sourceTasksetId:e.tasksetId,benchmarkDefinitionId:e.benchmark.definitionId}});return await e.store.saveBenchmarkComparison({tasksetId:e.tasksetId,comparison:n}),n}i(Uo,"persistBenchmarkComparison");var Wn=O.number().finite().min(0).max(1).nullable().optional();function jt(e){return Wn.parse(e)}i(jt,"parseExpectedFixtureScore");function ur(e,t){return e===void 0||e===t||typeof e=="number"&&t!==null&&Math.abs(e-t)<=1e-12}i(ur,"fixtureScoreMatches");function ap(e){let t=new Map;async function r(d,m){if(!e.storeDir||!e.modelText||!e.modelStream)throw new Error("Taskset execution is not configured.");let f=await Ee(e.store,d.tasksetId,d.tasksetRef),T={id:f.id,revision:f.revision,contentHash:f.contentHash},y=await l(f,d.taskId),w=f.environment.entrypoint===Y;if(w&&d.releasedHarness)throw new Error("This tool starter executes its Taskset-owned policy; a selected Harness requires a separate execution adapter.");let _=w?xs(await Ue(e.store,f,y,e.storeDir)):d.releasedHarness??await e.resolveReleasedHarness?.()??null,A=await e.resolveTasksetRelease?.(f)??null,I=!_&&e.loadProfileState?await e.loadProfileState():null,S=Yr({taskset:f,rewardExecution:await be(e.store,f),selectedTask:y,profile:I,releasedHarness:_,tasksetRelease:A,reasoningEffort:d.reasoningEffort??null,model:d.model,now:d.admittedAt?()=>d.admittedAt:void 0}),M=m??await Dt(f,e.storeDir,d.signal);Lo(f,S.tasksetRelease,M);let k=await Po({store:e.store,storeDir:e.storeDir,modelText:e.modelText,crossSystemStream:e.modelStream,work:e.workRuntime?{stream:e.modelStream,runtime:e.workRuntime,validateRequiredOutput:e.validateWorkRequiredOutput,additionalToolDefinitions:e.additionalWorkToolDefinitions?.(),toolEvidence:d.toolEvidence,harnessCapabilityReceipt:_?{harnessRelease:{id:_.harnessRelease.id,contentHash:_.harnessRelease.contentHash},agentSnapshot:{id:_.agentSnapshot.id,contentHash:_.agentSnapshot.contentHash},instructionAssets:_.agentSnapshot.instructions,skillAssets:_.agentSnapshot.skills,agentAssets:_.agentSnapshot.agents,fileAssets:_.harnessRelease.files,declaredToolNames:_.agentSnapshot.toolDeclarations.map($=>$.name)}:void 0,hostedTokenPricing:d.hostedTokenPricing}:void 0,resultId:d.resultId,hostedTokenPricing:d.hostedTokenPricing,parentModelRunId:d.parentModelRunId,harnessInstructionContext:_?.instructionContext,attemptInput:{tasksetId:f.id,tasksetRef:T,task:y,model:d.model,reasoningEffort:d.reasoningEffort,seed:d.seed,attempt:d.attempt,sampling:d.sampling,signal:d.signal}}),x=await s({tasksetId:f.id,tasksetRef:T,taskId:y.id,attempt:k,hostedTokenPricing:d.hostedTokenPricing}),v=await e.store.listTaskAttemptArtifacts({attemptId:k.id}),E=await Ho({store:e.store,storeDir:e.storeDir,taskset:f,task:y,context:S,attempt:k,grade:x,artifacts:v}),b=E.attemptReceipt,D=await it({id:`evaluation-${b.id}`,manifest:S.runManifest,receipts:[b],taskset:S.tasksetRelease,source:M,signal:d.signal,metadata:{sourceTasksetId:f.id,sourceTasksetRevision:f.revision,sourceTasksetHash:f.contentHash,sourceAttemptId:k.id,sourceGradeId:x.id}});return{attempt:E.attempt,grade:x,artifacts:E.artifacts,portable:{agentSnapshot:S.agentSnapshot,harnessRelease:S.harnessRelease,tasksetRelease:S.tasksetRelease,environmentRelease:S.environmentRelease,verifierSetRelease:S.verifierSetRelease,runManifest:S.runManifest,receipt:b,artifactManifest:E.artifactManifest,rewardReceipt:E.rewardReceipt,rolloutRecord:E.rolloutRecord,evaluationResult:D}}}i(r,"execute");async function s(d){let m=await Ee(e.store,d.tasksetId,d.tasksetRef),f=F.parse(d.attempt),T=await l(m,d.taskId,f.split),y=await zt(e,m),w=[],_=0,A=0,I=0,S=await Bs({task:T,attempt:f,graders:m.graders,learning:await be(e.store,m),modelJudge:e.modelJudge?async k=>{A+=1;let x=await e.modelJudge(k);Array.isArray(x.usage)?w.push(...x.usage):x.usage!==void 0&&w.push(x.usage);let v=Do({costUsd:x.costUsd,usage:x.usage,pricing:d.hostedTokenPricing});return v!==null&&(_+=v,I+=1),x}:void 0,customVerifier:y,now:i(()=>new Date().toISOString(),"now")});await e.store.saveTaskAttempt(f),await e.store.saveGradeResult(S);let M=w.reduce((k,x)=>{let v=ye(x);return k.inputTokens+=v.promptTokens??0,k.outputTokens+=v.completionTokens??0,k.totalTokens+=v.totalTokens??0,k},{inputTokens:0,outputTokens:0,totalTokens:0});return t.set(f.id,{...M,costUsd:A===0?0:I===A?_:null}),S}i(s,"grade");function a(d){let m={inputTokens:0,outputTokens:0,totalTokens:0,costUsd:null};for(let f of d){let T=t.get(f);t.delete(f),T&&(m.inputTokens+=T.inputTokens,m.outputTokens+=T.outputTokens,m.totalTokens+=T.totalTokens,T.costUsd!==null&&(m.costUsd=(m.costUsd??0)+T.costUsd))}return m}i(a,"consumeGraderUsage");async function o(d){let m=await Ee(e.store,d.tasksetId,d.tasksetRef),f=await zt(e,m),T=d.fixtures?.length?d.fixtures.map((k,x)=>({...k,expectedScore:jt(k.expectedScore),id:`external_fixture_${x}`})):m.graderFixtures.map((k,x)=>({id:k.id,label:k.label,taskId:k.taskId,expectedPassed:k.expectedPassed,expectedRewardEligible:k.expectedRewardEligible,expectedScore:jt(k.metadata.expectedScore),attempt:Vt(m.id,k,x)})),y=[];for(let k of T){let x=await l(m,k.taskId,Tt(k)),v=d.fixtures?.length?void 0:m.graderFixtures.find(D=>D.id===k.id);if(m.environment.entrypoint===Y&&v&&!v.infrastructureError&&!e.storeDir)throw new Error("Tool fixture execution requires the owner's artifact directory.");let E=m.environment.entrypoint===Y&&v&&!v.infrastructureError?await qo({store:e.store,storeDir:e.storeDir,taskset:m,task:x,fixture:v}):F.parse(k.attempt),b=await at({task:x,attempt:E,graders:m.graders,learning:await be(e.store,m),modelJudge:e.modelJudge??void 0,customVerifier:f});await e.store.saveTaskAttempt(E),await e.store.saveGradeResult(b),y.push({id:k.id,label:k.label,expectedPassed:k.expectedPassed,expectedRewardEligible:k.expectedRewardEligible,expectedScore:k.expectedScore,result:b})}let w=y.filter(({label:k,expectedPassed:x,expectedRewardEligible:v,expectedScore:E,result:b})=>!ur(E,b.score)||k==="infrastructure_failure"&&b.score!==null||typeof x=="boolean"&&b.passed!==x?!0:typeof v=="boolean"&&b.rewardEligible!==v),_=y.filter(k=>k.label==="infrastructure_failure").every(k=>k.result.score===null&&k.result.rewardEligible===!1),A=!w.some(k=>k.label==="adversarial"||k.label==="prompt_injection")&&y.filter(k=>k.label==="adversarial"||k.label==="prompt_injection").every(k=>!k.result.passed&&(k.result.score??0)<.8),I=y.every(k=>!k.result.feedback.some(x=>/privileged.*leak|hidden grader.*leak/i.test(x))),S=w.map(k=>({fixtureId:k.id,label:k.label,gradeId:k.result.id,reason:(k.expectedScore===void 0?"":`Expected score=${String(k.expectedScore)}; received score=${String(k.result.score)}. `)+`Expected passed=${String(k.expectedPassed)} and rewardEligible=${String(k.expectedRewardEligible)}; received passed=${String(k.result.passed)} and rewardEligible=${String(k.result.rewardEligible)}.`})),M=Jr.parse({schemaVersion:"openpond.graderAuditReport.v1",id:`grader_audit_${h([m.contentHash,y.map(k=>k.result.id)]).slice(0,24)}`,tasksetId:m.id,tasksetHash:m.contentHash,fixtureRefs:y.map(k=>k.id),gradeRefs:y.map(k=>k.result.id),passed:S.length===0&&_&&A&&I,hackingChecksPassed:A,leakageChecksPassed:I,infrastructureSafetyPassed:_,failures:S,createdAt:new Date().toISOString()});return await e.store.saveGraderAuditReport(M),{report:M,passed:M.passed,results:y,failures:S.map(k=>({label:k.label,gradeId:k.gradeId}))}}i(o,"auditFixtures");async function n(d){if(!e.modelJudge)throw new Error("No model judge runner is configured.");let m=await p(d),f=m.graders.filter(S=>S.kind==="model_judge");if(!f.length)throw new Error("Taskset has no model judges to calibrate.");let T=new Map;for(let S of m.graderFixtures)T.set(S.id,(T.get(S.id)??0)+1);for(let S of f)for(let M of S.calibrationFixtureRefs)if(T.get(M)!==1)throw new Error(`Judge ${S.id} calibration requires exactly one fixture for ${M}.`);let y=[],w=[];for(let S of m.graders){if(S.kind!=="model_judge"){w.push(S);continue}let M=m.graderFixtures.filter(E=>S.calibrationFixtureRefs.includes(E.id)),k=[];for(let[E,b]of M.entries()){let D=jt(b.metadata.expectedScore),$=await l(m,b.taskId,Tt(b)),z=Vt(m.id,b,E);try{let L=await e.modelJudge({grader:S,task:$,attempt:z});k.push({fixtureId:b.id,expectedPassed:b.expectedPassed,expectedScore:D,passed:L.passed,score:L.score,feedback:L.feedback,matched:L.passed===b.expectedPassed&&ur(D,L.score)})}catch(L){k.push({fixtureId:b.id,expectedPassed:b.expectedPassed,expectedScore:D,passed:!1,score:0,feedback:L instanceof Error?L.message:String(L),matched:!1})}}let x=k.length>0&&k.every(E=>E.matched),v=h({graderId:S.id,graderVersion:S.version,judge:S.judge,rubric:S.rubric,temperature:S.temperature,results:k});w.push({...S,calibrationStatus:x?"passed":"failed",rewardEligible:x&&S.metadata.requestedRewardEligible===!0,metadata:{...S.metadata,calibrationEvidenceHash:v,calibrationAccuracy:k.length?k.filter(E=>E.matched).length/k.length:0,calibratedAt:new Date().toISOString()}}),y.push({graderId:S.id,passed:x,evidenceHash:v,results:k})}let _=new Date().toISOString(),A=ke.parse({...m,revision:m.revision+1,graders:w,status:"needs_review",readiness:null,contentHash:"00000000",updatedAt:_,metadata:{...m.metadata,judgeCalibration:{parentTasksetHash:m.contentHash,calibratedAt:_,graderIds:y.map(S=>S.graderId)}}}),I=ke.parse({...A,contentHash:Te(A)});if(!e.storeDir)throw new Error("Managed Taskset storage is required for judge calibration.");if(I.purpose!=="benchmark"){let S=Wo.join(e.storeDir,"training","tasksets"),M=Wo.join(S,ce(m));await pt(M,m),I=await Yt(S,I,M)}return await e.store.upsertTaskset(I),{taskset:I,results:y,passed:y.every(S=>S.passed)}}i(n,"calibrateModelJudges");async function c(d,m){let f=await Ee(e.store,d,m),y=(await e.store.listGraderAuditReports(d)).find(_=>_.tasksetHash===f.contentHash)??null;!y&&!f.graders.some(_=>_.kind==="model_judge")&&(y=(await o({tasksetId:d,tasksetRef:m})).report);let w=Ns({taskset:f,graderAudit:y});return await e.store.saveReadinessReport(w),await e.store.upsertTaskset({...f,status:w.ready?"ready":"needs_review",readiness:w,updatedAt:new Date().toISOString()}),w}i(c,"readiness");async function u(d){let m=await p(d.tasksetId);if(m.status!=="ready"||m.readiness?.ready!==!0)throw new Error("Taskset must pass grader audit and readiness before baseline Evaluation.");let f=m.metadata.harnessEvaluationReview;if(!f||typeof f!="object"||Array.isArray(f)||f.id!==d.reviewRef.id||f.contentHash!==d.reviewRef.contentHash)throw new Error("Taskset does not bind the supplied Harness Evaluation review.");let T=(await e.store.listEvaluationResults(m.id,"baseline")).find(b=>b.metadata.sourceTasksetHash===m.contentHash&&b.model.provider===d.model.providerId&&b.model.model===d.model.modelId&&(!m.metrics||b.authoredMetric?.policyHash===h(m.metrics))&&jo(b.metadata.harnessEvaluationReview,d.reviewRef));if(T)return{evaluationResult:T,attempts:[],reused:!0};let y=m.tasks.filter(b=>b.split==="frozen_eval");if(!y.length)throw new Error("Baseline Evaluation requires at least one isolated frozen-evaluation task.");let w=[...new Set(d.seeds?.length?d.seeds:[17])].slice(0,100),_=Math.max(1,Math.min(20,Math.trunc(d.attemptsPerTask??1))),A=new Date().toISOString(),I=await Dt(m,e.storeDir,d.signal),S=[];for(let b of y)for(let D of w)for(let $=0;$<_;$+=1){if(d.signal?.aborted)throw d.signal.reason;let z=await r({tasksetId:m.id,tasksetRef:{id:m.id,revision:m.revision,contentHash:m.contentHash},taskId:b.id,model:d.model,seed:D,attempt:$,sampling:d.sampling,signal:d.signal,admittedAt:A,resultId:`baseline-attempt-${h({reviewRef:d.reviewRef,tasksetHash:m.contentHash,model:d.model,taskId:b.id,seed:D,attempt:$}).slice(0,24)}`},I);S.push(z)}let M=S[0].portable.runManifest;if(S.some(b=>b.portable.runManifest.contentHash!==M.contentHash))throw new Error("Baseline attempts did not share one frozen Run Manifest.");let k=S.map(b=>b.portable.receipt),x=S[0].portable.tasksetRelease,v=k.flatMap(b=>typeof b.metadata.score=="number"?[b.metadata.score]:[]),E=await it({id:`baseline-evaluation-${h({manifest:M.contentHash,receipts:k.map(b=>b.contentHash),reviewRef:d.reviewRef}).slice(0,24)}`,manifest:M,receipts:k,taskset:x,source:I,signal:d.signal,metadata:{kind:"baseline",sourceTasksetId:m.id,sourceTasksetRevision:m.revision,sourceTasksetHash:m.contentHash,harnessEvaluationReview:d.reviewRef,environmentHash:h(x.environment),toolContractHash:h(x.tools),permissionContractHash:h({connectedAppScopes:x.policy.connectedAppScopes,networkPolicy:x.environment.networkPolicy}),policyHash:h(x.policy),verifierRef:{id:`verifier-${m.id}-r${m.revision}`,contentHash:h(x.graders)},scores:v,scoreVariance:No(v),admittedAt:A}});return await e.store.saveEvaluationResult({tasksetId:m.id,kind:"baseline",result:E,createdAt:A}),await Ds({store:e.store,taskset:m,evaluationResult:E}),{evaluationResult:E,attempts:S,reused:!1}}i(u,"executeBaseline");async function g(d){let m=await p(d.tasksetId);if(m.purpose!=="benchmark"||!m.benchmark)throw new Error("This Taskset does not define a benchmark protocol.");let f=d.split??m.benchmark.evaluationSplit,T=d.taskIds?.length?new Set(d.taskIds):null,y=m.tasks.filter(b=>b.split===f&&(!T||T.has(b.id)));if(T&&y.length!==T.size)throw new Error("Benchmark task selection contains an id outside the pinned split.");if(!y.length)throw new Error(`Benchmark split ${f} has no cases.`);let w=[...new Set(d.seeds?.length?d.seeds:[17])].slice(0,100),_=Math.max(1,Math.min(20,Math.trunc(d.repetitions??1))),A=new Date().toISOString(),I=[],S=await Dt(m,e.storeDir,d.signal);for(let b of y)for(let D of w)for(let $=0;$<_;$+=1){if(d.signal?.aborted)throw d.signal.reason;let z=await r({tasksetId:m.id,tasksetRef:{id:m.id,revision:m.revision,contentHash:m.contentHash},taskId:b.id,model:d.model,reasoningEffort:d.reasoningEffort??null,seed:D,attempt:$,sampling:d.sampling,signal:d.signal,releasedHarness:d.releasedHarness,admittedAt:A,parentModelRunId:d.parentModelRunId,toolEvidence:d.toolEvidence,hostedTokenPricing:d.hostedTokenPricing,resultId:`benchmark-attempt-${h({tasksetRelease:m.benchmark.releaseHash,phase:d.phase,model:d.model,reasoningEffort:d.reasoningEffort??null,split:f,taskId:b.id,seed:D,attempt:$,admittedAt:A}).slice(0,24)}`},S);I.push(z),await d.onAttemptComplete?.(z)}let M=I[0].portable.runManifest;if(I.some(b=>b.portable.runManifest.contentHash!==M.contentHash))throw new Error("Benchmark attempts did not share one pinned Run Manifest.");let k=I.map(b=>b.portable.receipt),x=await it({id:`benchmark-evaluation-${h({manifest:M.contentHash,phase:d.phase,receipts:k.map(b=>b.contentHash)}).slice(0,24)}`,manifest:M,receipts:k,taskset:I[0].portable.tasksetRelease,source:S,signal:d.signal,metadata:{kind:"benchmark",phase:d.phase,split:f,reasoningEffort:d.reasoningEffort??null,sourceTasksetId:m.id,sourceTasksetRevision:m.revision,sourceTasksetHash:m.contentHash,benchmarkDefinitionId:m.benchmark.definitionId,admittedAt:A,parentModelRunId:d.parentModelRunId??null}});await e.store.saveEvaluationResult({tasksetId:m.id,kind:d.phase,result:x,createdAt:A});let v=Er({id:`benchmark-run-${x.contentHash.slice(0,24)}`,phase:d.phase,evaluation:x,receipts:k,reasoningEffort:d.reasoningEffort??null,protocol:{split:f,taskIds:y.map(b=>b.id),seeds:w.map(String),repetitions:_,runtimeTargetHash:h(M.runtimeTarget),environmentHash:h(I[0].portable.tasksetRelease.environment),toolContractHash:h({tasksetTools:I[0].portable.tasksetRelease.tools,harnessTools:I[0].portable.harnessRelease.tools}),limitsHash:h(M.limits)},createdAt:A,metadata:{sourceTasksetId:m.id,split:f,seeds:w,repetitions:_,parentModelRunId:d.parentModelRunId??null}});await e.store.saveBenchmarkRun({tasksetId:m.id,run:v});let E=await Uo({store:e.store,tasksetId:m.id,benchmark:m.benchmark,run:v,createdAt:A});return{evaluationResult:x,run:v,comparison:E,attempts:I}}i(g,"executeBenchmark");async function p(d){let m=await e.store.getTaskset(d);if(!m)throw new Error("Taskset not found.");return m}i(p,"requireTaskset");async function l(d,m,f){let T=d.tasks.find(y=>y.id===m);if(T)return T;if(!d.datasetArtifact||!e.resolveTask)throw new Error(`Task ${m} not found.`);return e.resolveTask({tasksetId:d.id,taskId:m,split:f})}return i(l,"findTask"),{execute:r,grade:s,consumeGraderUsage:a,auditFixtures:o,calibrateModelJudges:n,readiness:c,executeBaseline:u,executeBenchmark:g,close:i(async()=>{},"close")}}i(ap,"createTaskEvaluationService");export{yt as a,Fn as b,Se as c,Rs as d,oi as e,be as f,Ko as g,Ji as h,ed as i,Ns as j,wc as k,Gs as l,It as m,Et as n,gl as o,Rl as p,Ut as q,fd as r,Hs as s,Rd as t,Kl as u,Xl as v,Ho as w,Ed as x,Cd as y,Ds as z,ap as A};
|
|
86
|
+
${JSON.stringify({policyVisibleContext:t.task.policyVisibleContext})}`,seed:t.seed,timeoutMs:a.execution.environment.contract.defaultTimeoutMs,signal:t.signal,execute:Ts,policy:u.policy}),p=e.timestamp(),l=["environment_failure","timed_out","cancelled"].includes(g.status)?g.error??g.status:null,d={schemaVersion:"openpond.starterToolAttempt.v1",taskset:U(r),taskHash:h(t.task),model:s,seed:t.seed,attempt:t.attempt,policySource:e.policySource??"model",definition:a.definition,environment:U(a.execution.environment),verifierSet:U(a.execution.verifierSet),result:g};ze(d,12582912);let m=await Q({store:e.store,storeDir:e.storeDir,tasksetId:r.id,taskId:t.task.id,attemptId:c,requestId:n,kind:"environment_state",payload:d,timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:c,tasksetId:r.id,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:s,startedAt:o,completedAt:p,output:{text:g.output??""},runtimeEventRefs:[],artifactRefs:[m.id],privilegedOutcomeRef:m.id,infrastructureError:l,costUsd:u.costUsd(),latencyMs:Math.max(0,Date.parse(p)-Date.parse(o)),userInterventions:0,metadata:{requestId:n,execution:"starter_tool_environment",policySource:e.policySource??"model",environmentStatus:g.status,environmentCleanupComplete:g.environmentCleanupComplete,environmentAttemptHash:g.contentHash}})}i(Ht,"runStarterToolAttempt");async function Po(e){let t=e.timestamp??(()=>new Date().toISOString()),r=await Ee(e.store,e.attemptInput.tasksetId,e.attemptInput.tasksetRef);if(r.environment.entrypoint===Y)return Ht({store:e.store,storeDir:e.storeDir,taskset:r,attemptInput:e.attemptInput,stream:e.crossSystemStream,timestamp:t,resultId:e.resultId,hostedTokenPricing:e.hostedTokenPricing});if(r.environment.kind==="work"){if(!e.work)throw new Error("Taskset Work execution is not configured for this evaluator.");return Co({store:e.store,storeDir:e.storeDir,taskset:r,task:e.attemptInput.task,model:e.attemptInput.model,reasoningEffort:e.attemptInput.reasoningEffort,seed:e.attemptInput.seed,attempt:e.attemptInput.attempt,sampling:e.attemptInput.sampling,signal:e.attemptInput.signal,stream:e.work.stream,runtime:e.work.runtime,timestamp:e.timestamp,resultId:e.resultId,parentModelRunId:e.parentModelRunId,harnessInstructionContext:e.harnessInstructionContext,validateRequiredOutput:e.work.validateRequiredOutput,additionalToolDefinitions:e.work.additionalToolDefinitions,toolEvidence:e.work.toolEvidence,harnessCapabilityReceipt:e.work.harnessCapabilityReceipt,hostedTokenPricing:e.work.hostedTokenPricing})}if(!Mo(r)&&(r.environment.kind!=="chat"||r.environment.stateful||r.environment.toolNames.length||r.capabilities.requiresTools||r.capabilities.requiresState))throw new Error("The Taskset environment has no registered evaluation adapter.");return Mo(r)?Nn({...e,timestamp:t,taskset:r}):qn({...e,timestamp:t})}i(Po,"runPostTrainingEvaluationAttempt");function Mo(e){let t=e.metadata.flagship==="cross-system-operations",r=e.environment.metadata.flagship==="cross-system-operations";return(t||r)&&e.environment.stateful&&e.environment.metadata.toolContractHash===q}i(Mo,"isCrossSystemTaskset");async function Nn(e){let{attemptInput:t,taskset:r}=e,s=e.timestamp(),a=Oo(t,s),o=uo(r,{taskId:t.task.id,prompt:typeof t.task.input.prompt=="string"?t.task.input.prompt:null}),n=new AbortController,c=i(()=>n.abort(t.signal?.reason??new Error("The evaluation was cancelled.")),"abortFromParent");t.signal?.addEventListener("abort",c,{once:!0});let u=Math.max(1,Math.min(r.environment.defaultTimeoutMs,10*6e4)),g=setTimeout(()=>n.abort(new Error(`Cross-System evaluation exceeded ${u} ms.`)),u);g.unref?.();try{let p=[],l=null,d=null;for(let w=0;w<=1;w+=1){let _=await io({world:o.world,task:o.generatedTask,model:t.model,reasoningEffort:null,stream:e.crossSystemStream,signal:n.signal,trajectoryId:`cso_post_training_eval_${h([a,w]).slice(0,24)}`,metadata:{evaluation:"post_training",execution:"post_training_evaluation_tool_loop",tasksetId:r.id,tasksetHash:r.contentHash,samplingSeed:t.seed,attempt:t.attempt,infrastructureRetryAttempt:w,priorInfrastructureErrors:p.map(A=>A.infrastructureError??"Unknown infrastructure failure.")}});if(l=_,d=xt({task:o.generatedTask,trajectory:_}),d.outcome!=="infrastructure_failure"||w===1)break;p.push(_)}if(!l||!d)throw new Error(`Cross-System task ${t.task.id} produced no trajectory.`);let m=[...l.steps].reverse().find(w=>w.kind==="final"),f=l.completedAt,T=e.resultId??`attempt_${h([a,l.id,d.outcome]).slice(0,24)}`,y=await Q({store:e.store,storeDir:e.storeDir,tasksetId:r.id,taskId:t.task.id,attemptId:T,requestId:a,kind:"runtime_trace",payload:{schemaVersion:B,model:t.model,seed:t.seed,attempt:t.attempt,trajectory:l,verifier:d,priorInfrastructureTrajectories:p},timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:T,tasksetId:r.id,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:t.model,startedAt:l.startedAt,completedAt:f,output:{text:m?.content??"",trajectoryId:l.id},runtimeEventRefs:[],artifactRefs:[y.id],privilegedOutcomeRef:t.task.privilegedContextRef,infrastructureError:l.infrastructureError,costUsd:null,latencyMs:dr(l.startedAt,f),userInterventions:0,metadata:{requestId:a,execution:"post_training_evaluation_tool_loop",trajectoryId:l.id,worldId:l.worldId,toolContractHash:l.toolContractHash,verifierOutcome:d.outcome,verifierReward:d.reward,verifierRewardEligible:d.rewardEligible,infrastructureRetryAttempt:l.metadata.infrastructureRetryAttempt,priorInfrastructureErrors:l.metadata.priorInfrastructureErrors}})}finally{clearTimeout(g),t.signal?.removeEventListener("abort",c)}}i(Nn,"runCrossSystemAttempt");async function qn(e){let{attemptInput:t}=e,r=e.timestamp(),s=Oo(t,r);try{let a=await e.modelText({model:t.model,reasoningEffort:null,signal:t.signal??new AbortController().signal,requestId:s,messages:$n(t.task),maxOutputTokens:t.sampling?.maxOutputTokens??2048,temperature:t.sampling?.temperature??.8,topP:t.sampling?.topP??.95,seed:t.seed+t.attempt}),o=e.timestamp(),n=e.resultId??`attempt_${h([s,a]).slice(0,24)}`,c=await Q({store:e.store,storeDir:e.storeDir,tasksetId:t.tasksetId,taskId:t.task.id,attemptId:n,requestId:s,kind:"raw_model_response",payload:{model:t.model,seed:t.seed,attempt:t.attempt,output:{text:a},startedAt:r,completedAt:o},timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:n,tasksetId:t.tasksetId,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:t.model,startedAt:r,completedAt:o,output:{text:a},runtimeEventRefs:[],artifactRefs:[c.id],privilegedOutcomeRef:t.task.privilegedContextRef,infrastructureError:null,costUsd:null,latencyMs:dr(r,o),userInterventions:0,metadata:{requestId:s,execution:"text_completion"}})}catch(a){if(t.signal?.aborted)throw t.signal.reason instanceof Error?t.signal.reason:new Error("The evaluation was cancelled.");let o=e.timestamp(),n=a instanceof Error?a.message:String(a),c=e.resultId??`attempt_${h([s,"failure"]).slice(0,24)}`,u=await Q({store:e.store,storeDir:e.storeDir,tasksetId:t.tasksetId,taskId:t.task.id,attemptId:c,requestId:s,kind:"raw_model_response",payload:{model:t.model,seed:t.seed,attempt:t.attempt,error:n,startedAt:r,completedAt:o},timestamp:e.timestamp});return F.parse({schemaVersion:"openpond.taskAttempt.v1",id:c,tasksetId:t.tasksetId,taskId:t.task.id,split:t.task.split,attempt:t.attempt,seed:t.seed,modelRef:t.model,startedAt:r,completedAt:o,output:{},runtimeEventRefs:[],artifactRefs:[u.id],privilegedOutcomeRef:null,infrastructureError:n,costUsd:null,latencyMs:dr(r,o),userInterventions:0,metadata:{requestId:s,execution:"text_completion"}})}}i(qn,"runTextAttempt");function $n(e){let t=Array.isArray(e.input.messages)?e.input.messages.flatMap(r=>{if(!r||typeof r!="object"||Array.isArray(r))return[];let s=r;return s.role!=="system"&&s.role!=="user"||typeof s.content!="string"||!s.content.trim()?[]:[{role:s.role,content:s.content}]}):[];if(t.length)return t;if(typeof e.input.prompt=="string"&&e.input.prompt.trim())return[{role:"user",content:e.input.prompt}];throw new Error(`Evaluation task ${e.id} has no policy-visible prompt.`)}i($n,"policyMessages");function Oo(e,t){return`post-training-evaluation:${h([e.task.id,e.model,e.seed,e.attempt,t]).slice(0,40)}`}i(Oo,"evaluationRequestId");function dr(e,t){return Math.max(0,Date.parse(t)-Date.parse(e))}i(dr,"elapsedMilliseconds");async function Ho(e){let t=Kr({context:e.context,attempt:e.attempt,grade:e.grade,artifacts:e.artifacts}),r=Mr.safeParse(e.attempt.metadata.optimizerTrainingSample??e.attempt.metadata.trainingSample),s=Xr({context:e.context,attempt:e.attempt,artifacts:e.artifacts,canonical:t,optimizerSample:r.success?r.data:null}),a=await Promise.all([Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:e.attempt.id,requestId:e.attempt.id,kind:"grader_evidence",fileLabel:"artifact-manifest",payload:t.artifactManifest,timestamp:i(()=>t.artifactManifest.createdAt,"timestamp")}),Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:e.attempt.id,requestId:e.attempt.id,kind:"grader_evidence",fileLabel:"reward-receipt",payload:t.rewardReceipt,timestamp:i(()=>t.rewardReceipt.createdAt,"timestamp")}),Q({store:e.store,storeDir:e.storeDir,tasksetId:e.taskset.id,taskId:e.task.id,attemptId:e.attempt.id,requestId:e.attempt.id,kind:"grader_evidence",fileLabel:"canonical-rollout",payload:s,timestamp:i(()=>s.completedAt,"timestamp")})]),o=[...e.artifacts,...a],n=F.parse({...e.attempt,artifactRefs:[...new Set([...e.attempt.artifactRefs,...a.map(c=>c.id)])],metadata:{...e.attempt.metadata,portableRunManifestRef:{id:e.context.runManifest.id,contentHash:e.context.runManifest.contentHash},portableAttemptReceipt:t.attemptReceipt,portableArtifactManifest:t.artifactManifest,portableRewardReceipt:t.rewardReceipt,portableCanonicalRollout:s,portableEnvironmentReleaseRef:{id:e.context.environmentRelease.id,contentHash:e.context.environmentRelease.contentHash},portableVerifierSetReleaseRef:{id:e.context.verifierSetRelease.id,contentHash:e.context.verifierSetRelease.contentHash},canonicalEvidenceArtifactRefs:a.map(c=>c.id)}});return await e.store.saveTaskAttempt(n),{attempt:n,artifacts:o,attemptReceipt:t.attemptReceipt,artifactManifest:t.artifactManifest,rewardReceipt:t.rewardReceipt,rolloutRecord:s}}i(Ho,"persistCanonicalEvaluationEvidence");function Do(e){if(typeof e.costUsd=="number"&&Number.isFinite(e.costUsd)&&e.costUsd>=0)return e.costUsd;if(!e.pricing)return null;let r=(Array.isArray(e.usage)?e.usage:e.usage===void 0?[]:[e.usage]).map(s=>Se(s,e.pricing));return!r.length||!r.every(s=>s!==null)?null:r.reduce((s,a)=>s+a,0)}i(Do,"hostedModelJudgeCallCost");function jo(e,t){return!!(e&&typeof e=="object"&&!Array.isArray(e)&&e.id===t.id&&e.contentHash===t.contentHash)}i(jo,"reviewRefMatches");function No(e){if(e.length<2)return 0;let t=e.reduce((r,s)=>r+s,0)/e.length;return e.reduce((r,s)=>r+(s-t)**2,0)/e.length}i(No,"variance");async function qo(e){let t=Hr.parse(e.fixture.metadata.toolScript),r=0;return Ht({store:e.store,storeDir:e.storeDir,taskset:e.taskset,policySource:"fixture",timestamp:i(()=>new Date().toISOString(),"timestamp"),resultId:`tool_fixture_${h({taskset:e.taskset.contentHash,fixture:e.fixture,time:Date.now()}).slice(0,32)}`,attemptInput:{tasksetId:e.taskset.id,task:e.task,model:{providerId:"openpond",modelId:"scripted-tool-policy"},seed:0,attempt:0},stream:i(async function*(){let s=t.actions[r++];s?yield{toolCalls:[{id:`fixture-call-${r}`,type:"function",function:{name:s.name,arguments:JSON.stringify(s.arguments)}}]}:yield{text:typeof e.fixture.output.text=="string"?e.fixture.output.text:JSON.stringify(e.fixture.output)}},"stream")})}i(qo,"runStarterToolFixture");import{constants as cr}from"node:fs";import{lstat as Ln,open as Un,realpath as $o}from"node:fs/promises";import lr from"node:path";async function Dt(e,t,r){r?.throwIfAborted();let s=e.metrics?.customAggregator;if(!s)return;if(!t)throw new Error("Taskset metric execution requires its package storage directory.");let a=lr.join(t,"training","tasksets",ce(e)),o=await Ln(a);if(!o.isDirectory()||o.isSymbolicLink())throw new Error("Taskset metric package must be a regular directory.");let n=await $o(a),c=lr.resolve(n,s.module);if(!c.startsWith(`${n}${lr.sep}`)||await $o(c)!==c)throw new Error("Taskset metric module must be a regular file inside its pinned package.");let u=await Un(c,cr.O_RDONLY|cr.O_NOFOLLOW|cr.O_NONBLOCK);try{let g=await u.stat();if(!g.isFile()||g.size>524288)throw new Error("Taskset metric module must be a bounded regular file.");let p=Buffer.alloc(g.size),l=0;for(;l<p.length;){r?.throwIfAborted();let d=await u.read(p,l,p.length-l,l);if(!d.bytesRead)throw new Error("Taskset metric module changed during capture.");l+=d.bytesRead}if((await u.read(Buffer.alloc(1),0,1,l)).bytesRead||fe(p)!==s.contentHash)throw new Error("Taskset metric module differs from its pinned content hash.");return r?.throwIfAborted(),new TextDecoder("utf-8",{fatal:!0}).decode(p)}finally{await u.close()}}i(Dt,"captureTasksetMetricSource");function Lo(e,t,r){if(h(e.metrics??null)!==h(t.metrics??null))throw new Error("Local Taskset metric policy differs from the admitted portable release.");br(t,r)}i(Lo,"assertLocalTasksetMetric");async function Uo(e){let{run:t}=e,r=await e.store.listBenchmarkRuns(e.tasksetId),s=i(c=>t.phase===c?t:r.find(u=>u.phase===c&&u.tasksetRelease.contentHash===t.tasksetRelease.contentHash&&u.model.provider===t.model.provider&&u.model.model===t.model.model&&u.reasoningEffort===t.reasoningEffort&&h(u.protocol)===h(t.protocol)),"counterpart"),a=s("baseline"),o=s("candidate");if(!a||!o)return null;let n=Ar({id:`benchmark-comparison-${h([a.contentHash,o.contentHash]).slice(0,24)}`,baseline:a,candidate:o,primaryMetric:e.benchmark.primaryMetric,qualityGate:e.benchmark.qualityGate,createdAt:e.createdAt,metadata:{sourceTasksetId:e.tasksetId,benchmarkDefinitionId:e.benchmark.definitionId}});return await e.store.saveBenchmarkComparison({tasksetId:e.tasksetId,comparison:n}),n}i(Uo,"persistBenchmarkComparison");var Wn=O.number().finite().min(0).max(1).nullable().optional();function jt(e){return Wn.parse(e)}i(jt,"parseExpectedFixtureScore");function ur(e,t){return e===void 0||e===t||typeof e=="number"&&t!==null&&Math.abs(e-t)<=1e-12}i(ur,"fixtureScoreMatches");function ap(e){let t=new Map;async function r(d,m){if(!e.storeDir||!e.modelText||!e.modelStream)throw new Error("Taskset execution is not configured.");let f=await Ee(e.store,d.tasksetId,d.tasksetRef),T={id:f.id,revision:f.revision,contentHash:f.contentHash},y=await l(f,d.taskId),w=f.environment.entrypoint===Y;if(w&&d.releasedHarness)throw new Error("This tool starter executes its Taskset-owned policy; a selected Harness requires a separate execution adapter.");let _=w?xs(await Ue(e.store,f,y,e.storeDir)):d.releasedHarness??await e.resolveReleasedHarness?.()??null,A=await e.resolveTasksetRelease?.(f)??null,I=!_&&e.loadProfileState?await e.loadProfileState():null,S=Yr({taskset:f,rewardExecution:await be(e.store,f),selectedTask:y,profile:I,releasedHarness:_,tasksetRelease:A,reasoningEffort:d.reasoningEffort??null,model:d.model,now:d.admittedAt?()=>d.admittedAt:void 0}),M=m??await Dt(f,e.storeDir,d.signal);Lo(f,S.tasksetRelease,M);let k=await Po({store:e.store,storeDir:e.storeDir,modelText:e.modelText,crossSystemStream:e.modelStream,work:e.workRuntime?{stream:e.modelStream,runtime:e.workRuntime,validateRequiredOutput:e.validateWorkRequiredOutput,additionalToolDefinitions:e.additionalWorkToolDefinitions?.(),toolEvidence:d.toolEvidence,harnessCapabilityReceipt:_?{harnessRelease:{id:_.harnessRelease.id,contentHash:_.harnessRelease.contentHash},agentSnapshot:{id:_.agentSnapshot.id,contentHash:_.agentSnapshot.contentHash},instructionAssets:_.agentSnapshot.instructions,skillAssets:_.agentSnapshot.skills,agentAssets:_.agentSnapshot.agents,fileAssets:_.harnessRelease.files,declaredToolNames:_.agentSnapshot.toolDeclarations.map($=>$.name)}:void 0,hostedTokenPricing:d.hostedTokenPricing}:void 0,resultId:d.resultId,hostedTokenPricing:d.hostedTokenPricing,parentModelRunId:d.parentModelRunId,harnessInstructionContext:_?.instructionContext,attemptInput:{tasksetId:f.id,tasksetRef:T,task:y,model:d.model,reasoningEffort:d.reasoningEffort,seed:d.seed,attempt:d.attempt,sampling:d.sampling,signal:d.signal}}),x=await s({tasksetId:f.id,tasksetRef:T,taskId:y.id,attempt:k,hostedTokenPricing:d.hostedTokenPricing}),v=await e.store.listTaskAttemptArtifacts({attemptId:k.id}),E=await Ho({store:e.store,storeDir:e.storeDir,taskset:f,task:y,context:S,attempt:k,grade:x,artifacts:v}),b=E.attemptReceipt,D=await it({id:`evaluation-${b.id}`,manifest:S.runManifest,receipts:[b],taskset:S.tasksetRelease,source:M,signal:d.signal,metadata:{sourceTasksetId:f.id,sourceTasksetRevision:f.revision,sourceTasksetHash:f.contentHash,sourceAttemptId:k.id,sourceGradeId:x.id}});return{attempt:E.attempt,grade:x,artifacts:E.artifacts,portable:{agentSnapshot:S.agentSnapshot,harnessRelease:S.harnessRelease,tasksetRelease:S.tasksetRelease,environmentRelease:S.environmentRelease,verifierSetRelease:S.verifierSetRelease,runManifest:S.runManifest,receipt:b,artifactManifest:E.artifactManifest,rewardReceipt:E.rewardReceipt,rolloutRecord:E.rolloutRecord,evaluationResult:D}}}i(r,"execute");async function s(d){let m=await Ee(e.store,d.tasksetId,d.tasksetRef),f=F.parse(d.attempt),T=await l(m,d.taskId,f.split),y=await zt(e,m),w=[],_=0,A=0,I=0,S=await Bs({task:T,attempt:f,graders:m.graders,learning:await be(e.store,m),modelJudge:e.modelJudge?async k=>{A+=1;let x=await e.modelJudge(k);Array.isArray(x.usage)?w.push(...x.usage):x.usage!==void 0&&w.push(x.usage);let v=Do({costUsd:x.costUsd,usage:x.usage,pricing:d.hostedTokenPricing});return v!==null&&(_+=v,I+=1),x}:void 0,customVerifier:y,now:i(()=>new Date().toISOString(),"now")});await e.store.saveTaskAttempt(f),await e.store.saveGradeResult(S);let M=w.reduce((k,x)=>{let v=ye(x);return k.inputTokens+=v.promptTokens??0,k.outputTokens+=v.completionTokens??0,k.totalTokens+=v.totalTokens??0,k},{inputTokens:0,outputTokens:0,totalTokens:0});return t.set(f.id,{...M,costUsd:A===0?0:I===A?_:null}),S}i(s,"grade");function a(d){let m={inputTokens:0,outputTokens:0,totalTokens:0,costUsd:null};for(let f of d){let T=t.get(f);t.delete(f),T&&(m.inputTokens+=T.inputTokens,m.outputTokens+=T.outputTokens,m.totalTokens+=T.totalTokens,T.costUsd!==null&&(m.costUsd=(m.costUsd??0)+T.costUsd))}return m}i(a,"consumeGraderUsage");async function o(d){let m=await Ee(e.store,d.tasksetId,d.tasksetRef),f=await zt(e,m),T=d.fixtures?.length?d.fixtures.map((k,x)=>({...k,expectedScore:jt(k.expectedScore),id:`external_fixture_${x}`})):m.graderFixtures.map((k,x)=>({id:k.id,label:k.label,taskId:k.taskId,expectedPassed:k.expectedPassed,expectedRewardEligible:k.expectedRewardEligible,expectedScore:jt(k.metadata.expectedScore),attempt:Vt(m.id,k,x)})),y=[];for(let k of T){let x=await l(m,k.taskId,Tt(k)),v=d.fixtures?.length?void 0:m.graderFixtures.find(D=>D.id===k.id);if(m.environment.entrypoint===Y&&v&&!v.infrastructureError&&!e.storeDir)throw new Error("Tool fixture execution requires the owner's artifact directory.");let E=m.environment.entrypoint===Y&&v&&!v.infrastructureError?await qo({store:e.store,storeDir:e.storeDir,taskset:m,task:x,fixture:v}):F.parse(k.attempt),b=await at({task:x,attempt:E,graders:m.graders,learning:await be(e.store,m),modelJudge:e.modelJudge??void 0,customVerifier:f});await e.store.saveTaskAttempt(E),await e.store.saveGradeResult(b),y.push({id:k.id,label:k.label,expectedPassed:k.expectedPassed,expectedRewardEligible:k.expectedRewardEligible,expectedScore:k.expectedScore,result:b})}let w=y.filter(({label:k,expectedPassed:x,expectedRewardEligible:v,expectedScore:E,result:b})=>!ur(E,b.score)||k==="infrastructure_failure"&&b.score!==null||typeof x=="boolean"&&b.passed!==x?!0:typeof v=="boolean"&&b.rewardEligible!==v),_=y.filter(k=>k.label==="infrastructure_failure").every(k=>k.result.score===null&&k.result.rewardEligible===!1),A=!w.some(k=>k.label==="adversarial"||k.label==="prompt_injection")&&y.filter(k=>k.label==="adversarial"||k.label==="prompt_injection").every(k=>!k.result.passed&&(k.result.score??0)<.8),I=y.every(k=>!k.result.feedback.some(x=>/privileged.*leak|hidden grader.*leak/i.test(x))),S=w.map(k=>({fixtureId:k.id,label:k.label,gradeId:k.result.id,reason:(k.expectedScore===void 0?"":`Expected score=${String(k.expectedScore)}; received score=${String(k.result.score)}. `)+`Expected passed=${String(k.expectedPassed)} and rewardEligible=${String(k.expectedRewardEligible)}; received passed=${String(k.result.passed)} and rewardEligible=${String(k.result.rewardEligible)}.`})),M=Jr.parse({schemaVersion:"openpond.graderAuditReport.v1",id:`grader_audit_${h([m.contentHash,y.map(k=>k.result.id)]).slice(0,24)}`,tasksetId:m.id,tasksetHash:m.contentHash,fixtureRefs:y.map(k=>k.id),gradeRefs:y.map(k=>k.result.id),passed:S.length===0&&_&&A&&I,hackingChecksPassed:A,leakageChecksPassed:I,infrastructureSafetyPassed:_,failures:S,createdAt:new Date().toISOString()});return await e.store.saveGraderAuditReport(M),{report:M,passed:M.passed,results:y,failures:S.map(k=>({label:k.label,gradeId:k.gradeId}))}}i(o,"auditFixtures");async function n(d){if(!e.modelJudge)throw new Error("No model judge runner is configured.");let m=await p(d),f=m.graders.filter(S=>S.kind==="model_judge");if(!f.length)throw new Error("Taskset has no model judges to calibrate.");let T=new Map;for(let S of m.graderFixtures)T.set(S.id,(T.get(S.id)??0)+1);for(let S of f)for(let M of S.calibrationFixtureRefs)if(T.get(M)!==1)throw new Error(`Judge ${S.id} calibration requires exactly one fixture for ${M}.`);let y=[],w=[];for(let S of m.graders){if(S.kind!=="model_judge"){w.push(S);continue}let M=m.graderFixtures.filter(E=>S.calibrationFixtureRefs.includes(E.id)),k=[];for(let[E,b]of M.entries()){let D=jt(b.metadata.expectedScore),$=await l(m,b.taskId,Tt(b)),z=Vt(m.id,b,E);try{let L=await e.modelJudge({grader:S,task:$,attempt:z});k.push({fixtureId:b.id,expectedPassed:b.expectedPassed,expectedScore:D,passed:L.passed,score:L.score,feedback:L.feedback,matched:L.passed===b.expectedPassed&&ur(D,L.score)})}catch(L){k.push({fixtureId:b.id,expectedPassed:b.expectedPassed,expectedScore:D,passed:!1,score:0,feedback:L instanceof Error?L.message:String(L),matched:!1})}}let x=k.length>0&&k.every(E=>E.matched),v=h({graderId:S.id,graderVersion:S.version,judge:S.judge,rubric:S.rubric,temperature:S.temperature,results:k});w.push({...S,calibrationStatus:x?"passed":"failed",rewardEligible:x&&S.metadata.requestedRewardEligible===!0,metadata:{...S.metadata,calibrationEvidenceHash:v,calibrationAccuracy:k.length?k.filter(E=>E.matched).length/k.length:0,calibratedAt:new Date().toISOString()}}),y.push({graderId:S.id,passed:x,evidenceHash:v,results:k})}let _=new Date().toISOString(),A=ke.parse({...m,revision:m.revision+1,graders:w,status:"needs_review",readiness:null,contentHash:"00000000",updatedAt:_,metadata:{...m.metadata,judgeCalibration:{parentTasksetHash:m.contentHash,calibratedAt:_,graderIds:y.map(S=>S.graderId)}}}),I=ke.parse({...A,contentHash:Te(A)});if(!e.storeDir)throw new Error("Managed Taskset storage is required for judge calibration.");if(I.purpose!=="benchmark"){let S=Wo.join(e.storeDir,"training","tasksets"),M=Wo.join(S,ce(m));await pt(M,m),I=await Yt(S,I,M)}return await e.store.upsertTaskset(I),{taskset:I,results:y,passed:y.every(S=>S.passed)}}i(n,"calibrateModelJudges");async function c(d,m){let f=await Ee(e.store,d,m),y=(await e.store.listGraderAuditReports(d)).find(_=>_.tasksetHash===f.contentHash)??null;!y&&!f.graders.some(_=>_.kind==="model_judge")&&(y=(await o({tasksetId:d,tasksetRef:m})).report);let w=Ns({taskset:f,graderAudit:y});return await e.store.saveReadinessReport(w),await e.store.upsertTaskset({...f,status:w.ready?"ready":"needs_review",readiness:w,updatedAt:new Date().toISOString()}),w}i(c,"readiness");async function u(d){let m=await p(d.tasksetId);if(m.status!=="ready"||m.readiness?.ready!==!0)throw new Error("Taskset must pass grader audit and readiness before baseline Evaluation.");let f=m.metadata.harnessEvaluationReview;if(!f||typeof f!="object"||Array.isArray(f)||f.id!==d.reviewRef.id||f.contentHash!==d.reviewRef.contentHash)throw new Error("Taskset does not bind the supplied Harness Evaluation review.");let T=(await e.store.listEvaluationResults(m.id,"baseline")).find(b=>b.metadata.sourceTasksetHash===m.contentHash&&b.model.provider===d.model.providerId&&b.model.model===d.model.modelId&&(!m.metrics||b.authoredMetric?.policyHash===h(m.metrics))&&jo(b.metadata.harnessEvaluationReview,d.reviewRef));if(T)return{evaluationResult:T,attempts:[],reused:!0};let y=m.tasks.filter(b=>b.split==="frozen_eval");if(!y.length)throw new Error("Baseline Evaluation requires at least one isolated frozen-evaluation task.");let w=[...new Set(d.seeds?.length?d.seeds:[17])].slice(0,100),_=Math.max(1,Math.min(20,Math.trunc(d.attemptsPerTask??1))),A=new Date().toISOString(),I=await Dt(m,e.storeDir,d.signal),S=[];for(let b of y)for(let D of w)for(let $=0;$<_;$+=1){if(d.signal?.aborted)throw d.signal.reason;let z=await r({tasksetId:m.id,tasksetRef:{id:m.id,revision:m.revision,contentHash:m.contentHash},taskId:b.id,model:d.model,seed:D,attempt:$,sampling:d.sampling,signal:d.signal,admittedAt:A,resultId:`baseline-attempt-${h({reviewRef:d.reviewRef,tasksetHash:m.contentHash,model:d.model,taskId:b.id,seed:D,attempt:$}).slice(0,24)}`},I);S.push(z)}let M=S[0].portable.runManifest;if(S.some(b=>b.portable.runManifest.contentHash!==M.contentHash))throw new Error("Baseline attempts did not share one frozen Run Manifest.");let k=S.map(b=>b.portable.receipt),x=S[0].portable.tasksetRelease,v=k.flatMap(b=>typeof b.metadata.score=="number"?[b.metadata.score]:[]),E=await it({id:`baseline-evaluation-${h({manifest:M.contentHash,receipts:k.map(b=>b.contentHash),reviewRef:d.reviewRef}).slice(0,24)}`,manifest:M,receipts:k,taskset:x,source:I,signal:d.signal,metadata:{kind:"baseline",sourceTasksetId:m.id,sourceTasksetRevision:m.revision,sourceTasksetHash:m.contentHash,harnessEvaluationReview:d.reviewRef,environmentHash:h(x.environment),toolContractHash:h(x.tools),permissionContractHash:h({connectedAppScopes:x.policy.connectedAppScopes,networkPolicy:x.environment.networkPolicy}),policyHash:h(x.policy),verifierRef:{id:`verifier-${m.id}-r${m.revision}`,contentHash:h(x.graders)},scores:v,scoreVariance:No(v),admittedAt:A}});return await e.store.saveEvaluationResult({tasksetId:m.id,kind:"baseline",result:E,createdAt:A}),await Ds({store:e.store,taskset:m,evaluationResult:E}),{evaluationResult:E,attempts:S,reused:!1}}i(u,"executeBaseline");async function g(d){let m=await p(d.tasksetId);if(m.purpose!=="benchmark"||!m.benchmark)throw new Error("This Taskset does not define a benchmark protocol.");let f=d.split??m.benchmark.evaluationSplit,T=d.taskIds?.length?new Set(d.taskIds):null,y=m.tasks.filter(b=>b.split===f&&(!T||T.has(b.id)));if(T&&y.length!==T.size)throw new Error("Benchmark task selection contains an id outside the pinned split.");if(!y.length)throw new Error(`Benchmark split ${f} has no cases.`);let w=[...new Set(d.seeds?.length?d.seeds:[17])].slice(0,100),_=Math.max(1,Math.min(20,Math.trunc(d.repetitions??1))),A=new Date().toISOString(),I=[],S=await Dt(m,e.storeDir,d.signal);for(let b of y)for(let D of w)for(let $=0;$<_;$+=1){if(d.signal?.aborted)throw d.signal.reason;let z=await r({tasksetId:m.id,tasksetRef:{id:m.id,revision:m.revision,contentHash:m.contentHash},taskId:b.id,model:d.model,reasoningEffort:d.reasoningEffort??null,seed:D,attempt:$,sampling:d.sampling,signal:d.signal,releasedHarness:d.releasedHarness,admittedAt:A,parentModelRunId:d.parentModelRunId,toolEvidence:d.toolEvidence,hostedTokenPricing:d.hostedTokenPricing,resultId:`benchmark-attempt-${h({tasksetRelease:m.benchmark.releaseHash,phase:d.phase,model:d.model,reasoningEffort:d.reasoningEffort??null,split:f,taskId:b.id,seed:D,attempt:$,admittedAt:A}).slice(0,24)}`},S);I.push(z),await d.onAttemptComplete?.(z)}let M=I[0].portable.runManifest;if(I.some(b=>b.portable.runManifest.contentHash!==M.contentHash))throw new Error("Benchmark attempts did not share one pinned Run Manifest.");let k=I.map(b=>b.portable.receipt),x=await it({id:`benchmark-evaluation-${h({manifest:M.contentHash,phase:d.phase,receipts:k.map(b=>b.contentHash)}).slice(0,24)}`,manifest:M,receipts:k,taskset:I[0].portable.tasksetRelease,source:S,signal:d.signal,metadata:{kind:"benchmark",phase:d.phase,split:f,reasoningEffort:d.reasoningEffort??null,sourceTasksetId:m.id,sourceTasksetRevision:m.revision,sourceTasksetHash:m.contentHash,benchmarkDefinitionId:m.benchmark.definitionId,admittedAt:A,parentModelRunId:d.parentModelRunId??null}});await e.store.saveEvaluationResult({tasksetId:m.id,kind:d.phase,result:x,createdAt:A});let v=Cr({id:`benchmark-run-${x.contentHash.slice(0,24)}`,phase:d.phase,evaluation:x,receipts:k,reasoningEffort:d.reasoningEffort??null,protocol:{split:f,taskIds:y.map(b=>b.id),seeds:w.map(String),repetitions:_,runtimeTargetHash:h(M.runtimeTarget),environmentHash:h(I[0].portable.tasksetRelease.environment),toolContractHash:h({tasksetTools:I[0].portable.tasksetRelease.tools,harnessTools:I[0].portable.harnessRelease.tools}),limitsHash:h(M.limits)},createdAt:A,metadata:{sourceTasksetId:m.id,split:f,seeds:w,repetitions:_,parentModelRunId:d.parentModelRunId??null}});await e.store.saveBenchmarkRun({tasksetId:m.id,run:v});let E=await Uo({store:e.store,tasksetId:m.id,benchmark:m.benchmark,run:v,createdAt:A});return{evaluationResult:x,run:v,comparison:E,attempts:I}}i(g,"executeBenchmark");async function p(d){let m=await e.store.getTaskset(d);if(!m)throw new Error("Taskset not found.");return m}i(p,"requireTaskset");async function l(d,m,f){let T=d.tasks.find(y=>y.id===m);if(T)return T;if(!d.datasetArtifact||!e.resolveTask)throw new Error(`Task ${m} not found.`);return e.resolveTask({tasksetId:d.id,taskId:m,split:f})}return i(l,"findTask"),{execute:r,grade:s,consumeGraderUsage:a,auditFixtures:o,calibrateModelJudges:n,readiness:c,executeBaseline:u,executeBenchmark:g,close:i(async()=>{},"close")}}i(ap,"createTaskEvaluationService");export{yt as a,Fn as b,Se as c,Rs as d,oi as e,be as f,Ko as g,Ji as h,ed as i,Ns as j,wc as k,Gs as l,It as m,Et as n,gl as o,Rl as p,Ut as q,fd as r,Hs as s,Rd as t,Kl as u,Xl as v,Ho as w,Ed as x,Cd as y,Ds as z,ap as A};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{v as r}from"./chunk-
|
|
2
|
+
import{v as r}from"./chunk-BL3YH2QU.js";import{N as s,O as a,P as d}from"./chunk-2RNQQNB7.js";import{a as n}from"./chunk-FTQLQJQV.js";async function u(){return{...s.parse(await r({path:"/saved-work"})),webBaseUrl:i()}}n(u,"listHostedSavedWork");async function m(e){let t=a.parse(e);return r({path:"/saved-work",method:"POST",body:t})}n(m,"createHostedSavedWork");async function h(e,t){let o=d.parse(t);return r({path:`/saved-work/schedules/${encodeURIComponent(e)}`,method:"PATCH",body:o})}n(h,"updateHostedSavedWork");async function k(e){return r({path:`/saved-work/schedules/${encodeURIComponent(e)}`,method:"DELETE"})}n(k,"deleteHostedSavedWork");async function P(e,t){return r({path:`/saved-work/schedules/${encodeURIComponent(e)}/run`,method:"POST",body:{clientRequestId:t}})}n(P,"runHostedSavedWork");function i(e=process.env){let t=e.OPENPOND_HOSTED_WEB_URL?.trim()||e.OPENPOND_SANDBOX_BASE_URL?.trim()||e.OPENPOND_API_URL?.trim()||e.OPENPOND_SANDBOX_API_URL?.trim()||"https://api.openpond.ai",o=new URL(t);return o.hostname==="api.openpond.ai"||o.hostname.endsWith(".api.openpond.ai")?"https://openpond.ai":(o.pathname="",o.search="",o.hash="",o.origin)}n(i,"hostedWebBaseUrl");export{u as a,m as b,h as c,k as d,P as e,i as f};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as m}from"./chunk-
|
|
2
|
+
import{a as m}from"./chunk-GOPFFQZU.js";import{e as h}from"./chunk-YR5ID2SS.js";import{a as s}from"./chunk-FTQLQJQV.js";var g=5,A=10,f=1200;function b(e){let r=y(e.endpoint),t=e.fetchImpl??fetch,n=e.apiKey?.trim()||null;return async(i,c)=>{let a=S(i),u=new Headers;u.set("Accept","application/json"),u.set("Content-Type","application/json"),u.set("x-openpond-client","openpond-app"),n&&(n.startsWith("opk_")&&u.set("openpond-api-key",n),u.set("Authorization",`Bearer ${n}`));let l=await t(r,{method:"POST",headers:u,body:JSON.stringify(a),signal:c?.signal});if(!l.ok)throw new Error(`Hosted web search failed: ${l.status} ${await O(l)}`);return w(await l.json(),a.query)}}s(b,"createHostedWebSearchExecutor");function D(e=process.env,r={}){let t=r.loadAccountContext??m;return async(n,i)=>{let c=p(e.OPENPOND_WEB_SEARCH_API_KEY,e.OPENPOND_SEARCH_API_KEY,e.OPENPOND_API_KEY),a=c?null:await t().catch(()=>null),u=E(e,a),l=c??a?.token??null;return b({endpoint:u,apiKey:l,fetchImpl:r.fetchImpl})(n,i)}}s(D,"createWebSearchExecutorFromEnv");function E(e=process.env,r){let t=p(e.OPENPOND_WEB_SEARCH_ENDPOINT);if(t)return y(t);let n=p(e.OPENPOND_SEARCH_API_URL);if(n)return d(n);let i=p(e.OPENPOND_PUBLIC_API_URL,e.OPENPOND_API_URL,r?.apiBaseUrl);if(i)return d(i);let c=p(e.OPENPOND_OPCHAT_API_URL,e.OPENPOND_CHAT_API_URL,r?.chatApiBaseUrl);return d(c||h)}s(E,"resolveWebSearchEndpoint");function d(e){let r=e.trim().replace(/\/+$/,"");if(!r)throw new Error("Hosted web search endpoint is required.");let t=new URL(r);if(t.protocol!=="http:"&&t.protocol!=="https:")throw new Error("Hosted web search endpoint must use http or https.");let n=t.pathname.split("/").filter(Boolean),i=n.findIndex(c=>c.toLowerCase()==="opchat");if(i>=0)t.pathname=`/${[...n.slice(0,i),"v1","search"].join("/")}`;else{let c=n.findIndex(a=>a.toLowerCase()==="search");if(c>=0)t.pathname=`/${n.slice(0,c+1).join("/")}`;else{let a=n.findIndex(u=>u.toLowerCase()==="v1");t.pathname=a>=0?`/${[...n.slice(0,a+1),"search"].join("/")}`:`${t.pathname.replace(/\/+$/,"")}/v1/search`.replace(/\/{2,}/g,"/")}}return t.search="",t.hash="",t.toString()}s(d,"normalizeSearchApiUrl");function S(e){let r=e.query.trim();if(!r)throw new Error("web_search query is required.");let t=_(e.limit),n=Array.isArray(e.domains)?e.domains.map(i=>i.trim()).filter(Boolean).slice(0,10):void 0;return{query:r,limit:t,...typeof e.recencyDays=="number"&&Number.isFinite(e.recencyDays)&&e.recencyDays>=0?{recencyDays:Math.floor(e.recencyDays)}:{},...n&&n.length>0?{domains:n}:{}}}s(S,"normalizeWebSearchRequest");function y(e){let r=e.trim();if(!r)throw new Error("Hosted web search endpoint is required.");let t=new URL(r);if(t.protocol!=="http:"&&t.protocol!=="https:")throw new Error("Hosted web search endpoint must use http or https.");return t.toString()}s(y,"normalizeEndpoint");function p(...e){for(let r of e){let t=r?.trim();if(t)return t}return null}s(p,"firstNonEmpty");function _(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?g:Math.min(Math.floor(e),A)}s(_,"normalizeLimit");function w(e,r){let t=e&&typeof e=="object"?e:{},i=(Array.isArray(t.results)?t.results:Array.isArray(t.items)?t.items:[]).map(P).filter(c=>!!c);return{query:o(t.query)??r,provider:o(t.provider)??"hosted",searchedAt:o(t.searchedAt)??o(t.searched_at)??new Date().toISOString(),results:i,truncated:t.truncated===!0}}s(w,"normalizeWebSearchResult");function P(e,r){if(!e||typeof e!="object")return null;let t=e,n=o(t.url),i=o(t.title);return!n||!i?null:{id:o(t.id)??`result_${r+1}`,title:i,url:n,snippet:R(o(t.snippet)??o(t.description)??o(t.text)??o(t.content)),sourceName:o(t.sourceName)??o(t.source_name)??o(t.source)??I(n),faviconUrl:x(o(t.faviconUrl)??o(t.favicon_url)??o(t.iconUrl)??o(t.icon_url))??N(n),publishedAt:o(t.publishedAt)??o(t.published_at)??o(t.publishedDate)??o(t.published_date),updatedAt:o(t.updatedAt)??o(t.updated_at)??o(t.updatedDate)??o(t.updated_date)}}s(P,"normalizeWebSearchItem");function R(e){if(!e)return"";let r=e.replace(/\s+/g," ").trim();return r.length<=f?r:`${r.slice(0,f-1).trimEnd()}\u2026`}s(R,"normalizeSnippet");function x(e){if(!e)return null;try{let r=new URL(e);return r.protocol!=="http:"&&r.protocol!=="https:"?null:r.toString()}catch{return null}}s(x,"normalizeOptionalUrl");function N(e){try{return new URL("/favicon.ico",e).toString()}catch{return null}}s(N,"faviconUrlFromPageUrl");function I(e){try{return new URL(e).hostname.replace(/^www\./i,"")}catch{return null}}s(I,"hostnameFromUrl");async function O(e){let r=await e.text().catch(()=>"");if(!r)return e.statusText||`HTTP ${e.status}`;try{let t=JSON.parse(r);if(t&&typeof t=="object"){let n=t,i=n.error;return i&&typeof i=="object"?o(i.message)??JSON.stringify(t):o(n.message)??o(n.error)??JSON.stringify(t)}}catch{return r}return r}s(O,"readSearchError");function o(e){return typeof e=="string"&&e.trim()?e.trim():null}s(o,"stringValue");export{b as a,D as b,E as c,d,S as e};
|