openpond 0.2.65 → 0.2.67

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 (375) hide show
  1. package/dist/app-server.d.ts +23 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{acp-PHMBLRCV.js → acp-NASAJV5E.js} +1 -1
  4. package/dist/chunks/{acp-agent-A7GK2VSH.js → acp-agent-C3CRF6DT.js} +1 -1
  5. package/dist/chunks/{actions-command-VLKMHCMI.js → actions-command-BYPLSGZL.js} +1 -1
  6. package/dist/chunks/{app-layer-J66CQ2QN.js → app-layer-XIEZ6ALX.js} +1 -1
  7. package/dist/chunks/{app-server-evaluations-V6LRWDUF.js → app-server-evaluations-5YZUFXQ2.js} +1 -1
  8. package/dist/chunks/{app-server-harness-services-6ZRLA3YD.js → app-server-harness-services-N5F5QVZI.js} +1 -1
  9. package/dist/chunks/{app-server-runtime-OMR2VE6L.js → app-server-runtime-HJ2N57DL.js} +1 -1
  10. package/dist/chunks/{apps-IHUFERZO.js → apps-WJTW64NW.js} +1 -1
  11. package/dist/chunks/{chunk-ZWW227M3.js → chunk-263WS3TB.js} +1 -1
  12. package/dist/chunks/{chunk-HX6GXMDK.js → chunk-26ID6A5C.js} +1 -1
  13. package/dist/chunks/{chunk-DSJZS77R.js → chunk-2RSGVLZT.js} +4 -4
  14. package/dist/chunks/{chunk-L4EJ5R3B.js → chunk-2UZHLO2V.js} +1 -1
  15. package/dist/chunks/{chunk-QYQZQVVN.js → chunk-375PADDM.js} +1 -1
  16. package/dist/chunks/{chunk-FUFI4THX.js → chunk-43QYVOYA.js} +1 -1
  17. package/dist/chunks/{chunk-H5ML7735.js → chunk-46RMTR2Z.js} +1 -1
  18. package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-4B7EGNYX.js} +1 -1
  19. package/dist/chunks/{chunk-2GJD23CM.js → chunk-4EZI4KCT.js} +1 -1
  20. package/dist/chunks/{chunk-DMO3UIS7.js → chunk-4JJ4RYIB.js} +1 -1
  21. package/dist/chunks/{chunk-UM6EQOT2.js → chunk-4NN5OLKW.js} +2 -2
  22. package/dist/chunks/{chunk-66HFW4OU.js → chunk-4VZJQRQI.js} +1 -1
  23. package/dist/chunks/{chunk-7PKTCMZ6.js → chunk-543QHE3D.js} +1 -1
  24. package/dist/chunks/{chunk-TVDZXDQW.js → chunk-5QOFUGYQ.js} +1 -1
  25. package/dist/chunks/{chunk-6S2MWJVD.js → chunk-5TPYBXWM.js} +1 -1
  26. package/dist/chunks/{chunk-WLZJOCLA.js → chunk-5ZNE43XC.js} +1 -1
  27. package/dist/chunks/{chunk-KOKBDIGR.js → chunk-6HQUIKC5.js} +1 -1
  28. package/dist/chunks/{chunk-3BJ7LPE3.js → chunk-6IS5OLI5.js} +1 -1
  29. package/dist/chunks/{chunk-VS3AMJEK.js → chunk-6LFTQBXP.js} +1 -1
  30. package/dist/chunks/{chunk-VD2TQCMH.js → chunk-7HAGSE7L.js} +1 -1
  31. package/dist/chunks/{chunk-NTM3KQ25.js → chunk-ADOCQA4D.js} +1 -1
  32. package/dist/chunks/{chunk-4D3CICBG.js → chunk-ATFV2NA4.js} +1 -1
  33. package/dist/chunks/{chunk-YU4JYWCA.js → chunk-AXO6OHJB.js} +1 -1
  34. package/dist/chunks/{chunk-5KJMFK65.js → chunk-AXYAEWWA.js} +1 -1
  35. package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-B2K5WQZE.js} +1 -1
  36. package/dist/chunks/{chunk-ANG2YMMD.js → chunk-B7XJBP4U.js} +1 -1
  37. package/dist/chunks/{chunk-E2S2EMYQ.js → chunk-BBIA24GD.js} +6 -6
  38. package/dist/chunks/{chunk-CYQLXS2U.js → chunk-BUZ7CBJC.js} +1 -1
  39. package/dist/chunks/{chunk-MVPKU72J.js → chunk-CJDGLPNX.js} +1 -1
  40. package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-CSU7RDA5.js} +1 -1
  41. package/dist/chunks/{chunk-JLW5BQVO.js → chunk-CWAQOFLP.js} +1 -1
  42. package/dist/chunks/{chunk-WKHGXLJD.js → chunk-CX7HKSQ4.js} +2 -2
  43. package/dist/chunks/{chunk-M5QPL5NO.js → chunk-D5OFN47Z.js} +1 -1
  44. package/dist/chunks/{chunk-QCJY6FTC.js → chunk-FCXDPVGJ.js} +1 -1
  45. package/dist/chunks/{chunk-FEQ7HNJR.js → chunk-FE2ENE3U.js} +1 -1
  46. package/dist/chunks/{chunk-6TRVEA3T.js → chunk-FVK4W27G.js} +1 -1
  47. package/dist/chunks/{chunk-7FBWUVX7.js → chunk-GC6RJBRZ.js} +1 -1
  48. package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-H2XG5N7D.js} +1 -1
  49. package/dist/chunks/chunk-H6EUFJJK.js +2 -0
  50. package/dist/chunks/{chunk-V3S2B6WU.js → chunk-IDILAYCW.js} +1 -1
  51. package/dist/chunks/{chunk-KGUPAPGR.js → chunk-IF5A3XWP.js} +1 -1
  52. package/dist/chunks/chunk-IHAEZ73V.js +2 -0
  53. package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-IR2Y2VQY.js} +1 -1
  54. package/dist/chunks/{chunk-WBO6FQHR.js → chunk-IXZ5ZGIL.js} +1 -1
  55. package/dist/chunks/{chunk-67HXM6AL.js → chunk-K3LS5SK7.js} +1 -1
  56. package/dist/chunks/{chunk-4MQHIFZL.js → chunk-K6DB5QWG.js} +1 -1
  57. package/dist/chunks/{chunk-QJJNHKLT.js → chunk-KQD36SBJ.js} +1 -1
  58. package/dist/chunks/{chunk-LXZLLTYQ.js → chunk-LI56PPCN.js} +1 -1
  59. package/dist/chunks/{chunk-KAWXVMHI.js → chunk-MX7KV5DA.js} +1 -1
  60. package/dist/chunks/{chunk-LARJARMS.js → chunk-N54CPLVD.js} +1 -1
  61. package/dist/chunks/{chunk-JRGECNP3.js → chunk-OE2OOWEQ.js} +1 -1
  62. package/dist/chunks/{chunk-B32CW3NT.js → chunk-OY4B7Y3T.js} +1 -1
  63. package/dist/chunks/chunk-OYIFH2OM.js +2 -0
  64. package/dist/chunks/{chunk-C5B3FMV3.js → chunk-P6NQYXN6.js} +1 -1
  65. package/dist/chunks/{chunk-D7R2AAX2.js → chunk-QFL2VQKX.js} +1 -1
  66. package/dist/chunks/{chunk-Y3B6ZUE6.js → chunk-QOUOU7FE.js} +1 -1
  67. package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QQLS5FB7.js} +1 -1
  68. package/dist/chunks/chunk-R5GRESW3.js +2 -0
  69. package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-R6MMWEH4.js} +1 -1
  70. package/dist/chunks/{chunk-XHBMK6LC.js → chunk-R6VI7MX5.js} +1 -1
  71. package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-RS526BG7.js} +1 -1
  72. package/dist/chunks/{chunk-EVQISX7M.js → chunk-RWRKUO5D.js} +1 -1
  73. package/dist/chunks/{chunk-DXA2UHBE.js → chunk-SD2XDZQW.js} +1 -1
  74. package/dist/chunks/{chunk-S6UCVXBC.js → chunk-SODAOLAP.js} +1 -1
  75. package/dist/chunks/{chunk-UK5LGSGT.js → chunk-SVNEPXU3.js} +1 -1
  76. package/dist/chunks/{chunk-5WPMI6QX.js → chunk-TERKCK4I.js} +1 -1
  77. package/dist/chunks/{chunk-OKEC2EIE.js → chunk-TS5HNRZB.js} +1 -1
  78. package/dist/chunks/{chunk-5KWKSR4P.js → chunk-TSQ2I6XV.js} +1 -1
  79. package/dist/chunks/{chunk-YRDPVTEI.js → chunk-TV2LE2BD.js} +1 -1
  80. package/dist/chunks/chunk-U3MVH2YT.js +2 -0
  81. package/dist/chunks/{chunk-FS2VKOT7.js → chunk-UBTP3QWI.js} +1 -1
  82. package/dist/chunks/{chunk-7XOUM6RK.js → chunk-UKSSFB4Q.js} +1 -1
  83. package/dist/chunks/{chunk-W7NXFRHN.js → chunk-UNE52L3Y.js} +1 -1
  84. package/dist/chunks/{chunk-ZUT4EM64.js → chunk-UXO33ST5.js} +1 -1
  85. package/dist/chunks/{chunk-FHLSLOKH.js → chunk-V3ILZQER.js} +1 -1
  86. package/dist/chunks/chunk-V3T2OJBZ.js +33 -0
  87. package/dist/chunks/{chunk-QAEZNFAM.js → chunk-V5AOM5MZ.js} +1 -1
  88. package/dist/chunks/{chunk-LI3FTPAH.js → chunk-VEXJV5H5.js} +1 -1
  89. package/dist/chunks/{chunk-AF3AVDPP.js → chunk-VPAEFG7X.js} +1 -1
  90. package/dist/chunks/{chunk-FGOTSCSE.js → chunk-W3ZILZUL.js} +1 -1
  91. package/dist/chunks/{chunk-U2BD545L.js → chunk-WD6ANOLL.js} +1 -1
  92. package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-WDKZMXIU.js} +1 -1
  93. package/dist/chunks/chunk-WGISITX6.js +4 -0
  94. package/dist/chunks/{chunk-55Q64WWF.js → chunk-XD4ZIQZ2.js} +1 -1
  95. package/dist/chunks/{chunk-W22KWKF6.js → chunk-XDFXKRTI.js} +1 -1
  96. package/dist/chunks/{chunk-GRLQHYAU.js → chunk-XEU4J4GJ.js} +1 -1
  97. package/dist/chunks/{chunk-IEVJLG3V.js → chunk-XGJG2ZKE.js} +1 -1
  98. package/dist/chunks/chunk-XHU4BZQY.js +13 -0
  99. package/dist/chunks/{chunk-DIDQHTAX.js → chunk-XKZ4PFMQ.js} +1 -1
  100. package/dist/chunks/{chunk-B666Z2NS.js → chunk-XT5WUQGT.js} +1 -1
  101. package/dist/chunks/{chunk-N2AV7PHV.js → chunk-YKTJPCYZ.js} +3 -3
  102. package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-YMCF5GR2.js} +1 -1
  103. package/dist/chunks/{chunk-LYVHYT3L.js → chunk-YONDU5TN.js} +1 -1
  104. package/dist/chunks/{chunk-BTJACFU3.js → chunk-YQBL5P6R.js} +1 -1
  105. package/dist/chunks/{chunk-SAZTOGX6.js → chunk-YR5URT73.js} +1 -1
  106. package/dist/chunks/{chunk-OXRVILDW.js → chunk-ZVMQLIRA.js} +1 -1
  107. package/dist/chunks/{chunk-MHPCVQOE.js → chunk-ZWEY66RT.js} +1 -1
  108. package/dist/chunks/cli-HV32F7HD.js +2 -0
  109. package/dist/chunks/command-NWOZXU57.js +58 -0
  110. package/dist/chunks/{configuration-command-465ODYTC.js → configuration-command-ZEIBQKB3.js} +1 -1
  111. package/dist/chunks/{connected-app-executor-7DYMZCD7.js → connected-app-executor-DFHWNMRM.js} +1 -1
  112. package/dist/chunks/{connected-evidence-XPAZQRFQ.js → connected-evidence-WOM6N5HO.js} +1 -1
  113. package/dist/chunks/{connected-starting-assets-2YX3QVDB.js → connected-starting-assets-66Y46ZPM.js} +1 -1
  114. package/dist/chunks/{continual-HQCFY7GN.js → continual-TNPTWTKK.js} +1 -1
  115. package/dist/chunks/{core-commands-PJOGRBHJ.js → core-commands-GWRHH53F.js} +1 -1
  116. package/dist/chunks/{dataset-preparation-authoring-KWRTMKN6.js → dataset-preparation-authoring-WJ2XEUO7.js} +1 -1
  117. package/dist/chunks/{datasets-OTE2I4VT.js → datasets-XIMF54QN.js} +1 -1
  118. package/dist/chunks/{desktop-test-Q6REQJ7K.js → desktop-test-HF42V2EP.js} +1 -1
  119. package/dist/chunks/dist-T6ES2TSM.js +2 -0
  120. package/dist/chunks/{evaluation-coordination-KRCY2H4C.js → evaluation-coordination-WZT6FDMS.js} +1 -1
  121. package/dist/chunks/{experiment-improvements-7MI2VYBR.js → experiment-improvements-H35VS6XZ.js} +1 -1
  122. package/dist/chunks/{experiments-CNUQKJZE.js → experiments-F54C32EE.js} +1 -1
  123. package/dist/chunks/{experiments-signal-4N344D4Y.js → experiments-signal-ONIGTGYR.js} +1 -1
  124. package/dist/chunks/{help-ZUKVY6RO.js → help-O53DTZGN.js} +1 -1
  125. package/dist/chunks/host-profile-evaluation-tools-LMCJ3MDJ.js +2 -0
  126. package/dist/chunks/{host-profile-external-dataset-YRKG2GL5.js → host-profile-external-dataset-4HOXANWK.js} +1 -1
  127. package/dist/chunks/{hosted-app-server-composition-DWSU6ASL.js → hosted-app-server-composition-Y64A2A2B.js} +1 -1
  128. package/dist/chunks/{hosted-experiment-improvement-NZTPZTDH.js → hosted-experiment-improvement-B2V2WIUI.js} +1 -1
  129. package/dist/chunks/hosted-harness-runtime-C7I4KSDK.js +2 -0
  130. package/dist/chunks/{hosted-profile-candidate-3CAT3XBI.js → hosted-profile-candidate-CXPVEEYQ.js} +1 -1
  131. package/dist/chunks/{hosted-profile-compiler-RXU626Q6.js → hosted-profile-compiler-FGCI2VRW.js} +1 -1
  132. package/dist/chunks/{hosted-profile-evaluation-control-CBDRKJ5J.js → hosted-profile-evaluation-control-INNUYMBD.js} +1 -1
  133. package/dist/chunks/{hosted-profile-evaluation-inspection-CHYKDYUQ.js → hosted-profile-evaluation-inspection-UPTBRYMS.js} +1 -1
  134. package/dist/chunks/{hosted-profile-evaluation-preparation-H5S7JZMD.js → hosted-profile-evaluation-preparation-TIQSVKLQ.js} +1 -1
  135. package/dist/chunks/{hosted-tasksets-AMGDDB2R.js → hosted-tasksets-7VMYOTIO.js} +1 -1
  136. package/dist/chunks/{human-review-HOBGC6RC.js → human-review-7XC77NQP.js} +1 -1
  137. package/dist/chunks/{import-Q3YRFVY7.js → import-OBAKUJPM.js} +1 -1
  138. package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
  139. package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
  140. package/dist/chunks/learning-3XDGIYUL.js +2 -0
  141. package/dist/chunks/{learning-XTY5VOTK.js → learning-CRR6NRPN.js} +1 -1
  142. package/dist/chunks/{local-harness-improvement-runtime-XEA73RGS.js → local-harness-improvement-runtime-UIKQSAMM.js} +1 -1
  143. package/dist/chunks/{local-harness-taskset-review-SW35G4DM.js → local-harness-taskset-review-6KJN3EQL.js} +1 -1
  144. package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-HP4DELCP.js} +1 -1
  145. package/dist/chunks/{opchat-2LLDIWEJ.js → opchat-NWYWWIA7.js} +1 -1
  146. package/dist/chunks/{opchat-bounded-chat-FLDS36LU.js → opchat-bounded-chat-ICURZM6R.js} +1 -1
  147. package/dist/chunks/{organizations-VIFSOY6P.js → organizations-7DBQGCCV.js} +1 -1
  148. package/dist/chunks/{profile-KIHMW2WB.js → profile-3WZJ65CT.js} +1 -1
  149. package/dist/chunks/{project-action-payload-2G57RL74.js → project-action-payload-7DRABTHY.js} +1 -1
  150. package/dist/chunks/{project-agent-TJLQNMLA.js → project-agent-AXJOWXRU.js} +1 -1
  151. package/dist/chunks/{published-experiment-source-D3C2AWQD.js → published-experiment-source-YBBPLNF2.js} +1 -1
  152. package/dist/chunks/{refiner-profile-service-PPGGNVOV.js → refiner-profile-service-ATEFPF5O.js} +1 -1
  153. package/dist/chunks/{runtime-VSOOPNYN.js → runtime-XP4DEGR3.js} +1 -1
  154. package/dist/chunks/{sandbox-command-CQO6BEMQ.js → sandbox-command-CF2PJCFX.js} +1 -1
  155. package/dist/chunks/{sandbox-template-MU33IILL.js → sandbox-template-YFMHEMUQ.js} +1 -1
  156. package/dist/chunks/{saved-work-LAVTNKPT.js → saved-work-3OAVRBH3.js} +1 -1
  157. package/dist/chunks/setup-RHIMFI2Y.js +2 -0
  158. package/dist/chunks/{src-662QOKNP.js → src-GQPWOPYA.js} +1 -1
  159. package/dist/chunks/{src-CHQVWHV7.js → src-V236S6MV.js} +112 -112
  160. package/dist/chunks/{standalone-experiment-turn-owner-KKYIGGPF.js → standalone-experiment-turn-owner-CDRMGLWW.js} +1 -1
  161. package/dist/chunks/{store-chat-resources-ZWDYMDJF.js → store-chat-resources-P4EKCLSY.js} +1 -1
  162. package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-VVRQO2JK.js} +1 -1
  163. package/dist/chunks/{store-conversation-serving-WRT4N7N2.js → store-conversation-serving-YFEZYQD3.js} +1 -1
  164. package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-2XI36AET.js} +1 -1
  165. package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-UFY422NG.js} +1 -1
  166. package/dist/chunks/{store-evaluation-results-BEPR4LVD.js → store-evaluation-results-VBH4R2U7.js} +1 -1
  167. package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-SGUEYDO2.js} +1 -1
  168. package/dist/chunks/{store-human-review-HJ3D7ZFA.js → store-human-review-RFCVZ3HP.js} +1 -1
  169. package/dist/chunks/{store-learned-preference-migration-validation-EXNRDHCO.js → store-learned-preference-migration-validation-FNBGGZU6.js} +1 -1
  170. package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-BFOT4QVT.js} +1 -1
  171. package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-DYTMWQTC.js} +1 -1
  172. package/dist/chunks/{store-local-experiments-CBJA56X2.js → store-local-experiments-XPXGYXNM.js} +1 -1
  173. package/dist/chunks/{store-model-batch-review-YIVD7T2T.js → store-model-batch-review-J2L5JQV2.js} +1 -1
  174. package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-NJFWSYSA.js} +1 -1
  175. package/dist/chunks/{store-model-project-preparation-WWU5CJTV.js → store-model-project-preparation-OCLIFKI2.js} +1 -1
  176. package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-MZAYONCK.js} +1 -1
  177. package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-3BREANOX.js} +1 -1
  178. package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-5HRZCDUT.js} +1 -1
  179. package/dist/chunks/{store-taskset-drafts-G3WFVN4M.js → store-taskset-drafts-BNKUVHPA.js} +1 -1
  180. package/dist/chunks/{store-training-DUVIDYK5.js → store-training-S3FXWLT6.js} +1 -1
  181. package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-2LCXPA7G.js} +1 -1
  182. package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-7AMKS7ZW.js} +1 -1
  183. package/dist/chunks/{taskset-7FQCJ55X.js → taskset-PLKWRT4X.js} +1 -1
  184. package/dist/chunks/{taskset-packages-NRRPON7B.js → taskset-packages-SXBLYHSP.js} +1 -1
  185. package/dist/chunks/{taskset-packages-RW4SFGDU.js → taskset-packages-V5T4V7YN.js} +1 -1
  186. package/dist/chunks/{teams-bot-D3LWA4S5.js → teams-bot-VQXUA7U4.js} +1 -1
  187. package/dist/chunks/{tool-learning-NGO7QHYK.js → tool-learning-47XQKELE.js} +1 -1
  188. package/dist/chunks/{training-XFM3OOPN.js → training-7VQNCOGH.js} +1 -1
  189. package/dist/chunks/{training-XILDD5RG.js → training-VKLPNCMC.js} +1 -1
  190. package/dist/chunks/{training-hosted-6BX2IASC.js → training-hosted-NNE6BP6S.js} +1 -1
  191. package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
  192. package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-WQ2IP5FP.js} +1 -1
  193. package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
  194. package/dist/chunks/training-hosted-serving-report-VZ4SMLMG.js +2 -0
  195. package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
  196. package/dist/chunks/{training-model-start-E5MP3URL.js → training-model-start-G7YDZ7ZG.js} +1 -1
  197. package/dist/cli.js +1 -1
  198. package/dist/index.js +1 -1
  199. package/dist/skills/manifest.json +1 -1
  200. package/dist/web/assets/App-DmEA-Lia.js +53 -0
  201. package/dist/web/assets/{AppDialog-BILEK4np.js → AppDialog-BvskhHE9.js} +1 -1
  202. package/dist/web/assets/AppTerminalPanel-ScQKJV4z.js +2 -0
  203. package/dist/web/assets/{AppToastContext-C-FsCKXW.js → AppToastContext-D2788RqX.js} +1 -1
  204. package/dist/web/assets/AppsView-B1uNg9IQ.js +1 -0
  205. package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
  206. package/dist/web/assets/{AttachmentTypeIcon-Bh7Ft_UL.js → AttachmentTypeIcon-DVluUHuc.js} +1 -1
  207. package/dist/web/assets/{BrowserSidebar-BG2MLJ9I.js → BrowserSidebar-DfVQoJHn.js} +1 -1
  208. package/dist/web/assets/{CartesianChart-CS6ES_XT.js → CartesianChart-DdBZ69lI.js} +1 -1
  209. package/dist/web/assets/{ChatTimelineEntry-Dr5X_XyN.js → ChatTimelineEntry-Bbc6HRks.js} +1 -1
  210. package/dist/web/assets/{CollaborationTabs-CPJ2w67F.js → CollaborationTabs-ba6WupeJ.js} +1 -1
  211. package/dist/web/assets/{CommandMenu-Fe1V7NJd.js → CommandMenu-D7wTaEgl.js} +1 -1
  212. package/dist/web/assets/{CommunityView-DHTcmOnI.js → CommunityView-mO58f2B0.js} +1 -1
  213. package/dist/web/assets/{ComposerAttachments-Ck9VWD6o.js → ComposerAttachments-aO90qXYz.js} +1 -1
  214. package/dist/web/assets/{ComposerCreateImproveStrip-yiXO7cf8.js → ComposerCreateImproveStrip-BPUJBSyS.js} +1 -1
  215. package/dist/web/assets/{ConversationImportsSettings-_VLzUnHQ.js → ConversationImportsSettings-Bo836wKJ.js} +1 -1
  216. package/dist/web/assets/{FilePagePreview-BpcM1DfE.js → FilePagePreview-C6wIp6uX.js} +2 -2
  217. package/dist/web/assets/{GetStartedView-BH-WJ-rW.js → GetStartedView-CxMv8q-h.js} +1 -1
  218. package/dist/web/assets/{GettingStartedDialog-CdQfj7RA.js → GettingStartedDialog-CEb0cS-o.js} +1 -1
  219. package/dist/web/assets/{HostedModelLearningReview-C3GsOlu9.js → HostedModelLearningReview-BQIS7hkd.js} +1 -1
  220. package/dist/web/assets/HostedModelLearningSettings-BQ-YeFMT.js +1 -0
  221. package/dist/web/assets/{HtmlVisual-CH0tb3fv.js → HtmlVisual-CCuUkYT8.js} +1 -1
  222. package/dist/web/assets/{LabModelVersionDetailPage-J2t9yILv.js → LabModelVersionDetailPage-BkHeVbAx.js} +1 -1
  223. package/dist/web/assets/{LabSkillSidebar-DdDYvfj2.js → LabSkillSidebar-CFROlATQ.js} +1 -1
  224. package/dist/web/assets/LabsRoute-YA9YckKj.js +101 -0
  225. package/dist/web/assets/MainChatThread-DpyPgGKW.js +2 -0
  226. package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BOWkynGB.css} +1 -1
  227. package/dist/web/assets/MainPane-WOeodByM.js +10 -0
  228. package/dist/web/assets/NativeSetupTerminal-fmG2c65K.js +2 -0
  229. package/dist/web/assets/{NativeSkillSidebar-DPYavzau.js → NativeSkillSidebar-MAJWS4mL.js} +1 -1
  230. package/dist/web/assets/{NewProjectDialog-BtmvE9Sp.js → NewProjectDialog-MQiUBVx3.js} +1 -1
  231. package/dist/web/assets/{OutputsPage-BMRY7RK2.js → OutputsPage-DpF-aRTu.js} +1 -1
  232. package/dist/web/assets/{PageChrome-5VRxH6Rp.js → PageChrome-8gH2hyDb.js} +1 -1
  233. package/dist/web/assets/{ProjectsPage-1LHqxOMo.js → ProjectsPage-BQ98oGyu.js} +1 -1
  234. package/dist/web/assets/{RightChatPanelStack-D_7KgExz.js → RightChatPanelStack-Bs7A4dLs.js} +1 -1
  235. package/dist/web/assets/RightSidebarHomePanel-C-D4kba2.js +1 -0
  236. package/dist/web/assets/{ScheduledWorkPage-Dtz4zJ0T.js → ScheduledWorkPage-CGCqZz_H.js} +1 -1
  237. package/dist/web/assets/{SettingsView-BeDYNPcD.js → SettingsView-CqpMFLxy.js} +3 -3
  238. package/dist/web/assets/{TasksetDraftEditorPrimitives-CcvKO3YA.js → TasksetDraftEditorPrimitives-DJvIvzBb.js} +1 -1
  239. package/dist/web/assets/{TeamChatView-DaXxOkTe.js → TeamChatView-DjmIaLO1.js} +1 -1
  240. package/dist/web/assets/{TerminalOverlay-CF8uB4qA.js → TerminalOverlay-D--M876l.js} +1 -1
  241. package/dist/web/assets/{TrainingCreationPanel-DmMO7x5T.js → TrainingCreationPanel-DDUoHQHU.js} +1 -1
  242. package/dist/web/assets/{TrainingDraftPanel-DCHbXjSx.js → TrainingDraftPanel-CwLXn3Z7.js} +1 -1
  243. package/dist/web/assets/{TrainingRunLineage-CwisTWs_.js → TrainingRunLineage-CtYe1KGX.js} +1 -1
  244. package/dist/web/assets/{UsageSettingsSection-Drt7gwRb.js → UsageSettingsSection-CGwPregx.js} +1 -1
  245. package/dist/web/assets/WorkSidebarPanel-C6wWuo7U.js +1 -0
  246. package/dist/web/assets/{WorkspaceDiffPanel-Dmbrg0-y.js → WorkspaceDiffPanel-JDOUmrC-.js} +3 -3
  247. package/dist/web/assets/{WorkspaceEnvironmentMenu-KEZm1gdb.js → WorkspaceEnvironmentMenu-sfL5LZeB.js} +1 -1
  248. package/dist/web/assets/{WorkspaceFileLocation-ChbOKrPO.js → WorkspaceFileLocation-D-ctFM4d.js} +1 -1
  249. package/dist/web/assets/{WorkspaceGitDialogs-BS2JQKNQ.js → WorkspaceGitDialogs-CQ28j3R7.js} +1 -1
  250. package/dist/web/assets/{WorkspaceMonacoEditor-CN1hE_C4.js → WorkspaceMonacoEditor-BrZs6-EW.js} +3 -3
  251. package/dist/web/assets/{WorkspacePdfPreview-Clb4m0le.js → WorkspacePdfPreview-CU6PSjjN.js} +2 -2
  252. package/dist/web/assets/{WorkspacePresentationPreview-CwQsdvAR.js → WorkspacePresentationPreview-IjXVXpIy.js} +1 -1
  253. package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-CKXrDTEU.js} +1 -1
  254. package/dist/web/assets/{bot-BNFltD5O.js → bot-Cd761lRF.js} +1 -1
  255. package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-D9v2cyJa.js} +1 -1
  256. package/dist/web/assets/chat-resources-BUDXdoG0.js +1 -0
  257. package/dist/web/assets/{chevron-down-BnnT0tnM.js → chevron-down-DEbd6Ek-.js} +1 -1
  258. package/dist/web/assets/chevron-right-DLYNg_Oq.js +1 -0
  259. package/dist/web/assets/{chevron-up-BAnwJJN3.js → chevron-up-DFJJccDl.js} +1 -1
  260. package/dist/web/assets/chunk-GHPCQXG5-DKDBSd8H.js +9 -0
  261. package/dist/web/assets/chunk-GJRXJL6G-luaxRTYI.js +1 -0
  262. package/dist/web/assets/chunk-H3JZ3P5T-CzpTARDY.js +2 -0
  263. package/dist/web/assets/chunk-JDQVAG3R-C0-rh1aR.js +1 -0
  264. package/dist/web/assets/chunk-TLSP5JKG-BrrVo5rJ.js +1 -0
  265. package/dist/web/assets/chunk-XMVSQIK4-BBU7r_NH.js +1 -0
  266. package/dist/web/assets/client-BNjO4Xi8.js +1 -0
  267. package/dist/web/assets/{client-choice-storage-Iuzoszas.js → client-choice-storage-DUWsS4X0.js} +1 -1
  268. package/dist/web/assets/{cloud-upload-CdSXJ7ms.js → cloud-upload-CoM1FGeB.js} +1 -1
  269. package/dist/web/assets/{common-BMjyKlX-.js → common-CFsO2ppZ.js} +1 -1
  270. package/dist/web/assets/{copy-CBFg6m0d.js → copy-BGOhV6Pk.js} +1 -1
  271. package/dist/web/assets/{create-pipeline-CyUZrbbO.js → create-pipeline-DRR0Qeec.js} +1 -1
  272. package/dist/web/assets/{createLucideIcon-DF2VR6WA.js → createLucideIcon-Bv-_eGcE.js} +1 -1
  273. package/dist/web/assets/{cssMode-BSQUZhUO.js → cssMode-SclUkqPt.js} +1 -1
  274. package/dist/web/assets/{external-link-Cql9bKdv.js → external-link-CVXsNeO3.js} +1 -1
  275. package/dist/web/assets/{folder-open-BXdVB5J1.js → folder-open-MnOmh19D.js} +1 -1
  276. package/dist/web/assets/{folder-plus-Cma2HulC.js → folder-plus-BRddLBtO.js} +1 -1
  277. package/dist/web/assets/{git-commit-horizontal-eF--16ps.js → git-commit-horizontal-Bm4rkXug.js} +1 -1
  278. package/dist/web/assets/{htmlMode-aLPlQtyU.js → htmlMode-X3mQtOeh.js} +1 -1
  279. package/dist/web/assets/icons-CZxmQtZs.js +1 -0
  280. package/dist/web/assets/{image-CqKPwnBn.js → image-BViGUAiq.js} +1 -1
  281. package/dist/web/assets/{index-CM0IRu1U.js → index-LXNhSUEL.js} +2 -2
  282. package/dist/web/assets/{info-CqeYEqG0.js → info-DYPIbKKD.js} +1 -1
  283. package/dist/web/assets/intake-contracts-wCkD2ErR.js +1 -0
  284. package/dist/web/assets/{jsonMode-fu7bEcHB.js → jsonMode-BoKiIdHd.js} +1 -1
  285. package/dist/web/assets/loader-circle-JFgFNsP5.js +1 -0
  286. package/dist/web/assets/{lspLanguageFeatures-DraXQA4w.js → lspLanguageFeatures-CO2mzpy1.js} +1 -1
  287. package/dist/web/assets/{maximize-2-yMp8X9ts.js → maximize-2-DXZCQO0b.js} +1 -1
  288. package/dist/web/assets/{message-square-DbIMQqfj.js → message-square-cOCAL8J1.js} +1 -1
  289. package/dist/web/assets/{monaco.contribution-BQhp1CJs.js → monaco.contribution-C7CAQIKF.js} +2 -2
  290. package/dist/web/assets/{monaco.contribution-Bd8EqYGR.js → monaco.contribution-CVe3mWSY.js} +2 -2
  291. package/dist/web/assets/{monaco.contribution-CYWKnVxQ.js → monaco.contribution-hrusiaZi.js} +2 -2
  292. package/dist/web/assets/{monaco.contribution-CmbWO0tB.js → monaco.contribution-wacA5FjV.js} +2 -2
  293. package/dist/web/assets/{monitor-DFE2fTkT.js → monitor-B35XSAvn.js} +1 -1
  294. package/dist/web/assets/{paperclip-D_qsKbVs.js → paperclip-CKgDxioG.js} +1 -1
  295. package/dist/web/assets/{pdf-DkQRsi4n.js → pdf-Ct3M2mVw.js} +1 -1
  296. package/dist/web/assets/play-DzqLr7fM.js +1 -0
  297. package/dist/web/assets/plus-Ddp1vXnw.js +1 -0
  298. package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-D-zB6X4L.js} +1 -1
  299. package/dist/web/assets/{presentation-BN_kIBPL.js → presentation-B0S9v7ib.js} +1 -1
  300. package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-CCxrOCio.js} +1 -1
  301. package/dist/web/assets/{python-DB9pj5Hr.js → python-C0-pUUAU.js} +1 -1
  302. package/dist/web/assets/{refresh-cw-B27ohHfn.js → refresh-cw-D45mW-vs.js} +1 -1
  303. package/dist/web/assets/{requests-BCbaFiqV.js → requests-DjSt-duM.js} +1 -1
  304. package/dist/web/assets/{reward-checks-Bcq9ETCA.js → reward-checks-D139zwha.js} +2 -2
  305. package/dist/web/assets/{save-D-rwjKop.js → save-Gu4R_82E.js} +1 -1
  306. package/dist/web/assets/schemas-C9IwV7NS.js +64 -0
  307. package/dist/web/assets/{settings-D7C-Auyi.js → settings-DdonLCIN.js} +1 -1
  308. package/dist/web/assets/settings-lists-CFHFtO0D.js +5 -0
  309. package/dist/web/assets/square-Dqduqyyu.js +1 -0
  310. package/dist/web/assets/{square-terminal-CeoK51wH.js → square-terminal-DS3zwi6X.js} +1 -1
  311. package/dist/web/assets/{submit-issue-command-DZNW7Evj.js → submit-issue-command-Gk3RKrY-.js} +1 -1
  312. package/dist/web/assets/{toggleHighContrast-Bs8L1gx0.js → toggleHighContrast-BnYUBgZB.js} +1 -1
  313. package/dist/web/assets/training-QBuGBGJd.js +2 -0
  314. package/dist/web/assets/{training-model-data-wHvE7xL1.js → training-model-data-CxR3xpmK.js} +1 -1
  315. package/dist/web/assets/{tsMode-C7EqshxC.js → tsMode-BVNyOY8h.js} +1 -1
  316. package/dist/web/assets/{upload-BWgjC2Jf.js → upload-ABSJxuUM.js} +1 -1
  317. package/dist/web/assets/{useAccountSettings-Dva1MpsJ.js → useAccountSettings-4_XfwJQi.js} +1 -1
  318. package/dist/web/assets/{useAgentInventory-CrjIOmvb.js → useAgentInventory-CVuamyT3.js} +1 -1
  319. package/dist/web/assets/{useLocalAgentSchedules-P-UaUKMb.js → useLocalAgentSchedules-CmwN4ohy.js} +1 -1
  320. package/dist/web/assets/{useQuery-Bn3KqR4r.js → useQuery-CCjwL8VI.js} +1 -1
  321. package/dist/web/assets/{wifi-off--mKrSPFc.js → wifi-off-DGJH7Pke.js} +1 -1
  322. package/dist/web/assets/{work-outputs-CK0nHe4g.js → work-outputs-CnbRtTLg.js} +1 -1
  323. package/dist/web/assets/{workers-p0Kn2KMK.js → workers-CjtQ2aBD.js} +1 -1
  324. package/dist/web/assets/x-B-_zJVOZ.js +1 -0
  325. package/dist/web/assets/{yaml-BeIdC4tu.js → yaml-N1KUjBZ8.js} +1 -1
  326. package/dist/web/index.html +1 -1
  327. package/docs/command-reference.md +7 -1
  328. package/package.json +1 -1
  329. package/dist/chunks/chunk-3MVKXAH7.js +0 -2
  330. package/dist/chunks/chunk-G4E3WGLM.js +0 -13
  331. package/dist/chunks/chunk-I3NYYOSS.js +0 -2
  332. package/dist/chunks/chunk-JBFPTEVE.js +0 -2
  333. package/dist/chunks/chunk-LOIYNRBC.js +0 -33
  334. package/dist/chunks/chunk-MMJU6PZV.js +0 -2
  335. package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
  336. package/dist/chunks/chunk-YBKDEEEH.js +0 -2
  337. package/dist/chunks/cli-TE7RP5H7.js +0 -2
  338. package/dist/chunks/command-NDHFZAKA.js +0 -13
  339. package/dist/chunks/dist-J4KHAVO3.js +0 -2
  340. package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
  341. package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
  342. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
  343. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
  344. package/dist/chunks/learning-NJLTGZFQ.js +0 -2
  345. package/dist/chunks/setup-HSRCZ3WR.js +0 -2
  346. package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
  347. package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
  348. package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
  349. package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
  350. package/dist/web/assets/App-BZuSv1XM.js +0 -53
  351. package/dist/web/assets/AppTerminalPanel-BvxZ8bwD.js +0 -2
  352. package/dist/web/assets/AppsView-BMaq5oxx.js +0 -1
  353. package/dist/web/assets/HostedModelLearningSettings-SSMst6dl.js +0 -1
  354. package/dist/web/assets/LabsRoute-MJwIjSKg.js +0 -101
  355. package/dist/web/assets/MainChatThread-BcwtaTDZ.js +0 -2
  356. package/dist/web/assets/MainPane-DDO6diPt.js +0 -10
  357. package/dist/web/assets/NativeSetupTerminal-BPSUFpRm.js +0 -2
  358. package/dist/web/assets/RightSidebarHomePanel-iznJwDMf.js +0 -1
  359. package/dist/web/assets/WorkSidebarPanel-BrIIRtGW.js +0 -1
  360. package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
  361. package/dist/web/assets/chevron-right-C8K5PZj7.js +0 -1
  362. package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
  363. package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
  364. package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
  365. package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
  366. package/dist/web/assets/icons-c3vt7y6n.js +0 -1
  367. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
  368. package/dist/web/assets/loader-circle-pxp89T5x.js +0 -1
  369. package/dist/web/assets/play-BtlX2stU.js +0 -1
  370. package/dist/web/assets/plus-DbASL_gy.js +0 -1
  371. package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
  372. package/dist/web/assets/settings-lists-DgSaJQA4.js +0 -5
  373. package/dist/web/assets/square-C2caJ3NG.js +0 -1
  374. package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
  375. package/dist/web/assets/x-D9GTV9ke.js +0 -1
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{c as H,d as q}from"./chunk-OW3EOC5Q.js";import{c as T,d as L,e as R}from"./chunk-3MVKXAH7.js";import{a as M,b as O,e as k,f as C}from"./chunk-I6VMRQF4.js";import{v as S}from"./chunk-ZY32SZ2P.js";import{n as N}from"./chunk-RCT3O3HQ.js";import{A as c}from"./chunk-X2J2P5ZT.js";import{a}from"./chunk-FTQLQJQV.js";var j=c.object({id:c.string().min(1).max(200),name:c.string().min(1).max(64),arguments:c.record(c.string(),c.unknown())}).strict(),W=c.object({text:c.string().max(262144),toolCalls:c.array(j).max(200)}).strict();async function D(e){if(!e.taskId||e.taskId.length>500)throw new Error("environment_task_identity_invalid");if(!Number.isInteger(e.timeoutMs)||e.timeoutMs<1||e.timeoutMs>36e5)throw new Error("environment_attempt_timeout_invalid");S(e.instructions,262144);let m=e.taskId,f=e.instructions,d=structuredClone(e.input),J=e.policy,x=new AbortController,u=e.signal?AbortSignal.any([x.signal,e.signal]):x.signal,i=!1,_=setTimeout(()=>{i=!0,x.abort(new Error("environment_attempt_timeout"))},e.timeoutMs);_.unref?.();let t=null,h=null,o="environment_failure",p=null,v=null,b=!1,r=!1,n=[],y=0,E=a(s=>{if(y+=new TextEncoder().encode(JSON.stringify(s)).byteLength,y>4194304)throw o="budget_exhausted",new Error("environment_transcript_budget_exhausted");n.push(s)},"append"),P=new Set;try{t=await R({...e,input:d,signal:u}),E({role:"system",text:f}),E({role:"user",text:JSON.stringify({input:d,observation:t.observation})});for(let s=0;s<=t.definition.maxSteps;s++){u.throwIfAborted();let w;try{let l=await J({messages:structuredClone(n),tools:structuredClone(t.definition.tools),signal:u});S(l,1048576),w=structuredClone(W.parse(l));for(let g of w.toolCalls){if(P.has(g.id))throw new Error("environment_duplicate_tool_call_identity");P.add(g.id)}}catch(l){throw u.aborted||(o="policy_failure"),l}if(u.throwIfAborted(),E({role:"assistant",...w}),!w.toolCalls.length){p=w.text,await t.collect(),h=t.snapshot(),b=!0,o="completed";break}for(let l of w.toolCalls){let g;try{g=await t.step({name:l.name,arguments:l.arguments})}catch(I){if(!(I instanceof L))throw I;if(I.code==="step_budget_exhausted"){o="budget_exhausted";break}g={error:I.code}}E({role:"tool",callId:l.id,name:l.name,observation:g})}if(o==="budget_exhausted")break;s===t.definition.maxSteps&&(o="budget_exhausted")}h??=t.snapshot()}catch(s){u.aborted&&(o=i?"timed_out":"cancelled"),v=s instanceof Error?s.message:"environment_attempt_failed",h??=t?.snapshot()??null}finally{if(clearTimeout(_),t)try{await t.destroy(),r=!0}catch(s){o="environment_failure",v=s instanceof Error?s.message:"environment_cleanup_failed"}}let B={schemaVersion:"openpond.javascriptEnvironmentAttempt.v1",taskId:m,status:o,output:p,snapshot:h,collected:b,environmentCleanupComplete:r,messages:n,error:v};return{...B,contentHash:N(B)}}a(D,"runJavaScriptEnvironmentAttempt");import{spawn as z}from"node:child_process";async function A(e){if(e.signal?.throwIfAborted(),!Number.isSafeInteger(e.timeoutMs)||e.timeoutMs<1||e.timeoutMs>3e4)throw new Error("sql_timeout_invalid");let m=O(e.request),{sqlExecutionProcessSource:f}=await import("./sql-execution-process-source-B4HQM6ZV.js");e.signal?.throwIfAborted();let{signal:d}=e,J=`globalThis.__openpondSqlInput = JSON.parse(${JSON.stringify(JSON.stringify(m))});
2
+ import{c as H,d as q}from"./chunk-WGISITX6.js";import{c as T,d as L,e as R}from"./chunk-R5GRESW3.js";import{a as M,b as O,e as k,f as C}from"./chunk-I6VMRQF4.js";import{v as S}from"./chunk-ZY32SZ2P.js";import{n as N}from"./chunk-RCT3O3HQ.js";import{A as c}from"./chunk-X2J2P5ZT.js";import{a}from"./chunk-FTQLQJQV.js";var j=c.object({id:c.string().min(1).max(200),name:c.string().min(1).max(64),arguments:c.record(c.string(),c.unknown())}).strict(),W=c.object({text:c.string().max(262144),toolCalls:c.array(j).max(200)}).strict();async function D(e){if(!e.taskId||e.taskId.length>500)throw new Error("environment_task_identity_invalid");if(!Number.isInteger(e.timeoutMs)||e.timeoutMs<1||e.timeoutMs>36e5)throw new Error("environment_attempt_timeout_invalid");S(e.instructions,262144);let m=e.taskId,f=e.instructions,d=structuredClone(e.input),J=e.policy,x=new AbortController,u=e.signal?AbortSignal.any([x.signal,e.signal]):x.signal,i=!1,_=setTimeout(()=>{i=!0,x.abort(new Error("environment_attempt_timeout"))},e.timeoutMs);_.unref?.();let t=null,h=null,o="environment_failure",p=null,v=null,b=!1,r=!1,n=[],y=0,E=a(s=>{if(y+=new TextEncoder().encode(JSON.stringify(s)).byteLength,y>4194304)throw o="budget_exhausted",new Error("environment_transcript_budget_exhausted");n.push(s)},"append"),P=new Set;try{t=await R({...e,input:d,signal:u}),E({role:"system",text:f}),E({role:"user",text:JSON.stringify({input:d,observation:t.observation})});for(let s=0;s<=t.definition.maxSteps;s++){u.throwIfAborted();let w;try{let l=await J({messages:structuredClone(n),tools:structuredClone(t.definition.tools),signal:u});S(l,1048576),w=structuredClone(W.parse(l));for(let g of w.toolCalls){if(P.has(g.id))throw new Error("environment_duplicate_tool_call_identity");P.add(g.id)}}catch(l){throw u.aborted||(o="policy_failure"),l}if(u.throwIfAborted(),E({role:"assistant",...w}),!w.toolCalls.length){p=w.text,await t.collect(),h=t.snapshot(),b=!0,o="completed";break}for(let l of w.toolCalls){let g;try{g=await t.step({name:l.name,arguments:l.arguments})}catch(I){if(!(I instanceof L))throw I;if(I.code==="step_budget_exhausted"){o="budget_exhausted";break}g={error:I.code}}E({role:"tool",callId:l.id,name:l.name,observation:g})}if(o==="budget_exhausted")break;s===t.definition.maxSteps&&(o="budget_exhausted")}h??=t.snapshot()}catch(s){u.aborted&&(o=i?"timed_out":"cancelled"),v=s instanceof Error?s.message:"environment_attempt_failed",h??=t?.snapshot()??null}finally{if(clearTimeout(_),t)try{await t.destroy(),r=!0}catch(s){o="environment_failure",v=s instanceof Error?s.message:"environment_cleanup_failed"}}let B={schemaVersion:"openpond.javascriptEnvironmentAttempt.v1",taskId:m,status:o,output:p,snapshot:h,collected:b,environmentCleanupComplete:r,messages:n,error:v};return{...B,contentHash:N(B)}}a(D,"runJavaScriptEnvironmentAttempt");import{spawn as z}from"node:child_process";async function A(e){if(e.signal?.throwIfAborted(),!Number.isSafeInteger(e.timeoutMs)||e.timeoutMs<1||e.timeoutMs>3e4)throw new Error("sql_timeout_invalid");let m=O(e.request),{sqlExecutionProcessSource:f}=await import("./sql-execution-process-source-B4HQM6ZV.js");e.signal?.throwIfAborted();let{signal:d}=e,J=`globalThis.__openpondSqlInput = JSON.parse(${JSON.stringify(JSON.stringify(m))});
3
3
  ${f}`;return new Promise((x,u)=>{let i=z("node",["--max-old-space-size=64","--input-type=module","-"],{stdio:["pipe","pipe","pipe"],env:{PATH:process.env.PATH},windowsHide:!0}),_,t="",h=0,o=0,p=a(r=>{_??=r,i.kill("SIGKILL")},"stop"),v=a(()=>p(d?.reason instanceof Error?d.reason:new Error("sql_cancelled")),"cancel"),b=setTimeout(()=>p(new Error("sql_timeout")),e.timeoutMs);d?.addEventListener("abort",v,{once:!0}),i.stdout.setEncoding("utf8"),i.stdout.on("data",r=>{h+=Buffer.byteLength(r),h>m.maxResultBytes+65536?p(new Error("sql_process_response_too_large")):t+=r}),i.stderr.on("data",r=>{o+=r.byteLength,o>65536&&p(new Error("sql_process_stderr_too_large"))}),i.once("error",r=>{_??=r}),i.stdin.on("error",r=>p(r)),i.once("close",r=>{if(clearTimeout(b),d?.removeEventListener("abort",v),_){u(_);return}try{if(r!==0)throw new Error("sql_process_exited_without_result");let n=JSON.parse(t);if(!n||typeof n!="object"||!("ok"in n)||n.ok!==!0||!("result"in n))throw new Error("sql_environment_failed");let y=M.parse(n.result);S(y,m.maxResultBytes),x(y)}catch(n){u(n)}}),i.stdin.end(J),d?.aborted&&v()})}a(A,"executeSqlInProcess");async function ie(e){let m=k.parse(e.operation);return T(e,{sql:A,candidate:q,controller:a(async f=>C.parse(await H({...f,exportName:m,maxResultBytes:1572864,deterministic:!0,errorPrefix:"environment"})),"controller")})}a(ie,"executeJavaScriptEnvironmentInWorker");async function le(e){let m=k.parse(e.operation);return T(e,{sql:A,candidate:q,controller:a(async f=>C.parse(await q({...f,exportName:m,maxResultBytes:1572864,deterministic:!0,errorPrefix:"environment"})),"controller")})}a(le,"executeJavaScriptEnvironmentInProcess");export{D as a,ie as b,le as c};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{e as ye}from"./chunk-FEQ7HNJR.js";import{a as we}from"./chunk-IZ6DLEVY.js";import{a as Re,c as he}from"./chunk-QJJNHKLT.js";import{ja as ve}from"./chunk-MVPKU72J.js";import{a as B}from"./chunk-BL3CZWWD.js";import{a as de,b as G,h as V,i as z,j as Y}from"./chunk-4V73I4OL.js";import{k as le}from"./chunk-LE75SVEL.js";import{m as ue,n as me,o as pe,p as fe,q as ge}from"./chunk-HVM2GUM3.js";import{n as E}from"./chunk-RCT3O3HQ.js";import{a as i}from"./chunk-FTQLQJQV.js";function q(e){let t=/^memory\/([a-z0-9][a-z0-9-]{0,119})$/.exec(e.replaceAll("\\","/"));if(!t)throw new Error(`Invalid Harness memory target: ${e}.`);return t[1]}i(q,"memoryKeyFromTarget");function Z(e,t){let r=e.metadata.expectedMemory;if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Memory proposal is missing its expected revision snapshot.");let n=r;if(n.key!==q(t))throw new Error("Memory proposal expected revision targets a different key.");if(n.revision!==null&&(!Number.isInteger(n.revision)||Number(n.revision)<1))throw new Error("Memory proposal expected revision is invalid.");if(n.contentHash!==null&&typeof n.contentHash!="string")throw new Error("Memory proposal expected content hash is invalid.");if(n.status!==null&&n.status!=="active"&&n.status!=="deleted")throw new Error("Memory proposal expected status is invalid.");return{revision:n.revision,contentHash:n.contentHash,status:n.status}}i(Z,"expectedMemoryRevision");function ee(e){return{id:e.id,runRef:e.runRef,turnId:e.turnId,reason:e.reason,suggestedRoutes:e.suggestedRoutes,boundary:e.boundary}}i(ee,"boundedTriggerEvidence");function te(e){return{id:e.id,kind:e.kind,state:e.state,tool:e.tool?.name??null,deterministicClass:e.deterministicClass,summary:e.summary}}i(te,"boundedObservationEvidence");function re(e){let t=new Map;for(let r of e)for(let n of r.eventRefs){let o=Ne(r,n);t.set(`${o.kind}:${o.id}`,o)}return[...t.values()]}i(re,"proposalEvidence");function Ne(e,t){return{kind:e.kind==="recovery"?"recovery":e.kind==="validation"?"validation":e.kind==="user_turn"?"user_turn":"tool_event",id:t.id,contentHash:t.contentHash}}i(Ne,"observationEvidence");function j(e){let t=new Map;for(let r of e)for(let n of r.eventRefs)t.set(n.id,n);return[...t.values()]}i(j,"uniqueEventRefs");function U(e,t){return e.id===t.id&&e.revision===t.revision&&e.contentHash===t.contentHash}i(U,"sameOverlayRef");function D(e){return{id:e.id,revision:e.revision,contentHash:e.contentHash}}i(D,"overlayRef");function ne(e,t){return e.revision===t.workspace.revision&&e.sourceRevision===t.workspace.sourceRevision&&e.currentChannel.revision===t.workspace.channelRevision&&e.currentChannel.release?.id===t.baseHarnessRelease.id&&e.currentChannel.release.contentHash===t.baseHarnessRelease.contentHash}i(ne,"sameWorkspaceRevision");function R(e,t){return`${e}-${E(t).slice(0,24)}`}i(R,"stableId");import{execFile as Fe}from"node:child_process";import{promises as N}from"node:fs";import x from"node:path";import{promisify as We}from"node:util";var Ve=36e3,ke=10,He=20*1024*1024,X=40,ze=24e3,Be=3,je=3,be=6,Te=["turn.started","assistant.delta","tool.started","tool.completed","skill.loaded","workspace_action_result","diagnostic","turn.completed","turn.failed","turn.interrupted"],Ue=We(Fe);async function Ee(e,t,r,n,o){let[a,s,l,g,m]=await Promise.all([e.getSession(t.runRef),e.getTurn(t.turnId),e.runtimeEventsForTurn(t.turnId,{names:Te}),e.turnsForSession(t.runRef,1e3),e.listModelUsageRecords({turnId:t.turnId,limit:1e4})]),d=[...g].sort((c,h)=>c.startedAt.localeCompare(h.startedAt)),y=d.findIndex(c=>c.id===t.turnId),u=y>0?d[y-1]:null,p=d.slice(Math.max(0,y-Be),Math.max(0,y)),b=new Map(await Promise.all(p.map(async c=>[c.id,await e.runtimeEventsForTurn(c.id,{names:["assistant.delta"]})]))),k=new Map(r.flatMap(c=>c.eventRefs.map(h=>[h.id,h]))),H=l.filter(c=>k.has(c.id));if(!o?.allowMissingRuntimeEvents)for(let[c,h]of k){let I=H.find(Le=>Le.id===c);if(!I||E(I)!==h.contentHash)throw new Error(`Refiner runtime event ${c} is unavailable or hash-mismatched.`)}let f=rt({events:l,exactEvents:H,turnId:t.turnId,boundarySequence:t.boundary.eventSequence,limit:t.policy.maxEvidenceEvents}),O=J(l,t.turnId),_=r.map(c=>c.kind),C=Ye(l,t.turnId),S={modelRequestCount:m.length||C.modelRequestCount,promptTokens:m.reduce((c,h)=>c+(h.promptTokens??0),0)||C.promptTokens,completionTokens:m.reduce((c,h)=>c+(h.completionTokens??0),0)||C.completionTokens,totalTokens:m.reduce((c,h)=>c+(h.totalTokens??0),0)||C.totalTokens},M={modelRequestCount:S.modelRequestCount,failedModelRequestCount:m.filter(c=>c.status==="failed"||c.status==="interrupted").length,promptTokens:S.promptTokens,completionTokens:S.completionTokens,totalTokens:S.totalTokens,toolFailureCount:_.filter(c=>c==="tool_failure").length,retryCount:_.filter(c=>c==="retry").length,recoveryCount:_.filter(c=>c==="recovery").length},F=await Ze(a?.cwd),L=l.filter(c=>c.turnId===t.turnId&&ot(c)&&(c.sequence===void 0||c.sequence<=t.boundary.eventSequence)).sort($),P=Ke(L),W=p.map(c=>Xe(c,b.get(c.id)??[])),v=n?await Je({store:e,workspaceId:n,trigger:t,observations:r}):[];return{task:{prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O),previousAssistantOutput:u?J(b.get(u.id)??[],u.id):null},artifactDiagnostics:F,executionProfile:M,eventExcerpts:f.map(c=>{let h=A(c.data),I=A(h.result);return{id:c.id,name:c.name,action:c.action??(typeof h.tool=="string"?h.tool:null),status:c.status??null,command:w(I.command,3e3),error:w(c.error,2e3),output:w(I.output,2e3)??w(c.output,2e3),exitCode:typeof I.exitCode=="number"?I.exitCode:null,timedOut:I.timedOut===!0,stderr:w(I.stderr,3e3),stdout:w(I.stdout,3e3)}}),reviewPacket:{currentTurn:{id:t.turnId,status:s?.status??null,error:s?.error?T(s.error,2e3):null,prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O)},priorConversation:W,timeline:P,artifacts:Ce(l,t.turnId),artifactDiagnostics:F,executionProfile:M,priorIncidents:v,truncation:{timelineEventCount:L.length,includedTimelineEventCount:P.length,timelineTruncated:P.length<L.length}}}}i(Ee,"loadBoundedRefinerContext");function Xe(e,t){return{turnId:e.id,status:e.status,prompt:e.prompt?T(e.prompt,3e3):null,assistantOutput:J(t,e.id,3e3)}}i(Xe,"conversationTurn");function Ke(e){let t=e.map(_e);if(t.length<=X)return Ie(t);let r=t.filter(a=>a.status==="failed"||a.name==="turn.completed"||a.name==="turn.failed"||a.name==="turn.interrupted"||a.name==="skill.loaded"||a.name==="validation.completed"||a.name==="diagnostic"),n=new Set(r.map(xe)),o=t.filter(a=>!n.has(xe(a))).slice(-(X-Math.min(r.length,X)));return Ie([...r.slice(-X),...o].sort((a,s)=>Number(a.sequence??0)-Number(s.sequence??0)))}i(Ke,"boundedReviewTimeline");function Ie(e){let t=[],r=0;for(let n of e){let o=JSON.stringify(n).length;r+o>ze||(t.push(n),r+=o)}return t}i(Ie,"fitTimelineToCharacterBudget");function _e(e){let t=A(e.data),r=A(t.result);return{sequence:e.sequence??null,timestamp:e.timestamp,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,args:Ge(e.args,1500),command:w(r.command,2e3),error:w(e.error,2e3),output:w(r.output,2e3)??w(e.output,2e3),exitCode:typeof r.exitCode=="number"?r.exitCode:null,timedOut:r.timedOut===!0,stderr:w(r.stderr,2e3),stdout:w(r.stdout,2e3)}}i(_e,"reviewTimelineEntry");function xe(e){return`${e.sequence??"none"}:${e.name??"unknown"}:${e.action??"none"}`}i(xe,"timelineEntryKey");function Ce(e,t){let r=new Map;for(let n of e)if(n.turnId===t)for(let o of oe(n.data))r.set(`${o.id}:${o.revision}`,o);return[...r.values()].sort((n,o)=>n.title.localeCompare(o.title)||n.revision-o.revision).slice(0,30).map(n=>({id:n.id,title:n.title,revision:n.revision,contentType:n.contentType,sizeBytes:n.sizeBytes,sha256:n.sha256,locationKind:n.location.kind,validation:n.validation.map(o=>({kind:o.kind,status:o.status,label:o.label,detail:o.detail??null}))}))}i(Ce,"fileOutputInventory");function oe(e,t=0){if(t>8)return[];let r=ve.safeParse(e);return r.success?[r.data]:Array.isArray(e)?e.flatMap(n=>oe(n,t+1)):!e||typeof e!="object"?[]:Object.values(e).flatMap(n=>oe(n,t+1))}i(oe,"findFileOutputRefs");async function Je(e){let t=new Set(e.observations.flatMap(s=>s.deterministicClass?[s.deterministicClass]:[])),r=new Set(e.observations.flatMap(s=>s.tool?[s.tool.name]:[]));if(t.size===0&&r.size===0)return[];let n=(await e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",200)).filter(s=>s.runRef!==e.trigger.runRef&&s.turnId!==e.trigger.turnId&&(s.deterministicClass!==null&&t.has(s.deterministicClass)||s.tool!==null&&r.has(s.tool.name))).sort((s,l)=>l.createdAt.localeCompare(s.createdAt)),o=new Map;for(let s of n){let l=`${s.runRef}:${s.turnId}`,g=o.get(l)??[];g.push(s),o.set(l,g)}let a=[];for(let s of o.values()){if(a.length>=je)break;let l=s[0],[g,m]=await Promise.all([e.store.getTurn(l.turnId),e.store.runtimeEventsForTurn(l.turnId,{names:Te})]);if(!g)continue;let d=[...new Set(s.flatMap(p=>p.deterministicClass&&t.has(p.deterministicClass)?[p.deterministicClass]:[]))],y=[...new Set(s.flatMap(p=>p.tool&&r.has(p.tool.name)?[p.tool.name]:[]))],u=Qe(m.filter(p=>p.turnId===g.id));a.push({runRef:l.runRef,turnId:l.turnId,createdAt:l.createdAt,matchedBy:{deterministicClasses:d,tools:y},observations:s.slice(0,4).map(p=>({kind:p.kind,state:p.state,deterministicClass:p.deterministicClass,summary:p.summary})),prompt:g.prompt?T(g.prompt,1200):null,assistantOutput:J(m,g.id,1200),timeline:u,artifacts:Ce(m,g.id).slice(0,5)})}return a}i(Je,"loadRelevantPriorIncidentPackets");function Qe(e){let t=new Set(["turn.completed","turn.failed","turn.interrupted"]),r=e.filter(a=>{if(t.has(a.name))return!0;let s=JSON.stringify({error:a.error,output:a.output,data:a.data});return a.status==="failed"||/"ok"\s*:\s*false|failed|denied|unavailable|timed?\s*out|exception|traceback/i.test(s)}).sort($).map(a=>{let s=_e(a);return{sequence:s.sequence,name:s.name,action:s.action,status:s.status,error:w(s.error,800),output:w(s.output,800),exitCode:s.exitCode,timedOut:s.timedOut}}),n=new Map;for(let a of r){let s=JSON.stringify({name:a.name,action:a.action,status:a.status,error:a.error,output:a.output,exitCode:a.exitCode,timedOut:a.timedOut}),l=n.get(s);if(l){l.occurrenceCount+=1;continue}n.set(s,{...a,occurrenceCount:1})}let o=[...n.values()];return o.length<=be?o:[...o.slice(0,be-2),...o.slice(-2)]}i(Qe,"priorIncidentTimeline");function Ge(e,t){if(e===void 0)return null;try{let r=T(JSON.stringify(e),t);return JSON.parse(r.endsWith(`
2
+ import{e as ye}from"./chunk-FE2ENE3U.js";import{a as we}from"./chunk-IZ6DLEVY.js";import{a as Re,c as he}from"./chunk-KQD36SBJ.js";import{ja as ve}from"./chunk-CJDGLPNX.js";import{a as B}from"./chunk-BL3CZWWD.js";import{a as de,b as G,h as V,i as z,j as Y}from"./chunk-4V73I4OL.js";import{k as le}from"./chunk-LE75SVEL.js";import{m as ue,n as me,o as pe,p as fe,q as ge}from"./chunk-HVM2GUM3.js";import{n as E}from"./chunk-RCT3O3HQ.js";import{a as i}from"./chunk-FTQLQJQV.js";function q(e){let t=/^memory\/([a-z0-9][a-z0-9-]{0,119})$/.exec(e.replaceAll("\\","/"));if(!t)throw new Error(`Invalid Harness memory target: ${e}.`);return t[1]}i(q,"memoryKeyFromTarget");function Z(e,t){let r=e.metadata.expectedMemory;if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Memory proposal is missing its expected revision snapshot.");let n=r;if(n.key!==q(t))throw new Error("Memory proposal expected revision targets a different key.");if(n.revision!==null&&(!Number.isInteger(n.revision)||Number(n.revision)<1))throw new Error("Memory proposal expected revision is invalid.");if(n.contentHash!==null&&typeof n.contentHash!="string")throw new Error("Memory proposal expected content hash is invalid.");if(n.status!==null&&n.status!=="active"&&n.status!=="deleted")throw new Error("Memory proposal expected status is invalid.");return{revision:n.revision,contentHash:n.contentHash,status:n.status}}i(Z,"expectedMemoryRevision");function ee(e){return{id:e.id,runRef:e.runRef,turnId:e.turnId,reason:e.reason,suggestedRoutes:e.suggestedRoutes,boundary:e.boundary}}i(ee,"boundedTriggerEvidence");function te(e){return{id:e.id,kind:e.kind,state:e.state,tool:e.tool?.name??null,deterministicClass:e.deterministicClass,summary:e.summary}}i(te,"boundedObservationEvidence");function re(e){let t=new Map;for(let r of e)for(let n of r.eventRefs){let o=Ne(r,n);t.set(`${o.kind}:${o.id}`,o)}return[...t.values()]}i(re,"proposalEvidence");function Ne(e,t){return{kind:e.kind==="recovery"?"recovery":e.kind==="validation"?"validation":e.kind==="user_turn"?"user_turn":"tool_event",id:t.id,contentHash:t.contentHash}}i(Ne,"observationEvidence");function j(e){let t=new Map;for(let r of e)for(let n of r.eventRefs)t.set(n.id,n);return[...t.values()]}i(j,"uniqueEventRefs");function U(e,t){return e.id===t.id&&e.revision===t.revision&&e.contentHash===t.contentHash}i(U,"sameOverlayRef");function D(e){return{id:e.id,revision:e.revision,contentHash:e.contentHash}}i(D,"overlayRef");function ne(e,t){return e.revision===t.workspace.revision&&e.sourceRevision===t.workspace.sourceRevision&&e.currentChannel.revision===t.workspace.channelRevision&&e.currentChannel.release?.id===t.baseHarnessRelease.id&&e.currentChannel.release.contentHash===t.baseHarnessRelease.contentHash}i(ne,"sameWorkspaceRevision");function R(e,t){return`${e}-${E(t).slice(0,24)}`}i(R,"stableId");import{execFile as Fe}from"node:child_process";import{promises as N}from"node:fs";import x from"node:path";import{promisify as We}from"node:util";var Ve=36e3,ke=10,He=20*1024*1024,X=40,ze=24e3,Be=3,je=3,be=6,Te=["turn.started","assistant.delta","tool.started","tool.completed","skill.loaded","workspace_action_result","diagnostic","turn.completed","turn.failed","turn.interrupted"],Ue=We(Fe);async function Ee(e,t,r,n,o){let[a,s,l,g,m]=await Promise.all([e.getSession(t.runRef),e.getTurn(t.turnId),e.runtimeEventsForTurn(t.turnId,{names:Te}),e.turnsForSession(t.runRef,1e3),e.listModelUsageRecords({turnId:t.turnId,limit:1e4})]),d=[...g].sort((c,h)=>c.startedAt.localeCompare(h.startedAt)),y=d.findIndex(c=>c.id===t.turnId),u=y>0?d[y-1]:null,p=d.slice(Math.max(0,y-Be),Math.max(0,y)),b=new Map(await Promise.all(p.map(async c=>[c.id,await e.runtimeEventsForTurn(c.id,{names:["assistant.delta"]})]))),k=new Map(r.flatMap(c=>c.eventRefs.map(h=>[h.id,h]))),H=l.filter(c=>k.has(c.id));if(!o?.allowMissingRuntimeEvents)for(let[c,h]of k){let I=H.find(Le=>Le.id===c);if(!I||E(I)!==h.contentHash)throw new Error(`Refiner runtime event ${c} is unavailable or hash-mismatched.`)}let f=rt({events:l,exactEvents:H,turnId:t.turnId,boundarySequence:t.boundary.eventSequence,limit:t.policy.maxEvidenceEvents}),O=J(l,t.turnId),_=r.map(c=>c.kind),C=Ye(l,t.turnId),S={modelRequestCount:m.length||C.modelRequestCount,promptTokens:m.reduce((c,h)=>c+(h.promptTokens??0),0)||C.promptTokens,completionTokens:m.reduce((c,h)=>c+(h.completionTokens??0),0)||C.completionTokens,totalTokens:m.reduce((c,h)=>c+(h.totalTokens??0),0)||C.totalTokens},M={modelRequestCount:S.modelRequestCount,failedModelRequestCount:m.filter(c=>c.status==="failed"||c.status==="interrupted").length,promptTokens:S.promptTokens,completionTokens:S.completionTokens,totalTokens:S.totalTokens,toolFailureCount:_.filter(c=>c==="tool_failure").length,retryCount:_.filter(c=>c==="retry").length,recoveryCount:_.filter(c=>c==="recovery").length},F=await Ze(a?.cwd),L=l.filter(c=>c.turnId===t.turnId&&ot(c)&&(c.sequence===void 0||c.sequence<=t.boundary.eventSequence)).sort($),P=Ke(L),W=p.map(c=>Xe(c,b.get(c.id)??[])),v=n?await Je({store:e,workspaceId:n,trigger:t,observations:r}):[];return{task:{prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O),previousAssistantOutput:u?J(b.get(u.id)??[],u.id):null},artifactDiagnostics:F,executionProfile:M,eventExcerpts:f.map(c=>{let h=A(c.data),I=A(h.result);return{id:c.id,name:c.name,action:c.action??(typeof h.tool=="string"?h.tool:null),status:c.status??null,command:w(I.command,3e3),error:w(c.error,2e3),output:w(I.output,2e3)??w(c.output,2e3),exitCode:typeof I.exitCode=="number"?I.exitCode:null,timedOut:I.timedOut===!0,stderr:w(I.stderr,3e3),stdout:w(I.stdout,3e3)}}),reviewPacket:{currentTurn:{id:t.turnId,status:s?.status??null,error:s?.error?T(s.error,2e3):null,prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O)},priorConversation:W,timeline:P,artifacts:Ce(l,t.turnId),artifactDiagnostics:F,executionProfile:M,priorIncidents:v,truncation:{timelineEventCount:L.length,includedTimelineEventCount:P.length,timelineTruncated:P.length<L.length}}}}i(Ee,"loadBoundedRefinerContext");function Xe(e,t){return{turnId:e.id,status:e.status,prompt:e.prompt?T(e.prompt,3e3):null,assistantOutput:J(t,e.id,3e3)}}i(Xe,"conversationTurn");function Ke(e){let t=e.map(_e);if(t.length<=X)return Ie(t);let r=t.filter(a=>a.status==="failed"||a.name==="turn.completed"||a.name==="turn.failed"||a.name==="turn.interrupted"||a.name==="skill.loaded"||a.name==="validation.completed"||a.name==="diagnostic"),n=new Set(r.map(xe)),o=t.filter(a=>!n.has(xe(a))).slice(-(X-Math.min(r.length,X)));return Ie([...r.slice(-X),...o].sort((a,s)=>Number(a.sequence??0)-Number(s.sequence??0)))}i(Ke,"boundedReviewTimeline");function Ie(e){let t=[],r=0;for(let n of e){let o=JSON.stringify(n).length;r+o>ze||(t.push(n),r+=o)}return t}i(Ie,"fitTimelineToCharacterBudget");function _e(e){let t=A(e.data),r=A(t.result);return{sequence:e.sequence??null,timestamp:e.timestamp,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,args:Ge(e.args,1500),command:w(r.command,2e3),error:w(e.error,2e3),output:w(r.output,2e3)??w(e.output,2e3),exitCode:typeof r.exitCode=="number"?r.exitCode:null,timedOut:r.timedOut===!0,stderr:w(r.stderr,2e3),stdout:w(r.stdout,2e3)}}i(_e,"reviewTimelineEntry");function xe(e){return`${e.sequence??"none"}:${e.name??"unknown"}:${e.action??"none"}`}i(xe,"timelineEntryKey");function Ce(e,t){let r=new Map;for(let n of e)if(n.turnId===t)for(let o of oe(n.data))r.set(`${o.id}:${o.revision}`,o);return[...r.values()].sort((n,o)=>n.title.localeCompare(o.title)||n.revision-o.revision).slice(0,30).map(n=>({id:n.id,title:n.title,revision:n.revision,contentType:n.contentType,sizeBytes:n.sizeBytes,sha256:n.sha256,locationKind:n.location.kind,validation:n.validation.map(o=>({kind:o.kind,status:o.status,label:o.label,detail:o.detail??null}))}))}i(Ce,"fileOutputInventory");function oe(e,t=0){if(t>8)return[];let r=ve.safeParse(e);return r.success?[r.data]:Array.isArray(e)?e.flatMap(n=>oe(n,t+1)):!e||typeof e!="object"?[]:Object.values(e).flatMap(n=>oe(n,t+1))}i(oe,"findFileOutputRefs");async function Je(e){let t=new Set(e.observations.flatMap(s=>s.deterministicClass?[s.deterministicClass]:[])),r=new Set(e.observations.flatMap(s=>s.tool?[s.tool.name]:[]));if(t.size===0&&r.size===0)return[];let n=(await e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",200)).filter(s=>s.runRef!==e.trigger.runRef&&s.turnId!==e.trigger.turnId&&(s.deterministicClass!==null&&t.has(s.deterministicClass)||s.tool!==null&&r.has(s.tool.name))).sort((s,l)=>l.createdAt.localeCompare(s.createdAt)),o=new Map;for(let s of n){let l=`${s.runRef}:${s.turnId}`,g=o.get(l)??[];g.push(s),o.set(l,g)}let a=[];for(let s of o.values()){if(a.length>=je)break;let l=s[0],[g,m]=await Promise.all([e.store.getTurn(l.turnId),e.store.runtimeEventsForTurn(l.turnId,{names:Te})]);if(!g)continue;let d=[...new Set(s.flatMap(p=>p.deterministicClass&&t.has(p.deterministicClass)?[p.deterministicClass]:[]))],y=[...new Set(s.flatMap(p=>p.tool&&r.has(p.tool.name)?[p.tool.name]:[]))],u=Qe(m.filter(p=>p.turnId===g.id));a.push({runRef:l.runRef,turnId:l.turnId,createdAt:l.createdAt,matchedBy:{deterministicClasses:d,tools:y},observations:s.slice(0,4).map(p=>({kind:p.kind,state:p.state,deterministicClass:p.deterministicClass,summary:p.summary})),prompt:g.prompt?T(g.prompt,1200):null,assistantOutput:J(m,g.id,1200),timeline:u,artifacts:Ce(m,g.id).slice(0,5)})}return a}i(Je,"loadRelevantPriorIncidentPackets");function Qe(e){let t=new Set(["turn.completed","turn.failed","turn.interrupted"]),r=e.filter(a=>{if(t.has(a.name))return!0;let s=JSON.stringify({error:a.error,output:a.output,data:a.data});return a.status==="failed"||/"ok"\s*:\s*false|failed|denied|unavailable|timed?\s*out|exception|traceback/i.test(s)}).sort($).map(a=>{let s=_e(a);return{sequence:s.sequence,name:s.name,action:s.action,status:s.status,error:w(s.error,800),output:w(s.output,800),exitCode:s.exitCode,timedOut:s.timedOut}}),n=new Map;for(let a of r){let s=JSON.stringify({name:a.name,action:a.action,status:a.status,error:a.error,output:a.output,exitCode:a.exitCode,timedOut:a.timedOut}),l=n.get(s);if(l){l.occurrenceCount+=1;continue}n.set(s,{...a,occurrenceCount:1})}let o=[...n.values()];return o.length<=be?o:[...o.slice(0,be-2),...o.slice(-2)]}i(Qe,"priorIncidentTimeline");function Ge(e,t){if(e===void 0)return null;try{let r=T(JSON.stringify(e),t);return JSON.parse(r.endsWith(`
3
3
  [truncated]`)?JSON.stringify(r):r)}catch{return T(String(e),t)}}i(Ge,"boundedUnknown");function Ye(e,t){let r={modelRequestCount:0,promptTokens:0,completionTokens:0,totalTokens:0},n=[...e].reverse().find(o=>o.turnId===t&&o.name==="diagnostic"&&o.action==="taskset_grade"&&typeof o.output=="string");if(!n?.output)return r;try{let o=A(JSON.parse(n.output)),a=A(o.attempt),s=A(a.usage);return{modelRequestCount:K(a.modelRequestCount),promptTokens:K(s.promptTokens),completionTokens:K(s.completionTokens),totalTokens:K(s.totalTokens)}}catch{return r}}i(Ye,"tasksetGradeExecutionProfile");function K(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.trunc(e):0}i(K,"nonnegativeInteger");async function Ze(e){if(!e)return[];let t=[];for(let r of[e,x.join(e,"outputs")]){let n=await N.readdir(r,{withFileTypes:!0}).catch(()=>[]);for(let o of n)if(!(!o.isFile()||!o.name.toLowerCase().endsWith(".pdf"))&&(t.push({filename:x.join(r,o.name),displayPath:x.relative(e,x.join(r,o.name)).replaceAll(x.sep,"/")}),t.length>=ke))break;if(t.length>=ke)break}return Promise.all(t.map(async({filename:r,displayPath:n})=>{try{if((await N.stat(r)).size>He)return{path:n,mediaType:"application/pdf",check:"pdf_text_bounds",status:"unavailable",reason:`artifact exceeds ${He} byte inspection bound`};let{stdout:a}=await Ue("pdftotext",["-bbox",r,"-"],{env:{...process.env,PATH:we()},maxBuffer:8*1024*1024,timeout:15e3});return et(n,a)}catch(o){return{path:n,mediaType:"application/pdf",check:"pdf_text_bounds",status:"unavailable",reason:o instanceof Error?o.message.slice(0,500):String(o).slice(0,500)}}}))}i(Ze,"inspectBoundedPdfArtifactDiagnostics");function et(e,t){let r=[],n=0;for(let o of t.matchAll(/<page\s+width="([^"]+)"\s+height="([^"]+)"[^>]*>([\s\S]*?)<\/page>/g)){n+=1;let a=Number(o[1]),s=Number(o[2]);for(let l of o[3].matchAll(/<word\s+xMin="([^"]+)"\s+yMin="([^"]+)"\s+xMax="([^"]+)"\s+yMax="([^"]+)"[^>]*>([\s\S]*?)<\/word>/g)){let[g,m,d,y]=l.slice(1,5).map(Number);g>=0&&m>=0&&d<=a&&y<=s||r.push({page:n,text:tt(l[5]).slice(0,120),xMin:g,yMin:m,xMax:d,yMax:y,pageWidth:a,pageHeight:s})}}return{path:e,mediaType:"application/pdf",check:"pdf_text_bounds",status:r.length>0?"failed":"passed",pages:n,clippedTextCount:r.length,examples:r.slice(0,10)}}i(et,"pdfTextBoundsDiagnostic");function tt(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;|&apos;/g,"'")}i(tt,"decodeXmlText");function Se(e){return e?e.match(/https?:\/\/[^\s<>)\]}"']+/gi)?.length??0:0}i(Se,"countAbsoluteLinks");function J(e,t,r=8e3){let n=e.filter(o=>o.turnId===t&&o.name==="assistant.delta"&&typeof o.output=="string").sort($).map(o=>o.output).join("");return n?T(n,r):null}i(J,"assistantOutputForTurn");async function Ae(e,t,r){let n=await e.listHarnessImprovementArtifacts(t,"observation",1e3),o=new Map(n.map(a=>{let s=de.parse(a);return[s.contentHash,s]}));return r.observations.map(a=>{let s=o.get(a.contentHash);if(!s||s.id!==a.id)throw new Error(`Refiner observation ${a.id} is unavailable or hash-mismatched.`);return s})}i(Ae,"loadExactObservations");async function se(e,t,r={}){let n=st(t),o=r.forceUnloaded!==!0,a=i((u,p)=>o&&(u==="instruction"||u==="skill"&&n.has(at(p))),"wasLoaded"),s=x.resolve(e,"source"),l=B.parse(JSON.parse(await N.readFile(x.join(s,"harness.json"),"utf8"))),g=Ve,m=[],d=l.files.filter(u=>["instruction","skill","agent"].includes(u.kind)&&u.visibility==="policy").map(u=>({path:u.path,kind:u.kind,loaded:a(u.kind,u.path)})),y=l.files.slice().sort((u,p)=>{let b=["instruction","skill","agent"].includes(u.kind)&&a(u.kind,u.path),k=["instruction","skill","agent"].includes(p.kind)&&a(p.kind,p.path);if(b!==k)return b?-1:1;let H=i(f=>f==="instruction"?0:f==="skill"?1:2,"rank");return H(u.kind)-H(p.kind)||u.path.localeCompare(p.path)});for(let u of y){if(!["instruction","skill","agent"].includes(u.kind)||u.visibility!=="policy"||!["text/markdown","text/plain","text/javascript"].includes(u.mediaType))continue;let p=it(s,u.path),b=await N.lstat(p);if(!b.isFile()||b.isSymbolicLink())continue;let k=await N.readFile(p);k.byteLength>g||(m.push({path:u.path,kind:u.kind,content:k.toString("utf8"),loaded:a(u.kind,u.path)}),g-=k.byteLength)}return{manifest:l,files:m,catalog:d}}i(se,"readBoundedRefinerSource");function rt(e){let t=[...e.exactEvents].sort($),r=e.events.filter(l=>l.turnId===e.turnId&&nt(l)&&(l.sequence===void 0||l.sequence<=e.boundarySequence)).sort($);if(r.length<=e.limit)return r;let n=new Set(t.map(l=>l.id)),o=t.slice(0,e.limit),a=e.limit-o.length;if(a<=0)return o;let s=r.filter(l=>!n.has(l.id)).slice(-a);return[...o,...s].sort($)}i(rt,"selectRefinerEvidenceWindow");function nt(e){return["tool.completed","workspace_action_result","skill.loaded","validation.completed","diagnostic"].includes(e.name)}i(nt,"isRefinerEvidenceEvent");function ot(e){return["turn.completed","turn.failed","turn.interrupted","tool.completed","workspace_action_result","skill.loaded","validation.completed","diagnostic"].includes(e.name)}i(ot,"isRefinerReviewTimelineEvent");function $(e,t){return(e.sequence??Number.MAX_SAFE_INTEGER)-(t.sequence??Number.MAX_SAFE_INTEGER)}i($,"compareRuntimeEvents");function w(e,t){return typeof e=="string"?T(e,t):null}i(w,"textField");function T(e,t){let r=e.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\b(api[_-]?key|access[_-]?token|auth(?:orization)?|password|secret)(\s*[:=]\s*)([^\s,;]+)/gi,"$1$2[redacted]");return r.length<=t?r:`${r.slice(0,t)}
4
4
  [truncated]`}i(T,"redactAndBoundRefinerText");function st(e){let t=e.metadata.loadedSkillNames;return Array.isArray(t)?new Set(t.filter(r=>typeof r=="string"&&r.trim().length>0)):new Set}i(st,"loadedSkillNamesFromTrigger");function at(e){return/^skills\/([^/]+)\/SKILL\.md$/.exec(e.replaceAll("\\","/"))?.[1]??""}i(at,"skillNameFromPath");function it(e,t){let r=x.resolve(e,...t.replaceAll("\\","/").split("/")),n=x.relative(e,r);if(!n||n.startsWith("..")||x.isAbsolute(n))throw new Error(`Harness source path escapes its immutable bundle: ${t}`);return r}i(it,"containedSourcePath");function A(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(A,"asRecord");async function Oe(e){let t=e.rebasedOntoCurrent?e.workspace.currentChannel.release:e.overlay.baseHarnessRelease;if(!t)throw new Error("Queued Refiner trigger references a Harness workspace without a current release.");let r=await e.store.getHarnessReleaseRecord(t.contentHash);if(!r||r.harnessRelease.id!==t.id||r.workspaceId!==e.workspace.id)throw new Error("Queued Refiner trigger references an unavailable effective Harness release.");let n=await se(r.bundlePath,e.trigger,{forceUnloaded:e.rebasedOntoCurrent}),o=e.rebasedOntoCurrent?await e.store.getHarnessReleaseRecord(e.overlay.baseHarnessRelease.contentHash):r;if(!o||o.harnessRelease.id!==e.overlay.baseHarnessRelease.id||o.workspaceId!==e.workspace.id)throw new Error("Queued Refiner trigger references an unavailable admitted Harness release.");return{admittedSource:e.rebasedOntoCurrent?await se(o.bundlePath,e.trigger):n,effectiveReleaseRef:t,release:r,source:n}}i(Oe,"loadRefinerReleaseContext");function Me(e,t){if(t.requestId!==e.requestId||t.evidenceHash!==e.evidenceHash||t.admittedRelease.id!==e.harness.admittedRelease.id||t.admittedRelease.contentHash!==e.harness.admittedRelease.contentHash||t.currentRelease.id!==e.harness.currentRelease.id||t.currentRelease.contentHash!==e.harness.currentRelease.contentHash)throw new Error("Managed Harness Refiner response binding does not match the request.")}i(Me,"assertHostedResponseBinding");function Q(e){return{id:e.id,contentHash:e.contentHash,coreHash:e.coreHash,profileHash:e.profileHash}}i(Q,"refinerReleaseMetadata");async function Pe(e,t,r){return(await e.listHarnessImprovementArtifacts(t,"refiner_outcome",1e3)).find(o=>o.trigger.id===r.id&&o.trigger.contentHash===r.contentHash)??null}i(Pe,"findRefinerOutcome");async function ae(e,t,r){return(await e.listHarnessImprovementArtifacts(t,"proposal",1e3)).find(o=>o.id===r)??null}i(ae,"findProposal");async function qe(e,t,r){let n=await ae(e,t,R("proposal",r.contentHash)),o=n?.metadata.trigger;return o?.id===r.id&&o.contentHash===r.contentHash?n:null}i(qe,"findProposalByTrigger");async function ie(e,t,r){return(await e.listHarnessImprovementArtifacts(t,"targeted_validation",1e3)).filter(o=>o.proposal.id===r.id&&o.proposal.contentHash===r.contentHash)}i(ie,"findProposalValidations");var De=new WeakMap;async function zt(e){let t=G.parse(e.trigger).contentHash,r=De.get(e.store);r||(r=new Map,De.set(e.store,r));let n=r.get(t);if(n)return n;let o=ct(e);r.set(t,o);try{return await o}finally{r.get(t)===o&&r.delete(t)}}i(zt,"runLocalHarnessRefinerWorker");async function ct(e){let t=G.parse(e.trigger);if(t.decision!=="queue_refiner")throw new Error("The model-backed Refiner only accepts queue_refiner decisions.");if(!t.overlay)throw new Error("A queued Local Harness Refiner decision requires a run overlay.");let r=await e.store.getHarnessRunOverlay(t.runRef);if(!r||!U(r,t.overlay))throw new Error("Queued Refiner trigger does not match the durable run overlay.");let n=await e.store.getHarnessWorkspace(r.workspace.workspaceId);if(!n||n.location!==e.store.harnessStoragePlacement)throw new Error("Harness Refiner workspace does not match the admitted storage placement.");let o=await Pe(e.store,n.id,t);if(o){let v=o.proposal?await ae(e.store,n.id,o.proposal.id):null;return{outcome:o,overlay:await e.store.getHarnessRunOverlay(t.runRef)??r,proposal:v,validations:v?await ie(e.store,n.id,v):[],workspace:await e.store.getHarnessWorkspace(n.id)??n,advanceReceipt:null,applyReceipt:null}}let a=await Ae(e.store,n.id,t),s=!ne(n,r);if(r.status!=="active"){let v=await qe(e.store,n.id,t);return v&&U(r,v.overlay)?$e({...e,trigger:t,workspace:n,overlay:r,proposal:v,observations:a}):ce({store:e.store,workspace:n,overlay:r,trigger:t,observations:a,reason:`The run overlay is ${r.status} and has no recoverable proposal for this trigger.`,now:e.now})}let{admittedSource:l,effectiveReleaseRef:g,release:m,source:d}=await Oe({store:e.store,workspace:n,overlay:r,trigger:t,rebasedOntoCurrent:s}),y=(await e.store.listHarnessMemories(n.id)).slice(0,100).map(v=>({path:`memory/${v.key}`,kind:"memory",content:v.content,loaded:!0}));d.catalog.push(...y.map(({path:v,kind:c,loaded:h})=>({path:v,kind:c,loaded:h}))),d.files.push(...y);let u=await Ee(e.store,t,a,n.id,{allowMissingRuntimeEvents:e.reviewScope==="cross_run_candidate"}),p={memory:!0,prompt:!0,skill:!0,agent:!1},b=[...a.map(v=>v.id),...u.reviewPacket.priorIncidents.flatMap(v=>typeof v.id=="string"&&v.id.trim()?[v.id.trim()]:[])],k={capabilities:p,trigger:ee(t),observations:a.map(te),admissibleEvidenceIds:b,reviewPacket:u.reviewPacket,runtimeActivation:{admittedRelease:r.baseHarnessRelease,currentRelease:g,rebasedOntoCurrent:s,admittedSourceFiles:l.files,admittedSourceCatalog:l.catalog},sourceFiles:d.files,sourceCatalog:d.catalog,additionalEvidence:e.additionalEvidence??null},H=await(e.loadActiveRefinerRelease?e.loadActiveRefinerRelease():ye(e.storeDir)),f;if(e.stream)f=await ue({evidence:k,stream:e.stream,signal:e.signal,timeoutMs:e.timeoutMs,reviewProfile:H.profile});else if(e.refine){let v=fe.parse({schemaVersion:"openpond.hostedHarnessRefinerRequest.v2",requestId:t.id,idempotencyKey:t.contentHash,evidenceHash:E(k),harness:{admittedRelease:r.baseHarnessRelease,currentRelease:g,overlay:D(r),workspace:{id:n.id,revision:n.revision,sourceRevision:n.sourceRevision,channelRevision:n.currentChannel.revision},capabilities:p},evidence:k}),c=ge.parse(await e.refine({request:v,signal:e.signal}));Me(v,c),f=c.decision}else throw new Error("Harness Refiner requires a public model stream or managed adapter.");if(f=pe({decision:f,evidence:k}),f=me(f,H.profile),f.decision==="no_action")return ce({store:e.store,workspace:n,overlay:r,trigger:t,observations:a,reason:f.reason,metadata:{refinerRelease:Q(H)},now:e.now});if(f.decision==="route")return dt({store:e.store,workspace:n,overlay:r,trigger:t,observations:a,decision:f,refinerRelease:Q(H),now:e.now});ut(f,d.catalog,d.files);let O=mt(f,d.files),_=f.route==="memory"?await e.store.getHarnessMemory(n.id,q(f.target)):null,C=(e.now??(()=>new Date().toISOString()))(),S=gt(f),M=ft({trigger:t,decision:f,materializedContent:O,manifest:d.manifest,effects:S}),F=R("proposal",t.contentHash),L=R("targeted-check",{trigger:t.contentHash,route:f.route,target:f.target}),P=re(a),W=await e.store.freezeHarnessRunOverlayWithProposalAtomically({runId:t.runRef,expectedRevision:r.revision,edits:M,updatedAt:C,buildProposal:i(v=>le({schemaVersion:"openpond.harnessImprovementProposal.v1",id:F,overlay:D(v),baseHarnessRelease:{id:m.harnessRelease.id,contentHash:m.harnessRelease.contentHash},expectedWorkspace:{workspaceId:n.id,revision:n.revision,sourceRevision:n.sourceRevision,channelRevision:n.currentChannel.revision},requestedScope:"personal",route:f.route,risk:f.operation==="delete"||S.some(c=>!["text_instruction","memory","dependency_selection"].includes(c))?"review":"low",effects:S,evidence:P,edits:M,validationPlan:vt({decision:f,evidence:P,validationId:L,effects:S}),expectedOutcome:f.expectedOutcome,createdAt:C,metadata:{refinerRelease:Q(H),trigger:{id:t.id,contentHash:t.contentHash},reason:f.reason,evidenceBasis:f.evidenceBasis,generatedManifestEditId:M.find(c=>c.target==="harness.json")?.id??null,rebasedFromHarnessRelease:s?r.baseHarnessRelease:null,expectedMemory:f.route==="memory"?{key:q(f.target),revision:_?.revision??null,contentHash:_?.contentHash??null,status:_?.status??null}:null}}),"buildProposal")});return $e({...e,trigger:t,workspace:n,overlay:W.overlay,proposal:W.proposal,observations:a})}i(ct,"executeLocalHarnessRefinerWorker");async function $e(e){let t=(e.now??(()=>new Date().toISOString()))(),r=await ie(e.store,e.workspace.id,e.proposal);if(r.length===0){r=await he({storeDir:e.storeDir,workspace:e.workspace,proposal:e.proposal,now:i(()=>t,"now")});for(let l of r)await e.store.saveHarnessImprovementArtifact(e.workspace.id,"targeted_validation",l)}if(e.proposal.route==="memory")return lt({...e,validations:r,timestamp:t});let n=await Re({store:e.store,storeDir:e.storeDir,overlay:e.overlay,proposal:e.proposal,validations:r,receiptId:R("harness-advance",e.proposal.contentHash),now:i(()=>t,"now")}),o=V({schemaVersion:"openpond.improvementRouteDecision.v1",id:R("route",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},route:e.proposal.route,authority:"refiner_model",automatic:n.receipt.decision==="advanced",reason:n.receipt.reason,createdAt:t,metadata:{proposalId:e.proposal.id}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"route_decision",o);let a=Y({schemaVersion:"openpond.improvementApplyReceipt.v1",id:R("apply",e.proposal.contentHash),proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},beforeOverlay:e.trigger.overlay,afterOverlay:n.receipt.decision==="advanced"?D(e.overlay):null,decision:n.receipt.decision==="advanced"?"applied":"retained",boundary:e.trigger.boundary,validationRefs:r.map(l=>({id:l.id,contentHash:l.contentHash})),outcomeEvidenceRefs:j(e.observations),rollbackOf:null,createdAt:t,metadata:{workspaceAdvanceDecision:n.receipt.decision}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"apply_receipt",a);let s=z({schemaVersion:"openpond.harnessRefinerOutcome.v1",id:R("refiner-outcome",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},decision:"proposed",proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},reason:n.receipt.reason,evidenceRefs:e.trigger.observations,estimatedCostUsd:e.trigger.estimatedMaxCostUsd,createdAt:t,metadata:{refinerRelease:e.proposal.metadata.refinerRelease??null,validationStatuses:r.map(l=>l.status),workspaceAdvanceReceipt:{id:n.receipt.id,contentHash:n.receipt.contentHash}}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"refiner_outcome",s),{outcome:s,overlay:e.overlay,proposal:e.proposal,validations:r,workspace:n.workspace,advanceReceipt:n.receipt,applyReceipt:a}}i($e,"finishPersistedProposal");async function lt(e){let t=e.proposal.validationPlan.filter(m=>m.required).every(m=>e.validations.some(d=>d.validationId===m.id&&d.status==="passed")),r=e.proposal.edits.find(m=>m.route==="memory");if(!r)throw new Error("Memory proposal has no memory edit.");let n=Z(e.proposal,r.target),o=t&&r.operation!=="delete";o&&await e.store.writeHarnessMemory({workspaceId:e.workspace.id,key:q(r.target),content:r.content,expectedRevision:n.revision,sourceRunId:e.trigger.runRef,sourceProposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},createdAt:e.timestamp});let a=o?"Validated low-risk Personal memory applied at the safe turn boundary.":r.operation==="delete"?"Memory deletion requires explicit review.":"Required memory validation did not pass.",s=V({schemaVersion:"openpond.improvementRouteDecision.v1",id:R("route",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},route:"memory",authority:"refiner_model",automatic:o,reason:a,createdAt:e.timestamp,metadata:{proposalId:e.proposal.id}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"route_decision",s);let l=Y({schemaVersion:"openpond.improvementApplyReceipt.v1",id:R("apply",e.proposal.contentHash),proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},beforeOverlay:e.trigger.overlay,afterOverlay:o?D(e.overlay):null,decision:o?"applied":"retained",boundary:e.trigger.boundary,validationRefs:e.validations.map(m=>({id:m.id,contentHash:m.contentHash})),outcomeEvidenceRefs:j(e.observations),rollbackOf:null,createdAt:e.timestamp,metadata:{externalState:"harness_memory"}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"apply_receipt",l);let g=z({schemaVersion:"openpond.harnessRefinerOutcome.v1",id:R("refiner-outcome",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},decision:"proposed",proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},reason:a,evidenceRefs:e.trigger.observations,estimatedCostUsd:e.trigger.estimatedMaxCostUsd,createdAt:e.timestamp,metadata:{refinerRelease:e.proposal.metadata.refinerRelease??null,validationStatuses:e.validations.map(m=>m.status)}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"refiner_outcome",g),{outcome:g,overlay:e.overlay,proposal:e.proposal,validations:e.validations,workspace:e.workspace,advanceReceipt:null,applyReceipt:l}}i(lt,"finishMemoryProposal");async function ce(e){let t=(e.now??(()=>new Date().toISOString()))(),r=z({schemaVersion:"openpond.harnessRefinerOutcome.v1",id:R("refiner-outcome",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},decision:"no_action",proposal:null,reason:e.reason,evidenceRefs:e.trigger.observations,estimatedCostUsd:e.trigger.estimatedMaxCostUsd,createdAt:t,metadata:e.metadata??{}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"refiner_outcome",r),{outcome:r,overlay:e.overlay,proposal:null,validations:[],workspace:e.workspace,advanceReceipt:null,applyReceipt:null}}i(ce,"persistNoAction");async function dt(e){let t=(e.now??(()=>new Date().toISOString()))(),r=V({schemaVersion:"openpond.improvementRouteDecision.v1",id:R("route",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},route:e.decision.route,authority:"refiner_model",automatic:!1,reason:e.decision.reason,createdAt:t,metadata:{summary:e.decision.summary,expectedOutcome:e.decision.expectedOutcome,evidenceBasis:e.decision.evidenceBasis,refinerRelease:e.refinerRelease}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"route_decision",r),ce({store:e.store,workspace:e.workspace,overlay:e.overlay,trigger:e.trigger,observations:e.observations,reason:`Routed to ${e.decision.route}: ${e.decision.summary}`,metadata:{routed:!0,route:e.decision.route,routeDecision:{id:r.id,contentHash:r.contentHash},expectedOutcome:e.decision.expectedOutcome,evidenceBasis:e.decision.evidenceBasis,refinerRelease:e.refinerRelease},now:i(()=>t,"now")})}i(dt,"persistExternalRoute");function ut(e,t,r){let n=e.route==="memory"?"memory":e.route==="skill"?"skill":e.route==="agent"?"agent":"instruction",o=t.find(s=>s.path===e.target);if(e.operation==="create"){if(o)throw new Error(`Refiner create target already exists: ${e.target}.`);if(!pt(e.route,e.target))throw new Error(`Refiner create target is not a safe ${e.route} component path: ${e.target}.`);return}if(!o)throw new Error(`Refiner targeted an unlisted source file: ${e.target}.`);if(o.kind!==n)throw new Error(`Refiner route ${e.route} cannot ${e.operation} ${o.kind} file ${o.path}.`);let a=r.find(s=>s.path===e.target);if(e.operation==="update"&&!a)throw new Error(`Refiner update target ${e.target} exceeded the bounded source budget.`)}i(ut,"assertSafeDecision");function mt(e,t){if(e.operation==="delete")return null;if(e.operation==="create"){if(e.createContent===null)throw new Error("Refiner create proposal is missing bounded component content.");return e.createContent}let r=t.find(a=>a.path===e.target);if(!r)throw new Error(`Refiner update target ${e.target} exceeded the bounded source budget.`);if(e.find===null||e.replace===null)throw new Error("Refiner update proposal is missing its exact find/replace edit.");let n=r.content.split(e.find).length-1;if(n!==1)throw new Error(`Refiner update find text must occur exactly once in ${e.target}; found ${n}.`);let o=r.content.replace(e.find,e.replace);if(o===r.content)throw new Error("Refiner proposal does not change the selected source file.");return o}i(mt,"materializeDecisionContent");function pt(e,t){let r=t.replaceAll("\\","/");return e==="memory"?/^memory\/[a-z0-9][a-z0-9-]{0,119}$/.test(r):e==="prompt"?/^instructions\/refinements\/[a-z0-9][a-z0-9-]*\.md$/.test(r):e==="skill"?/^skills\/[a-z0-9][a-z0-9-]*\/SKILL\.md$/.test(r):/^agents\/[a-z0-9][a-z0-9-]*\/agent\.ts$/.test(r)}i(pt,"safeCreatedComponentPath");function ft(e){let{decision:t}=e,r={id:R("overlay-edit",{trigger:e.trigger.contentHash,operation:t.operation,target:t.target,content:e.materializedContent}),route:t.route,operation:t.operation,target:t.target,summary:t.summary,content:e.materializedContent,contentHash:e.materializedContent===null?null:E(e.materializedContent),effects:e.effects};if(t.route==="memory")return[r];if(t.operation==="update")return[r];let n=e.manifest.files.find(d=>d.path===t.target),o=new Set,a=[],s=e.manifest.files;if(t.operation==="create"){let d=t.route==="skill"?"skill":t.route==="agent"?"agent":"instruction";s=[...s,{id:R(d,t.target),kind:d,path:t.target,parentId:null,mediaType:t.route==="agent"?"text/javascript":"text/markdown",visibility:"policy",portability:"portable"}]}else{if(!n)throw new Error(`Refiner delete target is not declared: ${t.target}.`);o.add(n.id);for(let d of e.manifest.files)d.parentId===n.id&&(o.add(d.id),a.push({id:R("overlay-edit",{trigger:e.trigger.contentHash,operation:"delete",target:d.path}),route:t.route,operation:"delete",target:d.path,summary:`Remove resource ${d.path} with ${t.target}.`,content:null,contentHash:null,effects:e.effects}));s=s.filter(d=>!o.has(d.id))}let l=B.parse({...e.manifest,files:s}),g=`${JSON.stringify(l,null,2)}
5
5
  `,m={id:R("overlay-edit",{trigger:e.trigger.contentHash,operation:"update",target:"harness.json",content:g}),route:t.route,operation:"update",target:"harness.json",summary:`${t.operation==="create"?"Register":"Remove"} Harness component ${t.target}.`,content:g,contentHash:E(g),effects:e.effects};return[r,...a,m]}i(ft,"buildProposalEdits");function gt(e){if(e.route==="agent")return["executable_code"];if(e.route==="memory")return["memory"];let t=[e.summary,e.expectedOutcome,e.createContent??"",e.find??"",e.replace??""].join(`
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{B as et,l as X,o as Ye,p as Qe,t as Ue,u as Ze,z as le}from"./chunk-Y3B6ZUE6.js";import{Ca as ye,L as xe,N as ze,Oa as Ee,Qa as Xe,S as Ge,Sa as ue,U as Ne,V as me,_ as We,a as Fe,aa as W,ba as J,c as Oe,ca as fe,d as G,da as Je,e as ie,ea as Ke,ia as pe,ja as C,ka as K,oa as ee,wa as N,x as ce,y as Te,z as de}from"./chunk-WLZJOCLA.js";import{h as re,l as z,m}from"./chunk-HIQPGYVH.js";import{d as Ve}from"./chunk-I6VMRQF4.js";import{V as Ce,X as Le}from"./chunk-QAFXQHHG.js";import{A as Ae,K as y,L,M as P,N as $e,P as oe,R as qe,ca as Z,k as O,l as Q,mb as be,nb as Se,o as V,ob as je,s as ae,v as U,y as ne}from"./chunk-G4E3WGLM.js";import{$a as _e,Aa as j,Wa as Pe,_a as Me,ab as Be,bb as De,ga as se}from"./chunk-ZY32SZ2P.js";import{A as x}from"./chunk-X2J2P5ZT.js";import{a as T}from"./chunk-FTQLQJQV.js";var he=Q.shape.id,tt=x.object({schemaVersion:x.literal("openpond.modelBatchReviewInspection.v1"),packageHash:x.string().regex(/^[a-f0-9]{64}$/),definition:V,binding:Pe,evidence:x.array(U).min(1).max(1e4),decisions:x.array(Ae).min(1).max(1e4)}).strict(),He=x.object({schemaVersion:x.literal("openpond.modelBatchReviewRequest.v1"),operationId:he,modelId:he,expectedModelRevision:x.number().int().positive(),tasksetRef:Q,rewardBindingRef:Q.nullable(),definition:x.object({name:x.string().trim().min(1).max(500).optional(),instructions:x.string().trim().min(1).max(2e4).optional(),inputSchema:O.optional(),outputSchema:O.optional(),requiredOutputs:V.shape.requiredOutputs}).strict(),examples:x.array(x.object({evidence:Q,input:O.optional(),expected:O.nullable().optional(),evaluatorContext:O.nullable().optional(),proposedTarget:O.nullable().optional()}).strict()).max(1e4)}).strict(),st=x.object({schemaVersion:x.literal("openpond.modelBatchReviewReceipt.v1"),operationId:he,modelId:he,source:ae,evidence:x.array(U).min(1).max(1e4),proposals:x.array(ne).max(1e4)}).strict();function ct(t){let e=C(t.source),s=C(t.edited),n=t.preparation;if(n.authoringGraph!=="bound"||!e.modelResources||e.learningResources||s.modelResources||s.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==n.sourcePackageHash||!L(y(e.taskset),n.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=T(S=>S.taskset.graders.map(_=>_.kind==="custom_verifier"?{..._,exportName:_.exportName??"verify"}:_),"normalizedGraders");if(m(i(e))!==m(i(s)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let d=e.modelResources,h=new Map(d.assets.map(S=>[S.id,S])),o=J(s),v=J(e),k=T(S=>{let{id:_,revision:ge,contentHash:we,metadata:Re,...it}=S,{javascriptEnvironment:wt,...Ie}=Re;return{...it,metadata:{...Ie,resources:Ie.resources??[]}}},"environmentContent"),r=T(S=>{if(!S)return null;let{id:_,revision:ge,contentHash:we,...Re}=S.execution.javascript;return Re},"javascriptContent"),R=m(k(e.environment))===m(k(s.environment))&&m(r(v))===m(r(o)),g=R?e.environment:s.environment,p=R?v:o,f=new Set([...d.assets.map(S=>S.id),...s.taskset.tasks.flatMap(S=>S.privilegedContextRef?[S.privilegedContextRef]:[]),...[s.environment.actionSchemaRef,s.environment.observationSchemaRef,s.environment.stateSchemaRef].flatMap(S=>S?[S.id]:[]),...o?.assets.map(S=>S.id)??[]]),B=new Set([...f,...s.taskset.tasks.flatMap(S=>[...S.artifactRefs.map(_=>_.id),...(S.requiredOutputs??[]).flatMap(_=>_.schemaRef?[_.schemaRef.id]:[])])]),q=dt(e,s,B);for(let S of f){let _=q.find(we=>we.asset.id===S);if(!_)throw new Error(`Bound Taskset asset is missing: ${S}.`);let ge=new TextDecoder("utf-8",{fatal:!0}).decode(W(_));h.set(S,oe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:S,revision:1,asset:_.asset,text:ge})))}let I=pe(s),{contentHash:w,...E}=d.taskDefinition,{policy:A,environment:F,environmentRelease:D,tools:c,capabilities:l,verifierSetRelease:b}=s.taskset,a=V.parse(P({...E,instructions:I,execution:{policy:A,environment:F,environmentRelease:D,tools:c,capabilities:l,verifierSetRelease:b}})),{contentHash:u,...H}=s.taskset,M=se.parse(P({...H,tasks:s.taskset.tasks.map(S=>d.instructionMode==="per_task"?S:{...S,policyVisibleContext:{...S.policyVisibleContext,instructions:I}})})),$=me({owner:n.lineage.owner,source:{...d,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:d.rewardBinding,rewards:d.rewards,assets:[...h.values()],edits:{taskset:M,taskDefinition:a,executionResources:{environment:g,verifierSet:s.verifierSet},...p?{execution:p.execution}:{}}}),Y=Ge.parse($.taskset.metadata.modelTasksetDerivation);if($.taskset.id!==n.tasksetId||$.taskset.revision!==n.tasksetRevision||m({...Y,schemaVersion:n.lineage.schemaVersion})!==m(n.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:ve,executionResources:ke,...rt}=$;return K({schemaVersion:"openpond.tasksetPackage.v1",taskset:ve,...ke,modelResources:rt,files:q})}T(ct,"publishBoundModelTasksetDraftPackage");function dt(t,e,s){let n=e.files,i=new Map(t.files.map(o=>[o.asset.id,{file:o,assetHash:m(o.asset)}])),d=T(o=>{let v=i.get(o.asset.id);return v!==void 0&&v.file.base64===o.base64&&v.assetHash===m(o.asset)},"isSourceFile"),h=t.files.filter(o=>X(o.asset.path)).map(o=>{let v=`source-artifact-${m({packageHash:t.contentHash,assetId:o.asset.id})}`;return{original:o,asset:{...o.asset,id:v,path:`source-artifacts/${t.contentHash}/${m(o.asset.path)}/${o.asset.path.split("/").at(-1)}`}}});for(let{original:o,asset:v}of h){let k=h.filter(p=>m({...p.original.asset,id:o.asset.id})===m(o.asset)),R=e.files.find(p=>p.asset.id===v.id)??k.flatMap(p=>e.files.filter(f=>m(f.asset)===m(p.asset)))[0];if(!R||R.base64!==o.base64||!k.some(p=>m(p.asset)===m(R.asset)))throw new Error(`Retained Taskset source artifact differs from its original bytes: ${o.asset.id}.`);let g=n.filter(p=>p.asset.path===o.asset.path||p.asset.id===o.asset.id);if(g.some(p=>p.asset.path!==o.asset.path||p.asset.id!==o.asset.id&&p.asset.id!==`taskset-file-${m(o.asset.path)}`&&!d(p)))throw new Error(`Retained Taskset source artifact conflicts with an authored file: ${o.asset.id}.`);n=[...n.filter(p=>p.asset.id!==v.id&&p.asset.id!==o.asset.id&&(!g.includes(p)||d(p))),o]}for(let o of t.files.filter(v=>!n.some(k=>k.asset.id===v.asset.id))){if(o.asset.path==="environment/execution.json"){let r=xe.safeParse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(W(o))));if(r.success&&m(fe(r.data))===m(o))continue}let v=n.filter(r=>r.asset.path===o.asset.path),k=T(r=>m({...r.asset,id:o.asset.id})===m(o.asset)&&r.base64===o.base64,"sameEnvelope");if(s.has(o.asset.id)||!v.length||v.some(r=>!k(r)))throw new Error(`Retained Taskset source alias differs from its original bytes: ${o.asset.id}.`);n=[...n,o]}return n}T(dt,"retainSourceFileIdentities");function $t(t){let e=Oe.parse(t.request),s=Fe.parse(t.owner),n=C(t.source);if(n.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(n.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(n.modelResources){let v=Ne({owner:s,source:{...n.modelResources,taskset:n.taskset,executionResources:{environment:n.environment,verifierSet:n.verifierSet}},rewardBinding:n.modelResources.rewardBinding,rewards:n.modelResources.rewards,assets:n.modelResources.assets}),k=v.taskset.metadata.modelTasksetDerivation;return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${m({owner:s,operationId:e.operationId})}`,requestHash:m(e),sourcePackageHash:n.contentHash,sourceTasksetRef:y(n.taskset),tasksetId:v.taskset.id,tasksetRevision:v.taskset.revision,lineage:{...k,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=Ke(n.taskset),d=i&&m(i.owner)===m(s),h=d?i.root:y(n.taskset),o={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:s,root:h,parent:y(n.taskset)};return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${m({owner:s,operationId:e.operationId})}`,requestHash:m(e),sourcePackageHash:n.contentHash,sourceTasksetRef:y(n.taskset),tasksetId:Je(o),tasksetRevision:d?n.taskset.revision+1:1,lineage:o})}T($t,"prepareModelTasksetDraft");function mt(t){let e=G.parse(t.preparation);if(!L(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return ct({preparation:e,source:t.source,edited:t.edited})}let s=ft(t.edited),{contentHash:n,...i}=s.verifierSet,d=Le({...i,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:y(s.verifierSet)}}),{contentHash:h,...o}=s.taskset,v=se.parse(P({...o,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:d.id,contentHash:d.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...s.taskset.metadata.environmentResources===void 0?{}:{environmentResources:s.taskset.metadata.environmentResources},...s.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:s.taskset.metadata.ordinaryAuthoring}}})),k=J(s),r=k?[...s.files.filter(R=>R.asset.id!==ze(s.taskset)),fe({...k.execution,verifierSet:d})]:s.files;return K({schemaVersion:"openpond.tasksetPackage.v1",taskset:v,environment:s.environment,verifierSet:d,files:r})}T(mt,"publishModelTasksetDraftPackage");function ft(t){let e=C(t);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}T(ft,"requireOrdinaryPackage");function pt(t,e,s,n){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:s,generatedFiles:[]};let i="environment/execution.json",d=e.get(i);if(!d||d.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let h=xe.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(d))),o=T(I=>{if(!I)return null;let w=s.find(E=>E.asset.id===I.id&&E.asset.path===I.path);if(!w)throw new Error(`Authored environment dependency is missing: ${I.id}.`);return w.asset},"repin"),{contentHash:v,...k}=h.javascript,r=Ve.parse(P({...k,id:`javascript-${t.id}`,revision:t.revision,module:o(h.javascript.module)}));if(m(r.tools)!==m(t.environment.metadata.portableTools)||m(r.tools.map(I=>I.name))!==m(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let R=Ce({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Xe(t),actionSchemaRef:o(h.environment.actionSchemaRef),observationSchemaRef:o(h.environment.observationSchemaRef),stateSchemaRef:o(h.environment.stateSchemaRef),artifactCollection:h.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:y(r),resources:t.environment.resources??[]}}),g=N.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:R}}}}),p=Ee({taskset:g,adapterId:n}),f=fe({javascript:r,environment:R,verifierSet:p.verifierSetRelease}),B=[...s.filter(I=>I.sourcePath!==i),{asset:f.asset,sourcePath:i}],q=N.parse({...g,metadata:{...g.metadata,portableFileInventory:B}});return{taskset:N.parse({...q,contentHash:ye(q)}),inventory:B,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(W(f))}]}}T(pt,"prepareAuthoredToolEnvironment");var te=x.array(x.object({asset:re,sourcePath:x.string().min(1)}).strict()).max(1e4),ut=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function lt(t){return ut.has(t)}T(lt,"isGeneratedTasksetPublicationFilePath");function ht(t,e,s,n=We){let i=N.parse(t);for(let c of i.tasks)for(let l of c.requiredOutputs??[])if(ce(l.metadata)&&l.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(i.metadata.taskDefinition!==void 0||i.metadata.rewardBinding!==void 0){for(let c of i.tasks)for(let l of ue(c).requiredOutputs??[]){let b=ce(l.metadata);if(!b)continue;let a=ue(c).artifactRefs.find(Y=>Y.id===b.schemaRef.id);if(!a||m(a)!==m(b.schemaRef)||!l.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let u=T((Y,ve)=>c.assets?.find(ke=>ke.id===Y)?.artifactRef??ve,"sourcePath"),H=e.get(u(l.schemaRef.id,l.schemaRef.path)),M=e.get(u(a.id,a.path));if(!H||!M)throw new Error("Sampling schema source bytes are missing.");let $=de(H,l.schemaRef.contentHash);Te($,b,M)}return{taskset:i,generatedFiles:[]}}let d=new Map,h=0;for(let[c,l]of e){if(ie.parse(c),h+=l.byteLength,d.size>=1e4||h>n*3/4)throw new Error("Taskset source exceeds the package byte limit.");d.set(c,l.slice())}let o=i.metrics?.customAggregator,v=o?d.get(o.module):void 0;if(o&&!v)throw new Error("Declared Taskset metric module is missing.");let k=o&&v?{...i.metrics,customAggregator:{...o,contentHash:z(v)}}:i.metrics,r=new Map,R=new Set,g=[],p=T((c,l,b,a)=>{let u=d.get(l);if(!u)throw new Error(`Declared Taskset file is missing: ${l}.`);return{id:c,path:l,contentHash:z(u),sizeBytes:u.byteLength,mediaType:b,visibility:a}},"ref"),f=T((c,l=c.path)=>{let b=r.get(c.id);if(b&&m(b)!==m({asset:c,sourcePath:l}))throw new Error(`Conflicting Taskset file identity: ${c.id}.`);let a=d.get(l);if(!a||a.length!==c.sizeBytes||z(a)!==c.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${c.id}.`);r.set(c.id,{asset:c,sourcePath:l}),R.add(l)},"add");for(let c of i.tasks){let l={};for(let a of c.requiredOutputs??[])if(a.submissionMode==="structured_json"){if(!a.schemaRef||a.mediaType!=="application/json")throw new Error("Structured outputs require a JSON schemaRef and application/json.");let u=c.metadata.portableTaskRecord?.requiredOutputs?.find($=>$.path===a.path)?.schemaRef,H=u?.id===a.schemaRef?u.path:a.schemaRef,M=p(a.schemaRef,H,"application/schema+json","policy");if(u&&u.id===a.schemaRef&&u.visibility!=="policy")throw new Error("Structured output schema must be policy-visible.");de(d.get(H),M.contentHash),l[a.schemaRef]=M}Object.keys(l).length&&(c.metadata={...c.metadata,outputSchemaRefs:l});let b=ue(c);for(let a of b.artifactRefs)f(a,c.assets?.find(u=>u.id===a.id)?.artifactRef??a.path);for(let a of b.requiredOutputs??[])a.schemaRef&&f(a.schemaRef);for(let a of b.requiredOutputs??[]){let u=ce(a.metadata);if(!u)continue;let H=r.get(u.schemaRef.id);if(!H||m(H.asset)!==m(u.schemaRef)||!b.artifactRefs.some($=>$.id===u.schemaRef.id)||!a.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let M=de(d.get(r.get(a.schemaRef.id).sourcePath),a.schemaRef.contentHash);Te(M,u,d.get(H.sourcePath))}}for(let c of i.environment.resources??[])f(p(c.id,c.path,c.mediaType??"application/octet-stream",c.visibility==="policy_visible"?"policy":"host_private"));let B=i.graders.map(c=>{if(c.kind==="custom_verifier"){let l=p(`verifier-${c.id}`,c.module,"application/javascript","host_private"),b=re.safeParse(c.metadata.portableVerifierRef);return b.success&&b.data.contentHash===l.contentHash&&b.data.sizeBytes===l.sizeBytes&&(l=b.data),f(l,c.module),{...c,metadata:{...c.metadata,portableVerifierRef:l}}}if(c.kind==="human"||c.kind==="model_judge"){let l=new TextEncoder().encode(c.rubric),b=`graders/rubric-${z(l)}.md`;d.set(b,l);let a=p(`rubric-${c.id}`,b,"text/markdown","verifier"),u=re.safeParse(c.metadata.portableRubricRef);if(u.success&&u.data.contentHash===a.contentHash&&u.data.sizeBytes===a.sizeBytes){if(u.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");a=u.data}return f(a,b),g.push({path:b,role:"verifier",content:c.rubric}),{...c,metadata:{...c.metadata,portableRubricRef:a}}}return c});o&&![...r.values()].some(c=>c.asset.path===o.module&&c.sourcePath===o.module&&c.asset.visibility!=="policy")&&f(p(`metric-${m(o.module)}`,o.module,"application/javascript","host_private"));let q=te.parse(i.metadata.portableFileInventory??[]);for(let c of[...d.keys()].sort())if(!R.has(c)){let l=q.find(b=>b.sourcePath===c&&!r.has(b.asset.id));f(l?{...p(l.asset.id,c,l.asset.mediaType,l.asset.visibility),path:l.asset.path}:p(`taskset-file-${m(c)}`,c,"application/octet-stream","host_private"),c)}let{importedPackageHash:I,derivedPortableMetadata:w,...E}=i.metadata,A={...i.environment.metadata};if(A.portableExecutionResources!==void 0){let c=x.object({environment:x.unknown(),verifierSet:x.unknown().optional()}).parse(A.portableExecutionResources);A.portableExecutionResources={environment:c.environment}}let F=N.parse({...i,graders:B,metrics:k,environment:{...i.environment,metadata:A},metadata:{...E,...I===void 0?{}:{sourceImportedPackageHash:I},portableFileInventory:te.parse([...r.values()].sort((c,l)=>c.asset.id.localeCompare(l.asset.id)))}}),D=pt(F,d,[...r.values()],s);return{taskset:N.parse({...D.taskset,contentHash:ye(D.taskset)}),generatedFiles:[...g,...D.generatedFiles]}}T(ht,"prepareAuthoredTasksetSource");function vt(t){let e=Ze(t.workspace,t.maximumBytes),s=t.preparation===null?null:G.parse(t.preparation);if(s?e.draft.id!==s.draftId||e.draft.modelScope?.modelId!==s.lineage.owner.modelId||e.draft.profileId!==s.lineage.owner.scopeId||m(e.draft.modelScope?.source??null)!==m(s):e.draft.modelScope?.source!==void 0)throw new Error("Taskset draft differs from its retained source preparation.");let n=et({draft:e.draft,now:e.draft.updatedAt,sourcePackageHash:t.sourceWorkspaceHash??e.contentHash}),i=new Map(e.files.map(k=>[k.path,le(k)]));for(let[k,r]of Qe(e.draft))lt(k)||i.set(k,new TextEncoder().encode(r));let d=ht(n,i,t.adapterId,t.maximumBytes);for(let k of d.generatedFiles)i.set(k.path,new TextEncoder().encode(k.content));let h=Ee({taskset:d.taskset,adapterId:t.adapterId}),o=te.parse(d.taskset.metadata.portableFileInventory),v=K({schemaVersion:"openpond.tasksetPackage.v1",taskset:h.tasksetRelease,environment:h.environmentRelease,verifierSet:h.verifierSetRelease,files:o.map(k=>{let r=i.get(k.sourcePath);if(!r)throw new Error(`Captured Taskset file is missing: ${k.sourcePath}.`);return{asset:k.asset,base64:Buffer.from(r).toString("base64")}})},t.maximumBytes);return s?mt({preparation:s,edited:v,source:t.source}):v}T(vt,"compileTasksetDraftWorkspace");function Vt(t){if(!t.workspace.draft.modelScope)throw new Error("Taskset draft requires a Model owner.");return vt(t)}T(Vt,"compileModelTasksetDraftWorkspace");function Qt(t){let e=C(t.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let s=pe(e);if(!s.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let n=new Map,i=J(e);for(let w of i?.assets??[])n.set(w.id,w);let d=new Set([...e.taskset.tasks.flatMap(w=>w.privilegedContextRef?[w.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(w=>w?[w.id]:[])]);for(let w of d){if(n.has(w))continue;let E=e.files.find(F=>F.asset.id===w);if(!E)throw new Error(`Source Taskset context is missing: ${w}.`);let A=new TextDecoder("utf-8",{fatal:!0}).decode(W(E));n.set(w,oe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:w,revision:1,asset:E.asset,text:A})))}for(let w of t.assets){let E=e.files.find(A=>A.asset.id===w.id);if(E&&P({asset:E.asset}).contentHash!==P({asset:w.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${w.id}.`);n.set(w.id,w)}let{policy:h,environment:o,environmentRelease:v,tools:k,capabilities:r,verifierSetRelease:R}=e.taskset,g=V.parse(P({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:s,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:y(t.rewardBinding),harness:null,execution:{policy:h,environment:o,environmentRelease:v,tools:k,capabilities:r,verifierSetRelease:R}})),p=me({...t,assets:[...n.values()],source:{taskset:e.taskset,taskDefinition:g,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),f=new Map(e.files.map(w=>[w.asset.id,w]));for(let w of p.assets){let E="";for(let A of new TextEncoder().encode(w.text))E+=String.fromCharCode(A);f.set(w.id,{asset:w.asset,base64:btoa(E)})}let{taskset:B,executionResources:q,...I}=p;return K({schemaVersion:"openpond.tasksetPackage.v1",taskset:B,...q,modelResources:I,files:[...f.values()]})}T(Qt,"bindOrdinaryModelTasksetReward");function kt(t){let{request:e,package:s}=t,n=s.learningResources;if(!n)throw new j("model_review_batch_required",422);let i=Z(s.taskset),d=`model-review-${m([t.scope,e.modelId,e.operationId])}`,h=new Map(e.examples.map(a=>[m(a.evidence),a])),o=new Set(n.evidence.map(a=>m(y(a)))),v=new Map(n.decisions.map(a=>[m(a.evidence),a]));if(h.size!==e.examples.length||e.examples.some(a=>!o.has(m(a.evidence))))throw new j("model_review_evidence_mismatch",409);for(let a of[t.binding,...t.rewards,...t.assets])$e(a);Be(t.binding,t.rewards);let k=new Map;for(let a of t.binding.sources){let u=t.rewards.find($=>L(y($),a.reward)),{contentHash:H,...M}=u;k.set(u.contentHash,Me({...M,id:`${d}-reward-${u.contentHash}`,revision:1}))}let r=[...k.values()],{contentHash:R,recipeRef:g,...p}=t.binding,f=_e({...p,id:`${d}-binding`,revision:1,sources:t.binding.sources.map(a=>({...a,reward:y(k.get(a.reward.contentHash))}))},r),B=r.flatMap(a=>[...a.assets,..."verifierRef"in a.implementation?[a.implementation.verifierRef]:[],..."rubricRef"in a.implementation?[a.implementation.rubricRef]:[],..."inputContract"in a.implementation?[a.implementation.inputContract]:[]]),q=[...new Map(B.map(a=>{let u=t.assets.find(H=>H.id===a.id);if(!u)throw new j("model_review_reward_asset_missing",422);if(qe(u,a),a.visibility==="policy")throw new j("reward_asset_visibility_invalid",422);return[u.id,u]})).values()],{environmentRelease:I,verifierSetRelease:w,...E}=i.definition.execution,{contentHash:A,...F}=i.definition,D=V.parse(P({...F,...e.definition,id:`${d}-definition`,revision:1,rewardBinding:y(f),execution:{...E,policy:{...E.policy,hiddenGraderRefs:De(f,r).filter(a=>a.privileged).map(a=>a.id)}}})),c=ae.parse(P({schemaVersion:"openpond.learningSource.v1",id:d,revision:1,name:`${D.name} review`,kind:"direct",taskDefinition:y(D),enabled:!0,allowedSplits:[...new Set(n.evidence.map(a=>a.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:s.contentHash,taskset:y(s.taskset),batch:y(n.batch),rewardBinding:y(t.binding)}})),l=n.evidence.map(a=>{let u=h.get(m(y(a))),H=`review-${a.contentHash}`,M=m({instructions:D.instructions,inputSchema:D.inputSchema,outputSchema:D.outputSchema,requiredOutputs:D.requiredOutputs??[],input:u?.input??a.submission.input})!==m({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:a.submission.input});return U.parse(P({schemaVersion:"openpond.taskEvidence.v1",id:je(c.id,a.submission.exampleId,H),revision:1,source:y(c),submission:{...a.submission,sourceId:c.id,taskDefinition:y(D),attemptId:H,observedOutput:M?null:a.submission.observedOutput,idempotencyKey:`${d}-${a.contentHash}`,...u?.input===void 0?{}:{input:u.input},...u?.expected===void 0?{}:{expected:u.expected},...u?.evaluatorContext===void 0?{}:{evaluatorContext:u.evaluatorContext}},supersedes:y(a),correctionFeedbackId:null,receivedAt:t.now}))}),b=l.flatMap(a=>{let u=h.get(m(a.supersedes)),H=v.get(m(a.supersedes)),M=u?.proposedTarget===void 0?H.approvedTarget:u.proposedTarget;return M===null?[]:[ne.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${m([d,a.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:c.id,idempotencyKey:`${d}-${a.id}`,exampleId:a.submission.exampleId,attemptId:a.submission.attemptId,expectedEvidenceHash:a.contentHash,occurredAt:t.now,kind:"target_correction",value:M,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:y(a),createdAt:t.now,review:null})]});return{source:c,definition:D,binding:f,rewards:r,assets:q,evidence:l,proposals:b}}T(kt,"prepareModelBatchReview");var at=T(t=>`model-batch-review-${m([t.modelId,t.operationId])}`,"operation");function ss(t){let e=C(t);if(!e.learningResources)throw new j("model_review_batch_required",422);let s=Z(e.taskset);return tt.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:s.definition,binding:s.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}T(ss,"inspectModelBatchPackage");async function gt(t,e){let s=He.parse(e),n=await t.operation(at(s));if(!n)return null;if(n.requestHash!==m(s))throw new j("learning_idempotency_conflict",409);return nt(t,s,n.resources)}T(gt,"findModelBatchReview");async function as(t,e){let s=He.parse(e.request),n=await gt(t,s);if(n)return n;let i=C(e.package);if(!i.learningResources)throw new j("model_review_batch_required",422);let d=Z(i.taskset),h=s.rewardBindingRef,o=!h||L(h,y(d.binding)),v=o?d.binding:await Se(t,"binding",h),k=o?d.rewards:await Promise.all(v.sources.map(f=>Se(t,"reward",f.reward))),r=new Set(k.flatMap(f=>[...f.assets,..."verifierRef"in f.implementation?[f.implementation.verifierRef]:[],..."rubricRef"in f.implementation?[f.implementation.rubricRef]:[],..."inputContract"in f.implementation?[f.implementation.inputContract]:[]]).map(f=>f.id)),R=o?i.learningResources.assets:await Promise.all([...r].map(f=>be(t,"asset",f,1))),g=kt({...e,request:s,package:i,binding:v,rewards:k,assets:R}),p=[];for(let f of g.assets){let B=await t.get("asset",f.id,1);if(B&&B.contentHash!==f.contentHash)throw new j("model_review_asset_conflict",409);B||await t.put("asset",f,0)}for(let f of g.rewards)await t.put("reward",f,0);await t.put("binding",g.binding,0),await t.put("definition",g.definition,0),await t.put("source",g.source,0,{parentId:s.modelId}),p.push({kind:"source",id:g.source.id,revision:1});for(let f of g.evidence)await t.put("evidence",f,0,{parentId:g.source.id}),p.push({kind:"evidence",id:f.id,revision:1});for(let f of g.proposals)await t.put("feedback",f,0,{parentId:f.evidence.id,status:f.status}),p.push({kind:"feedback",id:f.id,revision:1});return await t.saveOperation(at(s),{requestHash:m(s),resources:p}),nt(t,s,p)}T(as,"beginModelBatchReview");async function nt(t,e,s){let n=await Promise.all(s.map(i=>be(t,i.kind,i.id,i.revision)));return st.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:n.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:n.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:n.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}T(nt,"readReceipt");var ot=x.object({draft:ee,filePaths:x.array(x.object({assetId:x.string().min(1),paths:x.array(ie).min(1).max(1e4)}).strict()).max(1e4)}).strict();function rs(t){let e=C(t.source),s=ee.parse(t.sourceDraft),n=G.parse(t.preparation);if(e.contentHash!==n.sourcePackageHash||!L(y(e.taskset),n.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(n.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=te.parse(s.metadata.portableFileInventory??[]),d=T(r=>X(r)?`source-artifacts/${e.contentHash}/${m(r)}/${r.split("/").at(-1)}`:r,"sourcePath");if([...s.tasks.flatMap(r=>(r.assets??[]).map(R=>R.artifactRef)),...(s.environment.resources??[]).map(r=>r.path),...e.taskset.tasks.flatMap(r=>(r.requiredOutputs??[]).flatMap(R=>R.schemaRef?[R.schemaRef.path]:[])),...s.metrics.customAggregator?[s.metrics.customAggregator.module]:[],...s.graders.flatMap(r=>r.kind==="custom_verifier"?[r.module]:[])].some(X))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let o=e.files.map(r=>{let R=new Set([r.asset.path]);for(let g of i)g.asset.id===r.asset.id&&R.add(g.sourcePath);for(let g of s.tasks)for(let p of g.assets??[])p.id===r.asset.id&&R.add(p.artifactRef);for(let g of e.taskset.graders)if(g.kind==="custom_verifier"&&g.verifierRef.id===r.asset.id){let p=s.graders.find(f=>f.id===g.id);p?.kind==="custom_verifier"&&R.add(p.module)}return{assetId:r.asset.id,paths:[...R].map(d)}}),v={...s.metadata};if(e.modelResources)for(let r of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete v[r];let k=ee.parse({...s,id:n.draftId,revision:1,status:"draft",graders:s.graders.map(r=>({...r,metadata:{...r.metadata,portableGrader:e.taskset.graders.find(R=>R.id===r.id)}})),environment:{...s.environment,metadata:{...s.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:n.lineage.owner.modelId,expectedModelRevision:t.expectedModelRevision,source:n},publishedTasksetRef:n.tasksetRevision>1?n.sourceTasksetRef:null,metadata:{...v,modelTasksetAuthoring:n.lineage,portableFileInventory:i.map(r=>({...r,sourcePath:d(r.sourcePath),asset:{...r.asset,id:X(r.sourcePath)?`source-artifact-${m({packageHash:e.contentHash,assetId:r.asset.id})}`:r.asset.id,path:d(r.asset.path)}}))}});return ot.parse({draft:k,filePaths:o})}T(rs,"prepareTasksetDraftSource");function is(t){let e=ot.parse(t.initialized),s=C(t.source);if(e.draft.modelScope?.source?.sourcePackageHash!==s.contentHash)throw new Error("Taskset draft lost its source preparation.");let n=new Map;for(let d of e.filePaths){let h=s.files.find(o=>o.asset.id===d.assetId);if(!h)throw new Error("Taskset draft source asset is missing.");for(let o of d.paths){let v=n.get(o);if(v&&v.contentHash!==h.asset.contentHash)throw new Error("Taskset draft source paths conflict.");n.set(o,{path:o,contentHash:h.asset.contentHash,sizeBytes:h.asset.sizeBytes,base64:h.base64})}}for(let d of Ye(e.draft))if(!n.has(d.relativePath)){let h=new TextEncoder().encode(d.source);n.set(d.relativePath,{path:d.relativePath,contentHash:z(h),sizeBytes:h.byteLength,base64:Buffer.from(h).toString("base64")})}let i=e.draft;if(i.metrics.customAggregator){let d=n.get(i.metrics.customAggregator.module);if(!d)throw new Error("Declared Taskset metric module is missing.");le(d),i=ee.parse({...i,metrics:{...i.metrics,customAggregator:{...i.metrics.customAggregator,contentHash:d.contentHash}}})}return Ue({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:i,files:[...n.values()]})}T(is,"materializeTasksetDraftWorkspace");export{tt as a,He as b,st as c,$t as d,mt as e,te as f,lt as g,ht as h,vt as i,Vt as j,Qt as k,ss as l,gt as m,as as n,ot as o,rs as p,is as q};
2
+ import{B as et,l as X,o as Ye,p as Qe,t as Ue,u as Ze,z as le}from"./chunk-QOUOU7FE.js";import{Ca as ye,L as xe,N as ze,Oa as Ee,Qa as Xe,S as Ge,Sa as ue,U as Ne,V as me,_ as We,a as Fe,aa as W,ba as J,c as Oe,ca as fe,d as G,da as Je,e as ie,ea as Ke,ia as pe,ja as C,ka as K,oa as ee,wa as N,x as ce,y as Te,z as de}from"./chunk-5ZNE43XC.js";import{h as re,l as z,m}from"./chunk-HIQPGYVH.js";import{d as Ve}from"./chunk-I6VMRQF4.js";import{V as Ce,X as Le}from"./chunk-QAFXQHHG.js";import{A as Ae,K as y,L,M as P,N as je,P as oe,R as $e,ca as Z,k as O,l as Q,o as V,ob as be,pb as Se,qb as qe,s as ae,v as U,y as ne}from"./chunk-XHU4BZQY.js";import{$a as _e,Aa as q,Wa as Pe,_a as Me,ab as Be,bb as De,ga as se}from"./chunk-ZY32SZ2P.js";import{A as x}from"./chunk-X2J2P5ZT.js";import{a as T}from"./chunk-FTQLQJQV.js";var he=Q.shape.id,tt=x.object({schemaVersion:x.literal("openpond.modelBatchReviewInspection.v1"),packageHash:x.string().regex(/^[a-f0-9]{64}$/),definition:V,binding:Pe,evidence:x.array(U).min(1).max(1e4),decisions:x.array(Ae).min(1).max(1e4)}).strict(),He=x.object({schemaVersion:x.literal("openpond.modelBatchReviewRequest.v1"),operationId:he,modelId:he,expectedModelRevision:x.number().int().positive(),tasksetRef:Q,rewardBindingRef:Q.nullable(),definition:x.object({name:x.string().trim().min(1).max(500).optional(),instructions:x.string().trim().min(1).max(2e4).optional(),inputSchema:O.optional(),outputSchema:O.optional(),requiredOutputs:V.shape.requiredOutputs}).strict(),examples:x.array(x.object({evidence:Q,input:O.optional(),expected:O.nullable().optional(),evaluatorContext:O.nullable().optional(),proposedTarget:O.nullable().optional()}).strict()).max(1e4)}).strict(),st=x.object({schemaVersion:x.literal("openpond.modelBatchReviewReceipt.v1"),operationId:he,modelId:he,source:ae,evidence:x.array(U).min(1).max(1e4),proposals:x.array(ne).max(1e4)}).strict();function ct(t){let e=C(t.source),s=C(t.edited),n=t.preparation;if(n.authoringGraph!=="bound"||!e.modelResources||e.learningResources||s.modelResources||s.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==n.sourcePackageHash||!L(y(e.taskset),n.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=T(S=>S.taskset.graders.map(D=>D.kind==="custom_verifier"?{...D,exportName:D.exportName??"verify"}:D),"normalizedGraders");if(m(i(e))!==m(i(s)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let d=e.modelResources,h=new Map(d.assets.map(S=>[S.id,S])),o=J(s),v=J(e),k=T(S=>{let{id:D,revision:ge,contentHash:we,metadata:Re,...it}=S,{javascriptEnvironment:wt,...Ie}=Re;return{...it,metadata:{...Ie,resources:Ie.resources??[]}}},"environmentContent"),r=T(S=>{if(!S)return null;let{id:D,revision:ge,contentHash:we,...Re}=S.execution.javascript;return Re},"javascriptContent"),R=m(k(e.environment))===m(k(s.environment))&&m(r(v))===m(r(o)),g=R?e.environment:s.environment,p=R?v:o,f=new Set([...d.assets.map(S=>S.id),...s.taskset.tasks.flatMap(S=>S.privilegedContextRef?[S.privilegedContextRef]:[]),...[s.environment.actionSchemaRef,s.environment.observationSchemaRef,s.environment.stateSchemaRef].flatMap(S=>S?[S.id]:[]),...o?.assets.map(S=>S.id)??[]]),_=new Set([...f,...s.taskset.tasks.flatMap(S=>[...S.artifactRefs.map(D=>D.id),...(S.requiredOutputs??[]).flatMap(D=>D.schemaRef?[D.schemaRef.id]:[])])]),A=dt(e,s,_);for(let S of f){let D=A.find(we=>we.asset.id===S);if(!D)throw new Error(`Bound Taskset asset is missing: ${S}.`);let ge=new TextDecoder("utf-8",{fatal:!0}).decode(W(D));h.set(S,oe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:S,revision:1,asset:D.asset,text:ge})))}let I=pe(s),{contentHash:F,...$}=d.taskDefinition,{policy:w,environment:B,environmentRelease:E,tools:c,capabilities:l,verifierSetRelease:b}=s.taskset,a=V.parse(P({...$,instructions:I,execution:{policy:w,environment:B,environmentRelease:E,tools:c,capabilities:l,verifierSetRelease:b}})),{contentHash:u,...H}=s.taskset,M=se.parse(P({...H,tasks:s.taskset.tasks.map(S=>d.instructionMode==="per_task"?S:{...S,policyVisibleContext:{...S.policyVisibleContext,instructions:I}})})),j=me({owner:n.lineage.owner,source:{...d,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:d.rewardBinding,rewards:d.rewards,assets:[...h.values()],edits:{taskset:M,taskDefinition:a,executionResources:{environment:g,verifierSet:s.verifierSet},...p?{execution:p.execution}:{}}}),Y=Ge.parse(j.taskset.metadata.modelTasksetDerivation);if(j.taskset.id!==n.tasksetId||j.taskset.revision!==n.tasksetRevision||m({...Y,schemaVersion:n.lineage.schemaVersion})!==m(n.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:ve,executionResources:ke,...rt}=j;return K({schemaVersion:"openpond.tasksetPackage.v1",taskset:ve,...ke,modelResources:rt,files:A})}T(ct,"publishBoundModelTasksetDraftPackage");function dt(t,e,s){let n=e.files,i=new Map(t.files.map(o=>[o.asset.id,{file:o,assetHash:m(o.asset)}])),d=T(o=>{let v=i.get(o.asset.id);return v!==void 0&&v.file.base64===o.base64&&v.assetHash===m(o.asset)},"isSourceFile"),h=t.files.filter(o=>X(o.asset.path)).map(o=>{let v=`source-artifact-${m({packageHash:t.contentHash,assetId:o.asset.id})}`;return{original:o,asset:{...o.asset,id:v,path:`source-artifacts/${t.contentHash}/${m(o.asset.path)}/${o.asset.path.split("/").at(-1)}`}}});for(let{original:o,asset:v}of h){let k=h.filter(p=>m({...p.original.asset,id:o.asset.id})===m(o.asset)),R=e.files.find(p=>p.asset.id===v.id)??k.flatMap(p=>e.files.filter(f=>m(f.asset)===m(p.asset)))[0];if(!R||R.base64!==o.base64||!k.some(p=>m(p.asset)===m(R.asset)))throw new Error(`Retained Taskset source artifact differs from its original bytes: ${o.asset.id}.`);let g=n.filter(p=>p.asset.path===o.asset.path||p.asset.id===o.asset.id);if(g.some(p=>p.asset.path!==o.asset.path||p.asset.id!==o.asset.id&&p.asset.id!==`taskset-file-${m(o.asset.path)}`&&!d(p)))throw new Error(`Retained Taskset source artifact conflicts with an authored file: ${o.asset.id}.`);n=[...n.filter(p=>p.asset.id!==v.id&&p.asset.id!==o.asset.id&&(!g.includes(p)||d(p))),o]}for(let o of t.files.filter(v=>!n.some(k=>k.asset.id===v.asset.id))){if(o.asset.path==="environment/execution.json"){let r=xe.safeParse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(W(o))));if(r.success&&m(fe(r.data))===m(o))continue}let v=n.filter(r=>r.asset.path===o.asset.path),k=T(r=>m({...r.asset,id:o.asset.id})===m(o.asset)&&r.base64===o.base64,"sameEnvelope");if(s.has(o.asset.id)||!v.length||v.some(r=>!k(r)))throw new Error(`Retained Taskset source alias differs from its original bytes: ${o.asset.id}.`);n=[...n,o]}return n}T(dt,"retainSourceFileIdentities");function jt(t){let e=Oe.parse(t.request),s=Fe.parse(t.owner),n=C(t.source);if(n.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(n.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(n.modelResources){let v=Ne({owner:s,source:{...n.modelResources,taskset:n.taskset,executionResources:{environment:n.environment,verifierSet:n.verifierSet}},rewardBinding:n.modelResources.rewardBinding,rewards:n.modelResources.rewards,assets:n.modelResources.assets}),k=v.taskset.metadata.modelTasksetDerivation;return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${m({owner:s,operationId:e.operationId})}`,requestHash:m(e),sourcePackageHash:n.contentHash,sourceTasksetRef:y(n.taskset),tasksetId:v.taskset.id,tasksetRevision:v.taskset.revision,lineage:{...k,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=Ke(n.taskset),d=i&&m(i.owner)===m(s),h=d?i.root:y(n.taskset),o={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:s,root:h,parent:y(n.taskset)};return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${m({owner:s,operationId:e.operationId})}`,requestHash:m(e),sourcePackageHash:n.contentHash,sourceTasksetRef:y(n.taskset),tasksetId:Je(o),tasksetRevision:d?n.taskset.revision+1:1,lineage:o})}T(jt,"prepareModelTasksetDraft");function mt(t){let e=G.parse(t.preparation);if(!L(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return ct({preparation:e,source:t.source,edited:t.edited})}let s=ft(t.edited),{contentHash:n,...i}=s.verifierSet,d=Le({...i,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:y(s.verifierSet)}}),{contentHash:h,...o}=s.taskset,v=se.parse(P({...o,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:d.id,contentHash:d.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...s.taskset.metadata.environmentResources===void 0?{}:{environmentResources:s.taskset.metadata.environmentResources},...s.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:s.taskset.metadata.ordinaryAuthoring}}})),k=J(s),r=k?[...s.files.filter(R=>R.asset.id!==ze(s.taskset)),fe({...k.execution,verifierSet:d})]:s.files;return K({schemaVersion:"openpond.tasksetPackage.v1",taskset:v,environment:s.environment,verifierSet:d,files:r})}T(mt,"publishModelTasksetDraftPackage");function ft(t){let e=C(t);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}T(ft,"requireOrdinaryPackage");function pt(t,e,s,n){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:s,generatedFiles:[]};let i="environment/execution.json",d=e.get(i);if(!d||d.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let h=xe.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(d))),o=T(I=>{if(!I)return null;let F=s.find($=>$.asset.id===I.id&&$.asset.path===I.path);if(!F)throw new Error(`Authored environment dependency is missing: ${I.id}.`);return F.asset},"repin"),{contentHash:v,...k}=h.javascript,r=Ve.parse(P({...k,id:`javascript-${t.id}`,revision:t.revision,module:o(h.javascript.module)}));if(m(r.tools)!==m(t.environment.metadata.portableTools)||m(r.tools.map(I=>I.name))!==m(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let R=Ce({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Xe(t),actionSchemaRef:o(h.environment.actionSchemaRef),observationSchemaRef:o(h.environment.observationSchemaRef),stateSchemaRef:o(h.environment.stateSchemaRef),artifactCollection:h.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:y(r),resources:t.environment.resources??[]}}),g=N.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:R}}}}),p=Ee({taskset:g,adapterId:n}),f=fe({javascript:r,environment:R,verifierSet:p.verifierSetRelease}),_=[...s.filter(I=>I.sourcePath!==i),{asset:f.asset,sourcePath:i}],A=N.parse({...g,metadata:{...g.metadata,portableFileInventory:_}});return{taskset:N.parse({...A,contentHash:ye(A)}),inventory:_,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(W(f))}]}}T(pt,"prepareAuthoredToolEnvironment");var te=x.array(x.object({asset:re,sourcePath:x.string().min(1)}).strict()).max(1e4),ut=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function lt(t){return ut.has(t)}T(lt,"isGeneratedTasksetPublicationFilePath");function ht(t,e,s,n=We){let i=N.parse(t);for(let c of i.tasks)for(let l of c.requiredOutputs??[])if(ce(l.metadata)&&l.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(i.metadata.taskDefinition!==void 0||i.metadata.rewardBinding!==void 0){for(let c of i.tasks)for(let l of ue(c).requiredOutputs??[]){let b=ce(l.metadata);if(!b)continue;let a=ue(c).artifactRefs.find(Y=>Y.id===b.schemaRef.id);if(!a||m(a)!==m(b.schemaRef)||!l.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let u=T((Y,ve)=>c.assets?.find(ke=>ke.id===Y)?.artifactRef??ve,"sourcePath"),H=e.get(u(l.schemaRef.id,l.schemaRef.path)),M=e.get(u(a.id,a.path));if(!H||!M)throw new Error("Sampling schema source bytes are missing.");let j=de(H,l.schemaRef.contentHash);Te(j,b,M)}return{taskset:i,generatedFiles:[]}}let d=new Map,h=0;for(let[c,l]of e){if(ie.parse(c),h+=l.byteLength,d.size>=1e4||h>n*3/4)throw new Error("Taskset source exceeds the package byte limit.");d.set(c,l.slice())}let o=i.metrics?.customAggregator,v=o?d.get(o.module):void 0;if(o&&!v)throw new Error("Declared Taskset metric module is missing.");let k=o&&v?{...i.metrics,customAggregator:{...o,contentHash:z(v)}}:i.metrics,r=new Map,R=new Set,g=[],p=T((c,l,b,a)=>{let u=d.get(l);if(!u)throw new Error(`Declared Taskset file is missing: ${l}.`);return{id:c,path:l,contentHash:z(u),sizeBytes:u.byteLength,mediaType:b,visibility:a}},"ref"),f=T((c,l=c.path)=>{let b=r.get(c.id);if(b&&m(b)!==m({asset:c,sourcePath:l}))throw new Error(`Conflicting Taskset file identity: ${c.id}.`);let a=d.get(l);if(!a||a.length!==c.sizeBytes||z(a)!==c.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${c.id}.`);r.set(c.id,{asset:c,sourcePath:l}),R.add(l)},"add");for(let c of i.tasks){let l={};for(let a of c.requiredOutputs??[])if(a.submissionMode==="structured_json"){if(!a.schemaRef||a.mediaType!=="application/json")throw new Error("Structured outputs require a JSON schemaRef and application/json.");let u=c.metadata.portableTaskRecord?.requiredOutputs?.find(j=>j.path===a.path)?.schemaRef,H=u?.id===a.schemaRef?u.path:a.schemaRef,M=p(a.schemaRef,H,"application/schema+json","policy");if(u&&u.id===a.schemaRef&&u.visibility!=="policy")throw new Error("Structured output schema must be policy-visible.");de(d.get(H),M.contentHash),l[a.schemaRef]=M}Object.keys(l).length&&(c.metadata={...c.metadata,outputSchemaRefs:l});let b=ue(c);for(let a of b.artifactRefs)f(a,c.assets?.find(u=>u.id===a.id)?.artifactRef??a.path);for(let a of b.requiredOutputs??[])a.schemaRef&&f(a.schemaRef);for(let a of b.requiredOutputs??[]){let u=ce(a.metadata);if(!u)continue;let H=r.get(u.schemaRef.id);if(!H||m(H.asset)!==m(u.schemaRef)||!b.artifactRefs.some(j=>j.id===u.schemaRef.id)||!a.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let M=de(d.get(r.get(a.schemaRef.id).sourcePath),a.schemaRef.contentHash);Te(M,u,d.get(H.sourcePath))}}for(let c of i.environment.resources??[])f(p(c.id,c.path,c.mediaType??"application/octet-stream",c.visibility==="policy_visible"?"policy":"host_private"));let _=i.graders.map(c=>{if(c.kind==="custom_verifier"){let l=p(`verifier-${c.id}`,c.module,"application/javascript","host_private"),b=re.safeParse(c.metadata.portableVerifierRef);return b.success&&b.data.contentHash===l.contentHash&&b.data.sizeBytes===l.sizeBytes&&(l=b.data),f(l,c.module),{...c,metadata:{...c.metadata,portableVerifierRef:l}}}if(c.kind==="human"||c.kind==="model_judge"){let l=new TextEncoder().encode(c.rubric),b=`graders/rubric-${z(l)}.md`;d.set(b,l);let a=p(`rubric-${c.id}`,b,"text/markdown","verifier"),u=re.safeParse(c.metadata.portableRubricRef);if(u.success&&u.data.contentHash===a.contentHash&&u.data.sizeBytes===a.sizeBytes){if(u.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");a=u.data}return f(a,b),g.push({path:b,role:"verifier",content:c.rubric}),{...c,metadata:{...c.metadata,portableRubricRef:a}}}return c});o&&![...r.values()].some(c=>c.asset.path===o.module&&c.sourcePath===o.module&&c.asset.visibility!=="policy")&&f(p(`metric-${m(o.module)}`,o.module,"application/javascript","host_private"));let A=te.parse(i.metadata.portableFileInventory??[]);for(let c of[...d.keys()].sort())if(!R.has(c)){let l=A.find(b=>b.sourcePath===c&&!r.has(b.asset.id));f(l?{...p(l.asset.id,c,l.asset.mediaType,l.asset.visibility),path:l.asset.path}:p(`taskset-file-${m(c)}`,c,"application/octet-stream","host_private"),c)}let{importedPackageHash:I,derivedPortableMetadata:F,...$}=i.metadata,w={...i.environment.metadata};if(w.portableExecutionResources!==void 0){let c=x.object({environment:x.unknown(),verifierSet:x.unknown().optional()}).parse(w.portableExecutionResources);w.portableExecutionResources={environment:c.environment}}let B=N.parse({...i,graders:_,metrics:k,environment:{...i.environment,metadata:w},metadata:{...$,...I===void 0?{}:{sourceImportedPackageHash:I},portableFileInventory:te.parse([...r.values()].sort((c,l)=>c.asset.id.localeCompare(l.asset.id)))}}),E=pt(B,d,[...r.values()],s);return{taskset:N.parse({...E.taskset,contentHash:ye(E.taskset)}),generatedFiles:[...g,...E.generatedFiles]}}T(ht,"prepareAuthoredTasksetSource");function vt(t){let e=Ze(t.workspace,t.maximumBytes),s=t.preparation===null?null:G.parse(t.preparation);if(s?e.draft.id!==s.draftId||e.draft.modelScope?.modelId!==s.lineage.owner.modelId||e.draft.profileId!==s.lineage.owner.scopeId||m(e.draft.modelScope?.source??null)!==m(s):e.draft.modelScope?.source!==void 0)throw new Error("Taskset draft differs from its retained source preparation.");let n=et({draft:e.draft,now:e.draft.updatedAt,sourcePackageHash:t.sourceWorkspaceHash??e.contentHash}),i=new Map(e.files.map(k=>[k.path,le(k)]));for(let[k,r]of Qe(e.draft))lt(k)||i.set(k,new TextEncoder().encode(r));let d=ht(n,i,t.adapterId,t.maximumBytes);for(let k of d.generatedFiles)i.set(k.path,new TextEncoder().encode(k.content));let h=Ee({taskset:d.taskset,adapterId:t.adapterId}),o=te.parse(d.taskset.metadata.portableFileInventory),v=K({schemaVersion:"openpond.tasksetPackage.v1",taskset:h.tasksetRelease,environment:h.environmentRelease,verifierSet:h.verifierSetRelease,files:o.map(k=>{let r=i.get(k.sourcePath);if(!r)throw new Error(`Captured Taskset file is missing: ${k.sourcePath}.`);return{asset:k.asset,base64:Buffer.from(r).toString("base64")}})},t.maximumBytes);return s?mt({preparation:s,edited:v,source:t.source}):v}T(vt,"compileTasksetDraftWorkspace");function Vt(t){if(!t.workspace.draft.modelScope)throw new Error("Taskset draft requires a Model owner.");return vt(t)}T(Vt,"compileModelTasksetDraftWorkspace");function Qt(t){let e=C(t.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let s=pe(e);if(!s.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let n=new Map,i=J(e);for(let w of i?.assets??[])n.set(w.id,w);let d=new Set([...e.taskset.tasks.flatMap(w=>w.privilegedContextRef?[w.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(w=>w?[w.id]:[])]);for(let w of d){if(n.has(w))continue;let B=e.files.find(c=>c.asset.id===w);if(!B)throw new Error(`Source Taskset context is missing: ${w}.`);let E=new TextDecoder("utf-8",{fatal:!0}).decode(W(B));n.set(w,oe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:w,revision:1,asset:B.asset,text:E})))}for(let w of t.assets){let B=e.files.find(E=>E.asset.id===w.id);if(B&&P({asset:B.asset}).contentHash!==P({asset:w.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${w.id}.`);n.set(w.id,w)}let{policy:h,environment:o,environmentRelease:v,tools:k,capabilities:r,verifierSetRelease:R}=e.taskset,g=e.taskset.metadata.tasksetOutputContract,p=g&&typeof g=="object"&&!Array.isArray(g)&&"mode"in g&&g.mode==="structured_json"?"jsonSchema"in g?g.jsonSchema:null:{type:"object"},f=V.parse(P({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:s,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:p,rewardBinding:y(t.rewardBinding),harness:null,execution:{policy:h,environment:o,environmentRelease:v,tools:k,capabilities:r,verifierSetRelease:R}})),_=me({...t,assets:[...n.values()],source:{taskset:e.taskset,taskDefinition:f,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),A=new Map(e.files.map(w=>[w.asset.id,w]));for(let w of _.assets){let B="";for(let E of new TextEncoder().encode(w.text))B+=String.fromCharCode(E);A.set(w.id,{asset:w.asset,base64:btoa(B)})}let{taskset:I,executionResources:F,...$}=_;return K({schemaVersion:"openpond.tasksetPackage.v1",taskset:I,...F,modelResources:$,files:[...A.values()]})}T(Qt,"bindOrdinaryModelTasksetReward");function kt(t){let{request:e,package:s}=t,n=s.learningResources;if(!n)throw new q("model_review_batch_required",422);let i=Z(s.taskset),d=`model-review-${m([t.scope,e.modelId,e.operationId])}`,h=new Map(e.examples.map(a=>[m(a.evidence),a])),o=new Set(n.evidence.map(a=>m(y(a)))),v=new Map(n.decisions.map(a=>[m(a.evidence),a]));if(h.size!==e.examples.length||e.examples.some(a=>!o.has(m(a.evidence))))throw new q("model_review_evidence_mismatch",409);for(let a of[t.binding,...t.rewards,...t.assets])je(a);Be(t.binding,t.rewards);let k=new Map;for(let a of t.binding.sources){let u=t.rewards.find(j=>L(y(j),a.reward)),{contentHash:H,...M}=u;k.set(u.contentHash,Me({...M,id:`${d}-reward-${u.contentHash}`,revision:1}))}let r=[...k.values()],{contentHash:R,recipeRef:g,...p}=t.binding,f=_e({...p,id:`${d}-binding`,revision:1,sources:t.binding.sources.map(a=>({...a,reward:y(k.get(a.reward.contentHash))}))},r),_=r.flatMap(a=>[...a.assets,..."verifierRef"in a.implementation?[a.implementation.verifierRef]:[],..."rubricRef"in a.implementation?[a.implementation.rubricRef]:[],..."inputContract"in a.implementation?[a.implementation.inputContract]:[]]),A=[...new Map(_.map(a=>{let u=t.assets.find(H=>H.id===a.id);if(!u)throw new q("model_review_reward_asset_missing",422);if($e(u,a),a.visibility==="policy")throw new q("reward_asset_visibility_invalid",422);return[u.id,u]})).values()],{environmentRelease:I,verifierSetRelease:F,...$}=i.definition.execution,{contentHash:w,...B}=i.definition,E=V.parse(P({...B,...e.definition,id:`${d}-definition`,revision:1,rewardBinding:y(f),execution:{...$,policy:{...$.policy,hiddenGraderRefs:De(f,r).filter(a=>a.privileged).map(a=>a.id)}}})),c=ae.parse(P({schemaVersion:"openpond.learningSource.v1",id:d,revision:1,name:`${E.name} review`,kind:"direct",taskDefinition:y(E),enabled:!0,allowedSplits:[...new Set(n.evidence.map(a=>a.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:s.contentHash,taskset:y(s.taskset),batch:y(n.batch),rewardBinding:y(t.binding)}})),l=n.evidence.map(a=>{let u=h.get(m(y(a))),H=`review-${a.contentHash}`,M=m({instructions:E.instructions,inputSchema:E.inputSchema,outputSchema:E.outputSchema,requiredOutputs:E.requiredOutputs??[],input:u?.input??a.submission.input})!==m({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:a.submission.input});return U.parse(P({schemaVersion:"openpond.taskEvidence.v1",id:qe(c.id,a.submission.exampleId,H),revision:1,source:y(c),submission:{...a.submission,sourceId:c.id,taskDefinition:y(E),attemptId:H,observedOutput:M?null:a.submission.observedOutput,idempotencyKey:`${d}-${a.contentHash}`,...u?.input===void 0?{}:{input:u.input},...u?.expected===void 0?{}:{expected:u.expected},...u?.evaluatorContext===void 0?{}:{evaluatorContext:u.evaluatorContext}},supersedes:y(a),correctionFeedbackId:null,receivedAt:t.now}))}),b=l.flatMap(a=>{let u=h.get(m(a.supersedes)),H=v.get(m(a.supersedes)),M=u?.proposedTarget===void 0?H.approvedTarget:u.proposedTarget;return M===null?[]:[ne.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${m([d,a.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:c.id,idempotencyKey:`${d}-${a.id}`,exampleId:a.submission.exampleId,attemptId:a.submission.attemptId,expectedEvidenceHash:a.contentHash,occurredAt:t.now,kind:"target_correction",value:M,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:y(a),createdAt:t.now,review:null})]});return{source:c,definition:E,binding:f,rewards:r,assets:A,evidence:l,proposals:b}}T(kt,"prepareModelBatchReview");var at=T(t=>`model-batch-review-${m([t.modelId,t.operationId])}`,"operation");function ss(t){let e=C(t);if(!e.learningResources)throw new q("model_review_batch_required",422);let s=Z(e.taskset);return tt.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:s.definition,binding:s.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}T(ss,"inspectModelBatchPackage");async function gt(t,e){let s=He.parse(e),n=await t.operation(at(s));if(!n)return null;if(n.requestHash!==m(s))throw new q("learning_idempotency_conflict",409);return nt(t,s,n.resources)}T(gt,"findModelBatchReview");async function as(t,e){let s=He.parse(e.request),n=await gt(t,s);if(n)return n;let i=C(e.package);if(!i.learningResources)throw new q("model_review_batch_required",422);let d=Z(i.taskset),h=s.rewardBindingRef,o=!h||L(h,y(d.binding)),v=o?d.binding:await Se(t,"binding",h),k=o?d.rewards:await Promise.all(v.sources.map(f=>Se(t,"reward",f.reward))),r=new Set(k.flatMap(f=>[...f.assets,..."verifierRef"in f.implementation?[f.implementation.verifierRef]:[],..."rubricRef"in f.implementation?[f.implementation.rubricRef]:[],..."inputContract"in f.implementation?[f.implementation.inputContract]:[]]).map(f=>f.id)),R=o?i.learningResources.assets:await Promise.all([...r].map(f=>be(t,"asset",f,1))),g=kt({...e,request:s,package:i,binding:v,rewards:k,assets:R}),p=[];for(let f of g.assets){let _=await t.get("asset",f.id,1);if(_&&_.contentHash!==f.contentHash)throw new q("model_review_asset_conflict",409);_||await t.put("asset",f,0)}for(let f of g.rewards)await t.put("reward",f,0);await t.put("binding",g.binding,0),await t.put("definition",g.definition,0),await t.put("source",g.source,0,{parentId:s.modelId}),p.push({kind:"source",id:g.source.id,revision:1});for(let f of g.evidence)await t.put("evidence",f,0,{parentId:g.source.id}),p.push({kind:"evidence",id:f.id,revision:1});for(let f of g.proposals)await t.put("feedback",f,0,{parentId:f.evidence.id,status:f.status}),p.push({kind:"feedback",id:f.id,revision:1});return await t.saveOperation(at(s),{requestHash:m(s),resources:p}),nt(t,s,p)}T(as,"beginModelBatchReview");async function nt(t,e,s){let n=await Promise.all(s.map(i=>be(t,i.kind,i.id,i.revision)));return st.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:n.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:n.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:n.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}T(nt,"readReceipt");var ot=x.object({draft:ee,filePaths:x.array(x.object({assetId:x.string().min(1),paths:x.array(ie).min(1).max(1e4)}).strict()).max(1e4)}).strict();function rs(t){let e=C(t.source),s=ee.parse(t.sourceDraft),n=G.parse(t.preparation);if(e.contentHash!==n.sourcePackageHash||!L(y(e.taskset),n.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(n.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=te.parse(s.metadata.portableFileInventory??[]),d=T(r=>X(r)?`source-artifacts/${e.contentHash}/${m(r)}/${r.split("/").at(-1)}`:r,"sourcePath");if([...s.tasks.flatMap(r=>(r.assets??[]).map(R=>R.artifactRef)),...(s.environment.resources??[]).map(r=>r.path),...e.taskset.tasks.flatMap(r=>(r.requiredOutputs??[]).flatMap(R=>R.schemaRef?[R.schemaRef.path]:[])),...s.metrics.customAggregator?[s.metrics.customAggregator.module]:[],...s.graders.flatMap(r=>r.kind==="custom_verifier"?[r.module]:[])].some(X))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let o=e.files.map(r=>{let R=new Set([r.asset.path]);for(let g of i)g.asset.id===r.asset.id&&R.add(g.sourcePath);for(let g of s.tasks)for(let p of g.assets??[])p.id===r.asset.id&&R.add(p.artifactRef);for(let g of e.taskset.graders)if(g.kind==="custom_verifier"&&g.verifierRef.id===r.asset.id){let p=s.graders.find(f=>f.id===g.id);p?.kind==="custom_verifier"&&R.add(p.module)}return{assetId:r.asset.id,paths:[...R].map(d)}}),v={...s.metadata};if(e.modelResources)for(let r of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete v[r];let k=ee.parse({...s,id:n.draftId,revision:1,status:"draft",graders:s.graders.map(r=>({...r,metadata:{...r.metadata,portableGrader:e.taskset.graders.find(R=>R.id===r.id)}})),environment:{...s.environment,metadata:{...s.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:n.lineage.owner.modelId,expectedModelRevision:t.expectedModelRevision,source:n},publishedTasksetRef:n.tasksetRevision>1?n.sourceTasksetRef:null,metadata:{...v,modelTasksetAuthoring:n.lineage,portableFileInventory:i.map(r=>({...r,sourcePath:d(r.sourcePath),asset:{...r.asset,id:X(r.sourcePath)?`source-artifact-${m({packageHash:e.contentHash,assetId:r.asset.id})}`:r.asset.id,path:d(r.asset.path)}}))}});return ot.parse({draft:k,filePaths:o})}T(rs,"prepareTasksetDraftSource");function is(t){let e=ot.parse(t.initialized),s=C(t.source);if(e.draft.modelScope?.source?.sourcePackageHash!==s.contentHash)throw new Error("Taskset draft lost its source preparation.");let n=new Map;for(let d of e.filePaths){let h=s.files.find(o=>o.asset.id===d.assetId);if(!h)throw new Error("Taskset draft source asset is missing.");for(let o of d.paths){let v=n.get(o);if(v&&v.contentHash!==h.asset.contentHash)throw new Error("Taskset draft source paths conflict.");n.set(o,{path:o,contentHash:h.asset.contentHash,sizeBytes:h.asset.sizeBytes,base64:h.base64})}}for(let d of Ye(e.draft))if(!n.has(d.relativePath)){let h=new TextEncoder().encode(d.source);n.set(d.relativePath,{path:d.relativePath,contentHash:z(h),sizeBytes:h.byteLength,base64:Buffer.from(h).toString("base64")})}let i=e.draft;if(i.metrics.customAggregator){let d=n.get(i.metrics.customAggregator.module);if(!d)throw new Error("Declared Taskset metric module is missing.");le(d),i=ee.parse({...i,metrics:{...i.metrics,customAggregator:{...i.metrics.customAggregator,contentHash:d.contentHash}}})}return Ue({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:i,files:[...n.values()]})}T(is,"materializeTasksetDraftWorkspace");export{tt as a,He as b,st as c,jt as d,mt as e,te as f,lt as g,ht as h,vt as i,Vt as j,Qt as k,ss as l,gt as m,as as n,ot as o,rs as p,is as q};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as R}from"./chunk-KCJVFLBB.js";import{jb as u,lb as E}from"./chunk-G4E3WGLM.js";import{a as d}from"./chunk-FTQLQJQV.js";var S=class extends R{static{d(this,"SqliteLearningStore")}async listLearningScopes(){return await this.ready,await this.writeQueue,(await this.all("SELECT DISTINCT scope FROM learning_resources ORDER BY scope",[])).map(t=>t.scope)}learningRepository(){return{transaction:d(async(t,o)=>{if(!t.trim())throw new Error("learning_scope_required");await this.ready;let a=this.writeQueue.then(async()=>{let e=this.db;if(!e)throw new Error("learning_store_closed");e.exec("BEGIN IMMEDIATE");let n=!0,i=_(e,t,()=>{if(!n)throw new Error("learning_transaction_closed")});try{let r=await o(i);return e.exec("COMMIT"),r}catch(r){throw e.exec("ROLLBACK"),r}finally{n=!1}});return this.writeQueue=a.then(()=>{},()=>{}),a},"transaction")}}};function _(s,t,o){let a=d((e,n)=>u[e].parse(JSON.parse(n.payload)),"parse");return{async get(e,n,i){o();let r=i===void 0?s.get(`SELECT history.payload FROM learning_resources current
2
+ import{a as R}from"./chunk-KCJVFLBB.js";import{lb as u,nb as E}from"./chunk-XHU4BZQY.js";import{a as d}from"./chunk-FTQLQJQV.js";var S=class extends R{static{d(this,"SqliteLearningStore")}async listLearningScopes(){return await this.ready,await this.writeQueue,(await this.all("SELECT DISTINCT scope FROM learning_resources ORDER BY scope",[])).map(t=>t.scope)}learningRepository(){return{transaction:d(async(t,o)=>{if(!t.trim())throw new Error("learning_scope_required");await this.ready;let a=this.writeQueue.then(async()=>{let e=this.db;if(!e)throw new Error("learning_store_closed");e.exec("BEGIN IMMEDIATE");let n=!0,i=_(e,t,()=>{if(!n)throw new Error("learning_transaction_closed")});try{let r=await o(i);return e.exec("COMMIT"),r}catch(r){throw e.exec("ROLLBACK"),r}finally{n=!1}});return this.writeQueue=a.then(()=>{},()=>{}),a},"transaction")}}};function _(s,t,o){let a=d((e,n)=>u[e].parse(JSON.parse(n.payload)),"parse");return{async get(e,n,i){o();let r=i===void 0?s.get(`SELECT history.payload FROM learning_resources current
3
3
  JOIN learning_revisions history USING (scope, kind, id, revision)
4
4
  WHERE current.scope = ? AND current.kind = ? AND current.id = ?`,[t,e,n]):s.get("SELECT payload FROM learning_revisions WHERE scope = ? AND kind = ? AND id = ? AND revision = ?",[t,e,n,i]);return r?a(e,r):null},async put(e,n,i,r){o(),N(s,t,e,n,i,r)},async list(e,n){o();let i=Math.max(1,Math.min(100,Math.trunc(n.limit)));if(!Number.isFinite(i))throw new Error("learning_query_limit_invalid");let r=["current.scope = ?","current.kind = ?"],c=[t,e];if(n.reviewState!==void 0){if(e!=="evidence")throw new Error("learning_review_filter_requires_evidence");let l=`EXISTS (SELECT 1 FROM learning_resources decision
5
5
  JOIN learning_revisions decision_history USING (scope, kind, id, revision)
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{g as U,h as Y}from"./chunk-5KJMFK65.js";import{k as W}from"./chunk-OKEC2EIE.js";import{Oa as K,Qa as V,Ra as N,Y as v,_ as w,ka as q}from"./chunk-WLZJOCLA.js";import{H as z,I as B,Xb as j,Z as G,_ as D,f as _,fa as F,ga as L,k as M,l as $}from"./chunk-QAFXQHHG.js";import{R as P}from"./chunk-G4E3WGLM.js";import{e as E,i as I}from"./chunk-OTDDXEQ6.js";import{i as x,l as C,n as u}from"./chunk-RCT3O3HQ.js";import{a as c}from"./chunk-FTQLQJQV.js";import{constants as b}from"node:fs";import{lstat as oe,open as ne,readdir as ie}from"node:fs/promises";import S from"node:path";function pe(e){let t=N(e.taskset),{agentSnapshot:a,harnessRelease:s}=e.releasedHarness?{agentSnapshot:E.parse(e.releasedHarness.agentSnapshot),harnessRelease:I.parse(e.releasedHarness.harnessRelease)}:Q(e.taskset,e.profile);if(s.agentSnapshot.id!==a.id||s.agentSnapshot.contentHash!==a.contentHash)throw new Error("Released Harness does not bind the supplied Agent snapshot.");let d=V(e.taskset),n=e.taskset.tasks.length?e.taskset.tasks:e.selectedTask?[e.selectedTask]:[];if(!n.length)throw new Error("A portable Taskset release requires at least one resolved task.");let{environmentRelease:i,verifierSetRelease:o,tasksetRelease:l}=K({taskset:e.taskset,selectedTasks:n,adapterId:e.adapterId??A(e.taskset),admittedTasksetRelease:e.tasksetRelease,rewardExecution:e.rewardExecution}),R=e.now??(()=>new Date().toISOString()),f=M({schemaVersion:"openpond.runManifest.v1",id:`run-manifest-${u([s.contentHash,l.contentHash,e.model]).slice(0,24)}`,harnessRelease:{id:s.id,contentHash:s.contentHash},tasksetRelease:{id:l.id,contentHash:l.contentHash},model:{provider:e.model.providerId,model:e.model.modelId,revision:null,artifactHash:null,tokenizerRevision:null,chatTemplateHash:null},runtimeTarget:{adapterId:e.adapterId??A(e.taskset),placement:"local",runtimeVersion:"desktop-v1",capabilityReceipt:u({environment:d,tools:t,capabilities:e.taskset.capabilities})},limits:{maxTurns:128,timeoutMs:e.taskset.environment.defaultTimeoutMs,maxOutputBytes:25e7,maximumSpendUsd:null},approval:null,createdAt:R(),metadata:{sourceTasksetId:e.taskset.id,sourceTasksetRevision:e.taskset.revision,reasoningEffort:e.reasoningEffort??null}});return{agentSnapshot:a,harnessRelease:s,environmentRelease:i,verifierSetRelease:o,tasksetRelease:l,runManifest:f}}c(pe,"compileDesktopHarnessContext");function Q(e,t){let a=e.profileRelease?{id:e.profileRelease.id,contentHash:k(e.profileRelease.contentHash)}:t?.git?.head?{id:`source-${h(t.git.head)}`,contentHash:k(t.git.head)}:null;return W({sourceRelease:a,profileHead:t?.git?.head??null,skills:se(t),agents:re(t)})}c(Q,"compileTemporaryProfileHarness");function ee(e){let t=e.artifacts.map(T),a=e.artifacts.find(n=>n.kind==="environment_state")??e.artifacts.find(n=>n.kind==="runtime_trace")??e.artifacts.find(n=>n.kind==="raw_model_response"),s=J(e.attempt,e.grade),d=e.grade.components.map(n=>({id:`grader-${h(n.graderId)}-${e.grade.id}`,contentHash:u(n),mediaType:"application/vnd.openpond.grader-evidence+json",sizeBytes:Buffer.byteLength(C(n))}));return _.parse($({schemaVersion:"openpond.attemptReceipt.v1",id:`receipt-${u([e.manifest.contentHash,e.attempt.id,e.grade.id]).slice(0,24)}`,runManifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},taskId:e.attempt.taskId,seed:String(e.attempt.seed),terminal:!["infrastructure_failure","timeout","cancelled"].includes(s??""),failureClass:s,outputHash:e.attempt.infrastructureError?null:u(e.attempt.output),traceHash:a?k(a.sha256):u({attemptId:e.attempt.id,output:e.attempt.output,runtimeEventRefs:e.attempt.runtimeEventRefs,artifactRefs:e.attempt.artifactRefs,metadata:e.attempt.metadata}),artifactRefs:t,graderEvidenceRefs:d,startedAt:e.attempt.startedAt,completedAt:e.attempt.completedAt,latencyMs:e.attempt.latencyMs,costUsd:e.attempt.costUsd,legacyAttemptRef:e.attempt.id,metadata:{legacyGradeRef:e.grade.id,rewardEligible:e.grade.rewardEligible,score:e.grade.score,passed:e.grade.passed,usage:e.attempt.metadata.usage??[]}}))}c(ee,"projectDesktopAttemptReceipt");function ue(e){let t=ee({manifest:e.context.runManifest,attempt:e.attempt,grade:e.grade,artifacts:e.artifacts}),a=e.context.tasksetRelease.tasks.find(r=>r.id===e.attempt.taskId);if(!a)throw new Error(`Task ${e.attempt.taskId} is absent from the admitted Taskset Release.`);let s=a.requiredOutputs??[],d=e.artifacts.filter(r=>r.kind==="output_artifact").map(r=>({path:typeof r.metadata.requiredOutputPath=="string"?r.metadata.requiredOutputPath:r.path,artifact:T(r),detectedMediaType:r.mediaType??null,status:"collected",parseStatus:X(r.metadata.parseStatus),schemaStatus:X(r.metadata.schemaStatus),evidenceRefs:[T(r)],metadata:{sourceArtifactId:r.id}})),n=F({id:`artifact-manifest-${t.id}`,attemptRef:{id:t.id,contentHash:t.contentHash},requiredOutputs:s,collectedArtifacts:d,createdAt:e.attempt.completedAt,metadata:{legacyAttemptRef:e.attempt.id}}),i=e.grade.components.map((r,O)=>te({component:r,grader:e.context.verifierSetRelease.graders.find(g=>g.id===r.graderId),evidenceRef:t.graderEvidenceRefs[O]??null,gradeScored:e.grade.score!==null,boundResult:e.grade.rewardComposition?.results.find(g=>g.graderId===r.graderId)})),o=L({requiredOutputs:s,manifest:n}),l=ae(e.attempt,e.grade),R=o.some(r=>r.status==="unscorable"&&r.failureOwner==="collector"),f=o.some(r=>r.status==="scored"&&!r.passed),p=l.outcomeClass==="completed"&&R?{outcomeClass:"collector_failure",failureOwner:"collector"}:l.outcomeClass==="completed"&&f?{outcomeClass:"incomplete_output",failureOwner:"policy"}:l,m=D({id:`reward-${u([t.contentHash,e.context.verifierSetRelease.contentHash,n.contentHash,e.grade.id]).slice(0,24)}`,attemptRef:{id:t.id,contentHash:t.contentHash},verifierSet:e.context.verifierSetRelease,artifactManifest:n,...p,components:[...i,...o],createdAt:e.grade.createdAt,metadata:{legacyGradeRef:e.grade.id,legacyAttemptRef:e.attempt.id,...e.grade.rewardComposition?{rewardComposition:e.grade.rewardComposition}:{}}});return{attemptReceipt:t,artifactManifest:n,rewardReceipt:m}}c(ue,"projectDesktopCanonicalReceipts");function Re(e){let t=e.artifacts.find(n=>n.kind==="runtime_trace")??e.artifacts.find(n=>n.kind==="raw_model_response"),a=t?T(t):{id:`trace-${e.canonical.attemptReceipt.id}`,contentHash:e.canonical.attemptReceipt.traceHash,mediaType:"application/vnd.openpond.attempt-trace+json",sizeBytes:null},s=e.canonical.rewardReceipt.outcomeClass==="task_deadline"||e.canonical.rewardReceipt.outcomeClass==="infrastructure_timeout",d=e.canonical.rewardReceipt.outcomeClass==="cancelled";return j({id:`rollout-${u([e.canonical.attemptReceipt.contentHash,e.canonical.rewardReceipt.contentHash,a.contentHash]).slice(0,24)}`,attemptReceipt:e.canonical.attemptReceipt,rewardReceipt:e.canonical.rewardReceipt,artifactManifestRef:{id:e.canonical.artifactManifest.id,contentHash:e.canonical.artifactManifest.contentHash},tasksetRelease:{id:e.context.tasksetRelease.id,contentHash:e.context.tasksetRelease.contentHash},environmentRelease:{id:e.context.environmentRelease.id,contentHash:e.context.environmentRelease.contentHash},harnessRelease:{id:e.context.harnessRelease.id,contentHash:e.context.harnessRelease.contentHash},taskId:e.attempt.taskId,split:e.attempt.split,model:e.context.runManifest.model,seed:String(e.attempt.seed),traceRef:a,optimizerSample:e.optimizerSample??null,environmentExecutions:[{id:`environment-execution-${e.attempt.id}`,environmentRelease:{id:e.context.environmentRelease.id,contentHash:e.context.environmentRelease.contentHash},status:d?"cancelled":s?"timed_out":e.canonical.rewardReceipt.status==="scored"?"completed":"failed",startedAt:e.attempt.startedAt,completedAt:e.attempt.completedAt,traceRefs:[a],metadata:{legacyAttemptRef:e.attempt.id,runtimeEventCount:e.attempt.runtimeEventRefs.length}}],startedAt:e.attempt.startedAt,completedAt:e.attempt.completedAt,metadata:{source:"openpond.desktop-local-runtime",optimizerSamplePresent:!!e.optimizerSample}})}c(Re,"projectDesktopCanonicalRollout");function te(e){if(!e.grader)throw new Error(`Grade component ${e.component.graderId} has no admitted Verifier definition.`);let t=(e.boundResult?e.boundResult.status==="scored":e.gradeScored)?"scored":"unscorable",a=t==="scored"&&e.component.rewardEligible,s=e.evidenceRef?[e.evidenceRef]:[];return{verifierId:e.component.graderId,verifierVersion:e.component.graderVersion,status:t,rawScore:t==="scored"?e.boundResult?.rawScore??e.component.score:null,normalizedScore:t==="scored"?e.boundResult?.normalizedScore??e.component.score:null,weight:e.grader.weight,passed:e.component.passed,hardGate:e.component.hardGate,rewardEligible:a,rewardContribution:a?e.component.score:null,failureOwner:e.component.passed?null:t==="scored"?"policy":"verifier",feedback:e.component.feedback?[e.component.feedback]:[],visibleEvidenceRefs:e.grader.privileged?[]:s,privilegedEvidenceRefs:e.grader.privileged?s:[],metadata:{judge:e.component.judge??null,calibrationStatus:e.component.calibrationStatus,legacyEvidenceRefs:e.component.evidenceRefs}}}c(te,"portableRewardComponent");function ae(e,t){let a=B.safeParse(e.metadata.outcomeClass);if(a.success){let d=e.metadata.failureOwner===null?null:z.safeParse(e.metadata.failureOwner);if(d!==null&&!d.success)throw new Error("Attempt has an invalid explicit failure owner.");return{outcomeClass:a.data,failureOwner:d===null?null:d.data}}let s=J(e,t);return s?G({failureClass:s,timeoutKind:e.metadata.timeoutKind==="task_deadline"?"task_deadline":"infrastructure_timeout"}):t.score===null?{outcomeClass:"verifier_failure",failureOwner:"verifier"}:t.passed?{outcomeClass:"completed",failureOwner:null}:{outcomeClass:"policy_failure",failureOwner:"policy"}}c(ae,"canonicalOutcome");function X(e){return e==="passed"||e==="failed"?e:"not_requested"}c(X,"artifactValidationStatus");function se(e){return(e?.skills??[]).filter(t=>t.enabled).map(t=>({id:`skill-${h(t.name)}`,path:`skills/${h(t.name)}/SKILL.md`,contentHash:k(t.sourceHash),sizeBytes:Math.max(0,t.charCount),mediaType:"text/markdown",visibility:"policy"}))}c(se,"portableSkills");function re(e){let t=new Map;for(let a of e?.agents??[])a.enabled&&t.set(a.id,u({name:a.name,path:a.path}));return[...t].map(([a,s])=>({id:`agent-${h(a)}`,path:`agents/${h(a)}/release.json`,contentHash:k(s),sizeBytes:0,mediaType:"application/vnd.openpond.agent-release+json",visibility:"policy"}))}c(re,"portableAgents");function A(e){let t=e.environment.metadata.runtimeAdapterId;if(typeof t=="string"&&t.trim())return t.trim();let a=e.environment.metadata.benchmark;if(a&&typeof a=="object"&&!Array.isArray(a)){let s=Reflect.get(a,"id");if(typeof s=="string"&&s.trim())return`conformance:${s.trim()}`}return e.environment.kind==="work"?"openpond:desktop-work":e.environment.kind==="chat"?"openpond:desktop-text":`openpond:${h(e.environment.entrypoint)}`}c(A,"desktopTasksetRuntimeAdapterId");function T(e){return{id:e.id,contentHash:k(e.sha256),mediaType:e.mediaType??null,sizeBytes:e.sizeBytes}}c(T,"portableArtifact");function J(e,t){if(e.infrastructureError)return"infrastructure_failure";if(t.failureClass)return t.failureClass;let a=e.metadata.failureClass;return a==="policy_failure"||a==="grader_failure"||a==="environment_failure"||a==="infrastructure_failure"||a==="timeout"||a==="cancelled"?a:null}c(J,"attemptFailureClass");function k(e){return/^[a-f0-9]{64}$/.test(e)?e:u(e)}c(k,"hash");function h(e){return e.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}c(h,"segment");async function be(e,t){if(e.metadata.taskDefinition!==void 0||e.metadata.rewardBinding!==void 0)return{taskset:e,generatedFiles:[]};let a=await oe(t);if(!a.isDirectory()||a.isSymbolicLink())throw new Error("Taskset source must be a regular directory.");let s=new Map,d=0;async function n(i=""){for(let o of await ie(S.join(t,i),{withFileTypes:!0})){let l=S.posix.join(i,o.name);if(o.isSymbolicLink())throw new Error("Taskset files cannot contain symbolic links.");if(o.name.startsWith(".env"))throw new Error("Environment files cannot be included in a Taskset package.");if(o.isDirectory()){await n(l);continue}if(!o.isFile())throw new Error("Taskset packages require regular files.");if(U(l))continue;if(s.size>=1e4)throw new Error("Taskset source exceeds the file inventory limit.");let R=await ne(S.join(t,l),b.O_RDONLY|b.O_NOFOLLOW|b.O_NONBLOCK);try{let f=await R.stat();if(d+=f.size,!f.isFile()||d>w*3/4)throw new Error("Taskset source exceeds the package byte limit.");let p=Buffer.alloc(f.size),m=0;for(;m<p.length;){let r=await R.read(p,m,p.length-m,m);if(!r.bytesRead)throw new Error("Taskset source changed during capture.");m+=r.bytesRead}if((await R.read(Buffer.alloc(1),0,1,m)).bytesRead)throw new Error("Taskset source changed during capture.");s.set(l,p)}finally{await R.close()}}}return c(n,"visit"),await n(),Y(e,s,A(e))}c(be,"prepareAuthoredTasksetFiles");import{constants as H}from"node:fs";import{open as ce,realpath as Z}from"node:fs/promises";import y from"node:path";function Me(e,t){return t?new Set:new Set([...(e.modelResources?.assets??[]).map(a=>a.asset.id),...(e.learningResources?.assets??[]).map(a=>a.asset.id),...e.learningResources?v(e.learningResources).map(a=>a.asset.id):[]])}c(Me,"tasksetPackageInlineAssetIds");async function $e(e){let t=e.sources.length?await Z(e.root):y.resolve(e.root),a=[],s=new Set,d=0,n=c((i,o)=>{if(s.has(i.id))throw new Error(`Duplicate local Taskset asset: ${i.id}.`);if(s.add(i.id),d+=4*Math.ceil(o.byteLength/3),d>w)throw new Error("Local Taskset files exceed the package envelope.");a.push({asset:i,base64:Buffer.from(o).toString("base64")})},"append");for(let i of e.sources){let o=x.parse(i.asset);if(!i.sourcePath||y.isAbsolute(i.sourcePath))throw new Error(`Taskset asset ${o.id} requires a relative source path.`);let l=y.resolve(t,i.sourcePath);if(!l.startsWith(`${t}${y.sep}`))throw new Error(`Taskset asset ${o.id} escapes its local package.`);if(!(await Z(l)).startsWith(`${t}${y.sep}`))throw new Error(`Taskset asset ${o.id} escapes its local package.`);let f=await ce(l,H.O_RDONLY|H.O_NOFOLLOW|H.O_NONBLOCK);try{let p=await f.stat();if(!p.isFile()||p.size!==o.sizeBytes)throw new Error(`Taskset asset ${o.id} differs from its immutable file size.`);if(4*Math.ceil(p.size/3)+d>w)throw new Error("Local Taskset files exceed the package envelope.");let m=Buffer.alloc(p.size),r=0;for(;r<m.length;){let g=await f.read(m,r,m.length-r,r);if(!g.bytesRead)throw new Error(`Taskset asset ${o.id} changed during capture.`);r+=g.bytesRead}if((await f.read(Buffer.alloc(1),0,1,r)).bytesRead)throw new Error(`Taskset asset ${o.id} changed during capture.`);n(o,m)}finally{await f.close()}}for(let i of[...e.content.modelResources?.assets??[],...e.content.learningResources?.assets??[]])s.has(i.asset.id)||n(i.asset,Buffer.from(P(i,i.asset),"utf8"));if(e.content.learningResources)for(let i of v(e.content.learningResources))s.has(i.asset.id)||n(i.asset,Buffer.from(i.base64,"base64"));if(e.fileOrder){if(new Set(e.fileOrder).size!==a.length||e.fileOrder.length!==a.length||e.fileOrder.some(o=>!s.has(o)))throw new Error("Saved package file order differs from its inventory.");let i=new Map(e.fileOrder.map((o,l)=>[o,l]));a.sort((o,l)=>i.get(o.asset.id)-i.get(l.asset.id))}return q({...e.content,files:a})}c($e,"captureLocalTasksetPackage");export{pe as a,ue as b,Re as c,A as d,be as e,Me as f,$e as g};
2
+ import{g as U,h as Y}from"./chunk-AXYAEWWA.js";import{k as W}from"./chunk-TS5HNRZB.js";import{Oa as K,Qa as V,Ra as N,Y as v,_ as w,ka as q}from"./chunk-5ZNE43XC.js";import{H as z,I as B,Xb as j,Z as G,_ as D,f as _,fa as F,ga as L,k as M,l as $}from"./chunk-QAFXQHHG.js";import{R as P}from"./chunk-XHU4BZQY.js";import{e as E,i as I}from"./chunk-OTDDXEQ6.js";import{i as x,l as C,n as u}from"./chunk-RCT3O3HQ.js";import{a as c}from"./chunk-FTQLQJQV.js";import{constants as b}from"node:fs";import{lstat as oe,open as ne,readdir as ie}from"node:fs/promises";import S from"node:path";function pe(e){let t=N(e.taskset),{agentSnapshot:a,harnessRelease:s}=e.releasedHarness?{agentSnapshot:E.parse(e.releasedHarness.agentSnapshot),harnessRelease:I.parse(e.releasedHarness.harnessRelease)}:Q(e.taskset,e.profile);if(s.agentSnapshot.id!==a.id||s.agentSnapshot.contentHash!==a.contentHash)throw new Error("Released Harness does not bind the supplied Agent snapshot.");let d=V(e.taskset),n=e.taskset.tasks.length?e.taskset.tasks:e.selectedTask?[e.selectedTask]:[];if(!n.length)throw new Error("A portable Taskset release requires at least one resolved task.");let{environmentRelease:i,verifierSetRelease:o,tasksetRelease:l}=K({taskset:e.taskset,selectedTasks:n,adapterId:e.adapterId??A(e.taskset),admittedTasksetRelease:e.tasksetRelease,rewardExecution:e.rewardExecution}),R=e.now??(()=>new Date().toISOString()),f=M({schemaVersion:"openpond.runManifest.v1",id:`run-manifest-${u([s.contentHash,l.contentHash,e.model]).slice(0,24)}`,harnessRelease:{id:s.id,contentHash:s.contentHash},tasksetRelease:{id:l.id,contentHash:l.contentHash},model:{provider:e.model.providerId,model:e.model.modelId,revision:null,artifactHash:null,tokenizerRevision:null,chatTemplateHash:null},runtimeTarget:{adapterId:e.adapterId??A(e.taskset),placement:"local",runtimeVersion:"desktop-v1",capabilityReceipt:u({environment:d,tools:t,capabilities:e.taskset.capabilities})},limits:{maxTurns:128,timeoutMs:e.taskset.environment.defaultTimeoutMs,maxOutputBytes:25e7,maximumSpendUsd:null},approval:null,createdAt:R(),metadata:{sourceTasksetId:e.taskset.id,sourceTasksetRevision:e.taskset.revision,reasoningEffort:e.reasoningEffort??null}});return{agentSnapshot:a,harnessRelease:s,environmentRelease:i,verifierSetRelease:o,tasksetRelease:l,runManifest:f}}c(pe,"compileDesktopHarnessContext");function Q(e,t){let a=e.profileRelease?{id:e.profileRelease.id,contentHash:k(e.profileRelease.contentHash)}:t?.git?.head?{id:`source-${h(t.git.head)}`,contentHash:k(t.git.head)}:null;return W({sourceRelease:a,profileHead:t?.git?.head??null,skills:se(t),agents:re(t)})}c(Q,"compileTemporaryProfileHarness");function ee(e){let t=e.artifacts.map(T),a=e.artifacts.find(n=>n.kind==="environment_state")??e.artifacts.find(n=>n.kind==="runtime_trace")??e.artifacts.find(n=>n.kind==="raw_model_response"),s=J(e.attempt,e.grade),d=e.grade.components.map(n=>({id:`grader-${h(n.graderId)}-${e.grade.id}`,contentHash:u(n),mediaType:"application/vnd.openpond.grader-evidence+json",sizeBytes:Buffer.byteLength(C(n))}));return _.parse($({schemaVersion:"openpond.attemptReceipt.v1",id:`receipt-${u([e.manifest.contentHash,e.attempt.id,e.grade.id]).slice(0,24)}`,runManifest:{id:e.manifest.id,contentHash:e.manifest.contentHash},taskId:e.attempt.taskId,seed:String(e.attempt.seed),terminal:!["infrastructure_failure","timeout","cancelled"].includes(s??""),failureClass:s,outputHash:e.attempt.infrastructureError?null:u(e.attempt.output),traceHash:a?k(a.sha256):u({attemptId:e.attempt.id,output:e.attempt.output,runtimeEventRefs:e.attempt.runtimeEventRefs,artifactRefs:e.attempt.artifactRefs,metadata:e.attempt.metadata}),artifactRefs:t,graderEvidenceRefs:d,startedAt:e.attempt.startedAt,completedAt:e.attempt.completedAt,latencyMs:e.attempt.latencyMs,costUsd:e.attempt.costUsd,legacyAttemptRef:e.attempt.id,metadata:{legacyGradeRef:e.grade.id,rewardEligible:e.grade.rewardEligible,score:e.grade.score,passed:e.grade.passed,usage:e.attempt.metadata.usage??[]}}))}c(ee,"projectDesktopAttemptReceipt");function ue(e){let t=ee({manifest:e.context.runManifest,attempt:e.attempt,grade:e.grade,artifacts:e.artifacts}),a=e.context.tasksetRelease.tasks.find(r=>r.id===e.attempt.taskId);if(!a)throw new Error(`Task ${e.attempt.taskId} is absent from the admitted Taskset Release.`);let s=a.requiredOutputs??[],d=e.artifacts.filter(r=>r.kind==="output_artifact").map(r=>({path:typeof r.metadata.requiredOutputPath=="string"?r.metadata.requiredOutputPath:r.path,artifact:T(r),detectedMediaType:r.mediaType??null,status:"collected",parseStatus:X(r.metadata.parseStatus),schemaStatus:X(r.metadata.schemaStatus),evidenceRefs:[T(r)],metadata:{sourceArtifactId:r.id}})),n=F({id:`artifact-manifest-${t.id}`,attemptRef:{id:t.id,contentHash:t.contentHash},requiredOutputs:s,collectedArtifacts:d,createdAt:e.attempt.completedAt,metadata:{legacyAttemptRef:e.attempt.id}}),i=e.grade.components.map((r,O)=>te({component:r,grader:e.context.verifierSetRelease.graders.find(g=>g.id===r.graderId),evidenceRef:t.graderEvidenceRefs[O]??null,gradeScored:e.grade.score!==null,boundResult:e.grade.rewardComposition?.results.find(g=>g.graderId===r.graderId)})),o=L({requiredOutputs:s,manifest:n}),l=ae(e.attempt,e.grade),R=o.some(r=>r.status==="unscorable"&&r.failureOwner==="collector"),f=o.some(r=>r.status==="scored"&&!r.passed),p=l.outcomeClass==="completed"&&R?{outcomeClass:"collector_failure",failureOwner:"collector"}:l.outcomeClass==="completed"&&f?{outcomeClass:"incomplete_output",failureOwner:"policy"}:l,m=D({id:`reward-${u([t.contentHash,e.context.verifierSetRelease.contentHash,n.contentHash,e.grade.id]).slice(0,24)}`,attemptRef:{id:t.id,contentHash:t.contentHash},verifierSet:e.context.verifierSetRelease,artifactManifest:n,...p,components:[...i,...o],createdAt:e.grade.createdAt,metadata:{legacyGradeRef:e.grade.id,legacyAttemptRef:e.attempt.id,...e.grade.rewardComposition?{rewardComposition:e.grade.rewardComposition}:{}}});return{attemptReceipt:t,artifactManifest:n,rewardReceipt:m}}c(ue,"projectDesktopCanonicalReceipts");function Re(e){let t=e.artifacts.find(n=>n.kind==="runtime_trace")??e.artifacts.find(n=>n.kind==="raw_model_response"),a=t?T(t):{id:`trace-${e.canonical.attemptReceipt.id}`,contentHash:e.canonical.attemptReceipt.traceHash,mediaType:"application/vnd.openpond.attempt-trace+json",sizeBytes:null},s=e.canonical.rewardReceipt.outcomeClass==="task_deadline"||e.canonical.rewardReceipt.outcomeClass==="infrastructure_timeout",d=e.canonical.rewardReceipt.outcomeClass==="cancelled";return j({id:`rollout-${u([e.canonical.attemptReceipt.contentHash,e.canonical.rewardReceipt.contentHash,a.contentHash]).slice(0,24)}`,attemptReceipt:e.canonical.attemptReceipt,rewardReceipt:e.canonical.rewardReceipt,artifactManifestRef:{id:e.canonical.artifactManifest.id,contentHash:e.canonical.artifactManifest.contentHash},tasksetRelease:{id:e.context.tasksetRelease.id,contentHash:e.context.tasksetRelease.contentHash},environmentRelease:{id:e.context.environmentRelease.id,contentHash:e.context.environmentRelease.contentHash},harnessRelease:{id:e.context.harnessRelease.id,contentHash:e.context.harnessRelease.contentHash},taskId:e.attempt.taskId,split:e.attempt.split,model:e.context.runManifest.model,seed:String(e.attempt.seed),traceRef:a,optimizerSample:e.optimizerSample??null,environmentExecutions:[{id:`environment-execution-${e.attempt.id}`,environmentRelease:{id:e.context.environmentRelease.id,contentHash:e.context.environmentRelease.contentHash},status:d?"cancelled":s?"timed_out":e.canonical.rewardReceipt.status==="scored"?"completed":"failed",startedAt:e.attempt.startedAt,completedAt:e.attempt.completedAt,traceRefs:[a],metadata:{legacyAttemptRef:e.attempt.id,runtimeEventCount:e.attempt.runtimeEventRefs.length}}],startedAt:e.attempt.startedAt,completedAt:e.attempt.completedAt,metadata:{source:"openpond.desktop-local-runtime",optimizerSamplePresent:!!e.optimizerSample}})}c(Re,"projectDesktopCanonicalRollout");function te(e){if(!e.grader)throw new Error(`Grade component ${e.component.graderId} has no admitted Verifier definition.`);let t=(e.boundResult?e.boundResult.status==="scored":e.gradeScored)?"scored":"unscorable",a=t==="scored"&&e.component.rewardEligible,s=e.evidenceRef?[e.evidenceRef]:[];return{verifierId:e.component.graderId,verifierVersion:e.component.graderVersion,status:t,rawScore:t==="scored"?e.boundResult?.rawScore??e.component.score:null,normalizedScore:t==="scored"?e.boundResult?.normalizedScore??e.component.score:null,weight:e.grader.weight,passed:e.component.passed,hardGate:e.component.hardGate,rewardEligible:a,rewardContribution:a?e.component.score:null,failureOwner:e.component.passed?null:t==="scored"?"policy":"verifier",feedback:e.component.feedback?[e.component.feedback]:[],visibleEvidenceRefs:e.grader.privileged?[]:s,privilegedEvidenceRefs:e.grader.privileged?s:[],metadata:{judge:e.component.judge??null,calibrationStatus:e.component.calibrationStatus,legacyEvidenceRefs:e.component.evidenceRefs}}}c(te,"portableRewardComponent");function ae(e,t){let a=B.safeParse(e.metadata.outcomeClass);if(a.success){let d=e.metadata.failureOwner===null?null:z.safeParse(e.metadata.failureOwner);if(d!==null&&!d.success)throw new Error("Attempt has an invalid explicit failure owner.");return{outcomeClass:a.data,failureOwner:d===null?null:d.data}}let s=J(e,t);return s?G({failureClass:s,timeoutKind:e.metadata.timeoutKind==="task_deadline"?"task_deadline":"infrastructure_timeout"}):t.score===null?{outcomeClass:"verifier_failure",failureOwner:"verifier"}:t.passed?{outcomeClass:"completed",failureOwner:null}:{outcomeClass:"policy_failure",failureOwner:"policy"}}c(ae,"canonicalOutcome");function X(e){return e==="passed"||e==="failed"?e:"not_requested"}c(X,"artifactValidationStatus");function se(e){return(e?.skills??[]).filter(t=>t.enabled).map(t=>({id:`skill-${h(t.name)}`,path:`skills/${h(t.name)}/SKILL.md`,contentHash:k(t.sourceHash),sizeBytes:Math.max(0,t.charCount),mediaType:"text/markdown",visibility:"policy"}))}c(se,"portableSkills");function re(e){let t=new Map;for(let a of e?.agents??[])a.enabled&&t.set(a.id,u({name:a.name,path:a.path}));return[...t].map(([a,s])=>({id:`agent-${h(a)}`,path:`agents/${h(a)}/release.json`,contentHash:k(s),sizeBytes:0,mediaType:"application/vnd.openpond.agent-release+json",visibility:"policy"}))}c(re,"portableAgents");function A(e){let t=e.environment.metadata.runtimeAdapterId;if(typeof t=="string"&&t.trim())return t.trim();let a=e.environment.metadata.benchmark;if(a&&typeof a=="object"&&!Array.isArray(a)){let s=Reflect.get(a,"id");if(typeof s=="string"&&s.trim())return`conformance:${s.trim()}`}return e.environment.kind==="work"?"openpond:desktop-work":e.environment.kind==="chat"?"openpond:desktop-text":`openpond:${h(e.environment.entrypoint)}`}c(A,"desktopTasksetRuntimeAdapterId");function T(e){return{id:e.id,contentHash:k(e.sha256),mediaType:e.mediaType??null,sizeBytes:e.sizeBytes}}c(T,"portableArtifact");function J(e,t){if(e.infrastructureError)return"infrastructure_failure";if(t.failureClass)return t.failureClass;let a=e.metadata.failureClass;return a==="policy_failure"||a==="grader_failure"||a==="environment_failure"||a==="infrastructure_failure"||a==="timeout"||a==="cancelled"?a:null}c(J,"attemptFailureClass");function k(e){return/^[a-f0-9]{64}$/.test(e)?e:u(e)}c(k,"hash");function h(e){return e.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}c(h,"segment");async function be(e,t){if(e.metadata.taskDefinition!==void 0||e.metadata.rewardBinding!==void 0)return{taskset:e,generatedFiles:[]};let a=await oe(t);if(!a.isDirectory()||a.isSymbolicLink())throw new Error("Taskset source must be a regular directory.");let s=new Map,d=0;async function n(i=""){for(let o of await ie(S.join(t,i),{withFileTypes:!0})){let l=S.posix.join(i,o.name);if(o.isSymbolicLink())throw new Error("Taskset files cannot contain symbolic links.");if(o.name.startsWith(".env"))throw new Error("Environment files cannot be included in a Taskset package.");if(o.isDirectory()){await n(l);continue}if(!o.isFile())throw new Error("Taskset packages require regular files.");if(U(l))continue;if(s.size>=1e4)throw new Error("Taskset source exceeds the file inventory limit.");let R=await ne(S.join(t,l),b.O_RDONLY|b.O_NOFOLLOW|b.O_NONBLOCK);try{let f=await R.stat();if(d+=f.size,!f.isFile()||d>w*3/4)throw new Error("Taskset source exceeds the package byte limit.");let p=Buffer.alloc(f.size),m=0;for(;m<p.length;){let r=await R.read(p,m,p.length-m,m);if(!r.bytesRead)throw new Error("Taskset source changed during capture.");m+=r.bytesRead}if((await R.read(Buffer.alloc(1),0,1,m)).bytesRead)throw new Error("Taskset source changed during capture.");s.set(l,p)}finally{await R.close()}}}return c(n,"visit"),await n(),Y(e,s,A(e))}c(be,"prepareAuthoredTasksetFiles");import{constants as H}from"node:fs";import{open as ce,realpath as Z}from"node:fs/promises";import y from"node:path";function Me(e,t){return t?new Set:new Set([...(e.modelResources?.assets??[]).map(a=>a.asset.id),...(e.learningResources?.assets??[]).map(a=>a.asset.id),...e.learningResources?v(e.learningResources).map(a=>a.asset.id):[]])}c(Me,"tasksetPackageInlineAssetIds");async function $e(e){let t=e.sources.length?await Z(e.root):y.resolve(e.root),a=[],s=new Set,d=0,n=c((i,o)=>{if(s.has(i.id))throw new Error(`Duplicate local Taskset asset: ${i.id}.`);if(s.add(i.id),d+=4*Math.ceil(o.byteLength/3),d>w)throw new Error("Local Taskset files exceed the package envelope.");a.push({asset:i,base64:Buffer.from(o).toString("base64")})},"append");for(let i of e.sources){let o=x.parse(i.asset);if(!i.sourcePath||y.isAbsolute(i.sourcePath))throw new Error(`Taskset asset ${o.id} requires a relative source path.`);let l=y.resolve(t,i.sourcePath);if(!l.startsWith(`${t}${y.sep}`))throw new Error(`Taskset asset ${o.id} escapes its local package.`);if(!(await Z(l)).startsWith(`${t}${y.sep}`))throw new Error(`Taskset asset ${o.id} escapes its local package.`);let f=await ce(l,H.O_RDONLY|H.O_NOFOLLOW|H.O_NONBLOCK);try{let p=await f.stat();if(!p.isFile()||p.size!==o.sizeBytes)throw new Error(`Taskset asset ${o.id} differs from its immutable file size.`);if(4*Math.ceil(p.size/3)+d>w)throw new Error("Local Taskset files exceed the package envelope.");let m=Buffer.alloc(p.size),r=0;for(;r<m.length;){let g=await f.read(m,r,m.length-r,r);if(!g.bytesRead)throw new Error(`Taskset asset ${o.id} changed during capture.`);r+=g.bytesRead}if((await f.read(Buffer.alloc(1),0,1,r)).bytesRead)throw new Error(`Taskset asset ${o.id} changed during capture.`);n(o,m)}finally{await f.close()}}for(let i of[...e.content.modelResources?.assets??[],...e.content.learningResources?.assets??[]])s.has(i.asset.id)||n(i.asset,Buffer.from(P(i,i.asset),"utf8"));if(e.content.learningResources)for(let i of v(e.content.learningResources))s.has(i.asset.id)||n(i.asset,Buffer.from(i.base64,"base64"));if(e.fileOrder){if(new Set(e.fileOrder).size!==a.length||e.fileOrder.length!==a.length||e.fileOrder.some(o=>!s.has(o)))throw new Error("Saved package file order differs from its inventory.");let i=new Map(e.fileOrder.map((o,l)=>[o,l]));a.sort((o,l)=>i.get(o.asset.id)-i.get(l.asset.id))}return q({...e.content,files:a})}c($e,"captureLocalTasksetPackage");export{pe as a,ue as b,Re as c,A as d,be as e,Me as f,$e as g};