openpond 0.2.57 → 0.2.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/app-server.d.ts +2 -1
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{actions-command-QU4H53OG.js → actions-command-JJ3CU7J6.js} +1 -1
  4. package/dist/chunks/{app-layer-NSTE5HIT.js → app-layer-KAUZAHGE.js} +1 -1
  5. package/dist/chunks/{app-server-connected-apps-JHGWLBXT.js → app-server-connected-apps-SXGZOUJJ.js} +1 -1
  6. package/dist/chunks/{app-server-evaluations-GJPFWIDA.js → app-server-evaluations-N4OMTPCI.js} +1 -1
  7. package/dist/chunks/{app-server-harness-services-IH4G6POY.js → app-server-harness-services-DDFUMNYC.js} +1 -1
  8. package/dist/chunks/app-server-runtime-SVB6L26M.js +2 -0
  9. package/dist/chunks/{apps-BKTOR4F7.js → apps-EZB56RHV.js} +1 -1
  10. package/dist/chunks/{chunk-SDXFLO7J.js → chunk-22VMH6JV.js} +1 -1
  11. package/dist/chunks/{chunk-FTEOCCPB.js → chunk-25JDHAZ5.js} +1 -1
  12. package/dist/chunks/{chunk-PPAPVGJP.js → chunk-2G4BEISF.js} +1 -1
  13. package/dist/chunks/{chunk-O72BSKSO.js → chunk-2L5XWJJ5.js} +1 -1
  14. package/dist/chunks/{chunk-QOTVNQDI.js → chunk-2RNQQNB7.js} +2 -2
  15. package/dist/chunks/{chunk-O6ULLQJ6.js → chunk-2WKUBGIF.js} +1 -1
  16. package/dist/chunks/{chunk-F4KOGISR.js → chunk-37MWETFU.js} +1 -1
  17. package/dist/chunks/{chunk-D74JEERO.js → chunk-3CDEBKSU.js} +1 -1
  18. package/dist/chunks/{chunk-L6K7ERG5.js → chunk-4EDIRCD3.js} +1 -1
  19. package/dist/chunks/{chunk-JYKRR7E5.js → chunk-4GPXTISD.js} +1 -1
  20. package/dist/chunks/chunk-57TRXBLT.js +3 -0
  21. package/dist/chunks/{chunk-LQQNBVEB.js → chunk-76M2MEHV.js} +1 -1
  22. package/dist/chunks/{chunk-HCYX6RHP.js → chunk-776WNDV2.js} +1 -1
  23. package/dist/chunks/{chunk-HDL5YSAA.js → chunk-7AVNZF36.js} +1 -1
  24. package/dist/chunks/{chunk-3K4VVB7S.js → chunk-7K7O3CKY.js} +1 -1
  25. package/dist/chunks/chunk-7UH4YDA7.js +3 -0
  26. package/dist/chunks/{chunk-KUERKVEU.js → chunk-ABZ2ZOLU.js} +1 -1
  27. package/dist/chunks/{chunk-ZRDGQDZL.js → chunk-ANFDRKUU.js} +1 -1
  28. package/dist/chunks/{chunk-GWCHDF2C.js → chunk-AQD7K4Z5.js} +1 -1
  29. package/dist/chunks/{chunk-4D7HWVWD.js → chunk-ARLOVWQ3.js} +1 -1
  30. package/dist/chunks/{chunk-2QUCCP6Z.js → chunk-ATAOHSFR.js} +1 -1
  31. package/dist/chunks/{chunk-3RCRSMWZ.js → chunk-BE6SS65L.js} +2 -2
  32. package/dist/chunks/{chunk-Z54O534A.js → chunk-BGJYITVI.js} +1 -1
  33. package/dist/chunks/{chunk-BLXEAZCQ.js → chunk-BL3YH2QU.js} +1 -1
  34. package/dist/chunks/{chunk-2D4Y3HNW.js → chunk-BO5JZYWG.js} +1 -1
  35. package/dist/chunks/{chunk-ZGTOK7ZK.js → chunk-BQS7Z4AP.js} +1 -1
  36. package/dist/chunks/{chunk-7HPDGZOR.js → chunk-BRORSFJX.js} +3 -3
  37. package/dist/chunks/{chunk-XXYGGNVM.js → chunk-BVQWVIGK.js} +1 -1
  38. package/dist/chunks/{chunk-SWUEFLOH.js → chunk-C37PUHA6.js} +1 -1
  39. package/dist/chunks/{chunk-3VUATFZD.js → chunk-CGWA54LE.js} +1 -1
  40. package/dist/chunks/{chunk-EQFGBL3O.js → chunk-CKMSBAI2.js} +1 -1
  41. package/dist/chunks/{chunk-YOBN7KTF.js → chunk-COHMDT7A.js} +7 -7
  42. package/dist/chunks/{chunk-JDEEWOD7.js → chunk-DPHAN6N3.js} +1 -1
  43. package/dist/chunks/{chunk-YOQRYNLP.js → chunk-DZUN5YWB.js} +1 -1
  44. package/dist/chunks/{chunk-6FDWRG55.js → chunk-E72UU4VX.js} +1 -1
  45. package/dist/chunks/{chunk-ABD5M2D2.js → chunk-EOBHQ3JT.js} +1 -1
  46. package/dist/chunks/chunk-EQOV34UH.js +2 -0
  47. package/dist/chunks/chunk-EUMXMT3S.js +2 -0
  48. package/dist/chunks/{chunk-773TH7FN.js → chunk-EWOSLZDX.js} +1 -1
  49. package/dist/chunks/{chunk-HIOKCIL7.js → chunk-FAYASU7Z.js} +1 -1
  50. package/dist/chunks/{chunk-EIRYMSEG.js → chunk-FKJHEZCW.js} +1 -1
  51. package/dist/chunks/{chunk-Q2QL6UWN.js → chunk-GL3NX3F3.js} +1 -1
  52. package/dist/chunks/{chunk-UKMA4R6X.js → chunk-GOPFFQZU.js} +1 -1
  53. package/dist/chunks/{chunk-RAXOSUSW.js → chunk-GUOLMLZN.js} +1 -1
  54. package/dist/chunks/{chunk-GZ7M5XBP.js → chunk-GVZLGS2U.js} +1 -1
  55. package/dist/chunks/chunk-GYJQKCEO.js +5 -0
  56. package/dist/chunks/{chunk-XDQMGUWL.js → chunk-H7ATCPPB.js} +1 -1
  57. package/dist/chunks/{chunk-J2TWKFML.js → chunk-IFDALGZE.js} +4 -4
  58. package/dist/chunks/{chunk-S5ESN275.js → chunk-IRV6GWGG.js} +3 -3
  59. package/dist/chunks/chunk-JFXINDOQ.js +3 -0
  60. package/dist/chunks/{chunk-PRGBLQVH.js → chunk-JMBQYBPI.js} +1 -1
  61. package/dist/chunks/{chunk-DBK66CJP.js → chunk-JQKSXCAJ.js} +1 -1
  62. package/dist/chunks/{chunk-DARVPBZ4.js → chunk-JUQMSHNR.js} +1 -1
  63. package/dist/chunks/{chunk-3Z47M3YY.js → chunk-K44RHALX.js} +1 -1
  64. package/dist/chunks/{chunk-4EPSHPZL.js → chunk-KO3HNMLJ.js} +1 -1
  65. package/dist/chunks/{chunk-4NESNOK5.js → chunk-LNCHFVHT.js} +1 -1
  66. package/dist/chunks/{chunk-7E6T7GP5.js → chunk-LPWBIGKW.js} +1 -1
  67. package/dist/chunks/{chunk-OIUTWU6K.js → chunk-MFMYWZK2.js} +1 -1
  68. package/dist/chunks/{chunk-A6USMRWK.js → chunk-MMQRHR3V.js} +1 -1
  69. package/dist/chunks/{chunk-I7AQMAQI.js → chunk-MNC4YUDI.js} +6 -6
  70. package/dist/chunks/{chunk-ZFSHBFG5.js → chunk-N6ENLEMY.js} +2 -2
  71. package/dist/chunks/{chunk-SH5CBAFC.js → chunk-NTB2O4RP.js} +1 -1
  72. package/dist/chunks/{chunk-OQKJGTTO.js → chunk-O3RF72BT.js} +1 -1
  73. package/dist/chunks/{chunk-QEFHOJFE.js → chunk-O4VIXU7A.js} +1 -1
  74. package/dist/chunks/{chunk-5MCNZCVQ.js → chunk-OLDK2LKJ.js} +1 -1
  75. package/dist/chunks/{chunk-WMKYHXVM.js → chunk-OX3XZKGK.js} +2 -2
  76. package/dist/chunks/{chunk-SDAUS5PY.js → chunk-P2RSBSCT.js} +1 -1
  77. package/dist/chunks/{chunk-EKM2D7JU.js → chunk-PFSMXKTI.js} +1 -1
  78. package/dist/chunks/{chunk-FUOEIDMA.js → chunk-PH6IORGZ.js} +1 -1
  79. package/dist/chunks/{chunk-PUZQU66L.js → chunk-PQJTYOR2.js} +1 -1
  80. package/dist/chunks/{chunk-OLLLZVHF.js → chunk-PY6K2JRH.js} +1 -1
  81. package/dist/chunks/{chunk-EYPCBBMS.js → chunk-RBZH6A6M.js} +1 -1
  82. package/dist/chunks/{chunk-6QSSIT62.js → chunk-RZUEVS64.js} +1 -1
  83. package/dist/chunks/{chunk-Q5LEXXJG.js → chunk-SF5HJ7PL.js} +4 -4
  84. package/dist/chunks/{chunk-NHQ36THU.js → chunk-TG7P7BSV.js} +1 -1
  85. package/dist/chunks/{chunk-G3RXYI2L.js → chunk-TIHXUKFD.js} +1 -1
  86. package/dist/chunks/{chunk-QOGJAQDO.js → chunk-TKLBP3MM.js} +1 -1
  87. package/dist/chunks/{chunk-M4JWQSV7.js → chunk-U2MAPON2.js} +1 -1
  88. package/dist/chunks/chunk-U5FKRYJO.js +86 -0
  89. package/dist/chunks/{chunk-QNG27G3T.js → chunk-V34H7Y2T.js} +2 -2
  90. package/dist/chunks/chunk-VGRMAGOK.js +9 -0
  91. package/dist/chunks/chunk-VRODAXFS.js +145 -0
  92. package/dist/chunks/{chunk-EIEZHFIW.js → chunk-WC42WOLG.js} +1 -1
  93. package/dist/chunks/{chunk-OS3LO5J3.js → chunk-WRI4XKSK.js} +1 -1
  94. package/dist/chunks/{chunk-XTFPDQMH.js → chunk-XJZSIXEO.js} +2 -2
  95. package/dist/chunks/{chunk-25MBPJVY.js → chunk-XMKCCLGB.js} +1 -1
  96. package/dist/chunks/{chunk-HZEIRHEB.js → chunk-XMWXH7TS.js} +1 -1
  97. package/dist/chunks/chunk-YCQSVHCD.js +9 -0
  98. package/dist/chunks/{chunk-B7RFL4N2.js → chunk-YHHF4Q7Y.js} +1 -1
  99. package/dist/chunks/{chunk-DMVD2RFZ.js → chunk-ZAN4DYLH.js} +1 -1
  100. package/dist/chunks/chunk-ZH3K7LKQ.js +2 -0
  101. package/dist/chunks/cli-5DFVQL5Y.js +2 -0
  102. package/dist/chunks/{configuration-command-6C5UO7GE.js → configuration-command-JS6U3RMC.js} +1 -1
  103. package/dist/chunks/connected-app-executor-UBMGMV76.js +2 -0
  104. package/dist/chunks/{connected-evidence-GH2ATNEX.js → connected-evidence-NLAIEVQ3.js} +1 -1
  105. package/dist/chunks/connection-NZSD3U5O.js +2 -0
  106. package/dist/chunks/{continual-6CQAMTTR.js → continual-WFPIDWPH.js} +1 -1
  107. package/dist/chunks/core-commands-U4IBRRY5.js +2 -0
  108. package/dist/chunks/{datasets-7BNMVJOY.js → datasets-UX47DTTB.js} +1 -1
  109. package/dist/chunks/{desktop-test-3CUHVLXV.js → desktop-test-UUU7PD4P.js} +1 -1
  110. package/dist/chunks/{dist-VYC5VMQB.js → dist-OGLX76LL.js} +1 -1
  111. package/dist/chunks/{dist-ZVJPJLXR.js → dist-W5MJYSPF.js} +1 -1
  112. package/dist/chunks/{evaluation-coordination-XEF5L7KZ.js → evaluation-coordination-3YQN5JQW.js} +1 -1
  113. package/dist/chunks/{experiment-improvements-KRX2DP27.js → experiment-improvements-ZRVD2AGY.js} +1 -1
  114. package/dist/chunks/{experiments-DFGQYA4O.js → experiments-JEB5A2N5.js} +1 -1
  115. package/dist/chunks/{extension-XKXXOP5N.js → extension-JCUA3RWV.js} +1 -1
  116. package/dist/chunks/{help-S7THC6IE.js → help-KA4OINP5.js} +1 -1
  117. package/dist/chunks/host-profile-evaluation-tools-2URLU5SG.js +2 -0
  118. package/dist/chunks/host-profile-external-dataset-B2AQNSDR.js +2 -0
  119. package/dist/chunks/{hosted-app-server-composition-HPL3CRXN.js → hosted-app-server-composition-VJQ3FM4I.js} +1 -1
  120. package/dist/chunks/{hosted-experiment-improvement-NFSVS5TU.js → hosted-experiment-improvement-42YWXB3P.js} +1 -1
  121. package/dist/chunks/hosted-harness-runtime-BM4WONJN.js +2 -0
  122. package/dist/chunks/{hosted-profile-candidate-2S5LFUWD.js → hosted-profile-candidate-HVVC43XQ.js} +1 -1
  123. package/dist/chunks/hosted-profile-compiler-RKDWHYK3.js +2 -0
  124. package/dist/chunks/{hosted-profile-evaluation-control-76BTRTYD.js → hosted-profile-evaluation-control-57V24UGU.js} +1 -1
  125. package/dist/chunks/{hosted-profile-evaluation-inspection-V6Z3A5XJ.js → hosted-profile-evaluation-inspection-BUWLCKCD.js} +1 -1
  126. package/dist/chunks/{hosted-profile-evaluation-preparation-IDJYREW3.js → hosted-profile-evaluation-preparation-3XLRR6UH.js} +1 -1
  127. package/dist/chunks/{hosted-tasksets-ANAE2PIW.js → hosted-tasksets-THKM5QY5.js} +1 -1
  128. package/dist/chunks/{human-review-WR777ODH.js → human-review-CSYAW4PC.js} +1 -1
  129. package/dist/chunks/import-CBDJ4DME.js +3 -0
  130. package/dist/chunks/local-harness-improvement-runtime-3T6E7I5Q.js +2 -0
  131. package/dist/chunks/local-harness-taskset-review-LQPQBALH.js +2 -0
  132. package/dist/chunks/{opchat-T4QTNEIY.js → opchat-6ADSONAD.js} +1 -1
  133. package/dist/chunks/{organizations-75L5DZDV.js → organizations-GT24ZTCN.js} +1 -1
  134. package/dist/chunks/{profile-TFZMUEDR.js → profile-Y2MCSOUK.js} +1 -1
  135. package/dist/chunks/project-action-payload-GHSLE7K3.js +2 -0
  136. package/dist/chunks/{project-agent-6RRO233B.js → project-agent-YYSQIHVE.js} +1 -1
  137. package/dist/chunks/{published-experiment-source-DZFENAQA.js → published-experiment-source-5TMGLKDM.js} +1 -1
  138. package/dist/chunks/refiner-profile-service-ZK7KAFP5.js +2 -0
  139. package/dist/chunks/{runtime-A7OZXM43.js → runtime-QFXCXSVB.js} +2 -2
  140. package/dist/chunks/{sandbox-command-IU5XFTJP.js → sandbox-command-U6346TVJ.js} +1 -1
  141. package/dist/chunks/{sandbox-template-C4V6T36U.js → sandbox-template-XWWPWWNR.js} +1 -1
  142. package/dist/chunks/saved-work-SWHZ4OLO.js +2 -0
  143. package/dist/chunks/{send-turn-XTAIS2JN.js → send-turn-SIXOZUVJ.js} +1 -1
  144. package/dist/chunks/{src-LMC3K6LH.js → src-6SHCCYEN.js} +1 -1
  145. package/dist/chunks/{src-INHPJ63Z.js → src-EZAKCCUV.js} +56 -56
  146. package/dist/chunks/standalone-experiment-turn-owner-LIAQWTGI.js +2 -0
  147. package/dist/chunks/{store-continual-support-reviews-HHA6NX7K.js → store-continual-support-reviews-GDX6CSUU.js} +1 -1
  148. package/dist/chunks/{store-conversation-serving-KPC62UEY.js → store-conversation-serving-W55XMDH4.js} +1 -1
  149. package/dist/chunks/{store-create-improve-QV54XIZW.js → store-create-improve-A7E7CUPZ.js} +1 -1
  150. package/dist/chunks/{store-datasets-RXJ33SUN.js → store-datasets-HKF3EO7B.js} +1 -1
  151. package/dist/chunks/{store-evaluation-results-3F3P527G.js → store-evaluation-results-645RFBGR.js} +1 -1
  152. package/dist/chunks/{store-human-review-RAH7WMIP.js → store-human-review-F5KESW52.js} +1 -1
  153. package/dist/chunks/{store-learned-preference-migration-validation-4CI2IRUF.js → store-learned-preference-migration-validation-V27XD4I7.js} +1 -1
  154. package/dist/chunks/{store-local-experiments-5LUJR7GI.js → store-local-experiments-HWQWNTIU.js} +1 -1
  155. package/dist/chunks/{store-model-batch-review-YEGX327M.js → store-model-batch-review-TOCSDVAP.js} +1 -1
  156. package/dist/chunks/{store-model-configuration-5ZURQATB.js → store-model-configuration-6543ASY2.js} +1 -1
  157. package/dist/chunks/{store-sidebar-file-bookmarks-VB5GTLFY.js → store-sidebar-file-bookmarks-53B7QIGS.js} +1 -1
  158. package/dist/chunks/{store-sidebar-preferences-GWIOG2NH.js → store-sidebar-preferences-YXGEJVUO.js} +1 -1
  159. package/dist/chunks/{store-subagents-T7R2Z6TB.js → store-subagents-HRCAK7VZ.js} +1 -1
  160. package/dist/chunks/{store-task-inbox-JJTBW76C.js → store-task-inbox-WF74W4U2.js} +11 -11
  161. package/dist/chunks/{store-task-inventory-OB3F2APC.js → store-task-inventory-KHCTEZVK.js} +1 -1
  162. package/dist/chunks/{store-taskset-drafts-EKQWWFYQ.js → store-taskset-drafts-3ACG5AVX.js} +1 -1
  163. package/dist/chunks/{store-training-G6YLFSIR.js → store-training-R46WOGXB.js} +1 -1
  164. package/dist/chunks/{store-training-jobs-RC46YBF6.js → store-training-jobs-D4LECE7O.js} +1 -1
  165. package/dist/chunks/{store-training-models-6BA43IPP.js → store-training-models-EQVNXOVB.js} +1 -1
  166. package/dist/chunks/{taskset-EQRFQBYM.js → taskset-NR2X2UOK.js} +1 -1
  167. package/dist/chunks/{taskset-packages-XC6HEE3K.js → taskset-packages-ONULEIVI.js} +1 -1
  168. package/dist/chunks/{teams-bot-EAPGPTHZ.js → teams-bot-CHUYMD6K.js} +1 -1
  169. package/dist/chunks/{training-UF6RPI4T.js → training-IDSGYGU2.js} +1 -1
  170. package/dist/chunks/{web-search-CZ3NCLPY.js → web-search-BPON7H5N.js} +1 -1
  171. package/dist/chunks/{workspaces-EKKE5NAC.js → workspaces-2TJRDM5K.js} +1 -1
  172. package/dist/cli.js +1 -1
  173. package/dist/index.js +1 -1
  174. package/dist/web/assets/App-pcwmC4IR.js +154 -0
  175. package/dist/web/assets/{AppDialog-t2Fx5tK3.js → AppDialog-CdHad7GT.js} +1 -1
  176. package/dist/web/assets/{AppTerminalPanel-Dj1Y32oI.js → AppTerminalPanel-CrmoOgd4.js} +2 -2
  177. package/dist/web/assets/AppsView-0P6cBsD4.js +1 -0
  178. package/dist/web/assets/{BrowserSidebar-jhWi4rVm.js → BrowserSidebar-Cb6edJw6.js} +1 -1
  179. package/dist/web/assets/{CartesianChart-C1DIx0Ia.js → CartesianChart-B2Sxi0lv.js} +1 -1
  180. package/dist/web/assets/{CollaborationTabs-Bdr-HmOL.js → CollaborationTabs-PP0AIXhb.js} +1 -1
  181. package/dist/web/assets/{CommandMenu-Ux2yOHAc.js → CommandMenu-GfQIMe6W.js} +1 -1
  182. package/dist/web/assets/{CommunityView-DPEeVKFn.js → CommunityView-V6KmMl5n.js} +1 -1
  183. package/dist/web/assets/ComposerCreateImproveStrip-oeVeyhPX.js +1 -0
  184. package/dist/web/assets/ConversationImportsSettings-CuQcvVgE.js +1 -0
  185. package/dist/web/assets/ConversationImportsSettings-PfUa8V7X.css +1 -0
  186. package/dist/web/assets/{GetStartedView-CFHP0AaI.js → GetStartedView-2oZ068h_.js} +1 -1
  187. package/dist/web/assets/{HostedModelLearningReview-D8BGTPVN.js → HostedModelLearningReview-DLzak_Vf.js} +1 -1
  188. package/dist/web/assets/{HostedModelLearningSettings-JS1S7vNO.js → HostedModelLearningSettings-Eca6Pd9R.js} +1 -1
  189. package/dist/web/assets/{LabModelVersionDetailPage-Dx5Q3xV2.js → LabModelVersionDetailPage-DsBblnMp.js} +1 -1
  190. package/dist/web/assets/LabSkillSidebar-DDknttrB.js +1 -0
  191. package/dist/web/assets/{LabsRoute-CyYF8-dw.js → LabsRoute-CgNiUHsy.js} +4 -4
  192. package/dist/web/assets/MainChatThread-yCVg99LU.js +2 -0
  193. package/dist/web/assets/MainPane-C86le7UF.js +65 -0
  194. package/dist/web/assets/{MarkdownText-BR4V6lNO.js → MarkdownText-BBVriBCj.js} +1 -1
  195. package/dist/web/assets/{NativeSkillSidebar-DU9IEgIO.js → NativeSkillSidebar-D2uVZkqh.js} +1 -1
  196. package/dist/web/assets/{NewExperienceSwitcher-mIy6FzCj.js → NewExperienceSwitcher-DuD6GScJ.js} +1 -1
  197. package/dist/web/assets/{NewProjectDialog-RfTZTHxl.js → NewProjectDialog-B6XZkJrU.js} +1 -1
  198. package/dist/web/assets/OutputsPage-PUlmcWjv.js +1 -0
  199. package/dist/web/assets/{ProjectsPage-CE6QUB-b.js → ProjectsPage-DWBRmej6.js} +1 -1
  200. package/dist/web/assets/RightChatPanelStack-HaCVep4t.js +1 -0
  201. package/dist/web/assets/{RightSidebarHomePanel-CK0rP3WT.js → RightSidebarHomePanel-BUtdPb2L.js} +1 -1
  202. package/dist/web/assets/{ScheduledWorkPage-vOrYv8pp.js → ScheduledWorkPage-Dg9GkGrT.js} +1 -1
  203. package/dist/web/assets/SettingsView-DjjnCnlb.css +1 -0
  204. package/dist/web/assets/{SettingsView-DCKVrfjj.js → SettingsView-DtldfnV-.js} +4 -4
  205. package/dist/web/assets/{TeamChatView-Bwrjr-vk.js → TeamChatView-C71JX4je.js} +2 -2
  206. package/dist/web/assets/{TerminalOverlay-DhPoKZAq.js → TerminalOverlay-B4F6Q36s.js} +1 -1
  207. package/dist/web/assets/TrainingCreationPanel-B9MxFzQx.js +1 -0
  208. package/dist/web/assets/{TrainingDraftPanel-C9cRX5qf.js → TrainingDraftPanel-7C48sHfC.js} +1 -1
  209. package/dist/web/assets/{UsageSettingsSection-CrdcSGeW.js → UsageSettingsSection-CC57FcUB.js} +1 -1
  210. package/dist/web/assets/{WorkSidebarPanel-DSSikNFQ.js → WorkSidebarPanel-Cto1usLM.js} +1 -1
  211. package/dist/web/assets/{WorkspaceDiffPanel-BAFo0CPN.js → WorkspaceDiffPanel-CL7wi3kp.js} +3 -3
  212. package/dist/web/assets/{WorkspaceEnvironmentMenu-BVHAhwnJ.js → WorkspaceEnvironmentMenu-zdzSDofs.js} +18 -18
  213. package/dist/web/assets/{WorkspaceGitDialogs-CwVoiDQ2.js → WorkspaceGitDialogs-CZSmjnrc.js} +1 -1
  214. package/dist/web/assets/{WorkspaceMonacoEditor-TxLyhzNp.js → WorkspaceMonacoEditor-TrUDJMKb.js} +3 -3
  215. package/dist/web/assets/agent-connections-4Dza2mDg.js +1 -0
  216. package/dist/web/assets/{arrow-up-right-C9aE8Mfz.js → arrow-up-right-xKb5kWQJ.js} +1 -1
  217. package/dist/web/assets/{chunk-P3BRSSRD-DUGfuKA8.js → chunk-P3BRSSRD-BsGTkgyC.js} +1 -1
  218. package/dist/web/assets/{clipboard-Dk158Qp4.js → clipboard-BgjV3aCx.js} +1 -1
  219. package/dist/web/assets/{cloud-upload-k9eqBsHr.js → cloud-upload-Bw9XUsKQ.js} +1 -1
  220. package/dist/web/assets/{cssMode-CO35ARZp.js → cssMode-DxsFJGb-.js} +1 -1
  221. package/dist/web/assets/{folder-open-sYgceW_f.js → folder-open-CbmUjIYS.js} +1 -1
  222. package/dist/web/assets/{folder-plus-CS0R49m9.js → folder-plus-slsst7Ct.js} +1 -1
  223. package/dist/web/assets/{git-commit-horizontal-DrGxH2h4.js → git-commit-horizontal-BIS-8MuS.js} +1 -1
  224. package/dist/web/assets/{htmlMode-REMmzdfq.js → htmlMode-BE4VOrZo.js} +1 -1
  225. package/dist/web/assets/{index-C8aCGagb.js → index-DEg0S7Qk.js} +2 -2
  226. package/dist/web/assets/index-erq7hUne.css +1 -0
  227. package/dist/web/assets/{info-DLdbiUrh.js → info-5bL9xSSf.js} +1 -1
  228. package/dist/web/assets/{jsonMode-KEdMfkIf.js → jsonMode-CYimnBhD.js} +1 -1
  229. package/dist/web/assets/{lspLanguageFeatures-5KZwEoxW.js → lspLanguageFeatures-CiFuk-P7.js} +1 -1
  230. package/dist/web/assets/{minimize-2-CqcI4zcM.js → minimize-2-BGVWKvTg.js} +1 -1
  231. package/dist/web/assets/{monaco.contribution-omszXBEj.js → monaco.contribution-BTY4dJ0f.js} +2 -2
  232. package/dist/web/assets/{monaco.contribution-BJGj65F9.js → monaco.contribution-C7sMrcos.js} +2 -2
  233. package/dist/web/assets/{monaco.contribution-DO10L0zW.js → monaco.contribution-DUE3CQph.js} +2 -2
  234. package/dist/web/assets/{monaco.contribution-Cly9Wt7L.js → monaco.contribution-DkLVGT8N.js} +2 -2
  235. package/dist/web/assets/{monitor-BFVCcbxp.js → monitor-B5hx_tzp.js} +1 -1
  236. package/dist/web/assets/{play-C469pVZq.js → play-pmSO95Qg.js} +1 -1
  237. package/dist/web/assets/{python-Dw0YcVy9.js → python-CiZvL3LX.js} +1 -1
  238. package/dist/web/assets/{save-CtSjPydi.js → save-CvYL4DUg.js} +1 -1
  239. package/dist/web/assets/{square-BuImvLhT.js → square-DT_uFOml.js} +1 -1
  240. package/dist/web/assets/{toggleHighContrast-DjCO9lIP.js → toggleHighContrast-CrE1_HY0.js} +1 -1
  241. package/dist/web/assets/{tsMode-BAOnxKd6.js → tsMode-CI_PdZmj.js} +1 -1
  242. package/dist/web/assets/{upload-2JkFZo3h.js → upload-PVi8vC3T.js} +1 -1
  243. package/dist/web/assets/{useLocalAgentSchedules-BNqAisfS.js → useLocalAgentSchedules-BHJNVf42.js} +1 -1
  244. package/dist/web/assets/useProviderSettings-CU3zXyie.js +5 -0
  245. package/dist/web/assets/{useProviderSettings-CmL_BaxP.css → useProviderSettings-Cktvzinz.css} +1 -1
  246. package/dist/web/assets/{useSessionTurnCache-BHU2-Jmz.js → useSessionTurnCache-BE7cipLX.js} +1 -1
  247. package/dist/web/assets/{wifi-off-CpOAH62M.js → wifi-off-7WiFuOhD.js} +1 -1
  248. package/dist/web/assets/{workers-0QvlA2T5.js → workers-Cv8r4CvM.js} +1 -1
  249. package/dist/web/assets/{yaml-BK3qxo7D.js → yaml-Bj7mdkV2.js} +1 -1
  250. package/dist/web/index.html +2 -2
  251. package/docs/command-reference.md +10 -3
  252. package/docs/conversation-imports.md +57 -0
  253. package/package.json +1 -1
  254. package/dist/chunks/app-server-runtime-VCRNCNX2.js +0 -2
  255. package/dist/chunks/chunk-FV2R5RUN.js +0 -3
  256. package/dist/chunks/chunk-FY5KHLMW.js +0 -2
  257. package/dist/chunks/chunk-HY3GOBFJ.js +0 -58
  258. package/dist/chunks/chunk-KG325WTN.js +0 -2
  259. package/dist/chunks/chunk-MULXCKG7.js +0 -10
  260. package/dist/chunks/chunk-OGDADQGH.js +0 -143
  261. package/dist/chunks/chunk-QHWGQ3A4.js +0 -5
  262. package/dist/chunks/chunk-VRIEKBBH.js +0 -9
  263. package/dist/chunks/chunk-WJ43MJ3F.js +0 -2
  264. package/dist/chunks/chunk-YY7LEQGP.js +0 -2
  265. package/dist/chunks/cli-X25RSO2X.js +0 -2
  266. package/dist/chunks/connected-app-executor-IVLGQP65.js +0 -2
  267. package/dist/chunks/connection-HTF6CC7M.js +0 -2
  268. package/dist/chunks/core-commands-A2DGGIPS.js +0 -2
  269. package/dist/chunks/host-profile-evaluation-tools-NRLXL2S5.js +0 -2
  270. package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +0 -2
  271. package/dist/chunks/hosted-harness-runtime-723S5ZSH.js +0 -2
  272. package/dist/chunks/hosted-profile-compiler-2DQIFSXW.js +0 -2
  273. package/dist/chunks/import-MLZUHITH.js +0 -4
  274. package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +0 -2
  275. package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +0 -2
  276. package/dist/chunks/project-action-payload-7VGL7OER.js +0 -2
  277. package/dist/chunks/refiner-profile-service-UUIWFJVT.js +0 -2
  278. package/dist/chunks/saved-work-6BMBFP43.js +0 -2
  279. package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +0 -2
  280. package/dist/web/assets/App-s-CJswyt.js +0 -154
  281. package/dist/web/assets/AppsView-BYE5EBDJ.js +0 -1
  282. package/dist/web/assets/ComposerCreateImproveStrip-CEgh4OtN.js +0 -1
  283. package/dist/web/assets/LabSkillSidebar-BxffN-pN.js +0 -1
  284. package/dist/web/assets/MainChatThread-DZpcFRFl.js +0 -2
  285. package/dist/web/assets/MainPane-5DTtwVCk.js +0 -65
  286. package/dist/web/assets/OutputsPage-Cr1Spf7S.js +0 -1
  287. package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +0 -1
  288. package/dist/web/assets/SettingsView-Dulr_xlq.css +0 -1
  289. package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +0 -1
  290. package/dist/web/assets/index-3iPNbbER.css +0 -1
  291. package/dist/web/assets/useProviderSettings-C4L4wDoh.js +0 -5
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{Fb as le,Gb as pe,Hb as me,aa as Y,db as X,eb as ee,gb as te,hb as ae,ib as se,pb as U,qb as F,rb as ne,sb as re,tb as ie,ua as N,ub as oe,v as Q,vb as ce,wb as de,xa as K}from"./chunk-25MBPJVY.js";import{a as A,b as H,c as $,e as M,j as L,k as j,l}from"./chunk-WN3V6KDN.js";import{N as C,aa as W,ba as Z,d as _,e as G}from"./chunk-VYLGI3IH.js";import{La as J}from"./chunk-ACYFMLWG.js";import{b as o}from"./chunk-ES2ISFJC.js";import{a as y}from"./chunk-FTQLQJQV.js";var Re=o.object({id:A,purpose:o.string().trim().min(1).max(500),audience:o.enum(["orchestrator","environment","privileged_scorer","trainer","infrastructure"]),required:o.boolean(),ttlSeconds:o.number().int().positive().max(86400),scopes:o.array(o.string().trim().min(1).max(500)).max(100).default([])}).strict(),ke=o.object({declarationId:A,leaseRef:o.string().trim().min(8).max(1e3),audience:Re.shape.audience,expiresAt:$}).strict(),we=o.object({adapterId:A,placement:o.enum(["local","remote","colocated","provider_native"]),capabilityReceipt:H,runtimeVersion:o.string().trim().min(1).max(200),dataPlane:o.object({provider:A,dataPlaneId:A,cellId:A,runnerPoolId:A,runtimeImageDigest:o.string().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:H}).strict().nullable()}).strict(),Se=o.object({adapterId:A,kind:o.enum(["local","ssh","managed","custom"]),deviceOrPool:o.string().trim().min(1).max(1e3),capabilityReceipt:H,provider:A.nullable()}).strict(),He=o.object({adapterId:A,workerVersion:o.string().trim().min(1).max(200),workerImageDigest:o.string().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:o.string().trim().min(1).max(500),capabilityReceipt:H}).strict(),ue=o.object({schemaVersion:o.literal("openpond.harnessRunManifest.v1"),id:A,harnessRelease:M,datasetRelease:M,evidenceSets:o.array(M).max(1e4),model:o.object({source:o.string().trim().min(1).max(200),revision:o.string().trim().min(1).max(500),artifactHash:H.nullable(),tokenizerRevision:o.string().trim().min(1).max(500),chatTemplateHash:H}).strict(),recipe:o.object({method:o.string().trim().min(1).max(100),version:o.string().trim().min(1).max(200),configHash:H}).strict(),runtimeTarget:we,computeTarget:Se,engine:He,resolvedBundleHash:H,secretLeaseRefs:o.array(ke).max(1e3),approval:o.object({approvalHash:H,approvedAt:$,maximumSpendUsd:o.number().nonnegative().nullable()}).strict(),createdAt:$}).strict(),fe=ue.extend({contentHash:H}).strict(),ge=o.object({schemaVersion:o.literal("openpond.resolvedTrainingBundle.v1"),projection:o.literal("trainer"),harnessRelease:M,datasetRelease:M,evidenceSetRelease:M.nullable(),files:o.array(o.object({path:o.string().trim().min(1).max(2e3),sha256:H,sizeBytes:o.number().int().nonnegative()}).strict()).max(1e5)}).strict(),ve=ge.extend({contentHash:H}).strict(),Te=[{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,q=/\b(?:\+?1[-.\s]?)?\(?\d{3}\)?[-.\s]\d{3}[-.\s]\d{4}\b/g;function xe(e){let t=[],a=e;for(let s of Te)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 n=V.test(a);V.lastIndex=0,n&&t.push("email address"),a=a.replace(V,"[REDACTED email]"),q.lastIndex=0;let c=q.test(a);return q.lastIndex=0,c&&t.push("phone number"),a=a.replace(q,"[REDACTED phone]"),{secretStatus:t.some(s=>!s.includes("email")&&!s.includes("phone"))?"blocked":"passed",piiStatus:n||c?"review":"passed",findings:t,redacted:a}}y(xe,"scanAndRedactEvidence");function Ae(e){let t=new Map;return{tasks:e.tasks.map(({artifactRefs:n,...c})=>({...c,assets:n.map(s=>{if(s.visibility!=="policy")throw new Error("Learning task inputs must be policy-visible assets.");let i=e.assets?.find(p=>p.id===s.id),d=e.assetBytes?.get(s.id)??(i?new TextEncoder().encode(_(i,s)):void 0);if(!d||d.byteLength!==s.sizeBytes||j(d)!==s.contentHash)throw new Error(`Learning task input bytes are missing or changed: ${s.id}.`);let g=`learning/assets/${l({task:c.id,asset:s.id}).slice(0,40)}/${s.path}`;return t.set(g,new Uint8Array(d)),{id:s.id,sourceRefId:e.sourceId,artifactRef:g,fileName:s.path.split("/").at(-1),mediaType:s.mediaType,sha256:s.contentHash,sizeBytes:s.sizeBytes,split:c.split,metadata:{portableAsset:s}}}),...c.requiredOutputs?{requiredOutputs:c.requiredOutputs.map(s=>({...s,schemaRef:s.schemaRef?.id??null,maxBytes:s.maxBytes??void 0}))}:{}})),tasksetAssetBytes:t}}y(Ae,"materializeLearningBatchAssets");function Ee(e){let t=W(e),a=Z(t),n=t.environment.kind==="work";if(!n&&(t.environment.kind!=="text"||t.tools.length||t.tasks.some(r=>r.artifactRefs.length))||n&&t.tasks.some(r=>!r.requiredOutputs?.length))throw new Error("This learning batch requires a supported text or Work environment with declared outputs.");let c=e.source.id,s=Ae({tasks:t.tasks,sourceId:c,assets:e.assets,assetBytes:e.assetBytes}),i={demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},d=[];for(let r of a.admissions){let h=e.evidence.find(b=>b.id===r.evidence.id),v=e.decisions.find(b=>b.id===r.decision.id);e.batch.purpose==="reward_training"&&v.grade?.training.status==="scored"&&i.rewards.push({id:`reward-${r.taskId}`,taskId:r.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:[c],artifactRef:e.binding.id,metadata:{rewardBinding:C(e.binding),evidence:r.evidence,decision:r.decision}}),r.supervisedTarget!==null&&i.demonstrations.push({kind:"demonstration",id:`demo-${r.taskId}`,taskId:r.taskId,sourceRefs:[c],artifactRef:r.decision.id,approved:!0,confidence:1,prompt:null,response:JSON.stringify(r.supervisedTarget),metadata:{evidence:r.evidence,decision:r.decision,targetGradeHash:v.targetGrade?.contentHash}});for(let[b,w,T]of[["observed",h.submission.observedOutput,v.grade],["target",v.approvedTarget,v.targetGrade]]){let x=Ie(T);w===null||x===null||d.push({id:`fixture-${b}-${r.taskId}`,taskId:r.taskId,label:x.passed?"positive":"negative",output:w,infrastructureError:null,expectedPassed:x.passed,expectedRewardEligible:x.rewardEligible,metadata:{gradeReceiptHash:T.contentHash,evidence:r.evidence,decision:r.decision}})}}if(!d.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 g=le(e.binding,e.rewards,e.assets),p=[];for(let r of t.graders){if(r.kind!=="custom_verifier")continue;let h=e.assets?.find(b=>b.id===r.verifierRef.id);if(!h)throw new Error(`Reward ${r.id} is missing its immutable verifier source.`);let v=pe(r.verifierRef.contentHash);p.some(b=>b.path===v)||p.push({path:v,role:"verifier",content:_(h,r.verifierRef)})}let u=N.parse({schemaVersion:"openpond.taskset.v1",id:`learning-${l([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:n?"work":"chat",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(r=>r.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:n?"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(r=>r.kind==="human"?"human":r.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(r=>({...r,schemaVersion:"openpond.taskData.v1",sourceRefs:[c],metadata:{admission:a.admissions.find(h=>h.taskId===r.id),exampleOrigin:e.evidence.find(h=>h.id===r.id)?.correctionFeedbackId?"corrected":"extracted"}})),graders:g,graderFixtures:d,learningSignals:i,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:l("openpond-learning-batch-v1"),promptTemplateVersion:"learning-batch-v1",buildIntent:e.batch.purpose==="supervised_training"?"demonstrations":"verifiable_reward",buildSpecification:null,evidenceHashes:e.batch.examples.map(r=>r.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:C(t),trainingMethod:e.batch.purpose==="supervised_training"?"sft":e.batch.purpose==="reward_training"?"grpo":"none",tasksetOutputContract:n?{mode:"artifacts",requiredOutputSource:"task.requiredOutputs"}:{mode:"structured_json",jsonSchema:e.definition.outputSchema,renderer:null}}});return{taskset:N.parse({...u,contentHash:K(u)}),release:t,generatedFiles:p,tasksetAssetBytes:s.tasksetAssetBytes}}y(Ee,"materializeLearningBatchTaskset");function Ie(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"}}y(Ie,"fixtureOutcome");function Ue(e){let t=[],a=0;for(let s of new Map(e.evidence.flatMap(i=>i.submission.assets.map(d=>[d.id,d]))).values()){let i=e.assetBytes?.get(s.id),d=e.assets?.find(p=>p.id===s.id),g=i?.byteLength??(d?new TextEncoder().encode(d.text).byteLength:0);if(a+=g,a>Y)throw new Error("Learning input assets exceed the training package limit.");i?t.push(new TextDecoder().decode(i)):d&&t.push(d.text)}let n=xe(JSON.stringify({tasks:e.evidence.map(s=>s.submission),targets:e.decisions.map(s=>s.approvedTarget),definition:e.definition,inputAssets:t}));if(n.secretStatus!=="passed"||n.piiStatus!=="passed")throw new Error(`Learning batch contains unresolved data findings (${n.findings.join(", ")}). Correct the source examples and seal a revised batch before training.`);let c=Q.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:C(e.batch),taskDefinition:e.batch.taskDefinition,admittedBy:e.batch.sealedBy,licensingStatus:"approved",secretScanStatus:n.secretStatus,piiScanStatus:n.piiStatus,metadata:{admission:e.admissionContext??"explicit_local_batch_review",privacyScanner:"openpond-evidence-v1",findings:n.findings}});return Ee({...e,source:c})}y(Ue,"prepareReviewedLearningBatch");async function Je(e){let t=structuredClone(e),{project:a,recipe:n,taskset:c,approval:s}=t,i=fe.parse(t.manifest),d=ve.parse(t.bundleManifest),{contentHash:g,...p}=i,{contentHash:u,...r}=d;if(l(p)!==g||l(r)!==u||i.resolvedBundleHash!==u||l(i.harnessRelease)!==l(d.harnessRelease)||l(i.datasetRelease)!==l(d.datasetRelease)||l(i.evidenceSets)!==l(d.evidenceSetRelease?[d.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(n.method!=="grpo"||l(n)!==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 v=o.object({wallTimeMs:o.number().positive()}).parse(n.resourceLimits);t.idempotencyKey!==void 0&&o.string().trim().min(16).max(191).parse(t.idempotencyKey);let b=Me(d,t.files),w=F.parse(t.evaluationSource),T=b.find(z=>z.path===U);if(!T||l(JSON.parse(Buffer.from(T.content,"base64").toString("utf8")))!==l(w))throw new Error("The evaluation source differs from the immutable training bundle.");let x=await re(w),S={schemaVersion:"openpond.managedRlPortableSubmission.v1",...t.origin?{origin:G.parse(t.origin)}:{},sourceRunRef:`openpond:model-run:${i.id}`,name:`OpenPond Managed \xB7 ${a.id}`.slice(0,191),idempotencyKey:t.idempotencyKey??`openpond-managed:${g}`.slice(0,191),modelProject:{id:a.hosted.projectId,portableProjectId:a.hosted.portableProjectId},manifest:i,sourceTaskset:c,modelImprovementQualification:t.modelImprovementQualification??null,recipe:n,resolvedBundle:{manifest:d,files:b},validationTasks:w.tasks,validationAssets:w.assets},I={schemaVersion:"openpond.trainingInputArtifactUpload.v2",kind:"portable_training_bundle",idempotencyKey:`stage:${t.idempotencyKey??g}`,sourceManifest:{id:i.id,contentHash:g},payload:S},P=await oe({...I,contentHash:await ie(I)}),m={schemaVersion:"openpond.trainingJobSubmission.v2",idempotencyKey:t.idempotencyKey??`openpond-training-v2:${g}`,name:`OpenPond Managed \xB7 ${a.id}`.slice(0,200),source:{...t.origin?{origin:G.parse(t.origin)}:{},modelProject:{id:a.hosted.projectId,portableProjectId:a.hosted.portableProjectId,revision:a.revision,contentHash:a.hosted.etag},harnessRunManifest:I.sourceManifest,harnessRelease:i.harnessRelease,taskset:c,tasksetRelease:{id:c.id,contentHash:c.contentHash},dataset:d.datasetRelease,evaluation:x,evidenceSets:d.evidenceSetRelease?[d.evidenceSetRelease]:[]},job:{kind:"policy_optimize",baseModel:h,recipe:n,rewardSource:t.rewardSource,resumeFrom:t.resumeFrom},requestedCapabilities:[{id:"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(v.wallTimeMs/1e3)},approval:{...s,approvedAt:i.approval.approvedAt,exportApproved:!0}},f=await de({...m,contentHash:await ce(m)});return{artifact:P,submission:f}}y(Je,"prepareManagedTrainingSubmission");function Me(e,t){if(t.length!==e.files.length||new Set(t.map(n=>n.path)).size!==t.length)throw new Error("The managed bundle file inventory changed.");let a=new Map(t.map(n=>[n.path,n]));return e.files.map(n=>{let c=a.get(n.path);if(!c||c.path.includes("\\")||c.path.includes("\0")||c.path.split("/").some(i=>!i||i==="."||i==="..")||c.path==="bundle-manifest.json"||c.encoding!=="base64")throw new Error("The managed bundle contains an invalid file.");let s=Buffer.from(c.content,"base64");if(s.toString("base64")!==c.content||c.sha256!==n.sha256||c.sizeBytes!==n.sizeBytes||s.byteLength!==n.sizeBytes||j(s)!==n.sha256)throw new Error(`Managed training bundle file ${c.path} changed before upload.`);return c})}y(Me,"verifyFiles");var Be=o.object({name:o.literal("adamw").default("adamw"),weightDecay:o.number().nonnegative().max(1).default(0),beta1:o.number().positive().lt(1).default(.9),beta2:o.number().positive().lt(1).default(.999),epsilon:o.number().positive().max(.01).default(1e-8)}).strict().default({name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8});function Ze(e,t){if(!t||typeof t!="object"||Array.isArray(t))return t;let a=t;if(a.method==="dpo"){let S=R(a.policyModel),I=R(a.referenceModel),P=R(a.dataset),m=l({tasksetHash:e.contentHash,preferenceSignals:e.learningSignals.preferences.map(f=>({id:f.id,artifactRef:f.artifactRef,prompt:f.prompt,chosen:f.chosen,rejected:f.rejected,approved:f.approved})),policyModel:S,referenceModel:I,dataset:P});return{...a,referenceLogprobs:{cacheSchemaVersion:"openpond.dpoReferenceLogprobs.v1",cacheKey:l(["dpo-reference-logprobs",m]),invalidationHash:m}}}if(a.method==="ppo"){let S=R(a.policyOptimization),I=R(S.policyModel),P=R(S.referenceModel),m=R(S.optimizer),f=R(m.valueModel),z=R(S.dataset),k=R(S.reward),O=l(I),D=l(P),ye=l(f);return{...a,policyOptimization:{...S,dataset:{...z,tasksetId:e.id,tasksetHash:e.contentHash},reward:{...k,graderHash:l(e.graders)}},resume:{...R(a.resume),policyHash:O,referenceHash:D,valueModelHash:ye}}}if(a.method!=="grpo")return t;let n=a.reward&&typeof a.reward=="object"&&!Array.isArray(a.reward)?a.reward:{},c=e.environment.metadata.toolContractHash,s=typeof c=="string"&&c.trim()?c:n.toolContractHash,i=R(a.baseModel),d=R(a.dataset),g=R(a.rollout),p=R(a.optimizer),u=R(a.loss),r=R(a.resourceLimits),h=E(d.maxExamples,1),v=E(g.groupSize,2),b=E(g.maxOutputTokens,1),w=E(d.maxPromptTokens,1),T=E(p.maxSteps,1),x=E(p.iterations,2);return{...a,resourceLimits:{...r,maxGpuSeconds:r.maxGpuSeconds??Math.min(10800,Math.ceil(E(r.wallTimeMs,18e4)/1e3))},reward:{...n,graderHash:l(e.graders),toolContractHash:s},policyOptimization:{schemaVersion:"openpond.policyOptimization.v1",policyModel:i,referenceModel:i,dataset:{tasksetId:e.id,tasksetHash:e.contentHash,split:"train",selectionStrategy:d.selectionStrategy,selectionSeed:g.seed,maxExamples:h},sampler:{temperature:g.temperature,topP:g.topP,maxOutputTokens:b,maxTurns:g.maxTurns,concurrency:g.concurrency},environment:{id:n.environmentId,version:n.environmentVersion,toolContractHash:s},reward:{graderId:n.graderId,graderHash:l(e.graders),learnedPreference:n.learnedPreference??null},kl:{coefficient:u.klBeta??null,referenceConstraint:"fixed_reference"},budgets:{maxRollouts:E(r.maxRollouts,h*v),maxEnvironmentExecutions:E(r.maxRollouts,h*v),maxInputTokens:h*v*w,maxOutputTokens:h*v*b,maxOptimizerSteps:T*x,wallTimeMs:E(r.wallTimeMs,18e4),maximumCostUsd:null},checkpointEverySteps:1,seed:g.seed,evaluationSplit:"frozen_eval",optimizer:{method:"grpo",groupSize:v,normalization:"group_standardized",advantageEpsilon:typeof p.advantageEpsilon=="number"?p.advantageEpsilon:1e-8,loss:u.method??"grpo",clipRange:typeof p.clipRange=="number"?p.clipRange:.2,iterations:x,microbatchSize:E(p.microbatchSize,1),gradientAccumulationSteps:E(p.gradientAccumulationSteps,1),adamw:Be.parse(p.adamw)}}}}y(Ze,"withAuthoritativeRecipeHashes");function R(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}y(R,"record");function E(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:t}y(E,"positiveInteger");function Qe(e){let t=e.sourceRelease,a=[],n=e.skills??[],c=e.agents??[];if([...n,...c].some(p=>p.visibility!=="policy"))throw new Error("The portable policy Harness requires policy-visible dependencies.");let s=he({id:"desktop-dependency-lock",path:".openpond/harness/dependency-lock.json",hashInput:{profileHead:e.profileHead??null,sourceRelease:t,tools:a,skills:n.map(({id:p,contentHash:u})=>({id:p,contentHash:u})),agents:c.map(({id:p,contentHash:u})=>({id:p,contentHash:u}))},mediaType:"application/json",visibility:"policy"}),i=X({schemaVersion:"openpond.agentSnapshot.v2",id:`agent-snapshot-${l([t,a,s.contentHash]).slice(0,24)}`,sourceRelease:t,instructions:[],skills:n,agents:c,toolDeclarations:a,capabilityRequirements:[],dependencyLock:s,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[]},metadata:{sourceReleaseId:t?.id??null}}),d=he({id:"desktop-harness-program",path:".openpond/harness/program.json",hashInput:{program:"openpond.desktop-agent-loop.v1"},mediaType:"application/json",visibility:"policy"}),g=ee({schemaVersion:"openpond.harnessRelease.v2",id:`harness-${l([i.contentHash,d.contentHash,a]).slice(0,24)}`,agentSnapshot:{id:i.id,contentHash:i.contentHash},program:d,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:[...n,...c],metadata:{runtimeProtocol:"openpond.desktop-agent-loop.v1"}});return{agentSnapshot:i,harnessRelease:g}}y(Qe,"createPolicyHarnessContext");function he(e){let t=L(e.hashInput);return{id:e.id,path:e.path,contentHash:l(e.hashInput),sizeBytes:new TextEncoder().encode(t).byteLength,mediaType:e.mediaType,visibility:e.visibility}}y(he,"asset");function Ye(e){let{taskset:t,modelProject:a,harnessRelease:n,tasksetRelease:c}=e,s=a.trainingSetup,i=M.parse(n),d=M.parse(c);if(e.openpondRelease,e.workerProtocol,K(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!==t.id||s.tasksetRef.contentHash!==t.contentHash)throw new Error("Model Run must bind an exact Taskset, Model revision, tokenizer, chat template, and Recipe.");let p=t.profileRelease??{id:`profile_${t.profileId}`,revision:t.revision,contentHash:l({profileId:t.profileId,sourceCommit:t.authoringProvenance.sourceCommit,skillHash:t.authoringProvenance.skillHash})},u=new Map;if(e.evaluationSource){let m=F.parse(e.evaluationSource);if(l(m.taskset)!==l(s.evaluationTasksetRef))throw new Error("The evaluation source differs from the prepared Model configuration.");ne(t.tasks.filter(f=>f.split==="train"),m.tasks),u.set(U,new TextEncoder().encode(L(m)))}else if(s.evaluationTasksetRef)throw new Error("The prepared Model requires its pinned evaluation source bytes.");let r=e.harnessSource?e.harnessSource.schemaVersion==="openpond.harnessPolicySourcePackage.v1"?ae(e.harnessSource,i):se(e.harnessSource,i):null;if(s.harnessRelease&&!r)throw new Error("A selected Harness requires its complete immutable source package.");if(r&&(!s.harnessRelease||s.harnessRelease.id!==i.id||s.harnessRelease.contentHash!==i.contentHash))throw new Error("Harness source differs from the Model's explicit selection.");if(r){if((e.runtime.placement!=="local"||e.compute.kind!=="local")&&(!r.agentSnapshot.portability.portable||r.schemaVersion==="openpond.harnessSourcePackage.v1"&&r.harnessRelease.files.some(f=>f.visibility!=="policy")))throw new Error("The selected Harness contains source that cannot leave its local host.");B(u,"harness/source-package.json",r)}B(u,"harness/execution.json",te.parse({schemaVersion:"openpond.harnessSourceSelection.v1",mode:r?"selected_release":"taskset_owned",harnessRelease:i,sourcePackageHash:r?.contentHash??null}));let h=me(t,e.rewardExecution);if(h){let m=e.verifierAssets??[],f=J(h.binding,h.rewards).flatMap(k=>k.kind==="custom_verifier"?[k.verifierRef]:k.kind==="model_judge"?[k.rubricRef]:[]),z=new Set(f.map(k=>k.id));if(new Set(m.map(k=>k.id)).size!==m.length||m.some(k=>!z.has(k.id)))throw new Error("Unexpected or duplicate private verifier asset.");for(let k of f){let O=m.find(D=>D.id===k.id);if(!O||k.visibility!=="verifier")throw new Error("Training bundle requires its private verifier asset.");_(O,k)}B(u,"reward-binding.json",{kind:"reward_binding_v1",binding:h.binding,rewards:h.rewards,assets:m})}else if(e.verifierAssets?.length)throw new Error("Private verifier assets require a published Reward binding.");B(u,"environment.json",{schemaVersion:"openpond.harnessEnvironment.v1",environment:t.environment,capabilities:t.capabilities,policy:t.policy,outputContract:t.metadata.tasksetOutputContract?.mode==="text"?null:t.metadata.tasksetOutputContract??null}),B(u,"graders.json",{schemaVersion:"openpond.harnessGraders.v1",graders:t.graders,fixtures:t.graderFixtures}),B(u,"tool-contract.json",{schemaVersion:"openpond.harnessToolContract.v1",toolNames:t.environment.toolNames,actionBindings:t.environment.actionBindings??[],capabilities:t.capabilities,connectedAppScopes:t.policy.connectedAppScopes});let v=t.tasks.filter(m=>m.split==="train");if(v.length>0)B(u,"dataset/train.json",{schemaVersion:"openpond.datasetSplit.v1",split:"train",tasks:v}),Pe({assets:u,tasks:v,tasksetAssetBytes:e.tasksetAssetBytes??new Map});else if(t.datasetArtifact)B(u,"dataset/artifact.json",t.datasetArtifact);else throw new Error("Taskset has no training dataset.");let b=Object.values(t.learningSignals).flat().filter(m=>m.approved);for(let m of b){let f=be(m);u.set(`evidence/signals/${j(f)}.json`,f)}let w={id:`dataset_${t.id}_r${t.revision}`,contentHash:l({taskset:d,sourceRefs:t.sourceRefs,datasetArtifact:t.datasetArtifact??null,trainTasks:v})},T=b.length>0?{id:`evidence_${t.id}_r${t.revision}`,contentHash:l({taskset:d,harnessRelease:i,datasetRelease:w,profileRelease:p,signals:b})}:null,x=ge.parse({schemaVersion:"openpond.resolvedTrainingBundle.v1",projection:"trainer",harnessRelease:i,datasetRelease:w,evidenceSetRelease:T,files:[...u.entries()].sort(([m],[f])=>m.localeCompare(f)).map(([m,f])=>({path:m,sha256:j(f),sizeBytes:f.byteLength}))}),S=ve.parse({...x,contentHash:l(x)}),I=ue.parse({schemaVersion:"openpond.harnessRunManifest.v1",id:`manifest_${e.modelRunId}_${e.approval.approvalHash.slice(0,16)}`,harnessRelease:n,datasetRelease:w,evidenceSets:T?[T]:[],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:l(s.recipe)},runtimeTarget:e.runtime,computeTarget:e.compute,engine:e.engine,resolvedBundleHash:S.contentHash,secretLeaseRefs:e.secretLeaseRefs??[],approval:e.approval,createdAt:a.updatedAt});return{manifest:fe.parse({...I,contentHash:l(I)}),resolvedBundleManifest:S,assets:u,profileRelease:p,harnessRelease:i,tasksetRelease:d,datasetRelease:w,evidenceSetRelease:T}}y(Ye,"buildTasksetTrainingBundle");function Pe(e){let t=new Set;for(let a of e.tasks)for(let n of a.assets??[]){if(t.has(n.artifactRef))throw new Error(`Training asset path ${n.artifactRef} is shared by multiple tasks.`);t.add(n.artifactRef);let c=e.tasksetAssetBytes.get(n.artifactRef);if(!c)throw new Error(`Resolved Training Bundle is missing Work asset ${n.artifactRef}.`);if(c.byteLength!==n.sizeBytes||j(c)!==n.sha256)throw new Error(`Resolved Training Bundle Work asset ${n.artifactRef} failed immutable verification.`);e.assets.set(n.artifactRef,c)}for(let a of e.tasksetAssetBytes.keys())if(!t.has(a))throw new Error(`Resolved Training Bundle received unexpected Work asset ${a}.`)}y(Pe,"addTasksetAssets");function B(e,t,a){e.set(t,be(a))}y(B,"addJsonAsset");function be(e){return Buffer.from(L(e),"utf8")}y(be,"bytes");export{we as a,Se as b,He as c,fe as d,ve as e,xe as f,Ue as g,Je as h,Be as i,Ze as j,Qe as k,Ye as l};
2
+ import{Fb as le,Gb as pe,Hb as me,aa as Y,db as X,eb as ee,gb as te,hb as ae,ib as se,pb as U,qb as F,rb as ne,sb as re,tb as ie,ua as N,ub as oe,v as Q,vb as ce,wb as de,xa as K}from"./chunk-XMKCCLGB.js";import{a as A,b as H,c as $,e as M,j as L,k as j,l}from"./chunk-WN3V6KDN.js";import{N as C,aa as W,ba as Z,d as _,e as G}from"./chunk-VYLGI3IH.js";import{La as J}from"./chunk-ACYFMLWG.js";import{b as o}from"./chunk-ES2ISFJC.js";import{a as y}from"./chunk-FTQLQJQV.js";var Re=o.object({id:A,purpose:o.string().trim().min(1).max(500),audience:o.enum(["orchestrator","environment","privileged_scorer","trainer","infrastructure"]),required:o.boolean(),ttlSeconds:o.number().int().positive().max(86400),scopes:o.array(o.string().trim().min(1).max(500)).max(100).default([])}).strict(),ke=o.object({declarationId:A,leaseRef:o.string().trim().min(8).max(1e3),audience:Re.shape.audience,expiresAt:$}).strict(),we=o.object({adapterId:A,placement:o.enum(["local","remote","colocated","provider_native"]),capabilityReceipt:H,runtimeVersion:o.string().trim().min(1).max(200),dataPlane:o.object({provider:A,dataPlaneId:A,cellId:A,runnerPoolId:A,runtimeImageDigest:o.string().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:H}).strict().nullable()}).strict(),Se=o.object({adapterId:A,kind:o.enum(["local","ssh","managed","custom"]),deviceOrPool:o.string().trim().min(1).max(1e3),capabilityReceipt:H,provider:A.nullable()}).strict(),He=o.object({adapterId:A,workerVersion:o.string().trim().min(1).max(200),workerImageDigest:o.string().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:o.string().trim().min(1).max(500),capabilityReceipt:H}).strict(),ue=o.object({schemaVersion:o.literal("openpond.harnessRunManifest.v1"),id:A,harnessRelease:M,datasetRelease:M,evidenceSets:o.array(M).max(1e4),model:o.object({source:o.string().trim().min(1).max(200),revision:o.string().trim().min(1).max(500),artifactHash:H.nullable(),tokenizerRevision:o.string().trim().min(1).max(500),chatTemplateHash:H}).strict(),recipe:o.object({method:o.string().trim().min(1).max(100),version:o.string().trim().min(1).max(200),configHash:H}).strict(),runtimeTarget:we,computeTarget:Se,engine:He,resolvedBundleHash:H,secretLeaseRefs:o.array(ke).max(1e3),approval:o.object({approvalHash:H,approvedAt:$,maximumSpendUsd:o.number().nonnegative().nullable()}).strict(),createdAt:$}).strict(),fe=ue.extend({contentHash:H}).strict(),ge=o.object({schemaVersion:o.literal("openpond.resolvedTrainingBundle.v1"),projection:o.literal("trainer"),harnessRelease:M,datasetRelease:M,evidenceSetRelease:M.nullable(),files:o.array(o.object({path:o.string().trim().min(1).max(2e3),sha256:H,sizeBytes:o.number().int().nonnegative()}).strict()).max(1e5)}).strict(),ve=ge.extend({contentHash:H}).strict(),Te=[{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,q=/\b(?:\+?1[-.\s]?)?\(?\d{3}\)?[-.\s]\d{3}[-.\s]\d{4}\b/g;function xe(e){let t=[],a=e;for(let s of Te)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 n=V.test(a);V.lastIndex=0,n&&t.push("email address"),a=a.replace(V,"[REDACTED email]"),q.lastIndex=0;let c=q.test(a);return q.lastIndex=0,c&&t.push("phone number"),a=a.replace(q,"[REDACTED phone]"),{secretStatus:t.some(s=>!s.includes("email")&&!s.includes("phone"))?"blocked":"passed",piiStatus:n||c?"review":"passed",findings:t,redacted:a}}y(xe,"scanAndRedactEvidence");function Ae(e){let t=new Map;return{tasks:e.tasks.map(({artifactRefs:n,...c})=>({...c,assets:n.map(s=>{if(s.visibility!=="policy")throw new Error("Learning task inputs must be policy-visible assets.");let i=e.assets?.find(p=>p.id===s.id),d=e.assetBytes?.get(s.id)??(i?new TextEncoder().encode(_(i,s)):void 0);if(!d||d.byteLength!==s.sizeBytes||j(d)!==s.contentHash)throw new Error(`Learning task input bytes are missing or changed: ${s.id}.`);let g=`learning/assets/${l({task:c.id,asset:s.id}).slice(0,40)}/${s.path}`;return t.set(g,new Uint8Array(d)),{id:s.id,sourceRefId:e.sourceId,artifactRef:g,fileName:s.path.split("/").at(-1),mediaType:s.mediaType,sha256:s.contentHash,sizeBytes:s.sizeBytes,split:c.split,metadata:{portableAsset:s}}}),...c.requiredOutputs?{requiredOutputs:c.requiredOutputs.map(s=>({...s,schemaRef:s.schemaRef?.id??null,maxBytes:s.maxBytes??void 0}))}:{}})),tasksetAssetBytes:t}}y(Ae,"materializeLearningBatchAssets");function Ee(e){let t=W(e),a=Z(t),n=t.environment.kind==="work";if(!n&&(t.environment.kind!=="text"||t.tools.length||t.tasks.some(r=>r.artifactRefs.length))||n&&t.tasks.some(r=>!r.requiredOutputs?.length))throw new Error("This learning batch requires a supported text or Work environment with declared outputs.");let c=e.source.id,s=Ae({tasks:t.tasks,sourceId:c,assets:e.assets,assetBytes:e.assetBytes}),i={demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},d=[];for(let r of a.admissions){let h=e.evidence.find(b=>b.id===r.evidence.id),v=e.decisions.find(b=>b.id===r.decision.id);e.batch.purpose==="reward_training"&&v.grade?.training.status==="scored"&&i.rewards.push({id:`reward-${r.taskId}`,taskId:r.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:[c],artifactRef:e.binding.id,metadata:{rewardBinding:C(e.binding),evidence:r.evidence,decision:r.decision}}),r.supervisedTarget!==null&&i.demonstrations.push({kind:"demonstration",id:`demo-${r.taskId}`,taskId:r.taskId,sourceRefs:[c],artifactRef:r.decision.id,approved:!0,confidence:1,prompt:null,response:JSON.stringify(r.supervisedTarget),metadata:{evidence:r.evidence,decision:r.decision,targetGradeHash:v.targetGrade?.contentHash}});for(let[b,w,T]of[["observed",h.submission.observedOutput,v.grade],["target",v.approvedTarget,v.targetGrade]]){let x=Ie(T);w===null||x===null||d.push({id:`fixture-${b}-${r.taskId}`,taskId:r.taskId,label:x.passed?"positive":"negative",output:w,infrastructureError:null,expectedPassed:x.passed,expectedRewardEligible:x.rewardEligible,metadata:{gradeReceiptHash:T.contentHash,evidence:r.evidence,decision:r.decision}})}}if(!d.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 g=le(e.binding,e.rewards,e.assets),p=[];for(let r of t.graders){if(r.kind!=="custom_verifier")continue;let h=e.assets?.find(b=>b.id===r.verifierRef.id);if(!h)throw new Error(`Reward ${r.id} is missing its immutable verifier source.`);let v=pe(r.verifierRef.contentHash);p.some(b=>b.path===v)||p.push({path:v,role:"verifier",content:_(h,r.verifierRef)})}let u=N.parse({schemaVersion:"openpond.taskset.v1",id:`learning-${l([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:n?"work":"chat",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(r=>r.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:n?"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(r=>r.kind==="human"?"human":r.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(r=>({...r,schemaVersion:"openpond.taskData.v1",sourceRefs:[c],metadata:{admission:a.admissions.find(h=>h.taskId===r.id),exampleOrigin:e.evidence.find(h=>h.id===r.id)?.correctionFeedbackId?"corrected":"extracted"}})),graders:g,graderFixtures:d,learningSignals:i,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:l("openpond-learning-batch-v1"),promptTemplateVersion:"learning-batch-v1",buildIntent:e.batch.purpose==="supervised_training"?"demonstrations":"verifiable_reward",buildSpecification:null,evidenceHashes:e.batch.examples.map(r=>r.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:C(t),trainingMethod:e.batch.purpose==="supervised_training"?"sft":e.batch.purpose==="reward_training"?"grpo":"none",tasksetOutputContract:n?{mode:"artifacts",requiredOutputSource:"task.requiredOutputs"}:{mode:"structured_json",jsonSchema:e.definition.outputSchema,renderer:null}}});return{taskset:N.parse({...u,contentHash:K(u)}),release:t,generatedFiles:p,tasksetAssetBytes:s.tasksetAssetBytes}}y(Ee,"materializeLearningBatchTaskset");function Ie(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"}}y(Ie,"fixtureOutcome");function Ue(e){let t=[],a=0;for(let s of new Map(e.evidence.flatMap(i=>i.submission.assets.map(d=>[d.id,d]))).values()){let i=e.assetBytes?.get(s.id),d=e.assets?.find(p=>p.id===s.id),g=i?.byteLength??(d?new TextEncoder().encode(d.text).byteLength:0);if(a+=g,a>Y)throw new Error("Learning input assets exceed the training package limit.");i?t.push(new TextDecoder().decode(i)):d&&t.push(d.text)}let n=xe(JSON.stringify({tasks:e.evidence.map(s=>s.submission),targets:e.decisions.map(s=>s.approvedTarget),definition:e.definition,inputAssets:t}));if(n.secretStatus!=="passed"||n.piiStatus!=="passed")throw new Error(`Learning batch contains unresolved data findings (${n.findings.join(", ")}). Correct the source examples and seal a revised batch before training.`);let c=Q.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:C(e.batch),taskDefinition:e.batch.taskDefinition,admittedBy:e.batch.sealedBy,licensingStatus:"approved",secretScanStatus:n.secretStatus,piiScanStatus:n.piiStatus,metadata:{admission:e.admissionContext??"explicit_local_batch_review",privacyScanner:"openpond-evidence-v1",findings:n.findings}});return Ee({...e,source:c})}y(Ue,"prepareReviewedLearningBatch");async function Je(e){let t=structuredClone(e),{project:a,recipe:n,taskset:c,approval:s}=t,i=fe.parse(t.manifest),d=ve.parse(t.bundleManifest),{contentHash:g,...p}=i,{contentHash:u,...r}=d;if(l(p)!==g||l(r)!==u||i.resolvedBundleHash!==u||l(i.harnessRelease)!==l(d.harnessRelease)||l(i.datasetRelease)!==l(d.datasetRelease)||l(i.evidenceSets)!==l(d.evidenceSetRelease?[d.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(n.method!=="grpo"||l(n)!==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 v=o.object({wallTimeMs:o.number().positive()}).parse(n.resourceLimits);t.idempotencyKey!==void 0&&o.string().trim().min(16).max(191).parse(t.idempotencyKey);let b=Me(d,t.files),w=F.parse(t.evaluationSource),T=b.find(z=>z.path===U);if(!T||l(JSON.parse(Buffer.from(T.content,"base64").toString("utf8")))!==l(w))throw new Error("The evaluation source differs from the immutable training bundle.");let x=await re(w),S={schemaVersion:"openpond.managedRlPortableSubmission.v1",...t.origin?{origin:G.parse(t.origin)}:{},sourceRunRef:`openpond:model-run:${i.id}`,name:`OpenPond Managed \xB7 ${a.id}`.slice(0,191),idempotencyKey:t.idempotencyKey??`openpond-managed:${g}`.slice(0,191),modelProject:{id:a.hosted.projectId,portableProjectId:a.hosted.portableProjectId},manifest:i,sourceTaskset:c,modelImprovementQualification:t.modelImprovementQualification??null,recipe:n,resolvedBundle:{manifest:d,files:b},validationTasks:w.tasks,validationAssets:w.assets},I={schemaVersion:"openpond.trainingInputArtifactUpload.v2",kind:"portable_training_bundle",idempotencyKey:`stage:${t.idempotencyKey??g}`,sourceManifest:{id:i.id,contentHash:g},payload:S},P=await oe({...I,contentHash:await ie(I)}),m={schemaVersion:"openpond.trainingJobSubmission.v2",idempotencyKey:t.idempotencyKey??`openpond-training-v2:${g}`,name:`OpenPond Managed \xB7 ${a.id}`.slice(0,200),source:{...t.origin?{origin:G.parse(t.origin)}:{},modelProject:{id:a.hosted.projectId,portableProjectId:a.hosted.portableProjectId,revision:a.revision,contentHash:a.hosted.etag},harnessRunManifest:I.sourceManifest,harnessRelease:i.harnessRelease,taskset:c,tasksetRelease:{id:c.id,contentHash:c.contentHash},dataset:d.datasetRelease,evaluation:x,evidenceSets:d.evidenceSetRelease?[d.evidenceSetRelease]:[]},job:{kind:"policy_optimize",baseModel:h,recipe:n,rewardSource:t.rewardSource,resumeFrom:t.resumeFrom},requestedCapabilities:[{id:"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(v.wallTimeMs/1e3)},approval:{...s,approvedAt:i.approval.approvedAt,exportApproved:!0}},f=await de({...m,contentHash:await ce(m)});return{artifact:P,submission:f}}y(Je,"prepareManagedTrainingSubmission");function Me(e,t){if(t.length!==e.files.length||new Set(t.map(n=>n.path)).size!==t.length)throw new Error("The managed bundle file inventory changed.");let a=new Map(t.map(n=>[n.path,n]));return e.files.map(n=>{let c=a.get(n.path);if(!c||c.path.includes("\\")||c.path.includes("\0")||c.path.split("/").some(i=>!i||i==="."||i==="..")||c.path==="bundle-manifest.json"||c.encoding!=="base64")throw new Error("The managed bundle contains an invalid file.");let s=Buffer.from(c.content,"base64");if(s.toString("base64")!==c.content||c.sha256!==n.sha256||c.sizeBytes!==n.sizeBytes||s.byteLength!==n.sizeBytes||j(s)!==n.sha256)throw new Error(`Managed training bundle file ${c.path} changed before upload.`);return c})}y(Me,"verifyFiles");var Be=o.object({name:o.literal("adamw").default("adamw"),weightDecay:o.number().nonnegative().max(1).default(0),beta1:o.number().positive().lt(1).default(.9),beta2:o.number().positive().lt(1).default(.999),epsilon:o.number().positive().max(.01).default(1e-8)}).strict().default({name:"adamw",weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8});function Ze(e,t){if(!t||typeof t!="object"||Array.isArray(t))return t;let a=t;if(a.method==="dpo"){let S=R(a.policyModel),I=R(a.referenceModel),P=R(a.dataset),m=l({tasksetHash:e.contentHash,preferenceSignals:e.learningSignals.preferences.map(f=>({id:f.id,artifactRef:f.artifactRef,prompt:f.prompt,chosen:f.chosen,rejected:f.rejected,approved:f.approved})),policyModel:S,referenceModel:I,dataset:P});return{...a,referenceLogprobs:{cacheSchemaVersion:"openpond.dpoReferenceLogprobs.v1",cacheKey:l(["dpo-reference-logprobs",m]),invalidationHash:m}}}if(a.method==="ppo"){let S=R(a.policyOptimization),I=R(S.policyModel),P=R(S.referenceModel),m=R(S.optimizer),f=R(m.valueModel),z=R(S.dataset),k=R(S.reward),O=l(I),D=l(P),ye=l(f);return{...a,policyOptimization:{...S,dataset:{...z,tasksetId:e.id,tasksetHash:e.contentHash},reward:{...k,graderHash:l(e.graders)}},resume:{...R(a.resume),policyHash:O,referenceHash:D,valueModelHash:ye}}}if(a.method!=="grpo")return t;let n=a.reward&&typeof a.reward=="object"&&!Array.isArray(a.reward)?a.reward:{},c=e.environment.metadata.toolContractHash,s=typeof c=="string"&&c.trim()?c:n.toolContractHash,i=R(a.baseModel),d=R(a.dataset),g=R(a.rollout),p=R(a.optimizer),u=R(a.loss),r=R(a.resourceLimits),h=E(d.maxExamples,1),v=E(g.groupSize,2),b=E(g.maxOutputTokens,1),w=E(d.maxPromptTokens,1),T=E(p.maxSteps,1),x=E(p.iterations,2);return{...a,resourceLimits:{...r,maxGpuSeconds:r.maxGpuSeconds??Math.min(10800,Math.ceil(E(r.wallTimeMs,18e4)/1e3))},reward:{...n,graderHash:l(e.graders),toolContractHash:s},policyOptimization:{schemaVersion:"openpond.policyOptimization.v1",policyModel:i,referenceModel:i,dataset:{tasksetId:e.id,tasksetHash:e.contentHash,split:"train",selectionStrategy:d.selectionStrategy,selectionSeed:g.seed,maxExamples:h},sampler:{temperature:g.temperature,topP:g.topP,maxOutputTokens:b,maxTurns:g.maxTurns,concurrency:g.concurrency},environment:{id:n.environmentId,version:n.environmentVersion,toolContractHash:s},reward:{graderId:n.graderId,graderHash:l(e.graders),learnedPreference:n.learnedPreference??null},kl:{coefficient:u.klBeta??null,referenceConstraint:"fixed_reference"},budgets:{maxRollouts:E(r.maxRollouts,h*v),maxEnvironmentExecutions:E(r.maxRollouts,h*v),maxInputTokens:h*v*w,maxOutputTokens:h*v*b,maxOptimizerSteps:T*x,wallTimeMs:E(r.wallTimeMs,18e4),maximumCostUsd:null},checkpointEverySteps:1,seed:g.seed,evaluationSplit:"frozen_eval",optimizer:{method:"grpo",groupSize:v,normalization:"group_standardized",advantageEpsilon:typeof p.advantageEpsilon=="number"?p.advantageEpsilon:1e-8,loss:u.method??"grpo",clipRange:typeof p.clipRange=="number"?p.clipRange:.2,iterations:x,microbatchSize:E(p.microbatchSize,1),gradientAccumulationSteps:E(p.gradientAccumulationSteps,1),adamw:Be.parse(p.adamw)}}}}y(Ze,"withAuthoritativeRecipeHashes");function R(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}y(R,"record");function E(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:t}y(E,"positiveInteger");function Qe(e){let t=e.sourceRelease,a=[],n=e.skills??[],c=e.agents??[];if([...n,...c].some(p=>p.visibility!=="policy"))throw new Error("The portable policy Harness requires policy-visible dependencies.");let s=he({id:"desktop-dependency-lock",path:".openpond/harness/dependency-lock.json",hashInput:{profileHead:e.profileHead??null,sourceRelease:t,tools:a,skills:n.map(({id:p,contentHash:u})=>({id:p,contentHash:u})),agents:c.map(({id:p,contentHash:u})=>({id:p,contentHash:u}))},mediaType:"application/json",visibility:"policy"}),i=X({schemaVersion:"openpond.agentSnapshot.v2",id:`agent-snapshot-${l([t,a,s.contentHash]).slice(0,24)}`,sourceRelease:t,instructions:[],skills:n,agents:c,toolDeclarations:a,capabilityRequirements:[],dependencyLock:s,portability:{portable:!0,blockers:[],localOnlyAssetRefs:[],hostPrivateAssetRefs:[]},metadata:{sourceReleaseId:t?.id??null}}),d=he({id:"desktop-harness-program",path:".openpond/harness/program.json",hashInput:{program:"openpond.desktop-agent-loop.v1"},mediaType:"application/json",visibility:"policy"}),g=ee({schemaVersion:"openpond.harnessRelease.v2",id:`harness-${l([i.contentHash,d.contentHash,a]).slice(0,24)}`,agentSnapshot:{id:i.id,contentHash:i.contentHash},program:d,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:[...n,...c],metadata:{runtimeProtocol:"openpond.desktop-agent-loop.v1"}});return{agentSnapshot:i,harnessRelease:g}}y(Qe,"createPolicyHarnessContext");function he(e){let t=L(e.hashInput);return{id:e.id,path:e.path,contentHash:l(e.hashInput),sizeBytes:new TextEncoder().encode(t).byteLength,mediaType:e.mediaType,visibility:e.visibility}}y(he,"asset");function Ye(e){let{taskset:t,modelProject:a,harnessRelease:n,tasksetRelease:c}=e,s=a.trainingSetup,i=M.parse(n),d=M.parse(c);if(e.openpondRelease,e.workerProtocol,K(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!==t.id||s.tasksetRef.contentHash!==t.contentHash)throw new Error("Model Run must bind an exact Taskset, Model revision, tokenizer, chat template, and Recipe.");let p=t.profileRelease??{id:`profile_${t.profileId}`,revision:t.revision,contentHash:l({profileId:t.profileId,sourceCommit:t.authoringProvenance.sourceCommit,skillHash:t.authoringProvenance.skillHash})},u=new Map;if(e.evaluationSource){let m=F.parse(e.evaluationSource);if(l(m.taskset)!==l(s.evaluationTasksetRef))throw new Error("The evaluation source differs from the prepared Model configuration.");ne(t.tasks.filter(f=>f.split==="train"),m.tasks),u.set(U,new TextEncoder().encode(L(m)))}else if(s.evaluationTasksetRef)throw new Error("The prepared Model requires its pinned evaluation source bytes.");let r=e.harnessSource?e.harnessSource.schemaVersion==="openpond.harnessPolicySourcePackage.v1"?ae(e.harnessSource,i):se(e.harnessSource,i):null;if(s.harnessRelease&&!r)throw new Error("A selected Harness requires its complete immutable source package.");if(r&&(!s.harnessRelease||s.harnessRelease.id!==i.id||s.harnessRelease.contentHash!==i.contentHash))throw new Error("Harness source differs from the Model's explicit selection.");if(r){if((e.runtime.placement!=="local"||e.compute.kind!=="local")&&(!r.agentSnapshot.portability.portable||r.schemaVersion==="openpond.harnessSourcePackage.v1"&&r.harnessRelease.files.some(f=>f.visibility!=="policy")))throw new Error("The selected Harness contains source that cannot leave its local host.");B(u,"harness/source-package.json",r)}B(u,"harness/execution.json",te.parse({schemaVersion:"openpond.harnessSourceSelection.v1",mode:r?"selected_release":"taskset_owned",harnessRelease:i,sourcePackageHash:r?.contentHash??null}));let h=me(t,e.rewardExecution);if(h){let m=e.verifierAssets??[],f=J(h.binding,h.rewards).flatMap(k=>k.kind==="custom_verifier"?[k.verifierRef]:k.kind==="model_judge"?[k.rubricRef]:[]),z=new Set(f.map(k=>k.id));if(new Set(m.map(k=>k.id)).size!==m.length||m.some(k=>!z.has(k.id)))throw new Error("Unexpected or duplicate private verifier asset.");for(let k of f){let O=m.find(D=>D.id===k.id);if(!O||k.visibility!=="verifier")throw new Error("Training bundle requires its private verifier asset.");_(O,k)}B(u,"reward-binding.json",{kind:"reward_binding_v1",binding:h.binding,rewards:h.rewards,assets:m})}else if(e.verifierAssets?.length)throw new Error("Private verifier assets require a published Reward binding.");B(u,"environment.json",{schemaVersion:"openpond.harnessEnvironment.v1",environment:t.environment,capabilities:t.capabilities,policy:t.policy,outputContract:t.metadata.tasksetOutputContract?.mode==="text"?null:t.metadata.tasksetOutputContract??null}),B(u,"graders.json",{schemaVersion:"openpond.harnessGraders.v1",graders:t.graders,fixtures:t.graderFixtures}),B(u,"tool-contract.json",{schemaVersion:"openpond.harnessToolContract.v1",toolNames:t.environment.toolNames,actionBindings:t.environment.actionBindings??[],capabilities:t.capabilities,connectedAppScopes:t.policy.connectedAppScopes});let v=t.tasks.filter(m=>m.split==="train");if(v.length>0)B(u,"dataset/train.json",{schemaVersion:"openpond.datasetSplit.v1",split:"train",tasks:v}),Pe({assets:u,tasks:v,tasksetAssetBytes:e.tasksetAssetBytes??new Map});else if(t.datasetArtifact)B(u,"dataset/artifact.json",t.datasetArtifact);else throw new Error("Taskset has no training dataset.");let b=Object.values(t.learningSignals).flat().filter(m=>m.approved);for(let m of b){let f=be(m);u.set(`evidence/signals/${j(f)}.json`,f)}let w={id:`dataset_${t.id}_r${t.revision}`,contentHash:l({taskset:d,sourceRefs:t.sourceRefs,datasetArtifact:t.datasetArtifact??null,trainTasks:v})},T=b.length>0?{id:`evidence_${t.id}_r${t.revision}`,contentHash:l({taskset:d,harnessRelease:i,datasetRelease:w,profileRelease:p,signals:b})}:null,x=ge.parse({schemaVersion:"openpond.resolvedTrainingBundle.v1",projection:"trainer",harnessRelease:i,datasetRelease:w,evidenceSetRelease:T,files:[...u.entries()].sort(([m],[f])=>m.localeCompare(f)).map(([m,f])=>({path:m,sha256:j(f),sizeBytes:f.byteLength}))}),S=ve.parse({...x,contentHash:l(x)}),I=ue.parse({schemaVersion:"openpond.harnessRunManifest.v1",id:`manifest_${e.modelRunId}_${e.approval.approvalHash.slice(0,16)}`,harnessRelease:n,datasetRelease:w,evidenceSets:T?[T]:[],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:l(s.recipe)},runtimeTarget:e.runtime,computeTarget:e.compute,engine:e.engine,resolvedBundleHash:S.contentHash,secretLeaseRefs:e.secretLeaseRefs??[],approval:e.approval,createdAt:a.updatedAt});return{manifest:fe.parse({...I,contentHash:l(I)}),resolvedBundleManifest:S,assets:u,profileRelease:p,harnessRelease:i,tasksetRelease:d,datasetRelease:w,evidenceSetRelease:T}}y(Ye,"buildTasksetTrainingBundle");function Pe(e){let t=new Set;for(let a of e.tasks)for(let n of a.assets??[]){if(t.has(n.artifactRef))throw new Error(`Training asset path ${n.artifactRef} is shared by multiple tasks.`);t.add(n.artifactRef);let c=e.tasksetAssetBytes.get(n.artifactRef);if(!c)throw new Error(`Resolved Training Bundle is missing Work asset ${n.artifactRef}.`);if(c.byteLength!==n.sizeBytes||j(c)!==n.sha256)throw new Error(`Resolved Training Bundle Work asset ${n.artifactRef} failed immutable verification.`);e.assets.set(n.artifactRef,c)}for(let a of e.tasksetAssetBytes.keys())if(!t.has(a))throw new Error(`Resolved Training Bundle received unexpected Work asset ${a}.`)}y(Pe,"addTasksetAssets");function B(e,t,a){e.set(t,be(a))}y(B,"addJsonAsset");function be(e){return Buffer.from(L(e),"utf8")}y(be,"bytes");export{we as a,Se as b,He as c,fe as d,ve as e,xe as f,Ue as g,Je as h,Be as i,Ze as j,Qe as k,Ye as l};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as _}from"./chunk-X4OSOOSU.js";import{b}from"./chunk-3K4VVB7S.js";import{b as P}from"./chunk-A6USMRWK.js";import{g as h}from"./chunk-KG325WTN.js";import{q as x}from"./chunk-WJ43MJ3F.js";import{h as T}from"./chunk-N4FFQPLR.js";import{h as E,j as w,k as y}from"./chunk-74ZXXBGN.js";import{F as I}from"./chunk-Z4Z5UOZM.js";import{a as l}from"./chunk-FTQLQJQV.js";function L(e){let a=e.result.proposal,d=a?.edits.find(t=>t.target!=="harness.json")??a?.edits[0]??null,c=e.result.outcome.metadata.routed===!0,n=a?e.result.applyReceipt?.decision==="applied"?"applied":"retained":c?"routed":"no_action",r=a?.baseHarnessRelease??e.trigger.harnessRelease,o=n==="applied"?e.result.advanceReceipt?.nextRelease??r:null;return{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:C(e.session)?"always":"material_only",state:"completed",workspaceId:e.result.workspace.id,result:n,decision:a?"propose":c?"route":"no_action",route:a?.route??g(e.result.outcome.metadata.route),operation:d?.operation??null,target:d?.target??null,summary:d?.summary??g(e.result.outcome.metadata.summary)??U(n,a?.route??g(e.result.outcome.metadata.route)),expectedOutcome:a?.expectedOutcome??g(e.result.outcome.metadata.expectedOutcome),reason:e.result.outcome.reason,evidenceBasis:B(e.result),critiqueStatus:a?"passed":"not_applicable",validationStatus:W(e.result),validationReceipts:e.result.validations.map(t=>({id:t.id,contentHash:t.contentHash,status:t.status,summary:t.summary})),edits:a?.edits.map(t=>({id:t.id,operation:t.operation,target:t.target,summary:t.summary,content:t.content}))??[],trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},outcome:{id:e.result.outcome.id,contentHash:e.result.outcome.contentHash},proposal:a?{id:a.id,contentHash:a.contentHash}:null,applyReceipt:e.result.applyReceipt?{id:e.result.applyReceipt.id,contentHash:e.result.applyReceipt.contentHash}:null,advanceReceipt:e.result.advanceReceipt?{id:e.result.advanceReceipt.id,contentHash:e.result.advanceReceipt.contentHash}:null,inputHarness:r,outputHarness:o}}l(L,"localHarnessRefinerActivityDisplay");function B(e){let a=e.proposal?.metadata.evidenceBasis??e.outcome.metadata.evidenceBasis,d=E.safeParse(a);return d.success?d.data:null}l(B,"evidenceBasisFromResult");function W(e){if(!e.proposal)return"not_applicable";let a=new Map(e.validations.map(c=>[c.validationId,c])),d=e.proposal.validationPlan.filter(c=>c.required);return d.some(c=>!a.has(c.id))?"pending":d.every(c=>a.get(c.id)?.status==="passed")?"passed":"failed"}l(W,"proposalValidationStatus");function C(e){return e.metadata?.automatedTasksetWorkAttempt===!0||typeof e.metadata?.tasksetId=="string"||typeof e.metadata?.benchmarkRuntime=="string"}l(C,"isEvaluationSession");function g(e){return typeof e=="string"&&e.trim()?e.trim():null}l(g,"stringMetadata");function U(e,a){return e==="no_action"?"No reusable change":e==="routed"?a?`${k(a)} issue routed`:"Issue routed":e==="applied"?a?`${k(a)} change`:"Harness change":a?`${k(a)} change`:"Harness change"}l(U,"resultSummary");function k(e){return e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e}l(k,"titleCase");function G(e){let a=new Set,d=l((async function(n){if(q(n.session))return;let r=await _({store:e.store,...n});if(!r)return;let o=r.trigger;if(o.decision==="route_deterministically"&&o.deterministicRoute){let t=T({schemaVersion:"openpond.improvementRouteDecision.v1",id:`route-${o.contentHash.slice(0,24)}`,trigger:{id:o.id,contentHash:o.contentHash},route:o.deterministicRoute,authority:"runtime_service",automatic:!0,reason:o.reason,createdAt:o.createdAt,metadata:{}});await e.store.saveHarnessImprovementArtifact(n.turn.harnessSnapshot.workspaceId,"route_decision",t);return}o.decision==="queue_refiner"&&await c(n,o,!1)}),"processLocalHarnessImprovementBoundary");async function c(n,r,o){if(r.decision!=="queue_refiner")throw new Error("Only queued Harness Refiner triggers can be enqueued.");if(a.has(r.contentHash))return;a.add(r.contentHash);let t=Date.now();try{await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.queued",source:"server",appId:n.session.appId,status:"pending",output:r.reason,data:{triggerId:r.id,timeoutMs:w,maxOutputTokens:y,execution:"public_package",recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"running",summary:"Reviewing this Work for a reusable improvement"}}}))}catch(f){throw a.delete(r.contentHash),f}e.queue.enqueue({label:"Refine the Local Harness from a recovered execution detour",metadata:{key:r.contentHash,sessionId:n.session.id,turnId:n.turn.id,triggerId:r.id,recoveredAfterRestart:o}},async()=>{let f=0,p=Date.now(),u=null,i=null;try{await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.started",source:"server",appId:n.session.appId,status:"started",data:{triggerId:r.id,queueWaitMs:Math.max(0,p-t),timeoutMs:w,maxOutputTokens:y,execution:"public_package",recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"running",summary:"Reviewing this Work for a reusable improvement"}}})),await e.prepareReview?.(r);let s=await b({store:e.store,storeDir:e.storeDir,loadActiveRefinerRelease:e.loadActiveRefinerRelease,trigger:r,signal:new AbortController().signal,stream:l(async function*({messages:O,signal:S}){u===null&&(u=Date.now());let M=f++,A=`harness-refiner:${r.id}:${M}`,v=await P({session:n.session,turn:n.turn,provider:"openpond",model:I,requestId:A,requestOrdinal:M,requestKind:"harness_refiner",upsert:e.upsertModelUsageRecord});try{for await(let m of e.streamOpenPondHostedChatTurn({model:I,messages:O,requestId:A,reasoningEffort:"low",maxTokens:y,signal:S}))m.type==="text_delta"&&m.text?(v.observeDelta({text:m.text}),yield{text:m.text}):m.type==="reasoning_delta"&&m.text?v.observeDelta({reasoningText:m.text}):m.type==="usage"&&v.observeDelta({usage:m.usage});await v.complete(),i=Date.now()}catch(m){throw i=Date.now(),await v.fail(m,S.aborted?"interrupted":"failed"),m}},"stream")}),R=Date.now(),H=L({session:n.session,trigger:r,result:s});await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.completed",source:"server",appId:n.session.appId,status:"completed",output:s.outcome.reason,data:{recoveredAfterRestart:o,trigger:{id:r.id,contentHash:r.contentHash},outcome:{id:s.outcome.id,contentHash:s.outcome.contentHash,decision:s.outcome.decision,routed:s.outcome.metadata.routed===!0,route:typeof s.outcome.metadata.route=="string"?s.outcome.metadata.route:null},proposal:s.proposal?{id:s.proposal.id,contentHash:s.proposal.contentHash}:null,workspaceAdvance:s.advanceReceipt?.decision??null,activity:H,timing:{queueWaitMs:Math.max(0,p-t),modelDurationMs:u===null||i===null?null:Math.max(0,i-u),materializationDurationMs:i===null?null:Math.max(0,R-i),totalJobDurationMs:Math.max(0,R-p)}}}))}catch(s){let R=Date.now();throw await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.failed",source:"server",appId:n.session.appId,status:"failed",output:s instanceof Error?s.message:String(s),data:{triggerId:r.id,recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"failed",summary:"Refiner review failed",reason:s instanceof Error?s.message:String(s)},timing:{queueWaitMs:Math.max(0,p-t),modelDurationMs:u===null||i===null?null:Math.max(0,i-u),totalJobDurationMs:Math.max(0,R-p)}}})).catch(()=>{}),s}finally{a.delete(r.contentHash)}})}return l(c,"enqueueTrigger"),d.reconcilePending=async()=>{let n=await e.store.listPendingHarnessRefinerTriggers(),r=0;for(let{workspaceId:o,trigger:t}of n){let[f,p]=await Promise.all([e.store.getSession(t.runRef),e.store.getTurn(t.turnId)]);if(!f||!p||p.sessionId!==f.id)throw new Error(`Pending Harness Refiner trigger ${t.id} references an unavailable session or turn.`);if(q(f))continue;let u=p;if(!u.harnessSnapshot){let[i,s]=await Promise.all([e.store.getHarnessWorkspace(o),e.store.getHarnessRunOverlay(t.runRef)]),R=!!(i&&s&&t.overlay&&s.id===t.overlay.id&&s.revision===t.overlay.revision&&s.contentHash===t.overlay.contentHash&&s.workspace.workspaceId===o&&s.workspace.revision===i.revision&&s.workspace.sourceRevision===i.sourceRevision&&s.workspace.channelRevision===i.currentChannel.revision&&s.baseHarnessRelease.id===t.harnessRelease.id&&s.baseHarnessRelease.contentHash===t.harnessRelease.contentHash);if(!i||!s||!t.overlay||!R)throw new Error(`Pending Harness Refiner trigger ${t.id} cannot reconstruct its missing Harness snapshot.`);u=await e.store.updateTurn(u.id,H=>x.parse({...H,harnessSnapshot:{schemaVersion:"openpond.harnessTurnSnapshot.v1",workspaceId:o,workspaceRevision:s.workspace.revision,sourceRevision:s.workspace.sourceRevision,channelName:i.currentChannel.name,channelRevision:s.workspace.channelRevision,harnessRelease:t.harnessRelease,overlay:t.overlay}}))??u}if(u.harnessSnapshot?.workspaceId!==o)throw new Error(`Pending Harness Refiner trigger ${t.id} no longer matches its Harness workspace.`);await c({session:f,turn:u},t,!0),r+=1}return r},d}l(G,"createLocalHarnessImprovementRuntime");function q(e){return e.metadata?.source==="experiment-improvement"&&typeof e.metadata.refinementCandidate=="object"?!0:e.metadata?.automatedTasksetWorkAttempt===!0&&typeof e.metadata.parentModelRunId=="string"&&e.metadata.parentModelRunId.trim().length>0}l(q,"parentModelRunOwnsRefinement");function D(e){return e.metadata?.automatedTasksetWorkAttempt===!0||typeof e.metadata?.tasksetId=="string"||typeof e.metadata?.benchmarkRuntime=="string"?"always":"material_only"}l(D,"refinerActivityVisibility");export{G as a};
2
+ import{a as _}from"./chunk-X4OSOOSU.js";import{b}from"./chunk-7K7O3CKY.js";import{b as P}from"./chunk-MMQRHR3V.js";import{g as h}from"./chunk-57TRXBLT.js";import{q as x}from"./chunk-EUMXMT3S.js";import{h as T}from"./chunk-N4FFQPLR.js";import{h as E,j as I,k as y}from"./chunk-74ZXXBGN.js";import{F as w}from"./chunk-Z4Z5UOZM.js";import{a as l}from"./chunk-FTQLQJQV.js";function L(e){let a=e.result.proposal,d=a?.edits.find(t=>t.target!=="harness.json")??a?.edits[0]??null,c=e.result.outcome.metadata.routed===!0,n=a?e.result.applyReceipt?.decision==="applied"?"applied":"retained":c?"routed":"no_action",r=a?.baseHarnessRelease??e.trigger.harnessRelease,o=n==="applied"?e.result.advanceReceipt?.nextRelease??r:null;return{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:C(e.session)?"always":"material_only",state:"completed",workspaceId:e.result.workspace.id,result:n,decision:a?"propose":c?"route":"no_action",route:a?.route??g(e.result.outcome.metadata.route),operation:d?.operation??null,target:d?.target??null,summary:d?.summary??g(e.result.outcome.metadata.summary)??U(n,a?.route??g(e.result.outcome.metadata.route)),expectedOutcome:a?.expectedOutcome??g(e.result.outcome.metadata.expectedOutcome),reason:e.result.outcome.reason,evidenceBasis:B(e.result),critiqueStatus:a?"passed":"not_applicable",validationStatus:W(e.result),validationReceipts:e.result.validations.map(t=>({id:t.id,contentHash:t.contentHash,status:t.status,summary:t.summary})),edits:a?.edits.map(t=>({id:t.id,operation:t.operation,target:t.target,summary:t.summary,content:t.content}))??[],trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},outcome:{id:e.result.outcome.id,contentHash:e.result.outcome.contentHash},proposal:a?{id:a.id,contentHash:a.contentHash}:null,applyReceipt:e.result.applyReceipt?{id:e.result.applyReceipt.id,contentHash:e.result.applyReceipt.contentHash}:null,advanceReceipt:e.result.advanceReceipt?{id:e.result.advanceReceipt.id,contentHash:e.result.advanceReceipt.contentHash}:null,inputHarness:r,outputHarness:o}}l(L,"localHarnessRefinerActivityDisplay");function B(e){let a=e.proposal?.metadata.evidenceBasis??e.outcome.metadata.evidenceBasis,d=E.safeParse(a);return d.success?d.data:null}l(B,"evidenceBasisFromResult");function W(e){if(!e.proposal)return"not_applicable";let a=new Map(e.validations.map(c=>[c.validationId,c])),d=e.proposal.validationPlan.filter(c=>c.required);return d.some(c=>!a.has(c.id))?"pending":d.every(c=>a.get(c.id)?.status==="passed")?"passed":"failed"}l(W,"proposalValidationStatus");function C(e){return e.metadata?.automatedTasksetWorkAttempt===!0||typeof e.metadata?.tasksetId=="string"||typeof e.metadata?.benchmarkRuntime=="string"}l(C,"isEvaluationSession");function g(e){return typeof e=="string"&&e.trim()?e.trim():null}l(g,"stringMetadata");function U(e,a){return e==="no_action"?"No reusable change":e==="routed"?a?`${k(a)} issue routed`:"Issue routed":e==="applied"?a?`${k(a)} change`:"Harness change":a?`${k(a)} change`:"Harness change"}l(U,"resultSummary");function k(e){return e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e}l(k,"titleCase");function G(e){let a=new Set,d=l((async function(n){if(q(n.session))return;let r=await _({store:e.store,...n});if(!r)return;let o=r.trigger;if(o.decision==="route_deterministically"&&o.deterministicRoute){let t=T({schemaVersion:"openpond.improvementRouteDecision.v1",id:`route-${o.contentHash.slice(0,24)}`,trigger:{id:o.id,contentHash:o.contentHash},route:o.deterministicRoute,authority:"runtime_service",automatic:!0,reason:o.reason,createdAt:o.createdAt,metadata:{}});await e.store.saveHarnessImprovementArtifact(n.turn.harnessSnapshot.workspaceId,"route_decision",t);return}o.decision==="queue_refiner"&&await c(n,o,!1)}),"processLocalHarnessImprovementBoundary");async function c(n,r,o){if(r.decision!=="queue_refiner")throw new Error("Only queued Harness Refiner triggers can be enqueued.");if(a.has(r.contentHash))return;a.add(r.contentHash);let t=Date.now();try{await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.queued",source:"server",appId:n.session.appId,status:"pending",output:r.reason,data:{triggerId:r.id,timeoutMs:I,maxOutputTokens:y,execution:"public_package",recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"running",summary:"Reviewing this Work for a reusable improvement"}}}))}catch(f){throw a.delete(r.contentHash),f}e.queue.enqueue({label:"Refine the Local Harness from a recovered execution detour",metadata:{key:r.contentHash,sessionId:n.session.id,turnId:n.turn.id,triggerId:r.id,recoveredAfterRestart:o}},async()=>{let f=0,p=Date.now(),u=null,i=null;try{await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.started",source:"server",appId:n.session.appId,status:"started",data:{triggerId:r.id,queueWaitMs:Math.max(0,p-t),timeoutMs:I,maxOutputTokens:y,execution:"public_package",recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"running",summary:"Reviewing this Work for a reusable improvement"}}})),await e.prepareReview?.(r);let s=await b({store:e.store,storeDir:e.storeDir,loadActiveRefinerRelease:e.loadActiveRefinerRelease,trigger:r,signal:new AbortController().signal,stream:l(async function*({messages:O,signal:S}){u===null&&(u=Date.now());let M=f++,A=`harness-refiner:${r.id}:${M}`,v=await P({session:n.session,turn:n.turn,provider:"openpond",model:w,requestId:A,requestOrdinal:M,requestKind:"harness_refiner",upsert:e.upsertModelUsageRecord});try{for await(let m of e.streamOpenPondHostedChatTurn({model:w,messages:O,requestId:A,reasoningEffort:"low",maxTokens:y,signal:S}))m.type==="text_delta"&&m.text?(v.observeDelta({text:m.text}),yield{text:m.text}):m.type==="reasoning_delta"&&m.text?v.observeDelta({reasoningText:m.text}):m.type==="usage"&&v.observeDelta({usage:m.usage});await v.complete(),i=Date.now()}catch(m){throw i=Date.now(),await v.fail(m,S.aborted?"interrupted":"failed"),m}},"stream")}),R=Date.now(),H=L({session:n.session,trigger:r,result:s});await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.completed",source:"server",appId:n.session.appId,status:"completed",output:s.outcome.reason,data:{recoveredAfterRestart:o,trigger:{id:r.id,contentHash:r.contentHash},outcome:{id:s.outcome.id,contentHash:s.outcome.contentHash,decision:s.outcome.decision,routed:s.outcome.metadata.routed===!0,route:typeof s.outcome.metadata.route=="string"?s.outcome.metadata.route:null},proposal:s.proposal?{id:s.proposal.id,contentHash:s.proposal.contentHash}:null,workspaceAdvance:s.advanceReceipt?.decision??null,activity:H,timing:{queueWaitMs:Math.max(0,p-t),modelDurationMs:u===null||i===null?null:Math.max(0,i-u),materializationDurationMs:i===null?null:Math.max(0,R-i),totalJobDurationMs:Math.max(0,R-p)}}}))}catch(s){let R=Date.now();throw await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.failed",source:"server",appId:n.session.appId,status:"failed",output:s instanceof Error?s.message:String(s),data:{triggerId:r.id,recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"failed",summary:"Refiner review failed",reason:s instanceof Error?s.message:String(s)},timing:{queueWaitMs:Math.max(0,p-t),modelDurationMs:u===null||i===null?null:Math.max(0,i-u),totalJobDurationMs:Math.max(0,R-p)}}})).catch(()=>{}),s}finally{a.delete(r.contentHash)}})}return l(c,"enqueueTrigger"),d.reconcilePending=async()=>{let n=await e.store.listPendingHarnessRefinerTriggers(),r=0;for(let{workspaceId:o,trigger:t}of n){let[f,p]=await Promise.all([e.store.getSession(t.runRef),e.store.getTurn(t.turnId)]);if(!f||!p||p.sessionId!==f.id)throw new Error(`Pending Harness Refiner trigger ${t.id} references an unavailable session or turn.`);if(q(f))continue;let u=p;if(!u.harnessSnapshot){let[i,s]=await Promise.all([e.store.getHarnessWorkspace(o),e.store.getHarnessRunOverlay(t.runRef)]),R=!!(i&&s&&t.overlay&&s.id===t.overlay.id&&s.revision===t.overlay.revision&&s.contentHash===t.overlay.contentHash&&s.workspace.workspaceId===o&&s.workspace.revision===i.revision&&s.workspace.sourceRevision===i.sourceRevision&&s.workspace.channelRevision===i.currentChannel.revision&&s.baseHarnessRelease.id===t.harnessRelease.id&&s.baseHarnessRelease.contentHash===t.harnessRelease.contentHash);if(!i||!s||!t.overlay||!R)throw new Error(`Pending Harness Refiner trigger ${t.id} cannot reconstruct its missing Harness snapshot.`);u=await e.store.updateTurn(u.id,H=>x.parse({...H,harnessSnapshot:{schemaVersion:"openpond.harnessTurnSnapshot.v1",workspaceId:o,workspaceRevision:s.workspace.revision,sourceRevision:s.workspace.sourceRevision,channelName:i.currentChannel.name,channelRevision:s.workspace.channelRevision,harnessRelease:t.harnessRelease,overlay:t.overlay}}))??u}if(u.harnessSnapshot?.workspaceId!==o)throw new Error(`Pending Harness Refiner trigger ${t.id} no longer matches its Harness workspace.`);await c({session:f,turn:u},t,!0),r+=1}return r},d}l(G,"createLocalHarnessImprovementRuntime");function q(e){return e.metadata?.source==="experiment-improvement"&&typeof e.metadata.refinementCandidate=="object"?!0:e.metadata?.automatedTasksetWorkAttempt===!0&&typeof e.metadata.parentModelRunId=="string"&&e.metadata.parentModelRunId.trim().length>0}l(q,"parentModelRunOwnsRefinement");function D(e){return e.metadata?.automatedTasksetWorkAttempt===!0||typeof e.metadata?.tasksetId=="string"||typeof e.metadata?.benchmarkRuntime=="string"?"always":"material_only"}l(D,"refinerActivityVisibility");export{G as a};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{b as c}from"./chunk-PCSIOUHF.js";import{a as l}from"./chunk-7KWD2I6W.js";import{d as o,e as d}from"./chunk-KG325WTN.js";import{a as u}from"./chunk-DIO5CB6U.js";import{a as s}from"./chunk-FTQLQJQV.js";import{randomUUID as p}from"node:crypto";function f(e){let r=l(e.usage),t=e.requestKind??h({session:e.session,turn:e.turn??null,requestOrdinal:e.requestOrdinal}),n=e.completedAt,g=e.error&&d(e.error)||null;return{id:`usage_${p()}`,requestId:e.requestId,requestOrdinal:e.requestOrdinal,sessionId:e.session.id,turnId:e.turn?.id??null,provider:e.provider,model:e.model||"unknown",route:U(e.provider),source:r.promptTokens!==null||r.completionTokens!==null||r.totalTokens!==null?"provider_usage":"missing",requestKind:t,visibility:b(e.session,t),status:e.status,startedAt:e.startedAt,completedAt:n,durationMs:n?Math.max(0,Date.parse(n)-Date.parse(e.startedAt)):null,firstTokenMs:e.firstTokenMs,promptTokens:r.promptTokens,cachedPromptTokens:r.cachedPromptTokens,uncachedPromptTokens:r.uncachedPromptTokens,cacheWritePromptTokens:r.cacheWritePromptTokens,cacheTelemetrySource:r.cacheTelemetrySource,completionTokens:r.completionTokens,totalTokens:r.totalTokens,errorType:e.error?R(e.error):null,errorMessage:g,attribution:M({session:e.session,turn:e.turn??null,requestKind:t,requestOrdinal:e.requestOrdinal})}}s(f,"createProviderRequestUsageRecord");async function P(e){let r=new a(e);return await r.start(),r}s(P,"startProviderRequestUsageRecorder");var a=class{constructor(r){this.input=r}input;static{s(this,"ProviderRequestUsageRecorder")}latestUsage=null;firstTokenMs=null;startedAt=o();startedAtMs=Date.now();async start(){await this.upsert("started",null)}observeDelta(r){this.firstTokenMs===null&&k(r)&&(this.firstTokenMs=Math.max(0,Date.now()-this.startedAtMs)),r.usage&&(this.latestUsage=r.usage)}async complete(){await this.upsert("completed",o())}async fail(r,t){await this.upsert(t,o(),r)}async upsert(r,t,n){await this.input.upsert(f({session:this.input.session,turn:this.input.turn,provider:this.input.provider,model:this.input.model,requestId:this.input.requestId,requestOrdinal:this.input.requestOrdinal,requestKind:this.input.requestKind,startedAt:this.startedAt,completedAt:t,firstTokenMs:this.firstTokenMs,usage:this.latestUsage,status:r,error:n}))}};function k(e){return!!(e.text||e.reasoningText||e.toolCalls&&e.toolCalls.length>0)}s(k,"modelUsageDeltaHasOutput");function U(e){return e==="openpond"?"openpond_hosted":e==="codex"?"codex_app_server":c(e)?"local_byok":"unknown"}s(U,"modelUsageRoute");function h(e){let r=i(e.turn);return r?.subagentRunId||r?.workflowKind==="subagent"?"subagent":e.turn&&m(e.turn)?"slash_command":e.requestOrdinal===0?"chat_turn":"tool_loop"}s(h,"modelUsageRequestKind");function b(e,r){return e.systemKind?"system":r==="context_compaction"||r==="create_improve_planner"||r==="harness_refiner"||r==="subagent"||r==="codex_context"?"background":"user_facing"}s(b,"modelUsageVisibility");function M(e){let r=i(e.turn),t=m(e.turn);return{surface:r?.surface??q(e.session,e.requestKind),workflowKind:r?.workflowKind??T(e.requestKind,e.requestOrdinal,t),sessionId:e.session.id,turnId:e.turn?.id??null,goalId:r?.goalId??null,subagentRunId:r?.subagentRunId??null,subagentRoleId:r?.subagentRoleId??null,createImproveRunId:r?.createImproveRunId??e.turn?.createImproveRun?.id??null,commandName:t,commandSource:r?.commandSource??v(e.turn,t),appId:e.session.appId,workspaceKind:e.session.workspaceKind??null,workspaceId:e.session.workspaceId??null,localProjectId:e.session.localProjectId??null,cloudProjectId:e.session.cloudProjectId??null,sourceEventSequence:null}}s(M,"modelUsageAttribution");function q(e,r){return r==="create_improve_planner"?"create_improve":r==="harness_refiner"?"system":r==="context_compaction"?"compaction":"chat"}s(q,"usageSurface");function T(e,r,t){return e==="create_improve_planner"?"planner":e==="harness_refiner"?"other":e==="context_compaction"?"summary":e==="subagent"?"subagent":t||e==="slash_command"?"slash_command":r===0?"direct_chat":"tool_loop"}s(T,"usageWorkflowKind");function i(e){if(!e)return null;let r=u.safeParse(e.metadata?.usageAttribution);return r.success?r.data:null}s(i,"usageRequestAttributionFromTurn");function m(e){if(!e)return null;let t=i(e)?.commandName;if(typeof t=="string"&&t.trim())return t.trim();let n=e.createImproveRun?.command;return typeof n=="string"&&n.trim().startsWith("/")?n.trim():null}s(m,"commandNameFromTurn");function v(e,r){return e?.createImproveRun?.metadata?.source==="native_model_tool"?"model_tool":r?"prompt_parse":null}s(v,"commandSourceFromTurn");function R(e){return e instanceof Error&&e.name.trim()?e.name.trim():"Error"}s(R,"errorType");export{f as a,P as b};
2
+ import{b as c}from"./chunk-PCSIOUHF.js";import{a as l}from"./chunk-7KWD2I6W.js";import{d as o,e as d}from"./chunk-57TRXBLT.js";import{a as u}from"./chunk-DIO5CB6U.js";import{a as s}from"./chunk-FTQLQJQV.js";import{randomUUID as p}from"node:crypto";function f(e){let r=l(e.usage),t=e.requestKind??h({session:e.session,turn:e.turn??null,requestOrdinal:e.requestOrdinal}),n=e.completedAt,g=e.error&&d(e.error)||null;return{id:`usage_${p()}`,requestId:e.requestId,requestOrdinal:e.requestOrdinal,sessionId:e.session.id,turnId:e.turn?.id??null,provider:e.provider,model:e.model||"unknown",route:U(e.provider),source:r.promptTokens!==null||r.completionTokens!==null||r.totalTokens!==null?"provider_usage":"missing",requestKind:t,visibility:b(e.session,t),status:e.status,startedAt:e.startedAt,completedAt:n,durationMs:n?Math.max(0,Date.parse(n)-Date.parse(e.startedAt)):null,firstTokenMs:e.firstTokenMs,promptTokens:r.promptTokens,cachedPromptTokens:r.cachedPromptTokens,uncachedPromptTokens:r.uncachedPromptTokens,cacheWritePromptTokens:r.cacheWritePromptTokens,cacheTelemetrySource:r.cacheTelemetrySource,completionTokens:r.completionTokens,totalTokens:r.totalTokens,errorType:e.error?R(e.error):null,errorMessage:g,attribution:M({session:e.session,turn:e.turn??null,requestKind:t,requestOrdinal:e.requestOrdinal})}}s(f,"createProviderRequestUsageRecord");async function P(e){let r=new a(e);return await r.start(),r}s(P,"startProviderRequestUsageRecorder");var a=class{constructor(r){this.input=r}input;static{s(this,"ProviderRequestUsageRecorder")}latestUsage=null;firstTokenMs=null;startedAt=o();startedAtMs=Date.now();async start(){await this.upsert("started",null)}observeDelta(r){this.firstTokenMs===null&&k(r)&&(this.firstTokenMs=Math.max(0,Date.now()-this.startedAtMs)),r.usage&&(this.latestUsage=r.usage)}async complete(){await this.upsert("completed",o())}async fail(r,t){await this.upsert(t,o(),r)}async upsert(r,t,n){await this.input.upsert(f({session:this.input.session,turn:this.input.turn,provider:this.input.provider,model:this.input.model,requestId:this.input.requestId,requestOrdinal:this.input.requestOrdinal,requestKind:this.input.requestKind,startedAt:this.startedAt,completedAt:t,firstTokenMs:this.firstTokenMs,usage:this.latestUsage,status:r,error:n}))}};function k(e){return!!(e.text||e.reasoningText||e.toolCalls&&e.toolCalls.length>0)}s(k,"modelUsageDeltaHasOutput");function U(e){return e==="openpond"?"openpond_hosted":e==="codex"?"codex_app_server":c(e)?"local_byok":"unknown"}s(U,"modelUsageRoute");function h(e){let r=i(e.turn);return r?.subagentRunId||r?.workflowKind==="subagent"?"subagent":e.turn&&m(e.turn)?"slash_command":e.requestOrdinal===0?"chat_turn":"tool_loop"}s(h,"modelUsageRequestKind");function b(e,r){return e.systemKind?"system":r==="context_compaction"||r==="create_improve_planner"||r==="harness_refiner"||r==="subagent"||r==="codex_context"?"background":"user_facing"}s(b,"modelUsageVisibility");function M(e){let r=i(e.turn),t=m(e.turn);return{surface:r?.surface??q(e.session,e.requestKind),workflowKind:r?.workflowKind??T(e.requestKind,e.requestOrdinal,t),sessionId:e.session.id,turnId:e.turn?.id??null,goalId:r?.goalId??null,subagentRunId:r?.subagentRunId??null,subagentRoleId:r?.subagentRoleId??null,createImproveRunId:r?.createImproveRunId??e.turn?.createImproveRun?.id??null,commandName:t,commandSource:r?.commandSource??v(e.turn,t),appId:e.session.appId,workspaceKind:e.session.workspaceKind??null,workspaceId:e.session.workspaceId??null,localProjectId:e.session.localProjectId??null,cloudProjectId:e.session.cloudProjectId??null,sourceEventSequence:null}}s(M,"modelUsageAttribution");function q(e,r){return r==="create_improve_planner"?"create_improve":r==="harness_refiner"?"system":r==="context_compaction"?"compaction":"chat"}s(q,"usageSurface");function T(e,r,t){return e==="create_improve_planner"?"planner":e==="harness_refiner"?"other":e==="context_compaction"?"summary":e==="subagent"?"subagent":t||e==="slash_command"?"slash_command":r===0?"direct_chat":"tool_loop"}s(T,"usageWorkflowKind");function i(e){if(!e)return null;let r=u.safeParse(e.metadata?.usageAttribution);return r.success?r.data:null}s(i,"usageRequestAttributionFromTurn");function m(e){if(!e)return null;let t=i(e)?.commandName;if(typeof t=="string"&&t.trim())return t.trim();let n=e.createImproveRun?.command;return typeof n=="string"&&n.trim().startsWith("/")?n.trim():null}s(m,"commandNameFromTurn");function v(e,r){return e?.createImproveRun?.metadata?.source==="native_model_tool"?"model_tool":r?"prompt_parse":null}s(v,"commandSourceFromTurn");function R(e){return e instanceof Error&&e.name.trim()?e.name.trim():"Error"}s(R,"errorType");export{f as a,P as b};