openpond 0.2.61 → 0.2.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/dist/app-server.d.ts +3264 -18
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{acp-FUAWCKBH.js → acp-DYRBDJRU.js} +1 -1
  4. package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-UTLP7C3I.js} +1 -1
  5. package/dist/chunks/{actions-command-LOHNQUWP.js → actions-command-6LF4Z4WK.js} +1 -1
  6. package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-N2H3RBEN.js} +1 -1
  7. package/dist/chunks/{app-server-connected-apps-Q2VWWJNX.js → app-server-connected-apps-3T546FE7.js} +1 -1
  8. package/dist/chunks/app-server-evaluations-TXD747QA.js +2 -0
  9. package/dist/chunks/{app-server-harness-services-2PSZBT7U.js → app-server-harness-services-BBCDV5P3.js} +1 -1
  10. package/dist/chunks/app-server-runtime-VEJPDAFP.js +2 -0
  11. package/dist/chunks/{apps-7PIBF32Q.js → apps-CTT2XYRR.js} +1 -1
  12. package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
  13. package/dist/chunks/{chunk-5VPU7OS7.js → chunk-2IIBCCOK.js} +1 -1
  14. package/dist/chunks/{chunk-ZISYLRH6.js → chunk-2UDAKLJ4.js} +1 -1
  15. package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
  16. package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-3R4MSE2S.js} +1 -1
  17. package/dist/chunks/{chunk-OFVUN4KI.js → chunk-47AXSBPV.js} +1 -1
  18. package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
  19. package/dist/chunks/chunk-4PZWGNX4.js +86 -0
  20. package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-4RZBGKT7.js} +1 -1
  21. package/dist/chunks/{chunk-VBW2X42G.js → chunk-4TM75R7V.js} +1 -1
  22. package/dist/chunks/chunk-4U2FNXQW.js +2 -0
  23. package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
  24. package/dist/chunks/{chunk-VWJ5IYQP.js → chunk-547AUVKN.js} +1 -1
  25. package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-557XSPVS.js} +1 -1
  26. package/dist/chunks/{chunk-ZHFH2TZN.js → chunk-557YG77L.js} +1 -1
  27. package/dist/chunks/{chunk-MF35MALN.js → chunk-5A6ER3M2.js} +1 -1
  28. package/dist/chunks/{chunk-U4HZD2GM.js → chunk-5OSM75X5.js} +1 -1
  29. package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-6SH4B7DV.js} +1 -1
  30. package/dist/chunks/chunk-6XSSM4WT.js +3 -0
  31. package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-7JBB4PXS.js} +1 -1
  32. package/dist/chunks/{chunk-SID4X3YN.js → chunk-7JXZNCBC.js} +1 -1
  33. package/dist/chunks/chunk-7KTARW23.js +2 -0
  34. package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
  35. package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-AKZPMKWP.js} +1 -1
  36. package/dist/chunks/{chunk-SIV5P6JO.js → chunk-AMO5DVKM.js} +2 -2
  37. package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
  38. package/dist/chunks/{chunk-4RHM4WN2.js → chunk-B42QQUZY.js} +1 -1
  39. package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
  40. package/dist/chunks/{chunk-CQF6QZEL.js → chunk-BEI4YULC.js} +1 -1
  41. package/dist/chunks/chunk-BKEDG3A4.js +22 -0
  42. package/dist/chunks/{chunk-GEXKTGLY.js → chunk-C7M2WBWZ.js} +14 -14
  43. package/dist/chunks/{chunk-ELYRVTTG.js → chunk-CJUVHE4U.js} +1 -1
  44. package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-EIX2V2KU.js} +1 -1
  45. package/dist/chunks/{chunk-AWPYTDH4.js → chunk-EWOTDVDJ.js} +1 -1
  46. package/dist/chunks/{chunk-B47JMAVW.js → chunk-F4TJ7WQV.js} +1 -1
  47. package/dist/chunks/{chunk-TXBIZDXG.js → chunk-F7D4BMTO.js} +1 -1
  48. package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FFWOTZQM.js} +1 -1
  49. package/dist/chunks/{chunk-6RVF2J47.js → chunk-FUSCTBJI.js} +1 -1
  50. package/dist/chunks/{chunk-BN5AVRUG.js → chunk-GAQLXFOT.js} +1 -1
  51. package/dist/chunks/{chunk-LHENAWLH.js → chunk-GEKORCMN.js} +1 -1
  52. package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-GNCEZ3UP.js} +1 -1
  53. package/dist/chunks/{chunk-WRQEYW3V.js → chunk-GOIKLFXK.js} +1 -1
  54. package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GQGLPKU4.js} +1 -1
  55. package/dist/chunks/{chunk-LBBXVOVR.js → chunk-GSWBNJGZ.js} +1 -1
  56. package/dist/chunks/{chunk-7EAWLYYB.js → chunk-GV3LFSMI.js} +1 -1
  57. package/dist/chunks/{chunk-GQUS7MCH.js → chunk-GW5SE3FM.js} +1 -1
  58. package/dist/chunks/{chunk-I3W27VK4.js → chunk-HBLN4OLY.js} +1 -1
  59. package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
  60. package/dist/chunks/{chunk-4P3X2RXA.js → chunk-HKV7RX5E.js} +1 -1
  61. package/dist/chunks/{chunk-QDBYLJGH.js → chunk-HXZXDDKW.js} +1 -1
  62. package/dist/chunks/{chunk-LNRFRAV5.js → chunk-INO67SEN.js} +1 -1
  63. package/dist/chunks/{chunk-E67M5WGY.js → chunk-IWK3RTLR.js} +1 -1
  64. package/dist/chunks/{chunk-U447MS3Y.js → chunk-J3B2GM4A.js} +1 -1
  65. package/dist/chunks/chunk-JCLTFDVW.js +2 -0
  66. package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
  67. package/dist/chunks/{chunk-D4JZALZ4.js → chunk-JIFUGA3U.js} +1 -1
  68. package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
  69. package/dist/chunks/{chunk-FWIPHEVA.js → chunk-JX6OX6XE.js} +1 -1
  70. package/dist/chunks/{chunk-D5ADDBS5.js → chunk-JY3YSI54.js} +1 -1
  71. package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
  72. package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
  73. package/dist/chunks/chunk-LILXHGIA.js +2 -0
  74. package/dist/chunks/{chunk-MCIIGQT7.js → chunk-LJDBR3RN.js} +1 -1
  75. package/dist/chunks/{chunk-3TYCIYW6.js → chunk-LJPO3TEL.js} +1 -1
  76. package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LRRBYIGH.js} +2 -2
  77. package/dist/chunks/{chunk-P4XM7LUT.js → chunk-M5IX6VUA.js} +1 -1
  78. package/dist/chunks/chunk-MEK7DLX3.js +2 -0
  79. package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
  80. package/dist/chunks/{chunk-ZBBVRYU3.js → chunk-MNFW5WLD.js} +1 -1
  81. package/dist/chunks/{chunk-2VXL6AU3.js → chunk-MNXNZDDW.js} +1 -1
  82. package/dist/chunks/chunk-N5GPINVP.js +2 -0
  83. package/dist/chunks/{chunk-TSAW2QVU.js → chunk-NBE74GLF.js} +1 -1
  84. package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-NE4ESZPT.js} +1 -1
  85. package/dist/chunks/{chunk-CO3OJFPU.js → chunk-NKZNPTLA.js} +1 -1
  86. package/dist/chunks/{chunk-WFVOG5PU.js → chunk-NLQ2UPN2.js} +1 -1
  87. package/dist/chunks/chunk-NOSBNHGC.js +18 -0
  88. package/dist/chunks/{chunk-TTN63EAM.js → chunk-NWOK6NLE.js} +1 -1
  89. package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
  90. package/dist/chunks/chunk-O3MHHGC5.js +151 -0
  91. package/dist/chunks/{chunk-IUGK6BBY.js → chunk-OCC43RSJ.js} +1 -1
  92. package/dist/chunks/{chunk-BQUWZRWU.js → chunk-P74RR2GB.js} +1 -1
  93. package/dist/chunks/{chunk-PAZDQRYU.js → chunk-PAE3PQEC.js} +1 -1
  94. package/dist/chunks/{chunk-M4ZRCRJM.js → chunk-PGO4FRHU.js} +2 -2
  95. package/dist/chunks/chunk-Q34IF4PW.js +2 -0
  96. package/dist/chunks/{chunk-Q324ZA5M.js → chunk-QAVQJZCM.js} +1 -1
  97. package/dist/chunks/{chunk-EIIGTADO.js → chunk-RBDUMASL.js} +1 -1
  98. package/dist/chunks/{chunk-TMMFF6DO.js → chunk-RH43WLBX.js} +1 -1
  99. package/dist/chunks/{chunk-RPOD6I64.js → chunk-RTJCELRR.js} +1 -1
  100. package/dist/chunks/{chunk-L3GA2CQI.js → chunk-SD64CLJX.js} +1 -1
  101. package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
  102. package/dist/chunks/{chunk-MLTKB5G3.js → chunk-SZKFNKWO.js} +1 -1
  103. package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
  104. package/dist/chunks/{chunk-PE7UKJXK.js → chunk-T6C5BNXK.js} +1 -1
  105. package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
  106. package/dist/chunks/{chunk-OQUKSRU3.js → chunk-TGEGXTPR.js} +1 -1
  107. package/dist/chunks/chunk-TM4VEMNN.js +2 -0
  108. package/dist/chunks/chunk-TUCKED4T.js +4 -0
  109. package/dist/chunks/chunk-TVTFEGTU.js +2 -0
  110. package/dist/chunks/{chunk-HZLV773Y.js → chunk-TW3SRBLU.js} +1 -1
  111. package/dist/chunks/{chunk-BNZTJPK7.js → chunk-U456UP3N.js} +1 -1
  112. package/dist/chunks/chunk-UC3FXTDL.js +9 -0
  113. package/dist/chunks/{chunk-XLULTQLZ.js → chunk-UT6F6AIB.js} +1 -1
  114. package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
  115. package/dist/chunks/{chunk-DW3GJRY3.js → chunk-VAJSRUAB.js} +1 -1
  116. package/dist/chunks/chunk-VE6ZIGUQ.js +2 -0
  117. package/dist/chunks/{chunk-GLVR74PX.js → chunk-VI32G77S.js} +1 -1
  118. package/dist/chunks/{chunk-ROE24PN5.js → chunk-VK4TPZTA.js} +1 -1
  119. package/dist/chunks/{chunk-Q66LWQGF.js → chunk-VSQXDS6H.js} +1 -1
  120. package/dist/chunks/{chunk-4GZ2FPB5.js → chunk-VWRTE64Y.js} +1 -1
  121. package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
  122. package/dist/chunks/{chunk-57RY3LSR.js → chunk-WGLVSGFA.js} +1 -1
  123. package/dist/chunks/{chunk-I7JCARVH.js → chunk-WQMXEZVE.js} +3 -3
  124. package/dist/chunks/chunk-X4ZT22SG.js +2 -0
  125. package/dist/chunks/{chunk-DGPGOBYZ.js → chunk-XSB3T4JZ.js} +1 -1
  126. package/dist/chunks/{chunk-ZZWAQBA2.js → chunk-XWDFXM3S.js} +1 -1
  127. package/dist/chunks/{chunk-4LZLO4OW.js → chunk-Y2KPHVZK.js} +1 -1
  128. package/dist/chunks/chunk-ZQHPGEYT.js +2 -0
  129. package/dist/chunks/{chunk-T4LLJC5N.js → chunk-ZXT7V64X.js} +1 -1
  130. package/dist/chunks/cli-GCSO2OAI.js +2 -0
  131. package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-BU2RPG33.js} +1 -1
  132. package/dist/chunks/connected-app-executor-UDE7U4KG.js +2 -0
  133. package/dist/chunks/{connected-evidence-4J3YXU4O.js → connected-evidence-GXIY2L7C.js} +1 -1
  134. package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-V5QXRK5Q.js} +1 -1
  135. package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
  136. package/dist/chunks/{continual-CJUZM5ZQ.js → continual-FLW6DAJK.js} +1 -1
  137. package/dist/chunks/{core-commands-JGXU6B4C.js → core-commands-NJ6TGND4.js} +1 -1
  138. package/dist/chunks/{dataset-preparation-authoring-DFGJBMVF.js → dataset-preparation-authoring-IUXUQK3L.js} +1 -1
  139. package/dist/chunks/{datasets-MNHZAZIB.js → datasets-AH56DKLZ.js} +1 -1
  140. package/dist/chunks/{desktop-test-P23MHAIG.js → desktop-test-PYUTEOWO.js} +1 -1
  141. package/dist/chunks/{dist-IIFTZWNR.js → dist-5267UT3V.js} +1 -1
  142. package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
  143. package/dist/chunks/{evaluation-coordination-6NQEH5WU.js → evaluation-coordination-3AUICOC5.js} +1 -1
  144. package/dist/chunks/{experiment-improvements-M27Z5OF4.js → experiment-improvements-YS7GGPDW.js} +1 -1
  145. package/dist/chunks/experiments-EJZK7FPT.js +2 -0
  146. package/dist/chunks/{experiments-signal-R3NNH7WR.js → experiments-signal-NKUIJCIY.js} +1 -1
  147. package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
  148. package/dist/chunks/{help-M2VQGPVC.js → help-PXUUREHZ.js} +1 -1
  149. package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +2 -0
  150. package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +2 -0
  151. package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +2 -0
  152. package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +3 -0
  153. package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +2 -0
  154. package/dist/chunks/{hosted-profile-candidate-37ZFY2LH.js → hosted-profile-candidate-DKEMVIYG.js} +1 -1
  155. package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +2 -0
  156. package/dist/chunks/{hosted-profile-evaluation-control-UQBMML6K.js → hosted-profile-evaluation-control-ERCXAPZD.js} +1 -1
  157. package/dist/chunks/{hosted-profile-evaluation-inspection-YASS4T6L.js → hosted-profile-evaluation-inspection-Q3AIIIB6.js} +1 -1
  158. package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +3 -0
  159. package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-X2YCFYEJ.js} +1 -1
  160. package/dist/chunks/{human-review-IJETDOWB.js → human-review-5WM6MSON.js} +1 -1
  161. package/dist/chunks/{import-WLLUIDS6.js → import-JWZSZCE4.js} +1 -1
  162. package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +2 -0
  163. package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +2 -0
  164. package/dist/chunks/{model-projects-AVBQDNYG.js → model-projects-H22KENI4.js} +1 -1
  165. package/dist/chunks/opchat-3S6TSDZO.js +3 -0
  166. package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +2 -0
  167. package/dist/chunks/{organizations-DJRJWC5I.js → organizations-62YNTZTO.js} +1 -1
  168. package/dist/chunks/{profile-JRS3JNRC.js → profile-ELE2D7HU.js} +1 -1
  169. package/dist/chunks/project-action-payload-32F4X2BB.js +2 -0
  170. package/dist/chunks/{project-agent-2KNJFNZI.js → project-agent-O4REKO6T.js} +1 -1
  171. package/dist/chunks/{published-experiment-source-LFYHKFAO.js → published-experiment-source-DAOTJLIN.js} +1 -1
  172. package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +2 -0
  173. package/dist/chunks/{runtime-CBJF5GMB.js → runtime-776NUSE7.js} +2 -2
  174. package/dist/chunks/{sandbox-command-IIGTPYN3.js → sandbox-command-UQ26NDIX.js} +1 -1
  175. package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-WP6YCGBK.js} +1 -1
  176. package/dist/chunks/saved-work-PG52WCRQ.js +2 -0
  177. package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-RPB65PME.js} +1 -1
  178. package/dist/chunks/{src-4YZF6L6H.js → src-2R4CMCJ5.js} +1 -1
  179. package/dist/chunks/src-AU6LG7E6.js +421 -0
  180. package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +2 -0
  181. package/dist/chunks/{store-chat-resources-CGW7PDCG.js → store-chat-resources-T4LR7K25.js} +1 -1
  182. package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-R62D2HD6.js} +1 -1
  183. package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-25O7BAR2.js} +1 -1
  184. package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-T5E2GUKK.js} +1 -1
  185. package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-5Y4U5L3R.js} +1 -1
  186. package/dist/chunks/{store-evaluation-results-V5J6L4NV.js → store-evaluation-results-WUVJWCFU.js} +1 -1
  187. package/dist/chunks/{store-harness-workspaces-HHMM6GNK.js → store-harness-workspaces-IFEFY5CK.js} +1 -1
  188. package/dist/chunks/{store-human-review-V5H4QDHR.js → store-human-review-ZQNLZRGG.js} +1 -1
  189. package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +2 -0
  190. package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-LOH4F4TF.js} +1 -1
  191. package/dist/chunks/{store-model-batch-review-KMYPYWJR.js → store-model-batch-review-QO4VVKWC.js} +1 -1
  192. package/dist/chunks/{store-model-configuration-UXNC4PGY.js → store-model-configuration-C3HSOFD5.js} +1 -1
  193. package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +2 -0
  194. package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-RNIFLJRW.js} +1 -1
  195. package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-DVQ2PP4F.js} +1 -1
  196. package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-LXWFFYCZ.js} +1 -1
  197. package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-4HH7LX6N.js} +1 -1
  198. package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-JLW4GD4Q.js} +1 -1
  199. package/dist/chunks/{store-task-inbox-LNDCZOYE.js → store-task-inbox-DL5RYFPO.js} +1 -1
  200. package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-NJXRXFLC.js} +1 -1
  201. package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +9 -0
  202. package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-VRLU6NFX.js} +1 -1
  203. package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-3ZHG4LGI.js} +1 -1
  204. package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-KWQD5PRP.js} +1 -1
  205. package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-ZRS3ILF2.js} +1 -1
  206. package/dist/chunks/{taskset-NYLUYX6K.js → taskset-QDMCQQDJ.js} +1 -1
  207. package/dist/chunks/{taskset-packages-I7I5KBFP.js → taskset-packages-CBLJFWDQ.js} +1 -1
  208. package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-GF272RGC.js} +1 -1
  209. package/dist/chunks/{training-UBX6E7SK.js → training-DF5UEPY3.js} +1 -1
  210. package/dist/chunks/{training-error-AYOGHHL2.js → training-error-L5V5IBX3.js} +1 -1
  211. package/dist/chunks/training-hosted-I2NDBYGS.js +2 -0
  212. package/dist/chunks/training-hosted-report-4F25RZZ4.js +2 -0
  213. package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
  214. package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
  215. package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-5RUXYIOF.js} +1 -1
  216. package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-JRY2IE7H.js} +1 -1
  217. package/dist/cli.js +2 -2
  218. package/dist/hosted-chat.d.ts +28 -0
  219. package/dist/index.js +1 -1
  220. package/dist/skills/openpond-cli/SKILL.md +15 -2
  221. package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
  222. package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
  223. package/dist/skills/openpond-cli/references/experiments-and-training.md +155 -10
  224. package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
  225. package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
  226. package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
  227. package/dist/web/assets/App-DHJVXTI2.js +54 -0
  228. package/dist/web/assets/App-DpFKLxuA.css +1 -0
  229. package/dist/web/assets/AppDialog-BurL61qE.js +1 -0
  230. package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +2 -0
  231. package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-DZLErwj0.js} +1 -1
  232. package/dist/web/assets/AppsView-ttlr9ckQ.js +1 -0
  233. package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-CpMSfHCK.js} +1 -1
  234. package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +1 -0
  235. package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-CEbM980A.js} +1 -1
  236. package/dist/web/assets/{ChatTimelineEntry-IKzZsHoI.js → ChatTimelineEntry-BITv20Ze.js} +1 -1
  237. package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-DrKJmJZK.js} +1 -1
  238. package/dist/web/assets/{CommandMenu-CBY2AJxV.js → CommandMenu-6oj8FUr6.js} +1 -1
  239. package/dist/web/assets/CommunityView-BzpIq1lD.js +1 -0
  240. package/dist/web/assets/ComposerAttachments-6en7m_ov.js +2 -0
  241. package/dist/web/assets/ComposerCreateImproveStrip-ChplO9YP.js +1 -0
  242. package/dist/web/assets/ConversationImportsSettings-DRHgc7j_.js +1 -0
  243. package/dist/web/assets/FilePagePreview-CW4J_1u7.js +2 -0
  244. package/dist/web/assets/GetStartedView-CaBk_mX6.js +1 -0
  245. package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
  246. package/dist/web/assets/GettingStartedDialog-JtFLyU3F.js +1 -0
  247. package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-hhcjDifK.js} +1 -1
  248. package/dist/web/assets/HostedModelLearningSettings-CY8198Y1.js +1 -0
  249. package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +1 -0
  250. package/dist/web/assets/LabSkillSidebar-HibUEEko.js +1 -0
  251. package/dist/web/assets/{LabsRoute-DOnw39du.js → LabsRoute-B61l1b8P.js} +8 -8
  252. package/dist/web/assets/MainChatThread-egKi0gLk.js +2 -0
  253. package/dist/web/assets/MainPane-2dj6Dg4l.js +95 -0
  254. package/dist/web/assets/{MainPane-CuBUBA9F.css → MainPane-BwHw3UYp.css} +1 -1
  255. package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
  256. package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +2 -0
  257. package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +1 -0
  258. package/dist/web/assets/NewProjectDialog-t9Imnb__.js +1 -0
  259. package/dist/web/assets/OutputsPage-CeGq_F1S.js +1 -0
  260. package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-VHME5V8j.js} +1 -1
  261. package/dist/web/assets/ProjectsPage-2TMZoEPB.js +1 -0
  262. package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +1 -0
  263. package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +1 -0
  264. package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +1 -0
  265. package/dist/web/assets/SettingsView-D2bu3tK_.js +5 -0
  266. package/dist/web/assets/TeamChatView-CN17AsgA.js +1 -0
  267. package/dist/web/assets/TerminalOverlay-DlhRpi-X.js +16 -0
  268. package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +1 -0
  269. package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-BhhZPPuY.js} +1 -1
  270. package/dist/web/assets/{TrainingMetricWorkbench-BmzHLwIP.js → TrainingMetricWorkbench-DBy8F1xp.js} +1 -1
  271. package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-DTZslBeW.js} +2 -2
  272. package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +1 -0
  273. package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +11 -0
  274. package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +35 -0
  275. package/dist/web/assets/WorkspaceFileLocation-ChEeZffU.js +1 -0
  276. package/dist/web/assets/WorkspaceGitDialogs-D_RUXhTi.js +1 -0
  277. package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-BJxaiDrj.js} +3 -3
  278. package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-A28Poeca.js} +1 -1
  279. package/dist/web/assets/{chat-resources-CItQ4mZD.js → chat-resources-3SvnVeKv.js} +1 -1
  280. package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-dYn0pd4Q.js} +1 -1
  281. package/dist/web/assets/chevron-right-sFx2xRvT.js +1 -0
  282. package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-BYNVSWIQ-DWh9SmdB.js} +1 -1
  283. package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ZFYI4P6C-BmsNtSkR.js} +1 -1
  284. package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-DTTLbrYt.js} +1 -1
  285. package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-CRMPCFnq.js} +1 -1
  286. package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
  287. package/dist/web/assets/copy-DR4ielPn.js +1 -0
  288. package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-DmttVQ_a.js} +1 -1
  289. package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-d-2GuNvW.js} +1 -1
  290. package/dist/web/assets/external-link-B4rPiZEp.js +1 -0
  291. package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-BrIUcUk_.js} +1 -1
  292. package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-DwImGEt-.js} +1 -1
  293. package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-Ds1mkrlW.js} +1 -1
  294. package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-s15GR0Fn.js} +1 -1
  295. package/dist/web/assets/icons-CK5-nxVC.js +1 -0
  296. package/dist/web/assets/{image-C7HVlg3X.js → image-CY-sHbfQ.js} +1 -1
  297. package/dist/web/assets/{index-BsPUniZy.js → index-DYrLeSyY.js} +2 -2
  298. package/dist/web/assets/index-Dezj4Z2p.css +1 -0
  299. package/dist/web/assets/{info-BLWDShaz.js → info-aSvM8YlJ.js} +1 -1
  300. package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-vos9H2hz.js} +1 -1
  301. package/dist/web/assets/loader-circle-cyf35w3i.js +1 -0
  302. package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-pQmEaoMt.js} +1 -1
  303. package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-DgF6ZVOM.js} +1 -1
  304. package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-BPwsKvRB.js} +2 -2
  305. package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-BbMpa0_-.js} +2 -2
  306. package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-CJlccVX3.js} +2 -2
  307. package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-pWurLXbm.js} +2 -2
  308. package/dist/web/assets/{monitor-B6OuAu13.js → monitor-DlEV241C.js} +1 -1
  309. package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-fnRZSIRc.js} +1 -1
  310. package/dist/web/assets/{pdf-RXlFwNte.js → pdf-CT3zVKCE.js} +1 -1
  311. package/dist/web/assets/play-wI_3FLr4.js +1 -0
  312. package/dist/web/assets/plus-DoJe4fLj.js +1 -0
  313. package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-Bb8ecExR.js} +1 -1
  314. package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
  315. package/dist/web/assets/{python-BQXo7wMt.js → python-DXA1xp0A.js} +1 -1
  316. package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-B53QjxMO.js} +1 -1
  317. package/dist/web/assets/{save-BxXc21N6.js → save-V1Q4Fcqa.js} +1 -1
  318. package/dist/web/assets/settings-lists-CtH1A57b.js +5 -0
  319. package/dist/web/assets/square-BqSK-hv9.js +1 -0
  320. package/dist/web/assets/square-terminal-Dmgkm5zY.js +1 -0
  321. package/dist/web/assets/submit-issue-command-DRgUboVW.js +3 -0
  322. package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-B-BD2K2Q.js} +1 -1
  323. package/dist/web/assets/{training-managed-adapter-81RrdT1k.js → training-managed-adapter-BXNwgd3P.js} +1 -1
  324. package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-14942K_Z.js} +5 -5
  325. package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-DdgIcxK3.js} +1 -1
  326. package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
  327. package/dist/web/assets/{upload-NXasN1wU.js → upload-82Y6RjLi.js} +1 -1
  328. package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-BgHXNpq_.js} +1 -1
  329. package/dist/web/assets/{useAgentInventory-BV4CUWzJ.js → useAgentInventory-B-LNn3up.js} +1 -1
  330. package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CsKv22Hs.js} +1 -1
  331. package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-CPC2wsWm.js} +1 -1
  332. package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-DXOoDN9l.js} +1 -1
  333. package/dist/web/assets/{workers-u92Boudu.js → workers-Clf4hKt5.js} +1 -1
  334. package/dist/web/assets/x-IPhrr4ju.js +1 -0
  335. package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-I1tf8Uxx.js} +1 -1
  336. package/dist/web/index.html +12 -3
  337. package/docs/command-reference.md +28 -2
  338. package/package.json +2 -1
  339. package/dist/chunks/app-server-evaluations-HAAYVEXB.js +0 -2
  340. package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
  341. package/dist/chunks/chunk-4N3UF3U5.js +0 -2
  342. package/dist/chunks/chunk-6DCXAXVD.js +0 -22
  343. package/dist/chunks/chunk-BLKTUFGB.js +0 -2
  344. package/dist/chunks/chunk-E3EKBPCB.js +0 -2
  345. package/dist/chunks/chunk-F5JDBDYL.js +0 -2
  346. package/dist/chunks/chunk-JEVA7YQL.js +0 -3
  347. package/dist/chunks/chunk-KC7I6E6W.js +0 -2
  348. package/dist/chunks/chunk-OJSK4NSW.js +0 -151
  349. package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
  350. package/dist/chunks/chunk-UJBEWIR3.js +0 -8
  351. package/dist/chunks/chunk-V67IFV26.js +0 -86
  352. package/dist/chunks/chunk-VSUHJ46L.js +0 -18
  353. package/dist/chunks/chunk-X3WEQL3O.js +0 -2
  354. package/dist/chunks/chunk-XK7SPL63.js +0 -2
  355. package/dist/chunks/chunk-YR5ID2SS.js +0 -2
  356. package/dist/chunks/cli-WC45SI7E.js +0 -2
  357. package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
  358. package/dist/chunks/experiments-IWSCFDBB.js +0 -2
  359. package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
  360. package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
  361. package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
  362. package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
  363. package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
  364. package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
  365. package/dist/chunks/hosted-profile-evaluation-preparation-ZAOGDQXO.js +0 -3
  366. package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
  367. package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
  368. package/dist/chunks/opchat-KSOJEL4W.js +0 -3
  369. package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
  370. package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
  371. package/dist/chunks/saved-work-QA46KCME.js +0 -2
  372. package/dist/chunks/src-E7NWAN5B.js +0 -420
  373. package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
  374. package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
  375. package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
  376. package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
  377. package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
  378. package/dist/web/assets/App-Df7uYQGj.css +0 -1
  379. package/dist/web/assets/App-Yy3l2sdD.js +0 -56
  380. package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
  381. package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
  382. package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
  383. package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
  384. package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
  385. package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
  386. package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
  387. package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
  388. package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
  389. package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
  390. package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
  391. package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
  392. package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
  393. package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
  394. package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
  395. package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
  396. package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
  397. package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
  398. package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
  399. package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
  400. package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
  401. package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
  402. package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
  403. package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
  404. package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
  405. package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
  406. package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
  407. package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
  408. package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
  409. package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
  410. package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
  411. package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
  412. package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
  413. package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
  414. package/dist/web/assets/icons-kaq6k88m.js +0 -1
  415. package/dist/web/assets/index-DUMDOdB2.css +0 -1
  416. package/dist/web/assets/play-BPPQoqMl.js +0 -1
  417. package/dist/web/assets/plus-D18vYzHF.js +0 -1
  418. package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
  419. package/dist/web/assets/square-Da8RuqW4.js +0 -1
  420. package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as bt}from"./chunk-SID4X3YN.js";import{a as re,e as se,f as Rt,h as St}from"./chunk-AWPYTDH4.js";import{b as Pe}from"./chunk-6PKXJEJM.js";import{a as It}from"./chunk-HIYQPZ7C.js";import{f as yt,h as S}from"./chunk-MCIIGQT7.js";import{a as xt}from"./chunk-FEAKTSRS.js";import{a as wt}from"./chunk-EIIGTADO.js";import{b as vt}from"./chunk-B47JMAVW.js";import{d as kt,g as G,h as ae}from"./chunk-E3EKBPCB.js";import{d as fe}from"./chunk-GQUS7MCH.js";import{a as gt}from"./chunk-VFH5C6D2.js";import{d as ft,e as ht}from"./chunk-TTN63EAM.js";import{m as mt}from"./chunk-MHYI7ATG.js";import{a as we,g as ot,h as it,i as te,j as nt,k as ct,l as dt,m as lt,n as pt,p as ut}from"./chunk-WRQEYW3V.js";import{u as Ze}from"./chunk-3DVWJCOA.js";import{vb as rt,zb as st}from"./chunk-UBCLPZSQ.js";import{p as at,t as ge}from"./chunk-D5ADDBS5.js";import{i as et,j as tt}from"./chunk-TMMFF6DO.js";import{f as Xe}from"./chunk-E67M5WGY.js";import{i as he}from"./chunk-4N3UF3U5.js";import{a as K,t as ee,u as ue,x as me,y as Je}from"./chunk-HZLV773Y.js";import{$ as pe,C as le,Ga as Ke,Jb as Ye,Sa as Qe,_ as U,fa as Ne,ga as We,ha as V,i as de,la as F,wa as Fe,za as Ge}from"./chunk-M4ZRCRJM.js";import{m as B}from"./chunk-VNJAAYNQ.js";import{w as ze,x as Me,z as Z}from"./chunk-M6JRS5PA.js";import{a as be,f as Re}from"./chunk-OE22TAXP.js";import{ba as Ue,d as je,g as Be}from"./chunk-4M3YW3EQ.js";import{Ba as He,Ga as _e,H as De,Ja as Ce,Ya as qe,e as Ee,eb as Ae,fb as J,gb as Le,hb as Ve,nb as Oe,ra as Te,vb as $e}from"./chunk-PBZCXPPC.js";import{r as Se}from"./chunk-NJLULBTM.js";import{c as A,d as L,e as Ie,m as M,n as h}from"./chunk-VVNV4NNW.js";import{A as r}from"./chunk-PF56N7ZY.js";import{a as g}from"./chunk-FTQLQJQV.js";import{promises as Ut}from"node:fs";import Nt from"node:path";async function La(e){let t=e.definition.tasksetRelease,s=await ft(e.store,e.harnessRelease);if(!s)throw new Error("Evaluation Profile Harness release is unavailable.");let a=await Ft({...e,runtime:s});if(a)return a;let i=await e.store.listTasksetRevisions(e.profileId);for(let n of i){if(t.id!==n.id&&t.id!==`taskset-release-${n.id}-r${n.revision}`)continue;let c=await Wt(e.storeDir,n);if(c.taskset.id===t.id&&c.taskset.contentHash===t.contentHash)return c}throw new Error(`Released Taskset ${t.id} is unavailable in Profile ${e.profileId}.`)}g(La,"loadLocalProfileEvaluationTaskset");async function Wt(e,t){let s=t.metadata.importedPackageHash;if(typeof s=="string"){let n=await ae(e,s);if(n.taskset.id!==t.id||n.taskset.revision!==t.revision)throw new Error("Imported evaluation Taskset differs from its local Profile revision.");return n}if(Ge(t)!==t.contentHash)throw new Error("Authored evaluation Taskset differs from its immutable revision.");let a=Ye({taskset:t,adapterId:kt(t)}),i=await vt({storeDir:e,taskset:t,content:{schemaVersion:"openpond.tasksetPackage.v1",taskset:a.tasksetRelease,environment:a.environmentRelease,verifierSet:a.verifierSetRelease}});return await G(e,i),i}g(Wt,"loadCandidate");async function Ft(e){let t=e.definition.tasksetRelease,s=e.runtime;if(s.release.harnessRelease.id!==e.harnessRelease.id||s.release.harnessRelease.contentHash!==e.harnessRelease.contentHash)throw new Error("Evaluation Taskset runtime differs from its requested release.");let a=`evals/tasksets/${t.contentHash}.json`,i=s.release.harnessRelease.files.find(n=>n.path===a);if(i){if(i.visibility!=="verifier")throw new Error("Evaluation Taskset package is not verifier-private.");let n=await Ut.readFile(Nt.join(s.release.bundlePath,"source",...a.split("/")));if(M(n)!==i.contentHash)throw new Error("Released evaluation Taskset package bytes differ from their source receipt.");let c=V(JSON.parse(n.toString("utf8")));if(c.taskset.id!==t.id||c.taskset.contentHash!==t.contentHash)throw new Error("Released evaluation Taskset package differs from its definition.");return c}return null}g(Ft,"loadReleasedProfileEvaluationTaskset");function ke(e){return{id:Ve(e),label:"Selected Dataset evaluation",description:"Explicit sealed external Dataset evaluation recipe.",target:e.target,tasksetRelease:{id:e.dataset.id,contentHash:e.dataset.contentHash},split:e.split,taskIds:[...new Set(e.population.map(t=>t.taskId))],seeds:[...new Set(e.population.map(t=>t.seed))],criterion:e.criterion}}g(ke,"externalProfileEvaluationDefinition");async function Ba(e){let t=e.manifest.profileEvaluation,s=t?.externalDatasetBinding?J(t.externalDatasetBinding):null;if(!s)return null;if(!e.resolveExternalDataset)throw new Error("This owner has no authorized external Dataset resolver.");let a=await e.resolveExternalDataset(s,e.selected);await a.authorize();let i=V(a.packageValue),n=await e.loadCatalog({ref:e.selected.profileRef,sourceRevision:e.selected.sourceRevision,harnessRelease:e.selected.harnessRelease});if(h(a.binding)!==h(s)||s.profileId!==e.selected.profileRef.profileId||s.declaredProfileCatalogHash!==n.catalogHash||i.contentHash!==s.packageHash||h(i.taskset)!==h(e.taskset)||s.environmentHash!==h(i.taskset.environment)||s.privateDatasetClosureHash!==h(i.files.filter(o=>o.asset.visibility!=="policy").map(o=>o.asset)))throw new Error("External Dataset admission changed its actual Profile, package or private closure.");let c=ke(s),u={schemaVersion:"openpond.profileEvaluations.v1",definitions:[c],suites:[]};if(Z(e.manifest,e.taskset,u),!t||t.catalogHash!==h(u)||t.definitionHash!==h(c)||h(t.target)!==h(s.target))throw new Error("External Dataset manifest changed its derived definition.");return await a.authorize(),{...a,packageValue:i,definition:c,catalog:u}}g(Ba,"admitProfileExternalDataset");import Ra from"node:path";var Dt=r.enum(["create","save","publish","begin_version"]),Gt=r.object({operationId:r.string().trim().min(1).max(240),kind:Dt,requestHash:r.string().regex(/^[a-f0-9]{64}$/),receipt:te,base:te.nullable()}).strict().superRefine((e,t)=>{let{receipt:s,base:a,kind:i}=e;(a&&(a.teamId!==s.teamId||a.datasetId!==s.datasetId||a.revision+1!==s.revision)||!a&&s.revision!==1)&&t.addIssue({code:"custom",message:"Operation recovery history identity/revision mismatch."}),a&&((a.ownerScope??"workspace")!==(s.ownerScope??"workspace")||a.originProjectId!==s.originProjectId||a.workspace.draft.createdAt!==s.workspace.draft.createdAt)&&t.addIssue({code:"custom",message:"Operation recovery cannot change Dataset ownership or origin."});let n=a?s.workspace.draft.status==="published"?"publish":a.workspace.draft.status==="published"?"begin_version":"save":"create";i!==n&&t.addIssue({code:"custom",message:"Operation recovery kind differs from its retained lifecycle."})}),v=r.string().trim().min(1).max(240),C=r.string().regex(/^[a-f0-9]{64}$/),O=r.iso.datetime(),y=r.number().int().nonnegative(),j=r.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),Jt=r.object({id:v,projectId:v,maximumMicroUsd:j.positive(),maximumSandboxSeconds:y.max(10800)}).strict(),Kt=r.object({schemaVersion:r.literal("openpond.datasetPreparationGrant.v1"),id:v,teamId:v,ownerUserId:v,projectId:v,maximumMicroUsd:j,maximumSandboxSeconds:y,settledMicroUsd:j,heldMicroUsd:j,sandboxSeconds:y,heldSandboxSeconds:y,unresolvedCalls:y,cleanupPending:y,createdAt:O,updatedAt:O}).strict(),ne=r.enum(["coding_change","debugging","code_explanation","structured_text","artifact_work"]),Tt=r.enum(["inventory","preview","reconstruction","grader_authoring","qualification","release"]),Qt=r.enum(["draft","running","pausing","paused","needs_attention","preview_ready","ready","releasing","completed","insufficient_data","budget_exhausted","cancelling","cancelled","failed"]),Yt=r.object({projectId:v,from:O,to:O,importCutoff:O,connections:r.array(v).min(1).max(50),excludedSessions:r.array(r.object({connectionId:v,sourceKeyHash:C,nativeRevisionHash:C,reason:r.enum(["source_read_failed","native_session_not_ready"]),explanation:r.string().trim().min(1).max(2e3)}).strict()).max(1e4).default([])}).strict().superRefine((e,t)=>{Date.parse(e.from)>=Date.parse(e.to)&&t.addIssue({code:"custom",message:"Source event-time window must be nonempty."}),new Set(e.connections).size!==e.connections.length&&t.addIssue({code:"custom",message:"Source connections must be unique."}),e.excludedSessions.some(s=>!e.connections.includes(s.connectionId))&&t.addIssue({code:"custom",message:"Excluded sessions must belong to selected source connections."}),new Set(e.excludedSessions.map(s=>JSON.stringify([s.connectionId,s.sourceKeyHash]))).size!==e.excludedSessions.length&&t.addIssue({code:"custom",message:"Source session exclusions must be unique."})}),Ht=r.object({source:Yt,taskClasses:r.array(ne).min(1).max(5),limits:r.object({maximumConversations:r.number().int().min(1).max(1e4),maximumCandidates:r.number().int().min(1).max(1e4),acceptedTarget:r.number().int().min(1).max(1e4),maximumRepairsPerCandidate:r.number().int().min(0).max(5),maximumEvidenceBytesPerConversation:r.number().int().min(1024).max(2e6)}).strict(),researcher:r.object({modelId:v,maximumOutputTokens:r.number().int().min(1).max(32768)}).strict(),adjudicator:r.object({modelId:v,maximumOutputTokens:r.number().int().min(1).max(32768)}).strict(),grading:r.discriminatedUnion("mode",[r.object({mode:r.literal("auto")}).strict(),r.object({mode:r.literal("existing_only")}).strict(),r.object({mode:r.literal("manual"),releases:r.array(K).min(1).max(100)}).strict()]),budget:r.object({grantId:v,maximumMicroUsd:j.positive(),previewMaximumMicroUsd:j,qualificationMaximumMicroUsdPerCandidate:j,maximumSandboxSeconds:y.max(10800)}).strict(),finish:r.enum(["stop_ready","create_private_version"]),execution:r.enum(["preview_only","prepare"]),allowPartialVersion:r.boolean(),population:r.literal("development")}).strict().superRefine((e,t)=>{e.limits.acceptedTarget>e.limits.maximumCandidates&&t.addIssue({code:"custom",message:"Accepted target exceeds candidate scan limit."}),e.budget.previewMaximumMicroUsd>e.budget.maximumMicroUsd&&t.addIssue({code:"custom",message:"Preview allowance exceeds the shared preparation ceiling."}),new Set(e.taskClasses).size!==e.taskClasses.length&&t.addIssue({code:"custom",message:"Task classes must be unique."})}),Xt=r.object({operationId:v,expectedDatasetRevision:r.number().int().positive(),policy:Ht}).strict(),Zt=r.discriminatedUnion("action",[r.object({action:r.enum(["start","pause","resume","cancel","release"]),operationId:v,expectedRevision:r.number().int().positive()}).strict(),r.object({action:r.literal("resolve"),operationId:v,expectedRevision:r.number().int().positive(),candidateId:v,decision:r.enum(["retry","exclude"]),reason:r.string().trim().min(1).max(5e3)}).strict()]),ea=r.object({conversations:y,importedTurns:y,selectedTurns:y,queuedSnapshots:y.nullable(),failedSessions:y.nullable(),skippedSessions:y.nullable(),lastAdmissionAt:O.nullable(),complete:r.boolean(),sourceComplete:r.boolean().default(!1),excludedSessions:y.default(0),reasons:r.array(r.object({code:v,message:r.string().trim().min(1).max(2e3)}).strict()).max(100),sourceInventoryHash:C}).strict(),ta=r.object({maximumMicroUsd:j,settledMicroUsd:j,heldMicroUsd:j,unresolvedCalls:y,sandboxSeconds:y,cleanupPending:y,complete:r.boolean()}).strict(),aa=r.object({sampleConversations:y,sampleTurns:y,candidateCount:y,modelId:v,modelConfigurationHash:C,callReceiptIds:r.array(v).max(2e3),inputTokens:y.nullable(),outputTokens:y.nullable(),classes:r.array(r.object({taskClass:ne,candidates:y,assessment:r.enum(["executable","calibrated_judge","unsupported"]),requirements:r.array(r.string().trim().min(1).max(5e3)).max(20)}).strict()).max(5),exclusions:r.array(r.object({code:v,count:y,reason:r.string().trim().min(1).max(5e3)}).strict()).max(100),estimates:r.array(r.object({stage:Tt,minimumMicroUsd:j,maximumMicroUsd:j,assumptions:r.array(r.string().trim().min(1).max(2e3)).min(1).max(20)}).strict().refine(e=>e.minimumMicroUsd<=e.maximumMicroUsd,"Estimate range is reversed.")).max(6),createdAt:O}).strict(),ve=r.object({schemaVersion:r.literal("openpond.datasetPreparationRun.v1"),id:v,operationId:v,teamId:v,ownerUserId:v,datasetId:v,datasetRevision:r.number().int().positive(),revision:r.number().int().positive(),requestHash:C,policy:Ht,status:Qt,stage:Tt,coverage:ea.nullable(),preview:aa.nullable(),counts:r.object({scannedConversations:y,scannedTurns:y,candidates:y,reconstructed:y,qualifying:y,qualified:y,excluded:y,needsAttention:y}).strict(),accounting:ta,publication:r.object({datasetId:v,workspaceRevision:r.number().int().positive(),release:K}).strict().nullable(),error:r.object({code:v,message:r.string().trim().min(1).max(5e3)}).strict().nullable(),createdAt:O,updatedAt:O}).strict().superRefine((e,t)=>{e.accounting.maximumMicroUsd!==e.policy.budget.maximumMicroUsd&&t.addIssue({code:"custom",message:"Accounting authority differs from the saved preparation policy."}),e.counts.qualified+e.counts.excluded+e.counts.needsAttention>e.counts.candidates&&t.addIssue({code:"custom",message:"Preparation outcomes exceed the candidate population."}),e.status==="preview_ready"&&(e.policy.execution!=="preview_only"||e.stage!=="preview"||!e.preview||!e.coverage?.complete||!e.accounting.complete)&&t.addIssue({code:"custom",message:"Preview readiness requires a preview-only policy, reconciled source coverage and settled preview calls."}),["ready","releasing","completed"].includes(e.status)&&(e.counts.qualified===0||!e.policy.allowPartialVersion&&e.counts.qualified<e.policy.limits.acceptedTarget)&&t.addIssue({code:"custom",message:"Preparation cannot report readiness below its accepted target."}),["ready","releasing","completed"].includes(e.status)&&(e.policy.execution!=="prepare"||!e.preview||!e.coverage?.complete||!e.accounting.complete)&&t.addIssue({code:"custom",message:"Dataset readiness requires full preparation authority, reconciled source coverage, preview and final accounting."}),e.status==="completed"&&(!e.publication||!e.accounting.complete)&&t.addIssue({code:"custom",message:"Completed preparation requires publication and reconciled accounting."}),e.status==="cancelled"&&(!e.accounting.complete||e.accounting.cleanupPending>0)&&t.addIssue({code:"custom",message:"Cancellation requires settled resource obligations."})}),ra=r.object({teamId:v,datasetId:v,runs:r.array(ve).max(50),nextCursor:v.nullable()}).strict(),Y=r.object({source:we,startSequence:y,endSequence:y,role:r.enum(["requirement","initial_context","outcome","correction","verification"])}).strict().superRefine((e,t)=>{e.endSequence<e.startSequence&&t.addIssue({code:"custom",message:"Evidence span must be ordered."})}),sa=r.object({schemaVersion:r.literal("openpond.preparedTaskProvenance.v1"),candidateId:v,preparationId:v,familyKey:v,sourceSpans:r.array(Y).min(1).max(200),firstAvailableAt:O,initialInputHash:C,initialEnvironmentHash:C,initialAssetsHash:C.nullable(),sourceScopeHash:C}).strict().superRefine((e,t)=>{e.sourceSpans.some(a=>a.role==="requirement")||t.addIssue({code:"custom",message:"A reconstructed task needs a source requirement."});let s=new Set;for(let a of e.sourceSpans){e.sourceSpans.some(n=>n!==a&&n.source.id===a.source.id&&n.source.snapshotHash===a.source.snapshotHash&&n.role!==a.role&&a.startSequence<=n.endSequence&&n.startSequence<=a.endSequence)&&t.addIssue({code:"custom",message:"Evidence offsets cannot have conflicting roles."});let i=JSON.stringify([a.source,a.startSequence,a.endSequence]);s.has(i)&&t.addIssue({code:"custom",message:"Evidence span is duplicated or crosses public/private roles."}),s.add(i)}}),oa=r.object({schemaVersion:r.literal("openpond.preparedTaskQualification.v1"),id:v,candidateId:v,preparationId:v,taskHash:C,environmentHash:C,packageHash:C,graderBindings:r.array(r.object({id:v,version:v,contentHash:C,origin:r.enum(["reused","adapted","authored"])}).strict()).min(1).max(100),checks:r.array(r.object({id:v,label:r.enum(["positive","incorrect","incomplete","adversarial","clean_reset"]),executionReceiptId:v,expectedPassed:r.boolean(),observedPassed:r.boolean().nullable(),infrastructureError:v.nullable()}).strict()).min(5).max(500),independentEvidenceRefs:r.array(v).min(1).max(100),judgeCalibration:r.enum(["not_applicable","passed","failed","pending"]),cleanup:r.enum(["completed","pending"]),passed:r.boolean(),createdAt:O}).strict().superRefine((e,t)=>{if(!e.passed)return;let s=new Set(e.checks.map(a=>a.label));["positive","incorrect","incomplete","adversarial","clean_reset"].some(a=>!s.has(a))&&t.addIssue({code:"custom",message:"Qualified tasks require positive, negative, adversarial and clean-reset evidence."}),(e.cleanup!=="completed"||["pending","failed"].includes(e.judgeCalibration)||e.checks.some(a=>a.infrastructureError!==null||a.observedPassed!==a.expectedPassed))&&t.addIssue({code:"custom",message:"Failed, uncalibrated or uncleared checks cannot qualify a task."}),e.checks.some(a=>a.expectedPassed!==["positive","clean_reset"].includes(a.label))&&t.addIssue({code:"custom",message:"Qualification witnesses must pass positives/resets and reject incorrect, incomplete and adversarial outputs."})}),ia=r.object({id:v,runId:v,revision:r.number().int().positive(),taskClass:ne,status:r.enum(["discovered","reconstructing","authoring","qualifying","qualified","excluded","needs_attention"]),objective:r.string().trim().min(1).max(2e4),provenance:sa.nullable(),qualification:oa.nullable(),reason:r.object({code:v,message:r.string().trim().min(1).max(5e3)}).strict().nullable(),attempts:y.max(6)}).strict().superRefine((e,t)=>{e.status==="qualified"&&(!e.provenance||!e.qualification?.passed)&&t.addIssue({code:"custom",message:"Candidate admission requires reconstruction and qualification receipts."}),e.provenance&&(e.provenance.candidateId!==e.id||e.provenance.preparationId!==e.runId)&&t.addIssue({code:"custom",message:"Candidate provenance identity mismatch."}),e.qualification&&(e.qualification.candidateId!==e.id||e.qualification.preparationId!==e.runId)&&t.addIssue({code:"custom",message:"Candidate qualification identity mismatch."})}),_=r.string().trim().min(1).max(240),na=r.object({teamId:_,datasetId:_,runId:_,candidates:r.array(ia).max(50),nextCursor:_.nullable()}).strict(),Pt=class extends Error{static{g(this,"DatasetPreparationRequestError")}constructor(e,t,s){super(s),this.status=e,this.code=t,this.name="DatasetPreparationRequestError"}status;code},ca=class{static{g(this,"OpenPondDatasetPreparationClient")}constructor(e){this.options=e;let t=new URL(e.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!e.apiKey.trim()||!e.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async create(e,t,s){let a=Xt.parse(t),i=this.readRun(await this.request(e,"","POST",a,s),e);if(i.operationId!==a.operationId||i.requestHash!==B(a)||i.datasetRevision!==a.expectedDatasetRevision)throw new Error("Preparation creation receipt differs from the saved intent.");return i}async createGrant(e,t,s){let a=Jt.parse(t),i=this.readGrant(await this.request(e,"/grants","POST",a,s));if(i.id!==a.id||i.projectId!==a.projectId||i.maximumMicroUsd!==a.maximumMicroUsd||i.maximumSandboxSeconds!==a.maximumSandboxSeconds)throw new Error("Preparation grant receipt differs from the saved limits.");return i}async getGrant(e,t,s){let a=this.readGrant(await this.request(e,`/grants/${encodeURIComponent(_.parse(t))}`,"GET",void 0,s));if(a.id!==t)throw new Error("Preparation grant identity mismatch.");return a}readGrant(e){let t=Kt.parse(e);if(t.teamId!==this.options.teamId)throw new Error("Preparation grant workspace mismatch.");return t}async get(e,t,s){return this.readRun(await this.request(e,`/${encodeURIComponent(_.parse(t))}`,"GET",void 0,s),e,t)}async list(e,t={}){let s=new URLSearchParams(t.cursor?{cursor:_.parse(t.cursor)}:{}),a=ra.parse(await this.request(e,`?${s}`,"GET",void 0,t.signal));if(a.teamId!==this.options.teamId||a.datasetId!==e||a.runs.some(i=>i.teamId!==a.teamId||i.datasetId!==e)||new Set(a.runs.map(i=>i.id)).size!==a.runs.length)throw new Error("Preparation list scope/identity mismatch.");return a}async command(e,t,s,a){let i=Zt.parse(s),n=this.readRun(await this.request(e,`/${encodeURIComponent(_.parse(t))}/commands`,"POST",i,a),e,t);if(n.revision<i.expectedRevision+1)throw new Error("Preparation command did not advance the expected revision.");return n}async operationResult(e,t,s){let a=await this.request(e,`/operations/${encodeURIComponent(_.parse(t))}`,"GET",void 0,s);if(a===null)return null;let i=r.object({operationId:_,requestHash:r.string().regex(/^[a-f0-9]{64}$/),run:ve}).strict().parse(a);if(i.operationId!==t)throw new Error("Preparation operation recovery identity mismatch.");return this.readRun(i.run,e),i}async candidates(e,t,s={}){let a=new URLSearchParams(s.cursor?{cursor:_.parse(s.cursor)}:{}),i=na.parse(await this.request(e,`/${encodeURIComponent(_.parse(t))}/candidates?${a}`,"GET",void 0,s.signal));if(i.teamId!==this.options.teamId||i.datasetId!==e||i.runId!==t||i.candidates.some(n=>n.runId!==t)||new Set(i.candidates.map(n=>n.id)).size!==i.candidates.length)throw new Error("Preparation candidate page scope/identity mismatch.");return i}readRun(e,t,s){let a=ve.parse(e);if(a.teamId!==this.options.teamId||a.datasetId!==t||s&&a.id!==s)throw new Error("Preparation run scope/identity mismatch.");return a}async request(e,t,s,a,i){let n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/dataset-workspaces/${encodeURIComponent(_.parse(e))}/preparations${t}`,{method:s,signal:i,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},...a===void 0?{}:{body:JSON.stringify(a)}});if(!n.body)throw n.ok?new Error("Preparation response is empty."):new Pt(n.status,"dataset_preparation_request_failed",`Dataset preparation request failed (${n.status}).`);let c=n.body.getReader(),u=[],o=0;try{for(;;){let p=await c.read();if(p.done)break;if(o+=p.value.byteLength,o>(n.ok?8*1024*1024:64*1024))throw new Error("Preparation response exceeds its bounded page.");u.push(p.value)}}finally{await c.cancel()}let m=new Uint8Array(o),f=0;for(let p of u)m.set(p,f),f+=p.length;let d=new TextDecoder("utf-8",{fatal:!0}).decode(m);if(!n.ok){let p=null;try{p=JSON.parse(d)}catch{}let k=r.object({code:r.string().max(240),message:r.string().max(5e3)}).safeParse(p);throw new Pt(n.status,k.success?k.data.code:"dataset_preparation_request_failed",k.success?k.data.message:`Dataset preparation request failed (${n.status}).`)}return JSON.parse(d)}},nr=class{static{g(this,"OpenPondDatasetWorkspaceClient")}constructor(e){this.options=e;let t=new URL(e.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!e.apiKey.trim()||!e.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,""),this.preparations=new ca(e)}options;baseUrl;preparations;async list(e={}){let{signal:t,...s}=e,a=ot.parse(s),i=new URLSearchParams(Object.entries(a).filter(([,c])=>c!==void 0).map(([c,u])=>[c,String(u)])),n=lt.parse(await this.request(`?${i}`,"GET",void 0,t));if(n.teamId!==this.options.teamId||n.datasets.length>a.limit||new Set(n.datasets.map(c=>c.id)).size!==n.datasets.length)throw new Error("Dataset list workspace/page mismatch.");return n}async get(e,t){return this.readback(await this.request(`/${encodeURIComponent(e)}`,"GET",void 0,t),e)}async operationResult(e,t){let s=Dt.parse(t.kind),a=new URLSearchParams({kind:s,...t.datasetId?{datasetId:t.datasetId}:{}}),i=await this.request(`/operations/${encodeURIComponent(e)}?${a}`,"GET",void 0,t.signal,132*1024*1024);if(i===null)return null;let n=Gt.parse(i);if(this.readback(n.receipt,n.receipt.datasetId),n.base&&this.readback(n.base,n.receipt.datasetId),n.operationId!==e||n.kind!==s||t.datasetId&&n.receipt.datasetId!==t.datasetId||t.requestHash&&n.requestHash!==t.requestHash)throw new Error("Dataset operation recovery identity/request mismatch.");return n}async beginVersion(e,t,s){let a=ct.parse(t),i=this.readback(await this.request(`/${encodeURIComponent(e)}/begin-version`,"POST",a,s),e);if(i.revision!==a.expectedRevision+1||i.workspace.draft.status!=="draft"||!i.publication||!i.workspace.draft.publishedTasksetRef)throw new Error("Editable version receipt mismatch.");return i}async versions(e,t={}){let s=new URLSearchParams(t.beforeRevision===void 0?{}:{beforeRevision:String(t.beforeRevision)}),a=dt.parse(await this.request(`/${encodeURIComponent(e)}/versions?${s}`,"GET",void 0,t.signal));if(a.teamId!==this.options.teamId||a.datasetId!==e||a.items.some((i,n)=>n>0&&i.workspaceRevision>=a.items[n-1].workspaceRevision||t.beforeRevision!==void 0&&i.workspaceRevision>=t.beforeRevision))throw new Error("Dataset version history scope/order mismatch.");return a}async version(e,t,s){let a=this.readback(await this.request(`/${encodeURIComponent(e)}/versions/${t}`,"GET",void 0,s),e);if(a.revision!==t||a.workspace.draft.status!=="published")throw new Error("Dataset immutable version mismatch.");return a}async save(e,t){let s=it.parse(e),a=ue(s.workspace);if(a.draft.profileId!==this.options.teamId||a.draft.revision!==s.expectedRevision+1)throw new Error("Dataset write scope or revision mismatch.");let i=this.readback(await this.request(`/${encodeURIComponent(a.draft.id)}`,"PUT",s,t),a.draft.id);if(s.originProjectId&&i.originProjectId!==s.originProjectId)throw new Error("Dataset origin Project mismatch.");if(s.ownerScope&&i.ownerScope!==s.ownerScope)throw new Error("Dataset owner scope mismatch.");if(i.workspace.contentHash!==a.contentHash)throw new Error("Dataset write receipt differs from the saved bytes.");return i}async validate(e,t,s){let a=pt.parse(await this.request(`/${encodeURIComponent(e)}/validate`,"POST",{expectedRevision:t},s));if(a.teamId!==this.options.teamId||a.datasetId!==e||a.revision!==t)throw new Error("Dataset validation receipt mismatch.");return a}async publish(e,t,s){let a=nt.parse(t),i=this.readback(await this.request(`/${encodeURIComponent(e)}/publish`,"POST",a,s),e);if(i.revision!==a.expectedRevision+1||i.workspace.draft.status!=="published"||i.publication?.packageHash!==a.packageHash)throw new Error("Dataset publication receipt mismatch.");return i}readback(e,t){let s=te.parse(e);if(ue(s.workspace),s.datasetId!==t||s.teamId!==this.options.teamId)throw new Error("Dataset identity mismatch.");return s}async request(e,t,s,a,i){let n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/dataset-workspaces${e}`,{method:t,signal:a,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},...s===void 0?{}:{body:JSON.stringify(s)}});if(!n.ok)throw new Error(`Dataset request failed (${n.status}).`);if(i!==void 0){if(!n.body)throw new Error("Dataset response is empty.");let c=n.body.getReader(),u=[],o=0;try{for(;;){let d=await c.read();if(d.done)break;if(o+=d.value.byteLength,o>i)throw new Error("Dataset recovery exceeds its bounded response.");u.push(d.value)}}finally{await c.cancel()}let m=new Uint8Array(o),f=0;for(let d of u)m.set(d,f),f+=d.length;return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))}return n.json()}},oe=r.string().trim().min(1).max(500),da=r.string().regex(/^[a-f0-9]{64}$/),_t=r.object({release:K,afterId:oe.optional(),limit:r.number().int().min(1).max(1e4).default(100),view:r.enum(["ids","policy"]).default("ids")}).strict().superRefine((e,t)=>{e.view==="policy"&&e.limit>100&&t.addIssue({code:"custom",path:["limit"],message:"Policy previews are bounded to 100 tasks."})}),Ct=r.object({id:He.shape.id,split:Te}).strict(),la=Ct.extend({input:r.record(r.string(),r.unknown()),policyVisibleContext:r.record(r.string(),r.unknown()),artifacts:r.array(r.object({id:oe,path:r.string(),mediaType:r.string(),sizeBytes:r.number().int().nonnegative()}).strict()).max(1e3)}).strict(),pa=r.object({schemaVersion:r.literal("openpond.datasetPopulationPage.v1"),teamId:oe,release:K,view:_t.shape.view,taskCount:r.number().int().nonnegative(),items:r.array(r.union([Ct,la])).max(1e4),graders:r.array(Qe).max(1e3),nextCursor:oe.nullable(),contentHash:da}).strict().superRefine((e,t)=>{e.view==="policy"&&e.items.length>100&&t.addIssue({code:"custom",message:"Policy preview exceeded its task bound."}),e.items.some(s=>"input"in s!=(e.view==="policy"))&&t.addIssue({code:"custom",message:"Dataset task view differs from the requested projection."})}),lr=class{static{g(this,"OpenPondDatasetPopulationClient")}constructor(e){this.options=e;let t=new URL(e.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!e.apiKey.trim()||!e.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async read(e,t){let s=_t.parse(e),a=new URLSearchParams({releaseId:s.release.id,revision:String(s.release.revision),contentHash:s.release.contentHash,limit:String(s.limit),view:s.view});s.afterId&&a.set("afterId",s.afterId);let i=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/dataset-workspaces/population?${a}`,{signal:t,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,Accept:"application/json"}}),n=i.body?.getReader();if(!n)throw new Error("Dataset population response was empty.");let c=0,u="",o=new TextDecoder;try{for(;;){let k=await n.read();if(k.done)break;if(c+=k.value.byteLength,c>4194304)throw new Error("Dataset population response exceeded 4 MiB. Request fewer tasks.");u+=o.decode(k.value,{stream:!0})}u+=o.decode()}finally{await n.cancel(),n.releaseLock()}let m=JSON.parse(u);if(!i.ok)throw new Error(r.object({message:r.string()}).passthrough().parse(m).message);let f=pa.parse(m),{contentHash:d,...p}=f;if(f.teamId!==this.options.teamId||B(f.release)!==B(s.release)||f.view!==s.view||f.items.length>s.limit||B(p)!==d||f.items.some((k,R)=>s.afterId!==void 0&&k.id<=s.afterId||R>0&&k.id<=f.items[R-1].id)||f.nextCursor!==null&&f.nextCursor!==f.items.at(-1)?.id)throw new Error("Dataset population identity, hash, order or bounds mismatch.");return f}},Et=r.string().trim().min(1).max(240),Q=r.string().trim().min(1).max(5e3),ua=r.object({taskClass:ne,objective:r.string().trim().min(1).max(2e4),sourceSpans:r.array(Y).min(1).max(200),firstAvailableAt:r.iso.datetime(),reconstruction:r.object({kind:r.enum(["text_only","pinned_repository","pinned_artifact","unsupported"]),requiredAssets:r.array(r.object({reference:Q,evidence:Y}).strict()).max(100),missingEvidence:r.array(Q).max(20)}).strict(),assessment:r.object({kind:r.enum(["executable","calibrated_judge","unsupported"]),requirements:r.array(r.object({criterion:Q,evidence:Y}).strict()).min(1).max(20),limitations:r.array(Q).max(20)}).strict()}).strict().superRefine((e,t)=>{e.sourceSpans.some(s=>s.role==="requirement")||t.addIssue({code:"custom",message:"A research candidate requires independently retained user requirements."}),e.assessment.requirements.some(s=>s.evidence.role!=="requirement")&&t.addIssue({code:"custom",message:"Assessment criteria must cite user requirements, not historical answers."})}),ur=r.object({schemaVersion:r.literal("openpond.datasetPreparationResearchDecision.v1"),sourceId:Et,snapshotHash:r.string().regex(/^[a-f0-9]{64}$/),candidates:r.array(ua).max(100),exclusions:r.array(r.object({code:Et,reason:Q,sourceSpans:r.array(Y).max(200)}).strict()).max(100),contextSummary:r.string().max(2e4)}).strict(),ma=r.string().regex(/^[a-f0-9]{64}$/);var fr=r.object({schemaVersion:r.literal("openpond.preparedRepositoryStartingState.v1"),dependencyClosureQualified:r.literal(!1),assets:r.array(ut.extend({receiptId:r.string().regex(/^starting-assets-[a-f0-9]{40}$/),receiptHash:ma,source:we}).strict()).min(1).max(100)}).strict().superRefine((e,t)=>{new Set(e.assets.map(s=>s.path)).size!==e.assets.length&&t.addIssue({code:"custom",message:"Starting paths must be distinct."}),e.assets.some(s=>s.commitHash!==e.assets[0].commitHash||B(s.source)!==B(e.assets[0].source))&&t.addIssue({code:"custom",message:"Starting assets must belong to one original task boundary and commit."})});var X=r.string().trim().min(1).max(240),ie=r.string().trim().min(1).max(2e4),fa=r.object({id:X,label:r.enum(["positive","incorrect","incomplete","adversarial"]),output:r.record(r.string(),r.unknown()),artifacts:r.array(r.object({path:le.shape.path,mediaType:le.shape.mediaType,base64:r.string().max(8*1024*1024)}).strict()).max(100)}).strict().superRefine((e,t)=>{new Set(e.artifacts.map(s=>s.path)).size!==e.artifacts.length&&t.addIssue({code:"custom",message:"Qualification artifacts must have distinct paths."})}),gr=r.object({schemaVersion:r.literal("openpond.preparedQualificationPlan.v1"),requirementRefs:r.array(X).min(1).max(100),supported:r.boolean(),limitations:r.array(ie).max(20),independentVerifier:r.object({runtime:r.enum(["isolated_javascript","sandbox_process"]),source:r.string().trim().min(1).max(2e5),exportName:r.literal("verify"),timeoutMs:r.number().int().min(1).max(6e4)}).strict().nullable(),witnesses:r.array(fa).max(20)}).strict().superRefine((e,t)=>{(new Set(e.requirementRefs).size!==e.requirementRefs.length||new Set(e.witnesses.map(s=>s.id)).size!==e.witnesses.length)&&t.addIssue({code:"custom",message:"Qualification evidence identities must be distinct."}),e.supported&&(!e.independentVerifier||e.limitations.length||["positive","incorrect","incomplete","adversarial"].some(s=>!e.witnesses.some(a=>a.label===s)))&&t.addIssue({code:"custom",message:"Supported qualification needs a complete verifier and witness population without unresolved evidence gaps."})}),wr=r.object({schemaVersion:r.literal("openpond.preparedWitnessAdjudication.v1"),witnesses:r.array(r.object({id:X,failureMode:r.enum(["none","incorrect","incomplete","adversarial","unverifiable"]),requirements:r.array(r.object({reference:X,status:r.enum(["satisfied","violated","unverifiable"]),reason:ie}).strict()).min(1).max(100)}).strict()).min(4).max(20)}).strict(),kr=r.object({schemaVersion:r.literal("openpond.preparedCheckerAudit.v1"),requirements:r.array(r.object({reference:X,adequatelyChecked:r.boolean(),oracleAdequatelyChecked:r.boolean(),reason:ie}).strict()).min(1).max(100),executionIsolationPassed:r.boolean(),futureEvidenceLeak:r.boolean(),unresolvedLimitations:r.array(ie).max(20),passed:r.boolean()}).strict();function qt(e,t){return e.map(s=>{let a=s.workspace.draft,i=a.metadata.profileTarget,n=i&&typeof i=="object"&&!Array.isArray(i)?i:{},c=typeof n.profileId=="string"?{profileId:n.profileId,workflowId:typeof n.workflowId=="string"?n.workflowId:null}:null,u=s.checks.find(o=>o.kind==="graders"&&o.workspaceHash===s.workspace.contentHash);return{summary:{...t(s),rows:[]},projectId:s.projectId,profileTarget:c,updatedAt:a.updatedAt,workspaceHash:s.workspace.contentHash,packageHash:s.packageHash,graders:a.graders.map(o=>{let m=u?.scopes?.find(d=>d.graderId===o.id),f=o.metadata.portableVerifierRef;return{id:`grader-${h([a.id,o.id]).slice(0,40)}`,graderId:o.id,name:o.label,kind:o.kind,version:o.version,configurationHash:h(o),weight:o.weight,hardGate:o.hardGate,rewardEligible:o.rewardEligible,privileged:o.privileged,checkState:m?`${m.checked}/${m.total} ${m.status}`:u?u.status:"Not checked",verifierPath:f&&typeof f=="object"&&"path"in f&&typeof f.path=="string"?f.path:null,fields:Array.isArray(a.metadata.fields)?a.metadata.fields.filter(d=>typeof d=="string"):[]}})}})}g(qt,"localLearningCatalog");function N(e){let t=e.workspace.draft,s=e.checks.find(a=>a.kind==="graders");return t.graders.map(a=>{let i=s?.scopes?.find(u=>u.graderId===a.id),n=s&&s.workspaceHash!==e.workspace.contentHash?"Checks stale":i?.status??"Not tested",c=t.graderFixtures.filter(u=>!Array.isArray(u.metadata.graderIds)||u.metadata.graderIds.includes(a.id));return{kind:"grader",id:`grader-${h([t.id,a.id]).slice(0,40)}`,revision:t.revision,name:a.label,datasetId:t.id,datasetRevision:t.revision,graderId:a.id,graderType:a.kind,state:n,description:a.kind==="content"&&typeof a.config.operator=="string"?a.config.operator:`${a.kind} grader \xB7 ${a.version}`,checkState:i?`${i.checked}/${i.total} examples checked \xB7 ${n}`:n,rows:c.slice(0,3).map(u=>({id:u.id,label:u.label,detail:JSON.stringify(u.output)}))}})}g(N,"localGraderSummaries");function jt(e,t,s){let{offset:a,limit:i}=r.object({offset:r.number().int().nonnegative().default(0),limit:r.number().int().min(1).max(100).default(20)}).parse(s),n=e.workspace.draft,c=n.graders.find(f=>f.id===t.graderId),u=n.graderFixtures.filter(f=>!Array.isArray(f.metadata.graderIds)||f.metadata.graderIds.includes(c.id)),o=c.kind==="custom_verifier"?e.workspace.files.find(f=>f.path===c.module):null,m=o?Buffer.from(o.base64,"base64").toString("utf8"):null;return{summary:t,dataset:{id:n.id,revision:n.revision,name:n.name,workspaceHash:e.workspace.contentHash},grader:c,taskCount:n.tasks.length,fixtures:{total:u.length,offset:a,items:u.slice(a,a+i),hasMore:a+i<u.length},files:o?[{path:o.path,contentHash:o.contentHash,sizeBytes:o.sizeBytes,content:m.slice(0,24e3),truncated:m.length>24e3}]:[]}}g(jt,"localGraderInspection");async function At(e,t,s,a){let i=a?e.checks.find(d=>d.kind==="graders"&&d.revision===e.workspace.draft.revision&&d.workspaceHash===e.workspace.contentHash):void 0,n=i?.scopes?.filter(d=>d.graderId!==a&&t.taskset.graders.some(p=>p.id===d.graderId))??[],c=i?.issues.filter(d=>d.graderId&&n.some(p=>p.graderId===d.graderId))??[],u=e.workspace.draft.graderFixtures,o=n.reduce((d,p)=>d+p.checked,0),m=n.reduce((d,p)=>d+p.total,0),f=[...n];for(let d of t.taskset.graders){let p=u.filter(l=>!Array.isArray(l.metadata.graderIds)||l.metadata.graderIds.includes(d.id));if(a&&d.id!==a){n.some(l=>l.graderId===d.id)||(m+=p.length,f.push({graderId:d.id,checked:0,total:p.length,status:"unavailable"}),c.push({code:"grader_not_checked",message:"This grader has not been checked at the saved revision.",graderId:d.id}));continue}let k=o,R=c.length;m+=p.length,(!p.some(l=>l.label==="positive")||!p.some(l=>l.label==="negative"))&&c.push({code:"examples_missing",message:"Add known-good and known-bad examples before claiming qualification.",graderId:d.id});for(let l of p){s?.throwIfAborted();let P=t.taskset.tasks.find(x=>x.id===l.taskId);if(!P){c.push({code:"fixture_task_missing",message:`Example ${l.id} references a missing task.`,graderId:d.id,taskId:l.taskId});continue}try{let x=Rt(t,l),I={output:l.output,runtimeEventRefs:[],artifactRefs:x.map(E=>E.reference.id),artifacts:x,infrastructureError:l.infrastructureError},[D]=await De({task:P,graders:[d],purpose:"fixture_calibration",signal:s,evidence:I,customVerifier:g(async({grader:E,task:T,evidence:H})=>{let $=t.files.find(b=>b.asset.id===E.verifierRef.id);if(!$||h($.asset)!==h(E.verifierRef))throw new Error("The exact verifier source is missing.");let q=E.runtime==="sandbox_process"?await re({packageValue:t,grader:E,task:T,evidence:{...H,artifacts:x},signal:s,authorize:g(async()=>{s?.throwIfAborted()},"authorize")}):await se({source:new TextDecoder("utf-8",{fatal:!0}).decode(U($)),exportName:E.exportName,runtime:E.runtime,timeoutMs:E.timeoutMs,signal:s,value:{task:T,attempt:H,input:T.input,expectedOutput:T.expectedOutput,output:H.output,artifacts:x,infrastructureError:l.infrastructureError}});return{score:q.score,passed:q.passed,rewardEligible:E.rewardEligible,failureClass:null,feedback:[q.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:q.evidenceRefs}},"customVerifier")});!D||D.score===null&&!l.infrastructureError||D.status==="pending"?c.push({code:"grader_unavailable",message:D?.feedback.join(" ")??"The grader returned no evidence.",graderId:d.id,taskId:P.id}):(o++,(D.passed!==l.expectedPassed||D.rewardEligible!==l.expectedRewardEligible)&&c.push({code:"example_mismatch",message:`Example ${l.id} did not match its expected pass/reward outcome. ${D.feedback.join(" ").slice(0,2e3)}`,graderId:d.id,taskId:P.id}))}catch(x){c.push({code:"grader_unavailable",message:x instanceof Error?x.message:"Example check failed.",graderId:d.id,taskId:P.id})}}let w=c.slice(R);f.push({graderId:d.id,checked:o-k,total:p.length,status:w.some(l=>l.code==="example_mismatch")?"failed":w.length?"unavailable":"passed"})}return t.taskset.graders.length||c.push({code:"graders_missing",message:"No graders are configured."}),{kind:"graders",revision:e.workspace.draft.revision,workspaceHash:e.workspace.contentHash,status:c.some(d=>d.code==="example_mismatch")?"failed":c.length?"unavailable":"passed",checked:o,total:m,scopes:f,issues:c,checkedAt:new Date().toISOString()}}g(At,"checkLocalDatasetGraders");var ha=new Set(["unknown","other"]);function Lt(e,t){return t?"approved":!e||ha.has(e.toLowerCase())?"review":"approved"}g(Lt,"approvedLicenseStatus");function ga(e,t){if(e.schemaVersion!=="openpond.huggingFaceDatasetSource.v1")throw new Error("Selected source checks require a captured Hugging Face sample.");let s=M(t);if(e.metadata.capturedSourceHash!==s||!e.sourceFileHashes.includes(s))throw new Error("The captured source bytes do not match their retained hash.");let a=new TextDecoder("utf-8",{fatal:!0}).decode(t),i=Xe(a);return{...e,secretScanStatus:i.secretStatus,piiScanStatus:i.piiStatus,licensingStatus:Lt(e.declaredLicense,!1),metadata:{...e.metadata,privacyScanner:"openpond-evidence-v1",findings:i.findings,checkedSourceHash:s}}}g(ga,"checkCapturedHuggingFaceSource");function Vt(e){let t=0,s=e.draft.sourceRefs.map(a=>{if(a.schemaVersion!=="openpond.huggingFaceDatasetSource.v1"||typeof a.metadata.capturedSourcePath!="string")return a;let i=e.files.find(c=>c.path===a.metadata.capturedSourcePath);if(!i)throw new Error("The captured source file is missing.");let n=Buffer.from(i.base64,"base64");if(M(n)!==i.contentHash||n.byteLength!==i.sizeBytes)throw new Error("The captured source file failed integrity verification.");return t++,ga(a,n)});if(!t)throw new Error("This Dataset has no captured Hugging Face samples to check.");return s}g(Vt,"checkCapturedDatasetSources");function z(e){let{draft:t}=e.workspace,s=e.checks.filter(a=>a.workspaceHash===e.workspace.contentHash);return{kind:"dataset",id:t.id,revision:t.revision,name:t.name||"Untitled dataset",state:e.packageHash?"Runnable":"Saved draft",evaluationHash:e.workspace.contentHash,taskCount:t.datasetArtifact?.rowCount??t.tasks.length,graderCount:t.graders.length,checkState:s.length?s.map(a=>`${a.kind}: ${a.status} (${a.checked}/${a.total})`).join(" \xB7 "):e.checks.length?"Checks stale":"Not checked",syncState:e.sync?e.sync.paused?"Paused":e.sync.acknowledgedHash===e.workspace.contentHash&&e.sync.status==="synced"?"Synced":e.sync.status==="synced"?"Sync pending":e.sync.status:"Local",rows:t.tasks.slice(0,3).map(a=>({id:a.id,label:typeof a.input.prompt=="string"?a.input.prompt:JSON.stringify(a.input),detail:t.graders.map(i=>i.label).join(", ")}))}}g(z,"localDatasetSummary");function Ot(e){async function t(c,u){let o=await e.store.readLocalDataset(c,u);if(!o||o.ownerId!==await e.store.localResourceOwnerId())throw new Error("Local Dataset was not found.");return o}g(t,"read");async function s(c,u){let o=await e.store.readLocalDatasetListing(c,u);if(!o||o.ownerId!==await e.store.localResourceOwnerId())throw new Error("Local Dataset was not found.");return o}g(s,"readListing");function a(c,u,o=c.workspace.contentHash){return he({workspace:u?wt(c.workspace,u):c.workspace,sourceWorkspaceHash:o,maximumBytes:Number.POSITIVE_INFINITY,preparation:null,adapterId:"openpond-desktop-taskset-authoring-v1",now:c.workspace.draft.updatedAt})}g(a,"compile");async function i(c,u,o){if(o){let p=await e.store.readLocalDatasetProjection(c,o,{revision:u});if(!p||p.record.ownerId!==await e.store.localResourceOwnerId())throw new Error("Local Dataset was not found.");let k=a(p.record,void 0,p.sourceWorkspaceHash);return await G(e.home,k,Number.POSITIVE_INFINITY),{record:p.record,package:k}}let m=await t(c,u),f=a(m,o);await G(e.home,f,Number.POSITIVE_INFINITY);let d=await t(c);if(!o&&d.workspace.contentHash===m.workspace.contentHash&&d.packageHash!==f.contentHash)try{m=await e.store.updateLocalDatasetMetadata(c,h(d),p=>({...p,packageHash:f.contentHash}))}catch(p){if(!(p instanceof Error)||!p.message.startsWith("Dataset state changed."))throw p}return{record:m,package:f}}g(i,"packageDataset");async function n(c,u){let o=st.parse(c),m=await e.store.localResourceOwnerId();if(o.action==="schema"){let w=r.enum(["task","grader","fixture","draft","file"]).parse(o.payload.kind??"task"),l=w==="task"?F.shape.tasks.unwrap().element:w==="grader"?F.shape.graders.unwrap().element:w==="fixture"?F.shape.graderFixtures.unwrap().element:w==="file"?de:F;return{kind:w,schema:r.toJSONSchema(l),...w==="grader"?{example:{id:"exact-answer",version:"1",label:"Exact answer",kind:"content",weight:1,hardGate:!0,rewardEligible:!1,privileged:!0,config:{operator:"final_answer_equals_expected"},metadata:{}}}:{}}}if(o.action==="list"){let w=(await e.store.listLocalDatasetListings()).filter(l=>l.ownerId===m);return o.payload.view==="catalog"?qt(w,z):w.map(l=>({...z(l),projectId:l.projectId}))}if(o.action==="inspect_source"||o.action==="import_source"){if(!e.sourceAction)throw new Error("This Dataset source adapter is unavailable.");return e.sourceAction(o.action,o.payload,m)}if(o.action==="related_chats"){let w=o.payload.kind;if(w!==void 0&&!["dataset","grader","experiment"].includes(String(w)))throw new Error("Select a supported resource kind.");let l=await e.store.chatResourceLinks({kind:typeof w=="string"?w:"dataset",id:o.id}),P=[...new Set(l.map(x=>x.sessionId))];return(await Promise.all(P.map(x=>e.store.getSession(x)))).filter(x=>x&&!x.systemKind&&x.workspaceKind!=="sandbox").map(x=>({id:x.id,title:x.title}))}let f=h(o);if(["create","save","file","import","save_grader","check_sources"].includes(o.action)){if(!o.operationId)throw new Error("A stable operationId is required. Reuse it after an uncertain response.");let w=await e.store.recoverLocalDatasetOperation(o.operationId,f);if(w)return{record:w,summary:z(w),summaries:N(w)};let l=new Date().toISOString(),P;if(o.action==="create"||o.action==="import"){let I=`dataset-${h([m,o.operationId]).slice(0,40)}`,D;if(o.action==="import"){if(typeof o.payload.path!="string")throw new Error("Import requires a package folder path.");D=(await fe({directory:o.payload.path,teamId:m,datasetId:I,expectedRevision:0,maximumBytes:Number.POSITIVE_INFINITY})).workspace}else{let E=Fe({profileId:m,id:I,name:typeof o.payload.name=="string"?o.payload.name:"",now:l});D=ee({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:{...E,...o.payload.draft,id:I,profileId:m,modelScope:null,revision:1,status:"draft",publishedTasksetRef:null,createdAt:l,updatedAt:l},files:Array.isArray(o.payload.files)?o.payload.files:[]},Number.POSITIVE_INFINITY)}P=rt.parse({schemaVersion:"openpond.localDataset.v1",ownerId:m,projectId:typeof o.payload.projectId=="string"?o.payload.projectId:null,workspace:D,checks:[],packageHash:null,sync:null})}else{if(!o.id||o.expectedRevision===void 0)throw new Error("Editing requires a Dataset ID and expectedRevision.");let I=await t(o.id),D=o.payload.draft;if(o.action==="check_sources"&&(D={sourceRefs:Vt(I.workspace)}),o.action==="save_grader"){let T=F.shape.graders.unwrap().element.parse(o.payload.grader),H=I.workspace.draft.graders.filter(q=>q.id!==T.id),$=I.workspace.draft.graders.findIndex(q=>q.id===T.id);H.splice($<0?H.length:$,0,T),D={graders:H,...Array.isArray(o.payload.fixtures)?{graderFixtures:o.payload.fixtures}:{}}}let E;if(o.action==="save"&&typeof o.payload.path=="string"){if(I.workspace.draft.modelScope)throw new Error("Folder replacement requires an ordinary local Dataset.");let T=await fe({directory:o.payload.path,teamId:m,datasetId:o.id,expectedRevision:o.expectedRevision,maximumBytes:Number.POSITIVE_INFINITY}),H=me({workspace:I.workspace,expectedDraftRevision:o.expectedRevision,draft:{...T.workspace.draft,id:I.workspace.draft.id,profileId:I.workspace.draft.profileId,modelScope:I.workspace.draft.modelScope,revision:I.workspace.draft.revision,status:I.workspace.draft.status,createdAt:I.workspace.draft.createdAt,publishedTasksetRef:I.workspace.draft.publishedTasksetRef},now:l,maximumBytes:Number.POSITIVE_INFINITY});E=ee({schemaVersion:H.schemaVersion,draft:H.draft,files:T.workspace.files},Number.POSITIVE_INFINITY)}else E=o.action==="file"?Je({workspace:I.workspace,mutation:de.parse({...o.payload,draftId:o.id,expectedDraftRevision:o.expectedRevision}),now:l,maximumBytes:Number.POSITIVE_INFINITY}):me({workspace:I.workspace,expectedDraftRevision:o.expectedRevision,draft:{...I.workspace.draft,...D},now:l,maximumBytes:Number.POSITIVE_INFINITY});P={...I,workspace:E,packageHash:null}}u?.throwIfAborted();let x=await e.store.saveLocalDataset({record:P,expectedRevision:o.action==="create"||o.action==="import"?0:o.expectedRevision,operationId:o.operationId,requestHash:f});return e.onSaved?.(x),{record:x,summary:z(x),summaries:N(x)}}if(!o.id)throw new Error("A Dataset ID is required.");if(o.action==="read"&&o.payload.view==="metadata"){let w=o.payload.revision===void 0?void 0:r.number().int().positive().parse(o.payload.revision),l=await s(o.id,w);return{record:l,summary:z(l)}}let d=await t(o.id,["read","read_grader","list_graders"].includes(o.action)&&o.expectedRevision?o.expectedRevision:void 0);if(o.action==="list_graders")return{summaries:N(d)};if(o.action==="read_grader"){let w=N(d).find(l=>l.graderId===o.payload.graderId||l.id===o.payload.graderId);if(!w)throw new Error("The saved grader was not found.");return o.payload.view==="inspection"?jt(d,w,o.payload):{record:d,summary:w,grader:d.workspace.draft.graders.find(l=>l.id===w.graderId)}}if(o.action==="read")return{record:d,summary:z(d)};if(["upload","sync","pause_sync","disconnect_sync","publish"].includes(o.action)){if(o.expectedRevision!==d.workspace.draft.revision)throw new Error("Cloud actions require the exact current saved expectedRevision.");if(!e.syncAction)throw new Error("Cloud Dataset synchronization is unavailable.");let w=await e.syncAction(o.action,d,o.payload);return{record:w,summary:z(w)}}if(o.expectedRevision!==d.workspace.draft.revision)throw new Error("Checks and packaging require the exact saved expectedRevision.");if(o.action==="test_grader"&&!d.workspace.draft.graders.some(w=>w.id===o.payload.graderId))throw new Error("The saved grader was not found.");let p=null,k={kind:"structure",revision:d.workspace.draft.revision,workspaceHash:d.workspace.contentHash,status:"passed",checked:d.workspace.draft.tasks.length,total:d.workspace.draft.datasetArtifact?.rowCount??d.workspace.draft.tasks.length,checkedAt:new Date().toISOString(),issues:[]};try{p=a(d),await G(e.home,p,Number.POSITIVE_INFINITY)}catch(w){k={...k,status:"failed",issues:[{code:"package_invalid",message:w instanceof Error?w.message:"Package validation failed."}]}}if(["check_graders","test_grader"].includes(o.action)&&p){let w=[...new Set(d.workspace.draft.graderFixtures.map(l=>l.taskId))];k=await At(d,w.length?a(d,w):p,u,o.action==="test_grader"?o.payload.graderId:void 0)}let R=await e.store.updateLocalDatasetMetadata(o.id,h(d),w=>({...w,packageHash:p?.contentHash??null,checks:[...w.checks.filter(l=>l.kind!==k.kind),k]}));return{record:R,summary:o.action==="test_grader"?N(R).find(w=>w.graderId===o.payload.graderId):z(R),summaries:N(R),check:k,...o.action==="package"&&p?{package:p}:{}}}return g(n,"request"),{request:n,read:t,readListing:s,packageDataset:i,compile:a}}g(Ot,"createLocalDatasetService");import{mkdtemp as wa,mkdir as ka,rm as va}from"node:fs/promises";import ya from"node:os";import $t from"node:path";var zt=new Set(["work_exec","work_save_output"]);function Mt(e){let t=e.taskset,s=t.environment.kind==="text"&&t.tools.length===0,a=t.environment.kind==="work"&&t.environment.entrypoint==="openpond-work-v1"&&t.tools.every(i=>zt.has(i.name));return(s||a)&&t.policy.connectedAppScopes.length===0&&t.capabilities.every(i=>!i.required||i.id==="private-verifier"||i.id==="tools"&&i.scopes.every(n=>zt.has(n)&&t.tools.some(c=>c.name===n)))}g(Mt,"supportsLocalProfileEnvironment");async function hs(){let e=await wa($t.join(ya.tmpdir(),"openpond-work-preflight-"));try{await ka($t.join(e,"outputs"));let t="local-work-preflight",a=await xt({authorize:g(async()=>({candidateId:t,candidateRevision:1,ownerId:t,sessionId:t,turnId:t,sourceRoot:e,layout:"profile_case",writablePaths:["outputs"]}),"authorize")})({candidateId:t,expectedRevision:1,sessionId:t,turnId:t,timeoutMs:5e3,command:`/runtime/node -e 'require("node:fs").writeFileSync("outputs/probe","ready");process.stdout.write("ready")'`});if(a.code!==0||a.timedOut||a.stdout!=="ready")throw new Error("The confined local Work executor is unavailable.")}finally{await va(e,{recursive:!0,force:!0})}}g(hs,"assertLocalProfileWorkRuntime");function ce(e){let t=Ne(e),s=e.modelResources?.rewards??(e.learningResources?Ue(e.taskset).rewards:[]);if(t&&h(qe(t,s))!==h(e.taskset.graders))throw new S("local_grader_closure_conflict","The retained Reward closure differs from the released Dataset graders.",422);return e.taskset.graders.map(a=>{let i=t?.sources.find(c=>c.graderId===a.id),n=i&&s.find(c=>c.id===i.reward.id&&c.revision===i.reward.revision&&c.contentHash===i.reward.contentHash);return{id:a.id,version:a.version,contentHash:h(a),name:n?.name??("config"in a&&a.config.operator==="final_answer_equals_expected"?"Answer accuracy":`${a.kind.replaceAll("_"," ")} grader`),feedbackKey:n?Ce(n):`grader_${h(a.id).slice(0,24)}`,release:n?{id:n.id,revision:n.revision,contentHash:n.contentHash}:null}})}g(ce,"localPackageGraders");function Es(e,t){let s=ce(e),a=t?t.map(i=>{let n=s.find(c=>c.id===i.id&&c.version===i.version&&c.contentHash===i.contentHash);if(!n)throw new S("local_grader_pin_unavailable","Select an exact grader from the retained Dataset package.",422);return{...n,mappings:i.mappings}}):s;try{return et(a)}catch(i){throw new S("experiment_grader_feedback_conflict",i instanceof Error?i.message:"Grader selection conflicts.",422)}}g(Es,"selectLocalPackageGraders");function Ds(e,t,s,a=!1,i=!1,n=!1){let c=V(t),u=e.configuration.request;if(c.contentHash!==e.packageHash||h(u.taskset)!==h({id:c.taskset.id,revision:c.taskset.revision,contentHash:c.taskset.contentHash}))throw new S("local_dataset_pin_conflict","Local execution requires the exact retained Dataset package.",422);if(u.policy.kind!=="hosted_chat"&&!(u.policy.kind==="hosted_harness"&&n))throw new S("local_target_not_qualified","This local execution path requires a qualified exact target owner.",422);let o=n&&u.policy.kind==="hosted_harness"&&Mt(c);if(["claude-code","codex"].includes(e.model.providerId)&&!o&&(xa(c)||c.taskset.environment.kind!=="text"||c.taskset.tools.length))throw new S("native_text_environment_not_admitted","This native model adapter requires a text Dataset with no environment tools. Additional tool owners require explicit admission.",422);let m=u.policy.kind==="hosted_chat"?u.policy.harness:void 0;if(m&&!a)throw new S("local_harness_not_qualified","A released Harness must execute through its native turn owner.",422);let f=pe(c);if(c.taskset.policy.connectedAppScopes.length)throw new S("local_connected_scope_not_qualified","This Dataset requires connected scopes that have not been admitted for local execution.",422);for(let d of c.taskset.capabilities.filter(p=>p.required)){if(d.id==="tools"&&n&&d.scopes.every(k=>["work_exec","work_save_output"].includes(k)&&c.taskset.tools.some(R=>R.name===k)))continue;if(d.id!=="private-verifier")throw new S("local_capability_not_qualified","This Dataset requires capabilities not supplied by the local execution owner.",422);if((d.scopes.length?d.scopes:c.taskset.policy.hiddenGraderRefs).some(k=>!c.taskset.policy.hiddenGraderRefs.includes(k)||!c.taskset.graders.some(R=>R.id===k&&R.privileged&&R.kind!=="human")))throw new S("local_capability_not_qualified","The required private grader scope has no supported exact local grader owner.",422)}if(!f&&c.taskset.tools.length&&!n)throw new S("local_tool_target_not_qualified","This Dataset's tools require a released native target executor.",422);if(f?.execution.javascript.executionServices?.length&&!i)throw new S("local_prepared_environment_not_qualified","This Dataset requires prepared compute services that are not yet bound to the local execution owner.",422);if(c.taskset.environment.kind!=="text"&&!f&&!o)throw new S("local_environment_unavailable","The released Dataset has no supported local environment executor.",422);if(m&&(f||c.taskset.environment.kind!=="text"))throw new S("local_harness_environment_not_qualified","This native Harness requires a compatible text Dataset.",422);return u.population.map(d=>{let p=c.taskset.tasks.find(P=>P.id===d.taskId);if(!p)throw new S("local_population_unavailable","The selected task is absent from this immutable Dataset release.",422);let k=_e(p);if((k.artifactRefs.length||p.requiredOutputs?.length)&&!(n&&u.policy.kind==="hosted_harness"))throw new S("local_work_target_not_qualified","This Dataset requires document input or Work output capabilities not supplied by this local model target.",422);let R=f?.assets.find(P=>P.id===f.execution.javascript.module.id),w=f?.assets.find(P=>P.id===p.privilegedContextRef);if(f&&(!R||!w))throw new S("local_environment_assets_missing","Private environment resources are missing from the retained package.",422);let l={kind:"model",id:`local-case-${h([s,d.receiptId]).slice(0,48)}`,taskId:p.id,model:e.model,...m?{harness:m}:{},instructions:We(c),input:k.input,policyVisibleContext:k.policyVisibleContext,timeoutMs:c.taskset.environment.defaultTimeoutMs,environment:f?{kind:"javascript",definition:f.execution.javascript,asset:R,initialState:JSON.parse(je(w,w.asset)),seed:Number(d.seed)}:{kind:"text"}};return{receiptId:d.receiptId,taskId:d.taskId,seed:d.seed,request:yt.parse({...l,admissionHash:h(l)})}})}g(Ds,"localExperimentAdmissions");function xa(e){return!!pe(e)}g(xa,"executionForClaude");import{readFile as Ia}from"node:fs/promises";import ba from"node:path";async function Bt(e,t,s,a){let i=await e.getHarnessReleaseRecord(t.contentHash),n=i&&await e.getHarnessWorkspace(i.workspaceId);if(!i||!n||i.harnessRelease.id!==t.id||n.location!=="local"||n.metadata.sourceLayout!=="openpond.harnessSourceManifest.v1")throw new S("local_profile_source_unavailable","The exact Profile Harness is unavailable.",403);let c=n.metadata.profileExperimentOrigin!==void 0||n.metadata.experimentCandidateOrigin!==void 0;if(c){if(!a||!s)throw new S("local_profile_origin_access_denied","This source requires its authenticated origin.",403);await a(n,t,s)}else{if(n.ownerScope.kind!=="personal"||n.ownerScope.id!=="desktop-personal"||typeof i.harnessRelease.metadata.profileRepositoryId=="string"||typeof i.agentSnapshot.metadata.profileRepositoryId=="string")throw new S("local_profile_origin_access_denied","The Profile is not device-owned.",403);let p=i.harnessRelease.metadata.profile;if(s&&(s.source!=="local"||p?.id!==s.profileId||p.repositoryId&&p.repositoryId!==s.repositoryId))throw new S("local_profile_origin_access_denied","The retained Harness differs from this exact Profile reference.",403);if(n.metadata.selectionEligible===!1&&(!s||!p?.repositoryId||p.repositoryId!==s.repositoryId||n.id!==`${gt}${h({ref:s,sourceRevision:p.sourceRevision}).slice(0,24)}`))throw new S("local_profile_origin_access_denied","This explicit Profile release requires its canonical accepted reference.",403)}let u=await ht({workspace:n,release:i}),o=new Map;for(let p of i.harnessRelease.files)o.set(p.path,await Ia(ba.join(i.bundlePath,"source",...p.path.split("/"))));let m=Se({agentSnapshot:i.agentSnapshot,harnessRelease:i.harnessRelease,files:o}),f=$e(i);Pe({sourcePackage:m,expectedRelease:t,baseSystemPrompt:"",runtimeId:"openpond.native-profile-experiment.v1",maxContextCharacters:262144,tools:f.map(p=>({name:p.name,inputSchema:p.inputSchema,definition:{type:"function",function:{name:p.name,description:p.description,parameters:p.inputSchema}}}))});let d=await e.getHarnessWorkspace(n.id);if(!d||h(d.ownerScope)!==h(n.ownerScope)||h(d.metadata)!==h(n.metadata))throw new S("local_profile_origin_access_denied","Profile source ownership changed during admission.",403);return c&&await a(n,t,s),u}g(Bt,"resolveLocalProfileExperimentSource");var ye=r.object({id:A,revision:r.number().int().positive(),workspaceHash:L,taskIds:r.array(A).min(1).max(500),seed:r.string().trim().min(1).max(500).default("1")}).strict();function Zs(e){let t=Ot({store:e.store,home:e.storeDir});async function s(c){if(c.profileRef.source!=="local")throw new Error("Installation-local Datasets require an accepted local Profile.");if(!(await Ze()).profiles.some(d=>h(d.ref)===h(c.profileRef)))throw new Error("The local Dataset's Profile is no longer in this installation's accepted library.");let o=await Bt(e.store,c.harnessRelease,c.profileRef),m=await bt({store:e.store,ref:c.profileRef,sourceRevision:c.sourceRevision,harnessRelease:c.harnessRelease}),f=await mt({workspaceId:typeof o.release.agentSnapshot.metadata.workspaceId=="string"?o.release.agentSnapshot.metadata.workspaceId:o.release.workspaceId,sourceDir:Ra.join(o.release.bundlePath,"source")});if(f.harnessRelease.contentHash!==c.harnessRelease.contentHash)throw new Error("The local Dataset's frozen Profile source changed.");return{catalog:m,protectedClosureHash:It(f).protectedClosureHash}}g(s,"profileAuthority");async function a(c,u,o){let m=await e.store.readLocalDatasetProjection(c,o,{workspaceHash:u});if(!m||m.record.ownerId!==await e.store.localResourceOwnerId())throw new Error("The exact installation-local Dataset workspace is unavailable to this owner.");return{record:m.record,packageValue:t.compile(m.record,void 0,m.sourceWorkspaceHash)}}return g(a,"savedPackage"),{prepareBinding:g(async(c,u,o)=>{let m=ye.parse(c);if((await t.readListing(m.id,m.revision)).workspace.contentHash!==m.workspaceHash)throw new Error("The selected local Dataset revision or workspace hash changed.");if(new Set(m.taskIds).size!==m.taskIds.length)throw new Error("Select each local Dataset task once.");let{package:d}=await t.packageDataset(m.id,m.revision,m.taskIds),p=m.taskIds.map(l=>d.taskset.tasks.find(P=>P.id===l));if(p.some(l=>!l)||p.some(l=>l.split!==p[0].split))throw new Error("Select existing local Dataset tasks from one exact split.");let{catalog:k,protectedClosureHash:R}=await s(u);if(!k.definitions.some(l=>h(l)===h(o)))throw new Error("The local Dataset target differs from the accepted Profile definition.");let w=ce(d);return Le({schemaVersion:"openpond.profileExternalDatasetBinding.v1",dataset:{id:d.taskset.id,revision:d.taskset.revision,contentHash:d.taskset.contentHash},packageHash:d.contentHash,profileId:u.profileRef.profileId,target:o.target,declaredProfileCatalogHash:k.catalogHash,protectedProfileClosureHash:R,split:p[0].split,population:m.taskIds.map(l=>({taskId:l,seed:m.seed,fixtureId:null})),evaluators:w.map(l=>({release:l.release??{id:l.id,revision:l.version,contentHash:l.contentHash},feedbackKey:l.feedbackKey,configurationHash:h({graderHash:l.contentHash,mappings:[]}),output:"score",categories:[]})),fieldMappings:[],fieldMappingsHash:h([]),environmentHash:h(d.taskset.environment),privateDatasetClosureHash:h(d.files.filter(l=>l.asset.visibility!=="policy").map(l=>l.asset)),criterion:o.criterion})},"prepareBinding"),resolveExternalDataset:g(async(c,u)=>{let o;try{o=await ae(e.storeDir,c.packageHash)}catch(l){if(l.code!=="ENOENT")throw l}let m=o?r.object({sourceTasksetId:A,sourcePackageHash:L}).passthrough().safeParse(o.taskset.metadata):null,f=m?.success?await e.store.readLocalDatasetListing(m.data.sourceTasksetId):null;if(!o||!m?.success||!f){if(!e.remote)throw new Error("This external Dataset has no installation-local owner.");return e.remote(c,u)}let d=m.data,p=o.contentHash,k=f.ownerId;async function R(){let l=[...new Set(c.population.map(D=>D.taskId))],{record:P,packageValue:x}=await a(d.sourceTasksetId,d.sourcePackageHash,l);if(P.ownerId!==k||x.contentHash!==p)throw new Error("The cached Dataset differs from its exact saved local source.");let I=await s(u);if(c.profileId!==u.profileRef.profileId||c.declaredProfileCatalogHash!==I.catalog.catalogHash||c.protectedProfileClosureHash!==I.protectedClosureHash)throw new Error("The local Dataset recipe changed its accepted Profile or protected evaluator closure.");return tt({binding:c,packageValue:x,graders:ce(x)})}g(R,"read");let w=await R();return{binding:c,packageValue:w,authorize:g(async()=>{if(h(await R())!==h(w))throw new Error("The local Dataset authority changed during execution.")},"authorize")}},"resolveExternalDataset")}}g(Zs,"createInstallationLocalProfileDatasets");var Sa=r.object({id:A,createdAt:Ie,definitionId:A,externalDatasetBinding:Ae.optional(),localDataset:ye.optional(),profileRef:at.optional(),profileSource:r.object({sourceRevision:r.string().min(1).max(500),harnessRelease:r.object({id:A,contentHash:L}).strict()}).strict().optional(),modelRef:Re,hostModelConfigurationHash:L.optional(),hostArtifactHash:L.optional(),maximumSpendUsd:r.number().positive().max(1e4).optional(),expectedManifestHash:L.optional(),hostExperiment:r.object({definition:r.object({id:A,revision:r.number().int().positive(),contentHash:L}).strict().nullable(),configurationHash:L,project:r.object({id:A,revision:r.number().int().positive(),contentHash:L,targetId:A.nullable()}).strict().optional()}).strict().optional()}).strict();function po(e){return async(t,s)=>{let a=Sa.parse(t);if(s?.requireExpectedManifestHash&&!a.expectedManifestHash)throw new Error("Profile evaluation execution requires the reviewed manifest hash.");if(a.profileSource&&!a.profileRef)throw new Error("An exact Profile source requires its accepted Profile reference.");let i=s?.selectedWorkflows??await e.selectedWorkflows(a.profileRef,a.profileSource);if(a.profileRef&&h(a.profileRef)!==h(i.profileRef))throw new Error("Profile preparation did not resolve the explicitly selected Profile.");if(a.profileSource&&(i.sourceRevision!==a.profileSource.sourceRevision||h(i.harnessRelease)!==h(a.profileSource.harnessRelease)))throw new Error("Profile preparation changed its explicitly pinned source.");if(a.localDataset&&a.externalDatasetBinding)throw new Error("Select a local Dataset or an external recipe, not both.");let n=await e.loadCatalog({ref:i.profileRef,sourceRevision:i.sourceRevision,harnessRelease:i.harnessRelease}),c=a.localDataset?n.definitions.find(b=>b.id===a.definitionId):null;if(a.localDataset&&!c)throw new Error("Choose an existing accepted Profile definition as the local Dataset target.");let o=(a.localDataset&&c?await(e.prepareLocalDatasetBinding?e.prepareLocalDatasetBinding(a.localDataset,i,c):Promise.reject(new Error("This host has not qualified installation-local Profile Datasets."))):null)??(a.externalDatasetBinding?J(a.externalDatasetBinding):null),m=o?await(e.resolveExternalDataset?e.resolveExternalDataset(o,i):Promise.reject(new Error("This host has not qualified external Dataset Profile execution."))):null;if(m&&(await m.authorize(),h(J(m.binding))!==h(o)))throw new Error("External Dataset admission differs from the actual authorized recipe.");if(o&&o.declaredProfileCatalogHash!==n.catalogHash)throw new Error("The original Profile verifier catalog changed.");let f=o?ke(o):null;if(f&&!a.localDataset&&a.definitionId!==f.id)throw new Error("Use the external recipe's own definition identity.");let d={schemaVersion:"openpond.profileEvaluations.v1",definitions:f?[f]:n.definitions,suites:f?[]:n.suites},p=f??n.definitions.find(b=>b.id===a.definitionId);if(!p)throw new Error(`Evaluation ${a.definitionId} is absent from the selected Profile release.`);let k=p.target,R=k.kind==="workflow"?i.workflows.find(b=>b.binding.workflowId===k.workflowId)?.binding:Ee.parse({schemaVersion:"openpond.profileComponentBinding.v1",profileId:i.profileRef.profileId,sourceRevision:i.sourceRevision,harnessRelease:i.harnessRelease,target:k});if(!R)throw new Error(`Evaluation workflow ${k.kind==="workflow"?k.workflowId:""} is absent from the selected Profile release.`);let w=V(m?.packageValue??await e.loadTasksetPackage(p,i.profileRef.profileId,i.harnessRelease)),l=w.taskset;if(l.id!==p.tasksetRelease.id||l.contentHash!==p.tasksetRelease.contentHash)throw new Error("Evaluation Taskset package differs from its released definition.");let P=l.environment.kind==="text"&&l.tools.length===0,x=l.environment.kind==="work"&&l.environment.entrypoint==="openpond-work-v1"&&l.tools.every(b=>["work_exec","work_save_output"].includes(b.name));if(!P&&!x)throw new Error("Profile evaluation supports text cases or Work cases with the built-in execution and output tools.");if(a.maximumSpendUsd!==void 0&&x){if(typeof e.boundedWorkComputeAvailable=="function")await e.boundedWorkComputeAvailable();else if(!e.boundedWorkComputeAvailable)throw new Error("This host has not admitted budgeted Work compute.")}if(l.tasks.some(b=>b.artifactRefs.length>ge.maxAttachments||b.artifactRefs.some(W=>W.visibility!=="policy"||W.mediaType!=="application/pdf"||W.sizeBytes>ge.maxAttachmentBytes)))throw new Error("Profile evaluation accepts only bounded policy-visible PDF task attachments.");if(!o&&!e.privateGradingPreflight&&(l.graders.some(b=>b.kind==="model_judge"||b.kind==="custom_verifier")||l.metrics?.aggregation==="custom"))throw new Error("Profile evaluation cannot run this Taskset's model judge, custom verifier, or custom metric in the current app-server runtime.");await e.privateGradingPreflight?.(w);let I={adapterId:k.kind==="workflow"?"openpond.profile-workflow":"openpond.profile-component",placement:e.placement,runtimeVersion:"app-server-v1",capabilityReceipt:h({adapterId:k.kind==="workflow"?"openpond.profile-workflow":"openpond.profile-component",packageHash:w.contentHash,connectedAppScopes:l.policy.connectedAppScopes})},E={...Oe({catalog:d,definitionId:p.id,profileId:i.profileRef.profileId,sourceRevision:i.sourceRevision,harnessRelease:i.harnessRelease,environmentHash:h({packageHash:w.contentHash,runtimeTarget:I})}),...o?{externalDatasetBinding:o}:{},...e.sourceCandidate?{sourceCandidate:e.sourceCandidate}:{}};if(o&&(o.packageHash!==w.contentHash||o.environmentHash!==h(l.environment)||o.privateDatasetClosureHash!==h(w.files.filter(b=>b.asset.visibility!=="policy").map(b=>b.asset))))throw new Error("External Dataset package/environment/private closure changed.");let T=be.parse({provider:a.modelRef.providerId,model:a.modelRef.modelId,revision:null,artifactHash:a.hostArtifactHash??null,tokenizerRevision:null,chatTemplateHash:null}),H=await e.modelConfigurationHash(a.modelRef,a),$=s?.modelSampling?h({ownerModelConfigurationHash:H,sampling:Ke.parse(s.modelSampling)}):H,q=ze({schemaVersion:"openpond.tasksetRunManifest.v1",id:a.id,tasksetRelease:p.tasksetRelease,packageHash:w.contentHash,execution:{kind:"harness",harnessRelease:i.harnessRelease},profileEvaluation:E,policy:{kind:"model",model:T,configurationHash:$},gradingRole:"evaluation",metricPolicy:Me(l),population:o?o.population.map(b=>({...b,receiptId:`evaluation-${h([a.id,b.taskId,b.seed,b.fixtureId]).slice(0,32)}`})):p.taskIds.flatMap(b=>p.seeds.map(W=>({receiptId:`evaluation-${h([a.id,b,W]).slice(0,32)}`,taskId:b,seed:W,fixtureId:null}))),runtimeTarget:I,limits:{maxTurns:128,timeoutMs:l.environment.defaultTimeoutMs,maxOutputBytes:25e7,maximumSpendUsd:a.maximumSpendUsd??null},createdAt:a.createdAt,metadata:{sourceTasksetId:l.metadata.sourceTasksetId??l.id,...i.profileRef.source==="openpond_git"?{profileRepositoryId:i.profileRef.repositoryId}:{},...a.hostExperiment?{experimentDefinition:a.hostExperiment.definition,experimentConfigurationHash:a.hostExperiment.configurationHash,...a.hostExperiment.project?{project:a.hostExperiment.project}:{}}:{}}});if(Z(q,l,d),m&&await m.authorize(),a.expectedManifestHash&&q.contentHash!==a.expectedManifestHash)throw new Error("Profile evaluation setup changed since preview; prepare the run again.");return{manifest:q,taskset:l,profileRef:i.profileRef,binding:R,modelRef:a.modelRef,modelConfigurationHash:$}}}g(po,"createProfileEvaluationRunPreparationService");async function Pa(e,t){let s=V(e);for(let i of s.taskset.graders){if(i.kind==="model_judge"&&(!t||i.calibrationStatus!=="passed"))throw new Error("This Profile requires its current calibrated judge and bounded private provider owner.");let n="verifierRef"in i?i.verifierRef:"rubricRef"in i?i.rubricRef:null;n&&xe(s,n)}let a=s.taskset.metrics?.customAggregator;if(a){let i=s.files.find(n=>n.asset.path===a.module);if(!i||i.asset.visibility==="policy"||M(U(i))!==a.contentHash)throw new Error("The authored aggregate metric is not its exact private release.");new TextDecoder("utf8",{fatal:!0}).decode(U(i))}}g(Pa,"preflightProfilePrivateGrading");function xe(e,t){let s=e.files.find(a=>a.asset.id===t.id);if(!s||s.asset.visibility==="policy"||h(s.asset)!==h(t))throw new Error("The exact private grader asset is unavailable.");return new TextDecoder("utf8",{fatal:!0}).decode(U(s))}g(xe,"readPrivate");async function yo(e){let t=V(e.packageValue);if(t.contentHash!==e.manifest.packageHash||t.taskset.contentHash!==e.manifest.tasksetRelease.contentHash)throw new Error("The private grading package changed its frozen Run identity.");await e.authorize(),await Pa(t,!!e.executeBudgetedJudge),await e.authorize();let s=g(async({grader:n,task:c,evidence:u})=>{let o=e.signal;await e.authorize(),o?.throwIfAborted();let m={manifest:e.manifest,packageValue:t,grader:n,task:c,evidence:u,signal:o,authorize:e.authorize},f=e.executeSandboxVerifier?await e.executeSandboxVerifier(m):n.runtime==="sandbox_process"?await re(m):await se({source:xe(t,n.verifierRef),exportName:n.exportName,runtime:n.runtime,timeoutMs:n.timeoutMs,signal:o,value:{task:c,attempt:u,input:c.input,output:u.output,artifacts:"artifacts"in u?u.artifacts:[],expectedOutput:c.expectedOutput,infrastructureError:u.infrastructureError??null}});return await e.authorize(),o?.throwIfAborted(),{score:f.score,passed:f.passed,rewardEligible:n.rewardEligible,failureClass:null,feedback:[f.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:f.evidenceRefs}},"customVerifier"),a=t.taskset.metrics?.customAggregator,i=a?new TextDecoder("utf8",{fatal:!0}).decode(U(t.files.find(n=>n.asset.path===a.module))):void 0;return{authorize:e.authorize,customVerifier:s,...e.executeBudgetedJudge?{modelJudge:Be({readRubric:g(async n=>{await e.authorize();let c=xe(t,n);return await e.authorize(),c},"readRubric"),executeBudgeted:g(async(n,c)=>{await e.authorize(),c?.throwIfAborted();let u=await e.executeBudgetedJudge(n,c);return await e.authorize(),c?.throwIfAborted(),u},"executeBudgeted")})}:{},...i!==void 0?{metricSource:i,metricExecutor:g(async n=>{await e.authorize(),n.signal?.throwIfAborted();let c=await St(n);return await e.authorize(),n.signal?.throwIfAborted(),c},"metricExecutor")}:{}}}g(yo,"createProfilePrivateGradingOwner");export{La as a,Ft as b,Ba as c,nr as d,_t as e,pa as f,lr as g,N as h,Lt as i,ga as j,z as k,Ot as l,Mt as m,hs as n,ce as o,Es as p,Ds as q,Bt as r,Zs as s,po as t,Pa as u,yo as v};
@@ -1,3 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{c as B}from"./chunk-GLUWATL5.js";import{a as r}from"./chunk-FTQLQJQV.js";import{randomUUID as P}from"node:crypto";function g(e){let t=p(e);if(!t)throw new Error("apiBaseUrl is required");return t}r(g,"normalizeApiBaseUrl");function O(e){return e.replace(/\/+$/,"")}r(O,"trimTrailingSlashes");function p(e){let t=O(e?.trim()??"");return t?(t=t.replace(/\/chat\/completions$/i,"").replace(/\/models(?:\/[^/]+)?$/i,""),t.endsWith("/opchat/v1")?t:t.endsWith("/opchat")?`${t}/v1`:(t.endsWith("/v1")&&(t=t.slice(0,-3)),`${O(t)}/opchat/v1`)):null}r(p,"normalizeOptionalOpChatApiBaseUrl");function M(e={}){let t=e.env??(typeof process<"u"?process.env:{}),n=p(e.opChatApiBaseUrl)??p(t.OPENPOND_OPCHAT_API_URL);if(n)return n;let o=p(e.chatApiBaseUrl)??p(t.OPENPOND_CHAT_API_URL)??p(t.OPENPOND_GATEWAY_URL);return o||(p(e.apiBaseUrl)??p(t.OPENPOND_API_URL)??B)}r(M,"resolveOpChatApiBaseUrl");function W(e={}){return M(e)}r(W,"resolveHostedChatApiBaseUrl");function $(e){let t=e.trim();if(!t)throw new Error("OpenPond API key is required");return t}r($,"requireToken");function h(e,t,n){let o=new Headers;return o.set("Authorization",`Bearer ${$(e)}`),o.set("Content-Type","application/json"),o.set("Accept",t),o.set("x-openpond-client","openpond-code"),o.set("x-openpond-request-id",n||P()),o}r(h,"hostedHeaders");async function f(e){let t=await e.text().catch(()=>"");if(!t)return e.statusText||`HTTP ${e.status}`;try{let n=JSON.parse(t),o=typeof n.error=="string"||n.error&&typeof n.error=="object"&&!Array.isArray(n.error)?n.error:null,s=typeof n.code=="string"?n.code:o&&typeof o!="string"&&typeof o.code=="string"?o.code:null,i=typeof n.message=="string"?n.message:o&&typeof o!="string"&&typeof o.message=="string"?o.message:null,a=typeof o=="string"?o:o&&typeof o.type=="string"?o.type:null;return[s,a,i].filter(Boolean).join(": ")||t}catch{return t}}r(f,"readError");function b(e,t){let n={model:e.model,messages:e.messages,stream:t};typeof e.temperature=="number"&&(n.temperature=e.temperature),typeof e.maxTokens=="number"&&(n.max_tokens=e.maxTokens),e.reasoningEffort==="off"?n.thinking={type:"disabled"}:e.reasoningEffort&&(n.reasoning_effort=e.reasoningEffort),e.tools&&(n.tools=e.tools);let o=e.toolChoice??e.tool_choice;return o!==void 0&&(n.tool_choice=o),e.metadata&&(n.metadata=e.metadata),n}r(b,"buildHostedChatBody");async function _(e){let n=`${g(e.apiBaseUrl)}/models`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted model list failed: ${o.status} ${await f(o)}`);return await o.json()}r(_,"listOpChatModels");async function C(e){let n=`${g(e.apiBaseUrl)}/models/${encodeURIComponent(e.model)}`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted model lookup failed: ${o.status} ${await f(o)}`);return await o.json()}r(C,"getOpChatModel");var F=_;async function A(e){let n=`${g(e.apiBaseUrl)}/providers`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted provider list failed: ${o.status} ${await f(o)}`);return await o.json()}r(A,"listOpChatProviders");async function Y(e){let n=`${g(e.apiBaseUrl)}/providers/${encodeURIComponent(e.provider)}`,o=await fetch(n,{method:"GET",headers:h(e.token,"application/json"),signal:e.signal});if(!o.ok)throw new Error(`Hosted provider lookup failed: ${o.status} ${await f(o)}`);return await o.json()}r(Y,"getOpChatProvider");var V=A;async function k(e){let n=`${g(e.apiBaseUrl)}/chat/completions`,o=await fetch(n,{method:"POST",headers:h(e.token,"application/json",e.requestId),body:JSON.stringify(b(e,!1)),signal:e.signal});if(!o.ok)throw new Error(`Hosted chat failed: ${o.status} ${await f(o)}`);return await o.json()}r(k,"sendHostedChatTurn");async function*E(e,t){let n=e.getReader(),o=new TextDecoder,s="",i=r(()=>t?.reason instanceof Error?t.reason:new Error("hosted_chat_aborted"),"readAbortError");try{for(;;){if(t?.aborted)throw i();let a=await n.read();if(a.done)break;s+=o.decode(a.value,{stream:!0});let l=s.split(`
3
- `);s=l.pop()||"";for(let d of l){let c=d.trim();if(!c.startsWith("data:"))continue;let u=c.slice(5).trim();if(u){if(u==="[DONE]")return;yield JSON.parse(u)}}}}finally{try{n.releaseLock()}catch{}}}r(E,"parseOpenAISSE");async function*R(e){let n=`${g(e.apiBaseUrl)}/chat/completions`,o=await fetch(n,{method:"POST",headers:h(e.token,"text/event-stream",e.requestId),body:JSON.stringify(b(e,!0)),signal:e.signal});if(!o.ok||!o.body)throw new Error(`Hosted chat stream failed: ${o.status} ${await f(o)}`);for await(let s of E(o.body,e.signal)){let i=s;if(i.error)throw new Error(i.error.message||"Hosted chat stream error");i.usage&&(yield{type:"usage",usage:i.usage,raw:s});let a=i.choices?.[0];if(!a)continue;let l=a.delta?.content;l&&(yield{type:"text_delta",text:l,raw:s});let d=a.delta?.reasoning_content;d&&(yield{type:"reasoning_delta",text:d,raw:s});let c=a.delta?.tool_calls;Array.isArray(c)&&c.length>0&&(yield{type:"tool_call_delta",toolCalls:c,raw:s}),a.finish_reason!==void 0&&a.finish_reason!==null&&(yield{type:"finish",finishReason:a.finish_reason,raw:s})}}r(R,"streamHostedChatTurn");var q="openpond-chat",I="deepseek-v4-flash",D="not-a-real-opchat-model";async function Z(e){let t=e.defaultModel||q,n=e.compatibilityModel||I,o=e.invalidModel||D,s=e.log||(()=>{});s(`opchat base: ${e.apiBaseUrl}`);let a=(await _({apiBaseUrl:e.apiBaseUrl,token:e.token})).data.map(T=>T.id);v(a,t),v(a,n),s(`models: ${a.join(", ")}`);let l=await C({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t}),d=await C({apiBaseUrl:e.apiBaseUrl,token:e.token,model:n}),c=await N({apiBaseUrl:e.apiBaseUrl,token:e.token,model:o});s(`invalid model error: ${c}`);let u=H(t,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t,messages:[{role:"user",content:"Reply with a short plain sentence confirming OpChat works."}],metadata:{source:"openpond-code-opchat-smoke",mode:"non_stream"}}));x(u,`${t} non-streaming response`),s(`${t} non-stream: id=${u.id??"unknown"} usage=${U(u.usage)}`);let m=e.skipStream?void 0:await j({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t});m&&s(`${t} stream: chunks=${m.textDeltaCount} finish=${m.finishReason??"none"} usage=${U(m.usage)}`);let w=H(n,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:n,messages:[{role:"user",content:"Reply with one short sentence confirming compatibility."}],metadata:{source:"openpond-code-opchat-smoke",mode:"compatibility_non_stream"}}));x(w,`${n} non-streaming response`),s(`${n} non-stream: id=${w.id??"unknown"} usage=${U(w.usage)}`);let y=e.skipTool?void 0:await L({apiBaseUrl:e.apiBaseUrl,token:e.token,model:t});return y&&s(`${t} tool: calls=${y.toolCallCount} names=${y.toolNames.join(",")}`),{apiBaseUrl:e.apiBaseUrl,listedModels:a,defaultModel:t,compatibilityModel:n,modelLookups:[l.id,d.id],invalidModelError:c,nonStreaming:u,compatibilityNonStreaming:w,...m?{streaming:m}:{},...y?{toolCalling:y}:{}}}r(Z,"runOpChatSmoke");async function N(e){try{await C(e)}catch(t){return t instanceof Error?t.message:String(t)}throw new Error(`expected invalid model ${e.model} to fail`)}r(N,"expectInvalidModel");async function j(e){let t=Date.now(),n=null,o="",s=0,i=null,a=null;for await(let l of R({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:[{role:"user",content:"Reply with a short streamed sentence."}],metadata:{source:"openpond-code-opchat-smoke",mode:"stream"}}))l.type==="text_delta"?(n??=Date.now(),o+=l.text,s+=1):l.type==="finish"?i=l.finishReason:l.type==="usage"&&(a=l.usage);if(s===0||!o.trim())throw new Error("streaming response did not emit text deltas");if(!i)throw new Error("streaming response did not emit a terminal finish marker");return{model:e.model,textDeltaCount:s,textPreview:S(o),firstTextMs:n===null?null:n-t,totalMs:Date.now()-t,finishReason:i,usage:a}}r(j,"runStreamSmoke");async function L(e){let t=[{type:"function",function:{name:"get_current_weather",description:"Get the current weather for a city.",parameters:{type:"object",properties:{location:{type:"string",description:"City and region, for example Boston, MA."}},required:["location"]}}}],n=[{role:"user",content:"Use the get_current_weather tool for Boston, then wait for the result."}],s=(await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:n,tools:t,toolChoice:"auto",metadata:{source:"openpond-code-opchat-smoke",mode:"tool_call"}})).choices?.[0],i=s?.message?.tool_calls??[];if(i.length===0)throw new Error("tool smoke did not receive an assistant tool call");let a=G(i),l=H(e.model,await k({apiBaseUrl:e.apiBaseUrl,token:e.token,model:e.model,messages:[...n,{role:"assistant",content:s?.message?.content??null,tool_calls:i},...a],metadata:{source:"openpond-code-opchat-smoke",mode:"tool_result"}}));return x(l,"tool follow-up response"),{model:e.model,toolCallCount:i.length,toolNames:i.map(d=>d.function?.name).filter(d=>!!d),finishReason:s?.finish_reason??null,followUp:l}}r(L,"runToolSmoke");function G(e){return e.map((t,n)=>{if(!t.id)throw new Error(`tool call ${n} is missing an id`);return{role:"tool",tool_call_id:t.id,content:JSON.stringify({location:"Boston, MA",temperature:"58 F",conditions:"clear"})}})}r(G,"buildToolResultMessages");function H(e,t){let n=t.choices?.[0];return{model:e,id:t.id??null,finishReason:n?.finish_reason??null,textPreview:S(n?.message?.content??""),usage:t.usage??null}}r(H,"summarizeCompletion");function v(e,t){if(!e.includes(t))throw new Error(`model list did not include ${t}`)}r(v,"requireModel");function x(e,t){if(!e.textPreview.trim())throw new Error(`${t} did not include assistant text`)}r(x,"requireText");function S(e,t=120){let n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-1)}...`}r(S,"previewText");function U(e){return e?String(e.total_tokens??e.input_tokens??e.output_tokens??"unknown"):"none"}r(U,"formatUsage");export{M as a,W as b,_ as c,C as d,F as e,A as f,Y as g,V as h,k as i,R as j,Z as k};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{c as B}from"./chunk-BSHAIAXY.js";import{c as m,f as k,g as M,h as T}from"./chunk-3M53YXEI.js";import{i as L,k as O,l as $}from"./chunk-BLKTUFGB.js";import{f as _,h as C}from"./chunk-UGOK7VTC.js";import{a as c}from"./chunk-FTQLQJQV.js";import{readFile as N}from"node:fs/promises";import{request as J}from"node:http";import{randomUUID as V}from"node:crypto";import{createInterface as z}from"node:readline/promises";var F="http://127.0.0.1:17874",Y=128*1024*1024,W=new Set(["cancelled","completed","failed","succeeded"]);async function we(e,n,t={}){let r=n[0];if(r?.startsWith("hosted-")){await(await import("./training-hosted-4R4QTSAN.js")).runHostedTrainingCommand(e,n);return}let o=n[1];if(!r||!["start","status","watch","logs","cancel","resume","artifacts","benchmark","create-project"].includes(r)||!o)throw new Error("usage: training <create-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> <taskset-id|model-run-id|run-id|model-id>");if(n.length>2)throw new Error(`training ${r} accepts exactly one identifier`);let s=B(e)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??F,i=new q({baseUrl:s,request:t.request??await K(s,{maximumResponseBytes:Y})}),a=k(e.json);if(r==="create-project"){let w=await Z({client:i,options:e,tasksetId:o});I(w,a);return}if(r==="benchmark"){await Q({client:i,modelId:o,options:e,json:a,sleep:t.sleep});return}if(r==="resume"){let w=await i.modelRun(o,"resume","POST");I(w,a),await x({client:i,runId:o,json:a,intervalMs:T(e.intervalMs,"interval-ms")??2e3,sleep:t.sleep});return}if(r==="start"){await re({client:i,dependencies:t,json:a,modelRunId:o,options:e});return}if(r==="watch"){await x({client:i,runId:o,json:a,intervalMs:T(e.intervalMs,"interval-ms")??2e3,sleep:t.sleep});return}let l=r==="status"?"status":r==="logs"?"logs":r==="artifacts"?"artifacts":"cancel",g=await i.modelRun(o,l,r==="cancel"?"POST":"GET");I(g,a)}c(we,"runTrainingCommand");async function K(e,n={}){let t=new URL(e);if(t.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(t.hostname))return fetch;let r=(await N(C(_()).token,"utf8")).trim();if(!r)throw new Error("OpenPond local capability token is empty.");let o=n.maximumResponseBytes??8388608,s=n.timeoutMs??6e4;if(!Number.isSafeInteger(s)||s<1||s>864e5)throw new Error("Local request timeout must be between one millisecond and one day.");return(async(i,a={})=>{let l=i instanceof Request?new URL(i.url):new URL(String(i));if(l.origin!==t.origin||l.username||l.password)throw new Error("Local capability requests must remain on the selected server origin.");let g=new Headers(a.headers);g.set("authorization",`Bearer ${r}`);let w={};g.forEach((S,E)=>{w[E]=S});let f=a.signal?AbortSignal.any([a.signal,AbortSignal.timeout(s)]):AbortSignal.timeout(s);return new Promise((S,E)=>{let y=!1,h=J(l,{method:a.method??"GET",headers:w},u=>{let P=[],v=0;u.on("data",p=>{if(v+=p.byteLength,v>o){u.destroy(new Error(`Local response exceeds ${o} bytes.`));return}P.push(p)}),u.once("error",j),u.once("end",()=>{if(y)return;y=!0;let p=new Headers;for(let[b,R]of Object.entries(u.headers))if(Array.isArray(R))for(let G of R)p.append(b,G);else R!==void 0&&p.set(b,R);S(new Response(new Uint8Array(Buffer.concat(P)),{status:u.statusCode??500,statusText:u.statusMessage,headers:p}))})}),j=c(u=>{y||(y=!0,E(u))},"rejectOnce");if(h.once("error",j),f){let u=c(()=>h.destroy(f.reason instanceof Error?f.reason:new Error("Training API request aborted.")),"abort");f.aborted?u():f.addEventListener("abort",u,{once:!0})}if(a.body!==void 0&&a.body!==null){if(typeof a.body!="string"&&!(a.body instanceof Uint8Array)){h.destroy(new Error("Local Training API supports string or byte request bodies."));return}h.write(a.body)}h.end()})})}c(K,"createLocalAuthenticatedRequest");var q=class{static{c(this,"TrainingApiClient")}baseUrl;request;constructor(n){this.baseUrl=n.baseUrl.replace(/\/$/,""),this.request=n.request??fetch}async modelRun(n,t,r,o){let s=await this.json(`/v1/training/model-runs/${encodeURIComponent(n)}/${t}`,r,o);return await this.attachTraining({modelRunId:n}),s}prepareModelProject(n,t){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/prepare`,"POST",t)}async startModelProject(n,t){let r=await this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/start`,"POST",t),o=r&&typeof r=="object"&&"job"in r?r.job:null;return o&&typeof o=="object"&&"id"in o&&typeof o.id=="string"&&await this.attachTraining({jobId:o.id}),r}async attachTraining(n){let t=process.env.OPENPOND_CHAT_INVOCATION;if(t)try{await this.json("/v1/chat-experiments","POST",{action:"attach_training",payload:n,invocationToken:t})}catch(r){console.error(`Training operation succeeded, but chat attachment failed: ${r instanceof Error?r.message:String(r)}. Inspect the saved job to retry attachment; do not submit it again.`)}}trainingState(n){let t=n?`?profileId=${encodeURIComponent(n)}`:"";return this.json(`/v1/training${t}`,"GET")}startHarnessRefinerBenchmark(n,t){return this.json(`/v1/training/models/${encodeURIComponent(n)}/harness-refiner-benchmark`,"POST",t)}importTasksetDraftPackage(n){return this.json("/v1/training/taskset-drafts/import","POST",n)}publishTasksetDraft(n,t){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}/publish`,"POST",t?{modelId:t}:{})}tasksetReadiness(n){return this.json("/v1/training/readiness","POST",{tasksetId:n})}deleteTasksetDraft(n){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}`,"DELETE")}saveModelProject(n){return this.json("/v1/training/models","PUT",n)}async json(n,t,r){let o=await this.request(`${this.baseUrl}${n}`,{method:t,headers:r===void 0?{Accept:"application/json"}:{Accept:"application/json","Content-Type":"application/json"},body:r===void 0?void 0:JSON.stringify(r)}),s=await o.text(),i=null;if(s)try{i=JSON.parse(s)}catch{i=s}if(!o.ok){let a=i&&typeof i=="object"&&"error"in i&&typeof i.error=="string"?i.error:`${o.status} ${o.statusText}`.trim();throw new Error(`Training API request failed: ${a}`)}return i}};async function Q(e){let n=await e.client.trainingState(m(e.options,"profile")),t=X(n,e.modelId),r=m(e.options,"provider")||"openpond",o=m(e.options,"model")||"openpond-chat",s=m(e.options,"reasoningEffort")||"high",i=M(e.options.maxSpend,"max-spend")??10;if(i<=0)throw new Error("max-spend must be greater than zero");if(k(e.options.detach))throw new Error("Harness Refiner benchmark runs must be watched to terminal state.");let a=await e.client.startHarnessRefinerBenchmark(e.modelId,{profileId:t.profileId,model:{providerId:r,modelId:o},reasoningEffort:s==="none"?"none":s,maximumSpendUsd:i});I(a,e.json);let l=d(a,"id");if(!l)throw new Error("Benchmark start did not return a Model Run id.");await x({client:e.client,runId:l,json:e.json,intervalMs:T(e.options.intervalMs,"interval-ms")??2e3,sleep:e.sleep})}c(Q,"startHarnessRefinerBenchmark");function X(e,n){if(!e||typeof e!="object"||!("modelProjects"in e))throw new Error("Training state did not include Models.");let r=(Array.isArray(e.modelProjects)?e.modelProjects:[]).find(s=>s&&typeof s=="object"&&"id"in s&&s.id===n),o=r&&typeof r=="object"?d(r,"profileId"):null;if(!o)throw new Error(`Model ${n} was not found.`);return{profileId:o}}c(X,"modelProject");function d(e,n){if(!e||typeof e!="object"||!(n in e))return null;let t=e[n];return typeof t=="string"&&t?t:null}c(d,"objectString");async function Z(e){let n=m(e.options,"recipe");if(!n)throw new Error("training create-project requires --recipe <versioned-recipe.json>");let t=await te(n,"Training recipe"),r=m(e.options,"profile"),o=await e.client.trainingState(r),s=ne(o,"tasksets",e.tasksetId,"Taskset"),i=r||d(s,"profileId");if(!i)throw new Error(`The Taskset has no Profile id (received ${typeof s.profileId}: ${String(s.profileId)}).`);let a=d(s,"profileId");if(a!==i)throw new Error(`Taskset ${e.tasksetId} belongs to Profile ${a??"unknown"}, not ${i}.`);let l=m(e.options,"projectId")||`model_${V()}`,g=r?o:await e.client.trainingState(i),f=H(g,"modelProjects").find(b=>d(b,"id")===l),S=U(e.options,"rolloutPlacement",["local","remote"],"local"),E=U(e.options,"gpuPlacementObjective",["fast","balanced","economical"],"balanced"),y=U(e.options,"runPreset",["small","standard","custom","small_experiment"],"custom"),h=M(e.options.maxSpend,"max-spend")??null;if(h!==null&&h<0)throw new Error("max-spend must be non-negative");let j=T(e.options.retentionDays,"retention-days")??null;if(j!==null&&j<0)throw new Error("retention-days must be non-negative");let u=d(s,"contentHash"),P=D(s,"revision");if(!u||!P||P<1)throw new Error("The Taskset does not have an immutable published revision.");let v=d(t,"method");if(!v)throw new Error("Training recipe must declare its method.");let p=ee(t);if(f){let b=A(f,"trainingSetup"),R=A(b,"tasksetRef");if(d(R,"id")!==e.tasksetId||d(f,"profileId")!==i)throw new Error(`Model Project ${l} already exists for a different Profile or Taskset.`);if(A(b,"baseModel"))throw new Error(`Model Project ${l} already exists.`);return e.client.saveModelProject(await $(O.parse({...O.strip().parse(f),defaultBaseModel:p,trainingSetup:{...b,baseModel:p,recipe:t}}),D(f,"revision")??1))}return e.client.saveModelProject(await $(O.parse({id:l,profileId:i,name:m(e.options,"name")||d(s,"name")||"Managed Model",objective:m(e.options,"objective")||d(s,"objective"),defaultBaseModel:p,defaultDestinationId:m(e.options,"destination")||"openpond_managed",trainingSetup:{tasksetRef:{id:e.tasksetId,revision:P,contentHash:u},tasksetRelease:null,harnessRelease:null,baseModel:p,method:v,destinationId:m(e.options,"destination")||"openpond_managed",managedRolloutPlacement:S,managedGpuPlacementObjective:E,managedGpuRequirement:"any",runPreset:y,recipe:t,preferredMaximumSpendUsd:h,preferredRetentionDays:j}}),0))}c(Z,"createManagedModelProject");function ee(e){let n=A(e,"baseModel"),t=d(n,"id"),r=d(n,"revision"),o=d(n,"tokenizerRevision"),s=d(n,"chatTemplateHash");if(!t||!r||!o||!s)throw new Error("Managed GRPO recipe must pin baseModel id, revision, tokenizerRevision, and chatTemplateHash.");return L.parse({schemaVersion:"openpond.baseModelPreference.v1",modelId:t,revision:r,tokenizerRevision:o,chatTemplateHash:s,modelAssetId:null,source:"managed"})}c(ee,"managedBasePreferenceFromRecipe");function ne(e,n,t,r){let o=H(e,n).find(s=>d(s,"id")===t);if(!o)throw new Error(`${r} ${t} was not found.`);return o}c(ne,"trainingStateRecord");function H(e,n){if(!e||typeof e!="object"||!(n in e))return[];let t=e[n];return Array.isArray(t)?t.filter(r=>!!r&&typeof r=="object"&&!Array.isArray(r)):[]}c(H,"trainingStateRecords");function D(e,n){if(!e||typeof e!="object"||!(n in e))return null;let t=e[n];return typeof t=="number"&&Number.isFinite(t)?t:null}c(D,"objectNumber");function A(e,n){if(!e||typeof e!="object"||!(n in e))return null;let t=e[n];return t&&typeof t=="object"&&!Array.isArray(t)?t:null}c(A,"objectRecord");function U(e,n,t,r){let o=m(e,n)||r;if(!t.includes(o))throw new Error(`${n} must be one of ${t.join(", ")}`);return o}c(U,"enumOption");async function te(e,n){let t;try{t=JSON.parse(await N(e,"utf8"))}catch(r){throw new Error(`Could not read ${n} ${e}: ${r instanceof Error?r.message:String(r)}`)}if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${n} must be a JSON object.`);return t}c(te,"readJsonObject");async function re(e){let n=M(e.options.maxSpend,"max-spend")??null;if(n!==null&&n<0)throw new Error("max-spend must be non-negative");let t=T(e.options.retentionDays,"retention-days")??null;if(t!==null&&t<=0)throw new Error("retention-days must be a positive integer");let r=m(e.options,"manifest"),o=r?await oe(r):void 0,s=m(e.options,"comparisonSeriesEntry")||null,i={maximumSpendUsd:n,retentionDays:t},a=await e.client.prepareModelProject(e.modelRunId,i);if(e.json||(console.log("Preparation:"),console.log(JSON.stringify(a,null,2))),!(k(e.options.yes)||await se(e.dependencies.confirm)))throw new Error("Training start cancelled.");let g=await e.client.startModelProject(e.modelRunId,{...i,exportApproved:k(e.options.exportApproved),manifest:o,comparisonSeriesEntryId:s});if(I(g,e.json),k(e.options.detach))return;let w=ie(g)??e.modelRunId;await x({client:e.client,runId:w,json:e.json,intervalMs:2e3,sleep:e.dependencies.sleep})}c(re,"startTraining");async function x(e){if(e.intervalMs<250)throw new Error("interval-ms must be at least 250");let n=e.sleep??(r=>new Promise(o=>setTimeout(o,r))),t="";for(;;){let r=await e.client.modelRun(e.runId,"status","GET"),o=JSON.stringify(r);if((e.json||o!==t)&&(I(r,e.json),t=o),W.has(ae(r)))return;await n(e.intervalMs)}}c(x,"watchTraining");async function oe(e){let n;try{n=JSON.parse(await N(e,"utf8"))}catch(t){throw new Error(`Could not read Harness Run Manifest ${e}: ${t instanceof Error?t.message:String(t)}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Harness Run Manifest must be a JSON object.");return n}c(oe,"readManifest");async function se(e){let n="Start this exact prepared training run? Downloads, provisioning, or spend may begin.";if(e)return e(n);if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("training start requires --yes when standard input is not interactive");let t=z({input:process.stdin,output:process.stdout});try{let r=await t.question(`${n} [y/N] `);return r.trim().toLowerCase()==="y"||r.trim().toLowerCase()==="yes"}finally{t.close()}}c(se,"confirmStart");function ie(e){if(!e||typeof e!="object")return null;let n="job"in e?e.job:null;return!n||typeof n!="object"||!("id"in n)?null:typeof n.id=="string"?n.id:null}c(ie,"readRunId");function ae(e){return!e||typeof e!="object"?"":"state"in e&&typeof e.state=="string"?e.state:"status"in e&&typeof e.status=="string"?e.status:""}c(ae,"readStatus");function I(e,n){if(n){console.log(JSON.stringify(e));return}console.log(JSON.stringify(e,null,2))}c(I,"printResult");export{F as a,Y as b,we as c,K as d,q as e};