openpond 0.2.62 → 0.2.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/README.md +2 -0
  2. package/dist/app-server.d.ts +1053 -63
  3. package/dist/app-server.js +1 -1
  4. package/dist/chunks/{acp-DYRBDJRU.js → acp-H3MJCPHX.js} +1 -1
  5. package/dist/chunks/{acp-agent-UTLP7C3I.js → acp-agent-DWA7272M.js} +1 -1
  6. package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
  7. package/dist/chunks/{app-layer-N2H3RBEN.js → app-layer-K7H2WJ56.js} +1 -1
  8. package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
  9. package/dist/chunks/app-server-evaluations-XGMGS67X.js +2 -0
  10. package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
  11. package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
  12. package/dist/chunks/apps-QKAHJGQ4.js +2 -0
  13. package/dist/chunks/chunk-25XXZS3E.js +2 -0
  14. package/dist/chunks/chunk-27JGS3KB.js +12 -0
  15. package/dist/chunks/{chunk-7JBB4PXS.js → chunk-2HAWOMZK.js} +1 -1
  16. package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
  17. package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
  18. package/dist/chunks/{chunk-GEKORCMN.js → chunk-42V4NV2F.js} +1 -1
  19. package/dist/chunks/{chunk-VAJSRUAB.js → chunk-4FNCBA3Y.js} +1 -1
  20. package/dist/chunks/{chunk-F7D4BMTO.js → chunk-4L6DU6Z2.js} +1 -1
  21. package/dist/chunks/{chunk-SZKFNKWO.js → chunk-4SZ3HKHU.js} +1 -1
  22. package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
  23. package/dist/chunks/chunk-5FU5RLML.js +2 -0
  24. package/dist/chunks/{chunk-6SH4B7DV.js → chunk-5MHYGMJG.js} +1 -1
  25. package/dist/chunks/{chunk-MEK7DLX3.js → chunk-6EBCS57F.js} +1 -1
  26. package/dist/chunks/chunk-6RS4NAOY.js +2 -0
  27. package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
  28. package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
  29. package/dist/chunks/{chunk-P74RR2GB.js → chunk-7WYL2IDD.js} +1 -1
  30. package/dist/chunks/chunk-7YLXGILH.js +2 -0
  31. package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
  32. package/dist/chunks/{chunk-NWOK6NLE.js → chunk-AH26AQN7.js} +1 -1
  33. package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
  34. package/dist/chunks/chunk-B5R53U74.js +2 -0
  35. package/dist/chunks/{chunk-NKZNPTLA.js → chunk-BPZOABMC.js} +1 -1
  36. package/dist/chunks/{chunk-2IIBCCOK.js → chunk-BSPFY3Y5.js} +1 -1
  37. package/dist/chunks/{chunk-5OSM75X5.js → chunk-BU27SLZP.js} +2 -2
  38. package/dist/chunks/chunk-C2AXMKK4.js +2 -0
  39. package/dist/chunks/{chunk-AMO5DVKM.js → chunk-C2LAEGOW.js} +2 -2
  40. package/dist/chunks/{chunk-GNCEZ3UP.js → chunk-CZ5R4JXZ.js} +1 -1
  41. package/dist/chunks/{chunk-JIFUGA3U.js → chunk-DABBHWSF.js} +1 -1
  42. package/dist/chunks/{chunk-VK4TPZTA.js → chunk-DLANLLKH.js} +1 -1
  43. package/dist/chunks/{chunk-WGLVSGFA.js → chunk-DQI5TE6A.js} +2 -2
  44. package/dist/chunks/chunk-DTTFUANI.js +12 -0
  45. package/dist/chunks/{chunk-4TM75R7V.js → chunk-DUL6DXOI.js} +1 -1
  46. package/dist/chunks/{chunk-TGEGXTPR.js → chunk-ELX7VRSU.js} +1 -1
  47. package/dist/chunks/chunk-ERL2M773.js +3 -0
  48. package/dist/chunks/{chunk-4PZWGNX4.js → chunk-ERT32RZA.js} +4 -4
  49. package/dist/chunks/{chunk-RTJCELRR.js → chunk-EZRUWIP6.js} +1 -1
  50. package/dist/chunks/{chunk-LJDBR3RN.js → chunk-F6UQ6PPK.js} +1 -1
  51. package/dist/chunks/chunk-F7QTIHXX.js +2 -0
  52. package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
  53. package/dist/chunks/{chunk-FFWOTZQM.js → chunk-FVRII5XO.js} +1 -1
  54. package/dist/chunks/{chunk-C7M2WBWZ.js → chunk-FYYYECHE.js} +51 -49
  55. package/dist/chunks/chunk-G32BO6M5.js +4 -0
  56. package/dist/chunks/{chunk-NBE74GLF.js → chunk-G6OR5NB6.js} +1 -1
  57. package/dist/chunks/{chunk-GQGLPKU4.js → chunk-GGJUWIGR.js} +1 -1
  58. package/dist/chunks/{chunk-VSQXDS6H.js → chunk-GPL2Z65R.js} +1 -1
  59. package/dist/chunks/{chunk-INO67SEN.js → chunk-GS6ZUSIN.js} +2 -2
  60. package/dist/chunks/{chunk-47AXSBPV.js → chunk-GVARQXYI.js} +1 -1
  61. package/dist/chunks/chunk-GXCUH2VV.js +17 -0
  62. package/dist/chunks/{chunk-OCC43RSJ.js → chunk-GXZCMO6S.js} +1 -1
  63. package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
  64. package/dist/chunks/{chunk-HBLN4OLY.js → chunk-HUCBKXTU.js} +1 -1
  65. package/dist/chunks/{chunk-M5IX6VUA.js → chunk-IHB5GTOJ.js} +2 -2
  66. package/dist/chunks/{chunk-J3B2GM4A.js → chunk-IWWXIUAQ.js} +1 -1
  67. package/dist/chunks/chunk-J572ANHX.js +13 -0
  68. package/dist/chunks/{chunk-AKZPMKWP.js → chunk-J7ZTPXRQ.js} +1 -1
  69. package/dist/chunks/{chunk-CJUVHE4U.js → chunk-JORRZ4BB.js} +1 -1
  70. package/dist/chunks/chunk-JSQRLLN6.js +2 -0
  71. package/dist/chunks/chunk-KCOTDUGW.js +2 -0
  72. package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.js} +1 -1
  73. package/dist/chunks/{chunk-LRRBYIGH.js → chunk-LK2K3SPM.js} +2 -2
  74. package/dist/chunks/{chunk-557XSPVS.js → chunk-LKKMLBOH.js} +1 -1
  75. package/dist/chunks/{chunk-U456UP3N.js → chunk-LSZJ5M3X.js} +1 -1
  76. package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
  77. package/dist/chunks/{chunk-Y2KPHVZK.js → chunk-M3SCON53.js} +1 -1
  78. package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
  79. package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
  80. package/dist/chunks/{chunk-4RZBGKT7.js → chunk-N33D7KCW.js} +1 -1
  81. package/dist/chunks/chunk-N42HT64M.js +2 -0
  82. package/dist/chunks/{chunk-SD64CLJX.js → chunk-N4VHLJBZ.js} +1 -1
  83. package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
  84. package/dist/chunks/chunk-NG2L6D7G.js +2 -0
  85. package/dist/chunks/{chunk-GV3LFSMI.js → chunk-NLYZ5K7U.js} +1 -1
  86. package/dist/chunks/{chunk-F4TJ7WQV.js → chunk-NT7N6KLE.js} +1 -1
  87. package/dist/chunks/{chunk-PAE3PQEC.js → chunk-NZTCH6K5.js} +1 -1
  88. package/dist/chunks/{chunk-BEI4YULC.js → chunk-OG33QAG6.js} +1 -1
  89. package/dist/chunks/chunk-OTUBJV6C.js +6 -0
  90. package/dist/chunks/{chunk-RH43WLBX.js → chunk-PBTXLQAU.js} +1 -1
  91. package/dist/chunks/{chunk-3R4MSE2S.js → chunk-QJ6KUVAR.js} +1 -1
  92. package/dist/chunks/{chunk-7JXZNCBC.js → chunk-QU4UE73E.js} +1 -1
  93. package/dist/chunks/{chunk-WQMXEZVE.js → chunk-R6VJDOQM.js} +3 -3
  94. package/dist/chunks/{chunk-FUSCTBJI.js → chunk-R6WMY6AH.js} +1 -1
  95. package/dist/chunks/{chunk-EIX2V2KU.js → chunk-RDSVU6F6.js} +1 -1
  96. package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
  97. package/dist/chunks/{chunk-GW5SE3FM.js → chunk-RZUCVF2Q.js} +1 -1
  98. package/dist/chunks/{chunk-UC3FXTDL.js → chunk-SFKZITAG.js} +5 -5
  99. package/dist/chunks/{chunk-5A6ER3M2.js → chunk-SHJY5RLU.js} +1 -1
  100. package/dist/chunks/chunk-SI5W5LBV.js +2 -0
  101. package/dist/chunks/chunk-SO42ZB5K.js +2 -0
  102. package/dist/chunks/{chunk-2UDAKLJ4.js → chunk-TCOTXCV6.js} +1 -1
  103. package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
  104. package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
  105. package/dist/chunks/{chunk-X4ZT22SG.js → chunk-UPWJSNL5.js} +1 -1
  106. package/dist/chunks/chunk-URNMC46H.js +157 -0
  107. package/dist/chunks/{chunk-NLQ2UPN2.js → chunk-V7KR74NO.js} +1 -1
  108. package/dist/chunks/{chunk-HXZXDDKW.js → chunk-VHXDWAEH.js} +1 -1
  109. package/dist/chunks/{chunk-NE4ESZPT.js → chunk-W2TICQ62.js} +1 -1
  110. package/dist/chunks/chunk-WP2L2NY2.js +2 -0
  111. package/dist/chunks/chunk-WSOUMXH3.js +24 -0
  112. package/dist/chunks/chunk-WWQNMC7C.js +6 -0
  113. package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
  114. package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
  115. package/dist/chunks/{chunk-ZXT7V64X.js → chunk-XOB6FKQV.js} +1 -1
  116. package/dist/chunks/chunk-Y766IN7Y.js +2 -0
  117. package/dist/chunks/chunk-YCZZ62C2.js +2 -0
  118. package/dist/chunks/chunk-YM4PSVFW.js +4 -0
  119. package/dist/chunks/chunk-YNQWJWIC.js +10 -0
  120. package/dist/chunks/{chunk-GSWBNJGZ.js → chunk-Z3BWCFLV.js} +1 -1
  121. package/dist/chunks/{chunk-GOIKLFXK.js → chunk-ZG6353RM.js} +1 -1
  122. package/dist/chunks/{chunk-T6C5BNXK.js → chunk-ZPTKR3GB.js} +1 -1
  123. package/dist/chunks/{chunk-MNXNZDDW.js → chunk-ZYVHOVKL.js} +1 -1
  124. package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
  125. package/dist/chunks/cli-PSXMIJTF.js +2 -0
  126. package/dist/chunks/{configuration-command-BU2RPG33.js → configuration-command-XYKMXIWF.js} +1 -1
  127. package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
  128. package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
  129. package/dist/chunks/{connected-starting-assets-V5QXRK5Q.js → connected-starting-assets-JONPTII6.js} +1 -1
  130. package/dist/chunks/{continual-FLW6DAJK.js → continual-Z7MO2PF6.js} +1 -1
  131. package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
  132. package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
  133. package/dist/chunks/datasets-2PC2HP7N.js +2 -0
  134. package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
  135. package/dist/chunks/dist-47AYOIH6.js +2 -0
  136. package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
  137. package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
  138. package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
  139. package/dist/chunks/experiments-SZQYR6MH.js +2 -0
  140. package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
  141. package/dist/chunks/{help-PXUUREHZ.js → help-7HXFWIKS.js} +1 -1
  142. package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
  143. package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
  144. package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
  145. package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
  146. package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
  147. package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
  148. package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
  149. package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
  150. package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
  151. package/dist/chunks/hosted-profile-evaluation-preparation-2LSMZQNA.js +3 -0
  152. package/dist/chunks/{hosted-tasksets-X2YCFYEJ.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
  153. package/dist/chunks/human-review-M26UKGJL.js +2 -0
  154. package/dist/chunks/{import-JWZSZCE4.js → import-6SI4BEKS.js} +2 -2
  155. package/dist/chunks/learning-HM3NWOV5.js +2 -0
  156. package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
  157. package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
  158. package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
  159. package/dist/chunks/opchat-AG4CWVY4.js +3 -0
  160. package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
  161. package/dist/chunks/organizations-KDKX77XZ.js +2 -0
  162. package/dist/chunks/{profile-ELE2D7HU.js → profile-O5HL5DTQ.js} +1 -1
  163. package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
  164. package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
  165. package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
  166. package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
  167. package/dist/chunks/{runtime-776NUSE7.js → runtime-XBA744HJ.js} +2 -2
  168. package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
  169. package/dist/chunks/{sandbox-template-WP6YCGBK.js → sandbox-template-27U3FQN7.js} +1 -1
  170. package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
  171. package/dist/chunks/{send-turn-RPB65PME.js → send-turn-FIPWOXWV.js} +1 -1
  172. package/dist/chunks/src-BLWX6DRG.js +424 -0
  173. package/dist/chunks/{src-2R4CMCJ5.js → src-PU7QTFO5.js} +1 -1
  174. package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
  175. package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
  176. package/dist/chunks/{store-continual-support-reviews-R62D2HD6.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
  177. package/dist/chunks/{store-conversation-serving-25O7BAR2.js → store-conversation-serving-K324SQTO.js} +1 -1
  178. package/dist/chunks/{store-create-improve-T5E2GUKK.js → store-create-improve-3LQMIYAP.js} +1 -1
  179. package/dist/chunks/{store-datasets-5Y4U5L3R.js → store-datasets-3KSX7RSO.js} +1 -1
  180. package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
  181. package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
  182. package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
  183. package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
  184. package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
  185. package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
  186. package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
  187. package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
  188. package/dist/chunks/{store-local-experiments-LOH4F4TF.js → store-local-experiments-QTVHJAEP.js} +1 -1
  189. package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
  190. package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
  191. package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
  192. package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
  193. package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
  194. package/dist/chunks/{store-preference-comparison-RNIFLJRW.js → store-preference-comparison-DWV5XSMY.js} +1 -1
  195. package/dist/chunks/{store-schedules-DVQ2PP4F.js → store-schedules-2KUY4T6M.js} +1 -1
  196. package/dist/chunks/{store-sidebar-file-bookmarks-LXWFFYCZ.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
  197. package/dist/chunks/{store-sidebar-preferences-4HH7LX6N.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
  198. package/dist/chunks/{store-subagents-JLW4GD4Q.js → store-subagents-UGVEFA6M.js} +1 -1
  199. package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
  200. package/dist/chunks/{store-task-inventory-NJXRXFLC.js → store-task-inventory-GEQIZELY.js} +1 -1
  201. package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
  202. package/dist/chunks/{store-training-VRLU6NFX.js → store-training-CQV7PL3V.js} +1 -1
  203. package/dist/chunks/{store-training-jobs-3ZHG4LGI.js → store-training-jobs-XKN6K66J.js} +18 -10
  204. package/dist/chunks/{store-training-models-KWQD5PRP.js → store-training-models-Q7DTTR4S.js} +1 -1
  205. package/dist/chunks/{store-usage-ZRS3ILF2.js → store-usage-XGAX7NLB.js} +1 -1
  206. package/dist/chunks/{taskset-QDMCQQDJ.js → taskset-ARKJQKYQ.js} +1 -1
  207. package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
  208. package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
  209. package/dist/chunks/{teams-bot-GF272RGC.js → teams-bot-UTQAJA6H.js} +1 -1
  210. package/dist/chunks/training-3IWW4256.js +2 -0
  211. package/dist/chunks/{training-DF5UEPY3.js → training-RVIESURJ.js} +1 -1
  212. package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
  213. package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
  214. package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
  215. package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
  216. package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
  217. package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
  218. package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
  219. package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
  220. package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
  221. package/dist/chunks/{web-search-5RUXYIOF.js → web-search-7FBUBZ66.js} +1 -1
  222. package/dist/chunks/{workspaces-JRY2IE7H.js → workspaces-G3CMY7ZA.js} +1 -1
  223. package/dist/cli.js +1 -1
  224. package/dist/index.js +1 -1
  225. package/dist/sandbox/url.d.ts +3 -1
  226. package/dist/skills/LICENSE +21 -0
  227. package/dist/skills/manifest.json +168 -0
  228. package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
  229. package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
  230. package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
  231. package/dist/skills/openpond-cli/SKILL.md +11 -7
  232. package/dist/skills/openpond-cli/references/experiments-and-training.md +1 -1
  233. package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
  234. package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
  235. package/dist/web/assets/App-DY2R8Z6r.js +53 -0
  236. package/dist/web/assets/{AppDialog-BurL61qE.js → AppDialog-8Y0FYalT.js} +1 -1
  237. package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
  238. package/dist/web/assets/{AppToastContext-DZLErwj0.js → AppToastContext-BiQbbVxq.js} +1 -1
  239. package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
  240. package/dist/web/assets/{AttachmentTypeIcon-CpMSfHCK.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
  241. package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
  242. package/dist/web/assets/{CartesianChart-CEbM980A.js → CartesianChart-J4ChOjvG.js} +1 -1
  243. package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
  244. package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
  245. package/dist/web/assets/{CollaborationTabs-DrKJmJZK.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
  246. package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
  247. package/dist/web/assets/{CommunityView-BzpIq1lD.js → CommunityView-Okydjpqm.js} +1 -1
  248. package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
  249. package/dist/web/assets/{ComposerCreateImproveStrip-ChplO9YP.js → ComposerCreateImproveStrip-CSngc8-V.js} +1 -1
  250. package/dist/web/assets/{ConversationImportsSettings-DRHgc7j_.js → ConversationImportsSettings-DS73kyfj.js} +1 -1
  251. package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
  252. package/dist/web/assets/{GetStartedView-CaBk_mX6.js → GetStartedView-DGFPQ1We.js} +1 -1
  253. package/dist/web/assets/{GettingStartedDialog-JtFLyU3F.js → GettingStartedDialog-DFBYQdHz.js} +1 -1
  254. package/dist/web/assets/{HostedModelLearningReview-hhcjDifK.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
  255. package/dist/web/assets/{HostedModelLearningSettings-CY8198Y1.js → HostedModelLearningSettings-CHaTHwC8.js} +1 -1
  256. package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
  257. package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
  258. package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
  259. package/dist/web/assets/{LabSkillSidebar-HibUEEko.js → LabSkillSidebar-BwtlThO7.js} +1 -1
  260. package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
  261. package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
  262. package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
  263. package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
  264. package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
  265. package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
  266. package/dist/web/assets/{NewProjectDialog-t9Imnb__.js → NewProjectDialog-CjrjgkTN.js} +1 -1
  267. package/dist/web/assets/{OutputsPage-CeGq_F1S.js → OutputsPage-jzx93QQ3.js} +1 -1
  268. package/dist/web/assets/{PageChrome-VHME5V8j.js → PageChrome-C1M13qG2.js} +1 -1
  269. package/dist/web/assets/{ProjectsPage-2TMZoEPB.js → ProjectsPage-DZrjlMp2.js} +1 -1
  270. package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
  271. package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
  272. package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
  273. package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
  274. package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
  275. package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
  276. package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
  277. package/dist/web/assets/{TerminalOverlay-DlhRpi-X.js → TerminalOverlay-d7A2F9Lx.js} +2 -2
  278. package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
  279. package/dist/web/assets/{TrainingDraftPanel-BhhZPPuY.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
  280. package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
  281. package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
  282. package/dist/web/assets/{UsageSettingsSection-DTZslBeW.js → UsageSettingsSection-FhYymrfc.js} +2 -2
  283. package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
  284. package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
  285. package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
  286. package/dist/web/assets/{WorkspaceFileLocation-ChEeZffU.js → WorkspaceFileLocation-LrEWj4UK.js} +1 -1
  287. package/dist/web/assets/{WorkspaceGitDialogs-D_RUXhTi.js → WorkspaceGitDialogs-NRIMXnkS.js} +1 -1
  288. package/dist/web/assets/{WorkspaceMonacoEditor-BJxaiDrj.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
  289. package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
  290. package/dist/web/assets/{WorkspacePresentationPreview-A28Poeca.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
  291. package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
  292. package/dist/web/assets/bot-6OhUEmkE.js +1 -0
  293. package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
  294. package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
  295. package/dist/web/assets/{chevron-down-dYn0pd4Q.js → chevron-down-jmVA1BIf.js} +1 -1
  296. package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
  297. package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
  298. package/dist/web/assets/{chunk-ZFYI4P6C-BmsNtSkR.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
  299. package/dist/web/assets/{chunk-BYNVSWIQ-DWh9SmdB.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
  300. package/dist/web/assets/{client-choice-storage-DTTLbrYt.js → client-choice-storage-BdQ_YDuk.js} +1 -1
  301. package/dist/web/assets/{cloud-upload-CRMPCFnq.js → cloud-upload-Ck1ufAr8.js} +1 -1
  302. package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
  303. package/dist/web/assets/{copy-DR4ielPn.js → copy-CPkbMfXt.js} +1 -1
  304. package/dist/web/assets/{createLucideIcon-DmttVQ_a.js → createLucideIcon-CXQny8HU.js} +1 -1
  305. package/dist/web/assets/{cssMode-d-2GuNvW.js → cssMode-CYxYl_om.js} +1 -1
  306. package/dist/web/assets/{external-link-B4rPiZEp.js → external-link-CDKOLG_v.js} +1 -1
  307. package/dist/web/assets/{folder-open-BrIUcUk_.js → folder-open-CEtOb_lK.js} +1 -1
  308. package/dist/web/assets/{folder-plus-DwImGEt-.js → folder-plus-CVMYZs3e.js} +1 -1
  309. package/dist/web/assets/{git-commit-horizontal-Ds1mkrlW.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
  310. package/dist/web/assets/{htmlMode-s15GR0Fn.js → htmlMode-DoY4V_j0.js} +1 -1
  311. package/dist/web/assets/icons-D7jkCa2d.js +1 -0
  312. package/dist/web/assets/{image-CY-sHbfQ.js → image-B-PjDSwU.js} +1 -1
  313. package/dist/web/assets/{index-DYrLeSyY.js → index-D9WbJMSq.js} +2 -2
  314. package/dist/web/assets/index-g7UqJhnX.css +1 -0
  315. package/dist/web/assets/{info-aSvM8YlJ.js → info-CCnw-K3b.js} +1 -1
  316. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
  317. package/dist/web/assets/{jsonMode-vos9H2hz.js → jsonMode-CeOpZdPj.js} +1 -1
  318. package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
  319. package/dist/web/assets/{lspLanguageFeatures-pQmEaoMt.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
  320. package/dist/web/assets/{maximize-2-DgF6ZVOM.js → maximize-2-BZX38cpr.js} +1 -1
  321. package/dist/web/assets/message-square-CvgSecgD.js +1 -0
  322. package/dist/web/assets/{monaco.contribution-BPwsKvRB.js → monaco.contribution-CF2JDhi4.js} +2 -2
  323. package/dist/web/assets/{monaco.contribution-CJlccVX3.js → monaco.contribution-cbDqt48m.js} +2 -2
  324. package/dist/web/assets/{monaco.contribution-BbMpa0_-.js → monaco.contribution-m2ze2EsL.js} +2 -2
  325. package/dist/web/assets/{monaco.contribution-pWurLXbm.js → monaco.contribution-yeyow_-Q.js} +2 -2
  326. package/dist/web/assets/{monitor-DlEV241C.js → monitor-By0s4hxb.js} +1 -1
  327. package/dist/web/assets/{paperclip-fnRZSIRc.js → paperclip-BJ2QgJLa.js} +1 -1
  328. package/dist/web/assets/{pdf-CT3zVKCE.js → pdf-C4x-1jjP.js} +1 -1
  329. package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
  330. package/dist/web/assets/play-D_SuGDBM.js +1 -0
  331. package/dist/web/assets/plus-yw95Iaj8.js +1 -0
  332. package/dist/web/assets/{presentation-Bb8ecExR.js → presentation-I86G1Gd9.js} +1 -1
  333. package/dist/web/assets/{python-DXA1xp0A.js → python-CqFTPj8r.js} +1 -1
  334. package/dist/web/assets/{refresh-cw-B53QjxMO.js → refresh-cw-Dga35Eay.js} +1 -1
  335. package/dist/web/assets/requests-BCbaFiqV.js +1 -0
  336. package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
  337. package/dist/web/assets/{save-V1Q4Fcqa.js → save-BLKjYtzR.js} +1 -1
  338. package/dist/web/assets/settings-D7C-Auyi.js +21 -0
  339. package/dist/web/assets/{settings-lists-CtH1A57b.js → settings-lists-DMKA1lCN.js} +5 -5
  340. package/dist/web/assets/square-BY5lG2Ol.js +1 -0
  341. package/dist/web/assets/{square-terminal-Dmgkm5zY.js → square-terminal-B-n7vUex.js} +1 -1
  342. package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
  343. package/dist/web/assets/{toggleHighContrast-B-BD2K2Q.js → toggleHighContrast-BhmBE5XE.js} +1 -1
  344. package/dist/web/assets/training-QrdkRQZQ.js +2 -0
  345. package/dist/web/assets/{training-model-data-14942K_Z.js → training-model-data-DB-jg6L_.js} +12 -12
  346. package/dist/web/assets/{tsMode-DdgIcxK3.js → tsMode-BSWEII2p.js} +1 -1
  347. package/dist/web/assets/{upload-82Y6RjLi.js → upload-C4MPhQn8.js} +1 -1
  348. package/dist/web/assets/{useAccountSettings-BgHXNpq_.js → useAccountSettings-9oqWdRLs.js} +1 -1
  349. package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
  350. package/dist/web/assets/{useLocalAgentSchedules-CsKv22Hs.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
  351. package/dist/web/assets/{useQuery-CPC2wsWm.js → useQuery-BD0Uexmh.js} +1 -1
  352. package/dist/web/assets/{wifi-off-DXOoDN9l.js → wifi-off-Cloe0WuQ.js} +1 -1
  353. package/dist/web/assets/{workers-Clf4hKt5.js → workers-BXagz5eg.js} +1 -1
  354. package/dist/web/assets/x-Dqpel42h.js +1 -0
  355. package/dist/web/assets/{yaml-I1tf8Uxx.js → yaml-sBdvVbCc.js} +1 -1
  356. package/dist/web/index.html +2 -2
  357. package/docs/command-reference.md +22 -4
  358. package/package.json +5 -2
  359. package/dist/chunks/actions-command-6LF4Z4WK.js +0 -2
  360. package/dist/chunks/app-server-connected-apps-3T546FE7.js +0 -2
  361. package/dist/chunks/app-server-evaluations-TXD747QA.js +0 -2
  362. package/dist/chunks/app-server-harness-services-BBCDV5P3.js +0 -2
  363. package/dist/chunks/app-server-runtime-VEJPDAFP.js +0 -2
  364. package/dist/chunks/apps-CTT2XYRR.js +0 -2
  365. package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
  366. package/dist/chunks/chunk-4U2FNXQW.js +0 -2
  367. package/dist/chunks/chunk-547AUVKN.js +0 -2
  368. package/dist/chunks/chunk-557YG77L.js +0 -2
  369. package/dist/chunks/chunk-7KTARW23.js +0 -2
  370. package/dist/chunks/chunk-B42QQUZY.js +0 -2
  371. package/dist/chunks/chunk-EWOTDVDJ.js +0 -4
  372. package/dist/chunks/chunk-GAQLXFOT.js +0 -2
  373. package/dist/chunks/chunk-GLDYJM7O.js +0 -1
  374. package/dist/chunks/chunk-HKV7RX5E.js +0 -2
  375. package/dist/chunks/chunk-IWK3RTLR.js +0 -2
  376. package/dist/chunks/chunk-JX6OX6XE.js +0 -12
  377. package/dist/chunks/chunk-JY3YSI54.js +0 -2
  378. package/dist/chunks/chunk-LILXHGIA.js +0 -2
  379. package/dist/chunks/chunk-LJPO3TEL.js +0 -17
  380. package/dist/chunks/chunk-MNFW5WLD.js +0 -6
  381. package/dist/chunks/chunk-N5GPINVP.js +0 -2
  382. package/dist/chunks/chunk-N663LL27.js +0 -2
  383. package/dist/chunks/chunk-NOSBNHGC.js +0 -18
  384. package/dist/chunks/chunk-NR5VASQB.js +0 -2
  385. package/dist/chunks/chunk-O3MHHGC5.js +0 -151
  386. package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
  387. package/dist/chunks/chunk-PGO4FRHU.js +0 -10
  388. package/dist/chunks/chunk-QAVQJZCM.js +0 -2
  389. package/dist/chunks/chunk-RBDUMASL.js +0 -2
  390. package/dist/chunks/chunk-TM4VEMNN.js +0 -2
  391. package/dist/chunks/chunk-TUCKED4T.js +0 -4
  392. package/dist/chunks/chunk-TVTFEGTU.js +0 -2
  393. package/dist/chunks/chunk-TW3SRBLU.js +0 -22
  394. package/dist/chunks/chunk-UT6F6AIB.js +0 -12
  395. package/dist/chunks/chunk-VE6ZIGUQ.js +0 -2
  396. package/dist/chunks/chunk-VI32G77S.js +0 -2
  397. package/dist/chunks/chunk-VWRTE64Y.js +0 -2
  398. package/dist/chunks/chunk-XSB3T4JZ.js +0 -5
  399. package/dist/chunks/chunk-XWDFXM3S.js +0 -2
  400. package/dist/chunks/chunk-ZQHPGEYT.js +0 -2
  401. package/dist/chunks/cli-GCSO2OAI.js +0 -2
  402. package/dist/chunks/connected-app-executor-UDE7U4KG.js +0 -2
  403. package/dist/chunks/connected-evidence-GXIY2L7C.js +0 -2
  404. package/dist/chunks/core-commands-NJ6TGND4.js +0 -2
  405. package/dist/chunks/dataset-preparation-authoring-IUXUQK3L.js +0 -4
  406. package/dist/chunks/datasets-AH56DKLZ.js +0 -2
  407. package/dist/chunks/desktop-test-PYUTEOWO.js +0 -3
  408. package/dist/chunks/dist-5267UT3V.js +0 -2
  409. package/dist/chunks/evaluation-coordination-3AUICOC5.js +0 -2
  410. package/dist/chunks/experiment-improvements-YS7GGPDW.js +0 -2
  411. package/dist/chunks/experiments-EJZK7FPT.js +0 -2
  412. package/dist/chunks/experiments-signal-NKUIJCIY.js +0 -2
  413. package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +0 -2
  414. package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +0 -2
  415. package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +0 -2
  416. package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +0 -3
  417. package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +0 -2
  418. package/dist/chunks/hosted-profile-candidate-DKEMVIYG.js +0 -3
  419. package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +0 -2
  420. package/dist/chunks/hosted-profile-evaluation-control-ERCXAPZD.js +0 -2
  421. package/dist/chunks/hosted-profile-evaluation-inspection-Q3AIIIB6.js +0 -3
  422. package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +0 -3
  423. package/dist/chunks/human-review-5WM6MSON.js +0 -2
  424. package/dist/chunks/learning-KVLTMRLD.js +0 -2
  425. package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +0 -2
  426. package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +0 -2
  427. package/dist/chunks/model-projects-H22KENI4.js +0 -2
  428. package/dist/chunks/opchat-3S6TSDZO.js +0 -3
  429. package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +0 -2
  430. package/dist/chunks/organizations-62YNTZTO.js +0 -2
  431. package/dist/chunks/project-action-payload-32F4X2BB.js +0 -2
  432. package/dist/chunks/project-agent-O4REKO6T.js +0 -2
  433. package/dist/chunks/published-experiment-source-DAOTJLIN.js +0 -2
  434. package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +0 -2
  435. package/dist/chunks/sandbox-command-UQ26NDIX.js +0 -2
  436. package/dist/chunks/saved-work-PG52WCRQ.js +0 -2
  437. package/dist/chunks/src-AU6LG7E6.js +0 -421
  438. package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +0 -2
  439. package/dist/chunks/store-chat-resources-T4LR7K25.js +0 -2
  440. package/dist/chunks/store-evaluation-results-WUVJWCFU.js +0 -7
  441. package/dist/chunks/store-harness-workspaces-IFEFY5CK.js +0 -2
  442. package/dist/chunks/store-human-review-ZQNLZRGG.js +0 -7
  443. package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +0 -2
  444. package/dist/chunks/store-model-batch-review-QO4VVKWC.js +0 -2
  445. package/dist/chunks/store-model-configuration-C3HSOFD5.js +0 -3
  446. package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +0 -2
  447. package/dist/chunks/store-task-inbox-DL5RYFPO.js +0 -33
  448. package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +0 -9
  449. package/dist/chunks/taskset-packages-CBLJFWDQ.js +0 -2
  450. package/dist/chunks/training-error-L5V5IBX3.js +0 -2
  451. package/dist/chunks/training-hosted-I2NDBYGS.js +0 -2
  452. package/dist/chunks/training-hosted-report-4F25RZZ4.js +0 -2
  453. package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
  454. package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
  455. package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
  456. package/dist/web/assets/App-DHJVXTI2.js +0 -54
  457. package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +0 -2
  458. package/dist/web/assets/AppsView-ttlr9ckQ.js +0 -1
  459. package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +0 -1
  460. package/dist/web/assets/ChatTimelineEntry-BITv20Ze.js +0 -1
  461. package/dist/web/assets/CommandMenu-6oj8FUr6.js +0 -1
  462. package/dist/web/assets/ComposerAttachments-6en7m_ov.js +0 -2
  463. package/dist/web/assets/FilePagePreview-CW4J_1u7.js +0 -2
  464. package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +0 -1
  465. package/dist/web/assets/LabsRoute-B61l1b8P.js +0 -101
  466. package/dist/web/assets/MainChatThread-egKi0gLk.js +0 -2
  467. package/dist/web/assets/MainPane-2dj6Dg4l.js +0 -95
  468. package/dist/web/assets/MainPane-BwHw3UYp.css +0 -1
  469. package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +0 -2
  470. package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +0 -1
  471. package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +0 -1
  472. package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +0 -1
  473. package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +0 -1
  474. package/dist/web/assets/SettingsView-D2bu3tK_.js +0 -5
  475. package/dist/web/assets/TeamChatView-CN17AsgA.js +0 -1
  476. package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +0 -1
  477. package/dist/web/assets/TrainingMetricWorkbench-DBy8F1xp.js +0 -1
  478. package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +0 -1
  479. package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +0 -11
  480. package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +0 -35
  481. package/dist/web/assets/app-models-BviS9b7U.js +0 -1
  482. package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
  483. package/dist/web/assets/chat-resources-3SvnVeKv.js +0 -1
  484. package/dist/web/assets/chevron-right-sFx2xRvT.js +0 -1
  485. package/dist/web/assets/contracts-BHTOD1nd.js +0 -1
  486. package/dist/web/assets/icons-CK5-nxVC.js +0 -1
  487. package/dist/web/assets/index-Dezj4Z2p.css +0 -1
  488. package/dist/web/assets/loader-circle-cyf35w3i.js +0 -1
  489. package/dist/web/assets/play-wI_3FLr4.js +0 -1
  490. package/dist/web/assets/plus-DoJe4fLj.js +0 -1
  491. package/dist/web/assets/settings-BKmRueaw.js +0 -21
  492. package/dist/web/assets/square-BqSK-hv9.js +0 -1
  493. package/dist/web/assets/submit-issue-command-DRgUboVW.js +0 -3
  494. package/dist/web/assets/training-managed-adapter-BXNwgd3P.js +0 -1
  495. package/dist/web/assets/useAgentInventory-B-LNn3up.js +0 -1
  496. package/dist/web/assets/x-IPhrr4ju.js +0 -1
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as X,b as d,c as y,d as h,e as w,f as se,g as p,h as T,i as W,j as Ne,n as ce}from"./chunk-7KTARW23.js";import{f as Ee,t as Ce,v as Y}from"./chunk-ABF3W2MO.js";import{F as ze,H as Oe,K as Ue,_b as Je,e as C,gc as $e,jc as Ge,r as qe,sb as De,v as Me}from"./chunk-4M3YW3EQ.js";import{Ia as ve,J as F,O as _e,Ua as He,eb as K,lb as oe,qb as je,ra as ke,wb as Ae}from"./chunk-PBZCXPPC.js";import{t as Re,v as we}from"./chunk-NJLULBTM.js";import{g as ae,k as Pe,n as R,o as re}from"./chunk-VVNV4NNW.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as s}from"./chunk-FTQLQJQV.js";var D=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().positive(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),targetId:e.string().trim().min(1).max(240).nullable()}).strict(),Ve=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,n)=>{t.reduce((i,a)=>i+a.content.length,0)>1e5&&n.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})});var J=e.string().regex(/^[a-f0-9]{64}$/),me=e.object({providerId:e.literal("claude-code"),configurationHash:J,executableHash:J,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:J,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5),maximumTurns:e.number().int().min(1).max(100),holdOpen:e.boolean()}).strict(),yn=e.object({id:e.string().min(1).max(200),receiptId:e.string().min(1).max(200),sessionId:e.uuid(),operationId:e.string().min(1).max(200),action:e.enum(["message","seal"]),text:e.string().max(262144).optional()}).strict().superRefine((t,n)=>{t.action==="message"&&!t.text?.trim()&&n.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&n.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),Sn=e.object({provider:e.literal("claude-code"),sessionId:e.uuid(),requestId:e.string().min(1).max(200),modelId:e.string().min(1).max(500),runtime:me,sourceHash:J,outputHash:J,traceHash:J,runtimeEventRefs:e.array(e.string().min(1).max(200)).min(1).max(2e4),eventCount:e.number().int().positive().max(2e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),cleanupComplete:e.literal(!0)}).strict().superRefine((t,n)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&n.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})});var Z=e.object({providerId:e.literal("codex"),configurationHash:e.string().regex(/^[a-f0-9]{64}$/),accountHash:e.string().regex(/^[a-f0-9]{64}$/),reasoningEffort:e.enum(["low","medium","high","xhigh"]),maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict();var Be=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(F).min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),rewardEligible:e.boolean(),gradingStatus:e.enum(["scored","pending","unscorable","not_configured"]),failureClass:Pe.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,n)=>{let{contentHash:i,...a}=t;R(a)!==i&&n.addIssue({code:"custom",message:"Experiment grading integrity failed."});let r=t.grades.flatMap(o=>o.components);(r.length!==t.grades.length||new Set(r.map(o=>o.graderId)).size!==r.length)&&n.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let o of t.grades){let{contentHash:m,...c}=o;R(c)!==m&&n.addIssue({code:"custom",message:"A retained criterion changed."});for(let P of o.components){let{contentHash:f,...x}=P;R(x)!==f&&n.addIssue({code:"custom",message:"A retained grader result changed."})}}});var l=e.string().trim().min(1).max(200),q=e.string().regex(/^[a-f0-9]{64}$/),pe=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:l,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:q,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),me,Z]).optional(),candidate:e.object({artifactId:l,contentHash:q,preparationId:l,dispatchId:l,baseProfileId:l,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:je.optional(),messages:Ve.optional(),maxOutputTokens:e.number().int().min(1).max(1e6).default(1e5),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:l}).strict()]),Tt=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:l,teamId:l,modelProjectId:l.nullable(),project:D.optional(),taskset:T,taskId:l,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:pe}).strict(),Dn=e.object({modelProjectId:l.nullable(),taskset:T,afterTaskId:l.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Jn=e.object({modelProjectId:l.nullable(),taskset:T,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:l,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:l,split:ke,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:l,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:l.nullable()}).strict(),ee=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:l,revision:e.number().int().positive(),request:Tt,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:l,provider:l,upstreamModelId:e.string().min(1).max(500),configurationHash:q}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:l,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&n.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&n.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),$n=e.object({modelProjectId:l,afterId:l.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Gn=e.object({items:e.array(ee).max(100),nextCursor:l.nullable()}).strict(),Nn=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:ee,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:He.nullable(),grade:F.nullable().optional(),experimentGrade:Be.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:T,initialStateHash:q.nullable(),finalStateHash:q.nullable(),attemptHash:q}).strict(),native:Ae.optional(),providerRequestIds:e.array(l).max(1001),contentHash:q}).strict().superRefine((t,n)=>{let i=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!i!=!!t.native&&n.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!i||R(i)!==R(t.native.source)||t.native.modelConfigurationHash!==t.attempt.policySnapshot?.configurationHash||t.environment.initialStateHash!==null||t.environment.finalStateHash!==null||t.environment.status==="completed"&&(!t.environment.collected||t.output===null||t.native.partialOutputAvailable||t.native.outputHash!==R(t.output)))&&n.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&n.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.experimentGrade.score||t.attempt.gradingStatus!==t.experimentGrade.gradingStatus||t.attempt.passed!==(t.experimentGrade.score===null?null:t.experimentGrade.passed))&&n.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&n.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.grade.score||t.attempt.gradingStatus!==t.grade.gradingStatus||t.attempt.passed!==(t.grade.score===null?null:t.grade.passed))&&n.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))});var $=e.string().trim().min(1).max(240),de=e.string().regex(/^[a-f0-9]{64}$/),ue=e.object({maxOutputTokens:e.number().int().min(1).max(1e6).default(4096),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict();var j=e.object({kind:e.literal("hosted_harness"),modelId:$,maxOutputTokens:ue.shape.maxOutputTokens.removeDefault().optional(),temperature:ue.shape.temperature.removeDefault().optional(),topP:ue.shape.topP.removeDefault().optional(),localRuntime:Z.optional(),candidate:e.object({artifactId:$,contentHash:de,preparationId:$,dispatchId:$,baseProfileId:$,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:oe.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:$,source:oe,modelConfigurationHash:de,packageHash:de,externalDatasetBinding:K.optional()}).strict().superRefine((t,n)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&n.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(t.sourceCandidate??null)!==JSON.stringify(t.source.sourceCandidate??null)&&n.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})});var _=e.string().trim().min(1).max(200),Le=e.string().regex(/^[a-f0-9]{64}$/),It=e.discriminatedUnion("kind",[pe.options[0],e.object({kind:e.literal("fixture")}).strict(),j]),M=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:_,teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:D.optional(),taskset:T,policy:It,population:e.array(Ce).min(1).max(1e4)}).strict().superRefine((t,n)=>{new Set(t.population.map(i=>i.receiptId)).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(i=>i.fixtureId!==null!=(t.policy.kind==="fixture"))&&n.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(i=>!/^(0|[1-9][0-9]*)$/.test(i.seed)||Number(i.seed)>2147483647)&&n.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&n.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),t.policy.kind==="hosted_harness"&&new Set(t.population.map(i=>y([i.taskId,i.seed]))).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Qe=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:_,revision:e.number().int().positive(),teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:D.optional(),operationId:_,taskset:T,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Le,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),metricName:e.string().min(1).max(240),error:e.object({code:_,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{Object.values(t.counts).reduce((i,a)=>i+a,0)!==t.totalCount&&n.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&n.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&n.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&n.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&n.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&n.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),Fe=e.object({summary:Qe,request:M,manifest:Y,policySnapshot:ee.shape.policySnapshot}).strict(),ci=e.object({modelProjectId:_.optional(),projectId:D.shape.id.optional(),afterId:_.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),mi=e.object({items:e.array(Qe).max(100),nextCursor:_.nullable()}).strict(),pi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:Fe,receipts:e.array(Ee).min(1).max(1e4),metric:_e.nullable(),contentHash:Le}).strict();function Pt(t,n){re(n,"Taskset run manifest");let i=t.policy;if(i.kind!=="hosted_harness"||n.execution.kind!=="harness"||y(n.profileEvaluation)!==y(i.source)||y(n.execution.harnessRelease)!==y(i.source.harnessRelease)||n.metadata.profileRepositoryId!==i.profileRepositoryId||n.packageHash!==i.packageHash||n.policy.kind!=="model"||n.policy.model.provider!==(i.localRuntime?.providerId??"openpond")||n.policy.model.model!==i.modelId||n.policy.model.revision!==null||n.policy.model.artifactHash!==(i.candidate?.contentHash??null)||n.policy.model.tokenizerRevision!==null||n.policy.model.chatTemplateHash!==null||n.policy.configurationHash!==i.modelConfigurationHash||n.tasksetRelease.id!==t.taskset.id||n.tasksetRelease.contentHash!==t.taskset.contentHash||y(n.population)!==y(t.population)||n.population.some(a=>a.receiptId!==`evaluation-${R(n.profileEvaluation?.externalDatasetBinding?[n.id,a.taskId,a.seed,a.fixtureId]:[n.id,a.taskId,a.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}s(Pt,"verifyHarnessExperimentManifest");async function di(t){let n=Fe.parse(t),{summary:i,request:a,manifest:r,policySnapshot:o}=n;if(re(r,"Taskset run manifest"),r.contentHash!==i.manifestHash||r.id!==i.id||r.createdAt!==i.createdAt||i.teamId!==a.teamId||i.modelProjectId!==a.modelProjectId||y(i.project??null)!==y(a.project??null)||y(r.metadata.project??null)!==y(a.project??null)||(i.name??null)!==(a.name??null)||i.operationId!==a.operationId||i.policyKind!==a.policy.kind||i.totalCount!==a.population.length||i.metricName!==r.metricPolicy.primaryMetric||y(i.taskset)!==y(a.taskset)||r.tasksetRelease.id!==a.taskset.id||r.tasksetRelease.contentHash!==a.taskset.contentHash||y(r.population)!==y(a.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(a.policy.kind==="fixture"){if(r.policy.kind!=="fixture"||o!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(a.policy.kind==="hosted_harness"){if(Pt(a,r),o!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(r.policy.kind!=="model"||!o||o.modelId!==a.policy.modelId||r.policy.model.provider!==o.provider||r.policy.model.model!==o.upstreamModelId||r.policy.model.revision!==null||r.policy.model.artifactHash!==(a.policy.candidate?.contentHash??null)||r.policy.model.tokenizerRevision!==null||r.policy.model.chatTemplateHash!==null||r.policy.configurationHash!==await h({policy:a.policy,snapshot:o}))throw new Error("Evaluation model differs from its admitted policy.");return n}s(di,"verifyModelTasksetRunDetails");var Xe=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),Rt=e.array(Xe).min(1).max(20),Ke=e.enum(["input","output","expectedOutput","evaluatorContext"]),wt=e.object({destination:Ke,path:Rt,source:Ke,sourcePath:e.array(Xe).max(20)}).strict(),le=e.array(wt).max(100).superRefine((t,n)=>{for(let[i,a]of t.entries())t.slice(0,i).some(r=>r.destination===a.destination&&(Ye(r.path,a.path)||Ye(a.path,r.path)))&&n.addIssue({code:"custom",path:[i,"path"],message:"Mapped destination paths must not overlap."})});function Ye(t,n){return t.length<=n.length&&t.every((i,a)=>i===n[a])}s(Ye,"prefix");var I=e.string().trim().min(1).max(200),z=e.string().regex(/^[a-f0-9]{64}$/),ge=e.object({id:I,revision:e.number().int().positive(),contentHash:z}).strict(),he=e.object({id:I,version:e.string().min(1).max(200),contentHash:z,name:e.string().trim().min(1).max(500).optional(),feedbackKey:ve,release:ge.nullable(),mappings:le.optional()}).strict(),fe=e.object({id:I,version:e.string().min(1).max(200),contentHash:z,mappings:le}).strict(),Ri=e.object({operationId:I,id:I.optional(),expectedRevision:e.number().int().nonnegative(),request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(fe).min(1).max(100).optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&n.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),_t=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:I,teamId:I,revision:e.number().int().positive(),request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),wi=_t.extend({contentHash:z}),_i=e.object({operationId:I,definition:ge}).strict(),ki=e.object({projectId:I.optional(),datasetHash:z.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:I.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),vi=e.object({definition:ge.nullable(),configurationHash:z.optional(),admissionRequestHash:z.optional(),sourceExperimentId:I.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100)}).strict().superRefine((t,n)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&n.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),Hi=e.object({operationId:I,profileRepositoryId:I,definitionId:I,modelId:I,localRuntime:j.shape.localRuntime,maxOutputTokens:j.shape.maxOutputTokens,temperature:j.shape.temperature,topP:j.shape.topP,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:K.optional(),sourceCandidate:j.shape.sourceCandidate}).strict(),ji=e.object({request:M,manifest:Y,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(he).min(1).max(100)}).strict();var We=e.string().trim().min(1).max(200),be=e.object({operationId:We,request:M,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(fe).min(1).max(100).optional(),sourceExperimentId:We.optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&n.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var u=e.string().trim().min(1).max(200),v=e.string().regex(/^[a-f0-9]{64}$/),te=e.object({id:u,contentHash:v}).strict(),Bi=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:C.nullable()}).strict(),Ze=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:u,revision:e.number().int().positive(),contentHash:v}).strict(),projectId:u.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:u,configuration:be}).strict()).min(1).max(20),acceptancePlan:Je.nullable()}).strict().superRefine((t,n)=>{if(new Set(t.experiments.map(i=>i.id)).size!==t.experiments.length&&n.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((i,a)=>i+a.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(i=>(i.configuration.request.project?.id??null)!==t.projectId)&&n.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let i=new Set(t.acceptancePlan.checks.map(r=>r.id));t.acceptancePlan.checks.some(r=>!t.experiments.some(o=>o.id===r.id))&&n.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(r=>!i.has(r.id)).reduce((r,o)=>r+o.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var kt=e.object({baseline:te,checks:e.array(e.object({id:u,sourceRunId:u,sourceManifestHash:v,targetConfigurationHash:v,executionHash:v,populationHash:v,evaluator:te,feedbackKey:u,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),vt=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),et=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:u,teamId:u,jobId:u,revision:e.number().int().positive(),planHash:v,automatic:e.boolean(),candidate:te.nullable(),state:vt,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:u.nullable(),experimentIds:e.array(u).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,n)=>{t.completed+t.failed>t.total&&n.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&n.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Ht=e.object({operationId:u,expectedRevision:e.number().int().positive(),planHash:v}).strict(),jt=e.object({operationId:u,attachment:Ze}).strict(),At=e.object({id:u,teamId:u,ownerUserId:u,attachment:Ze,qualification:kt.nullable(),contentHash:v,createdAt:e.iso.datetime()}).strict();function Et(t){let n=At.parse(t);if(n.contentHash!==R({attachment:n.attachment,qualification:n.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return n}s(Et,"verifyPostTrainingPlan");function tt(t){let{request:n}=t,i=s(r=>`/v1/training/jobs/${encodeURIComponent(u.parse(r))}/post-training`,"path");async function a(r,o,m){if(r===null)return null;let c=et.parse(r);if(c.teamId!==o||c.jobId!==m)throw new d("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return c}return s(a,"read"),{async attach(r,o){let m=jt.parse(o),c=Et(await n("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(m)}));if(c.teamId!==r||await h(c.attachment)!==await h(m.attachment))throw new d("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return c},async get(r,o){return a(await n(i(o)),r,o)},async control(r,o,m,c){let P=Ht.parse(c),f=await a(await n(`${i(o)}/${m}`,{method:"POST",body:JSON.stringify(P)}),r,o);if(!f||f.planHash!==P.planHash)throw new d("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return f}}}s(tt,"createPostTrainingClient");var Li=e.object({teamId:u,actorId:u,projectId:u.nullable(),configuration:ce,batches:e.array(ze).max(1e4),sources:e.array(Me).max(1e4),definitions:e.array(qe).max(1e4),experiments:e.array(e.object({id:u,name:e.string().max(500),configuration:be,graders:e.array(e.object({feedbackKey:u,name:e.string().max(500),ref:te}).strict()).max(100)}).strict()).max(1e4)}).strict(),Qi=e.enum(["prepare","start","cancel","publish","attach"]),Fi=e.object({teamId:u,actorId:u,configuration:ce,policy:Oe,inspection:De,iterations:e.array(e.object({iteration:Ue,evals:et.nullable()}).strict()).max(100),nextCursor:u.nullable()}).strict(),Ki=e.object({id:u,expectedRevision:e.number().int().positive(),policyHash:v,operationId:u,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:u.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var H=e.string().trim().min(1).max(240),nt=p.extend({revision:e.number().int().positive()}).strict(),Ct=nt.extend({teamId:H,jobId:H,plan:p,baseline:p,candidate:p,state:$e.shape.state,updatedAt:e.string().datetime()}).strict(),qt=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:H,jobId:H,groups:e.array(Ct).max(100),nextCursor:H.nullable()}).strict(),Mt=e.object({cursor:H.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function it(t){let n=s(i=>(H.parse(i.teamId),`/v1/training/jobs/${encodeURIComponent(H.parse(i.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(i,a={}){let r=Mt.parse(a),o=new URLSearchParams({limit:String(r.limit)});r.cursor&&o.set("cursor",r.cursor);let m=qt.parse(await t(`${n(i)}?${o}`));if(m.teamId!==i.teamId||m.jobId!==i.jobId||m.groups.length>r.limit||m.groups.some(c=>c.teamId!==i.teamId||c.jobId!==i.jobId||r.cursor&&c.id<=r.cursor)||new Set(m.groups.map(c=>c.id)).size!==m.groups.length||m.nextCursor!==null&&m.nextCursor!==m.groups.at(-1)?.id)throw new d("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return m},async acceptanceGroup(i,a,r){let o=r?nt.parse({id:r.id,revision:r.revision,contentHash:r.contentHash}):null;if(o&&o.id!==a)throw new d("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let m=o?`?revision=${o.revision}`:"",c=Ge(await t(`${n(i)}/${encodeURIComponent(H.parse(a))}${m}`));if(c.manifest.teamId!==i.teamId||c.manifest.trainingJob.id!==i.jobId||c.manifest.id!==a||o&&(c.revision!==o.revision||c.contentHash!==o.contentHash))throw new d("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return c}}}s(it,"createTrainingAcceptanceClient");var zt=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:ae,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();function rt(t){let n=s(i=>{let a=ae.parse(i);return`/v1/training/harness-sources/${encodeURIComponent(a.id)}/${a.contentHash}`},"route");return{async publishHarnessSource(i){w(i,67108864,"Training Harness source");let a=at(i),r=a.agentSnapshot.portability;if(!r.portable||r.blockers.length||r.localOnlyAssetRefs.length||r.hostPrivateAssetRefs.length||a.schemaVersion==="openpond.harnessSourcePackage.v1"&&a.harnessRelease.files.some(m=>m.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let o=zt.parse(await t(n({id:a.harnessRelease.id,contentHash:a.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(a)}));if(o.harnessRelease.id!==a.harnessRelease.id||o.harnessRelease.contentHash!==a.harnessRelease.contentHash||o.sourcePackageHash!==a.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return o},async getHarnessSource(i){let a=await t(n(i),void 0,67108864);return w(a,67108864,"Training Harness source"),at(a,i)}}}s(rt,"createTrainingHarnessSourceClient");function at(t,n){return typeof t=="object"&&t!==null&&Reflect.get(t,"schemaVersion")==="openpond.harnessPolicySourcePackage.v1"?Re(t,n):we(t,n)}s(at,"validateSource");var A=e.string().trim().min(1).max(500),Ot=e.string().regex(/^[a-f0-9]{64}$/),xe=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:A,jobId:A,artifact:p,evaluation:p,executionReceipt:p,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:A,expectedDecision:p.nullable()}).strict(),Ut=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:A,request:xe,revision:e.number().int().positive(),actor:e.object({userId:A,kind:e.enum(["user","api_key","agent_delegate"]),id:A}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:Ot}).strict().superRefine((t,n)=>{t.revision===1!=(t.request.expectedDecision===null)&&n.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),t.request.expectedDecision?.id===t.id&&n.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function Dt(t){let{contentHash:n,...i}=t;return h(i)}s(Dt,"trainingCandidateDecisionHash");async function ot(t,n){w(t,32768,"Training candidate decision");let i=Ut.parse(t);if(i.contentHash!==await Dt(i))throw new d("content_hash_mismatch","Training candidate decision content hash does not match.");if(i.request.teamId!==n.teamId||i.request.jobId!==n.jobId||i.request.artifact.id!==n.artifact.id||i.request.artifact.contentHash!==n.artifact.contentHash)throw new d("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(n.request&&await h(i.request)!==await h(xe.parse(n.request)))throw new d("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return i}s(ot,"parseAndVerifyTrainingCandidateDecision");function st(t){function n(i){return`/v1/training/jobs/${encodeURIComponent(A.parse(i.jobId))}/candidates/${encodeURIComponent(p.parse(i.artifact).id)}/decision`}return s(n,"route"),{async candidateDecision(i,a={}){A.parse(i.teamId);let r=a.decision?p.parse(a.decision):void 0,o=r?`?decisionId=${encodeURIComponent(r.id)}`:"",m=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${n(i)}${o}`));if(m.decision===null&&!r)return null;let c=await ot(m.decision,i);if(r&&(c.id!==r.id||c.contentHash!==r.contentHash))throw new d("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return c},async recordCandidateDecision(i){let a=xe.parse(i),r=await t(n(a),{method:"POST",body:JSON.stringify(a)});return ot(r,{...a,request:a})}}}s(st,"createTrainingCandidateDecisionClient");var G=e.string().trim().min(1).max(500),N=e.string().regex(/^[a-f0-9]{64}$/),Jt=e.object({taskId:G,taskSha256:N,resultSha256:N,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:N,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:G}).strict()}).strict(),$t=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:G,teamId:G,evaluation:p,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:T,panelSha256:N,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(Jt).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:N}).strict().superRefine((t,n)=>{let i=t.offset+t.tasks.length,a=i<t.total?String(i):null;(i>t.total||t.nextCursor!==a)&&n.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(r=>r.taskId)).size!==t.tasks.length&&n.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function Gt(t){let{contentHash:n,...i}=t;return h(i)}s(Gt,"trainingEvaluationTaskPageHash");async function ct(t,n){w(t,8388608,"Training evaluation task page");let i=$t.parse(t),a=p.parse(n.evaluation);if(i.jobId!==G.parse(n.jobId)||i.evaluation.id!==a.id||i.evaluation.contentHash!==a.contentHash||i.offset!==(n.offset??0)||n.teamId!==void 0&&i.teamId!==G.parse(n.teamId))throw new d("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await Gt(i)!==i.contentHash)throw new d("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let r of i.tasks)if(await h(r.output)!==r.outputSha256)throw new d("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return i}s(ct,"parseAndVerifyTrainingEvaluationTaskPage");var g=e.string().trim().min(1).max(500),b=e.string().regex(/^[a-f0-9]{64}$/),k=e.string().datetime({offset:!0}),Nt=e.object({schemaVersion:e.literal("openpond.trainingInputArtifactUpload.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:e.string().trim().min(1).max(500),sourceManifest:p,payload:e.unknown(),contentHash:b}).strict(),Vt=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:p,artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,sizeBytes:e.number().int().positive(),createdAt:k}).strict();async function Bt(t){let{contentHash:n,...i}=t;return h(i)}s(Bt,"trainingInputArtifactUploadHash");async function Lt(t){w(t,67108864,"Training input artifact");let n=Nt.parse(t),i=await Bt(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training input artifact contentHash ${n.contentHash} does not match ${i}.`);return n}s(Lt,"parseAndVerifyTrainingInputArtifactUpload");var bt=e.enum(["reward_model_train","policy_optimize"]),Qt=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Ft=e.object({id:g,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Ie=e.object({origin:C.optional(),modelProject:e.object({id:g,portableProjectId:g,revision:e.number().int().positive(),contentHash:b}).strict(),harnessRunManifest:p,harnessRelease:p,taskset:T,tasksetRelease:p,evaluation:e.object({taskset:T,dataset:p}).strict().nullable().optional(),dataset:p,evidenceSets:e.array(p).max(1e4)}).strict(),Kt=e.object({kind:e.literal("reward_model_train"),baseModel:W,preferenceDatasetRelease:p,processorRelease:p,recipe:e.object({schemaVersion:e.literal("openpond.rewardModelRecipe.v1"),method:e.literal("reward_model"),parameterization:e.literal("lora_with_scalar_head")}).catchall(e.unknown())}).strict(),Yt=e.object({kind:e.literal("deterministic"),grader:p,composer:p.nullable().default(null)}).strict(),Xt=e.object({kind:e.literal("learned_reward"),rewardModelVersion:p,qualificationReport:p.nullable().default(null),evaluationReferences:e.array(p).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,executionReceipt:p}).strict(),processorRelease:p,rewardComposerRelease:p}).strict(),xt=W.extend({revision:e.string().regex(/^[a-f0-9]{40,64}$/),tokenizerRevision:e.string().regex(/^[a-f0-9]{40,64}$/),chatTemplateHash:b}).strict(),Wt=e.object({kind:e.literal("policy_optimize"),executionMode:e.literal("qualification").optional(),baseModel:W,recipe:Ne,rewardSource:e.discriminatedUnion("kind",[Yt,Xt]),resumeFrom:p.nullable().default(null)}).strict(),Zt=e.discriminatedUnion("kind",[Kt,Wt]),en=e.object({approvalHash:b,approvedAt:k,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),tn=e.object({schemaVersion:e.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:e.string().trim().min(1).max(500),name:e.string().trim().min(1).max(200),source:Ie,job:Zt,requestedCapabilities:e.array(Ft).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:en,contentHash:b}).strict().superRefine((t,n)=>{if(t.job.kind==="policy_optimize"&&t.job.executionMode==="qualification"){let i=t.job;xt.safeParse(i.baseModel).success||n.addIssue({code:"custom",path:["job","baseModel"],message:"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin."}),(i.resumeFrom||i.recipe.continuation!==void 0||i.rewardSource.kind!=="deterministic"||i.recipe.method!=="grpo")&&n.addIssue({code:"custom",path:["job"],message:"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation."}),t.requestedCapabilities.some(a=>a.required&&a.id==="managed_rl.policy.qualification"&&a.version==="1")||n.addIssue({code:"custom",path:["requestedCapabilities"],message:"Qualification must require managed_rl.policy.qualification@1."})}t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&n.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function nn(t){let{contentHash:n,...i}=t;return h(i)}s(nn,"trainingJobSubmissionHash");async function an(t){w(t,1048576,"Training Job submission");let n=tn.parse(t),i=await nn(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training Job contentHash ${n.contentHash} does not match ${i}.`);return n}s(an,"parseAndVerifyTrainingJobSubmission");var V=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:g,teamId:g,kind:bt,executionMode:e.literal("qualification").optional(),modelProjectId:g,portableProjectId:g,sourceProjectRevision:e.number().int().positive(),submissionHash:b,state:Qt,phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:k,updatedAt:k,completedAt:k.nullable()}).strict(),rn=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(V).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),on=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:g,jobId:g,sequence:e.number().int().nonnegative(),type:g,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:k}).strict(),sn=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:g,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:k}).strict(),mt=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),cn=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:g,jobId:g,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:b,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:k}).strict(),yt=e.object({schemaVersion:e.literal("openpond.trainingQualificationEvidence.v1"),baseModel:xt,group:p,rolloutReceipts:e.array(p).min(1).max(1e3),rewardEvidenceHash:b,groupsCompleted:e.literal(1),optimizerUpdatesApplied:e.literal(0),optimizerUpdatesSkipped:e.literal(0),trainingStepsCreated:e.literal(0),checkpointsCreated:e.literal(0),artifactsCreated:e.literal(0)}).strict().superRefine((t,n)=>{new Set(t.rolloutReceipts.map(i=>i.id)).size!==t.rolloutReceipts.length&&n.addIssue({code:"custom",path:["rolloutReceipts"],message:"Qualification rollout receipt identities must be unique."})}),mn=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:g,teamId:g,jobId:g,submissionHash:b,manifestHash:b,recipeHash:b,capabilityHash:b,runtimeRelease:p,inputs:e.array(p).max(1e4),outputs:e.array(p).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),qualification:yt.optional(),issuer:g,issuedAt:k,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Ea(t,n){let i=yt.parse(t.qualification);if(t.submissionHash!==n.submissionHash||!t.cleanupComplete)throw new d("qualification_receipt_mismatch","Qualification must attest the expected submission and complete cleanup.");if(n.baseModel&&await h(i.baseModel)!==await h(n.baseModel))throw new d("qualification_learner_mismatch","Qualification used a different original learner or tokenizer.");if(n.outputs?.some(a=>["checkpoint","adapter","scorer"].includes(a.kind)))throw new d("qualification_updated_artifact","Qualification must not publish trained artifacts or checkpoints.")}s(Ea,"assertTrainingQualificationReceipt");var pn=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(cn).max(1e4),receipt:mn.nullable()}).strict(),dn=e.object({schemaVersion:e.literal("openpond.trainingApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),ie=class extends Error{static{s(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(n,i){super(i.message),this.name="OpenPondTrainingApiError",this.status=n,this.code=i.code,this.retryable=i.retryable,this.requestId=i.requestId,this.details=i.details}},un=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:b,jobKinds:e.array(bt),methods:e.array(e.string().trim().min(1).max(200)),executionModes:e.array(e.enum(["training","qualification"])).optional(),structuredOutputs:e.object({capability:e.literal("work.structured-output.v1"),harnessRuntimeHash:b,workHarnessHash:b,schemaHash:b,artifactHash:b,invalidDataRejected:e.literal(!0),invalidBytesRejected:e.literal(!0)}).strict().optional(),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:k,expiresAt:k}).strict();function pt(t){let n={};return new Headers(t).forEach((i,a)=>{n[a]=i}),n}s(pt,"headersRecord");function Ca(t){let n=t.fetch??fetch,i=t.baseUrl.replace(/\/$/,"");async function a(r,o,m=8388608){let P=o?.method===void 0||o.method.toUpperCase()==="GET"?3:1;for(let f=1;f<=P;f+=1){let x;try{let U=typeof t.headers=="function"?await t.headers():t.headers??{};x=await n(`${i}${r}`,{...o,headers:{accept:X,...o?.body?{"content-type":X}:{},...pt(U),...pt(o?.headers)}})}catch(U){if(f===P||o?.signal?.aborted||!dt(null,U))throw U;await new Promise(St=>setTimeout(St,250*2**(f-1)));continue}let L=se(await x.text(),m,"Training API response");if(x.ok)return L;let Q=ln(L,x.status);if(f===P||!dt(x.status,Q))throw Q;await new Promise(U=>setTimeout(U,250*2**(f-1)))}throw new d("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return s(a,"request"),{postTraining:tt({request:a}),...ft(a),...it(a),...rt(a),...st(a),async capabilities(){return un.parse(E(await a("/v1/training/capabilities"),"capabilities"))},async stageArtifact(r){let o=await Lt(r);return Vt.parse(E(await a("/v1/training/artifacts",{method:"POST",body:JSON.stringify(o)}),"artifact"))},async createJob(r){let o=await an(r);return V.parse(E(await a("/v1/training/jobs",{method:"POST",body:JSON.stringify(o)}),"job"))},async listJobs(r={}){let o=new URLSearchParams;r.modelProjectId&&o.set("modelProjectId",g.parse(r.modelProjectId)),r.cursor&&o.set("cursor",e.string().trim().min(1).max(2e3).parse(r.cursor)),r.limit!==void 0&&o.set("limit",String(e.number().int().min(1).max(1e3).parse(r.limit)));let m=o.size>0?`?${o.toString()}`:"";return rn.parse(await a(`/v1/training/jobs${m}`))},async getJob(r){return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}`),"job"))},async cancelJob(r,o){let m=mt.parse({expectedVersion:o});return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(m)}),"job"))},async stopAfterGroup(r,o){let m=mt.parse({expectedVersion:o});return V.parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/stop-after-group`,{method:"POST",body:JSON.stringify(m)}),"job"))},async events(r){return e.array(on).parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/events`),"events"))},async outputs(r){return pn.parse(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/outputs`))},async evaluationTasks(r,o,m={}){let c=g.parse(r),P=p.parse(o),f=new URLSearchParams,x=m.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(m.cursor),L=x===void 0?0:e.number().int().min(1).max(9999).parse(Number(x));x!==void 0&&f.set("cursor",x),m.limit!==void 0&&f.set("limit",String(e.number().int().min(1).max(100).parse(m.limit)));let Q=f.size?`?${f.toString()}`:"";return ct(await a(`/v1/training/jobs/${encodeURIComponent(c)}/evaluations/${encodeURIComponent(P.id)}/tasks${Q}`),{jobId:c,evaluation:P,offset:L})},async logs(r){return e.array(sn).max(1e5).parse(E(await a(`/v1/training/jobs/${encodeURIComponent(g.parse(r))}/logs`),"logs"))}}}s(Ca,"createTrainingClient");function dt(t,n){return t!==null?t===408||t===429||t>=500:n instanceof ie?n.retryable:n instanceof d?n.code==="invalid_error_response":n instanceof TypeError}s(dt,"trainingReadFailureIsRetryable");function E(t,n){return!t||typeof t!="object"||Array.isArray(t)?t:n in t?t[n]:t}s(E,"unwrapObject");function ln(t,n){let i=dn.safeParse(t);return i.success?new ie(n,i.data):new d("invalid_error_response",`Training request failed with HTTP ${n} and an invalid error envelope.`)}s(ln,"trainingApiError");var S=e.string().trim().min(1).max(191),B=e.string().regex(/^[a-f0-9]{64}$/),ye=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:S,operationId:S,projectId:S.nullable(),configuration:e.object({id:S,expectedRevision:e.number().int().positive(),expectedEtag:B}).strict(),origin:C.optional(),batch:T,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),lt=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:S,creatorUserId:S,request:ye,requestHash:B,source:e.lazy(()=>Ie),submissionHash:B,createdAt:e.string().datetime({offset:!0})}).strict(),gt=lt.extend({contentHash:B}).strict(),Se=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:gt,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:S.nullable()}).strict().superRefine((t,n)=>{t.state==="submitted"!=!!t.jobId&&n.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Te=e.object({teamId:S,planHash:B,expectedRevision:e.number().int().positive()}).strict(),gn=e.object({projectId:S.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:S.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),hn=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:S,items:e.array(Se).max(100),nextCursor:S.nullable()}).strict();async function ht(t){let n=Se.parse(t),{contentHash:i,...a}=n.plan;if(await h(a)!==i||await h(a.request)!==a.requestHash||a.source.modelProject.id!==a.request.configuration.id||await h(a.source.origin??null)!==await h(a.request.origin??null))throw new d("training_preparation_mismatch","The prepared training inputs changed.");return n}s(ht,"parseAndVerifyTrainingPreparationReceipt");function ft(t){async function n(i,a,r){let o=await ht(i);if(o.plan.request.teamId!==a||r&&o.plan.id!==r)throw new d("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return o}return s(n,"read"),{async listPreparations(i,a={}){let r=S.parse(i),o=gn.parse(a),m=new URLSearchParams;for(let[f,x]of Object.entries(o))m.set(f,String(x));let c=hn.parse(await t(`/v1/training/preparations?${m}`));if(c.teamId!==r||c.items.length>o.limit||new Set(c.items.map(f=>f.plan.id)).size!==c.items.length||c.nextCursor!==null&&(c.nextCursor!==c.items.at(-1)?.plan.id||c.nextCursor===o.afterId))throw new d("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let P=await Promise.all(c.items.map(async f=>{let x=await n(f,r);if(o.projectId&&x.plan.request.projectId!==o.projectId||o.state&&x.state!==o.state)throw new d("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return x}));return{...c,items:P}},async prepareRun(i){let a=ye.parse(i),r=await n(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(a)}),a.teamId);if(r.plan.requestHash!==await h(a))throw new d("training_preparation_request_mismatch","The preparation does not match the requested run.");return r},async getPreparation(i,a){return n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(a))}`),S.parse(i),a)},async startPreparation(i,a){let r=Te.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/start`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="submitted")throw new d("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return o},async cancelPreparation(i,a){let r=Te.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="cancelled")throw new d("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return o}}}s(ft,"createTrainingPreparationClient");export{M as a,Fe as b,Pt as c,di as d,le as e,he as f,ki as g,vi as h,Hi as i,ji as j,be as k,ye as l,ht as m,an as n,Ea as o,ie as p,Ca as q};
@@ -1,4 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as z}from"./chunk-FEAKTSRS.js";import{a as P,b as _}from"./chunk-LJDBR3RN.js";import{$ as V,Z as B}from"./chunk-5MTN6KXV.js";import{_ as S,ha as O}from"./chunk-PGO4FRHU.js";import{D as A}from"./chunk-ABF3W2MO.js";import{x as I}from"./chunk-PBZCXPPC.js";import{n as k}from"./chunk-VVNV4NNW.js";import{A as g}from"./chunk-PF56N7ZY.js";import{a as i}from"./chunk-FTQLQJQV.js";import{randomUUID as E,createHash as $}from"node:crypto";import{mkdtemp as j,mkdir as q,writeFile as R,rm as L}from"node:fs/promises";import C from"node:os";import v from"node:path";var w=g.object({score:g.number().finite().min(0).max(1).nullable(),passed:g.boolean(),feedback:g.string().max(2e4),evidenceRefs:g.array(g.string().max(240)).max(1e3).default([])}).strict().refine(e=>e.score!==null||!e.passed,{message:"Unscorable verifiers cannot pass.",path:["passed"]});function N(e){if(e==="sandbox_process")throw new Error("verifier_sandbox_process_required")}i(N,"assertIsolatedVerifierRuntime");var ce=i(async e=>{let r=O(e.packageValue);if(e.grader.runtime!=="sandbox_process")throw new Error("Select the sandbox process runtime for a local file grader.");if(!r.taskset.graders.some(o=>k(o)===k(e.grader)))throw new Error("The private grader differs from its package.");if(!r.taskset.tasks.some(o=>k(o)===k(e.task)))throw new Error("The private case differs from its package.");await e.authorize(),e.signal?.throwIfAborted();let s=await j(v.join(C.tmpdir(),"profile-private-grade-")),d=E();try{let o=new Map;for(let a of r.files.filter(t=>t.asset.visibility!=="policy")){let t=a.asset.path;if(v.isAbsolute(t)||t.split(/[\\/]/).some(n=>!n||n==="."||n===".."))throw new Error("Private grader asset path invalid.");let u=o.get(t);if(u){if(u.contentHash!==a.asset.contentHash||u.sizeBytes!==a.asset.sizeBytes)throw new Error("Private grader assets declare conflicting bytes at the same path.");continue}o.set(t,{contentHash:a.asset.contentHash,sizeBytes:a.asset.sizeBytes});let x=v.join(s,"package",t);await q(v.dirname(x),{recursive:!0,mode:448}),await R(x,S(a),{mode:256})}await R(v.join(s,"request.json"),JSON.stringify({task:e.task,attempt:e.evidence,input:e.task.input,output:e.evidence.output,artifacts:"artifacts"in e.evidence?e.evidence.artifacts:[],expectedOutput:e.task.expectedOutput}),{mode:256});let c=`import fs from 'node:fs/promises'; const module=await import(${JSON.stringify("./package/"+e.grader.verifierRef.path)}); const result=await module[${JSON.stringify(e.grader.exportName??"verify")}](JSON.parse(await fs.readFile('request.json','utf8'))); console.log(JSON.stringify(result));`;await R(v.join(s,"runner.mjs"),c,{mode:256});let m=await z({authorize:i(async()=>(await e.authorize(),e.signal?.throwIfAborted(),{candidateId:d,candidateRevision:1,ownerId:d,sessionId:d,turnId:d,sourceRoot:s,writablePaths:[]}),"authorize")})({candidateId:d,sessionId:d,turnId:d,expectedRevision:1,command:"/runtime/node --max-old-space-size=512 runner.mjs",timeoutMs:e.grader.timeoutMs,maxOutputBytes:7e4,signal:e.signal});if(await e.authorize(),e.signal?.throwIfAborted(),m.code!==0||m.timedOut||m.stdoutTruncated||m.stderrTruncated)throw new Error("Private grading sandbox did not complete.");return w.parse(JSON.parse(m.stdout))}finally{await L(s,{recursive:!0,force:!0})}},"executeLocalProfileVerifier");function de(e){return async r=>{if(!r.manifest)throw new Error("The hosted grader requires its admitted manifest.");await r.authorize(),r.signal?.throwIfAborted();let s="artifacts"in r.evidence&&Array.isArray(r.evidence.artifacts)?r.evidence.artifacts.map(({reference:a,title:t,contentType:u})=>({reference:a,title:t,contentType:u})):[],d="caseOwner"in r.evidence?r.evidence.caseOwner:null;if(!d?.sessionId||!d.turnId)throw new Error("The private grader has no sealed case owner.");let o=Buffer.from(JSON.stringify({manifest:r.manifest,packageValue:r.packageValue,graderId:r.grader.id,taskId:r.task.id,evidence:{...r.evidence,artifacts:s}}));if(o.length>2e7)throw new Error("The private grading package exceeds its transport limit.");let c={callId:E(),sessionId:d.sessionId,turnId:d.turnId,sha256:$("sha256").update(o).digest("hex"),sizeBytes:o.length,timeoutMs:r.grader.timeoutMs},f=i((a,t=12e4)=>e.request(V.parse({contractVersion:B,requestId:E(),operation:"profile-evaluations/grade",params:a}),t),"request");for(let a=0;a<o.length;a+=98304)await r.authorize(),r.signal?.throwIfAborted(),await f({...c,action:"upload",offset:a,contentsBase64:o.subarray(a,a+98304).toString("base64")});let m=await f({...c,action:"execute"},r.grader.timeoutMs+12e4);return await r.authorize(),r.signal?.throwIfAborted(),w.parse(m)}}i(de,"createHostedProfileVerifier");import{Worker as W}from"node:worker_threads";async function b(e){e.signal?.throwIfAborted(),_(e);let{javascriptVerifierWorkerSource:r}=await import("./javascript-verifier-worker-source-F3LSGPOY.js");e.signal?.throwIfAborted();let s=e.signal,d={source:e.source,exportName:e.exportName,value:e.value,timeoutMs:e.timeoutMs,maxResultBytes:e.maxResultBytes,deterministic:e.deterministic===!0,errorPrefix:e.errorPrefix},o=i(c=>new Error(`${e.errorPrefix}_${c}`),"error");return new Promise((c,f)=>{let m=new W(r,{eval:!0,workerData:d,execArgv:[],env:{},resourceLimits:{maxOldGenerationSizeMb:64,maxYoungGenerationSizeMb:16,stackSizeMb:4}}),a=!1,t=i(n=>{a||(a=!0,clearTimeout(x),s?.removeEventListener("abort",u),m.terminate().then(()=>{"error"in n?f(n.error):c(n.result)},f))},"finish"),u=i(()=>t({error:s?.reason instanceof Error?s.reason:o("cancelled")}),"cancel"),x=setTimeout(()=>t({error:o("timeout")}),e.timeoutMs);s?.addEventListener("abort",u,{once:!0}),m.once("error",n=>t({error:n})),m.once("exit",()=>{a||t({error:o("worker_exited_without_result")})}),m.once("message",n=>{try{if(!n||typeof n!="object"||!("ok"in n))throw o("worker_invalid_response");if(n.ok!==!0)throw new Error("error"in n&&typeof n.error=="string"?n.error:`${e.errorPrefix}_execution_failed`);if(!("result"in n))throw o("worker_invalid_response");I(n.result,e.maxResultBytes),t({result:n.result})}catch(h){t({error:h instanceof Error?h:o("worker_invalid_response")})}}),s?.aborted&&u()})}i(b,"executeJavaScriptIsolateInWorker");import{spawn as F}from"node:child_process";async function ye(e){e.signal?.throwIfAborted(),_(e);let{javascriptIsolateProcessSource:r}=await import("./javascript-isolate-process-source-ZPQKKLR4.js");e.signal?.throwIfAborted();let{signal:s,stripTypeScript:d,...o}=e,c=i(m=>new Error(`${e.errorPrefix}_${m}`),"error"),f=`globalThis.__openpondIsolateInput = JSON.parse(${JSON.stringify(JSON.stringify(o))});
3
- ${d?`globalThis.__openpondIsolateInput.source = require("node:module").stripTypeScriptTypes(globalThis.__openpondIsolateInput.source, { mode: "strip" });
4
- `:""}${r}`;return new Promise((m,a)=>{let t=F("node",["--max-old-space-size=64","--input-type=commonjs","-"],{stdio:["pipe","pipe","pipe"],env:{PATH:process.env.PATH},windowsHide:!0}),u,x="",n=0,h=0,y=i(p=>{u??=p,t.kill("SIGKILL")},"stop"),T=i(()=>y(s?.reason instanceof Error?s.reason:c("cancelled")),"cancel"),H=setTimeout(()=>y(e.errorPrefix==="candidate"?new P("candidate_timeout"):c("timeout")),e.timeoutMs);s?.addEventListener("abort",T,{once:!0}),t.stdout.setEncoding("utf8"),t.stdout.on("data",p=>{n+=Buffer.byteLength(p),n>e.maxResultBytes+65536?y(c("process_response_too_large")):x+=p}),t.stderr.on("data",p=>{h+=p.byteLength,h>65536&&y(c("process_stderr_too_large"))}),t.once("error",p=>{u??=p}),t.stdin.on("error",p=>y(p)),t.once("close",p=>{if(clearTimeout(H),s?.removeEventListener("abort",T),u){a(u);return}try{if(p!==0)throw c("process_exited_without_result");let l=JSON.parse(x);if(!l||typeof l!="object"||!("ok"in l))throw c("process_invalid_response");if(l.ok!==!0){let J="error"in l&&typeof l.error=="string"?l.error:`${e.errorPrefix}_execution_failed`;throw"executionError"in l&&l.executionError===!0?new P(J):new Error(J)}if(!("result"in l))throw c("process_invalid_response");I(l.result,e.maxResultBytes),m(l.result)}catch(l){a(l instanceof Error?l:c("process_invalid_response"))}}),t.stdin.end(f),s?.aborted&&T()})}i(ye,"executeJavaScriptIsolateInProcess");async function be(e){return N(e.runtime),w.parse(await b({...e,exportName:e.exportName??"verify",maxResultBytes:65536,errorPrefix:"verifier"}))}i(be,"executeJavaScriptVerifierInWorker");function Oe(e){return A(e,M)}i(Oe,"aggregateTasksetEvaluationInWorker");var M=i(async({source:e,module:r,exportName:s,scores:d,timeoutMs:o,signal:c})=>{let f=/\.[cm]?ts$/.test(r)?(await import("node:module")).stripTypeScriptTypes(e,{mode:"strip"}):e;return b({source:f,exportName:s,value:d,timeoutMs:o,signal:c,maxResultBytes:1024,deterministic:!0,errorPrefix:"metric"})},"executeMetric");var Be=M;import G from"node:path";function $e(e,r){let s=g.array(g.string().min(1).max(240)).max(16).parse(r.metadata.artifactAssetIds??[]);if(new Set(s).size!==s.length)throw new Error("An artifact fixture contains duplicate assets.");let d=0;return s.map(o=>{let c=e.files.filter(a=>a.asset.id===o),f=c[0];if(c.length!==1||!f||f.asset.visibility!=="host_private")throw new Error("Artifact fixtures require a unique private package asset.");let m=S(f);if((d+=m.length)>2e7)throw new Error("Artifact fixtures exceed their aggregate byte limit.");return{reference:{id:`fixture/${r.id}/${f.asset.path}`,contentHash:f.asset.contentHash,mediaType:f.asset.mediaType,sizeBytes:f.asset.sizeBytes},title:G.posix.basename(f.asset.path),contentType:f.asset.mediaType,base64:Buffer.from(m).toString("base64")}})}i($e,"localGraderFixtureArtifacts");export{ce as a,de as b,b as c,ye as d,be as e,$e as f,Oe as g,Be as h};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{t as h}from"./chunk-TUCKED4T.js";import{m as f}from"./chunk-VVNV4NNW.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as m}from"./chunk-FTQLQJQV.js";var g=e.object({schemaVersion:e.literal("openpond.profileWorkCompletion.v1"),sessionId:e.string().min(1),turnId:e.string().min(1),responsePath:e.string().min(1),responseSha256:e.string().regex(/^[a-f0-9]{64}$/),responseBytes:e.number().int().min(1).max(1048576),responseChunks:e.array(e.string().max(65536)).min(1).max(32),outputs:e.array(e.object({id:e.string(),revision:e.number().int(),sha256:e.string(),sizeBytes:e.number().int(),contentType:e.string(),sourceTaskId:e.string(),sourceTurnId:e.string(),title:e.string()}).strict()).min(1).max(100)}).strict();function W(s){let u=new TextDecoder("utf-8",{fatal:!0}).decode(s.response),i=[];for(let r=0;r<u.length;r+=65536)i.push(u.slice(r,r+65536));return g.parse({schemaVersion:"openpond.profileWorkCompletion.v1",sessionId:s.sessionId,turnId:s.turnId,responsePath:s.responsePath,responseSha256:f(s.response),responseBytes:s.response.length,responseChunks:i,outputs:s.outputs.map(({id:r,revision:t,sha256:a,sizeBytes:p,contentType:c,sourceTaskId:o,sourceTurnId:d,title:n})=>({id:r,revision:t,sha256:a,sizeBytes:p,contentType:c,sourceTaskId:o,sourceTurnId:d,title:n}))})}m(W,"createProfileWorkCompletion");function _(s){let u=s.filter(o=>o.name==="tool.completed"&&o.action==="work_finish"&&o.status==="completed");if(!u.length)return null;if(u.length!==1)throw new Error("The case has multiple Work completion receipts.");let i=u[0],r=i.data,t=g.parse(r?.result);if(t.sessionId!==i.sessionId||t.turnId!==i.turnId)throw new Error("Work completion belongs to another case or turn.");let a=t.responseChunks.join(""),p=Buffer.from(a,"utf8");if(p.length!==t.responseBytes||f(p)!==t.responseSha256)throw new Error("Work completion response differs from its sealed content.");if(new Set(t.outputs.map(o=>`${o.id}/${o.revision}`)).size!==t.outputs.length)throw new Error("Work completion repeats a saved output.");let c=s.slice(0,s.indexOf(i));for(let o of t.outputs){if(o.sourceTaskId!==t.sessionId||o.sourceTurnId!==t.turnId)throw new Error("Work completion output belongs to another case or turn.");if(c.filter(n=>n.name==="workspace_action_result"&&n.action==="work_output_save"&&n.status==="completed"&&n.sessionId===t.sessionId&&n.turnId===t.turnId).flatMap(n=>{let l=h.safeParse(n.data?.outputRef);return l.success&&Object.entries(o).every(([k,I])=>l.data[k]===I)?[l.data]:[]}).length!==1)throw new Error("Work completion lacks an exact prior saved-output receipt.")}return a}m(_,"completedProfileWorkResponse");export{W as a,_ as b};
@@ -1 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{m as r}from"./chunk-UT6F6AIB.js";import{N as s,O as a,P as d}from"./chunk-TUCKED4T.js";import{a as n}from"./chunk-FTQLQJQV.js";async function u(){return{...s.parse(await r({path:"/saved-work"})),webBaseUrl:i()}}n(u,"listHostedSavedWork");async function m(e){let t=a.parse(e);return r({path:"/saved-work",method:"POST",body:t})}n(m,"createHostedSavedWork");async function h(e,t){let o=d.parse(t);return r({path:`/saved-work/schedules/${encodeURIComponent(e)}`,method:"PATCH",body:o})}n(h,"updateHostedSavedWork");async function k(e){return r({path:`/saved-work/schedules/${encodeURIComponent(e)}`,method:"DELETE"})}n(k,"deleteHostedSavedWork");async function P(e,t){return r({path:`/saved-work/schedules/${encodeURIComponent(e)}/run`,method:"POST",body:{clientRequestId:t}})}n(P,"runHostedSavedWork");function i(e=process.env){let t=e.OPENPOND_HOSTED_WEB_URL?.trim()||e.OPENPOND_SANDBOX_BASE_URL?.trim()||e.OPENPOND_API_URL?.trim()||e.OPENPOND_SANDBOX_API_URL?.trim()||"https://api.openpond.ai",o=new URL(t);return o.hostname==="api.openpond.ai"||o.hostname.endsWith(".api.openpond.ai")?"https://openpond.ai":(o.pathname="",o.search="",o.hash="",o.origin)}n(i,"hostedWebBaseUrl");export{u as a,m as b,h as c,k as d,P as e,i as f};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{Ab as me,Ib as ue,Nb as fe,Ob as he,Y as ee,ha as te,hb as ae,ib as se,kb as ie,lb as ne,mb as re,ta as K,tb as F,ub as J,v as X,vb as oe,wb as ce,xb as de,yb as le,za as U,zb as pe}from"./chunk-PGO4FRHU.js";import{b as A,c as E,d as $,f as j,k as L,l as z,m as d}from"./chunk-VNJAAYNQ.js";import{N as O,aa as Z,ba as Y,d as B,e as Q}from"./chunk-4M3YW3EQ.js";import{Ya as N}from"./chunk-PBZCXPPC.js";import{A as n}from"./chunk-PF56N7ZY.js";import{a as S}from"./chunk-FTQLQJQV.js";var xe=n.object({id:A,purpose:n.string().trim().min(1).max(500),audience:n.enum(["orchestrator","environment","privileged_scorer","trainer","infrastructure"]),required:n.boolean(),ttlSeconds:n.number().int().positive().max(86400),scopes:n.array(n.string().trim().min(1).max(500)).max(100).default([])}).strict(),Te=n.object({declarationId:A,leaseRef:n.string().trim().min(8).max(1e3),audience:xe.shape.audience,expiresAt:$}).strict(),He=n.object({adapterId:A,placement:n.enum(["local","remote","colocated","provider_native"]),capabilityReceipt:E,runtimeVersion:n.string().trim().min(1).max(200),dataPlane:n.object({provider:A,dataPlaneId:A,cellId:A,runnerPoolId:A,runtimeImageDigest:n.string().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:E}).strict().nullable()}).strict(),Ee=n.object({adapterId:A,kind:n.enum(["local","ssh","managed","custom"]),deviceOrPool:n.string().trim().min(1).max(1e3),capabilityReceipt:E,provider:A.nullable()}).strict(),Ae=n.object({adapterId:A,workerVersion:n.string().trim().min(1).max(200),workerImageDigest:n.string().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:n.string().trim().min(1).max(500),capabilityReceipt:E}).strict(),be=n.object({schemaVersion:n.literal("openpond.harnessRunManifest.v1"),executionMode:n.literal("qualification").optional(),qualificationSamples:n.number().int().min(1).max(32).optional(),id:A,harnessRelease:j,datasetRelease:j,evidenceSets:n.array(j).max(1e4),model:n.object({source:n.string().trim().min(1).max(200),revision:n.string().trim().min(1).max(500),artifactHash:E.nullable(),tokenizerRevision:n.string().trim().min(1).max(500),chatTemplateHash:E}).strict(),recipe:n.object({method:n.string().trim().min(1).max(100),version:n.string().trim().min(1).max(200),configHash:E}).strict(),runtimeTarget:He,computeTarget:Ee,engine:Ae,resolvedBundleHash:E,secretLeaseRefs:n.array(Te).max(1e3),approval:n.object({approvalHash:E,approvedAt:$,maximumSpendUsd:n.number().nonnegative().nullable()}).strict(),createdAt:$}).strict(),we=be.extend({contentHash:E}).strict(),ke=n.object({schemaVersion:n.literal("openpond.resolvedTrainingBundle.v1"),executionMode:n.literal("qualification").optional(),qualificationSamples:n.number().int().min(1).max(32).optional(),projection:n.literal("trainer"),harnessRelease:j,datasetRelease:j,evidenceSetRelease:j.nullable(),files:n.array(n.object({path:n.string().trim().min(1).max(2e3),sha256:E,sizeBytes:n.number().int().nonnegative()}).strict()).max(1e5)}).strict(),Se=ke.extend({contentHash:E}).strict(),Ie=[{label:"OpenAI-style API key",pattern:/\bsk-[A-Za-z0-9_-]{16,}\b/g},{label:"OpenPond API key",pattern:/\bopk_[A-Za-z0-9_-]{12,}\b/g},{label:"private key",pattern:/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/g},{label:"credential assignment",pattern:/\b(?:api[_-]?key|password|secret|token)["']?\s*[:=]\s*["']?[^\s"']{8,}/gi}],V=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,D=/\b(?:\+?1[-.\s]?)?\(?\d{3}\)?[-.\s]\d{3}[-.\s]\d{4}\b/g;function Me(e){let t=[],a=e;for(let s of Ie)s.pattern.lastIndex=0,s.pattern.test(a)&&t.push(s.label),s.pattern.lastIndex=0,a=a.replace(s.pattern,`[REDACTED ${s.label}]`);V.lastIndex=0;let r=V.test(a);V.lastIndex=0,r&&t.push("email address"),a=a.replace(V,"[REDACTED email]"),D.lastIndex=0;let o=D.test(a);return D.lastIndex=0,o&&t.push("phone number"),a=a.replace(D,"[REDACTED phone]"),{secretStatus:t.some(s=>!s.includes("email")&&!s.includes("phone"))?"blocked":"passed",piiStatus:r||o?"review":"passed",findings:t,redacted:a}}S(Me,"scanAndRedactEvidence");function qe(e){let t=new Map;return{tasks:e.tasks.map(({artifactRefs:r,...o})=>({...o,assets:r.map(s=>{if(s.visibility!=="policy")throw new Error("Learning task inputs must be policy-visible assets.");let i=e.assets?.find(m=>m.id===s.id),l=e.assetBytes?.get(s.id)??(i?new TextEncoder().encode(B(i,s)):void 0);if(!l||l.byteLength!==s.sizeBytes||z(l)!==s.contentHash)throw new Error(`Learning task input bytes are missing or changed: ${s.id}.`);let p=`learning/assets/${d({task:o.id,asset:s.id}).slice(0,40)}/${s.path}`;return t.set(p,new Uint8Array(l)),{id:s.id,sourceRefId:e.sourceId,artifactRef:p,fileName:s.path.split("/").at(-1),stagingPath:s.path,mediaType:s.mediaType,sha256:s.contentHash,sizeBytes:s.sizeBytes,split:o.split,metadata:{portableAsset:s}}}),...o.requiredOutputs?{requiredOutputs:o.requiredOutputs.map(s=>({...s,schemaRef:s.schemaRef?.id??null,maxBytes:s.maxBytes??void 0}))}:{}})),tasksetAssetBytes:t}}S(qe,"materializeLearningBatchAssets");function je(e){let t=Z(e),a=Y(t),r=t.environment.kind==="work";if(!r&&(t.environment.kind!=="text"||t.tools.length||t.tasks.some(c=>c.artifactRefs.length))||r&&t.tasks.some(c=>!c.requiredOutputs?.length))throw new Error("This learning batch requires a supported text or Work environment with declared outputs.");let o=e.source.id,s=qe({tasks:t.tasks,sourceId:o,assets:e.assets,assetBytes:e.assetBytes}),i={demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},l=[];for(let c of a.admissions){let v=e.evidence.find(h=>h.id===c.evidence.id),f=e.decisions.find(h=>h.id===c.decision.id);e.batch.purpose==="reward_training"&&f.grade?.training.status==="scored"&&i.rewards.push({id:`reward-${c.taskId}`,taskId:c.taskId,kind:"reward",task:e.definition.instructions,rules:[{id:e.binding.id,points:1,condition:"Execute the released Reward binding with its declared normalization, weights and gates."}],otherwisePoints:0,executable:!0,approved:!0,confidence:1,sourceRefs:[o],artifactRef:e.binding.id,metadata:{rewardBinding:O(e.binding),evidence:c.evidence,decision:c.decision}}),c.supervisedTarget!==null&&i.demonstrations.push({kind:"demonstration",id:`demo-${c.taskId}`,taskId:c.taskId,sourceRefs:[o],artifactRef:c.decision.id,approved:!0,confidence:1,prompt:null,response:JSON.stringify(c.supervisedTarget),metadata:{evidence:c.evidence,decision:c.decision,targetGradeHash:f.targetGrade?.contentHash}});for(let[h,T,y]of[["observed",v.submission.observedOutput,f.grade],["target",f.approvedTarget,f.targetGrade]]){let k=_e(y);T===null||k===null||l.push({id:`fixture-${h}-${c.taskId}`,taskId:c.taskId,label:k.passed?"positive":"negative",output:T,infrastructureError:null,expectedPassed:k.passed,expectedRewardEligible:k.rewardEligible,metadata:{gradeReceiptHash:y.contentHash,evidence:c.evidence,decision:c.decision}})}}if(!l.length&&e.batch.purpose!=="reward_training")throw new Error("Grade at least one reviewed response before preparing this batch. Grader fixtures must come from actual receipts.");let p=he(e.binding,e.rewards,e.assets),m=[];for(let c of t.graders){if(c.kind!=="custom_verifier")continue;let v=e.assets?.find(h=>h.id===c.verifierRef.id);if(!v)throw new Error(`Reward ${c.id} is missing its immutable verifier source.`);let f=c.verifierRef.path;m.some(h=>h.path===f)||m.push({path:f,role:"verifier",content:B(v,c.verifierRef)})}let w=K.parse({schemaVersion:"openpond.taskset.v1",id:`learning-${d([e.profileId,e.batch.contentHash]).slice(0,40)}`,revision:1,profileId:e.profileId,profileRelease:null,createImproveRunId:null,name:`${e.definition.name} \xB7 ${e.batch.examples.length} approved examples`,objective:e.definition.instructions,purpose:"general",benchmark:null,status:"needs_review",sourceRefs:[e.source],datasetArtifact:null,policy:t.policy,environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:r?"work":"chat",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(c=>c.name),lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{portableEnvironment:t.environment,portableTools:t.tools}},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:r?"single_agent":"chat",supportedSignals:i.demonstrations.length?["demonstration","reward"]:["reward"],compatibleMethods:e.batch.purpose==="supervised_training"?["sft"]:e.batch.purpose==="reward_training"?["grpo","ppo"]:["none"],rewardKinds:[...new Set(t.graders.map(c=>c.kind==="human"?"human":c.kind==="model_judge"?"model_judge":"deterministic"))],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote"],exportable:!0,portabilityBlockers:[]},tasks:s.tasks.map(c=>({...c,schemaVersion:"openpond.taskData.v1",sourceRefs:[o],metadata:{admission:a.admissions.find(v=>v.taskId===c.id),exampleOrigin:e.evidence.find(v=>v.id===c.id)?.correctionFeedbackId?"corrected":"extracted"}})),graders:p,graderFixtures:l,learningSignals:i,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:d("openpond-learning-batch-v1"),promptTemplateVersion:"learning-batch-v1",buildIntent:e.batch.purpose==="supervised_training"?"demonstrations":"verifiable_reward",buildSpecification:null,evidenceHashes:e.batch.examples.map(c=>c.evidence.contentHash),tasksetSdkVersion:"learning-batch-v1",sourceCommit:null,repairHistory:[],createdAt:e.batch.sealedAt},readiness:null,contentHash:"00000000",createdAt:e.batch.sealedAt,updatedAt:e.batch.sealedAt,metadata:{learning:a,learningRelease:O(t),trainingMethod:e.batch.purpose==="supervised_training"?"sft":e.batch.purpose==="reward_training"?"grpo":"none",tasksetOutputContract:r?{mode:"artifacts",requiredOutputSource:"task.requiredOutputs"}:{mode:"structured_json",jsonSchema:e.definition.outputSchema,renderer:null}}});return{taskset:K.parse({...w,contentHash:U(w)}),release:t,generatedFiles:m,tasksetAssetBytes:s.tasksetAssetBytes}}S(je,"materializeLearningBatchTaskset");function _e(e){if(!e)return null;let t=e.training.status==="not_configured"?e.evaluation:e.training;return t.status!=="scored"?null:{passed:t.passed===!0,rewardEligible:e.training.status==="scored"}}S(_e,"fixtureOutcome");function tt(e){let t=[],a=0;for(let s of new Map(e.evidence.flatMap(i=>i.submission.assets.map(l=>[l.id,l]))).values()){let i=e.assetBytes?.get(s.id),l=e.assets?.find(m=>m.id===s.id),p=i?.byteLength??(l?new TextEncoder().encode(l.text).byteLength:0);if(a+=p,a>ee)throw new Error("Learning input assets exceed the training package limit.");i?t.push(new TextDecoder().decode(i)):l&&t.push(l.text)}let r=Me(JSON.stringify({tasks:e.evidence.map(s=>s.submission),targets:e.decisions.map(s=>s.approvedTarget),definition:e.definition,inputAssets:t}));if(r.secretStatus!=="passed"||r.piiStatus!=="passed")throw new Error(`Learning batch contains unresolved data findings (${r.findings.join(", ")}). Correct the source examples and seal a revised batch before training.`);let o=X.parse({schemaVersion:"openpond.learningBatchDatasetSource.v1",kind:"learning_batch",id:`batch-source-${e.batch.contentHash.slice(0,40)}`,profileId:e.profileId,title:e.definition.name,sourceHash:e.batch.contentHash,occurredAt:e.batch.sealedAt,batch:O(e.batch),taskDefinition:e.batch.taskDefinition,admittedBy:e.batch.sealedBy,licensingStatus:"approved",secretScanStatus:r.secretStatus,piiScanStatus:r.piiStatus,metadata:{admission:e.admissionContext??"explicit_local_batch_review",privacyScanner:"openpond-evidence-v1",findings:r.findings}});return je({...e,source:o})}S(tt,"prepareReviewedLearningBatch");async function st(e){let t=structuredClone(e),{project:a,recipe:r,taskset:o,approval:s}=t,i=we.parse(t.manifest),l=Se.parse(t.bundleManifest),p=t.executionMode==="qualification",m=i.qualificationSamples===void 0?null:n.object({rollout:n.object({groupSize:n.number().int().min(2).max(32)}).passthrough()}).passthrough().parse(r).rollout.groupSize;if(i.qualificationSamples!==l.qualificationSamples||i.qualificationSamples!==void 0&&(!p||i.qualificationSamples>m))throw new Error("Qualification samples must be within the pinned rollout group and cannot be used for training.");if(i.executionMode!==t.executionMode||l.executionMode!==t.executionMode)throw new Error("Managed submission execution mode differs from its immutable bundle.");if(p&&(t.evaluationSource||t.resumeFrom||t.rewardSource.kind!=="deterministic"))throw new Error("Qualification requires the original learner, deterministic rewards, and no evaluation source.");let{contentHash:w,...c}=i,{contentHash:v,...f}=l;if(d(c)!==w||d(f)!==v||i.resolvedBundleHash!==v||d(i.harnessRelease)!==d(l.harnessRelease)||d(i.datasetRelease)!==d(l.datasetRelease)||d(i.evidenceSets)!==d(l.evidenceSetRelease?[l.evidenceSetRelease]:[]))throw new Error("The managed training manifest or resolved bundle changed.");if(!a.hosted||a.hosted.syncedSourceRevision!==a.revision||a.hosted.portableProjectId!==a.id)throw new Error("Sync the exact Model Project revision before preparing managed training.");let h=a.trainingSetup.baseModel;if(!h||h.modelId!==i.model.source||h.revision!==i.model.revision||h.tokenizerRevision!==i.model.tokenizerRevision||h.chatTemplateHash!==i.model.chatTemplateHash)throw new Error("The synced Model Project base Model does not match the Run manifest.");if(r.method!=="grpo"||d(r)!==i.recipe.configHash||s.approvalHash!==i.approval.approvalHash||s.maximumSpendUsd!==i.approval.maximumSpendUsd)throw new Error("Managed training requires the exact approved GRPO recipe and spend ceiling.");let T=n.object({wallTimeMs:n.number().positive()}).parse(r.resourceLimits);t.idempotencyKey!==void 0&&n.string().trim().min(16).max(191).parse(t.idempotencyKey);let y=Pe(l,t.files),k=p?null:J.parse(t.evaluationSource),R=y.find(g=>g.path===F);if(k&&(!R||d(JSON.parse(Buffer.from(R.content,"base64").toString("utf8")))!==d(k)))throw new Error("The evaluation source differs from the immutable training bundle.");if(p&&(R||y.some(g=>g.path==="dataset/train.json")||!y.some(g=>g.path==="dataset/qualification.json")||!y.some(g=>g.path==="qualification-source.json")))throw new Error("Qualification requires its dedicated dataset and no training/evaluation datasets.");if(!p&&y.some(g=>g.path==="dataset/qualification.json"||g.path==="qualification-source.json"))throw new Error("Qualification datasets cannot be prepared as training.");let M=k?await ce(k):null,P={schemaVersion:"openpond.managedRlPortableSubmission.v1",...p?{executionMode:"qualification"}:{},...t.origin?{origin:Q.parse(t.origin)}:{},sourceRunRef:`openpond:model-run:${i.id}`,name:`OpenPond Managed \xB7 ${a.id}`.slice(0,191),idempotencyKey:t.idempotencyKey??`openpond-managed:${w}`.slice(0,191),modelProject:{id:a.hosted.projectId,portableProjectId:a.hosted.portableProjectId},manifest:i,sourceTaskset:o,modelImprovementQualification:t.modelImprovementQualification??null,recipe:r,resolvedBundle:{manifest:l,files:y},validationTasks:k?.tasks??[],validationAssets:k?.assets??[]},q={schemaVersion:"openpond.trainingInputArtifactUpload.v2",kind:"portable_training_bundle",idempotencyKey:`stage:${t.idempotencyKey??w}`,sourceManifest:{id:i.id,contentHash:w},payload:P},H=await le({...q,contentHash:await de(q)}),C={schemaVersion:"openpond.trainingJobSubmission.v2",idempotencyKey:t.idempotencyKey??`openpond-training-v2:${w}`,name:`OpenPond Managed \xB7 ${a.id}`.slice(0,200),source:{...t.origin?{origin:Q.parse(t.origin)}:{},modelProject:{id:a.hosted.projectId,portableProjectId:a.hosted.portableProjectId,revision:a.revision,contentHash:a.hosted.etag},harnessRunManifest:q.sourceManifest,harnessRelease:i.harnessRelease,taskset:o,tasksetRelease:{id:o.id,contentHash:o.contentHash},dataset:l.datasetRelease,...M?{evaluation:M}:{},evidenceSets:l.evidenceSetRelease?[l.evidenceSetRelease]:[]},job:{kind:"policy_optimize",...p?{executionMode:"qualification"}:{},baseModel:h,recipe:r,rewardSource:t.rewardSource,resumeFrom:t.resumeFrom},requestedCapabilities:[{id:p?"managed_rl.policy.qualification":"managed_rl.policy.grpo",version:"1",required:!0},{id:`managed_rl.rollouts.${i.runtimeTarget.placement}`,version:"1",required:!0},...a.trainingSetup.managedGpuRequirement==="h100_hbm3"?[{id:"managed_rl.gpu.h100_hbm3",version:"1",required:!0}]:[]],placementObjective:a.trainingSetup.managedGpuPlacementObjective,budget:{maximumSpendUsd:s.maximumSpendUsd,maximumWallSeconds:Math.ceil(T.wallTimeMs/1e3)},approval:{...s,approvedAt:i.approval.approvedAt,exportApproved:!0}},u=await me({...C,contentHash:await pe(C)});return{artifact:H,submission:u}}S(st,"prepareManagedTrainingSubmission");function Pe(e,t){if(t.length!==e.files.length||new Set(t.map(r=>r.path)).size!==t.length)throw new Error("The managed bundle file inventory changed.");let a=new Map(t.map(r=>[r.path,r]));return e.files.map(r=>{let o=a.get(r.path);if(!o||o.path.includes("\\")||o.path.includes("\0")||o.path.split("/").some(i=>!i||i==="."||i==="..")||o.path==="bundle-manifest.json"||o.encoding!=="base64")throw new Error("The managed bundle contains an invalid file.");let s=Buffer.from(o.content,"base64");if(s.toString("base64")!==o.content||o.sha256!==r.sha256||o.sizeBytes!==r.sizeBytes||s.byteLength!==r.sizeBytes||z(s)!==r.sha256)throw new Error(`Managed training bundle file ${o.path} changed before upload.`);return o})}S(Pe,"verifyFiles");var Be=n.object({name:n.literal("adamw").default("adamw"),weightDecay:n.number().nonnegative().max(1).default(0),beta1:n.number().positive().lt(1).default(.9),beta2:n.number().positive().lt(1).default(.999),epsilon:n.number().positive().max(.01).default(1e-8)}).strict().default({name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8});function nt(e,t){if(!t||typeof t!="object"||Array.isArray(t))return t;let a=t;if(a.method==="dpo"){let R=x(a.policyModel),M=x(a.referenceModel),P=x(a.dataset),q=d({tasksetHash:e.contentHash,preferenceSignals:e.learningSignals.preferences.map(H=>({id:H.id,artifactRef:H.artifactRef,prompt:H.prompt,chosen:H.chosen,rejected:H.rejected,approved:H.approved})),policyModel:R,referenceModel:M,dataset:P});return{...a,referenceLogprobs:{cacheSchemaVersion:"openpond.dpoReferenceLogprobs.v1",cacheKey:d(["dpo-reference-logprobs",q]),invalidationHash:q}}}if(a.method==="ppo"){let R=x(a.policyOptimization),M=x(R.policyModel),P=x(R.referenceModel),q=x(R.optimizer),H=x(q.valueModel),C=x(R.dataset),u=x(R.reward),g=d(M),G=d(P),b=d(H);return{...a,policyOptimization:{...R,dataset:{...C,tasksetId:e.id,tasksetHash:e.contentHash},reward:{...u,graderHash:d(e.graders)}},resume:{...x(a.resume),policyHash:g,referenceHash:G,valueModelHash:b}}}if(a.method!=="grpo")return t;let r=a.reward&&typeof a.reward=="object"&&!Array.isArray(a.reward)?a.reward:{},o=e.environment.metadata.toolContractHash,s=typeof o=="string"&&o.trim()?o:r.toolContractHash,i=x(a.baseModel),l=x(a.dataset),p=x(a.rollout),m=x(a.optimizer),w=x(a.loss),c=x(a.resourceLimits),v=I(l.maxExamples,1),f=I(p.groupSize,2),h=I(p.maxOutputTokens,1),T=I(l.maxPromptTokens,1),y=I(m.maxSteps,1),k=I(m.iterations,2);return{...a,resourceLimits:{...c,maxGpuSeconds:c.maxGpuSeconds??Math.min(10800,Math.ceil(I(c.wallTimeMs,18e4)/1e3))},reward:{...r,graderHash:d(e.graders),toolContractHash:s},policyOptimization:{schemaVersion:"openpond.policyOptimization.v1",policyModel:i,referenceModel:i,dataset:{tasksetId:e.id,tasksetHash:e.contentHash,split:"train",selectionStrategy:l.selectionStrategy,selectionSeed:p.seed,maxExamples:v},sampler:{temperature:p.temperature,topP:p.topP,maxOutputTokens:h,maxTurns:p.maxTurns,concurrency:p.concurrency},environment:{id:r.environmentId,version:r.environmentVersion,toolContractHash:s},reward:{graderId:r.graderId,graderHash:d(e.graders),learnedPreference:r.learnedPreference??null},kl:{coefficient:w.klBeta??null,referenceConstraint:"fixed_reference"},budgets:{maxRollouts:I(c.maxRollouts,v*f),maxEnvironmentExecutions:I(c.maxRollouts,v*f),maxInputTokens:v*f*T,maxOutputTokens:v*f*h,maxOptimizerSteps:y*k,wallTimeMs:I(c.wallTimeMs,18e4),maximumCostUsd:null},checkpointEverySteps:1,seed:p.seed,evaluationSplit:"frozen_eval",optimizer:{method:"grpo",groupSize:f,normalization:"group_standardized",advantageEpsilon:typeof m.advantageEpsilon=="number"?m.advantageEpsilon:1e-8,loss:w.method??"grpo",clipRange:typeof m.clipRange=="number"?m.clipRange:.2,iterations:k,microbatchSize:I(m.microbatchSize,1),gradientAccumulationSteps:I(m.gradientAccumulationSteps,1),adamw:Be.parse(m.adamw)}}}}S(nt,"withAuthoritativeRecipeHashes");function x(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}S(x,"record");function I(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:t}S(I,"positiveInteger");function rt(e){let t=e.sourceRelease,a=[],r=e.skills??[],o=e.agents??[];if([...r,...o].some(m=>m.visibility!=="policy"))throw new Error("The portable policy Harness requires policy-visible dependencies.");let s=ge({id:"desktop-dependency-lock",path:".openpond/harness/dependency-lock.json",hashInput:{profileHead:e.profileHead??null,sourceRelease:t,tools:a,skills:r.map(({id:m,contentHash:w})=>({id:m,contentHash:w})),agents:o.map(({id:m,contentHash:w})=>({id:m,contentHash:w}))},mediaType:"application/json",visibility:"policy"}),i=ae({schemaVersion:"openpond.agentSnapshot.v2",id:`agent-snapshot-${d([t,a,s.contentHash]).slice(0,24)}`,sourceRelease:t,instructions:[],skills:r,agents:o,toolDeclarations:a,capabilityRequirements:[],dependencyLock:s,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[]},metadata:{sourceReleaseId:t?.id??null}}),l=ge({id:"desktop-harness-program",path:".openpond/harness/program.json",hashInput:{program:"openpond.desktop-agent-loop.v1"},mediaType:"application/json",visibility:"policy"}),p=se({schemaVersion:"openpond.harnessRelease.v2",id:`harness-${d([i.contentHash,l.contentHash,a]).slice(0,24)}`,agentSnapshot:{id:i.id,contentHash:i.contentHash},program:l,tools:a,lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output","runtime_events","artifacts"],privilegedEvidence:["expected_output","private_verifier"],privateVerifierIsolation:!0},files:[...r,...o],metadata:{runtimeProtocol:"openpond.desktop-agent-loop.v1"}});return{agentSnapshot:i,harnessRelease:p}}S(rt,"createPolicyHarnessContext");function ge(e){let t=L(e.hashInput);return{id:e.id,path:e.path,contentHash:d(e.hashInput),sizeBytes:new TextEncoder().encode(t).byteLength,mediaType:e.mediaType,visibility:e.visibility}}S(ge,"asset");function ot(e){let{taskset:t,modelProject:a,harnessRelease:r,tasksetRelease:o}=e,s=a.trainingSetup,i=e.executionMode==="qualification",l=e.qualificationSamples===void 0?null:n.object({rollout:n.object({groupSize:n.number().int().min(2).max(32)}).passthrough()}).passthrough().parse(e.modelProject.trainingSetup.recipe).rollout.groupSize;if(e.qualificationSamples!==void 0&&(!i||!Number.isInteger(e.qualificationSamples)||e.qualificationSamples<1||e.qualificationSamples>l))throw new Error("Qualification samples must be within the pinned rollout group and cannot be used for training.");if(i&&e.evaluationSource)throw new Error("Qualification does not consume an independent evaluation source.");let p=i?te(e.qualificationSource):null;if(!i&&e.qualificationSource)throw new Error("Qualification sources cannot be used for training.");if(!i&&e.qualificationTaskId!==void 0)throw new Error("Qualification selection cannot be used for training.");if(i&&(!e.qualificationTaskId||!t.tasks.some(u=>u.id===e.qualificationTaskId)))throw new Error("Qualification requires one explicit task ID from its published source.");if(p&&(p.modelResources||p.learningResources||d(t.tasks.map(fe))!==d(p.taskset.tasks)||ve(e.tasksetRelease)!==ve(p.taskset)))throw new Error("Qualification must preserve its ordinary source release and complete task population.");let m=j.parse(r),w=j.parse(o);if(e.openpondRelease,e.workerProtocol,U(t)!==t.contentHash)throw new Error("Taskset authoring state changed after its release was selected.");if(!s.baseModel?.revision||!s.baseModel.tokenizerRevision||!s.baseModel.chatTemplateHash||!s.recipe||!s.tasksetRef||s.tasksetRef.id!==(i?o.id:t.id)||s.tasksetRef.contentHash!==(i?o.contentHash:t.contentHash))throw new Error("Model Run must bind an exact Taskset, Model revision, tokenizer, chat template, and Recipe.");let v=t.profileRelease??{id:`profile_${t.profileId}`,revision:t.revision,contentHash:d({profileId:t.profileId,sourceCommit:t.authoringProvenance.sourceCommit,skillHash:t.authoringProvenance.skillHash})},f=new Map;if(p&&_(f,"qualification-source.json",p),e.evaluationSource){let u=J.parse(e.evaluationSource);if(d(u.taskset)!==d(s.evaluationTasksetRef))throw new Error("The evaluation source differs from the prepared Model configuration.");oe(t.tasks.filter(g=>g.split==="train"),u.tasks),f.set(F,new TextEncoder().encode(L(u)))}else if(!i&&s.evaluationTasksetRef)throw new Error("The prepared Model requires its pinned evaluation source bytes.");let h=e.harnessSource?e.harnessSource.schemaVersion==="openpond.harnessPolicySourcePackage.v1"?ne(e.harnessSource,m):re(e.harnessSource,m):null;if(s.harnessRelease&&!h)throw new Error("A selected Harness requires its complete immutable source package.");if(h&&(!s.harnessRelease||s.harnessRelease.id!==m.id||s.harnessRelease.contentHash!==m.contentHash))throw new Error("Harness source differs from the Model's explicit selection.");if(h){if((e.runtime.placement!=="local"||e.compute.kind!=="local")&&(!h.agentSnapshot.portability.portable||h.schemaVersion==="openpond.harnessSourcePackage.v1"&&h.harnessRelease.files.some(g=>g.visibility!=="policy")))throw new Error("The selected Harness contains source that cannot leave its local host.");_(f,"harness/source-package.json",h)}_(f,"harness/execution.json",ie.parse({schemaVersion:"openpond.harnessSourceSelection.v1",mode:h?"selected_release":"taskset_owned",harnessRelease:m,sourcePackageHash:h?.contentHash??null}));let T=ue(t,e.rewardExecution);if(p&&(!T||d(N(T.binding,T.rewards))!==d(p.taskset.graders)||p.taskset.graders.some(u=>u.kind==="model_judge"||u.kind==="human")))throw new Error("Qualification requires the source package's exact deterministic graders.");if(T){let u=e.verifierAssets??[],g=[...T.rewards.flatMap(b=>b.assets),...N(T.binding,T.rewards).flatMap(b=>b.kind==="custom_verifier"?[b.verifierRef]:b.kind==="model_judge"?[b.rubricRef]:[])],G=new Set(g.map(b=>b.id));if(new Set(u.map(b=>b.id)).size!==u.length||new Set(u.map(b=>b.asset.path)).size!==u.length||u.some(b=>!G.has(b.id)))throw new Error("Unexpected or duplicate private verifier asset.");for(let b of g){let W=u.find(Re=>Re.id===b.id);if(!W||b.visibility!=="verifier")throw new Error("Training bundle requires its private verifier asset.");B(W,b)}_(f,"reward-binding.json",{kind:"reward_binding_v1",binding:T.binding,rewards:T.rewards,assets:u})}else if(e.verifierAssets?.length)throw new Error("Private verifier assets require a published Reward binding.");_(f,"environment.json",{schemaVersion:"openpond.harnessEnvironment.v1",environment:i?{...t.environment,metadata:{...t.environment.metadata,policySystemPrompt:t.objective}}:t.environment,capabilities:t.capabilities,policy:t.policy,outputContract:t.metadata.tasksetOutputContract?.mode==="text"?null:t.metadata.tasksetOutputContract??null}),_(f,"graders.json",{schemaVersion:"openpond.harnessGraders.v1",graders:t.graders,fixtures:t.graderFixtures}),_(f,"tool-contract.json",{schemaVersion:"openpond.harnessToolContract.v1",toolNames:t.environment.toolNames,actionBindings:t.environment.actionBindings??[],capabilities:t.capabilities,connectedAppScopes:t.policy.connectedAppScopes});let y=i?t.tasks.filter(u=>u.id===e.qualificationTaskId):t.tasks.filter(u=>u.split==="train");if(y.length>0)_(f,i?"dataset/qualification.json":"dataset/train.json",{schemaVersion:i?"openpond.qualificationDataset.v1":"openpond.datasetSplit.v1",...i?{selectedTaskId:e.qualificationTaskId}:{split:"train"},tasks:y}),ze({assets:f,tasks:y,tasksetAssetBytes:e.tasksetAssetBytes??new Map});else if(t.datasetArtifact)_(f,"dataset/artifact.json",t.datasetArtifact);else throw new Error("Taskset has no training dataset.");let k=Object.values(t.learningSignals).flat().filter(u=>u.approved);for(let u of k){let g=ye(u);f.set(`evidence/signals/${z(g)}.json`,g)}let R={id:`dataset_${t.id}_r${t.revision}`,contentHash:d({taskset:w,sourceRefs:t.sourceRefs,datasetArtifact:t.datasetArtifact??null,...i?{executionMode:"qualification",tasks:y}:{trainTasks:y}})},M=k.length>0?{id:`evidence_${t.id}_r${t.revision}`,contentHash:d({taskset:w,harnessRelease:m,datasetRelease:R,profileRelease:v,signals:k})}:null,P=ke.parse({schemaVersion:"openpond.resolvedTrainingBundle.v1",...i?{executionMode:"qualification"}:{},...e.qualificationSamples!==void 0?{qualificationSamples:e.qualificationSamples}:{},projection:"trainer",harnessRelease:m,datasetRelease:R,evidenceSetRelease:M,files:[...f.entries()].sort(([u],[g])=>u.localeCompare(g)).map(([u,g])=>({path:u,sha256:z(g),sizeBytes:g.byteLength}))}),q=Se.parse({...P,contentHash:d(P)}),H=be.parse({schemaVersion:"openpond.harnessRunManifest.v1",...i?{executionMode:"qualification"}:{},...e.qualificationSamples!==void 0?{qualificationSamples:e.qualificationSamples}:{},id:`manifest_${e.modelRunId}_${e.approval.approvalHash.slice(0,16)}`,harnessRelease:r,datasetRelease:R,evidenceSets:M?[M]:[],model:{source:s.baseModel.modelId,revision:s.baseModel.revision,artifactHash:null,tokenizerRevision:s.baseModel.tokenizerRevision,chatTemplateHash:s.baseModel.chatTemplateHash},recipe:{method:s.recipe.method,version:"openpond.trainingRecipe.v1",configHash:d(s.recipe)},runtimeTarget:e.runtime,computeTarget:e.compute,engine:e.engine,resolvedBundleHash:q.contentHash,secretLeaseRefs:e.secretLeaseRefs??[],approval:e.approval,createdAt:a.updatedAt});return{manifest:we.parse({...H,contentHash:d(H)}),resolvedBundleManifest:q,assets:f,profileRelease:v,harnessRelease:m,tasksetRelease:w,datasetRelease:R,evidenceSetRelease:M}}S(ot,"buildTasksetTrainingBundle");function ze(e){let t=new Set;for(let a of e.tasks)for(let r of a.assets??[]){t.add(r.artifactRef);let o=e.tasksetAssetBytes.get(r.artifactRef);if(!o)throw new Error(`Resolved Training Bundle is missing Work asset ${r.artifactRef}.`);if(o.byteLength!==r.sizeBytes||z(o)!==r.sha256)throw new Error(`Resolved Training Bundle Work asset ${r.artifactRef} failed immutable verification.`);e.assets.set(r.artifactRef,o)}for(let a of e.tasksetAssetBytes.keys())if(!t.has(a))throw new Error(`Resolved Training Bundle received unexpected Work asset ${a}.`)}S(ze,"addTasksetAssets");function _(e,t,a){e.set(t,ye(a))}S(_,"addJsonAsset");function ye(e){return Buffer.from(L(e),"utf8")}S(ye,"bytes");function ve(e){return d({id:e.id,contentHash:e.contentHash})}S(ve,"releasedRefHash");export{He as a,Ee as b,Ae as c,we as d,Se as e,Me as f,tt as g,st as h,Be as i,nt as j,rt as k,ot as l};
@@ -1,12 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as $,b as C}from"./chunk-XWDFXM3S.js";import{b as y,c as w,e as O}from"./chunk-JCLTFDVW.js";import{a as n}from"./chunk-FTQLQJQV.js";function v(r){return{list:n((e={})=>r.listSandboxRuntimes(e),"list"),create:n(e=>r.createSandboxRuntime(e),"create"),handle:n((e,t=null)=>r.sandboxRuntime(e,t),"handle"),get:n(e=>r.getSandboxRuntime(e),"get"),createSandbox:n((e,t={},o={})=>r.createSandboxRuntimeSandbox(e,t,o),"createSandbox"),updateStatus:n((e,t)=>r.updateSandboxRuntimeStatus(e,t),"updateStatus"),events:n(e=>r.listSandboxRuntimeEvents(e),"events"),event:n((e,t)=>r.emitSandboxRuntimeEvent(e,t),"event"),checkpoint:n((e,t={})=>r.checkpointSandboxRuntime(e,t),"checkpoint"),promote:n((e,t,o={})=>r.promoteSandboxRuntime(e,t,o),"promote"),preserveSource:n((e,t={},o={})=>r.preserveSandboxRuntimeSource(e,t,o),"preserveSource")}}n(v,"createSandboxRuntimeNamespace");function A(r){return{list:n((e={})=>r.list(e),"list"),create:n(e=>r.create(e),"create"),get:n(e=>r.get(e),"get"),pricing:n(()=>r.pricing(),"pricing"),costs:n((e={})=>r.costs(e),"costs")}}n(A,"createSandboxNamespace");function j(r){return{list:n(e=>r.listProjects(e),"list"),upsert:n(e=>r.upsertProject(e),"upsert"),upsertGitRemote:n(e=>r.upsertProjectGitRemote(e),"upsertGitRemote"),get:n((e,t)=>r.getProject(e,t),"get"),update:n((e,t)=>r.updateProject(e,t),"update"),sync:n((e,t)=>r.syncProject(e,t),"sync"),ensureGitRemote:n((e,t)=>r.ensureProjectGitRemote(e,t),"ensureGitRemote"),getGitRemote:n((e,t)=>r.ensureProjectGitRemote(e,t),"getGitRemote"),git:n((e,t)=>r.ensureProjectGitRemote(e,t),"git"),uploadSource:n((e,t)=>r.uploadProjectSource(e,t),"uploadSource"),archive:n((e,t)=>r.archiveProject(e,t),"archive")}}n(j,"createSandboxProjectNamespace");function T(r){return{get:n(e=>r.getHostedProfile(e),"get"),status:n(e=>r.getHostedProfile(e),"status"),ensureHosted:n(e=>r.ensureHostedProfile(e),"ensureHosted"),push:n(e=>r.pushHostedProfile(e),"push")}}n(T,"createSandboxProfileNamespace");function k(r){return{list:n(e=>r.listAgents(e),"list"),upsert:n(e=>r.upsertAgent(e),"upsert"),get:n((e,t)=>r.getAgent(e,t),"get"),update:n((e,t)=>r.updateAgent(e,t),"update"),archive:n((e,t)=>r.archiveAgent(e,t),"archive"),run:n((e,t)=>r.runAgent(e,t),"run"),sourceDeployPlan:n((e,t)=>r.getAgentSourceDeployPlan(e,t),"sourceDeployPlan"),manifestSnapshots:n((e,t)=>r.listAgentManifestSnapshots(e,t),"manifestSnapshots"),requestSourceChecks:n((e,t)=>r.requestAgentSourceChecks(e,t),"requestSourceChecks"),configureSourceSetup:n((e,t)=>r.configureAgentSourceSetup(e,t),"configureSourceSetup"),publishSource:n((e,t)=>r.publishAgentSource(e,t),"publishSource")}}n(k,"createSandboxAgentNamespace");function E(r,e,t=null){let o=n(async(a={},d={})=>{let f=await r.getSandboxRuntime(e);return f.sandboxId?r.get(f.sandboxId):r.createSandboxRuntimeSandbox(e,a,d).then(m=>m.sandbox)},"currentSandbox"),s=n(async(a={},d={})=>{let f=await r.getSandboxRuntime(e);if(!f.sandboxId)return r.createSandboxRuntimeSandbox(e,a,d).then(h=>h.sandbox);let m=await r.get(f.sandboxId);return m.state==="stopped"?r.start(m.id,d).then(h=>h.sandbox):m.state==="archived"?r.restore(m.id).then(h=>h.sandbox):m.state==="deleted"||m.state==="error"?r.createSandboxRuntimeSandbox(e,a,d).then(h=>h.sandbox):m},"resume");return{id:e,initial:t,get:n(()=>r.getSandboxRuntime(e),"get"),sandbox:o,resume:s,createSandbox:n((a={},d={})=>r.createSandboxRuntimeSandbox(e,a,d),"createSandbox"),status:n(async a=>{if(typeof a!="string")return r.updateSandboxRuntimeStatus(e,a);let d=await r.getSandboxRuntime(e);return r.updateSandboxRuntimeStatus(e,{status:a,expectedVersion:d.version})},"status"),events:n(()=>r.listSandboxRuntimeEvents(e),"events"),event:n(a=>r.emitSandboxRuntimeEvent(e,a),"event"),recordCommit:n((a,d={})=>r.emitSandboxRuntimeEvent(e,{...d,type:d.type??"git.commit",commitSha:a}),"recordCommit"),checkpointHint:n((a={})=>r.emitSandboxRuntimeEvent(e,{type:"workflow.checkpoint_hint",summary:a.summary??a.reason??"Workflow checkpoint hint",payload:{...a.payload,reason:a.reason??null},artifactRefs:a.artifactRefs,lifecycleHint:{kind:"checkpoint",reason:a.reason??null}}),"checkpointHint"),waitForUser:n(async(a={})=>{await r.emitSandboxRuntimeEvent(e,{type:"workflow.waiting_for_user",summary:a.summary??a.reason??"Waiting for user",payload:{...a.payload,reason:a.reason??null},lifecycleHint:{kind:"waiting_for_user",reason:a.reason??null}});let d=await r.getSandboxRuntime(e);return d.status==="waiting_for_user"?d:r.updateSandboxRuntimeStatus(e,{status:"waiting_for_user",expectedVersion:d.version,summary:a.summary??a.reason,metadata:{workflowWaitForUserReason:a.reason??null}})},"waitForUser"),keepAlive:n((a={})=>{let d=D(a);return r.emitSandboxRuntimeEvent(e,{type:"workflow.keepalive",summary:a.summary??a.reason??"Workflow keepalive",payload:{...a.payload,reason:a.reason??null,keepaliveUntil:d},lifecycleHint:{kind:"keepalive",reason:a.reason??null,keepaliveUntil:d}})},"keepAlive"),checkpoint:n(a=>r.checkpointSandboxRuntime(e,a),"checkpoint"),files:{write:n(async(a,d)=>r.uploadFile((await s()).id,a,d),"write"),read:n(async a=>r.downloadFile((await s()).id,a),"read"),readResponse:n(async a=>r.downloadFileResponse((await s()).id,a),"readResponse"),list:n(async(a={})=>r.listFiles((await s()).id,a),"list"),delete:n(async(a,d={})=>r.deleteFile((await s()).id,a,d),"delete"),search:n(async a=>r.searchFiles((await s()).id,a),"search"),stat:n(async a=>r.statFile((await s()).id,a),"stat"),mkdir:n(async a=>r.mkdir((await s()).id,a),"mkdir"),move:n(async a=>r.moveFile((await s()).id,a),"move")},commands:{run:n(async a=>r.exec((await s()).id,typeof a=="string"?{command:a}:a),"run")},ports:{expose:n(async a=>r.openPort((await s()).id,typeof a=="number"?{port:a}:a),"expose")},promote:n((a,d={})=>r.promoteSandboxRuntime(e,a,d),"promote"),preserveSource:n((a={},d={})=>r.preserveSandboxRuntimeSource(e,a,d),"preserveSource"),archive:n(async a=>{let d=a??(await r.getSandboxRuntime(e)).version;return r.updateSandboxRuntimeStatus(e,{status:"archived",expectedVersion:d})},"archive")}}n(E,"createSandboxRuntimeHandle");function D(r){if(r?.until instanceof Date)return r.until.toISOString();if(typeof r?.until=="string"&&r.until.trim())return new Date(r.until).toISOString();let e=typeof r?.seconds=="number"&&Number.isFinite(r.seconds)?Math.max(1,Math.trunc(r.seconds)):60;return new Date(Date.now()+e*1e3).toISOString()}n(D,"runtimeKeepaliveUntilIso");async function z(r,e={}){let t=`openpond-code-smoke-${Date.now()}`,o=`openpond-code-exec-ok:${t}`,s=`openpond-code-preview-ok:${t}`,i=`openpond-code-file-ok:${t}`,c=4173,u=null,a=null,d=!1,f=!1;try{let m=await N(r,await r.create({repo:e.repo??"https://github.com/octocat/Hello-World",resources:{cpu:e.cpu??1,memoryGb:e.memoryGb??1,diskGb:e.diskGb??8},budget:{maxUsd:e.budgetUsd??"0.05"},quotas:{maxSpendUsd:e.budgetUsd??"0.05",maxDurationSeconds:600,idleTimeoutSeconds:600,maxOpenPorts:2},metadata:{runId:t,source:"openpond-code-sandbox-smoke"}},{async:!0}));u=m.id;let h=e.expectedMppMode;if(h&&m.reservation.mpp?.mode!==h)throw new Error(`expected ${h} reservation, got ${m.reservation.mpp?.mode??"none"}`);if(!h&&!m.reservation.mpp?.mode)throw new Error("expected sandbox reservation MPP metadata");let R=await r.exec(m.id,{command:[`printf '${o}\\n'`,"test -f README && printf 'repo-clone-ok\\n'","cat > server.cjs <<'EOF'","const { createServer } = require('node:http');",`createServer((_request, response) => response.end('${s}')).listen(${c}, '0.0.0.0');`,"EOF","nohup node server.cjs > server.log 2>&1 & sleep 1"].join(`
3
- `),timeoutSeconds:120});if(R.command.status!=="succeeded")throw new Error(`expected command success, got ${R.command.status}`);if(!R.command.output.includes(o))throw new Error("expected exec marker");if(await r.uploadFile(m.id,"openpond-code-smoke.txt",i),await r.downloadFile(m.id,"openpond-code-smoke.txt")!==i)throw new Error("expected file roundtrip marker");let g=null;if(e.snapshot||e.fork){let S=await r.createSnapshot(m.id,{async:!0,name:`openpond-code-smoke-${t}`,replay:{entrypoints:[{command:"cat openpond-code-smoke.txt",name:"default"}],retention:{class:"pinned"},safety:{cleanup:"delete",idleTimeoutSeconds:600,internetEgress:"block",maxDurationSeconds:600,maxSpendUsd:e.budgetUsd??"0.05",publicPreview:!1},validation:{commands:[{command:"test -f openpond-code-smoke.txt"}]}}}),p=S.snapshot??(await K(r,m.id,S.snapshotJob?.snapshotId)).snapshot;if(g=p.id,p.state!=="ready")throw new Error(`expected ready snapshot, got ${p.state}`)}if(e.fork){if(!g)throw new Error("expected snapshot id before fork");let S=await N(r,(await r.forkSnapshot(g,{budget:{maxUsd:e.budgetUsd??"0.05"},metadata:{source:"openpond-code-sandbox-smoke-fork",templateSnapshotId:g}},{async:!0})).sandbox);a=S.id;let p=await r.exec(S.id,{command:"cat openpond-code-smoke.txt",timeoutSeconds:120});if(p.command.status!=="succeeded")throw new Error(`expected fork command success, got ${p.command.status}`);if(!p.command.output.includes(i))throw new Error("expected fork snapshot marker");e.keep||(await q(r,S.id),f=!0)}let x=null;if(e.preview!==!1){let S=await r.openPort(m.id,{label:"openpond-code-smoke",port:c}),p=await fetch(S.preview.url);x=p.status;let B=await p.text();if(p.status!==200)throw new Error(`expected preview HTTP 200, got ${p.status}`);if(!B.includes(s))throw new Error("expected preview marker")}let{sandbox:M,receipts:F}=await H(r,m.id);return e.keep||(await q(r,m.id),d=!0),{deleted:d,execOutput:R.command.output.trim(),fileRoundtrip:!0,forkSandboxId:a,previewStatus:x,receiptRefs:F.map(S=>S.mpp.receiptRef??null),reservationRef:m.reservation.mpp?.reservationRef??null,runId:t,sandboxId:m.id,snapshotId:g,state:M.state}}finally{a&&!e.keep&&!f&&await L(r,a),u&&!e.keep&&!d&&await L(r,u)}}n(z,"runSandboxSmoke");async function H(r,e){try{await r.stop(e)}catch{await r.stop(e,{async:!0})}let t=await J(r,e,new Set(["stopped","deleted"]),"stop"),o=await G(r,e);if(o.length===0)throw new Error("expected receipt readback");return{sandbox:t,receipts:o}}n(H,"stopSandboxForSmoke");async function q(r,e){try{let t=await r.delete(e);if(t.state==="deleted")return t;await r.delete(e,{async:!0})}catch{await r.delete(e,{async:!0})}return J(r,e,new Set(["deleted"]),"delete")}n(q,"deleteSandboxForSmoke");async function L(r,e){try{await q(r,e)}catch{await r.delete(e,{async:!0}).catch(()=>{})}}n(L,"cleanupSandboxBestEffort");async function J(r,e,t,o){let c=Date.now()+3e5,u=await r.get(e);for(;Date.now()<c;){if(t.has(u.state))return u;if(u.state==="error")throw new Error(`sandbox ${o} failed: ${e}`);await I(3e3),u=await r.get(e)}throw new Error(`sandbox ${o} did not reach ${[...t].join("/")} before timeout: ${e} (${u.state})`)}n(J,"waitForSandboxState");async function G(r,e){let s=Date.now()+12e4,i=await r.receipts(e);for(;Date.now()<s;){if(i.length>0)return i;await I(3e3),i=await r.receipts(e)}return i}n(G,"waitForReceipts");async function N(r,e){if(e.state==="running"||e.state==="stopped")return e;if(e.state==="error")throw new Error(`sandbox create failed: ${e.id}
4
- ${e.logs.join(`
5
- `)}`);let t=12*6e4,o=3e3,s=Date.now()+t,i=e;for(;Date.now()<s;){if(await I(o),i=await r.get(e.id),i.state==="running"||i.state==="stopped")return i;if(i.state==="error")throw new Error(`sandbox create failed: ${i.id}
6
- ${i.logs.join(`
7
- `)}`)}throw new Error(`sandbox create did not reach running state before timeout: ${i.id} (${i.state})`)}n(N,"waitForCreateReady");async function K(r,e,t){if(!t)throw new Error("snapshot job did not return snapshot id");let o=12*6e4,s=3e3,i=Date.now()+o,c=await r.get(e);for(;Date.now()<i;){let u=c.snapshots?.find(d=>d.id===t);if(u?.state==="ready")return{sandbox:c,snapshot:u};let a=c.snapshotJobs?.find(d=>d.snapshotId===t);if(a?.status==="failed")throw new Error(`snapshot job failed: ${a.error??t}`);await I(s),c=await r.get(e)}throw new Error(`snapshot did not reach ready state before timeout: ${t}`)}n(K,"waitForSnapshotReady");function I(r){return new Promise(e=>setTimeout(e,r))}n(I,"sleep");function l(r={}){return r.async||r.respondAsync?{Prefer:"respond-async"}:void 0}n(l,"asyncRequestHeaders");async function P(r){let e=await y(r.sandboxApiUrl,r.apiKey,r.path,{timeoutMs:0,maxResponseBytes:0});if(!e.body)return;let t=e.body.getReader(),o=new TextDecoder,s="";try{for(;;){let{done:i,value:c}=await t.read();if(i)break;s+=o.decode(c,{stream:!0});let u=s.indexOf(`
8
-
9
- `);for(;u!==-1;){let a=s.slice(0,u);s=s.slice(u+2);let d=W(a);d&&process.stdout.write(d),u=s.indexOf(`
10
-
11
- `)}}}finally{t.releaseLock()}}n(P,"streamSandboxEventOutput");function _(r){return typeof r=="string"?{dataBase64:Buffer.from(r,"utf-8").toString("base64")}:r instanceof Uint8Array?{dataBase64:Buffer.from(r).toString("base64")}:r}n(_,"normalizePtyInput");function W(r){if(!r.includes("event: output"))return null;let e=r.split(/\r?\n/).filter(t=>t.startsWith("data: ")).map(t=>t.slice(6));if(e.length===0)return null;try{let t=JSON.parse(e.join(`
12
- `));return typeof t.output=="string"?t.output:null}catch{return null}}n(W,"parseProcessOutputEvent");var b=class{static{n(this,"OpenPondSandboxInstanceClient")}apiKey;apiRootUrl;sandboxApiUrl;customEndpoint;constructor(e){this.apiKey=e.apiKey,this.customEndpoint=e.customEndpoint??!1,this.sandboxApiUrl=$(e.sandboxApiUrl??e.baseUrl??O),this.apiRootUrl=C(this.sandboxApiUrl)}create(e,t={}){return this.request("",{method:"POST",...this.customEndpoint?{timeoutMs:18e4}:{},headers:l(t),body:JSON.stringify(e)}).then(o=>o.sandbox)}get(e){return this.request(`/${encodeURIComponent(e)}`).then(t=>t.sandbox)}exec(e,t){return this.request(`/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify(t)})}startProcess(e,t){return this.request(`/${encodeURIComponent(e)}/processes`,{method:"POST",body:JSON.stringify(t)})}listProcesses(e){return this.request(`/${encodeURIComponent(e)}/processes`)}getProcess(e,t,o={}){let s=new URLSearchParams;return o.since!==void 0&&s.set("since",String(Math.max(0,o.since))),this.request(`/${encodeURIComponent(e)}/processes/${encodeURIComponent(t)}${s.size>0?`?${s.toString()}`:""}`)}stopProcess(e,t){return this.request(`/${encodeURIComponent(e)}/processes/${encodeURIComponent(t)}`,{method:"DELETE"})}async streamProcessOutput(e,t,o={}){let s=new URLSearchParams;o.since!==void 0&&s.set("since",String(Math.max(0,o.since))),await P({sandboxApiUrl:this.sandboxApiUrl,apiKey:this.apiKey,path:`/${encodeURIComponent(e)}/processes/${encodeURIComponent(t)}/stream${s.size>0?`?${s.toString()}`:""}`})}startPty(e,t={}){return this.request(`/${encodeURIComponent(e)}/pty`,{method:"POST",body:JSON.stringify(t)})}listPtys(e){return this.request(`/${encodeURIComponent(e)}/pty`)}getPty(e,t,o={}){let s=new URLSearchParams;return o.since!==void 0&&s.set("since",String(Math.max(0,o.since))),this.request(`/${encodeURIComponent(e)}/pty/${encodeURIComponent(t)}${s.size>0?`?${s.toString()}`:""}`)}writePtyInput(e,t,o){return this.request(`/${encodeURIComponent(e)}/pty/${encodeURIComponent(t)}/input`,{method:"POST",body:JSON.stringify(_(o))})}stopPty(e,t){return this.request(`/${encodeURIComponent(e)}/pty/${encodeURIComponent(t)}`,{method:"DELETE"})}async streamPtyOutput(e,t,o={}){let s=new URLSearchParams;o.since!==void 0&&s.set("since",String(Math.max(0,o.since))),await P({sandboxApiUrl:this.sandboxApiUrl,apiKey:this.apiKey,path:`/${encodeURIComponent(e)}/pty/${encodeURIComponent(t)}/stream${s.size>0?`?${s.toString()}`:""}`})}uploadFile(e,t,o){return this.uploadFileBase64(e,t,Buffer.from(o,"utf-8").toString("base64"))}uploadFileBase64(e,t,o){return this.request(`/${encodeURIComponent(e)}/files`,{method:"POST",body:JSON.stringify({path:t,contentsBase64:o})})}async downloadFile(e,t){let o=await this.downloadFileResponse(e,t);return Buffer.from(o.file.contentsBase64,"base64").toString("utf-8")}downloadFileResponse(e,t){let o=typeof t=="string"?{path:t}:t,s=new URLSearchParams({path:o.path});return o.offsetBytes!==void 0&&s.set("offsetBytes",String(o.offsetBytes)),o.maxBytes!==void 0&&s.set("maxBytes",String(o.maxBytes)),this.request(`/${encodeURIComponent(e)}/files?${s.toString()}`)}listFiles(e,t={}){let o=new URLSearchParams({list:"1"});return t.path&&o.set("path",t.path),t.recursive!==void 0&&o.set("recursive",String(t.recursive)),t.maxEntries!==void 0&&o.set("maxEntries",String(t.maxEntries)),this.request(`/${encodeURIComponent(e)}/files?${o.toString()}`)}deleteFile(e,t,o={}){let s=new URLSearchParams({path:t});return o.recursive!==void 0&&s.set("recursive",String(o.recursive)),this.request(`/${encodeURIComponent(e)}/files?${s.toString()}`,{method:"DELETE"})}statFile(e,t){let o=new URLSearchParams({stat:"1",path:t});return this.request(`/${encodeURIComponent(e)}/files?${o.toString()}`)}mkdir(e,t){let o=typeof t=="string"?{path:t}:t,s=new URLSearchParams({path:o.path});return o.recursive!==void 0&&s.set("recursive",String(o.recursive)),this.request(`/${encodeURIComponent(e)}/files?${s.toString()}`,{method:"PUT"})}moveFile(e,t){let o=new URLSearchParams({fromPath:t.fromPath,toPath:t.toPath});return t.overwrite!==void 0&&o.set("overwrite",String(t.overwrite)),this.request(`/${encodeURIComponent(e)}/files?${o.toString()}`,{method:"PATCH"})}searchFiles(e,t){let o=new URLSearchParams({search:"1",query:t.query});return t.path&&o.set("path",t.path),t.maxResults!==void 0&&o.set("maxResults",String(t.maxResults)),this.request(`/${encodeURIComponent(e)}/files?${o.toString()}`)}openPort(e,t){return this.request(`/${encodeURIComponent(e)}/ports`,{method:"POST",body:JSON.stringify(t)})}createSnapshot(e,t){return this.request(`/${encodeURIComponent(e)}/snapshots`,{method:"POST",body:JSON.stringify(t)})}updateSnapshot(e,t,o){return this.request(`/${encodeURIComponent(e)}/snapshots/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(o)})}validateSnapshot(e,t,o={}){return this.request(`/${encodeURIComponent(e)}/snapshots/${encodeURIComponent(t)}/validate`,{method:"POST",body:JSON.stringify(o)})}publishSnapshot(e,t){return this.request(`/${encodeURIComponent(e)}/snapshots/${encodeURIComponent(t)}/publish`,{method:"POST"})}fork(e,t={}){return this.request(`/${encodeURIComponent(e)}/fork`,{method:"POST",body:JSON.stringify(t)})}stop(e,t={}){let o=new URLSearchParams;return t.failOnUnpreservedChanges&&o.set("failOnUnpreservedChanges","true"),this.request(`/${encodeURIComponent(e)}/stop${o.size>0?`?${o.toString()}`:""}`,{method:"POST",headers:l(t)})}start(e,t={}){return this.request(`/${encodeURIComponent(e)}/start`,{method:"POST",headers:l(t)})}restore(e){return this.request(`/${encodeURIComponent(e)}/restore`,{method:"POST"})}delete(e,t={}){let o=new URLSearchParams;return t.failOnUnpreservedChanges&&o.set("failOnUnpreservedChanges","true"),this.request(`/${encodeURIComponent(e)}${o.size>0?`?${o.toString()}`:""}`,{method:"DELETE",headers:l(t)}).then(s=>s.sandbox)}receipts(e){return this.request(`/${encodeURIComponent(e)}/receipts`).then(t=>t.receipts)}logs(e){return this.request(`/${encodeURIComponent(e)}/logs`).then(t=>t.logs)}gitStatus(e){return this.request(`/${encodeURIComponent(e)}/git/status`)}gitDiff(e,t={}){return this.request(`/${encodeURIComponent(e)}/git/diff`,{method:"POST",body:JSON.stringify(t)})}gitExportPatch(e,t={}){return this.request(`/${encodeURIComponent(e)}/git/export-patch`,{method:"POST",body:JSON.stringify(t)})}gitBranch(e,t){return this.request(`/${encodeURIComponent(e)}/git/branch`,{method:"POST",body:JSON.stringify(t)})}gitCommit(e,t){return this.request(`/${encodeURIComponent(e)}/git/commit`,{method:"POST",body:JSON.stringify(t)})}gitPull(e,t={}){return this.request(`/${encodeURIComponent(e)}/git/pull`,{method:"POST",body:JSON.stringify(t)})}gitPush(e,t={}){return this.request(`/${encodeURIComponent(e)}/git/push`,{method:"POST",body:JSON.stringify(t)})}billing(e){return this.request(`/${encodeURIComponent(e)}/billing`)}pricing(){return this.request("/pricing")}costs(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.agentId&&t.set("agentId",e.agentId),this.request(`/costs${t.size>0?`?${t.toString()}`:""}`)}integrationLeases(e){return this.request(`/${encodeURIComponent(e)}/integrations`)}attachIntegrationConnection(e,t){return this.request(`/${encodeURIComponent(e)}/integrations`,{method:"POST",body:JSON.stringify(t)})}removeIntegrationLease(e,t){return this.request(`/${encodeURIComponent(e)}/integrations`,{method:"DELETE",body:JSON.stringify({leaseId:t})})}async request(e,t={}){let o=await y(this.sandboxApiUrl,this.apiKey,e,this.customEndpoint?{...t,explicitBearerAuth:!0,redirect:"error"}:t);return w(o,"Sandbox request")}async requestApiRoot(e,t={}){let o=await y(this.apiRootUrl,this.apiKey,e,this.customEndpoint?{...t,explicitBearerAuth:!0,redirect:"error"}:t);return w(o,"OpenPond API request")}};var U=class extends b{static{n(this,"OpenPondSandboxClient")}runtimes=v(this);sandboxes=A(this);profile=T(this);projects=j(this);agents=k(this);list(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.agentId&&t.set("agentId",e.agentId),this.request(t.size>0?`?${t.toString()}`:"").then(o=>o.sandboxes)}listSecrets(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),this.requestApiRoot(`/sandbox-secrets${t.size>0?`?${t.toString()}`:""}`).then(o=>o.secrets)}getSecret(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(e)}${o.size>0?`?${o.toString()}`:""}`).then(s=>s.secret)}createSecret(e){return this.requestApiRoot("/sandbox-secrets",{method:"POST",body:JSON.stringify(e)}).then(t=>t.secret)}rotateSecret(e,t){let o=new URLSearchParams;t.teamId&&o.set("teamId",t.teamId);let{teamId:s,...i}=t;return this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(e)}/rotate${o.size>0?`?${o.toString()}`:""}`,{method:"POST",body:JSON.stringify(i)}).then(c=>c.secret)}attachSecret(e,t){let o=new URLSearchParams;t.teamId&&o.set("teamId",t.teamId);let{teamId:s,...i}=t;return this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(e)}/attach${o.size>0?`?${o.toString()}`:""}`,{method:"POST",body:JSON.stringify(i)}).then(c=>c.secret)}revokeSecret(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(e)}/revoke${o.size>0?`?${o.toString()}`:""}`,{method:"POST"}).then(s=>s.secret)}deleteSecret(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(e)}${o.size>0?`?${o.toString()}`:""}`,{method:"DELETE"}).then(s=>s.secret)}snapshotCatalog(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.agentId&&t.set("agentId",e.agentId),e.q&&t.set("q",e.q),e.kind&&t.set("kind",e.kind),e.replayState&&t.set("replayState",e.replayState),e.visibility&&t.set("visibility",e.visibility),e.tag&&t.set("tag",e.tag),e.useCase&&t.set("useCase",e.useCase),e.limit&&t.set("limit",String(e.limit)),this.request(`/catalog/snapshots${t.size>0?`?${t.toString()}`:""}`)}listSandboxRuntimes(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.agentId&&t.set("agentId",e.agentId),this.requestApiRoot(`/runtimes${t.size>0?`?${t.toString()}`:""}`).then(o=>o.runtimes)}listProjects(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/projects?${t.toString()}`).then(o=>o.projects)}upsertProject(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/projects?${t.toString()}`,{method:"POST",body:JSON.stringify(e)}).then(o=>o.project)}getHostedProfile(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/profile?${t.toString()}`).then(o=>o.profile)}ensureHostedProfile(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/profile/ensure?${t.toString()}`,{method:"POST"}).then(o=>{if(!o.profile)throw new Error("hosted_profile_missing");return o.profile})}pushHostedProfile(e){let t=new URLSearchParams({teamId:e.teamId}),{teamId:o,...s}=e;return this.requestApiRoot(`/profile/push?${t.toString()}`,{method:"POST",body:JSON.stringify(s)})}async upsertProjectGitRemote(e){let t=await this.upsertProject(e);return this.ensureProjectGitRemote(t.id,{teamId:e.teamId})}getProject(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(e)}?${o.toString()}`).then(s=>s.project)}syncProject(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(e)}/sync?${o.toString()}`,{method:"POST"}).then(s=>s.project)}ensureProjectGitRemote(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(e)}/git?${o.toString()}`,{method:"POST"})}uploadProjectSource(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/projects/${encodeURIComponent(e)}/source?${o.toString()}`,{method:"POST",body:JSON.stringify(i)}).then(c=>c.project)}updateProject(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/projects/${encodeURIComponent(e)}?${o.toString()}`,{method:"PATCH",body:JSON.stringify(i)}).then(c=>c.project)}archiveProject(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(e)}?${o.toString()}`,{method:"DELETE"}).then(s=>s.project)}listAgents(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/agents?${t.toString()}`).then(o=>o.agents)}upsertAgent(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/agents?${t.toString()}`,{method:"POST",body:JSON.stringify(e)}).then(o=>o.agent)}getAgent(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/agents/${encodeURIComponent(e)}?${o.toString()}`).then(s=>s.agent)}archiveAgent(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/agents/${encodeURIComponent(e)}?${o.toString()}`,{method:"DELETE"}).then(s=>s.agent)}updateAgent(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/agents/${encodeURIComponent(e)}?${o.toString()}`,{method:"PATCH",body:JSON.stringify(i)}).then(c=>c.agent)}runAgent(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/agents/${encodeURIComponent(e)}/run?${o.toString()}`,{method:"POST",headers:{Prefer:"respond-async"},body:JSON.stringify(i)})}getAgentSourceDeployPlan(e,t){let o=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/agents/${encodeURIComponent(e)}/source/deploy-plan?${o.toString()}`).then(s=>s.deployPlan)}listAgentManifestSnapshots(e,t){let o=new URLSearchParams({teamId:t.teamId});return t.limit!==void 0&&o.set("limit",String(t.limit)),this.requestApiRoot(`/agents/${encodeURIComponent(e)}/source/manifest-snapshots?${o.toString()}`).then(s=>s.manifestSnapshots)}requestAgentSourceChecks(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/agents/${encodeURIComponent(e)}/source/checks?${o.toString()}`,{method:"POST",body:JSON.stringify(i),timeoutMs:900*1e3})}configureAgentSourceSetup(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/agents/${encodeURIComponent(e)}/source/setup?${o.toString()}`,{method:"POST",body:JSON.stringify(i)})}publishAgentSource(e,t){let o=new URLSearchParams({teamId:t.teamId}),{teamId:s,...i}=t;return this.requestApiRoot(`/agents/${encodeURIComponent(e)}/source/publish?${o.toString()}`,{method:"POST",body:JSON.stringify(i)})}getMicrosoftTeamsBotOverview(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/teams/bot/overview?${t.toString()}`)}bindMicrosoftTeamsBotConversation(e){return this.requestApiRoot("/teams/bot/bindings",{method:"POST",body:JSON.stringify(e)})}rebindMicrosoftTeamsBotConversation(e,t){return this.requestApiRoot(`/teams/bot/bindings/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)})}unlinkMicrosoftTeamsBotConversation(e){return this.requestApiRoot(`/teams/bot/bindings/${encodeURIComponent(e.bindingId)}`,{method:"DELETE",body:JSON.stringify({teamId:e.teamId})})}sendMicrosoftTeamsBotDiagnostic(e){return this.requestApiRoot("/teams/bot/diagnostics",{method:"POST",body:JSON.stringify(e)})}sendMicrosoftTeamsBotDiagnosticRun(e){return this.requestApiRoot("/teams/bot/diagnostics/run",{method:"POST",body:JSON.stringify(e)})}createSandboxRuntime(e){return this.requestApiRoot("/runtimes",{method:"POST",body:JSON.stringify(e)}).then(t=>t.runtime)}sandboxRuntime(e,t=null){return E(this,e,t)}getSandboxRuntime(e){return this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}`).then(t=>t.runtime)}createSandboxRuntimeSandbox(e,t={},o={}){return this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/sandbox`,{method:"POST",headers:l(o),body:JSON.stringify(t)})}updateSandboxRuntimeStatus(e,t){return this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/status`,{method:"PATCH",body:JSON.stringify(t)}).then(o=>o.runtime)}listSandboxRuntimeEvents(e){return this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/events`)}emitSandboxRuntimeEvent(e,t){return this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/events`,{method:"POST",body:JSON.stringify(t)})}checkpointSandboxRuntime(e,t){return this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/checkpoints`,{method:"POST",body:JSON.stringify(t)}).then(o=>o.runtime)}promoteSandboxRuntime(e,t,o={}){let s=new URLSearchParams;return o.teamId&&s.set("teamId",o.teamId),this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/promote${s.size>0?`?${s.toString()}`:""}`,{method:"POST",body:JSON.stringify(t)})}preserveSandboxRuntimeSource(e,t={},o={}){let s=new URLSearchParams;return o.teamId&&s.set("teamId",o.teamId),this.requestApiRoot(`/runtimes/${encodeURIComponent(e)}/preserve-source${s.size>0?`?${s.toString()}`:""}`,{method:"POST",body:JSON.stringify(t)})}forkSnapshot(e,t={},o={}){let s=new URLSearchParams;t.teamId&&s.set("teamId",t.teamId),t.projectId&&s.set("projectId",t.projectId),o.async&&s.set("async","1");let{teamId:i,projectId:c,...u}=t;return this.request(`/catalog/snapshots/${encodeURIComponent(e)}/fork${s.size>0?`?${s.toString()}`:""}`,{method:"POST",headers:o.async?{Prefer:"respond-async"}:void 0,body:JSON.stringify({...u,snapshotId:e})})}templates(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.q&&t.set("q",e.q),e.name&&t.set("name",e.name),e.version&&t.set("version",e.version),e.visibility&&t.set("visibility",e.visibility),e.tag&&t.set("tag",e.tag),e.useCase&&t.set("useCase",e.useCase),e.limit&&t.set("limit",String(e.limit)),this.request(`/templates${t.size>0?`?${t.toString()}`:""}`)}publishedSnapshots(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.q&&t.set("q",e.q),e.name&&t.set("name",e.name),e.version&&t.set("version",e.version),e.visibility&&t.set("visibility",e.visibility),e.tag&&t.set("tag",e.tag),e.useCase&&t.set("useCase",e.useCase),e.limit&&t.set("limit",String(e.limit)),this.request(`/published-snapshots${t.size>0?`?${t.toString()}`:""}`).then(o=>{let s=o.publishedSnapshots??o.templates;return{...o,templates:s,publishedSnapshots:s}})}launchTemplate(e){let t=new URLSearchParams;e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId);let{teamId:o,projectId:s,...i}=e;return this.request(`/templates/launch${t.size>0?`?${t.toString()}`:""}`,{method:"POST",body:JSON.stringify(i)})}runPublishedSnapshot(e){let t=new URLSearchParams;e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId);let{teamId:o,projectId:s,...i}=e;return this.request(`/published-snapshots/launch${t.size>0?`?${t.toString()}`:""}`,{method:"POST",body:JSON.stringify(i)}).then(c=>{let u=c.publishedSnapshot??c.template;return{...c,template:u,publishedSnapshot:u}})}listSchedules(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.sourceSandboxId&&t.set("sourceSandboxId",e.sourceSandboxId),this.request(`/schedules${t.size>0?`?${t.toString()}`:""}`)}createSchedule(e){let t=new URLSearchParams;e.projectId&&t.set("projectId",e.projectId);let{projectId:o,...s}=e;return this.request(`/schedules${t.size>0?`?${t.toString()}`:""}`,{method:"POST",body:JSON.stringify(s)})}getSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}`)}updateSchedule(e,t){return this.request(`/schedules/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)})}deleteSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}`,{method:"DELETE"})}listScheduleRuns(e,t={}){let o=new URLSearchParams;return t.limit!==void 0&&o.set("limit",String(t.limit)),this.request(`/schedules/${encodeURIComponent(e)}/runs${o.size>0?`?${o.toString()}`:""}`)}runScheduleNow(e,t={}){return this.request(`/schedules/${encodeURIComponent(e)}/run`,{method:"POST",body:JSON.stringify(t)})}listTemplateBuilds(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/sandbox-template-builds?${t.toString()}`).then(o=>o.builds)}createTemplateBuild(e){return this.requestApiRoot("/sandbox-template-builds",{method:"POST",body:JSON.stringify(e)}).then(t=>t.build)}getTemplateBuild(e){return this.requestApiRoot(`/sandbox-template-builds/${encodeURIComponent(e)}`).then(t=>t.build)}getTemplateBuildLogs(e){return this.requestApiRoot(`/sandbox-template-builds/${encodeURIComponent(e)}/logs`)}cancelTemplateBuild(e){return this.requestApiRoot(`/sandbox-template-builds/${encodeURIComponent(e)}/cancel`,{method:"POST"}).then(t=>t.build)}listPublishedSnapshotBuilds(e){let t=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/published-snapshot-builds?${t.toString()}`).then(o=>o.builds)}createPublishedSnapshotBuild(e){return this.requestApiRoot("/published-snapshot-builds",{method:"POST",body:JSON.stringify(e)}).then(t=>t.build)}getPublishedSnapshotBuild(e){return this.requestApiRoot(`/published-snapshot-builds/${encodeURIComponent(e)}`).then(t=>t.build)}getPublishedSnapshotBuildLogs(e){return this.requestApiRoot(`/published-snapshot-builds/${encodeURIComponent(e)}/logs`)}cancelPublishedSnapshotBuild(e){return this.requestApiRoot(`/published-snapshot-builds/${encodeURIComponent(e)}/cancel`,{method:"POST"}).then(t=>t.build)}listOrganizations(){return this.requestApiRoot("/organizations").then(e=>e.organizations??e.teams??[])}createOrganization(e){return this.requestApiRoot("/organizations",{method:"POST",body:JSON.stringify(e)}).then(t=>t.organization)}getOrganization(e){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}`).then(t=>t.organization)}updateOrganization(e,t){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}).then(o=>o.organization)}listOrganizationMembers(e){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/members`).then(t=>t.members)}upsertOrganizationMember(e,t){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify(t)}).then(o=>o.member)}getOrganizationMcpServer(e){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/mcp-server`).then(t=>t.mcpServer)}generateOrganizationMcpServer(e,t={}){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/mcp-server`,{method:"POST",body:JSON.stringify(t)}).then(o=>o.mcpServer)}rotateOrganizationMcpServer(e){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/mcp-server/rotate`,{method:"POST"}).then(t=>t.mcpServer)}disableOrganizationMcpServer(e){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/mcp-server/disable`,{method:"POST"}).then(t=>t.mcpServer)}enableOrganizationMcpServer(e){return this.requestApiRoot(`/organizations/${encodeURIComponent(e)}/mcp-server/enable`,{method:"POST"}).then(t=>t.mcpServer)}startReplay(e){let t=new URLSearchParams;e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId);let{teamId:o,projectId:s,...i}=e;return this.requestApiRoot(`/sandbox-replays${t.size>0?`?${t.toString()}`:""}`,{method:"POST",body:JSON.stringify(i)})}listReplays(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),this.requestApiRoot(`/sandbox-replays${t.size>0?`?${t.toString()}`:""}`)}getReplay(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),t.projectId&&o.set("projectId",t.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(e)}${o.size>0?`?${o.toString()}`:""}`)}getReplayLogs(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),t.projectId&&o.set("projectId",t.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(e)}/logs${o.size>0?`?${o.toString()}`:""}`)}getReplayArtifacts(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),t.projectId&&o.set("projectId",t.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(e)}/artifacts${o.size>0?`?${o.toString()}`:""}`)}cancelReplay(e,t={}){let o=new URLSearchParams;return t.teamId&&o.set("teamId",t.teamId),t.projectId&&o.set("projectId",t.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(e)}/cancel${o.size>0?`?${o.toString()}`:""}`,{method:"POST"})}integrationConnections(e={}){let t=new URLSearchParams;return e.teamId&&t.set("teamId",e.teamId),e.projectId&&t.set("projectId",e.projectId),e.agentId&&t.set("agentId",e.agentId),e.status&&t.set("status",e.status),this.requestApiRoot(`/integrations/connections${t.size>0?`?${t.toString()}`:""}`)}mcpServerConfig(){return{name:"openpond-sandboxes",transport:"streamable-http",url:`${this.sandboxApiUrl}/mcp`,headers:{"openpond-api-key":this.apiKey}}}smoke(e={}){return z(this,e)}};function Re(r){return new U(r)}n(Re,"createOpenPondSandboxClient");export{U as a,Re as b};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as E}from"./chunk-W5W4IODW.js";import{d as j}from"./chunk-OZ6LRNRE.js";import{h as c,i as _}from"./chunk-PWK5Z5S3.js";import{G as v,I as A,J as t,K as d,L as o,M as g,N as l,P as I,Q as C,T as k,U as w,Y as y,k as P,q as i,u as r,x as R}from"./chunk-BKEDG3A4.js";import{c as f,f as n}from"./chunk-OE22TAXP.js";import{d as q,e as T}from"./chunk-PBZCXPPC.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as u}from"./chunk-FTQLQJQV.js";var b="local_path:";function Z(p){return`${b}${p.trim()}`}u(Z,"localPathWorkspaceId");function ee(p){return p.startsWith(b)&&p.slice(b.length).trim()||null}u(ee,"workspacePathFromLocalPathWorkspaceId");var ne=e.object({appId:e.string(),source:e.enum(["openpond","github","local_git","local_folder","unknown"]),workspacePath:e.string(),repoPath:e.string(),initialized:e.boolean(),remoteUrl:e.string().nullable(),expectedRemoteUrl:e.string().nullable(),currentBranch:e.string().nullable(),headCommit:e.string().nullable().optional().default(null),upstreamBranch:e.string().nullable().optional().default(null),ahead:e.number().int().nonnegative().optional().default(0),behind:e.number().int().nonnegative().optional().default(0),diverged:e.boolean().optional().default(!1),linkedSourceHeadCommit:e.string().nullable().optional().default(null),aheadOfLinkedSource:e.number().int().nonnegative().optional().default(0),behindLinkedSource:e.number().int().nonnegative().optional().default(0),divergedFromLinkedSource:e.boolean().optional().default(!1),linkedSourceComparisonError:e.string().nullable().optional().default(null),lastFetchAt:e.string().nullable().optional().default(null),defaultBranch:e.string().nullable(),branches:e.array(e.string()),dirty:e.boolean(),changedFilesCount:e.number(),untrackedFilesCount:e.number(),error:e.string().nullable(),updatedAt:e.string()}),O=e.object({path:e.string(),status:e.string(),additions:e.number(),deletions:e.number(),patch:e.string(),content:e.string().nullable().optional().default(null),contentType:e.string().optional(),contentEncoding:e.enum(["base64"]).optional(),readVersion:e.string().nullable().optional(),readStamp:e.string().optional()}),te=e.object({appId:e.string(),repoPath:e.string(),initialized:e.boolean(),dirty:e.boolean(),filesChanged:e.number(),additions:e.number(),deletions:e.number(),repoFiles:e.array(e.string()).optional().default([]),files:e.array(O),error:e.string().nullable(),updatedAt:e.string()}),oe=e.object({branch:e.string().trim().min(1).max(160)}),ae=e.object({path:e.string().trim().min(1),content:e.string()}),M=e.object({line:e.number().int().nonnegative(),character:e.number().int().nonnegative()}),U=e.object({start:M,end:M}),N=e.object({path:e.string(),range:U,severity:e.enum(["error","warning","info","hint"]),message:e.string(),source:e.string().nullable().optional().default(null),code:e.string().nullable().optional().default(null)}),W=e.object({id:e.string(),root:e.string(),status:e.enum(["connected","unavailable","error"]),message:e.string().nullable().optional().default(null)}),ie=e.object({path:e.string().trim().min(1),content:e.string().optional(),waitForDiagnostics:e.boolean().optional().default(!0)}),re=e.object({appId:e.string(),path:e.string(),diagnostics:e.array(N),servers:e.array(W),updatedAt:e.string()}),K=e.object({operation:e.enum(["hover","definition","references","documentSymbol"]),path:e.string().trim().min(1),content:e.string().optional(),line:e.number().int().nonnegative().optional(),character:e.number().int().nonnegative().optional()}),le=e.object({appId:e.string(),operation:K.shape.operation,path:e.string(),results:e.unknown(),servers:e.array(W),updatedAt:e.string()}),h=e.object({pinned:e.boolean().optional(),archived:e.boolean().optional(),order:e.number().optional()}),se=e.record(e.string(),h),z=e.object({path:e.string().min(1),title:e.string().min(1),contentType:e.string().min(1),sizeBytes:e.number().nonnegative().nullable(),sandboxId:e.string().nullable(),revision:e.string().optional(),updatedAt:e.string().optional()}),me=e.object({files:e.array(z)});var a=e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:e.string().trim().min(1),profileId:e.string().trim().min(1)}),B=e.object({ref:a,revision:e.string().nullable(),sourceHash:e.string()});var s=e.enum(["chat","work","development"]),be=e.enum(["chat","models","console","development"]),D="work";var S=e.enum(["openpond.lab"]),x=e.object({id:e.string(),experience:s.default(D),provider:t,modelRef:n.nullable().optional(),openPondCommandAccessMode:o.default(A),systemKind:S.nullable().optional(),hiddenFromDefaultSidebar:e.boolean().optional(),parentSessionId:e.string().nullable().optional(),parentTurnId:e.string().nullable().optional(),subagentRunId:e.string().nullable().optional(),subagentRoleId:i.nullable().optional(),subagentDelegationMode:r.nullable().optional(),title:e.string(),appId:e.string().nullable(),appName:e.string().nullable(),workspaceKind:l.optional(),workspaceId:e.string().nullable().optional(),workspaceName:e.string().nullable().optional(),localProjectId:e.string().nullable().optional(),cloudProjectId:e.string().nullable().optional(),cloudTeamId:e.string().nullable().optional(),currentProfile:a.nullable().optional(),profileWorkflowBinding:q.nullable().optional(),profileComponentBinding:T.nullable().optional(),metadata:e.record(e.string(),e.unknown()).optional(),cwd:e.string().nullable(),codexThreadId:e.string().nullable(),nativeAgent:e.object({provider:e.union([e.enum(["claude-code","grok-build","opencode"]),f]),instanceId:e.string().min(1),sessionId:e.string().min(1),cwd:e.string().min(1)}).nullable().optional(),createdAt:e.string(),updatedAt:e.string(),status:e.enum(["idle","active","failed","closed"]),runtimeSeconds:e.number().int().nonnegative().optional(),runtimeRunningSince:e.string().nullable().optional(),pinned:e.boolean(),savedForLater:e.boolean().optional(),archived:e.boolean(),order:e.number()}),we=e.object({id:e.string(),sessionId:e.string(),providerTurnId:e.string().nullable(),modelRef:n.nullable().optional(),prompt:e.string(),startedAt:e.string(),completedAt:e.string().nullable(),status:e.enum(["in_progress","completed","failed","interrupted"]),error:e.string().nullable(),metadata:e.record(e.string(),e.unknown()).optional().default({}),createImproveRun:c.nullable().optional().default(null),profileSnapshot:B.nullable().optional(),harnessSnapshot:j.nullable().optional()});var F=e.object({id:e.string().trim().min(1).max(191),agentId:e.string().trim().min(1).max(191).optional().nullable(),sourcePath:e.string().trim().min(1).max(2e3).optional().nullable(),sourceActionId:e.string().trim().min(1).max(191).optional().nullable(),name:e.string().trim().min(1).max(191).optional().nullable(),label:e.string().trim().min(1).max(160).optional().nullable(),description:e.string().trim().max(1e3).optional().nullable(),visibility:e.string().trim().max(80).optional().nullable(),inputSchema:e.union([e.string().trim().max(191),e.record(e.string(),e.unknown())]).optional().nullable(),outputSchema:e.union([e.string().trim().max(191),e.record(e.string(),e.unknown())]).optional().nullable(),approvalPolicy:e.record(e.string(),e.unknown()).optional().nullable(),artifactPolicy:e.record(e.string(),e.unknown()).optional().nullable(),setupRequirements:e.array(e.record(e.string(),e.unknown())).optional(),mcp:e.record(e.string(),e.unknown()).optional().nullable(),schedulePolicy:e.record(e.string(),e.unknown()).optional().nullable(),trace:e.record(e.string(),e.unknown()).optional().nullable(),implementation:e.record(e.string(),e.unknown()).optional().nullable(),invokesModel:e.boolean().optional()});var H=e.enum(["slack","microsoft_teams","github","google","turnkey","x","mcp"]),V=e.enum(["slack","microsoft_teams","github","google","turnkey","x","mcp"]),X=e.enum(["native_bot","oauth_connector","wallet_connector","mcp_endpoint"]),$=e.object({kind:e.literal("integration"),provider:H,appIds:e.array(V).min(1).max(4),setupSurfaces:e.array(X).min(1).max(4),connectionIds:e.array(e.string().trim().min(1)).max(8).optional(),capabilities:e.array(e.string().trim().min(1)).max(64).optional()}).strict(),m={maxAttachments:10,maxAttachmentBytes:12*1024*1024,maxAttachmentBase64Chars:Math.ceil(12*1024*1024*4/3)+16,maxTextChars:2e5},G=e.enum(["image","text","file"]),J=e.object({sessionId:e.string().trim().min(1).max(200),turnId:e.string().trim().min(1).max(200),attachmentId:e.string().trim().min(1).max(200),storageName:e.string().trim().min(1).max(240),contentType:e.string().trim().min(1).max(160)}),Q=e.object({sessionId:e.string().trim().min(1).max(200),turnId:e.string().trim().min(1).max(200),attachmentId:e.string().trim().min(1).max(200),storageName:e.string().trim().min(1).max(1024),contentType:e.string().trim().min(1).max(160)}),L=e.object({id:e.string().trim().min(1),name:e.string().trim().min(1).max(240),mediaType:e.string().trim().min(1).max(160),sizeBytes:e.number().int().nonnegative().max(m.maxAttachmentBytes),kind:G,lineCount:e.number().int().nonnegative().max(m.maxAttachmentBytes+1).optional(),relativePath:e.string().trim().min(1).max(1024).optional(),text:e.string().max(m.maxTextChars).optional(),contentsBase64:e.string().max(m.maxAttachmentBase64Chars).optional()}),Xe=L.omit({text:!0,contentsBase64:!0}).extend({imagePreview:J.optional(),filePreview:Q.optional()}),$e=e.object({experience:s.optional(),provider:t.default(v),modelRef:n.optional(),openPondCommandAccessMode:o.optional(),systemKind:S.nullable().optional(),hiddenFromDefaultSidebar:e.boolean().optional(),parentSessionId:e.string().trim().min(1).max(200).nullable().optional(),parentTurnId:e.string().trim().min(1).max(200).nullable().optional(),subagentRunId:e.string().trim().min(1).max(200).nullable().optional(),subagentRoleId:i.nullable().optional(),subagentDelegationMode:r.nullable().optional(),appId:e.string().nullable().optional(),appName:e.string().nullable().optional(),workspaceKind:l.optional(),workspaceId:e.string().nullable().optional(),workspaceName:e.string().nullable().optional(),localProjectId:e.string().nullable().optional(),cloudProjectId:e.string().nullable().optional(),cloudTeamId:e.string().nullable().optional(),currentProfile:a.nullable().optional(),profileWorkflowBinding:x.shape.profileWorkflowBinding,profileComponentBinding:x.shape.profileComponentBinding,metadata:e.record(e.string(),e.unknown()).optional(),cwd:e.string().nullable().optional(),title:e.string().optional(),autoTitlePrompt:e.string().trim().min(1).max(2e4).optional()}),Ge=e.object({teamId:e.string().trim().min(1),projectName:e.string().trim().min(1).max(120).optional(),branch:e.string().trim().min(1).max(120).optional(),chatSessionId:e.string().trim().min(1).max(200).optional(),displayPrompt:e.string().trim().min(1).max(2e3).optional()}),Je=e.object({branch:e.string().trim().min(1).max(120).optional()}),Qe=e.object({prompt:e.string().min(1),workflowInput:e.unknown().optional(),metadata:e.record(e.string(),e.unknown()).optional(),usageAttribution:E.optional().nullable(),cwd:e.string().nullable().optional(),model:e.string().nullable().optional(),modelRef:n.optional(),mentionedAppIds:e.array(e.string().trim().min(1)).max(8).optional(),mentionedConnectedApps:e.array($).max(8).optional(),openPondActionCatalog:e.array(F).max(100).optional(),attachments:e.array(L).max(m.maxAttachments).optional(),createImproveRun:c.optional().nullable(),approvalPolicy:e.enum(["untrusted","on-failure","on-request","never"]).default("on-request"),sandbox:e.enum(["read-only","workspace-write","danger-full-access"]).default("workspace-write"),codexPermissionMode:d.default("default"),codexReasoningEffort:g.optional()}),Ye=e.object({prompt:e.string().min(1),error:e.string().min(1),target:e.enum(["cloud_workspace","hybrid_sandbox"])}),Ze=_,en=e.object({reason:e.enum(["manual"]).default("manual"),model:e.string().nullable().optional(),modelRef:n.optional()}),nn=e.object({experience:s.optional(),provider:t.optional(),modelRef:n.nullable().optional(),openPondCommandAccessMode:o.optional(),pinned:e.boolean().optional(),savedForLater:e.boolean().optional(),archived:e.boolean().optional(),order:e.number().optional(),title:e.string().optional(),parentSessionId:e.string().trim().min(1).max(200).nullable().optional(),parentTurnId:e.string().trim().min(1).max(200).nullable().optional(),subagentRunId:e.string().trim().min(1).max(200).nullable().optional(),subagentRoleId:i.nullable().optional(),subagentDelegationMode:r.nullable().optional(),appId:e.string().nullable().optional(),appName:e.string().nullable().optional(),workspaceKind:l.optional(),workspaceId:e.string().nullable().optional(),workspaceName:e.string().nullable().optional(),localProjectId:e.string().nullable().optional(),cloudProjectId:e.string().nullable().optional(),cloudTeamId:e.string().nullable().optional(),currentProfile:a.nullable().optional(),metadata:e.record(e.string(),e.unknown()).optional(),cwd:e.string().nullable().optional()}),tn=e.object({command:e.string().trim().min(1),cwd:e.string().trim().min(1).max(4096).nullable().optional(),timeoutSeconds:e.number().int().min(1).max(3600).optional()}),on=h,an=e.object({appIds:e.array(e.string()).min(1)}),rn=e.object({expectedRevision:e.string().optional(),defaultChatProvider:t.optional(),defaultChatModel:e.string().min(1).optional(),defaultChatModelRef:n.nullable().optional(),subagents:R.optional(),codexPermissionMode:d.optional(),codexReasoningEffort:g.optional(),openPondCommandAccessMode:o.optional(),defaultBranchPrefix:e.string().trim().max(48).optional(),defaultNewProjectDirectory:e.string().trim().max(4096).optional(),defaultTeamId:e.string().trim().max(191).nullable().optional(),advancedWorkspaceControls:e.boolean().optional(),steerActiveResponses:e.boolean().optional(),contextCompaction:k.optional(),training:w.optional(),sidebarWidth:e.number().int().min(244).max(560).optional(),diffPanelWidth:e.number().int().min(320).max(2400).optional(),sidebarSectionsCollapsed:I.optional(),editor:C.optional()}),ln=P,sn=e.object({message:e.string().trim().min(1).max(4e3),surface:e.string().trim().min(1).max(120).default("app"),stack:e.string().max(12e3).nullable().optional(),context:e.record(e.string(),e.unknown()).optional()}).strict();var mn=e.object({activeTemplateId:y,templateName:e.string().trim().min(1).max(80),soul:e.string().trim().min(1).max(8e3),saveAsNew:e.boolean().optional().default(!1)}),pn=e.object({decision:e.enum(["accept","acceptForSession","decline","cancel"]),answers:e.record(e.string().min(1).max(2e3),e.string().trim().min(1).max(8e3)).optional()}),cn=e.object({branch:e.string().trim().min(1).max(240).nullable().optional(),surface:e.enum(["desktop","terminal"])}),un=e.object({handle:e.string().min(1),baseUrl:e.string().nullable().optional()}),dn=e.object({handle:e.string().min(1),baseUrl:e.string().nullable().optional()}),gn=e.object({handle:e.string().min(1).optional(),apiKey:e.string().min(1),baseUrl:e.string().nullable().optional(),apiBaseUrl:e.string().nullable().optional(),chatApiBaseUrl:e.string().nullable().optional(),environment:e.string().nullable().optional(),setActive:e.boolean().optional()}),bn=e.object({handle:e.string().min(1),currentBaseUrl:e.string().nullable().optional(),apiKey:e.string().min(1).optional(),baseUrl:e.string().nullable().optional(),apiBaseUrl:e.string().nullable().optional(),chatApiBaseUrl:e.string().nullable().optional(),environment:e.string().nullable().optional(),setActive:e.boolean().optional()});export{Z as a,ee as b,ne as c,O as d,te as e,oe as f,ae as g,ie as h,re as i,K as j,le as k,se as l,z as m,s as n,D as o,a as p,x as q,we as r,F as s,m as t,Q as u,L as v,$e as w,Ge as x,Je as y,Qe as z,Ye as A,Ze as B,en as C,nn as D,tn as E,on as F,an as G,rn as H,ln as I,sn as J,mn as K,pn as L,cn as M,un as N,dn as O,gn as P,bn as Q};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{J as B,O as K,U as V,ha as Q}from"./chunk-PGO4FRHU.js";import{m as A}from"./chunk-VNJAAYNQ.js";import{n as J,o as z,p as H,t as P}from"./chunk-TVTFEGTU.js";import{a as N}from"./chunk-NVHZRKXB.js";import{N as T,O as E,P as v,b as O,r as F}from"./chunk-4M3YW3EQ.js";import{Da as q,Fa as D,Ma as G,Ra as L,Ya as b,x as C,z as I}from"./chunk-PBZCXPPC.js";import{A as r}from"./chunk-PF56N7ZY.js";import{a as w}from"./chunk-FTQLQJQV.js";function se(a){let n=P.parse(a.setup),e=typeof a.package=="object"&&a.package!==null&&"schemaVersion"in a.package&&a.package.schemaVersion==="openpond.tasksetPackage.v1"?Q(a.package):null,i=e?null:V(a.package),d=e??i,l=n.tasksetRef;if(!(l&&l.revision===d.taskset.revision&&(e?l.id===e.taskset.id&&l.contentHash===e.taskset.contentHash||l.id===e.taskset.metadata.sourceTasksetId&&l.contentHash===e.taskset.metadata.sourceTasksetHash:l.id===d.taskset.id)))return n;!n.evaluationTasksetRef&&d.taskset.tasks.some(h=>h.split==="frozen_eval"||h.split==="validation")&&(n.evaluationTasksetRef=n.tasksetRef);let s=n.baseModel;if(n.method!=="grpo"||n.recipe||!s?.revision||!s.tokenizerRevision||!s.chatTemplateHash)return n;let m=d.taskset.tasks.filter(h=>h.split==="train"),g=e?e.taskset.graders:b(i.rewardBinding,i.rewards),u=g.find(h=>h.rewardEligible&&h.weight>0),k=e?.environment??i?.executionResources?.environment??i?.execution?.environment;if(!m.length||!u||!k)return n;let x=8,M=8;return P.parse({...n,recipe:{schemaVersion:"openpond.rftRecipe.v1",method:"grpo",parameterization:"lora",baseModel:{id:s.modelId,revision:s.revision,tokenizerRevision:s.tokenizerRevision,chatTemplateHash:s.chatTemplateHash},dataset:{trainSplit:"train",validationSplit:d.taskset.tasks.some(h=>h.split==="frozen_eval")?"frozen_eval":"validation",maxPromptTokens:4096,maxExamples:Math.min(1e3,m.length),selectionStrategy:"stable_hash_top_n"},lora:{rank:2},rollout:{groupSize:x,concurrency:4,maxTurns:d.taskset.environment.kind==="text"?1:15,maxOutputTokens:1024,temperature:.8,topP:.95,seed:17},optimizer:{learningRate:1e-4,maxSteps:M,clipRange:.2,iterations:2,microbatchSize:1,gradientAccumulationSteps:x,advantageEpsilon:1e-8,adamw:{name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8}},loss:{method:"grpo",klBeta:.01},reward:{graderId:u.id,graderHash:A(g),environmentId:k.id,environmentVersion:String(k.revision),toolContractHash:A(d.taskset.tools),learnedPreference:null},resourceLimits:{wallTimeMs:3960*1e3,maxRollouts:M*x,maxPayloadBytes:1e6},policyOptimization:null}})}w(se,"prepareModelTrainingDefaults");var R=r.string().trim().min(1).max(500),f=J,U=r.object({schemaVersion:r.literal("openpond.modelStarter.v1"),id:R,revision:r.number().int().positive(),name:r.string().trim().min(1).max(200),description:r.string().trim().min(1).max(2e3),category:r.enum(["extraction","support","operations","knowledge","coding","writing","classification"]),taskset:f,taskDefinition:f,rewardBinding:f,rewards:r.array(f).min(1).max(100),assets:r.array(f).max(1e3),previewTaskIds:r.array(R).min(1).max(8),startingModel:z,supportedMethods:r.array(H).min(1).max(8),defaultMethod:H,provenance:r.object({author:r.string().min(1).max(200),license:r.string().min(1).max(200),sourceDescription:r.string().min(1).max(2e3)}).strict(),evidence:r.object({verifierFixtures:f.nullable(),baseline:f.nullable(),training:f.nullable(),evaluation:f.nullable()}).strict()}).strict().superRefine((a,n)=>{a.supportedMethods.includes(a.defaultMethod)||n.addIssue({code:"custom",path:["defaultMethod"],message:"The default method must be supported by the package."});for(let e of["rewards","assets"])new Set(a[e].map(i=>i.id)).size!==a[e].length&&n.addIssue({code:"custom",path:[e],message:"Dependency identities must be unique."});new Set(a.previewTaskIds).size!==a.previewTaskIds.length&&n.addIssue({code:"custom",path:["previewTaskIds"],message:"Preview tasks must be unique."})}),W=U.safeExtend({contentHash:r.string().regex(/^[a-f0-9]{64}$/)}),X=r.object({starter:W,taskset:q,taskDefinition:F,rewardBinding:L,rewards:r.array(G).min(1).max(100),assets:r.array(O).max(1e3),execution:B.optional()}).strict(),Y=r.object({schemaVersion:r.literal("openpond.modelStarterPrivacyReview.v1"),disposition:r.literal("synthetic_only"),reviewedBy:r.string().trim().min(1).max(500),reviewedAt:r.iso.datetime(),reviewedContentHash:r.string().regex(/^[a-f0-9]{64}$/),note:r.string().trim().min(1).max(2e3)}).strict();function Z(a){let{contentHash:n,...e}=a.starter,{contentHash:i,...d}=a.taskset,{contentHash:l,...c}=e.taskset,s={...d.metadata},m=s.starterAuthoring;if(m&&typeof m=="object"&&!Array.isArray(m)){let{privacyReview:g,...u}=m;s.starterAuthoring=u}return v({...a,starter:{...e,taskset:c},taskset:{...d,metadata:s}}).contentHash}w(Z,"modelStarterPrivacyContentHash");var ee=r.object({profileId:R,modelId:R,name:r.string().trim().min(1).max(200),starter:f,startingModel:z,method:H,rewardBindingRef:f.nullable().optional(),learning:N.optional()}).strict(),te=ee.extend({schemaVersion:r.literal("openpond.modelStarterCreation.v1"),operationId:R}).strict();function re(a){return C(a,64*1024),te.parse(a)}w(re,"parseModelStarterCreationRequest");function oe(a,n){let e=re(a),i=j(n);if(!E(e.starter,T(i.starter)))throw new Error("Starter creation references a different package revision.");if(!i.starter.supportedMethods.includes(e.method))throw new Error("The selected training method is not supported by this starter.");return{request:e,resolved:i}}w(oe,"validateModelStarterCreation");function de(a){let{starter:n,taskset:e,taskDefinition:i,rewardBinding:d,rewards:l}=j(a);return{starter:n,inputSchema:i.inputSchema,outputSchema:i.outputSchema,reward:{name:d.name,description:d.description,checks:d.sources.map(c=>{let s=l.find(m=>E(c.reward,T(m)));return{name:s.name,description:s.description,kind:s.implementation.kind,role:c.role,weight:c.weight,required:c.required,hardGate:c.hardGate}})},tasks:n.previewTaskIds.map(c=>{let s=e.tasks.find(m=>m.id===c);return{id:s.id,input:s.input,policyVisibleContext:s.policyVisibleContext}}),counts:{train:e.tasks.filter(c=>c.split==="train").length,validation:e.tasks.filter(c=>c.split==="validation").length,frozenEvaluation:e.tasks.filter(c=>c.split==="frozen_eval").length}}}w(de,"previewModelStarter");function j(a){C(a,16*1024*1024);let n=X.parse(a),{starter:e,taskset:i,taskDefinition:d,rewardBinding:l,rewards:c,assets:s}=n,m=i.metadata.starterAuthoring;if(m&&typeof m=="object"&&!Array.isArray(m)&&"privacyReview"in m&&Y.parse(m.privacyReview).reviewedContentHash!==Z(n))throw new Error("Starter privacy review differs from the published contents.");let g=[e,i,d,l,...c,...s];for(let t of g){let{contentHash:o,...p}=t;if(v(p).contentHash!==o)throw new Error(`Starter resource integrity failed: ${t.id}.`)}D(i),K(n.execution,i,s);function u(t,o){if(!E(t,T(o)))throw new Error(`Starter dependency mismatch: ${t.id}.`)}if(w(u,"exact"),u(e.taskset,i),u(e.taskDefinition,d),u(e.rewardBinding,l),u(d.rewardBinding,l),l.recipeRef)throw new Error("Starter binding recipes must be resolved into a standalone binding before publication.");let{policy:k,environment:x,environmentRelease:M,tools:h,capabilities:ae,verifierSetRelease:_}=i,ie={policy:k,environment:x,...M?{environmentRelease:M}:{},tools:h,capabilities:ae,..._?{verifierSetRelease:_}:{}};if(v(ie).contentHash!==v(d.execution).contentHash)throw new Error("Starter execution context differs from its task format.");if(v({graders:i.graders}).contentHash!==v({graders:b(l,c)}).contentHash)throw new Error("Starter executable graders differ from its Reward binding.");for(let[t,o]of[[e.rewards,c],[e.assets,s]]){if(t.length!==o.length||new Set(o.map(p=>p.id)).size!==o.length)throw new Error("Starter dependency inventory mismatch.");for(let p of t){let S=o.find(y=>y.id===p.id);if(!S)throw new Error(`Starter dependency is missing: ${p.id}.`);u(p,S)}}for(let t of l.sources){let o=c.find(p=>p.id===t.reward.id);if(!o)throw new Error(`Starter Reward is missing: ${t.reward.id}.`);u(t.reward,o)}for(let t of c){let o=t.implementation,p=[...t.assets,..."verifierRef"in o?[o.verifierRef]:[],..."rubricRef"in o?[o.rubricRef]:[],..."inputContract"in o?[o.inputContract]:[]];for(let S of p){let y=s.find(ne=>ne.id===S.id);if(!y||v(y.asset).contentHash!==v(S).contentHash)throw new Error(`Starter Reward source is missing or changed: ${S.id}.`);if(S.visibility==="policy")throw new Error(`Starter Reward source must remain private to its evaluator: ${S.id}.`)}}if(new Set(i.tasks.map(t=>t.id)).size!==i.tasks.length)throw new Error("Starter task identities must be unique.");let $=new Map;for(let t of i.tasks){if(t.policyVisibleContext.instructions!==d.instructions)throw new Error(`Starter task does not carry its declared model instructions: ${t.id}.`);let o=v({input:t.input,context:t.policyVisibleContext}).contentHash,p=$.get(o);if(p&&p!==t.split)throw new Error("Starter policy input appears in multiple splits.");if($.set(o,t.split),!I(d.inputSchema,t.input).valid)throw new Error(`Starter task input does not match its format: ${t.id}.`);if(t.expectedOutput!==null&&!I(d.outputSchema,t.expectedOutput).valid)throw new Error(`Starter expected output does not match its format: ${t.id}.`)}for(let t of e.previewTaskIds){let o=i.tasks.find(p=>p.id===t);if(!o||o.split==="frozen_eval")throw new Error(`Starter preview task is unavailable: ${t}.`)}return n}w(j,"validateResolvedModelStarter");export{se as a,W as b,Y as c,re as d,oe as e,de as f,j as g};