openpond 0.2.59 → 0.2.60

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 (365) hide show
  1. package/README.md +27 -0
  2. package/dist/app-server.d.ts +7 -0
  3. package/dist/app-server.js +1 -1
  4. package/dist/chunks/acp-ARBNMIPT.js +2 -0
  5. package/dist/chunks/acp-agent-53COYDHB.js +21 -0
  6. package/dist/chunks/{actions-command-JJ3CU7J6.js → actions-command-6YSZ7EJS.js} +1 -1
  7. package/dist/chunks/{app-layer-KAUZAHGE.js → app-layer-TVG7KTW6.js} +1 -1
  8. package/dist/chunks/{app-server-connected-apps-SXGZOUJJ.js → app-server-connected-apps-K62M6LCT.js} +1 -1
  9. package/dist/chunks/{app-server-evaluations-N4OMTPCI.js → app-server-evaluations-RM6WXX3H.js} +1 -1
  10. package/dist/chunks/app-server-harness-services-RLKMWOQ4.js +2 -0
  11. package/dist/chunks/app-server-runtime-OKMEHNEU.js +2 -0
  12. package/dist/chunks/apps-YWZL2H34.js +2 -0
  13. package/dist/chunks/{chunk-JUQMSHNR.js → chunk-23P2O7PH.js} +1 -1
  14. package/dist/chunks/{chunk-PF5R6CMP.js → chunk-2GICDASL.js} +1 -1
  15. package/dist/chunks/{chunk-6MI4KKWF.js → chunk-2ITZW2CN.js} +1 -1
  16. package/dist/chunks/chunk-2MMCZHKL.js +2 -0
  17. package/dist/chunks/{chunk-EOBHQ3JT.js → chunk-2PAJCXFC.js} +1 -1
  18. package/dist/chunks/{chunk-GYJQKCEO.js → chunk-2RNCXDJC.js} +1 -1
  19. package/dist/chunks/{chunk-APB2STJK.js → chunk-2SUMZ73C.js} +1 -1
  20. package/dist/chunks/{chunk-DZUN5YWB.js → chunk-3CWRTKHY.js} +1 -1
  21. package/dist/chunks/{chunk-TRQQNFMO.js → chunk-44LWH5U6.js} +1 -1
  22. package/dist/chunks/{chunk-BVQWVIGK.js → chunk-52KIORRX.js} +1 -1
  23. package/dist/chunks/{chunk-TG7P7BSV.js → chunk-5RHYSQZ5.js} +1 -1
  24. package/dist/chunks/{chunk-3QIB5FXI.js → chunk-5ZBLCWEJ.js} +1 -1
  25. package/dist/chunks/{chunk-25JDHAZ5.js → chunk-637UACKH.js} +1 -1
  26. package/dist/chunks/{chunk-VRODAXFS.js → chunk-655DQ6AX.js} +26 -26
  27. package/dist/chunks/{chunk-N4FFQPLR.js → chunk-6GWOVHIG.js} +1 -1
  28. package/dist/chunks/chunk-6HQB3MQO.js +2 -0
  29. package/dist/chunks/{chunk-GOPFFQZU.js → chunk-7LZISGTA.js} +2 -2
  30. package/dist/chunks/{chunk-MMQRHR3V.js → chunk-7RC5WPVT.js} +1 -1
  31. package/dist/chunks/{chunk-H6IW2R22.js → chunk-7YTHEMWI.js} +1 -1
  32. package/dist/chunks/{chunk-PCSIOUHF.js → chunk-A3L74U3W.js} +1 -1
  33. package/dist/chunks/{chunk-XMKCCLGB.js → chunk-A66CSUBJ.js} +1 -1
  34. package/dist/chunks/{chunk-OUVIWDL2.js → chunk-AGVOGPAZ.js} +1 -1
  35. package/dist/chunks/{chunk-U2MAPON2.js → chunk-AW5Q6NXT.js} +1 -1
  36. package/dist/chunks/{chunk-7AVNZF36.js → chunk-B46HZ3MX.js} +1 -1
  37. package/dist/chunks/{chunk-KGNCKIFP.js → chunk-BIPQCJ5V.js} +1 -1
  38. package/dist/chunks/{chunk-776WNDV2.js → chunk-BIQ33JV5.js} +1 -1
  39. package/dist/chunks/{chunk-JFXWI3EN.js → chunk-BK63OQRW.js} +1 -1
  40. package/dist/chunks/{chunk-BO5JZYWG.js → chunk-CFSIU6CW.js} +1 -1
  41. package/dist/chunks/{chunk-WC42WOLG.js → chunk-D3RRUWNN.js} +1 -1
  42. package/dist/chunks/{chunk-X4OSOOSU.js → chunk-D4UX2O45.js} +1 -1
  43. package/dist/chunks/{chunk-GJ2ZJFDD.js → chunk-DG4TYVPF.js} +1 -1
  44. package/dist/chunks/{chunk-QIKWJ2AA.js → chunk-DGIEXZJV.js} +1 -1
  45. package/dist/chunks/{chunk-JMBQYBPI.js → chunk-DIGX56JY.js} +1 -1
  46. package/dist/chunks/{chunk-4GPXTISD.js → chunk-DISNCX6R.js} +1 -1
  47. package/dist/chunks/{chunk-EWOSLZDX.js → chunk-DK7IKI7O.js} +1 -1
  48. package/dist/chunks/{chunk-74IIXVAE.js → chunk-DX7YEUNQ.js} +1 -1
  49. package/dist/chunks/{chunk-523TE4BI.js → chunk-E63VWAQA.js} +1 -1
  50. package/dist/chunks/{chunk-OLDK2LKJ.js → chunk-EL454L26.js} +1 -1
  51. package/dist/chunks/{chunk-WRI4XKSK.js → chunk-ENSB6ZTM.js} +1 -1
  52. package/dist/chunks/{chunk-EAPFMACH.js → chunk-ERJV5BMC.js} +1 -1
  53. package/dist/chunks/{chunk-RNIAFXMB.js → chunk-EXJGCNRS.js} +1 -1
  54. package/dist/chunks/chunk-F5KCCDQM.js +2 -0
  55. package/dist/chunks/{chunk-57TRXBLT.js → chunk-FSQWAANK.js} +1 -1
  56. package/dist/chunks/{chunk-BGJYITVI.js → chunk-G5B3PB5X.js} +1 -1
  57. package/dist/chunks/{chunk-ARLOVWQ3.js → chunk-GAWGIJQG.js} +1 -1
  58. package/dist/chunks/{chunk-ABZ2ZOLU.js → chunk-GGGF5NHJ.js} +1 -1
  59. package/dist/chunks/{chunk-4EDIRCD3.js → chunk-GOYBYYPQ.js} +1 -1
  60. package/dist/chunks/{chunk-H7ATCPPB.js → chunk-H3BSIAQO.js} +1 -1
  61. package/dist/chunks/{chunk-RBZH6A6M.js → chunk-HCEJAOIF.js} +1 -1
  62. package/dist/chunks/{chunk-OPNRWESL.js → chunk-IFQCOSU6.js} +1 -1
  63. package/dist/chunks/{chunk-VGRMAGOK.js → chunk-IJHZBHEK.js} +2 -2
  64. package/dist/chunks/{chunk-GUOLMLZN.js → chunk-ISFIDCIH.js} +1 -1
  65. package/dist/chunks/{chunk-PY6K2JRH.js → chunk-ITKTILKI.js} +1 -1
  66. package/dist/chunks/{chunk-3CDEBKSU.js → chunk-IUBARBGI.js} +1 -1
  67. package/dist/chunks/{chunk-2L5XWJJ5.js → chunk-J24I74EM.js} +1 -1
  68. package/dist/chunks/{chunk-IRV6GWGG.js → chunk-J7QGHA7G.js} +3 -3
  69. package/dist/chunks/{chunk-FAYASU7Z.js → chunk-JGWINTT5.js} +1 -1
  70. package/dist/chunks/{chunk-GL3NX3F3.js → chunk-JHEFWB6O.js} +1 -1
  71. package/dist/chunks/{chunk-V34H7Y2T.js → chunk-JHMS2WXM.js} +2 -2
  72. package/dist/chunks/{chunk-PSGGOZFM.js → chunk-JHR3LF2F.js} +1 -1
  73. package/dist/chunks/{chunk-O4VIXU7A.js → chunk-KGLJU66U.js} +3 -3
  74. package/dist/chunks/{chunk-XEOEKFG6.js → chunk-KJFRCVQC.js} +1 -1
  75. package/dist/chunks/chunk-KNO355LC.js +2 -0
  76. package/dist/chunks/{chunk-BQS7Z4AP.js → chunk-LD7PGREF.js} +2 -2
  77. package/dist/chunks/{chunk-MNC4YUDI.js → chunk-LHA7RQBA.js} +1 -1
  78. package/dist/chunks/{chunk-RZUEVS64.js → chunk-LO3O45IX.js} +1 -1
  79. package/dist/chunks/{chunk-TIHXUKFD.js → chunk-M2SKXY5C.js} +2 -2
  80. package/dist/chunks/{chunk-2IHO4GDJ.js → chunk-M3ZQDPRS.js} +1 -1
  81. package/dist/chunks/{chunk-DPHAN6N3.js → chunk-M4ZF44H5.js} +1 -1
  82. package/dist/chunks/{chunk-Y4OWBBDD.js → chunk-M55H7KVR.js} +1 -1
  83. package/dist/chunks/{chunk-NTB2O4RP.js → chunk-MGKMIRYG.js} +1 -1
  84. package/dist/chunks/{chunk-XJZSIXEO.js → chunk-MJGU2JJ2.js} +2 -2
  85. package/dist/chunks/{chunk-7K7O3CKY.js → chunk-MS37ISA4.js} +2 -2
  86. package/dist/chunks/{chunk-BRORSFJX.js → chunk-NCKXI2VB.js} +11 -11
  87. package/dist/chunks/chunk-NHUUCNAD.js +2 -0
  88. package/dist/chunks/{chunk-2WKUBGIF.js → chunk-O3VP46SE.js} +1 -1
  89. package/dist/chunks/{chunk-EUMXMT3S.js → chunk-O4FBOUNX.js} +1 -1
  90. package/dist/chunks/chunk-O6IFVTZT.js +9 -0
  91. package/dist/chunks/{chunk-ZH3K7LKQ.js → chunk-O7B44IYN.js} +1 -1
  92. package/dist/chunks/{chunk-ZAN4DYLH.js → chunk-OGMDEA3Y.js} +1 -1
  93. package/dist/chunks/{chunk-BL3YH2QU.js → chunk-OKBIWRHC.js} +1 -1
  94. package/dist/chunks/{chunk-FFRFSDBM.js → chunk-ON2RNOCG.js} +1 -1
  95. package/dist/chunks/{chunk-76M2MEHV.js → chunk-ONDCV5QC.js} +1 -1
  96. package/dist/chunks/{chunk-UCPGRPWY.js → chunk-OQ4VGCRG.js} +1 -1
  97. package/dist/chunks/{chunk-GVZLGS2U.js → chunk-OWK7HU5I.js} +1 -1
  98. package/dist/chunks/{chunk-JQKSXCAJ.js → chunk-OY5HC2P6.js} +1 -1
  99. package/dist/chunks/{chunk-T5AACNJI.js → chunk-P7HRF4FM.js} +1 -1
  100. package/dist/chunks/{chunk-7ED24PP6.js → chunk-PCNLC5H3.js} +1 -1
  101. package/dist/chunks/{chunk-ES2ISFJC.js → chunk-PF56N7ZY.js} +1 -1
  102. package/dist/chunks/{chunk-OX3XZKGK.js → chunk-PKALOVHC.js} +2 -2
  103. package/dist/chunks/{chunk-ZCHXGRRU.js → chunk-PR5TYTY4.js} +1 -1
  104. package/dist/chunks/{chunk-Q4TBTRIG.js → chunk-PWK5Z5S3.js} +1 -1
  105. package/dist/chunks/chunk-PXS4SVQG.js +16 -0
  106. package/dist/chunks/{chunk-AY64VY4E.js → chunk-QGOPYQW3.js} +1 -1
  107. package/dist/chunks/{chunk-LPWBIGKW.js → chunk-R7YEURUQ.js} +1 -1
  108. package/dist/chunks/{chunk-ACYFMLWG.js → chunk-RCA6NGVA.js} +2 -2
  109. package/dist/chunks/{chunk-DUURYZOI.js → chunk-RG3NH6YQ.js} +1 -1
  110. package/dist/chunks/{chunk-ATAOHSFR.js → chunk-RJIUOLWY.js} +1 -1
  111. package/dist/chunks/{chunk-37MWETFU.js → chunk-RXE3FYMJ.js} +1 -1
  112. package/dist/chunks/chunk-RYGWCN2R.js +2 -0
  113. package/dist/chunks/{chunk-VYLGI3IH.js → chunk-SFNCAPCJ.js} +1 -1
  114. package/dist/chunks/{chunk-Z4Z5UOZM.js → chunk-SG6JZ7HD.js} +1 -1
  115. package/dist/chunks/{chunk-IFDALGZE.js → chunk-SKRNWRKV.js} +5 -5
  116. package/dist/chunks/{chunk-ANFDRKUU.js → chunk-SLZH4Z6C.js} +1 -1
  117. package/dist/chunks/{chunk-WN3V6KDN.js → chunk-SPDSSMFD.js} +1 -1
  118. package/dist/chunks/{chunk-EQOV34UH.js → chunk-STWRTNRK.js} +1 -1
  119. package/dist/chunks/{chunk-XMWXH7TS.js → chunk-T5J7HIHR.js} +1 -1
  120. package/dist/chunks/{chunk-E72UU4VX.js → chunk-TBUAQWFS.js} +1 -1
  121. package/dist/chunks/{chunk-ZUJ3XUCP.js → chunk-TEPRCBDV.js} +1 -1
  122. package/dist/chunks/{chunk-2G4BEISF.js → chunk-TOFMA2L5.js} +2 -2
  123. package/dist/chunks/{chunk-TKLBP3MM.js → chunk-UFHLLSCE.js} +1 -1
  124. package/dist/chunks/{chunk-BE6SS65L.js → chunk-UJKQLO6B.js} +2 -2
  125. package/dist/chunks/{chunk-O3RF72BT.js → chunk-UZQNFTLR.js} +1 -1
  126. package/dist/chunks/{chunk-F74GBN6K.js → chunk-V2HMWCT6.js} +1 -1
  127. package/dist/chunks/{chunk-6ZFPQYHG.js → chunk-V4KT5FCJ.js} +1 -1
  128. package/dist/chunks/{chunk-TVQAPBLZ.js → chunk-VHSX3JPX.js} +1 -1
  129. package/dist/chunks/{chunk-22VMH6JV.js → chunk-W2SXOGTQ.js} +1 -1
  130. package/dist/chunks/{chunk-PH6IORGZ.js → chunk-WDEO44UN.js} +1 -1
  131. package/dist/chunks/{chunk-LNCHFVHT.js → chunk-WEHBK3MC.js} +1 -1
  132. package/dist/chunks/{chunk-KO3HNMLJ.js → chunk-WGX7WY4N.js} +1 -1
  133. package/dist/chunks/{chunk-CKMSBAI2.js → chunk-WHREO7A2.js} +1 -1
  134. package/dist/chunks/{chunk-N6ENLEMY.js → chunk-WS2ZZBAQ.js} +3 -3
  135. package/dist/chunks/{chunk-DIO5CB6U.js → chunk-WYZWDMMF.js} +1 -1
  136. package/dist/chunks/{chunk-MQULU465.js → chunk-XO3H32KX.js} +1 -1
  137. package/dist/chunks/{chunk-FKJHEZCW.js → chunk-XQBIHPPX.js} +1 -1
  138. package/dist/chunks/chunk-XRKFTPHD.js +2 -0
  139. package/dist/chunks/{chunk-YHHF4Q7Y.js → chunk-XSCIOQYE.js} +1 -1
  140. package/dist/chunks/{chunk-COHMDT7A.js → chunk-XTWEWYK7.js} +7 -7
  141. package/dist/chunks/{chunk-AQD7K4Z5.js → chunk-Y3GIM6WK.js} +1 -1
  142. package/dist/chunks/{chunk-74ZXXBGN.js → chunk-Y54RKLOI.js} +1 -1
  143. package/dist/chunks/{chunk-C37PUHA6.js → chunk-Y777GISF.js} +1 -1
  144. package/dist/chunks/{chunk-PFSMXKTI.js → chunk-YDU3S6UT.js} +1 -1
  145. package/dist/chunks/{chunk-UGL7WF3W.js → chunk-YOZIZYSC.js} +1 -1
  146. package/dist/chunks/{chunk-OSIO7PLX.js → chunk-YQKOB56U.js} +1 -1
  147. package/dist/chunks/chunk-YVNDDNMK.js +3 -0
  148. package/dist/chunks/{chunk-U5FKRYJO.js → chunk-ZAZKJJOT.js} +1 -1
  149. package/dist/chunks/{chunk-2RNQQNB7.js → chunk-ZR7LIMJS.js} +1 -1
  150. package/dist/chunks/{chunk-PQJTYOR2.js → chunk-ZTJOOY2F.js} +1 -1
  151. package/dist/chunks/{chunk-GPVCOEUH.js → chunk-ZTVXRZ6D.js} +1 -1
  152. package/dist/chunks/cli-CNYNXKGQ.js +2 -0
  153. package/dist/chunks/configuration-command-5K7EE2J5.js +2 -0
  154. package/dist/chunks/connected-app-executor-E25XCNAS.js +2 -0
  155. package/dist/chunks/connected-evidence-QNSO5BTF.js +2 -0
  156. package/dist/chunks/connection-Y2KCMBYD.js +2 -0
  157. package/dist/chunks/{continual-WFPIDWPH.js → continual-SOO3QBNQ.js} +1 -1
  158. package/dist/chunks/core-commands-ZTWPYAFQ.js +2 -0
  159. package/dist/chunks/datasets-XPUMWGOC.js +2 -0
  160. package/dist/chunks/desktop-test-HVSW4JHY.js +3 -0
  161. package/dist/chunks/dist-4N6AHWNN.js +2 -0
  162. package/dist/chunks/{dist-OMGUJYPD.js → dist-N6R6VNFD.js} +1 -1
  163. package/dist/chunks/{dist-OGLX76LL.js → dist-QN7WKZ2D.js} +1 -1
  164. package/dist/chunks/{enclave-QS4BUNDU.js → enclave-VURYNILU.js} +1 -1
  165. package/dist/chunks/evaluation-coordination-AOTFPVMS.js +2 -0
  166. package/dist/chunks/experiment-improvements-75CN3VI7.js +2 -0
  167. package/dist/chunks/experiments-AGAHM2AK.js +2 -0
  168. package/dist/chunks/{experiments-VFQGE4HC.js → experiments-DYSHYBGB.js} +1 -1
  169. package/dist/chunks/{extension-JCUA3RWV.js → extension-UT4CSDJF.js} +1 -1
  170. package/dist/chunks/help-KU52CFMW.js +8 -0
  171. package/dist/chunks/host-profile-evaluation-tools-LZDMQCMT.js +2 -0
  172. package/dist/chunks/host-profile-external-dataset-VK3NJHMC.js +2 -0
  173. package/dist/chunks/hosted-app-server-composition-P7V7K7CG.js +2 -0
  174. package/dist/chunks/{hosted-experiment-improvement-42YWXB3P.js → hosted-experiment-improvement-P433KDX2.js} +1 -1
  175. package/dist/chunks/hosted-harness-runtime-Y4DONWPC.js +2 -0
  176. package/dist/chunks/{hosted-profile-candidate-HVVC43XQ.js → hosted-profile-candidate-72MMPN6U.js} +1 -1
  177. package/dist/chunks/hosted-profile-compiler-RXHLK224.js +2 -0
  178. package/dist/chunks/hosted-profile-evaluation-control-LS4DCSDO.js +2 -0
  179. package/dist/chunks/{hosted-profile-evaluation-inspection-BUWLCKCD.js → hosted-profile-evaluation-inspection-3Q6EHO66.js} +1 -1
  180. package/dist/chunks/{hosted-profile-evaluation-preparation-3XLRR6UH.js → hosted-profile-evaluation-preparation-ZD27HNLF.js} +1 -1
  181. package/dist/chunks/{hosted-tasksets-THKM5QY5.js → hosted-tasksets-V2PQZJN4.js} +1 -1
  182. package/dist/chunks/human-review-4FJFINQX.js +2 -0
  183. package/dist/chunks/{import-CBDJ4DME.js → import-GBHSLA3G.js} +1 -1
  184. package/dist/chunks/{learning-ACEVFL5M.js → learning-U3FZL5YB.js} +1 -1
  185. package/dist/chunks/local-harness-improvement-runtime-UP2P7UT4.js +2 -0
  186. package/dist/chunks/local-harness-taskset-review-ZNOKSPJJ.js +2 -0
  187. package/dist/chunks/{local-scope-HVF2GZ5W.js → local-scope-62GWHDXS.js} +1 -1
  188. package/dist/chunks/{model-projects-QPO22JPA.js → model-projects-LQ4C6R3X.js} +1 -1
  189. package/dist/chunks/opchat-Q4PIWPYW.js +3 -0
  190. package/dist/chunks/organizations-TEH6HBQ3.js +2 -0
  191. package/dist/chunks/{profile-Y2MCSOUK.js → profile-SWPVCGTR.js} +1 -1
  192. package/dist/chunks/{profile-training-source-6GOT7AHM.js → profile-training-source-J73ZLNSC.js} +1 -1
  193. package/dist/chunks/project-action-payload-OU3ZPHW7.js +2 -0
  194. package/dist/chunks/project-agent-J7ILCRBS.js +2 -0
  195. package/dist/chunks/{published-experiment-source-5TMGLKDM.js → published-experiment-source-HVHKSYDL.js} +1 -1
  196. package/dist/chunks/refiner-profile-service-E7YU4E3N.js +2 -0
  197. package/dist/chunks/{runtime-QFXCXSVB.js → runtime-LIPHPKKJ.js} +2 -2
  198. package/dist/chunks/sandbox-command-G6KID3OP.js +2 -0
  199. package/dist/chunks/{sandbox-template-XWWPWWNR.js → sandbox-template-MZTMAUFS.js} +1 -1
  200. package/dist/chunks/saved-work-LOUWLF37.js +2 -0
  201. package/dist/chunks/{send-turn-SIXOZUVJ.js → send-turn-UEUEGY5W.js} +1 -1
  202. package/dist/chunks/{src-EZAKCCUV.js → src-7WMZOWZZ.js} +102 -95
  203. package/dist/chunks/{src-6SHCCYEN.js → src-MVAK6D6Y.js} +1 -1
  204. package/dist/chunks/standalone-experiment-turn-owner-YRKEOEJ2.js +2 -0
  205. package/dist/chunks/{store-continual-support-reviews-GDX6CSUU.js → store-continual-support-reviews-FJLLNKCY.js} +1 -1
  206. package/dist/chunks/{store-conversation-serving-W55XMDH4.js → store-conversation-serving-4KWR4IZY.js} +1 -1
  207. package/dist/chunks/{store-create-improve-A7E7CUPZ.js → store-create-improve-JWBJZRAU.js} +1 -1
  208. package/dist/chunks/{store-datasets-HKF3EO7B.js → store-datasets-4N2M6Y3K.js} +2 -2
  209. package/dist/chunks/{store-evaluation-results-645RFBGR.js → store-evaluation-results-OBM4623U.js} +1 -1
  210. package/dist/chunks/{store-harness-memory-VINCZ4GK.js → store-harness-memory-4HUEMRCD.js} +1 -1
  211. package/dist/chunks/{store-harness-refinement-candidates-EA5KFQPH.js → store-harness-refinement-candidates-NMRWMN23.js} +1 -1
  212. package/dist/chunks/store-harness-workspaces-BGONIQDY.js +2 -0
  213. package/dist/chunks/{store-human-review-F5KESW52.js → store-human-review-J75SIZAL.js} +1 -1
  214. package/dist/chunks/store-learned-preference-migration-validation-VLASM4CT.js +2 -0
  215. package/dist/chunks/store-learning-TUCQFBLT.js +2 -0
  216. package/dist/chunks/{store-learning-credentials-WZQJ4HPJ.js → store-learning-credentials-S4RF57NV.js} +1 -1
  217. package/dist/chunks/{store-local-experiments-HWQWNTIU.js → store-local-experiments-LULRLTII.js} +5 -5
  218. package/dist/chunks/{store-model-batch-review-TOCSDVAP.js → store-model-batch-review-SVL4MT6D.js} +1 -1
  219. package/dist/chunks/{store-model-configuration-6543ASY2.js → store-model-configuration-ZHDSM3XM.js} +2 -2
  220. package/dist/chunks/{store-preference-comparison-LV32MHVL.js → store-preference-comparison-YMMCKXS5.js} +1 -1
  221. package/dist/chunks/{store-schedules-VGTEQVKH.js → store-schedules-6Z4QS3NU.js} +1 -1
  222. package/dist/chunks/{store-sidebar-file-bookmarks-53B7QIGS.js → store-sidebar-file-bookmarks-MX6EP6OB.js} +2 -2
  223. package/dist/chunks/{store-sidebar-preferences-YXGEJVUO.js → store-sidebar-preferences-VYREPW26.js} +1 -1
  224. package/dist/chunks/{store-subagents-HRCAK7VZ.js → store-subagents-WGBCRALX.js} +1 -1
  225. package/dist/chunks/{store-task-inbox-WF74W4U2.js → store-task-inbox-43BNZSB7.js} +6 -6
  226. package/dist/chunks/{store-task-inventory-KHCTEZVK.js → store-task-inventory-AEW4POAJ.js} +2 -2
  227. package/dist/chunks/{store-taskset-drafts-3ACG5AVX.js → store-taskset-drafts-DKFO2CYB.js} +1 -1
  228. package/dist/chunks/{store-training-R46WOGXB.js → store-training-6PFFR6ST.js} +1 -1
  229. package/dist/chunks/{store-training-jobs-D4LECE7O.js → store-training-jobs-ANDEBQ67.js} +2 -2
  230. package/dist/chunks/{store-training-models-EQVNXOVB.js → store-training-models-OOI4ZJPX.js} +2 -2
  231. package/dist/chunks/{store-usage-IE2U2FD3.js → store-usage-U72RNW64.js} +1 -1
  232. package/dist/chunks/{store-work-evidence-QQDKM5AQ.js → store-work-evidence-NY5OBATB.js} +1 -1
  233. package/dist/chunks/{taskset-NR2X2UOK.js → taskset-SL3YOXW7.js} +1 -1
  234. package/dist/chunks/{taskset-packages-ONULEIVI.js → taskset-packages-3PCEYYDA.js} +1 -1
  235. package/dist/chunks/{teams-bot-CHUYMD6K.js → teams-bot-IDEF3BMI.js} +1 -1
  236. package/dist/chunks/{training-IDSGYGU2.js → training-57ISIC7U.js} +1 -1
  237. package/dist/chunks/web-search-222Y63QW.js +2 -0
  238. package/dist/chunks/{workspaces-2TJRDM5K.js → workspaces-5DF4H5EX.js} +1 -1
  239. package/dist/cli.js +1 -1
  240. package/dist/index.js +1 -1
  241. package/dist/sandbox-template/manifest.js +1 -1
  242. package/dist/web/assets/{App-CaRMZoxo.css → App-DbYvV_W6.css} +1 -1
  243. package/dist/web/assets/{App-pcwmC4IR.js → App-nzE7JU_O.js} +4 -4
  244. package/dist/web/assets/{AppDialog-CdHad7GT.js → AppDialog-VtNvqbDm.js} +1 -1
  245. package/dist/web/assets/{AppTerminalPanel-CrmoOgd4.js → AppTerminalPanel-BMfKdrrN.js} +2 -2
  246. package/dist/web/assets/{AppsView-0P6cBsD4.js → AppsView-CdWyrDEb.js} +1 -1
  247. package/dist/web/assets/{BrowserSidebar-Cb6edJw6.js → BrowserSidebar-CtOIciOa.js} +1 -1
  248. package/dist/web/assets/{CartesianChart-B2Sxi0lv.js → CartesianChart-u1lvLM30.js} +1 -1
  249. package/dist/web/assets/{CollaborationTabs-PP0AIXhb.js → CollaborationTabs-CaBfDYRW.js} +1 -1
  250. package/dist/web/assets/{CommandMenu-GfQIMe6W.js → CommandMenu-CFW3WJ11.js} +1 -1
  251. package/dist/web/assets/{CommunityView-V6KmMl5n.js → CommunityView-D2EjaeuH.js} +1 -1
  252. package/dist/web/assets/{ComposerCreateImproveStrip-oeVeyhPX.js → ComposerCreateImproveStrip-6wYSJdzv.js} +1 -1
  253. package/dist/web/assets/{ConversationImportsSettings-CuQcvVgE.js → ConversationImportsSettings-BJ4QhF7p.js} +1 -1
  254. package/dist/web/assets/{GetStartedView-2oZ068h_.js → GetStartedView-DBcOwIJn.js} +1 -1
  255. package/dist/web/assets/{HostedModelLearningReview-DLzak_Vf.js → HostedModelLearningReview-BNpK6_W9.js} +1 -1
  256. package/dist/web/assets/{HostedModelLearningSettings-Eca6Pd9R.js → HostedModelLearningSettings-SrsdeeoA.js} +1 -1
  257. package/dist/web/assets/{LabModelVersionDetailPage-DsBblnMp.js → LabModelVersionDetailPage-Cd6bRHt9.js} +1 -1
  258. package/dist/web/assets/{LabSkillSidebar-DDknttrB.js → LabSkillSidebar-CQfvel4w.js} +1 -1
  259. package/dist/web/assets/{LabsRoute-CgNiUHsy.js → LabsRoute-sXLJt1KR.js} +4 -4
  260. package/dist/web/assets/{MainChatThread-yCVg99LU.js → MainChatThread-dlDDK2JM.js} +2 -2
  261. package/dist/web/assets/{MainPane-C86le7UF.js → MainPane-DCz38-qy.js} +4 -4
  262. package/dist/web/assets/{MarkdownText-BBVriBCj.js → MarkdownText-Drjq6-JM.js} +1 -1
  263. package/dist/web/assets/{NativeSkillSidebar-D2uVZkqh.js → NativeSkillSidebar-jncZijt-.js} +1 -1
  264. package/dist/web/assets/{NewExperienceSwitcher-DuD6GScJ.js → NewExperienceSwitcher-DXKzoMaM.js} +1 -1
  265. package/dist/web/assets/{NewProjectDialog-B6XZkJrU.js → NewProjectDialog-DIyjAxJG.js} +1 -1
  266. package/dist/web/assets/{OutputsPage-PUlmcWjv.js → OutputsPage-Dy1cNr3n.js} +1 -1
  267. package/dist/web/assets/{ProjectsPage-DWBRmej6.js → ProjectsPage-D2EeybIv.js} +1 -1
  268. package/dist/web/assets/{RightChatPanelStack-HaCVep4t.js → RightChatPanelStack-4wUL-W9_.js} +1 -1
  269. package/dist/web/assets/{RightSidebarHomePanel-BUtdPb2L.js → RightSidebarHomePanel-Bd_AHUp8.js} +1 -1
  270. package/dist/web/assets/{ScheduledWorkPage-Dg9GkGrT.js → ScheduledWorkPage-BJkSzwz2.js} +1 -1
  271. package/dist/web/assets/{SettingsView-DtldfnV-.js → SettingsView-BhcP72KH.js} +3 -3
  272. package/dist/web/assets/{TeamChatView-C71JX4je.js → TeamChatView-CR0fdicZ.js} +1 -1
  273. package/dist/web/assets/{TerminalOverlay-B4F6Q36s.js → TerminalOverlay-DGrZRZ_3.js} +10 -10
  274. package/dist/web/assets/{TrainingCreationPanel-B9MxFzQx.js → TrainingCreationPanel-BsTG7aFS.js} +1 -1
  275. package/dist/web/assets/{TrainingDraftPanel-7C48sHfC.js → TrainingDraftPanel-ByErrht7.js} +1 -1
  276. package/dist/web/assets/{UsageSettingsSection-CC57FcUB.js → UsageSettingsSection-DeYTJbcM.js} +1 -1
  277. package/dist/web/assets/{WorkSidebarPanel-Cto1usLM.js → WorkSidebarPanel-DcNvEEoy.js} +1 -1
  278. package/dist/web/assets/{WorkspaceDiffPanel-CL7wi3kp.js → WorkspaceDiffPanel-CdPRcYWN.js} +3 -3
  279. package/dist/web/assets/{WorkspaceEnvironmentMenu-zdzSDofs.js → WorkspaceEnvironmentMenu-xUYg-iGn.js} +1 -1
  280. package/dist/web/assets/{WorkspaceGitDialogs-CZSmjnrc.js → WorkspaceGitDialogs-CBViLL3S.js} +1 -1
  281. package/dist/web/assets/{WorkspaceMonacoEditor-TrUDJMKb.js → WorkspaceMonacoEditor-frxie2_S.js} +3 -3
  282. package/dist/web/assets/{agent-connections-4Dza2mDg.js → agent-connections-D7ao-vbU.js} +1 -1
  283. package/dist/web/assets/{arrow-up-right-xKb5kWQJ.js → arrow-up-right-DCWPxdbD.js} +1 -1
  284. package/dist/web/assets/{chunk-P3BRSSRD-BsGTkgyC.js → chunk-P3BRSSRD-B5JXa0Nh.js} +1 -1
  285. package/dist/web/assets/{clipboard-BgjV3aCx.js → clipboard-B-GnMVLp.js} +1 -1
  286. package/dist/web/assets/{cloud-upload-Bw9XUsKQ.js → cloud-upload-DpaGFZ9J.js} +1 -1
  287. package/dist/web/assets/{cssMode-DxsFJGb-.js → cssMode-DJHE7R3W.js} +1 -1
  288. package/dist/web/assets/{folder-open-CbmUjIYS.js → folder-open-B-DFLDFH.js} +1 -1
  289. package/dist/web/assets/{folder-plus-slsst7Ct.js → folder-plus-CPXxPvSH.js} +1 -1
  290. package/dist/web/assets/{git-commit-horizontal-BIS-8MuS.js → git-commit-horizontal-DCTzcivA.js} +1 -1
  291. package/dist/web/assets/{htmlMode-BE4VOrZo.js → htmlMode-DxZVBAYd.js} +1 -1
  292. package/dist/web/assets/index-BojtIRzO.css +1 -0
  293. package/dist/web/assets/{index-DEg0S7Qk.js → index-Di1MU6Xr.js} +2 -2
  294. package/dist/web/assets/{info-5bL9xSSf.js → info-BMxsR_bn.js} +1 -1
  295. package/dist/web/assets/{jsonMode-CYimnBhD.js → jsonMode-CzWoMkpp.js} +1 -1
  296. package/dist/web/assets/{lspLanguageFeatures-CiFuk-P7.js → lspLanguageFeatures-15K7ND6Q.js} +1 -1
  297. package/dist/web/assets/{minimize-2-BGVWKvTg.js → minimize-2-DwUgqXoR.js} +1 -1
  298. package/dist/web/assets/{monaco.contribution-DkLVGT8N.js → monaco.contribution-BBLKjER5.js} +2 -2
  299. package/dist/web/assets/{monaco.contribution-BTY4dJ0f.js → monaco.contribution-DBjvSu8p.js} +2 -2
  300. package/dist/web/assets/{monaco.contribution-DUE3CQph.js → monaco.contribution-DUWvjhIG.js} +2 -2
  301. package/dist/web/assets/{monaco.contribution-C7sMrcos.js → monaco.contribution-w0zfkYLX.js} +2 -2
  302. package/dist/web/assets/{monitor-B5hx_tzp.js → monitor-Ihu5LVYx.js} +1 -1
  303. package/dist/web/assets/{play-pmSO95Qg.js → play-D_YGCdxU.js} +1 -1
  304. package/dist/web/assets/{python-CiZvL3LX.js → python-Q4OuoXYc.js} +1 -1
  305. package/dist/web/assets/{save-CvYL4DUg.js → save-DJYUOhtD.js} +1 -1
  306. package/dist/web/assets/{square-DT_uFOml.js → square-DXtoCBNw.js} +1 -1
  307. package/dist/web/assets/{toggleHighContrast-CrE1_HY0.js → toggleHighContrast-CaNeuWVE.js} +1 -1
  308. package/dist/web/assets/{tsMode-CI_PdZmj.js → tsMode-CJnQ2wmM.js} +1 -1
  309. package/dist/web/assets/{upload-PVi8vC3T.js → upload-fCP3_OEO.js} +1 -1
  310. package/dist/web/assets/{useLocalAgentSchedules-BHJNVf42.js → useLocalAgentSchedules-BFoH_gwZ.js} +1 -1
  311. package/dist/web/assets/{useProviderSettings-CU3zXyie.js → useProviderSettings-2eysgqiA.js} +1 -1
  312. package/dist/web/assets/{useSessionTurnCache-BE7cipLX.js → useSessionTurnCache-DLF5SPD-.js} +1 -1
  313. package/dist/web/assets/{wifi-off-7WiFuOhD.js → wifi-off-DZoiFrRz.js} +1 -1
  314. package/dist/web/assets/{workers-Cv8r4CvM.js → workers-D5nr74M-.js} +1 -1
  315. package/dist/web/assets/{yaml-Bj7mdkV2.js → yaml-CwsoTJmk.js} +1 -1
  316. package/dist/web/index.html +2 -2
  317. package/docs/command-reference.md +12 -0
  318. package/package.json +1 -1
  319. package/dist/chunks/app-server-harness-services-DDFUMNYC.js +0 -2
  320. package/dist/chunks/app-server-runtime-SVB6L26M.js +0 -2
  321. package/dist/chunks/apps-EZB56RHV.js +0 -2
  322. package/dist/chunks/chunk-7UH4YDA7.js +0 -3
  323. package/dist/chunks/chunk-CGWA54LE.js +0 -2
  324. package/dist/chunks/chunk-K44RHALX.js +0 -2
  325. package/dist/chunks/chunk-MFMYWZK2.js +0 -2
  326. package/dist/chunks/chunk-P2RSBSCT.js +0 -2
  327. package/dist/chunks/chunk-QDC4OW3S.js +0 -2
  328. package/dist/chunks/chunk-SF5HJ7PL.js +0 -16
  329. package/dist/chunks/chunk-YBT2NB32.js +0 -2
  330. package/dist/chunks/chunk-YCQSVHCD.js +0 -9
  331. package/dist/chunks/cli-5DFVQL5Y.js +0 -2
  332. package/dist/chunks/configuration-command-JS6U3RMC.js +0 -2
  333. package/dist/chunks/connected-app-executor-UBMGMV76.js +0 -2
  334. package/dist/chunks/connected-evidence-NLAIEVQ3.js +0 -2
  335. package/dist/chunks/connection-NZSD3U5O.js +0 -2
  336. package/dist/chunks/core-commands-U4IBRRY5.js +0 -2
  337. package/dist/chunks/datasets-UX47DTTB.js +0 -2
  338. package/dist/chunks/desktop-test-UUU7PD4P.js +0 -3
  339. package/dist/chunks/dist-W5MJYSPF.js +0 -2
  340. package/dist/chunks/evaluation-coordination-3YQN5JQW.js +0 -2
  341. package/dist/chunks/experiment-improvements-ZRVD2AGY.js +0 -2
  342. package/dist/chunks/experiments-JEB5A2N5.js +0 -2
  343. package/dist/chunks/help-KA4OINP5.js +0 -8
  344. package/dist/chunks/host-profile-evaluation-tools-2URLU5SG.js +0 -2
  345. package/dist/chunks/host-profile-external-dataset-B2AQNSDR.js +0 -2
  346. package/dist/chunks/hosted-app-server-composition-VJQ3FM4I.js +0 -2
  347. package/dist/chunks/hosted-harness-runtime-BM4WONJN.js +0 -2
  348. package/dist/chunks/hosted-profile-compiler-RKDWHYK3.js +0 -2
  349. package/dist/chunks/hosted-profile-evaluation-control-57V24UGU.js +0 -2
  350. package/dist/chunks/human-review-CSYAW4PC.js +0 -2
  351. package/dist/chunks/local-harness-improvement-runtime-3T6E7I5Q.js +0 -2
  352. package/dist/chunks/local-harness-taskset-review-LQPQBALH.js +0 -2
  353. package/dist/chunks/opchat-6ADSONAD.js +0 -3
  354. package/dist/chunks/organizations-GT24ZTCN.js +0 -2
  355. package/dist/chunks/project-action-payload-GHSLE7K3.js +0 -2
  356. package/dist/chunks/project-agent-YYSQIHVE.js +0 -2
  357. package/dist/chunks/refiner-profile-service-ZK7KAFP5.js +0 -2
  358. package/dist/chunks/sandbox-command-U6346TVJ.js +0 -2
  359. package/dist/chunks/saved-work-SWHZ4OLO.js +0 -2
  360. package/dist/chunks/standalone-experiment-turn-owner-LIAQWTGI.js +0 -2
  361. package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +0 -2
  362. package/dist/chunks/store-learned-preference-migration-validation-V27XD4I7.js +0 -2
  363. package/dist/chunks/store-learning-WLG6KFIO.js +0 -2
  364. package/dist/chunks/web-search-BPON7H5N.js +0 -2
  365. package/dist/web/assets/index-erq7hUne.css +0 -1
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as Me,b as Be}from"./chunk-7K7O3CKY.js";import{b as Le}from"./chunk-EWOSLZDX.js";import{c as Oe}from"./chunk-AN525SPP.js";import{b as Te}from"./chunk-XW6HGSIT.js";import{a as te,c as ae}from"./chunk-PH6IORGZ.js";import{a as _e,b as De}from"./chunk-TG7P7BSV.js";import{g as Ie,j as ne}from"./chunk-N4FFQPLR.js";import{d as ee,e as xe,f as Pe,g as qe}from"./chunk-AY64VY4E.js";import{d as Se,f as Ae,h as Ce}from"./chunk-JFXWI3EN.js";import{m as D}from"./chunk-KGNCKIFP.js";import{b as C}from"./chunk-ES2ISFJC.js";import{a as o}from"./chunk-FTQLQJQV.js";function ze(e){let t=new Map,s=new Map,r=new Map,i=new Map(e.triggers.map(a=>[L(a),a])),u=new Map(e.observations.map(a=>[L(a),a])),c=new Map(e.outcomes.map(a=>[L(a.trigger),a]));return async a=>{let[p,f,R]=await Promise.all([d(a.runRef),m(a.runRef),e.store.getSession(a.runRef)]),A=f.slice().sort((S,x)=>S.startedAt.localeCompare(x.startedAt)),w=A.find(S=>S.id===a.turnId)??await e.store.getTurn(a.turnId),T=A.findIndex(S=>S.id===a.turnId),M=T>0?A.slice(0,T):[],F=M.slice(-e.limits.maxPrecedingTurns),$=tt(F,p,e.limits.maxConversationChars),W=p.filter(S=>S.turnId===a.turnId).filter(S=>["tool.completed","validation.completed","workspace_action_result"].includes(S.name)).filter(S=>S.status==="failed"||["validation.completed","workspace_action_result"].includes(S.name)),O=r.get(a.runRef);O||(O=await Me(R?.cwd),r.set(a.runRef,O));let g=e.sourcePolicies.get(a.runRef)??null,v=H(a),_=b(a),I=_.results,E={schemaVersion:"openpond.localHarnessDeepReviewContext.v1",binding:{ownerScope:e.workspace.ownerScope,workspaceId:e.workspace.id,sourceRef:a.runRef,sourceTurn:a.turnId,admittedHarness:a.harnessRelease,observation:Q(a),refinerOutcome:v?Q(v):null,sourcePolicy:g?{policy:g.policy,state:g.state,checkedAt:g.checkedAt}:null},conversation:{precedingTurns:$,currentTurn:w?We(w,p,2e3,6e3):null},artifactDiagnostics:O.slice(0,e.limits.maxArtifactDiagnostics),events:W.slice(-e.limits.maxContextEvents).map(nt),currentResult:v?l(v):null,laterResults:I,truncation:{availablePrecedingTurns:M.length,includedPrecedingTurns:$.length,precedingTurnsTruncated:M.length>$.length,conversationChars:rt($),availableContextEvents:W.length,includedContextEvents:Math.min(W.length,e.limits.maxContextEvents),availableArtifactDiagnostics:O.length,includedArtifactDiagnostics:Math.min(O.length,e.limits.maxArtifactDiagnostics),availableLaterResults:_.total,includedLaterResults:I.length,laterResultsTruncated:_.total>I.length,sessionMissing:R===null,turnMissing:w===null}};return{...E,contentHash:D(E)}};async function d(a){let p=t.get(a);if(p)return p;let f=await e.store.runtimeEventsForSession(a);return t.set(a,f),f}async function m(a){let p=s.get(a);if(p)return p;let f=await e.store.turnsForSession(a,500);return s.set(a,f),f}function H(a){for(let p of e.triggers)if(p.observations.some(f=>L(f)===L(a)))return c.get(L(p))??null;return null}function b(a){if(!a.deterministicClass)return{results:[],total:0};let f=e.outcomes.flatMap(R=>R.createdAt<=a.createdAt?[]:(i.get(L(R.trigger))?.observations.map(T=>u.get(L(T))).filter(T=>!!T)??[]).some(T=>T.deterministicClass===a.deterministicClass)?[l(R)]:[]).sort((R,A)=>String(R.createdAt).localeCompare(String(A.createdAt)));return{results:f.slice(0,e.limits.maxLaterResults),total:f.length}}function l(a){let p=a.proposal?e.applyReceipts.filter(w=>L(w.proposal)===L(a.proposal)):[],f=a.proposal?e.advanceReceipts.filter(w=>w.proposal&&L(w.proposal)===L(a.proposal)):[],R=new Set(f.map(w=>L(w))),A=e.advanceReceipts.filter(w=>w.rollbackOf&&R.has(L(w.rollbackOf)));return{outcome:Q(a),decision:a.decision,reason:N(a.reason,1500),proposal:a.proposal,createdAt:a.createdAt,applyReceipts:p.map(w=>({...Q(w),decision:w.decision,createdAt:w.createdAt})),advanceReceipts:f.map(w=>({...Q(w),decision:w.decision,previousRelease:w.previousRelease,nextRelease:w.nextRelease,createdAt:w.createdAt})),rollbackReceipts:A.map(w=>({...Q(w),decision:w.decision,rollbackOf:w.rollbackOf,nextRelease:w.nextRelease,createdAt:w.createdAt}))}}}o(ze,"createLocalHarnessDeepReviewContextLoader");function tt(e,t,s){if(!e.length||s<=0)return[];let r=Math.max(1,Math.floor(s/(e.length*2)));return e.map(i=>We(i,t,r,r))}o(tt,"boundedConversationTurns");function We(e,t,s,r){return{id:e.id,startedAt:e.startedAt,completedAt:e.completedAt,status:e.status,error:N(e.error??"",1e3),prompt:N(e.prompt,s),assistantOutput:N(st(t,e.id),r)}}o(We,"boundedTurn");function st(e,t){return e.filter(s=>s.turnId===t&&s.name==="assistant.delta").map(s=>s.output??"").join("")}o(st,"assistantOutputForTurn");function rt(e){return e.reduce((t,s)=>t+(typeof s.prompt=="string"?s.prompt.length:0)+(typeof s.assistantOutput=="string"?s.assistantOutput.length:0),0)}o(rt,"conversationCharacterCount");function nt(e){let t=$e(e.data),s=$e(t.result);return{id:e.id,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,error:N(e.error??"",750),output:N(typeof s.output=="string"?s.output:e.output??"",750),stderr:N(typeof s.stderr=="string"?s.stderr:"",750),exitCode:typeof s.exitCode=="number"?s.exitCode:null,timedOut:s.timedOut===!0}}o(nt,"boundedReviewEvent");function N(e,t){if(!e||t<=0)return null;let s=e.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\b(api[_-]?key|access[_-]?token|auth(?:orization)?|password|secret)(\s*[:=]\s*)([^\s,;]+)/gi,"$1$2[redacted]");if(s.length<=t)return s;let r=`
2
+ import{a as Me,b as Be}from"./chunk-MS37ISA4.js";import{b as Te}from"./chunk-DK7IKI7O.js";import{c as Le}from"./chunk-AN525SPP.js";import{a as te,c as ae}from"./chunk-WDEO44UN.js";import{a as _e,b as De}from"./chunk-5RHYSQZ5.js";import{b as Oe}from"./chunk-XW6HGSIT.js";import{g as Ie,j as ne}from"./chunk-6GWOVHIG.js";import{d as ee,e as xe,f as Pe,g as qe}from"./chunk-QGOPYQW3.js";import{d as Se,f as Ae,h as Ce}from"./chunk-BK63OQRW.js";import{m as D}from"./chunk-BIPQCJ5V.js";import{A as C}from"./chunk-PF56N7ZY.js";import{a as o}from"./chunk-FTQLQJQV.js";function ze(e){let t=new Map,s=new Map,r=new Map,i=new Map(e.triggers.map(a=>[L(a),a])),u=new Map(e.observations.map(a=>[L(a),a])),c=new Map(e.outcomes.map(a=>[L(a.trigger),a]));return async a=>{let[p,f,R]=await Promise.all([d(a.runRef),m(a.runRef),e.store.getSession(a.runRef)]),A=f.slice().sort((S,x)=>S.startedAt.localeCompare(x.startedAt)),w=A.find(S=>S.id===a.turnId)??await e.store.getTurn(a.turnId),T=A.findIndex(S=>S.id===a.turnId),M=T>0?A.slice(0,T):[],F=M.slice(-e.limits.maxPrecedingTurns),$=tt(F,p,e.limits.maxConversationChars),W=p.filter(S=>S.turnId===a.turnId).filter(S=>["tool.completed","validation.completed","workspace_action_result"].includes(S.name)).filter(S=>S.status==="failed"||["validation.completed","workspace_action_result"].includes(S.name)),O=r.get(a.runRef);O||(O=await Me(R?.cwd),r.set(a.runRef,O));let g=e.sourcePolicies.get(a.runRef)??null,v=H(a),_=b(a),I=_.results,E={schemaVersion:"openpond.localHarnessDeepReviewContext.v1",binding:{ownerScope:e.workspace.ownerScope,workspaceId:e.workspace.id,sourceRef:a.runRef,sourceTurn:a.turnId,admittedHarness:a.harnessRelease,observation:Q(a),refinerOutcome:v?Q(v):null,sourcePolicy:g?{policy:g.policy,state:g.state,checkedAt:g.checkedAt}:null},conversation:{precedingTurns:$,currentTurn:w?We(w,p,2e3,6e3):null},artifactDiagnostics:O.slice(0,e.limits.maxArtifactDiagnostics),events:W.slice(-e.limits.maxContextEvents).map(nt),currentResult:v?l(v):null,laterResults:I,truncation:{availablePrecedingTurns:M.length,includedPrecedingTurns:$.length,precedingTurnsTruncated:M.length>$.length,conversationChars:rt($),availableContextEvents:W.length,includedContextEvents:Math.min(W.length,e.limits.maxContextEvents),availableArtifactDiagnostics:O.length,includedArtifactDiagnostics:Math.min(O.length,e.limits.maxArtifactDiagnostics),availableLaterResults:_.total,includedLaterResults:I.length,laterResultsTruncated:_.total>I.length,sessionMissing:R===null,turnMissing:w===null}};return{...E,contentHash:D(E)}};async function d(a){let p=t.get(a);if(p)return p;let f=await e.store.runtimeEventsForSession(a);return t.set(a,f),f}async function m(a){let p=s.get(a);if(p)return p;let f=await e.store.turnsForSession(a,500);return s.set(a,f),f}function H(a){for(let p of e.triggers)if(p.observations.some(f=>L(f)===L(a)))return c.get(L(p))??null;return null}function b(a){if(!a.deterministicClass)return{results:[],total:0};let f=e.outcomes.flatMap(R=>R.createdAt<=a.createdAt?[]:(i.get(L(R.trigger))?.observations.map(T=>u.get(L(T))).filter(T=>!!T)??[]).some(T=>T.deterministicClass===a.deterministicClass)?[l(R)]:[]).sort((R,A)=>String(R.createdAt).localeCompare(String(A.createdAt)));return{results:f.slice(0,e.limits.maxLaterResults),total:f.length}}function l(a){let p=a.proposal?e.applyReceipts.filter(w=>L(w.proposal)===L(a.proposal)):[],f=a.proposal?e.advanceReceipts.filter(w=>w.proposal&&L(w.proposal)===L(a.proposal)):[],R=new Set(f.map(w=>L(w))),A=e.advanceReceipts.filter(w=>w.rollbackOf&&R.has(L(w.rollbackOf)));return{outcome:Q(a),decision:a.decision,reason:N(a.reason,1500),proposal:a.proposal,createdAt:a.createdAt,applyReceipts:p.map(w=>({...Q(w),decision:w.decision,createdAt:w.createdAt})),advanceReceipts:f.map(w=>({...Q(w),decision:w.decision,previousRelease:w.previousRelease,nextRelease:w.nextRelease,createdAt:w.createdAt})),rollbackReceipts:A.map(w=>({...Q(w),decision:w.decision,rollbackOf:w.rollbackOf,nextRelease:w.nextRelease,createdAt:w.createdAt}))}}}o(ze,"createLocalHarnessDeepReviewContextLoader");function tt(e,t,s){if(!e.length||s<=0)return[];let r=Math.max(1,Math.floor(s/(e.length*2)));return e.map(i=>We(i,t,r,r))}o(tt,"boundedConversationTurns");function We(e,t,s,r){return{id:e.id,startedAt:e.startedAt,completedAt:e.completedAt,status:e.status,error:N(e.error??"",1e3),prompt:N(e.prompt,s),assistantOutput:N(st(t,e.id),r)}}o(We,"boundedTurn");function st(e,t){return e.filter(s=>s.turnId===t&&s.name==="assistant.delta").map(s=>s.output??"").join("")}o(st,"assistantOutputForTurn");function rt(e){return e.reduce((t,s)=>t+(typeof s.prompt=="string"?s.prompt.length:0)+(typeof s.assistantOutput=="string"?s.assistantOutput.length:0),0)}o(rt,"conversationCharacterCount");function nt(e){let t=$e(e.data),s=$e(t.result);return{id:e.id,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,error:N(e.error??"",750),output:N(typeof s.output=="string"?s.output:e.output??"",750),stderr:N(typeof s.stderr=="string"?s.stderr:"",750),exitCode:typeof s.exitCode=="number"?s.exitCode:null,timedOut:s.timedOut===!0}}o(nt,"boundedReviewEvent");function N(e,t){if(!e||t<=0)return null;let s=e.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\b(api[_-]?key|access[_-]?token|auth(?:orization)?|password|secret)(\s*[:=]\s*)([^\s,;]+)/gi,"$1$2[redacted]");if(s.length<=t)return s;let r=`
3
3
  [... middle omitted ...]
4
- `;if(r.length>=t)return s.slice(0,t);let i=Math.max(0,t-r.length),u=Math.ceil(i/2),c=Math.floor(i/2);return`${s.slice(0,u)}${r}${s.slice(-c)}`}o(N,"boundedReviewText");function Q(e){return{id:e.id,contentHash:e.contentHash}}o(Q,"artifactRef");function L(e){return`${e.id}:${e.contentHash}`}o(L,"artifactKey");function $e(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}o($e,"asRecord");var at=2160*60*60*1e3;async function fe(e){let t=[],s=await e.store.listHarnessRefinementCandidates(e.workspace.id),r=e.upsertReviewClaim!==!1&&e.review.classification==="harness_maintenance"?e.review.claim?.fingerprint??null:null;for(let c of s){if(c.fingerprint===r)continue;let d=ot({...e,candidate:c});d&&(await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.workspace.id,...d}),t.push(d.receipt))}let i=null;if(e.upsertReviewClaim!==!1&&e.review.classification==="harness_maintenance"&&e.review.claim){let c=await e.store.getHarnessRefinementCandidateByFingerprint(e.workspace.id,e.review.claim.fingerprint),d=it({...e,candidate:c});d?(await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.workspace.id,...d}),t.push(d.receipt),i=d.candidate):i=c}let u=await e.store.listHarnessRefinementCandidates(e.workspace.id);return e.upsertReviewClaim===!1&&(i=u.find(c=>c.status==="confirmed"&&c.sourceReviews.some(d=>d.id===e.review.id&&d.contentHash===e.review.contentHash))??null),{activeCandidate:i,candidates:u,lifecycleReceipts:t}}o(fe,"reconcileLocalHarnessRefinementCandidates");async function Ue(e){if(!["unresolved","confirmed"].includes(e.candidate.status))return e.candidate;let t=ee({...we(e.candidate),sourceReviews:V([...e.candidate.sourceReviews,z(e.review)]),relatedHarnessReleases:V([...e.candidate.relatedHarnessReleases,...e.relatedHarnessRelease?[e.relatedHarnessRelease]:[]]),lastReviewedAt:e.now,updatedAt:e.now,resolution:null}),s=ie({before:e.candidate,candidate:t,review:e.review,decision:"merged",addedEvidence:[],removedEvidence:[],reason:e.reason,now:e.now});return await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.candidate.workspaceRef,...s}),t}o(Ue,"recordAppliedLocalHarnessRefinementCandidate");async function Fe(e){if(e.candidate.status!=="confirmed")throw new Error("Later-success resolution requires a confirmed candidate.");let t=e.review.harnessRelease,s=e.candidate.relatedHarnessReleases.at(-1);if(e.candidate.relatedHarnessReleases.length<2||!s||s.id!==t.id||s.contentHash!==t.contentHash)throw new Error("Later-success evidence is not bound to the candidate's applied Harness release.");let r=new Set(e.candidate.occurrences.map(d=>d.sourceRef)),i=e.evidence.filter(d=>!r.has(d.sourceRef));if(i.length===0)throw new Error("Later-success resolution requires evidence from an independent work source.");let u=ee({...we(e.candidate),status:"resolved",sourceReviews:V([...e.candidate.sourceReviews,z(e.review)]),lastReviewedAt:e.now,updatedAt:e.now,resolution:{kind:"later_success",reason:e.reason,evidenceRefs:V(i.map(d=>d.evidence)),resolvedAt:e.now}}),c=ie({before:e.candidate,candidate:u,review:e.review,decision:"resolved",addedEvidence:i,removedEvidence:[],reason:e.reason,now:e.now});return await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.candidate.workspaceRef,...c}),u}o(Fe,"resolveLocalHarnessRefinementCandidateFromLaterSuccess");function ot(e){if(!["unresolved","confirmed"].includes(e.candidate.status))return null;let t=[],s=oe(e.candidate.occurrences,e.sourcePolicies,t),r=oe(e.candidate.counterevidence,e.sourcePolicies,t),i=V([...e.candidate.sourceReviews,z(e.review)]),u=Date.parse(e.candidate.expiresAt)<=Date.parse(e.now),c=s.length===0,d=c?"rejected":u?"expired":t.length>0?"unresolved":e.candidate.status,m=c?"rejected":u?"expired":"merged";if(!(t.length>0||e.candidate.lastReviewedAt!==e.now||e.candidate.sourceReviews.length!==i.length)&&!u)return null;let b=c?"All supporting occurrences were revoked, deleted, expired, or unavailable at review time.":u?"The bounded candidate lifetime elapsed without sufficient confirming evidence.":"Candidate evidence was reauthorized against the current source policy set.",l=ee({...we(e.candidate),status:d,occurrences:s,counterevidence:r,sourceReviews:i,lastReviewedAt:e.now,updatedAt:e.now,expiresAt:u?e.now:e.candidate.expiresAt,resolution:c||u?{kind:c?"source_revoked":"expired",reason:b,evidenceRefs:t.map(a=>a.evidence),resolvedAt:e.now}:null});return ie({before:e.candidate,candidate:l,review:e.review,decision:m,addedEvidence:[],removedEvidence:t.map(a=>a.evidence),reason:b,now:e.now})}o(ot,"reauthorizeOrExpireCandidate");function it(e){let t=e.review.claim,s=e.candidate,r=[],i=s?oe(s.occurrences,e.sourcePolicies,r):[],u=s?oe(s.counterevidence,e.sourcePolicies,r):[],c=new Set(s&&["unresolved","confirmed"].includes(s.status)?i.map(f=>f.occurrenceKey):[]),d=e.review.selectedEvidence.filter(f=>!c.has(f.occurrenceKey));if(s&&d.length===0&&r.length===0&&["unresolved","confirmed"].includes(s.status))return null;let m=ct([...i,...e.review.selectedEvidence]),H=t.candidateDisposition==="confirm"?"confirmed":"unresolved",b=m.map(f=>f.occurredAt).sort()[0],l=m.map(f=>f.occurredAt).sort().at(-1),a=ee({schemaVersion:"openpond.harnessRefinementCandidate.v1",id:s?.id??`refinement-candidate-${t.fingerprint.slice(0,24)}`,ownerScope:e.workspace.ownerScope,workspaceRef:e.workspace.id,fingerprint:t.fingerprint,recurrenceFamily:t.recurrenceFamily,statement:t.statement,status:H,occurrences:m,counterevidence:u,sourceReviews:V([...s?.sourceReviews??[],z(e.review)]),relatedHarnessReleases:V([...s?.relatedHarnessReleases??[],e.review.harnessRelease]),firstSeenAt:b,lastSeenAt:l,lastReviewedAt:e.now,expiresAt:new Date(Date.parse(e.now)+at).toISOString(),resolution:null,createdAt:s?.createdAt??e.now,updatedAt:e.now}),p=s?["resolved","rejected","expired"].includes(s.status)?"reopened":"merged":"created";return ie({before:s,candidate:a,review:e.review,decision:p,addedEvidence:d,removedEvidence:r.map(f=>f.evidence),reason:p==="created"?"Created a bounded candidate from an authorized cross-Work Harness claim.":p==="reopened"?"New authorized evidence reopened the prior candidate.":"Merged new authorized evidence into the existing candidate.",now:e.now})}o(it,"upsertCandidateFromReview");function ie(e){let t=xe({schemaVersion:"openpond.harnessRefinementCandidateLifecycleReceipt.v1",id:`candidate-lifecycle-${D({candidate:z(e.candidate),review:z(e.review),decision:e.decision}).slice(0,24)}`,candidateId:e.candidate.id,decision:e.decision,beforeCandidate:e.before?z(e.before):null,afterCandidate:z(e.candidate),review:z(e.review),addedEvidence:e.addedEvidence,removedEvidence:e.removedEvidence,reason:e.reason,createdAt:e.now});return{candidate:e.candidate,receipt:t}}o(ie,"transition");function oe(e,t,s){return e.flatMap(r=>{let i=t.get(r.sourceRef);return!i||i.state!=="authorized"?(s.push(r),[]):[{...r,sourcePolicy:i}]})}o(oe,"reauthorizedEvidence");function ct(e){return[...new Map(e.map(t=>[t.occurrenceKey,t])).values()].sort((t,s)=>t.occurredAt.localeCompare(s.occurredAt)||t.occurrenceKey.localeCompare(s.occurrenceKey))}o(ct,"uniqueEvidence");function V(e){return[...new Map(e.map(t=>[`${t.id}:${t.contentHash}`,t])).values()]}o(V,"uniqueRefs");function z(e){return{id:e.id,contentHash:e.contentHash}}o(z,"artifactRef");function we(e){let{contentHash:t,...s}=e;return s}o(we,"withoutHash");var dt={memory:!0,prompt:!0,skill:!0,agent:!1};async function je(e){if(e.candidate.status!=="confirmed")return null;if(e.review.classification!=="harness_maintenance"||e.review.contentHash!==e.candidate.sourceReviews.at(-1)?.contentHash)throw new Error("Cross-run continuation requires the candidate's confirming Harness review.");let t=await e.store.getHarnessWorkspace(e.candidate.workspaceRef),s=t?.currentChannel.release??null;if(!t||t.location!=="local"||!s)throw new Error("Cross-run continuation requires an active Local Harness release.");let r=Pe({workspaceRef:t.id,candidateFingerprint:e.candidate.fingerprint,admittedHarness:s}),i=(e.now??(()=>new Date().toISOString()))(),u=qe({schemaVersion:"openpond.harnessCrossRunRefinementRequest.v1",id:`cross-run-refinement-${r.slice(0,24)}`,ownerScope:t.ownerScope,workspaceRef:t.id,candidate:ce(e.candidate),candidateFingerprint:e.candidate.fingerprint,review:ce(e.review),admittedHarness:s,evidence:e.candidate.occurrences,capabilities:dt,deduplicationKey:r,createdAt:i}),c=await e.store.saveHarnessCrossRunRefinementRequestIfAbsent({workspaceId:t.id,request:u});if(!c.created)return null;let d=await ut(e.store,t.id,c.request.evidence);if(d.length===0)throw new Error("Confirmed cross-run candidate has no verifiable source observations.");let m=`cross-run-${c.request.deduplicationKey.slice(0,24)}`,H=await Le({store:e.store,runId:m,workspace:t,harnessRelease:c.request.admittedHarness,admittedAt:c.request.createdAt}),b=lt({request:c.request,overlay:H,observations:d});await e.store.saveHarnessImprovementArtifact(t.id,"trigger_decision",b);let l=await Be({store:e.store,storeDir:e.storeDir,trigger:b,additionalEvidence:{reviewScope:"cross_run_candidate",request:c.request,candidate:e.candidate,review:e.review},reviewScope:"cross_run_candidate",stream:e.stream,signal:e.signal,now:e.now}),a=e.candidate;return l.applyReceipt?.decision==="applied"&&(a=await Ue({store:e.store,candidate:a,review:e.review,relatedHarnessRelease:l.workspace.currentChannel.release??null,reason:"The confirmed candidate produced a validated applied Harness change and now awaits independent outcome evidence.",now:(e.now??(()=>new Date().toISOString()))()})),{candidate:a,worker:l}}o(je,"continueConfirmedLocalHarnessCandidate");function lt(e){let t=e.observations.slice(0,100).map(ce);return Ie({schemaVersion:"openpond.refinementTriggerDecision.v1",id:`cross-run-trigger-${e.request.deduplicationKey.slice(0,24)}`,runRef:e.overlay.runId,turnId:`candidate-${e.request.candidate.id}`,harnessRelease:e.request.admittedHarness,overlay:{id:e.overlay.id,revision:e.overlay.revision,contentHash:e.overlay.contentHash},observations:t,decision:"queue_refiner",deterministicRoute:null,suggestedRoutes:[],reason:"A confirmed authorized cross-Work candidate is ready for one bounded Refiner continuation.",deduplicationKey:e.request.deduplicationKey,policy:{schemaVersion:"openpond.refinementTriggerPolicy.v1",maxEstimatedCostUsd:.05,cooldownMs:0,maxPendingPlans:1,maxEvidenceEvents:100,maxProposalEdits:4,maxProposalBytes:2e4},estimatedMaxCostUsd:.05,pendingPlanCount:0,boundary:{kind:"turn_completed",eventSequence:0,occurredAt:e.request.createdAt},cooldownUntil:null,createdAt:e.request.createdAt,metadata:{origin:"cross_run_candidate",crossRunRefinementRequest:ce(e.request),candidate:e.request.candidate}})}o(lt,"createCrossRunTrigger");async function ut(e,t,s){let[r,i,u,c]=await Promise.all([e.listHarnessImprovementArtifacts(t,"observation",1e3),e.listHarnessImprovementArtifacts(t,"trigger_decision",1e3),e.listHarnessImprovementArtifacts(t,"route_decision",1e3),e.listHarnessImprovementArtifacts(t,"refiner_outcome",1e3)]),d=new Map(r.map(a=>[B(a),a])),m=new Map(i.map(a=>[B(a),a])),H=new Map(u.map(a=>[B(a),a])),b=new Map(c.map(a=>[B(a),a])),l=new Map;for(let a of s){if(a.kind==="observation"){let R=d.get(B(a.evidence));R&&l.set(B(R),R);continue}let p=a.kind==="route_decision"?H.get(B(a.evidence))?.trigger:a.kind==="refiner_outcome"?b.get(B(a.evidence))?.trigger:null,f=p?m.get(B(p)):null;for(let R of f?.observations??[]){let A=d.get(B(R));A&&l.set(B(A),A)}}return[...l.values()].sort((a,p)=>a.createdAt.localeCompare(p.createdAt)||a.id.localeCompare(p.id))}o(ut,"resolveCandidateObservations");function ce(e){return{id:e.id,contentHash:e.contentHash}}o(ce,"artifactRef");function B(e){return`${e.id}:${e.contentHash}`}o(B,"artifactKey");var mt=C.object({sourceRef:C.string().trim().min(1),policy:C.object({id:C.string().trim().min(1),contentHash:C.string().regex(/^[a-f0-9]{64}$/)}).strict(),state:C.enum(["authorized","revoked","deleted","expired"]),checkedAt:C.string().datetime()}).strict(),vt=C.object({previousWatermark:Se.nullable().optional(),sourcePolicies:C.array(mt).max(1e4).default([]),limits:C.object({maxEvidence:C.number().int().min(1).max(1e3).default(200),maxTokens:C.number().int().min(1).max(1e6).default(5e4),maxDurationMs:C.number().int().min(1).max(3e5).default(24e4),maxEstimatedCostUsd:C.number().finite().nonnegative().default(.1),maxPrecedingTurns:C.number().int().min(0).max(10).default(3),maxConversationChars:C.number().int().min(0).max(1e5).default(12e3),maxContextEvents:C.number().int().min(1).max(100).default(12),maxArtifactDiagnostics:C.number().int().min(0).max(100).default(20),maxLaterResults:C.number().int().min(0).max(50).default(8)}).strict().default({maxEvidence:200,maxTokens:5e4,maxDurationMs:24e4,maxEstimatedCostUsd:.1,maxPrecedingTurns:3,maxConversationChars:12e3,maxContextEvents:12,maxArtifactDiagnostics:20,maxLaterResults:8})}).strict(),de=new WeakMap;function Qe(e){let t=de.get(e.store);if(t)return t;let s=pt(e).finally(()=>{de.get(e.store)===s&&de.delete(e.store)});return de.set(e.store,s),s}o(Qe,"reviewSelectedLocalHarnessEvaluation");async function pt(e){let t=vt.parse(e.request??{}),s=performance.now(),r=await ae(e.store);if(!r)throw new Error("No Local Harness release is selected for evaluation review.");let i=await e.store.getHarnessWorkspace(r.workspaceId);if(!i)throw new Error(`Selected Harness workspace ${r.workspaceId} does not exist.`);let[u,c,d,m,H,b,l,a]=await Promise.all([e.store.listHarnessImprovementArtifacts(i.id,"evaluation_review",1e3),e.store.listHarnessImprovementArtifacts(i.id,"route_decision",1e3),e.store.listHarnessImprovementArtifacts(i.id,"trigger_decision",1e3),e.store.listHarnessImprovementArtifacts(i.id,"observation",1e3),e.store.listHarnessImprovementArtifacts(i.id,"apply_receipt",1e3),e.store.listHarnessImprovementArtifacts(i.id,"refiner_outcome",1e3),e.store.listHarnessAdvanceReceipts(i.id),e.store.listHarnessRefinementCandidates(i.id)]),p=u[0]??null,f=t.previousWatermark??p?.nextWatermark??null,R=c,A=d,w=m,T=H,M=b,F=[...R,...w,...M];if(t.previousWatermark===void 0&&p&&!F.some(n=>n.createdAt>p.nextWatermark.throughCreatedAt)){let n=(e.now??(()=>new Date().toISOString()))(),y=await fe({store:e.store,workspace:i,review:p,sourcePolicies:new Map(t.sourcePolicies.map(k=>[k.sourceRef,J(k)])),now:n,upsertReviewClaim:!1});return await Ke({...e,candidate:y.activeCandidate,review:p}),p}let $=new Map(A.map(n=>[P(n),n])),Y=new Set(A.filter(n=>n.metadata.origin==="cross_run_candidate").map(P)),W=new Map(w.map(n=>[P(n),n])),O=new Map(t.sourcePolicies.map(n=>[n.sourceRef,n])),g=ze({store:e.store,workspace:i,sourcePolicies:O,observations:w,triggers:A,outcomes:M,applyReceipts:T,advanceReceipts:l,limits:{maxPrecedingTurns:t.limits.maxPrecedingTurns,maxConversationChars:t.limits.maxConversationChars,maxContextEvents:t.limits.maxContextEvents,maxArtifactDiagnostics:t.limits.maxArtifactDiagnostics,maxLaterResults:t.limits.maxLaterResults}}),v=[],_=[],I=new Set,E=new Set(R.map(n=>P(n.trigger)));for(let n of R){let y=$.get(P(n.trigger));if(!y){v.push({evidence:q(n),sourcePolicy:null,reason:"unverified"});continue}if(Y.has(P(y))){v.push({evidence:q(n),sourcePolicy:null,reason:"resolved"});continue}let k=y.observations.map(j=>W.get(P(j))).filter(j=>!!j);for(let j of k)I.add(P(j));_.push({id:`route_decision:${n.id}`,artifact:n,kind:"route_decision",sourceRef:k[0]?.runRef??y.runRef,payload:{routeDecision:n,trigger:y,observations:k,turnContexts:await Ve(k,g)}})}for(let n of M){if(E.has(P(n.trigger)))continue;let y=$.get(P(n.trigger));if(!y){v.push({evidence:q(n),sourcePolicy:null,reason:"unverified"});continue}if(Y.has(P(y))){v.push({evidence:q(n),sourcePolicy:null,reason:"resolved"});continue}let k=y.observations.map(K=>W.get(P(K))).filter(K=>!!K);for(let K of k)I.add(P(K));let j=n.proposal?T.filter(K=>P(K.proposal)===P(n.proposal)):[];_.push({id:`refiner_outcome:${n.id}`,artifact:n,kind:"refiner_outcome",sourceRef:k[0]?.runRef??y.runRef,payload:{outcome:n,trigger:y,observations:k,turnContexts:await Ve(k,g),applyReceipts:j}})}for(let n of w)I.has(P(n))||_.push({id:`observation:${n.id}`,artifact:n,kind:"observation",sourceRef:n.runRef,payload:{observation:n,turnContext:await g(n)}});let S=[],x=[],Z=0,ue=0;for(let n of _.slice().sort((y,k)=>y.artifact.createdAt.localeCompare(k.artifact.createdAt)||y.id.localeCompare(k.id))){if(performance.now()-s>=t.limits.maxDurationMs){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}if(f&&n.artifact.createdAt<=f.throughCreatedAt){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"before_watermark"});continue}if(Z>=t.limits.maxEvidence){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}Z+=1;let y=Math.ceil(JSON.stringify(n.payload).length/4);if(ue+y>t.limits.maxTokens){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}ue+=y,x.push(n.artifact);let k=O.get(n.sourceRef);if(!k||k.state!=="authorized"){v.push({evidence:q(n.artifact),sourcePolicy:k?J(k):null,reason:k&&k.state!=="authorized"?k.state:"unverified"});continue}S.push(n)}let h={schemaVersion:"openpond.harnessEvaluationReviewModelDecision.v2",decision:"no_action",reason:"No authorized unresolved evidence qualified for model review.",ignoredEvidence:[]},G={promptTokens:0,completionTokens:0,totalTokens:0},se={selectedIds:null};if(S.length>0&&t.limits.maxEstimatedCostUsd===0){for(let n of S)v.push({evidence:q(n.artifact),sourcePolicy:J(O.get(n.sourceRef)),reason:"budget"});h={schemaVersion:"openpond.harnessEvaluationReviewModelDecision.v2",decision:"no_action",reason:"Continuous review is disabled by a zero model-cost ceiling.",ignoredEvidence:S.map(n=>({id:n.id,reason:"The configured model-cost ceiling is zero."}))}}else if(S.length>0){if(!e.stream)throw new Error("Harness continuous review requires a model stream.");h=await Ce({evidence:S.map(n=>({id:n.id,evidence:q(n.artifact),kind:n.kind,sourceRef:n.sourceRef,occurredAt:n.artifact.createdAt,payload:n.payload})),harnessRelease:q(r.harnessRelease),previousReviews:u.slice(0,20),candidates:a.map(n=>({id:n.id,fingerprint:n.fingerprint,statement:n.statement,status:n.status,occurrences:n.occurrences,relatedHarnessReleases:n.relatedHarnessReleases,resolution:n.resolution})),stream:o(async function*(n){let y=null;for await(let k of e.stream(n))k.usage&&(y=k.usage),yield k;y&&(G={promptTokens:G.promptTokens+y.promptTokens,completionTokens:G.completionTokens+y.completionTokens,totalTokens:G.totalTokens+y.totalTokens})},"stream"),signal:e.signal??new AbortController().signal,timeoutMs:t.limits.maxDurationMs,onNavigation:o(n=>{se.selectedIds=new Set(n.selectedEvidenceIds)},"onNavigation")})}let He=se.selectedIds?S.filter(n=>!se.selectedIds.has(n.id)):[];for(let n of He)v.push({evidence:q(n.artifact),sourcePolicy:J(O.get(n.sourceRef)),reason:"budget"});let me=h.decision==="review"||h.decision==="resolve_candidate"?h.selectedEvidenceIds.map(n=>{let y=S.find(k=>k.id===n);if(!y)throw new Error(`Review selected unavailable evidence ${n}.`);return y}):[],ve=h.decision==="review"?h.classification:"no_action",pe=me.map(n=>ft(n,O.get(n.sourceRef))),re=(e.now??(()=>new Date().toISOString()))(),Xe=new Set(He.map(n=>P(n.artifact))),he=x.filter(n=>!Xe.has(P(n))),ye=he.map(n=>n.createdAt).sort().at(-1),ke=ye?Ne(f?.throughCreatedAt,ye):Ne(f?.throughCreatedAt,re),Ee=D({previousCursor:f?.cursor??null,throughCreatedAt:ke,examined:he.map(q)}),et=`evaluation-review-${D({workspaceId:i.id,harnessRelease:r.harnessRelease,previousWatermark:f,cursor:Ee}).slice(0,24)}`,X=Ae({schemaVersion:"openpond.harnessEvaluationReviewReceipt.v1",id:et,ownerScope:i.ownerScope,workspaceRef:i.id,harnessRelease:q(r.harnessRelease),previousWatermark:f,nextWatermark:{cursor:Ee,throughCreatedAt:ke},selectedEvidence:pe,excludedEvidence:v,claim:h.decision==="review"?{fingerprint:D({schemaVersion:"openpond.harnessRefinementCandidateFingerprint.v1",classification:ve,triageLayer:h.triageLayer,recurrenceFamily:Rt(h.recurrenceFamily)}),recurrenceFamily:h.recurrenceFamily,statement:h.statement,...h.classification==="harness_maintenance"?{candidateDisposition:h.candidateDisposition}:{},independentOccurrences:new Set(me.map(n=>n.sourceRef)).size,unresolvedOccurrences:new Set(me.map(n=>n.sourceRef)).size}:null,classification:ve,triage:h.decision==="review"?[{layer:h.triageLayer,status:"unresolved",reason:h.reason,evidenceRefs:pe.map(n=>n.evidence)}]:[],reason:h.reason,nextAuthority:wt(ve),maxEstimatedCostUsd:t.limits.maxEstimatedCostUsd,tasksetProposal:null,evaluation:null,trainingQualification:null,policyVersion:"public-model-driven-harness-review-v1",createdAt:re,metadata:{examinedEvidence:Z,fullyReviewedEvidence:se.selectedIds?.size??S.length,estimatedTokens:ue,elapsedMs:performance.now()-s,explicitInvocation:!0,modelDecision:h.decision,modelConfidence:h.decision==="review"||h.decision==="resolve_candidate"?h.confidence:null,counterevidence:h.decision==="review"?h.counterevidence:null,expectedOutcome:h.decision==="review"?h.expectedOutcome:null,ignoredEvidence:h.ignoredEvidence,modelUsage:G}});await e.store.saveHarnessImprovementArtifact(i.id,"evaluation_review",X);let be=await fe({store:e.store,workspace:i,review:X,sourcePolicies:new Map(t.sourcePolicies.map(n=>[n.sourceRef,J(n)])),now:re});if(h.decision==="resolve_candidate"){let n=be.candidates.find(y=>y.id===h.candidateId&&y.fingerprint===h.candidateFingerprint);if(!n)throw new Error("Later-success decision referenced an unavailable candidate.");await Fe({store:e.store,candidate:n,review:X,evidence:pe,reason:h.reason,now:re})}return await Ke({...e,candidate:be.activeCandidate,review:X}),X}o(pt,"runSelectedLocalHarnessEvaluation");async function Ke(e){!e.continuation||e.candidate?.status!=="confirmed"||await je({store:e.store,storeDir:e.continuation.storeDir,candidate:e.candidate,review:e.review,stream:e.continuation.stream,signal:e.signal??new AbortController().signal,now:e.now})}o(Ke,"continueCandidateIfEnabled");function q(e){return{id:e.id,contentHash:e.contentHash}}o(q,"artifactRef");function P(e){return`${e.id}:${e.contentHash}`}o(P,"artifactKey");function J(e){return{policy:e.policy,state:e.state,checkedAt:e.checkedAt}}o(J,"sourcePolicyRef");function ft(e,t){return{evidence:q(e.artifact),kind:e.kind,sourceRef:e.sourceRef,sourcePolicy:J(t),occurrenceKey:D({evidence:q(e.artifact),sourceRef:e.sourceRef}),occurredAt:e.artifact.createdAt}}o(ft,"evidenceRef");function wt(e){return e==="runtime"?"runtime_service":e==="product"?"product_team":e==="taskset"||e==="harness_maintenance"?"human_review":e==="model_improvement"?"training_system":"none"}o(wt,"nextAuthority");function Ne(...e){return e.filter(t=>!!t).sort().at(-1)}o(Ne,"maxTimestamp");function Rt(e){return e.trim().toLocaleLowerCase("en-US").replace(/\s+/g," ")}o(Rt,"normalizeRecurrenceFamily");async function Ve(e,t){let s=new Map;for(let r of e)s.set(`${r.runRef}:${r.turnId}`,r);return Promise.all([...s.values()].map(t))}o(Ve,"uniqueTurnContexts");var Je="local-personal-work-v1";async function le(e){let t=await ae(e.store);if(!t||t.workspaceId!==e.workspaceId)throw new Error("Evaluation review requires the selected Personal Local Harness.");let s=await e.store.getHarnessWorkspace(e.workspaceId);if(!s||s.ownerScope.kind!=="personal"||s.location!=="local")throw new Error("Evaluation review requires the selected Personal Local Harness.");let[r,i]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",1e4),e.store.listHarnessImprovementArtifacts(e.workspaceId,"trigger_decision",1e4)]),u=new Set([...r.map(m=>m.runRef),...i.map(m=>m.runRef)]),c=(e.now??(()=>new Date().toISOString()))(),d=await Promise.all([...u].sort().map(async m=>{let H=await e.store.getSession(m);return{sourceRef:m,policy:{id:`source-policy-${D({workspaceId:e.workspaceId,sourceRef:m,policyVersion:Je}).slice(0,24)}`,contentHash:D({workspaceId:e.workspaceId,sourceRef:m,policyVersion:Je})},state:H?"authorized":"deleted",checkedAt:c}}));return Qe({store:e.store,request:{sourcePolicies:d,limits:{maxEvidence:200,maxTokens:5e4,maxDurationMs:24e4,maxEstimatedCostUsd:e.maxEstimatedCostUsd}},stream:e.stream,signal:e.signal,now:e.now,continuation:e.stream?{storeDir:e.storeDir,stream:e.stream}:void 0})}o(le,"reviewSelectedLocalHarnessEvaluationFromHost");var gt=15e3;function Re(e,t){if(e==="manual")return null;let s=new Date(t);return s.setUTCDate(s.getUTCDate()+(e==="daily"?1:7)),s.toISOString()}o(Re,"nextHarnessEvaluationReviewRunAt");function us(e){let t=null,s=null,r=e.now??(()=>new Date().toISOString());async function i(){return s||(s=(async()=>{let u=await e.store.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te});if(!u)return null;let c=await e.store.getHarnessEvaluationReviewSettings(u.id),d=r();if(!c.enabled&&!c.activityEnabled)return null;let m=c.enabled&&c.cadence!=="manual"&&!!c.nextRunAt&&c.nextRunAt<=d,H=c.activityEnabled&&await Ht({store:e.store,workspaceId:u.id,batchSize:c.activityBatchSize});if(!m&&!H)return null;let b={...c,nextRunAt:m?Re(c.cadence,d):c.nextRunAt,lastRunAt:d,lastError:null,updatedAt:d};await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:b});try{let l=await le({store:e.store,storeDir:e.storeDir,workspaceId:u.id,maxEstimatedCostUsd:c.maxEstimatedCostUsd,stream:e.stream,now:r});return await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:{...b,lastResult:{id:l.id,contentHash:l.contentHash,classification:l.classification},updatedAt:r()}}),e.logger?.info("Harness evaluation review schedule completed",{workspaceId:u.id,reviewId:l.id,classification:l.classification}),l}catch(l){let a=l instanceof Error?l.message:String(l);return await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:{...b,lastError:a,updatedAt:r()}}),e.logger?.warn("Harness evaluation review schedule failed",{workspaceId:u.id,error:a}),null}})().finally(()=>{s=null}),s)}return o(i,"runDueNow"),{start(){t||(t=setInterval(()=>{e.isClosing()||i()},e.tickMs??gt),t.unref?.(),i())},async stop(){t&&clearInterval(t),t=null,await s},runDueNow:i}}o(us,"createLocalHarnessEvaluationReviewScheduler");async function Ht(e){let[t,s]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"refiner_outcome",e.batchSize),e.store.listHarnessImprovementArtifacts(e.workspaceId,"evaluation_review",1)]),r=s[0]?.nextWatermark.throughCreatedAt??null;return t.filter(i=>!r||i.createdAt>r).length>=e.batchSize}o(Ht,"hasEventDrivenReviewBatch");import ge from"node:path";function Us(e){return{harnessHistoryPayload:o(()=>U(e.store),"harnessHistoryPayload"),updateHarnessBackgroundReviewPayload:o(t=>It({store:e.store,request:kt(t)}),"updateHarnessBackgroundReviewPayload"),reviewHarnessEvaluationPayload:o(t=>At({store:e.store,storeDir:e.storeDir,stream:e.evaluationReviewStream,request:ht(t)}),"reviewHarnessEvaluationPayload"),updateHarnessEvaluationReviewSchedulePayload:o(t=>Ct({store:e.store,request:yt(t)}),"updateHarnessEvaluationReviewSchedulePayload"),harnessDiffPayload:o(t=>qt({...e,request:Et(t)}),"harnessDiffPayload"),rollbackHarnessPayload:o(t=>_t({...e,request:bt(t)}),"rollbackHarnessPayload"),reviewHarnessProposalPayload:o(t=>Dt({...e,request:St(t)}),"reviewHarnessProposalPayload")}}o(Us,"createLocalHarnessSettingsRoutePayloads");function ht(e){if(!e||typeof e!="object")throw new Error("Harness evaluation review requires a workspace.");let t=e;if(typeof t.workspaceId!="string")throw new Error("Harness evaluation review requires a workspace.");if(t.maxEstimatedCostUsd!==void 0&&(typeof t.maxEstimatedCostUsd!="number"||!Number.isFinite(t.maxEstimatedCostUsd)||t.maxEstimatedCostUsd<0))throw new Error("Harness evaluation review cost must be a non-negative number.");return{workspaceId:t.workspaceId,maxEstimatedCostUsd:t.maxEstimatedCostUsd}}o(ht,"parseHarnessEvaluationReviewRequest");function yt(e){if(!e||typeof e!="object")throw new Error("Harness evaluation review schedule requires a workspace and cadence.");let t=e;if(typeof t.workspaceId!="string"||typeof t.enabled!="boolean"||typeof t.activityEnabled!="boolean"||typeof t.activityBatchSize!="number"||!Number.isInteger(t.activityBatchSize)||t.activityBatchSize<1||t.activityBatchSize>100||t.cadence!=="manual"&&t.cadence!=="daily"&&t.cadence!=="weekly"||typeof t.maxEstimatedCostUsd!="number"||!Number.isFinite(t.maxEstimatedCostUsd)||t.maxEstimatedCostUsd<0)throw new Error("Harness evaluation review schedule requires a valid workspace, cadence, and cost limit.");return{workspaceId:t.workspaceId,enabled:t.enabled,activityEnabled:t.activityEnabled,activityBatchSize:t.activityBatchSize,cadence:t.cadence,maxEstimatedCostUsd:t.maxEstimatedCostUsd}}o(yt,"parseHarnessEvaluationReviewScheduleRequest");function kt(e){if(!e||typeof e!="object")throw new Error("Harness background review requires a workspace and enabled state.");let t=e;if(typeof t.workspaceId!="string"||typeof t.enabled!="boolean")throw new Error("Harness background review requires a workspace and enabled state.");return{workspaceId:t.workspaceId,enabled:t.enabled}}o(kt,"parseHarnessBackgroundReviewRequest");function Ye(e,t){if(!e||typeof e!="object")throw new Error(`${t} requires an id and content hash.`);let s=e;if(typeof s.id!="string"||typeof s.contentHash!="string")throw new Error(`${t} requires an id and content hash.`);return{id:s.id,contentHash:s.contentHash}}o(Ye,"parseHarnessReleaseRef");function Et(e){if(!e||typeof e!="object")throw new Error("Harness release diff requires a workspace and target release.");let t=e;if(typeof t.workspaceId!="string")throw new Error("Harness release diff requires a workspace and target release.");return{workspaceId:t.workspaceId,baseRelease:t.baseRelease===null?null:Ye(t.baseRelease,"Harness base release"),targetRelease:Ye(t.targetRelease,"Harness target release")}}o(Et,"parseHarnessReleaseDiffRequest");function bt(e){if(!e||typeof e!="object")throw new Error("Harness rollback requires a workspace and target release.");let t=e,s=t.targetRelease;if(typeof t.workspaceId!="string"||!s||typeof s!="object")throw new Error("Harness rollback requires a workspace and target release.");let r=s;if(typeof r.id!="string"||typeof r.contentHash!="string")throw new Error("Harness rollback target requires an id and content hash.");return{workspaceId:t.workspaceId,targetRelease:{id:r.id,contentHash:r.contentHash}}}o(bt,"parseHarnessRollbackRequest");function St(e){if(!e||typeof e!="object")throw new Error("Harness review requires a workspace, proposal, and decision.");let t=e,s=t.proposal;if(typeof t.workspaceId!="string"||t.decision!=="approve"&&t.decision!=="decline"||!s||typeof s!="object")throw new Error("Harness review requires a workspace, proposal, and decision.");let r=s;if(typeof r.id!="string"||typeof r.contentHash!="string")throw new Error("Harness proposal review requires an id and content hash.");return{workspaceId:t.workspaceId,proposal:{id:r.id,contentHash:r.contentHash},decision:t.decision}}o(St,"parseHarnessProposalReviewRequest");async function U(e){let t=await e.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te});if(!t)return{workspace:null,backgroundReview:{enabled:!0,updatedAt:null},evaluationReviewSchedule:{enabled:!1,activityEnabled:!1,activityBatchSize:10,cadence:"manual",maxEstimatedCostUsd:0,nextRunAt:null,lastRunAt:null,lastResult:null,lastError:null,updatedAt:null},releases:[],changes:[],routes:[],evaluationReviews:[],refinementCandidates:[],modelImprovementQualifications:[],pendingReviews:[],memories:[]};let[s,r,i,u,c,d,m,H,b,l,a,p,f]=await Promise.all([e.getHarnessBackgroundReviewSettings(t.id),e.getHarnessEvaluationReviewSettings(t.id),e.listHarnessReleaseRecords(t.id),e.listHarnessAdvanceReceipts(t.id),e.listHarnessImprovementArtifacts(t.id,"proposal",1e3),e.listHarnessImprovementArtifacts(t.id,"targeted_validation",1e3),e.listHarnessImprovementArtifacts(t.id,"route_decision",1e3),e.listHarnessImprovementArtifacts(t.id,"evaluation_review",1e3),e.listHarnessRefinementCandidates(t.id),e.listHarnessImprovementArtifacts(t.id,"training_qualification",1e3),e.listHarnessImprovementArtifacts(t.id,"apply_receipt",1e3),e.listHarnessImprovementArtifacts(t.id,"refiner_outcome",1e3),e.listHarnessImprovementArtifacts(t.id,"trigger_decision",1e3)]),R=c,A=d,w=m,T=a,M=p,F=f,$=u.slice().reverse().map(g=>{let v=g.proposal?R.find(E=>E.id===g.proposal.id&&E.contentHash===g.proposal.contentHash)??null:null,_=v?M.find(E=>E.proposal?.id===v.id&&E.proposal.contentHash===v.contentHash)??null:null,I=_?F.find(E=>E.id===_.trigger.id&&E.contentHash===_.trigger.contentHash)??null:null;return{receipt:g,proposal:v,validations:v?A.filter(E=>E.proposal.id===v.id&&E.proposal.contentHash===v.contentHash):[],routeDecision:v?w.find(E=>E.metadata.proposalId===v.id)??null:null,applyReceipt:v?T.find(E=>E.proposal.id===v.id&&E.proposal.contentHash===v.contentHash)??null:null,outcome:_,trigger:I}}),Y=new Set($.flatMap(g=>g.routeDecision?[g.routeDecision.id]:[])),W=w.filter(g=>!Y.has(g.id)).map(g=>{let v=F.find(I=>I.id===g.trigger.id&&I.contentHash===g.trigger.contentHash)??null,_=M.find(I=>I.trigger.id===g.trigger.id&&I.trigger.contentHash===g.trigger.contentHash)??null;return{decision:g,trigger:v,outcome:_}}),O=R.reduce((g,v)=>{let I=T.filter(x=>x.proposal.id===v.id&&x.proposal.contentHash===v.contentHash).sort((x,Z)=>Z.createdAt.localeCompare(x.createdAt))[0]??null;if(!I||I.decision!=="retained")return g;let E=M.find(x=>x.proposal?.id===v.id&&x.proposal.contentHash===v.contentHash)??null,S=E?F.find(x=>x.id===E.trigger.id&&x.contentHash===E.trigger.contentHash)??null:null;return g.push({proposal:v,validations:A.filter(x=>x.proposal.id===v.id&&x.proposal.contentHash===v.contentHash),applyReceipt:I,outcome:E,trigger:S}),g},[]);return{workspace:t,backgroundReview:s,evaluationReviewSchedule:r,releases:i.map(g=>({id:g.harnessRelease.id,contentHash:g.harnessRelease.contentHash,sourceRevision:g.sourceRevision,createdAt:g.createdAt,current:t.currentChannel.release?.contentHash===g.harnessRelease.contentHash,files:g.harnessRelease.files.map(v=>({id:v.id,path:v.path,contentHash:v.contentHash,sizeBytes:v.sizeBytes,mediaType:v.mediaType}))})),changes:$,routes:W,evaluationReviews:H,refinementCandidates:b,modelImprovementQualifications:l,pendingReviews:O,memories:await e.listHarnessMemories(t.id)}}o(U,"localHarnessHistoryPayload");async function At(e){let t=await e.store.getHarnessEvaluationReviewSettings(e.request.workspaceId),s=await le({store:e.store,storeDir:e.storeDir,workspaceId:e.request.workspaceId,maxEstimatedCostUsd:e.request.maxEstimatedCostUsd??t.maxEstimatedCostUsd,stream:e.stream}),r=new Date().toISOString();return await e.store.setHarnessEvaluationReviewSettings({workspaceId:e.request.workspaceId,settings:{...t,lastRunAt:r,lastResult:{id:s.id,contentHash:s.contentHash,classification:s.classification},lastError:null,updatedAt:r}}),{receipt:s,history:await U(e.store)}}o(At,"reviewLocalHarnessEvaluationFromSettings");async function Ct(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal"||t.location!=="local")throw new Error("Evaluation review schedule requires the selected Personal Local Harness.");if((await e.store.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te}))?.id!==t.id)throw new Error("Evaluation review schedule requires the selected Personal Local Harness.");let r=await e.store.getHarnessEvaluationReviewSettings(t.id),i=new Date().toISOString(),u=e.request.enabled&&e.request.cadence!=="manual";return await e.store.setHarnessEvaluationReviewSettings({workspaceId:t.id,settings:{...r,enabled:u,activityEnabled:e.request.activityEnabled,activityBatchSize:e.request.activityBatchSize,cadence:e.request.cadence,maxEstimatedCostUsd:e.request.maxEstimatedCostUsd,nextRunAt:u?Re(e.request.cadence,i):null,lastError:null,updatedAt:i}}),{history:await U(e.store)}}o(Ct,"updateLocalHarnessEvaluationReviewScheduleFromSettings");async function It(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal"||t.location!=="local")throw new Error("Background review settings require the selected Personal Local Harness.");return await e.store.setHarnessBackgroundReviewSettings({workspaceId:t.id,enabled:e.request.enabled,updatedAt:new Date().toISOString()}),{history:await U(e.store)}}o(It,"updateLocalHarnessBackgroundReviewFromSettings");async function Ze(e){let t=await e.store.getHarnessReleaseRecord(e.release.contentHash);if(!t||t.workspaceId!==e.workspaceId||t.harnessRelease.id!==e.release.id||t.harnessRelease.contentHash!==e.release.contentHash)throw new Error(`${e.label} is unavailable or hash-mismatched.`);return t}o(Ze,"requireHarnessReleaseRecord");function Ge(e,t){let s=ge.resolve(e.bundlePath,"source"),r=ge.resolve(s,...t.split("/"));if(r!==s&&!r.startsWith(`${s}${ge.sep}`))throw new Error(`Harness release contains an unsafe file path: ${t}.`);return r}o(Ge,"releaseSourcePath");function xt(e){return e.patch.split(`
4
+ `;if(r.length>=t)return s.slice(0,t);let i=Math.max(0,t-r.length),u=Math.ceil(i/2),c=Math.floor(i/2);return`${s.slice(0,u)}${r}${s.slice(-c)}`}o(N,"boundedReviewText");function Q(e){return{id:e.id,contentHash:e.contentHash}}o(Q,"artifactRef");function L(e){return`${e.id}:${e.contentHash}`}o(L,"artifactKey");function $e(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}o($e,"asRecord");var at=2160*60*60*1e3;async function fe(e){let t=[],s=await e.store.listHarnessRefinementCandidates(e.workspace.id),r=e.upsertReviewClaim!==!1&&e.review.classification==="harness_maintenance"?e.review.claim?.fingerprint??null:null;for(let c of s){if(c.fingerprint===r)continue;let d=ot({...e,candidate:c});d&&(await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.workspace.id,...d}),t.push(d.receipt))}let i=null;if(e.upsertReviewClaim!==!1&&e.review.classification==="harness_maintenance"&&e.review.claim){let c=await e.store.getHarnessRefinementCandidateByFingerprint(e.workspace.id,e.review.claim.fingerprint),d=it({...e,candidate:c});d?(await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.workspace.id,...d}),t.push(d.receipt),i=d.candidate):i=c}let u=await e.store.listHarnessRefinementCandidates(e.workspace.id);return e.upsertReviewClaim===!1&&(i=u.find(c=>c.status==="confirmed"&&c.sourceReviews.some(d=>d.id===e.review.id&&d.contentHash===e.review.contentHash))??null),{activeCandidate:i,candidates:u,lifecycleReceipts:t}}o(fe,"reconcileLocalHarnessRefinementCandidates");async function Ue(e){if(!["unresolved","confirmed"].includes(e.candidate.status))return e.candidate;let t=ee({...we(e.candidate),sourceReviews:V([...e.candidate.sourceReviews,z(e.review)]),relatedHarnessReleases:V([...e.candidate.relatedHarnessReleases,...e.relatedHarnessRelease?[e.relatedHarnessRelease]:[]]),lastReviewedAt:e.now,updatedAt:e.now,resolution:null}),s=ie({before:e.candidate,candidate:t,review:e.review,decision:"merged",addedEvidence:[],removedEvidence:[],reason:e.reason,now:e.now});return await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.candidate.workspaceRef,...s}),t}o(Ue,"recordAppliedLocalHarnessRefinementCandidate");async function Fe(e){if(e.candidate.status!=="confirmed")throw new Error("Later-success resolution requires a confirmed candidate.");let t=e.review.harnessRelease,s=e.candidate.relatedHarnessReleases.at(-1);if(e.candidate.relatedHarnessReleases.length<2||!s||s.id!==t.id||s.contentHash!==t.contentHash)throw new Error("Later-success evidence is not bound to the candidate's applied Harness release.");let r=new Set(e.candidate.occurrences.map(d=>d.sourceRef)),i=e.evidence.filter(d=>!r.has(d.sourceRef));if(i.length===0)throw new Error("Later-success resolution requires evidence from an independent work source.");let u=ee({...we(e.candidate),status:"resolved",sourceReviews:V([...e.candidate.sourceReviews,z(e.review)]),lastReviewedAt:e.now,updatedAt:e.now,resolution:{kind:"later_success",reason:e.reason,evidenceRefs:V(i.map(d=>d.evidence)),resolvedAt:e.now}}),c=ie({before:e.candidate,candidate:u,review:e.review,decision:"resolved",addedEvidence:i,removedEvidence:[],reason:e.reason,now:e.now});return await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.candidate.workspaceRef,...c}),u}o(Fe,"resolveLocalHarnessRefinementCandidateFromLaterSuccess");function ot(e){if(!["unresolved","confirmed"].includes(e.candidate.status))return null;let t=[],s=oe(e.candidate.occurrences,e.sourcePolicies,t),r=oe(e.candidate.counterevidence,e.sourcePolicies,t),i=V([...e.candidate.sourceReviews,z(e.review)]),u=Date.parse(e.candidate.expiresAt)<=Date.parse(e.now),c=s.length===0,d=c?"rejected":u?"expired":t.length>0?"unresolved":e.candidate.status,m=c?"rejected":u?"expired":"merged";if(!(t.length>0||e.candidate.lastReviewedAt!==e.now||e.candidate.sourceReviews.length!==i.length)&&!u)return null;let b=c?"All supporting occurrences were revoked, deleted, expired, or unavailable at review time.":u?"The bounded candidate lifetime elapsed without sufficient confirming evidence.":"Candidate evidence was reauthorized against the current source policy set.",l=ee({...we(e.candidate),status:d,occurrences:s,counterevidence:r,sourceReviews:i,lastReviewedAt:e.now,updatedAt:e.now,expiresAt:u?e.now:e.candidate.expiresAt,resolution:c||u?{kind:c?"source_revoked":"expired",reason:b,evidenceRefs:t.map(a=>a.evidence),resolvedAt:e.now}:null});return ie({before:e.candidate,candidate:l,review:e.review,decision:m,addedEvidence:[],removedEvidence:t.map(a=>a.evidence),reason:b,now:e.now})}o(ot,"reauthorizeOrExpireCandidate");function it(e){let t=e.review.claim,s=e.candidate,r=[],i=s?oe(s.occurrences,e.sourcePolicies,r):[],u=s?oe(s.counterevidence,e.sourcePolicies,r):[],c=new Set(s&&["unresolved","confirmed"].includes(s.status)?i.map(f=>f.occurrenceKey):[]),d=e.review.selectedEvidence.filter(f=>!c.has(f.occurrenceKey));if(s&&d.length===0&&r.length===0&&["unresolved","confirmed"].includes(s.status))return null;let m=ct([...i,...e.review.selectedEvidence]),H=t.candidateDisposition==="confirm"?"confirmed":"unresolved",b=m.map(f=>f.occurredAt).sort()[0],l=m.map(f=>f.occurredAt).sort().at(-1),a=ee({schemaVersion:"openpond.harnessRefinementCandidate.v1",id:s?.id??`refinement-candidate-${t.fingerprint.slice(0,24)}`,ownerScope:e.workspace.ownerScope,workspaceRef:e.workspace.id,fingerprint:t.fingerprint,recurrenceFamily:t.recurrenceFamily,statement:t.statement,status:H,occurrences:m,counterevidence:u,sourceReviews:V([...s?.sourceReviews??[],z(e.review)]),relatedHarnessReleases:V([...s?.relatedHarnessReleases??[],e.review.harnessRelease]),firstSeenAt:b,lastSeenAt:l,lastReviewedAt:e.now,expiresAt:new Date(Date.parse(e.now)+at).toISOString(),resolution:null,createdAt:s?.createdAt??e.now,updatedAt:e.now}),p=s?["resolved","rejected","expired"].includes(s.status)?"reopened":"merged":"created";return ie({before:s,candidate:a,review:e.review,decision:p,addedEvidence:d,removedEvidence:r.map(f=>f.evidence),reason:p==="created"?"Created a bounded candidate from an authorized cross-Work Harness claim.":p==="reopened"?"New authorized evidence reopened the prior candidate.":"Merged new authorized evidence into the existing candidate.",now:e.now})}o(it,"upsertCandidateFromReview");function ie(e){let t=xe({schemaVersion:"openpond.harnessRefinementCandidateLifecycleReceipt.v1",id:`candidate-lifecycle-${D({candidate:z(e.candidate),review:z(e.review),decision:e.decision}).slice(0,24)}`,candidateId:e.candidate.id,decision:e.decision,beforeCandidate:e.before?z(e.before):null,afterCandidate:z(e.candidate),review:z(e.review),addedEvidence:e.addedEvidence,removedEvidence:e.removedEvidence,reason:e.reason,createdAt:e.now});return{candidate:e.candidate,receipt:t}}o(ie,"transition");function oe(e,t,s){return e.flatMap(r=>{let i=t.get(r.sourceRef);return!i||i.state!=="authorized"?(s.push(r),[]):[{...r,sourcePolicy:i}]})}o(oe,"reauthorizedEvidence");function ct(e){return[...new Map(e.map(t=>[t.occurrenceKey,t])).values()].sort((t,s)=>t.occurredAt.localeCompare(s.occurredAt)||t.occurrenceKey.localeCompare(s.occurrenceKey))}o(ct,"uniqueEvidence");function V(e){return[...new Map(e.map(t=>[`${t.id}:${t.contentHash}`,t])).values()]}o(V,"uniqueRefs");function z(e){return{id:e.id,contentHash:e.contentHash}}o(z,"artifactRef");function we(e){let{contentHash:t,...s}=e;return s}o(we,"withoutHash");var dt={memory:!0,prompt:!0,skill:!0,agent:!1};async function je(e){if(e.candidate.status!=="confirmed")return null;if(e.review.classification!=="harness_maintenance"||e.review.contentHash!==e.candidate.sourceReviews.at(-1)?.contentHash)throw new Error("Cross-run continuation requires the candidate's confirming Harness review.");let t=await e.store.getHarnessWorkspace(e.candidate.workspaceRef),s=t?.currentChannel.release??null;if(!t||t.location!=="local"||!s)throw new Error("Cross-run continuation requires an active Local Harness release.");let r=Pe({workspaceRef:t.id,candidateFingerprint:e.candidate.fingerprint,admittedHarness:s}),i=(e.now??(()=>new Date().toISOString()))(),u=qe({schemaVersion:"openpond.harnessCrossRunRefinementRequest.v1",id:`cross-run-refinement-${r.slice(0,24)}`,ownerScope:t.ownerScope,workspaceRef:t.id,candidate:ce(e.candidate),candidateFingerprint:e.candidate.fingerprint,review:ce(e.review),admittedHarness:s,evidence:e.candidate.occurrences,capabilities:dt,deduplicationKey:r,createdAt:i}),c=await e.store.saveHarnessCrossRunRefinementRequestIfAbsent({workspaceId:t.id,request:u});if(!c.created)return null;let d=await ut(e.store,t.id,c.request.evidence);if(d.length===0)throw new Error("Confirmed cross-run candidate has no verifiable source observations.");let m=`cross-run-${c.request.deduplicationKey.slice(0,24)}`,H=await Te({store:e.store,runId:m,workspace:t,harnessRelease:c.request.admittedHarness,admittedAt:c.request.createdAt}),b=lt({request:c.request,overlay:H,observations:d});await e.store.saveHarnessImprovementArtifact(t.id,"trigger_decision",b);let l=await Be({store:e.store,storeDir:e.storeDir,trigger:b,additionalEvidence:{reviewScope:"cross_run_candidate",request:c.request,candidate:e.candidate,review:e.review},reviewScope:"cross_run_candidate",stream:e.stream,signal:e.signal,now:e.now}),a=e.candidate;return l.applyReceipt?.decision==="applied"&&(a=await Ue({store:e.store,candidate:a,review:e.review,relatedHarnessRelease:l.workspace.currentChannel.release??null,reason:"The confirmed candidate produced a validated applied Harness change and now awaits independent outcome evidence.",now:(e.now??(()=>new Date().toISOString()))()})),{candidate:a,worker:l}}o(je,"continueConfirmedLocalHarnessCandidate");function lt(e){let t=e.observations.slice(0,100).map(ce);return Ie({schemaVersion:"openpond.refinementTriggerDecision.v1",id:`cross-run-trigger-${e.request.deduplicationKey.slice(0,24)}`,runRef:e.overlay.runId,turnId:`candidate-${e.request.candidate.id}`,harnessRelease:e.request.admittedHarness,overlay:{id:e.overlay.id,revision:e.overlay.revision,contentHash:e.overlay.contentHash},observations:t,decision:"queue_refiner",deterministicRoute:null,suggestedRoutes:[],reason:"A confirmed authorized cross-Work candidate is ready for one bounded Refiner continuation.",deduplicationKey:e.request.deduplicationKey,policy:{schemaVersion:"openpond.refinementTriggerPolicy.v1",maxEstimatedCostUsd:.05,cooldownMs:0,maxPendingPlans:1,maxEvidenceEvents:100,maxProposalEdits:4,maxProposalBytes:2e4},estimatedMaxCostUsd:.05,pendingPlanCount:0,boundary:{kind:"turn_completed",eventSequence:0,occurredAt:e.request.createdAt},cooldownUntil:null,createdAt:e.request.createdAt,metadata:{origin:"cross_run_candidate",crossRunRefinementRequest:ce(e.request),candidate:e.request.candidate}})}o(lt,"createCrossRunTrigger");async function ut(e,t,s){let[r,i,u,c]=await Promise.all([e.listHarnessImprovementArtifacts(t,"observation",1e3),e.listHarnessImprovementArtifacts(t,"trigger_decision",1e3),e.listHarnessImprovementArtifacts(t,"route_decision",1e3),e.listHarnessImprovementArtifacts(t,"refiner_outcome",1e3)]),d=new Map(r.map(a=>[B(a),a])),m=new Map(i.map(a=>[B(a),a])),H=new Map(u.map(a=>[B(a),a])),b=new Map(c.map(a=>[B(a),a])),l=new Map;for(let a of s){if(a.kind==="observation"){let R=d.get(B(a.evidence));R&&l.set(B(R),R);continue}let p=a.kind==="route_decision"?H.get(B(a.evidence))?.trigger:a.kind==="refiner_outcome"?b.get(B(a.evidence))?.trigger:null,f=p?m.get(B(p)):null;for(let R of f?.observations??[]){let A=d.get(B(R));A&&l.set(B(A),A)}}return[...l.values()].sort((a,p)=>a.createdAt.localeCompare(p.createdAt)||a.id.localeCompare(p.id))}o(ut,"resolveCandidateObservations");function ce(e){return{id:e.id,contentHash:e.contentHash}}o(ce,"artifactRef");function B(e){return`${e.id}:${e.contentHash}`}o(B,"artifactKey");var mt=C.object({sourceRef:C.string().trim().min(1),policy:C.object({id:C.string().trim().min(1),contentHash:C.string().regex(/^[a-f0-9]{64}$/)}).strict(),state:C.enum(["authorized","revoked","deleted","expired"]),checkedAt:C.string().datetime()}).strict(),vt=C.object({previousWatermark:Se.nullable().optional(),sourcePolicies:C.array(mt).max(1e4).default([]),limits:C.object({maxEvidence:C.number().int().min(1).max(1e3).default(200),maxTokens:C.number().int().min(1).max(1e6).default(5e4),maxDurationMs:C.number().int().min(1).max(3e5).default(24e4),maxEstimatedCostUsd:C.number().finite().nonnegative().default(.1),maxPrecedingTurns:C.number().int().min(0).max(10).default(3),maxConversationChars:C.number().int().min(0).max(1e5).default(12e3),maxContextEvents:C.number().int().min(1).max(100).default(12),maxArtifactDiagnostics:C.number().int().min(0).max(100).default(20),maxLaterResults:C.number().int().min(0).max(50).default(8)}).strict().default({maxEvidence:200,maxTokens:5e4,maxDurationMs:24e4,maxEstimatedCostUsd:.1,maxPrecedingTurns:3,maxConversationChars:12e3,maxContextEvents:12,maxArtifactDiagnostics:20,maxLaterResults:8})}).strict(),de=new WeakMap;function Qe(e){let t=de.get(e.store);if(t)return t;let s=pt(e).finally(()=>{de.get(e.store)===s&&de.delete(e.store)});return de.set(e.store,s),s}o(Qe,"reviewSelectedLocalHarnessEvaluation");async function pt(e){let t=vt.parse(e.request??{}),s=performance.now(),r=await ae(e.store);if(!r)throw new Error("No Local Harness release is selected for evaluation review.");let i=await e.store.getHarnessWorkspace(r.workspaceId);if(!i)throw new Error(`Selected Harness workspace ${r.workspaceId} does not exist.`);let[u,c,d,m,H,b,l,a]=await Promise.all([e.store.listHarnessImprovementArtifacts(i.id,"evaluation_review",1e3),e.store.listHarnessImprovementArtifacts(i.id,"route_decision",1e3),e.store.listHarnessImprovementArtifacts(i.id,"trigger_decision",1e3),e.store.listHarnessImprovementArtifacts(i.id,"observation",1e3),e.store.listHarnessImprovementArtifacts(i.id,"apply_receipt",1e3),e.store.listHarnessImprovementArtifacts(i.id,"refiner_outcome",1e3),e.store.listHarnessAdvanceReceipts(i.id),e.store.listHarnessRefinementCandidates(i.id)]),p=u[0]??null,f=t.previousWatermark??p?.nextWatermark??null,R=c,A=d,w=m,T=H,M=b,F=[...R,...w,...M];if(t.previousWatermark===void 0&&p&&!F.some(n=>n.createdAt>p.nextWatermark.throughCreatedAt)){let n=(e.now??(()=>new Date().toISOString()))(),y=await fe({store:e.store,workspace:i,review:p,sourcePolicies:new Map(t.sourcePolicies.map(k=>[k.sourceRef,J(k)])),now:n,upsertReviewClaim:!1});return await Ke({...e,candidate:y.activeCandidate,review:p}),p}let $=new Map(A.map(n=>[P(n),n])),Y=new Set(A.filter(n=>n.metadata.origin==="cross_run_candidate").map(P)),W=new Map(w.map(n=>[P(n),n])),O=new Map(t.sourcePolicies.map(n=>[n.sourceRef,n])),g=ze({store:e.store,workspace:i,sourcePolicies:O,observations:w,triggers:A,outcomes:M,applyReceipts:T,advanceReceipts:l,limits:{maxPrecedingTurns:t.limits.maxPrecedingTurns,maxConversationChars:t.limits.maxConversationChars,maxContextEvents:t.limits.maxContextEvents,maxArtifactDiagnostics:t.limits.maxArtifactDiagnostics,maxLaterResults:t.limits.maxLaterResults}}),v=[],_=[],I=new Set,E=new Set(R.map(n=>P(n.trigger)));for(let n of R){let y=$.get(P(n.trigger));if(!y){v.push({evidence:q(n),sourcePolicy:null,reason:"unverified"});continue}if(Y.has(P(y))){v.push({evidence:q(n),sourcePolicy:null,reason:"resolved"});continue}let k=y.observations.map(j=>W.get(P(j))).filter(j=>!!j);for(let j of k)I.add(P(j));_.push({id:`route_decision:${n.id}`,artifact:n,kind:"route_decision",sourceRef:k[0]?.runRef??y.runRef,payload:{routeDecision:n,trigger:y,observations:k,turnContexts:await Ve(k,g)}})}for(let n of M){if(E.has(P(n.trigger)))continue;let y=$.get(P(n.trigger));if(!y){v.push({evidence:q(n),sourcePolicy:null,reason:"unverified"});continue}if(Y.has(P(y))){v.push({evidence:q(n),sourcePolicy:null,reason:"resolved"});continue}let k=y.observations.map(K=>W.get(P(K))).filter(K=>!!K);for(let K of k)I.add(P(K));let j=n.proposal?T.filter(K=>P(K.proposal)===P(n.proposal)):[];_.push({id:`refiner_outcome:${n.id}`,artifact:n,kind:"refiner_outcome",sourceRef:k[0]?.runRef??y.runRef,payload:{outcome:n,trigger:y,observations:k,turnContexts:await Ve(k,g),applyReceipts:j}})}for(let n of w)I.has(P(n))||_.push({id:`observation:${n.id}`,artifact:n,kind:"observation",sourceRef:n.runRef,payload:{observation:n,turnContext:await g(n)}});let S=[],x=[],Z=0,ue=0;for(let n of _.slice().sort((y,k)=>y.artifact.createdAt.localeCompare(k.artifact.createdAt)||y.id.localeCompare(k.id))){if(performance.now()-s>=t.limits.maxDurationMs){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}if(f&&n.artifact.createdAt<=f.throughCreatedAt){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"before_watermark"});continue}if(Z>=t.limits.maxEvidence){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}Z+=1;let y=Math.ceil(JSON.stringify(n.payload).length/4);if(ue+y>t.limits.maxTokens){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}ue+=y,x.push(n.artifact);let k=O.get(n.sourceRef);if(!k||k.state!=="authorized"){v.push({evidence:q(n.artifact),sourcePolicy:k?J(k):null,reason:k&&k.state!=="authorized"?k.state:"unverified"});continue}S.push(n)}let h={schemaVersion:"openpond.harnessEvaluationReviewModelDecision.v2",decision:"no_action",reason:"No authorized unresolved evidence qualified for model review.",ignoredEvidence:[]},G={promptTokens:0,completionTokens:0,totalTokens:0},se={selectedIds:null};if(S.length>0&&t.limits.maxEstimatedCostUsd===0){for(let n of S)v.push({evidence:q(n.artifact),sourcePolicy:J(O.get(n.sourceRef)),reason:"budget"});h={schemaVersion:"openpond.harnessEvaluationReviewModelDecision.v2",decision:"no_action",reason:"Continuous review is disabled by a zero model-cost ceiling.",ignoredEvidence:S.map(n=>({id:n.id,reason:"The configured model-cost ceiling is zero."}))}}else if(S.length>0){if(!e.stream)throw new Error("Harness continuous review requires a model stream.");h=await Ce({evidence:S.map(n=>({id:n.id,evidence:q(n.artifact),kind:n.kind,sourceRef:n.sourceRef,occurredAt:n.artifact.createdAt,payload:n.payload})),harnessRelease:q(r.harnessRelease),previousReviews:u.slice(0,20),candidates:a.map(n=>({id:n.id,fingerprint:n.fingerprint,statement:n.statement,status:n.status,occurrences:n.occurrences,relatedHarnessReleases:n.relatedHarnessReleases,resolution:n.resolution})),stream:o(async function*(n){let y=null;for await(let k of e.stream(n))k.usage&&(y=k.usage),yield k;y&&(G={promptTokens:G.promptTokens+y.promptTokens,completionTokens:G.completionTokens+y.completionTokens,totalTokens:G.totalTokens+y.totalTokens})},"stream"),signal:e.signal??new AbortController().signal,timeoutMs:t.limits.maxDurationMs,onNavigation:o(n=>{se.selectedIds=new Set(n.selectedEvidenceIds)},"onNavigation")})}let He=se.selectedIds?S.filter(n=>!se.selectedIds.has(n.id)):[];for(let n of He)v.push({evidence:q(n.artifact),sourcePolicy:J(O.get(n.sourceRef)),reason:"budget"});let me=h.decision==="review"||h.decision==="resolve_candidate"?h.selectedEvidenceIds.map(n=>{let y=S.find(k=>k.id===n);if(!y)throw new Error(`Review selected unavailable evidence ${n}.`);return y}):[],ve=h.decision==="review"?h.classification:"no_action",pe=me.map(n=>ft(n,O.get(n.sourceRef))),re=(e.now??(()=>new Date().toISOString()))(),Xe=new Set(He.map(n=>P(n.artifact))),he=x.filter(n=>!Xe.has(P(n))),ye=he.map(n=>n.createdAt).sort().at(-1),ke=ye?Ne(f?.throughCreatedAt,ye):Ne(f?.throughCreatedAt,re),Ee=D({previousCursor:f?.cursor??null,throughCreatedAt:ke,examined:he.map(q)}),et=`evaluation-review-${D({workspaceId:i.id,harnessRelease:r.harnessRelease,previousWatermark:f,cursor:Ee}).slice(0,24)}`,X=Ae({schemaVersion:"openpond.harnessEvaluationReviewReceipt.v1",id:et,ownerScope:i.ownerScope,workspaceRef:i.id,harnessRelease:q(r.harnessRelease),previousWatermark:f,nextWatermark:{cursor:Ee,throughCreatedAt:ke},selectedEvidence:pe,excludedEvidence:v,claim:h.decision==="review"?{fingerprint:D({schemaVersion:"openpond.harnessRefinementCandidateFingerprint.v1",classification:ve,triageLayer:h.triageLayer,recurrenceFamily:Rt(h.recurrenceFamily)}),recurrenceFamily:h.recurrenceFamily,statement:h.statement,...h.classification==="harness_maintenance"?{candidateDisposition:h.candidateDisposition}:{},independentOccurrences:new Set(me.map(n=>n.sourceRef)).size,unresolvedOccurrences:new Set(me.map(n=>n.sourceRef)).size}:null,classification:ve,triage:h.decision==="review"?[{layer:h.triageLayer,status:"unresolved",reason:h.reason,evidenceRefs:pe.map(n=>n.evidence)}]:[],reason:h.reason,nextAuthority:wt(ve),maxEstimatedCostUsd:t.limits.maxEstimatedCostUsd,tasksetProposal:null,evaluation:null,trainingQualification:null,policyVersion:"public-model-driven-harness-review-v1",createdAt:re,metadata:{examinedEvidence:Z,fullyReviewedEvidence:se.selectedIds?.size??S.length,estimatedTokens:ue,elapsedMs:performance.now()-s,explicitInvocation:!0,modelDecision:h.decision,modelConfidence:h.decision==="review"||h.decision==="resolve_candidate"?h.confidence:null,counterevidence:h.decision==="review"?h.counterevidence:null,expectedOutcome:h.decision==="review"?h.expectedOutcome:null,ignoredEvidence:h.ignoredEvidence,modelUsage:G}});await e.store.saveHarnessImprovementArtifact(i.id,"evaluation_review",X);let be=await fe({store:e.store,workspace:i,review:X,sourcePolicies:new Map(t.sourcePolicies.map(n=>[n.sourceRef,J(n)])),now:re});if(h.decision==="resolve_candidate"){let n=be.candidates.find(y=>y.id===h.candidateId&&y.fingerprint===h.candidateFingerprint);if(!n)throw new Error("Later-success decision referenced an unavailable candidate.");await Fe({store:e.store,candidate:n,review:X,evidence:pe,reason:h.reason,now:re})}return await Ke({...e,candidate:be.activeCandidate,review:X}),X}o(pt,"runSelectedLocalHarnessEvaluation");async function Ke(e){!e.continuation||e.candidate?.status!=="confirmed"||await je({store:e.store,storeDir:e.continuation.storeDir,candidate:e.candidate,review:e.review,stream:e.continuation.stream,signal:e.signal??new AbortController().signal,now:e.now})}o(Ke,"continueCandidateIfEnabled");function q(e){return{id:e.id,contentHash:e.contentHash}}o(q,"artifactRef");function P(e){return`${e.id}:${e.contentHash}`}o(P,"artifactKey");function J(e){return{policy:e.policy,state:e.state,checkedAt:e.checkedAt}}o(J,"sourcePolicyRef");function ft(e,t){return{evidence:q(e.artifact),kind:e.kind,sourceRef:e.sourceRef,sourcePolicy:J(t),occurrenceKey:D({evidence:q(e.artifact),sourceRef:e.sourceRef}),occurredAt:e.artifact.createdAt}}o(ft,"evidenceRef");function wt(e){return e==="runtime"?"runtime_service":e==="product"?"product_team":e==="taskset"||e==="harness_maintenance"?"human_review":e==="model_improvement"?"training_system":"none"}o(wt,"nextAuthority");function Ne(...e){return e.filter(t=>!!t).sort().at(-1)}o(Ne,"maxTimestamp");function Rt(e){return e.trim().toLocaleLowerCase("en-US").replace(/\s+/g," ")}o(Rt,"normalizeRecurrenceFamily");async function Ve(e,t){let s=new Map;for(let r of e)s.set(`${r.runRef}:${r.turnId}`,r);return Promise.all([...s.values()].map(t))}o(Ve,"uniqueTurnContexts");var Je="local-personal-work-v1";async function le(e){let t=await ae(e.store);if(!t||t.workspaceId!==e.workspaceId)throw new Error("Evaluation review requires the selected Personal Local Harness.");let s=await e.store.getHarnessWorkspace(e.workspaceId);if(!s||s.ownerScope.kind!=="personal"||s.location!=="local")throw new Error("Evaluation review requires the selected Personal Local Harness.");let[r,i]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",1e4),e.store.listHarnessImprovementArtifacts(e.workspaceId,"trigger_decision",1e4)]),u=new Set([...r.map(m=>m.runRef),...i.map(m=>m.runRef)]),c=(e.now??(()=>new Date().toISOString()))(),d=await Promise.all([...u].sort().map(async m=>{let H=await e.store.getSession(m);return{sourceRef:m,policy:{id:`source-policy-${D({workspaceId:e.workspaceId,sourceRef:m,policyVersion:Je}).slice(0,24)}`,contentHash:D({workspaceId:e.workspaceId,sourceRef:m,policyVersion:Je})},state:H?"authorized":"deleted",checkedAt:c}}));return Qe({store:e.store,request:{sourcePolicies:d,limits:{maxEvidence:200,maxTokens:5e4,maxDurationMs:24e4,maxEstimatedCostUsd:e.maxEstimatedCostUsd}},stream:e.stream,signal:e.signal,now:e.now,continuation:e.stream?{storeDir:e.storeDir,stream:e.stream}:void 0})}o(le,"reviewSelectedLocalHarnessEvaluationFromHost");var gt=15e3;function Re(e,t){if(e==="manual")return null;let s=new Date(t);return s.setUTCDate(s.getUTCDate()+(e==="daily"?1:7)),s.toISOString()}o(Re,"nextHarnessEvaluationReviewRunAt");function us(e){let t=null,s=null,r=e.now??(()=>new Date().toISOString());async function i(){return s||(s=(async()=>{let u=await e.store.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te});if(!u)return null;let c=await e.store.getHarnessEvaluationReviewSettings(u.id),d=r();if(!c.enabled&&!c.activityEnabled)return null;let m=c.enabled&&c.cadence!=="manual"&&!!c.nextRunAt&&c.nextRunAt<=d,H=c.activityEnabled&&await Ht({store:e.store,workspaceId:u.id,batchSize:c.activityBatchSize});if(!m&&!H)return null;let b={...c,nextRunAt:m?Re(c.cadence,d):c.nextRunAt,lastRunAt:d,lastError:null,updatedAt:d};await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:b});try{let l=await le({store:e.store,storeDir:e.storeDir,workspaceId:u.id,maxEstimatedCostUsd:c.maxEstimatedCostUsd,stream:e.stream,now:r});return await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:{...b,lastResult:{id:l.id,contentHash:l.contentHash,classification:l.classification},updatedAt:r()}}),e.logger?.info("Harness evaluation review schedule completed",{workspaceId:u.id,reviewId:l.id,classification:l.classification}),l}catch(l){let a=l instanceof Error?l.message:String(l);return await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:{...b,lastError:a,updatedAt:r()}}),e.logger?.warn("Harness evaluation review schedule failed",{workspaceId:u.id,error:a}),null}})().finally(()=>{s=null}),s)}return o(i,"runDueNow"),{start(){t||(t=setInterval(()=>{e.isClosing()||i()},e.tickMs??gt),t.unref?.(),i())},async stop(){t&&clearInterval(t),t=null,await s},runDueNow:i}}o(us,"createLocalHarnessEvaluationReviewScheduler");async function Ht(e){let[t,s]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"refiner_outcome",e.batchSize),e.store.listHarnessImprovementArtifacts(e.workspaceId,"evaluation_review",1)]),r=s[0]?.nextWatermark.throughCreatedAt??null;return t.filter(i=>!r||i.createdAt>r).length>=e.batchSize}o(Ht,"hasEventDrivenReviewBatch");import ge from"node:path";function Us(e){return{harnessHistoryPayload:o(()=>U(e.store),"harnessHistoryPayload"),updateHarnessBackgroundReviewPayload:o(t=>It({store:e.store,request:kt(t)}),"updateHarnessBackgroundReviewPayload"),reviewHarnessEvaluationPayload:o(t=>At({store:e.store,storeDir:e.storeDir,stream:e.evaluationReviewStream,request:ht(t)}),"reviewHarnessEvaluationPayload"),updateHarnessEvaluationReviewSchedulePayload:o(t=>Ct({store:e.store,request:yt(t)}),"updateHarnessEvaluationReviewSchedulePayload"),harnessDiffPayload:o(t=>qt({...e,request:Et(t)}),"harnessDiffPayload"),rollbackHarnessPayload:o(t=>_t({...e,request:bt(t)}),"rollbackHarnessPayload"),reviewHarnessProposalPayload:o(t=>Dt({...e,request:St(t)}),"reviewHarnessProposalPayload")}}o(Us,"createLocalHarnessSettingsRoutePayloads");function ht(e){if(!e||typeof e!="object")throw new Error("Harness evaluation review requires a workspace.");let t=e;if(typeof t.workspaceId!="string")throw new Error("Harness evaluation review requires a workspace.");if(t.maxEstimatedCostUsd!==void 0&&(typeof t.maxEstimatedCostUsd!="number"||!Number.isFinite(t.maxEstimatedCostUsd)||t.maxEstimatedCostUsd<0))throw new Error("Harness evaluation review cost must be a non-negative number.");return{workspaceId:t.workspaceId,maxEstimatedCostUsd:t.maxEstimatedCostUsd}}o(ht,"parseHarnessEvaluationReviewRequest");function yt(e){if(!e||typeof e!="object")throw new Error("Harness evaluation review schedule requires a workspace and cadence.");let t=e;if(typeof t.workspaceId!="string"||typeof t.enabled!="boolean"||typeof t.activityEnabled!="boolean"||typeof t.activityBatchSize!="number"||!Number.isInteger(t.activityBatchSize)||t.activityBatchSize<1||t.activityBatchSize>100||t.cadence!=="manual"&&t.cadence!=="daily"&&t.cadence!=="weekly"||typeof t.maxEstimatedCostUsd!="number"||!Number.isFinite(t.maxEstimatedCostUsd)||t.maxEstimatedCostUsd<0)throw new Error("Harness evaluation review schedule requires a valid workspace, cadence, and cost limit.");return{workspaceId:t.workspaceId,enabled:t.enabled,activityEnabled:t.activityEnabled,activityBatchSize:t.activityBatchSize,cadence:t.cadence,maxEstimatedCostUsd:t.maxEstimatedCostUsd}}o(yt,"parseHarnessEvaluationReviewScheduleRequest");function kt(e){if(!e||typeof e!="object")throw new Error("Harness background review requires a workspace and enabled state.");let t=e;if(typeof t.workspaceId!="string"||typeof t.enabled!="boolean")throw new Error("Harness background review requires a workspace and enabled state.");return{workspaceId:t.workspaceId,enabled:t.enabled}}o(kt,"parseHarnessBackgroundReviewRequest");function Ye(e,t){if(!e||typeof e!="object")throw new Error(`${t} requires an id and content hash.`);let s=e;if(typeof s.id!="string"||typeof s.contentHash!="string")throw new Error(`${t} requires an id and content hash.`);return{id:s.id,contentHash:s.contentHash}}o(Ye,"parseHarnessReleaseRef");function Et(e){if(!e||typeof e!="object")throw new Error("Harness release diff requires a workspace and target release.");let t=e;if(typeof t.workspaceId!="string")throw new Error("Harness release diff requires a workspace and target release.");return{workspaceId:t.workspaceId,baseRelease:t.baseRelease===null?null:Ye(t.baseRelease,"Harness base release"),targetRelease:Ye(t.targetRelease,"Harness target release")}}o(Et,"parseHarnessReleaseDiffRequest");function bt(e){if(!e||typeof e!="object")throw new Error("Harness rollback requires a workspace and target release.");let t=e,s=t.targetRelease;if(typeof t.workspaceId!="string"||!s||typeof s!="object")throw new Error("Harness rollback requires a workspace and target release.");let r=s;if(typeof r.id!="string"||typeof r.contentHash!="string")throw new Error("Harness rollback target requires an id and content hash.");return{workspaceId:t.workspaceId,targetRelease:{id:r.id,contentHash:r.contentHash}}}o(bt,"parseHarnessRollbackRequest");function St(e){if(!e||typeof e!="object")throw new Error("Harness review requires a workspace, proposal, and decision.");let t=e,s=t.proposal;if(typeof t.workspaceId!="string"||t.decision!=="approve"&&t.decision!=="decline"||!s||typeof s!="object")throw new Error("Harness review requires a workspace, proposal, and decision.");let r=s;if(typeof r.id!="string"||typeof r.contentHash!="string")throw new Error("Harness proposal review requires an id and content hash.");return{workspaceId:t.workspaceId,proposal:{id:r.id,contentHash:r.contentHash},decision:t.decision}}o(St,"parseHarnessProposalReviewRequest");async function U(e){let t=await e.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te});if(!t)return{workspace:null,backgroundReview:{enabled:!0,updatedAt:null},evaluationReviewSchedule:{enabled:!1,activityEnabled:!1,activityBatchSize:10,cadence:"manual",maxEstimatedCostUsd:0,nextRunAt:null,lastRunAt:null,lastResult:null,lastError:null,updatedAt:null},releases:[],changes:[],routes:[],evaluationReviews:[],refinementCandidates:[],modelImprovementQualifications:[],pendingReviews:[],memories:[]};let[s,r,i,u,c,d,m,H,b,l,a,p,f]=await Promise.all([e.getHarnessBackgroundReviewSettings(t.id),e.getHarnessEvaluationReviewSettings(t.id),e.listHarnessReleaseRecords(t.id),e.listHarnessAdvanceReceipts(t.id),e.listHarnessImprovementArtifacts(t.id,"proposal",1e3),e.listHarnessImprovementArtifacts(t.id,"targeted_validation",1e3),e.listHarnessImprovementArtifacts(t.id,"route_decision",1e3),e.listHarnessImprovementArtifacts(t.id,"evaluation_review",1e3),e.listHarnessRefinementCandidates(t.id),e.listHarnessImprovementArtifacts(t.id,"training_qualification",1e3),e.listHarnessImprovementArtifacts(t.id,"apply_receipt",1e3),e.listHarnessImprovementArtifacts(t.id,"refiner_outcome",1e3),e.listHarnessImprovementArtifacts(t.id,"trigger_decision",1e3)]),R=c,A=d,w=m,T=a,M=p,F=f,$=u.slice().reverse().map(g=>{let v=g.proposal?R.find(E=>E.id===g.proposal.id&&E.contentHash===g.proposal.contentHash)??null:null,_=v?M.find(E=>E.proposal?.id===v.id&&E.proposal.contentHash===v.contentHash)??null:null,I=_?F.find(E=>E.id===_.trigger.id&&E.contentHash===_.trigger.contentHash)??null:null;return{receipt:g,proposal:v,validations:v?A.filter(E=>E.proposal.id===v.id&&E.proposal.contentHash===v.contentHash):[],routeDecision:v?w.find(E=>E.metadata.proposalId===v.id)??null:null,applyReceipt:v?T.find(E=>E.proposal.id===v.id&&E.proposal.contentHash===v.contentHash)??null:null,outcome:_,trigger:I}}),Y=new Set($.flatMap(g=>g.routeDecision?[g.routeDecision.id]:[])),W=w.filter(g=>!Y.has(g.id)).map(g=>{let v=F.find(I=>I.id===g.trigger.id&&I.contentHash===g.trigger.contentHash)??null,_=M.find(I=>I.trigger.id===g.trigger.id&&I.trigger.contentHash===g.trigger.contentHash)??null;return{decision:g,trigger:v,outcome:_}}),O=R.reduce((g,v)=>{let I=T.filter(x=>x.proposal.id===v.id&&x.proposal.contentHash===v.contentHash).sort((x,Z)=>Z.createdAt.localeCompare(x.createdAt))[0]??null;if(!I||I.decision!=="retained")return g;let E=M.find(x=>x.proposal?.id===v.id&&x.proposal.contentHash===v.contentHash)??null,S=E?F.find(x=>x.id===E.trigger.id&&x.contentHash===E.trigger.contentHash)??null:null;return g.push({proposal:v,validations:A.filter(x=>x.proposal.id===v.id&&x.proposal.contentHash===v.contentHash),applyReceipt:I,outcome:E,trigger:S}),g},[]);return{workspace:t,backgroundReview:s,evaluationReviewSchedule:r,releases:i.map(g=>({id:g.harnessRelease.id,contentHash:g.harnessRelease.contentHash,sourceRevision:g.sourceRevision,createdAt:g.createdAt,current:t.currentChannel.release?.contentHash===g.harnessRelease.contentHash,files:g.harnessRelease.files.map(v=>({id:v.id,path:v.path,contentHash:v.contentHash,sizeBytes:v.sizeBytes,mediaType:v.mediaType}))})),changes:$,routes:W,evaluationReviews:H,refinementCandidates:b,modelImprovementQualifications:l,pendingReviews:O,memories:await e.listHarnessMemories(t.id)}}o(U,"localHarnessHistoryPayload");async function At(e){let t=await e.store.getHarnessEvaluationReviewSettings(e.request.workspaceId),s=await le({store:e.store,storeDir:e.storeDir,workspaceId:e.request.workspaceId,maxEstimatedCostUsd:e.request.maxEstimatedCostUsd??t.maxEstimatedCostUsd,stream:e.stream}),r=new Date().toISOString();return await e.store.setHarnessEvaluationReviewSettings({workspaceId:e.request.workspaceId,settings:{...t,lastRunAt:r,lastResult:{id:s.id,contentHash:s.contentHash,classification:s.classification},lastError:null,updatedAt:r}}),{receipt:s,history:await U(e.store)}}o(At,"reviewLocalHarnessEvaluationFromSettings");async function Ct(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal"||t.location!=="local")throw new Error("Evaluation review schedule requires the selected Personal Local Harness.");if((await e.store.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te}))?.id!==t.id)throw new Error("Evaluation review schedule requires the selected Personal Local Harness.");let r=await e.store.getHarnessEvaluationReviewSettings(t.id),i=new Date().toISOString(),u=e.request.enabled&&e.request.cadence!=="manual";return await e.store.setHarnessEvaluationReviewSettings({workspaceId:t.id,settings:{...r,enabled:u,activityEnabled:e.request.activityEnabled,activityBatchSize:e.request.activityBatchSize,cadence:e.request.cadence,maxEstimatedCostUsd:e.request.maxEstimatedCostUsd,nextRunAt:u?Re(e.request.cadence,i):null,lastError:null,updatedAt:i}}),{history:await U(e.store)}}o(Ct,"updateLocalHarnessEvaluationReviewScheduleFromSettings");async function It(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal"||t.location!=="local")throw new Error("Background review settings require the selected Personal Local Harness.");return await e.store.setHarnessBackgroundReviewSettings({workspaceId:t.id,enabled:e.request.enabled,updatedAt:new Date().toISOString()}),{history:await U(e.store)}}o(It,"updateLocalHarnessBackgroundReviewFromSettings");async function Ze(e){let t=await e.store.getHarnessReleaseRecord(e.release.contentHash);if(!t||t.workspaceId!==e.workspaceId||t.harnessRelease.id!==e.release.id||t.harnessRelease.contentHash!==e.release.contentHash)throw new Error(`${e.label} is unavailable or hash-mismatched.`);return t}o(Ze,"requireHarnessReleaseRecord");function Ge(e,t){let s=ge.resolve(e.bundlePath,"source"),r=ge.resolve(s,...t.split("/"));if(r!==s&&!r.startsWith(`${s}${ge.sep}`))throw new Error(`Harness release contains an unsafe file path: ${t}.`);return r}o(Ge,"releaseSourcePath");function xt(e){return e.patch.split(`
5
5
  `).map(t=>t.startsWith("diff --git ")?`diff --git a/${e.filePath} b/${e.filePath}`:t.startsWith("--- ")?e.baseExists?`--- a/${e.filePath}`:"--- /dev/null":t.startsWith("+++ ")?e.targetExists?`+++ b/${e.filePath}`:"+++ /dev/null":t).join(`
6
6
  `)}o(xt,"normalizeHarnessPatch");function Pt(e){let t=0,s=0;for(let r of e.split(`
7
- `))r.startsWith("+++")||r.startsWith("---")||(r.startsWith("+")&&(t+=1),r.startsWith("-")&&(s+=1));return{additions:t,deletions:s}}o(Pt,"countHarnessPatchLines");async function qt(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal")throw new Error("Harness release diff requires the selected Personal workspace.");let s=await Ze({store:e.store,workspaceId:t.id,release:e.request.targetRelease,label:"Harness target release"}),r=e.request.baseRelease?await Ze({store:e.store,workspaceId:t.id,release:e.request.baseRelease,label:"Harness base release"}):null,i=new Set(r?.harnessRelease.files.map(m=>m.path)??[]),u=new Set(s.harnessRelease.files.map(m=>m.path)),c=[...new Set([...i,...u])].sort((m,H)=>m.localeCompare(H)),d=[];for(let m of c){let H=i.has(m),b=u.has(m),l=r&&H?Ge(r,m):"/dev/null",a=b?Ge(s,m):"/dev/null",p=await Te("git",["diff","--no-index","--no-ext-diff","--unified=80","--",l,a],e.storeDir);if(p.code!==0&&p.code!==1)throw new Error(p.stderr.trim()||p.stdout.trim()||`Unable to diff ${m}.`);if(p.code===0)continue;let f=Oe(xt({patch:p.stdout||p.stderr,filePath:m,baseExists:H,targetExists:b})),R=Pt(f);d.push({path:m,status:H?b?"modified":"deleted":"added",additions:R.additions,deletions:R.deletions,patch:f,content:null})}return{baseRelease:e.request.baseRelease,targetRelease:e.request.targetRelease,filesChanged:d.length,additions:d.reduce((m,H)=>m+H.additions,0),deletions:d.reduce((m,H)=>m+H.deletions,0),files:d}}o(qt,"localHarnessReleaseDiffPayload");async function _t(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t?.currentChannel.release)throw new Error("The selected Harness workspace has no current release to roll back.");if(t.ownerScope.kind!=="personal")throw new Error("Settings rollback currently requires a Personal Harness workspace.");return{receipt:(await De({store:e.store,storeDir:e.storeDir,workspaceId:t.id,targetRelease:e.request.targetRelease,rollbackOf:t.currentChannel.release,receiptId:`rollback-${D({workspaceId:t.id,current:t.currentChannel.release,target:e.request.targetRelease,channelRevision:t.currentChannel.revision}).slice(0,24)}`})).receipt,history:await U(e.store)}}o(_t,"rollbackLocalHarnessFromSettings");async function Dt(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal")throw new Error("Harness proposal review requires the selected Personal workspace.");let r=(await e.store.listHarnessImprovementArtifacts(t.id,"proposal",1e3)).find(l=>l.id===e.request.proposal.id&&l.contentHash===e.request.proposal.contentHash);if(!r)throw new Error("Harness proposal is unavailable or hash-mismatched.");let u=(await e.store.listHarnessImprovementArtifacts(t.id,"run_overlay",1e3)).find(l=>l.id===r.overlay.id&&l.revision===r.overlay.revision&&l.contentHash===r.overlay.contentHash);if(!u)throw new Error("Harness proposal overlay is unavailable or hash-mismatched.");let c=(await e.store.listHarnessImprovementArtifacts(t.id,"targeted_validation",1e3)).filter(l=>l.proposal.id===r.id&&l.proposal.contentHash===r.contentHash),d=new Date().toISOString();if((await e.store.listHarnessImprovementArtifacts(t.id,"apply_receipt",1e3)).filter(l=>l.proposal.id===r.id&&l.proposal.contentHash===r.contentHash).sort((l,a)=>a.createdAt.localeCompare(l.createdAt))[0]?.decision!=="retained")throw new Error("Only a currently retained Harness proposal can be reviewed.");if(e.request.decision==="decline"){let l=ne({schemaVersion:"openpond.improvementApplyReceipt.v1",id:`review-decline-${D(e.request).slice(0,24)}`,proposal:e.request.proposal,beforeOverlay:r.overlay,afterOverlay:null,decision:"declined",boundary:{kind:"turn_paused",eventSequence:0,occurredAt:d},validationRefs:c.map(a=>({id:a.id,contentHash:a.contentHash})),outcomeEvidenceRefs:[],rollbackOf:null,createdAt:d,metadata:{authority:"human_review",reviewer:"local_user"}});return await e.store.saveHarnessImprovementArtifact(t.id,"apply_receipt",l),{receipt:l,history:await U(e.store)}}if(r.route==="memory"){if(!r.validationPlan.filter(R=>R.required).every(R=>c.some(A=>A.validationId===R.id&&A.status==="passed")))throw new Error("The memory proposal cannot be approved until required validations pass.");let a=r.edits.find(R=>R.route==="memory");if(!a)throw new Error("The memory proposal has no memory edit.");let p=Tt(a.target);await e.store.writeHarnessMemory({workspaceId:t.id,key:p,content:a.content,expectedRevision:Ot(r,p),sourceRunId:null,sourceProposal:{id:r.id,contentHash:r.contentHash},createdAt:d});let f=ne({schemaVersion:"openpond.improvementApplyReceipt.v1",id:`review-apply-${r.contentHash.slice(0,24)}`,proposal:e.request.proposal,beforeOverlay:r.overlay,afterOverlay:r.overlay,decision:"applied",boundary:{kind:"turn_paused",eventSequence:0,occurredAt:d},validationRefs:c.map(R=>({id:R.id,contentHash:R.contentHash})),outcomeEvidenceRefs:[],rollbackOf:null,createdAt:d,metadata:{authority:"human_review",reviewer:"local_user",externalState:"harness_memory"}});return await e.store.saveHarnessImprovementArtifact(t.id,"apply_receipt",f),{receipt:f,history:await U(e.store)}}let H=await _e({store:e.store,storeDir:e.storeDir,overlay:u,proposal:r,validations:c,receiptId:`review-advance-${r.contentHash.slice(0,24)}`,reviewAuthority:{reviewer:"local_user"},now:o(()=>d,"now")}),b=ne({schemaVersion:"openpond.improvementApplyReceipt.v1",id:`review-apply-${r.contentHash.slice(0,24)}`,proposal:e.request.proposal,beforeOverlay:r.overlay,afterOverlay:H.receipt.decision==="advanced"?r.overlay:null,decision:H.receipt.decision==="advanced"?"applied":"conflict",boundary:{kind:"turn_paused",eventSequence:0,occurredAt:d},validationRefs:c.map(l=>({id:l.id,contentHash:l.contentHash})),outcomeEvidenceRefs:[],rollbackOf:null,createdAt:d,metadata:{authority:"human_review",reviewer:"local_user",workspaceAdvanceReceipt:{id:H.receipt.id,contentHash:H.receipt.contentHash}}});return await e.store.saveHarnessImprovementArtifact(t.id,"apply_receipt",b),{receipt:H.receipt,history:await U(e.store)}}o(Dt,"reviewLocalHarnessProposalFromSettings");function Tt(e){let t=/^memory\/([a-z0-9][a-z0-9-]{0,119})$/.exec(e.replaceAll("\\","/"));if(!t)throw new Error(`Invalid Harness memory target: ${e}.`);return t[1]}o(Tt,"memoryKeyFromTarget");function Ot(e,t){let s=e.metadata.expectedMemory;if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Memory proposal is missing its expected revision snapshot.");let r=s;if(r.key!==t)throw new Error("Memory proposal expected revision targets a different key.");if(r.revision===null)return null;if(!Number.isInteger(r.revision)||Number(r.revision)<1)throw new Error("Memory proposal expected revision is invalid.");return Number(r.revision)}o(Ot,"expectedMemoryRevision");export{Qe as a,us as b,Us as c,U as d};
7
+ `))r.startsWith("+++")||r.startsWith("---")||(r.startsWith("+")&&(t+=1),r.startsWith("-")&&(s+=1));return{additions:t,deletions:s}}o(Pt,"countHarnessPatchLines");async function qt(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal")throw new Error("Harness release diff requires the selected Personal workspace.");let s=await Ze({store:e.store,workspaceId:t.id,release:e.request.targetRelease,label:"Harness target release"}),r=e.request.baseRelease?await Ze({store:e.store,workspaceId:t.id,release:e.request.baseRelease,label:"Harness base release"}):null,i=new Set(r?.harnessRelease.files.map(m=>m.path)??[]),u=new Set(s.harnessRelease.files.map(m=>m.path)),c=[...new Set([...i,...u])].sort((m,H)=>m.localeCompare(H)),d=[];for(let m of c){let H=i.has(m),b=u.has(m),l=r&&H?Ge(r,m):"/dev/null",a=b?Ge(s,m):"/dev/null",p=await Oe("git",["diff","--no-index","--no-ext-diff","--unified=80","--",l,a],e.storeDir);if(p.code!==0&&p.code!==1)throw new Error(p.stderr.trim()||p.stdout.trim()||`Unable to diff ${m}.`);if(p.code===0)continue;let f=Le(xt({patch:p.stdout||p.stderr,filePath:m,baseExists:H,targetExists:b})),R=Pt(f);d.push({path:m,status:H?b?"modified":"deleted":"added",additions:R.additions,deletions:R.deletions,patch:f,content:null})}return{baseRelease:e.request.baseRelease,targetRelease:e.request.targetRelease,filesChanged:d.length,additions:d.reduce((m,H)=>m+H.additions,0),deletions:d.reduce((m,H)=>m+H.deletions,0),files:d}}o(qt,"localHarnessReleaseDiffPayload");async function _t(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t?.currentChannel.release)throw new Error("The selected Harness workspace has no current release to roll back.");if(t.ownerScope.kind!=="personal")throw new Error("Settings rollback currently requires a Personal Harness workspace.");return{receipt:(await De({store:e.store,storeDir:e.storeDir,workspaceId:t.id,targetRelease:e.request.targetRelease,rollbackOf:t.currentChannel.release,receiptId:`rollback-${D({workspaceId:t.id,current:t.currentChannel.release,target:e.request.targetRelease,channelRevision:t.currentChannel.revision}).slice(0,24)}`})).receipt,history:await U(e.store)}}o(_t,"rollbackLocalHarnessFromSettings");async function Dt(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal")throw new Error("Harness proposal review requires the selected Personal workspace.");let r=(await e.store.listHarnessImprovementArtifacts(t.id,"proposal",1e3)).find(l=>l.id===e.request.proposal.id&&l.contentHash===e.request.proposal.contentHash);if(!r)throw new Error("Harness proposal is unavailable or hash-mismatched.");let u=(await e.store.listHarnessImprovementArtifacts(t.id,"run_overlay",1e3)).find(l=>l.id===r.overlay.id&&l.revision===r.overlay.revision&&l.contentHash===r.overlay.contentHash);if(!u)throw new Error("Harness proposal overlay is unavailable or hash-mismatched.");let c=(await e.store.listHarnessImprovementArtifacts(t.id,"targeted_validation",1e3)).filter(l=>l.proposal.id===r.id&&l.proposal.contentHash===r.contentHash),d=new Date().toISOString();if((await e.store.listHarnessImprovementArtifacts(t.id,"apply_receipt",1e3)).filter(l=>l.proposal.id===r.id&&l.proposal.contentHash===r.contentHash).sort((l,a)=>a.createdAt.localeCompare(l.createdAt))[0]?.decision!=="retained")throw new Error("Only a currently retained Harness proposal can be reviewed.");if(e.request.decision==="decline"){let l=ne({schemaVersion:"openpond.improvementApplyReceipt.v1",id:`review-decline-${D(e.request).slice(0,24)}`,proposal:e.request.proposal,beforeOverlay:r.overlay,afterOverlay:null,decision:"declined",boundary:{kind:"turn_paused",eventSequence:0,occurredAt:d},validationRefs:c.map(a=>({id:a.id,contentHash:a.contentHash})),outcomeEvidenceRefs:[],rollbackOf:null,createdAt:d,metadata:{authority:"human_review",reviewer:"local_user"}});return await e.store.saveHarnessImprovementArtifact(t.id,"apply_receipt",l),{receipt:l,history:await U(e.store)}}if(r.route==="memory"){if(!r.validationPlan.filter(R=>R.required).every(R=>c.some(A=>A.validationId===R.id&&A.status==="passed")))throw new Error("The memory proposal cannot be approved until required validations pass.");let a=r.edits.find(R=>R.route==="memory");if(!a)throw new Error("The memory proposal has no memory edit.");let p=Tt(a.target);await e.store.writeHarnessMemory({workspaceId:t.id,key:p,content:a.content,expectedRevision:Ot(r,p),sourceRunId:null,sourceProposal:{id:r.id,contentHash:r.contentHash},createdAt:d});let f=ne({schemaVersion:"openpond.improvementApplyReceipt.v1",id:`review-apply-${r.contentHash.slice(0,24)}`,proposal:e.request.proposal,beforeOverlay:r.overlay,afterOverlay:r.overlay,decision:"applied",boundary:{kind:"turn_paused",eventSequence:0,occurredAt:d},validationRefs:c.map(R=>({id:R.id,contentHash:R.contentHash})),outcomeEvidenceRefs:[],rollbackOf:null,createdAt:d,metadata:{authority:"human_review",reviewer:"local_user",externalState:"harness_memory"}});return await e.store.saveHarnessImprovementArtifact(t.id,"apply_receipt",f),{receipt:f,history:await U(e.store)}}let H=await _e({store:e.store,storeDir:e.storeDir,overlay:u,proposal:r,validations:c,receiptId:`review-advance-${r.contentHash.slice(0,24)}`,reviewAuthority:{reviewer:"local_user"},now:o(()=>d,"now")}),b=ne({schemaVersion:"openpond.improvementApplyReceipt.v1",id:`review-apply-${r.contentHash.slice(0,24)}`,proposal:e.request.proposal,beforeOverlay:r.overlay,afterOverlay:H.receipt.decision==="advanced"?r.overlay:null,decision:H.receipt.decision==="advanced"?"applied":"conflict",boundary:{kind:"turn_paused",eventSequence:0,occurredAt:d},validationRefs:c.map(l=>({id:l.id,contentHash:l.contentHash})),outcomeEvidenceRefs:[],rollbackOf:null,createdAt:d,metadata:{authority:"human_review",reviewer:"local_user",workspaceAdvanceReceipt:{id:H.receipt.id,contentHash:H.receipt.contentHash}}});return await e.store.saveHarnessImprovementArtifact(t.id,"apply_receipt",b),{receipt:H.receipt,history:await U(e.store)}}o(Dt,"reviewLocalHarnessProposalFromSettings");function Tt(e){let t=/^memory\/([a-z0-9][a-z0-9-]{0,119})$/.exec(e.replaceAll("\\","/"));if(!t)throw new Error(`Invalid Harness memory target: ${e}.`);return t[1]}o(Tt,"memoryKeyFromTarget");function Ot(e,t){let s=e.metadata.expectedMemory;if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Memory proposal is missing its expected revision snapshot.");let r=s;if(r.key!==t)throw new Error("Memory proposal expected revision targets a different key.");if(r.revision===null)return null;if(!Number.isInteger(r.revision)||Number(r.revision)<1)throw new Error("Memory proposal expected revision is invalid.");return Number(r.revision)}o(Ot,"expectedMemoryRevision");export{Qe as a,us as b,Us as c,U as d};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{b as f}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";import{promises as K}from"node:fs";import k from"node:path";function _(t){return!!(t&&typeof t=="object"&&t.kind==="openpond-project-action"&&typeof t.id=="string"&&typeof t.run=="function")}c(_,"isProjectActionDefinition");var I="openpond/project-actions.json",G=f.object({values:f.record(f.string(),f.unknown()).optional().default({}),environment:f.record(f.string(),f.string().trim().min(1)).optional().default({})}).strict(),q=f.object({sourceDirectory:f.string().trim().min(1).optional(),outputDirectory:f.string().trim().min(1).optional(),environment:f.record(f.string(),f.string().trim().min(1)).optional().default({}),connections:f.record(f.string(),G).optional().default({})}).strict();async function R(t){let r=k.resolve(t),e=k.join(r,I),o=await K.readFile(e,"utf8").catch(n=>{if(n.code==="ENOENT")return null;throw n});if(o===null)return q.parse({});let s;try{s=JSON.parse(o)}catch(n){let i=n instanceof Error?n.message:String(n);throw new Error(`${I} is not valid JSON: ${i}`)}return q.parse(s)}c(R,"loadProjectActionConfiguration");function C(t,r=process.env){let e={};for(let[s,n]of Object.entries(t.environment)){let i=r[n];i!==void 0&&(e[s]=i)}let o={};for(let[s,n]of Object.entries(t.connections)){let i={...n.values};for(let[u,a]of Object.entries(n.environment)){let p=r[a];p!==void 0&&(i[u]=p)}o[s]=i}return{environment:e,connections:o}}c(C,"resolveProjectActionRuntime");import{randomUUID as x}from"node:crypto";import{spawn as Z}from"node:child_process";import{promises as E}from"node:fs";import m from"node:path";import{promises as v}from"node:fs";import l from"node:path";import{fileURLToPath as X,pathToFileURL as Y}from"node:url";import{build as Q}from"esbuild";import{promises as z}from"node:fs";import P from"node:path";import{createHash as ct}from"node:crypto";import{promises as at}from"node:fs";import{createRequire as ut}from"node:module";import O from"node:path";function J(t){return f.toJSONSchema(t,{unrepresentable:"any"})}c(J,"projectActionJsonSchema");function tt(t){let r=[],e=new Set,o=c(n=>{if(!e.has(n)){if(n&&(typeof n=="object"||typeof n=="function")&&e.add(n),_(n)){r.push(n);return}if(Array.isArray(n)){n.forEach(o);return}n&&typeof n=="object"&&Object.values(n).forEach(o)}},"visit");t.forEach(o);let s=new Map;for(let n of r){if(s.has(n.id))throw new Error(`Duplicate Project Action id: ${n.id}`);s.set(n.id,n)}return[...s.values()].sort((n,i)=>n.id.localeCompare(i.id))}c(tt,"collectProjectActions");function et(t){return{schemaVersion:"openpond.projectActionRegistry.v1",actions:t.map(ot)}}c(et,"createProjectActionRegistry");function ot(t){return{id:t.id,sourceActionId:t.id,name:t.id,label:t.label,description:t.description,visibility:"default",inputSchema:J(t.inputSchema),outputSchema:J(t.outputSchema),approvalPolicy:{...t.approval,required:t.approval.mode==="always"||t.approval.mode==="sensitive"||t.approval.mode==="writes"&&t.behavior==="write",risk:t.behavior},artifactPolicy:{outputArtifacts:[],persistRunSummary:!0,persistTrace:!0},setupRequirements:[...t.setup],mcp:{enabled:!1},schedulePolicy:{enabled:!1,allowAdHoc:!0},trace:{name:t.id,namespace:"project-actions"},implementation:{type:"openpond-project-action",actionId:t.id,behavior:t.behavior,timeoutMs:t.timeoutMs,concurrency:t.concurrency},invokesModel:t.invokesModel}}c(ot,"toCatalogEntry");var rt=/\.(?:[cm]?[jt]s)$/i,nt=/(?:\.d\.ts|\.test\.[cm]?[jt]s|\.spec\.[cm]?[jt]s)$/i;async function it(t){let r=P.resolve(t.projectRoot),e=P.resolve(r,t.sourceDirectory??"openpond/actions");if(!st(r,e))throw new Error("Project Action source directory must stay inside the Project root.");if(!(await z.stat(e).catch(()=>null))?.isDirectory())throw new Error(`Project Action source directory does not exist: ${e}`);let n=(await B(e)).filter(i=>rt.test(i)&&!nt.test(i)).map(i=>P.relative(r,i).split(P.sep).join("/")).sort();if(n.length===0)throw new Error(`No Project Action files were found under ${e}.`);return{projectRoot:r,sourceRoot:e,files:n}}c(it,"discoverProjectActionFiles");async function B(t){let r=await z.readdir(t,{withFileTypes:!0}),e=[];for(let o of r.sort((s,n)=>s.name.localeCompare(n.name))){if(o.name.startsWith(".")||o.name==="node_modules")continue;let s=P.join(t,o.name);o.isDirectory()?e.push(...await B(s)):o.isFile()&&e.push(s)}return e}c(B,"walk");function st(t,r){let e=P.relative(t,r);return e===""||!e.startsWith("..")&&!P.isAbsolute(e)}c(st,"isWithin");function L(t){return ct("sha256").update(t).digest("hex")}c(L,"sha256");function M(t){return`${JSON.stringify(N(t),null,2)}
2
+ import{A as f}from"./chunk-PF56N7ZY.js";import{a as c}from"./chunk-FTQLQJQV.js";import{promises as K}from"node:fs";import k from"node:path";function _(t){return!!(t&&typeof t=="object"&&t.kind==="openpond-project-action"&&typeof t.id=="string"&&typeof t.run=="function")}c(_,"isProjectActionDefinition");var I="openpond/project-actions.json",G=f.object({values:f.record(f.string(),f.unknown()).optional().default({}),environment:f.record(f.string(),f.string().trim().min(1)).optional().default({})}).strict(),q=f.object({sourceDirectory:f.string().trim().min(1).optional(),outputDirectory:f.string().trim().min(1).optional(),environment:f.record(f.string(),f.string().trim().min(1)).optional().default({}),connections:f.record(f.string(),G).optional().default({})}).strict();async function R(t){let r=k.resolve(t),e=k.join(r,I),o=await K.readFile(e,"utf8").catch(n=>{if(n.code==="ENOENT")return null;throw n});if(o===null)return q.parse({});let s;try{s=JSON.parse(o)}catch(n){let i=n instanceof Error?n.message:String(n);throw new Error(`${I} is not valid JSON: ${i}`)}return q.parse(s)}c(R,"loadProjectActionConfiguration");function C(t,r=process.env){let e={};for(let[s,n]of Object.entries(t.environment)){let i=r[n];i!==void 0&&(e[s]=i)}let o={};for(let[s,n]of Object.entries(t.connections)){let i={...n.values};for(let[u,a]of Object.entries(n.environment)){let p=r[a];p!==void 0&&(i[u]=p)}o[s]=i}return{environment:e,connections:o}}c(C,"resolveProjectActionRuntime");import{randomUUID as x}from"node:crypto";import{spawn as Z}from"node:child_process";import{promises as E}from"node:fs";import m from"node:path";import{promises as v}from"node:fs";import l from"node:path";import{fileURLToPath as X,pathToFileURL as Y}from"node:url";import{build as Q}from"esbuild";import{promises as z}from"node:fs";import P from"node:path";import{createHash as ct}from"node:crypto";import{promises as at}from"node:fs";import{createRequire as ut}from"node:module";import O from"node:path";function J(t){return f.toJSONSchema(t,{unrepresentable:"any"})}c(J,"projectActionJsonSchema");function tt(t){let r=[],e=new Set,o=c(n=>{if(!e.has(n)){if(n&&(typeof n=="object"||typeof n=="function")&&e.add(n),_(n)){r.push(n);return}if(Array.isArray(n)){n.forEach(o);return}n&&typeof n=="object"&&Object.values(n).forEach(o)}},"visit");t.forEach(o);let s=new Map;for(let n of r){if(s.has(n.id))throw new Error(`Duplicate Project Action id: ${n.id}`);s.set(n.id,n)}return[...s.values()].sort((n,i)=>n.id.localeCompare(i.id))}c(tt,"collectProjectActions");function et(t){return{schemaVersion:"openpond.projectActionRegistry.v1",actions:t.map(ot)}}c(et,"createProjectActionRegistry");function ot(t){return{id:t.id,sourceActionId:t.id,name:t.id,label:t.label,description:t.description,visibility:"default",inputSchema:J(t.inputSchema),outputSchema:J(t.outputSchema),approvalPolicy:{...t.approval,required:t.approval.mode==="always"||t.approval.mode==="sensitive"||t.approval.mode==="writes"&&t.behavior==="write",risk:t.behavior},artifactPolicy:{outputArtifacts:[],persistRunSummary:!0,persistTrace:!0},setupRequirements:[...t.setup],mcp:{enabled:!1},schedulePolicy:{enabled:!1,allowAdHoc:!0},trace:{name:t.id,namespace:"project-actions"},implementation:{type:"openpond-project-action",actionId:t.id,behavior:t.behavior,timeoutMs:t.timeoutMs,concurrency:t.concurrency},invokesModel:t.invokesModel}}c(ot,"toCatalogEntry");var rt=/\.(?:[cm]?[jt]s)$/i,nt=/(?:\.d\.ts|\.test\.[cm]?[jt]s|\.spec\.[cm]?[jt]s)$/i;async function it(t){let r=P.resolve(t.projectRoot),e=P.resolve(r,t.sourceDirectory??"openpond/actions");if(!st(r,e))throw new Error("Project Action source directory must stay inside the Project root.");if(!(await z.stat(e).catch(()=>null))?.isDirectory())throw new Error(`Project Action source directory does not exist: ${e}`);let n=(await B(e)).filter(i=>rt.test(i)&&!nt.test(i)).map(i=>P.relative(r,i).split(P.sep).join("/")).sort();if(n.length===0)throw new Error(`No Project Action files were found under ${e}.`);return{projectRoot:r,sourceRoot:e,files:n}}c(it,"discoverProjectActionFiles");async function B(t){let r=await z.readdir(t,{withFileTypes:!0}),e=[];for(let o of r.sort((s,n)=>s.name.localeCompare(n.name))){if(o.name.startsWith(".")||o.name==="node_modules")continue;let s=P.join(t,o.name);o.isDirectory()?e.push(...await B(s)):o.isFile()&&e.push(s)}return e}c(B,"walk");function st(t,r){let e=P.relative(t,r);return e===""||!e.startsWith("..")&&!P.isAbsolute(e)}c(st,"isWithin");function L(t){return ct("sha256").update(t).digest("hex")}c(L,"sha256");function M(t){return`${JSON.stringify(N(t),null,2)}
3
3
  `}c(M,"canonicalJson");function N(t){return Array.isArray(t)?t.map(N):!t||typeof t!="object"?t:Object.fromEntries(Object.entries(t).sort(([r],[e])=>r.localeCompare(e)).map(([r,e])=>[r,N(e)]))}c(N,"sortValue");async function W(t,r){for(let e of r)if(e.required!==!1){if(e.kind==="package")try{ut(O.join(t,"package.json")).resolve(e.name)}catch{throw new Error(`Project Action package is not installed: ${e.name}`)}if(e.kind==="native_tool"&&!await ft(e.name))throw new Error(`Project Action native tool is not installed: ${e.name}`)}}c(W,"validateProjectActionStaticSetup");async function lt(t,r,e){await W(t,r);for(let o of r)if(o.required!==!1){if(o.kind==="connection"&&!(o.name in(e.connections??{})))throw new Error(`Project Action connection is not configured: ${o.name}`);if(o.kind==="env"&&!(o.name in(e.environment??{})))throw new Error(`Project Action environment value is not configured: ${o.name}`)}}c(lt,"validateProjectActionRunSetup");async function ft(t){if(!t.trim()||t.includes("/")||t.includes("\\"))return!1;for(let r of(process.env.PATH??"").split(O.delimiter).filter(Boolean)){let e=process.platform==="win32"?(process.env.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").map(o=>O.join(r,`${t}${o}`)):[O.join(r,t)];for(let o of e)if(await at.access(o).then(()=>!0).catch(()=>!1))return!0}return!1}c(ft,"executableExists");var H=".openpond/actions";async function dt(t){let r=await R(t.projectRoot),e=await it({projectRoot:t.projectRoot,sourceDirectory:t.sourceDirectory??r.sourceDirectory}),o=l.resolve(e.projectRoot,t.outputDirectory??r.outputDirectory??H);mt(e.projectRoot,o),await v.mkdir(o,{recursive:!0});let s=l.join(o,"entry.mjs"),n=l.join(o,"bundle.mjs"),i=l.join(o,"runner.mjs"),u=l.join(o,"action-registry.json"),a=l.join(o,"build-manifest.json"),p=e.files.map((h,A)=>{let T=l.relative(o,l.join(e.projectRoot,h)).split(l.sep).join("/"),V=T.startsWith(".")?T:`./${T}`;return`import * as actionModule${A} from ${JSON.stringify(V)};`}),d=e.files.map((h,A)=>`actionModule${A}`).join(", ");await v.writeFile(s,[...p,`export const projectActionModules = [${d}];`,"export default projectActionModules;",""].join(`
4
4
  `),"utf8"),await Q({entryPoints:[s],outfile:n,bundle:!0,platform:"node",format:"esm",target:"node22.14",sourcemap:!1,legalComments:"none",logLevel:"silent",nodePaths:pt(e.projectRoot)});let g=`openpond_action_build=${Date.now()}_${Math.random().toString(16).slice(2)}`,w=await import(`${Y(n).href}?${g}`),$=tt(w.projectActionModules??w.default??[]);for(let h of $)await W(e.projectRoot,h.setup);let j=et($);await v.writeFile(u,M(j),"utf8"),await v.writeFile(i,ht(),{encoding:"utf8",mode:493});let D=L(await v.readFile(n)),b=L(M(j)),y={schemaVersion:"openpond.projectActionBuild.v1",sourceDirectory:l.relative(e.projectRoot,e.sourceRoot).split(l.sep).join("/"),sourceFiles:e.files,bundleFile:l.basename(n),runnerFile:l.basename(i),registryFile:l.basename(u),bundleHash:D,registryHash:b};return await v.writeFile(a,M(y),"utf8"),await v.rm(s,{force:!0}),{projectRoot:e.projectRoot,outputDirectory:o,bundlePath:n,runnerPath:i,registryPath:u,manifestPath:a,registry:j,manifest:y}}c(dt,"buildProjectActions");function pt(t){let r=[],e=t;for(;;){r.push(l.join(e,"node_modules"));let o=l.dirname(e);if(o===e)break;e=o}return r.push(l.resolve(l.dirname(X(import.meta.url)),"../../../node_modules")),[...new Set(r)]}c(pt,"dependencySearchPaths");function mt(t,r){let e=l.relative(t,r);if(e.startsWith("..")||l.isAbsolute(e))throw new Error("Project Action output directory must stay inside the Project root.")}c(mt,"assertWithinProject");function ht(){return`#!/usr/bin/env node
5
5
  import { promises as fs } from "node:fs";
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{Cb as z,Db as U,Fb as F,Kb as G,Lb as Q,Mb as W,Nb as P,W as S,Z as J,_ as K,ba as q,h as R}from"./chunk-RCA6NGVA.js";import{f as $,m as r}from"./chunk-BIPQCJ5V.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as I}from"./chunk-FTQLQJQV.js";var X=e.object({schemaVersion:e.literal("openpond.humanResultView.v1"),executionId:e.string().min(1),executionHash:e.string().regex(/^[a-f0-9]{64}$/),selection:e.array(S).max(1e4),coverage:e.object({pending:e.number().int().nonnegative(),submitted:e.number().int().nonnegative(),accepted:e.number().int().nonnegative(),rejected:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),results:e.array(e.object({review:S,decision:S.nullable(),attemptIds:e.array(e.string().min(1)).min(1).max(2),mode:e.enum(["individual","pairwise"]),origin:e.enum(["hosted_retained","recorded_evidence","owner_attested_local","native_local"]),status:e.enum(["pending","submitted","accepted","rejected","cancelled"]),grader:S,answers:e.array(J).max(100)}).strict()).max(1e4)}).strict(),M=X.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function Y(o){let m=o.reviews.map(s=>{let i=K.parse(s),{contentHash:p,...f}=i;if(r(f)!==p||!i.evidence.attempts.some(v=>v.experimentId===o.executionId))throw new R("human_result_selection_mismatch",409);return i});if(new Set(m.map(s=>s.id)).size!==m.length)throw new R("human_result_duplicate_review",422);let n=m.map(s=>{let i=s.decisions.at(-1);return{review:{id:s.id,revision:s.revision,contentHash:s.contentHash},decision:i?{id:i.id,revision:i.revision,contentHash:i.contentHash}:null,attemptIds:s.evidence.attempts.map(p=>p.attemptId),mode:s.form.mode,origin:s.evidence.attempts.some(p=>p.localSource?.kind==="owner_attested_local")?"owner_attested_local":s.evidence.attempts.some(p=>p.localSource?.kind==="native_local")?"native_local":s.evidence.attempts.some(p=>p.recordedSource)?"recorded_evidence":"hosted_retained",status:s.status==="accepted"?"accepted":s.status==="rejected"?"rejected":s.status==="cancelled"?"cancelled":s.status==="submitted"?"submitted":"pending",grader:s.evidence.grader,answers:s.status==="accepted"&&i?.outcome==="accept"?i.answers:[]}}),y={pending:0,submitted:0,accepted:0,rejected:0,cancelled:0};for(let s of n)y[s.status]++;return M.parse(q(X.parse({schemaVersion:"openpond.humanResultView.v1",executionId:o.executionId,executionHash:o.executionHash,selection:n.map(s=>s.review),coverage:y,results:n})))}I(Y,"createHumanResultView");function Z(o,m){let n=K.parse(o),{contentHash:y,...s}=n,i=n.decisions.at(-1);if(y!==r(s)||y!==m.reviewHash||n.status!=="accepted"||!i||i.outcome!=="accept"||i.contentHash!==m.decisionHash)throw new R("human_accepted_revision_unavailable",409);let p=i.submissions.map(f=>{let v=n.submissions.find(w=>w.id===f.id&&w.contentHash===f.contentHash);if(!v||v.evidenceHash!==r(n.evidence)||v.formHash!==r(n.form))throw new R("human_accepted_lineage_invalid",409);return{id:v.id,revision:v.revision,contentHash:v.contentHash}});return{schemaVersion:"openpond.acceptedHumanEvidence.v1",scope:n.scope,projectId:n.projectId,review:{id:n.id,revision:n.revision,contentHash:y},sourceOrigins:n.evidence.attempts.map(f=>f.localSource?f.localSource.kind:f.recordedSource?"recorded_evidence":"hosted_retained"),decision:{id:i.id,revision:i.revision,contentHash:i.contentHash},submissions:p,evidence:n.evidence,answers:i.answers,...n.execution?.result?{execution:{id:n.execution.executionId,result:n.execution.result,configurationHash:n.execution.configurationHash}}:{},...i.taskProposalHash?{taskProposal:n.submissions.find(f=>f.taskProposal?.contentHash===i.taskProposalHash).taskProposal}:{}}}I(Z,"acceptedHumanEvidence");var T=e.string().regex(/^[a-f0-9]{64}$/),V=e.string().min(1).max(240),L={feedbackKey:V,criterionId:V},he=e.discriminatedUnion("kind",[e.object({...L,kind:e.literal("normalized_score"),minimum:e.number().finite(),maximum:e.number().finite(),passThreshold:e.number().min(0).max(1).optional()}).strict(),e.object({...L,kind:e.literal("boolean")}).strict(),e.object({...L,kind:e.literal("category")}).strict(),e.object({...L,kind:e.literal("preference_score"),tieScore:e.number().min(0).max(1).nullable()}).strict()]),ee=e.object({execution:$,resultHash:T,reviews:e.array(e.object({review:S,decision:S}).strict()).min(1).max(1e4)}).strict(),ie=e.object({rules:e.array(he).min(1).max(100),baseline:ee,candidate:ee}).strict().superRefine((o,m)=>{new Set(o.rules.map(n=>n.feedbackKey)).size!==o.rules.length&&m.addIssue({code:"custom",message:"Select each Human feedback key once."})}),ne=e.object({manifest:F,result:G}).strict(),te=e.object({id:V,manifestHash:T,resultHash:T}).strict(),ae=e.object({schemaVersion:e.literal("openpond.humanComparisonProjection.v1"),teamId:V,projectId:V,selections:ie,original:e.object({baseline:te,candidate:te}).strict(),humanResults:e.object({baseline:M,candidate:M}).strict(),baseline:ne,candidate:ne}).strict(),se=ae.extend({contentHash:T}).strict();function d(o){throw new R(o,409)}I(d,"fail");async function Ve(o){let m=ie.parse(o.selections);await o.authorize();let n={baseline:P(o.baseline),candidate:P(o.candidate)},y=new Set([m.baseline.execution.id,m.candidate.execution.id]);y.size!==2&&d("human_comparison_distinct_executions_required");let s=0;async function i(H){let l=n[H],j=m[H],_=l.manifest.lineage?.execution;l.manifest.lineage?.humanProjection&&d("human_comparison_recursive_projection"),(!_||r(_)!==r(j.execution)||l.manifest.teamId!==o.teamId)&&d("human_comparison_execution_changed");let E=[],A=new Map;for(let a of j.reviews){let t=await o.readReview(a.review);(t.scope!==o.teamId||t.projectId!==o.projectId||t.kind!=="grade"||t.revision!==a.review.revision||t.id!==a.review.id)&&d("human_comparison_review_scope_changed");let b=Z(t,{reviewHash:a.review.contentHash,decisionHash:a.decision.contentHash});s+=new TextEncoder().encode(JSON.stringify({answers:b.answers,form:t.form})).byteLength,s>4194304&&d("human_comparison_projection_too_large"),r(b.decision)!==r(a.decision)&&d("human_comparison_decision_changed"),t.evidence.attempts.some(k=>!y.has(k.experimentId))&&d("human_comparison_foreign_attempt");let u=t.evidence.attempts.filter(k=>k.experimentId===_.id);u.length!==1&&d("human_comparison_attempt_ambiguous");let c=u[0],g=await o.caseIdentity(c),h=l.result.cases.find(k=>z(k.identity)===z(g));(!h||g.caseId!==c.taskId||!h.traceRef||h.traceRef.contentHash!==c.trace?.contentHash||h.output===null)&&d("human_comparison_receipt_changed");let x=z(g)+":"+t.evidence.grader.id;A.has(x)&&d("human_comparison_duplicate_assessment"),A.set(x,{review:t,accepted:b,attempt:c}),E.push(t)}let D=Y({executionId:_.id,executionHash:_.contentHash,reviews:E});(D.contentHash!==j.resultHash||D.coverage.accepted!==E.length)&&d("human_comparison_result_changed");let N=new Map(m.rules.map(a=>[a.feedbackKey,a])),oe=l.manifest.evaluators.map(a=>{let t=N.get(a.feedbackKey);if(!t)return a;let b=E.filter(c=>c.evidence.grader.id===a.release.id&&String(c.evidence.grader.revision)===String(a.release.revision)&&c.evidence.grader.contentHash===a.release.contentHash).map(c=>c.form);(!b.length||new Set(b.map(r)).size!==1)&&d("human_comparison_form_changed");let u=b[0].criteria.find(c=>c.id===t.criterionId);return u||d("human_comparison_criterion_unavailable"),(t.kind==="normalized_score"&&(u.kind!=="score"||t.minimum!==u.minimum||t.maximum!==u.maximum||t.maximum<=t.minimum)||t.kind==="boolean"&&u.kind!=="boolean"||t.kind==="category"&&u.kind!=="category"||t.kind==="preference_score"&&(u.kind!=="preference"||b[0].mode!=="pairwise"))&&d("human_comparison_rule_changed"),{...a,output:t.kind==="boolean"?"boolean":t.kind==="category"?"category":"score",categories:u.kind==="category"?u.options:[],configurationHash:r({original:a.configurationHash,rule:t,formHash:r(b[0])})}});m.rules.some(a=>!l.manifest.evaluators.some(t=>t.feedbackKey===a.feedbackKey))&&d("human_comparison_grader_unavailable");let{contentHash:ce,...re}=l.manifest,C={originalManifest:{id:l.manifest.id,contentHash:l.manifest.contentHash},selectionHash:r(j),rulesHash:r(m.rules)},B=Q({...re,id:U(C.originalManifest,C.selectionHash,C.rulesHash),lineage:{...l.manifest.lineage,humanProjection:C},evaluators:oe}),de=l.result.cases.map(a=>{let t=a.feedback.map(u=>{let c=N.get(u.feedbackKey);if(!c)return u;let g=A.get(z(a.identity)+":"+u.evaluator.id);(!g||g.review.evidence.grader.contentHash!==u.evaluator.contentHash)&&d("human_comparison_assessment_missing");let h=g.accepted.answers.find(k=>k.criterionId===c.criterionId),x=null;if(h&&!h.abstain&&(c.kind==="normalized_score"&&typeof h.value=="number"&&(x=(h.value-c.minimum)/(c.maximum-c.minimum)),c.kind==="boolean"&&typeof h.value=="boolean"&&(x=h.value),c.kind==="category"&&typeof h.value=="string"&&(x=h.value),c.kind==="preference_score")){let k=g.review.evidence.attempts.findIndex(O=>O.experimentId===_.id&&O.attemptId===g.attempt.attemptId);x=h.value==="tie"?c.tieScore:h.value==="A"||h.value==="B"?h.value===(k===0?"A":"B")?1:0:null}return{...u,status:x===null?"unavailable":"scored",value:x,passed:x===null?null:c.kind==="boolean"?x:c.kind==="normalized_score"&&c.passThreshold!==void 0?Number(x)>=c.passThreshold:null,reasoning:h?.note??null,evidenceRefs:[{id:g.accepted.review.id,contentHash:g.accepted.review.contentHash,mediaType:"application/vnd.openpond.human-review+json",sizeBytes:null},{id:g.accepted.decision.id,contentHash:g.accepted.decision.contentHash,mediaType:"application/vnd.openpond.human-decision+json",sizeBytes:null}]}}),b=a.output!==null&&t.every(u=>u.status==="scored");return{...a,feedback:t,status:b?"completed":a.status,error:b?null:a.error}}),{contentHash:me,...ue}=l.result,le=W({...ue,manifest:{id:B.id,contentHash:B.contentHash},cases:de},B);for(let a of E){let t=await o.readReview({id:a.id,revision:a.revision,contentHash:a.contentHash});(t.contentHash!==a.contentHash||t.status!=="accepted")&&d("human_comparison_review_changed")}return await o.authorize(),{evidence:{manifest:B,result:le},humanResult:D}}I(i,"lane");let p=await i("baseline"),f=await i("candidate");for(let H of[...m.baseline.reviews,...m.candidate.reviews]){let l=await o.readReview(H.review);(l.contentHash!==H.review.contentHash||l.status!=="accepted"||l.decisions.at(-1)?.contentHash!==H.decision.contentHash)&&d("human_comparison_review_changed")}await o.authorize();let v={baseline:{id:n.baseline.manifest.id,manifestHash:n.baseline.manifest.contentHash,resultHash:n.baseline.result.contentHash},candidate:{id:n.candidate.manifest.id,manifestHash:n.candidate.manifest.contentHash,resultHash:n.candidate.result.contentHash}},w=ae.parse({schemaVersion:"openpond.humanComparisonProjection.v1",teamId:o.teamId,projectId:o.projectId,selections:m,original:v,humanResults:{baseline:p.humanResult,candidate:f.humanResult},baseline:p.evidence,candidate:f.evidence});return new TextEncoder().encode(JSON.stringify(w)).byteLength>8388608&&d("human_comparison_projection_too_large"),se.parse({...w,contentHash:r(w)})}I(Ve,"projectAcceptedHumanComparison");function Ce(o,m){let n=se.parse(o),{contentHash:y,...s}=n;y!==r(s)&&d("human_comparison_projection_invalid");for(let i of["baseline","candidate"]){let p=P(n[i]),f=p.manifest.lineage,v=f?.humanProjection,w=n.original[i],H=n.selections[i];(!f||!v||v.originalManifest.id!==w.id||v.originalManifest.contentHash!==w.manifestHash||v.selectionHash!==r(H)||v.rulesHash!==r(n.selections.rules)||r(f.execution)!==r(H.execution)||p.manifest.teamId!==n.teamId||n.humanResults[i].contentHash!==H.resultHash)&&d("human_comparison_projection_lineage_changed");let{contentHash:l,...j}=n.humanResults[i];if((r(j)!==l||j.executionId!==H.execution.id||j.executionHash!==H.execution.contentHash||r(j.selection)!==r(H.reviews.map(_=>_.review)))&&d("human_comparison_human_result_changed"),m){let _=P(m[i]);(_.manifest.lineage?.humanProjection||_.manifest.id!==w.id||_.manifest.contentHash!==w.manifestHash||_.result.contentHash!==w.resultHash||r(_.manifest.lineage?.execution)!==r(H.execution))&&d("human_comparison_original_changed")}}return n}I(Ce,"verifyHumanComparisonProjection");export{M as a,Y as b,ie as c,se as d,Ve as e,Ce as f};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{A as it,B as K,C as A,D as rt,E as at,b as u,f as I,g as Y,h as $,i as L,j as N,k as G,l as T,o as Q,r as Z,s as k,t as x,u as tt,v as M,w as et,x as z,y as q,z as nt}from"./chunk-XW6HGSIT.js";import{d as b}from"./chunk-57TRXBLT.js";import{a as l}from"./chunk-FTQLQJQV.js";import{promises as mt}from"node:fs";async function $t(t,e,n={}){return O(A(t,e.id),e,n)}l($t,"loadWorkspaceState");async function O(t,e,n={}){let{workspacePath:i,repoPath:r}=t,a=it(e,n.gitBaseUrl);await mt.mkdir(i,{recursive:!0});let o=await L(r),s=null;if(!o&&n.clone&&a)try{await rt(r,i,a,n.token),o=!0}catch(m){s=m instanceof Error?m.message:String(m)}if(!o)return n.allowPlainFolder&&await $(r)?{appId:e.id,source:"local_folder",workspacePath:i,repoPath:r,initialized:!0,remoteUrl:null,expectedRemoteUrl:a,currentBranch:null,headCommit:null,upstreamBranch:null,ahead:0,behind:0,diverged:!1,linkedSourceHeadCommit:n.linkedSourceHeadCommit?.trim()||null,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,linkedSourceComparisonError:null,lastFetchAt:null,defaultBranch:e.defaultBranch??null,branches:[],dirty:!1,changedFilesCount:0,untrackedFilesCount:0,error:s,updatedAt:b()}:{appId:e.id,source:I(a),workspacePath:i,repoPath:r,initialized:o,remoteUrl:null,expectedRemoteUrl:a,currentBranch:null,headCommit:null,upstreamBranch:null,ahead:0,behind:0,diverged:!1,linkedSourceHeadCommit:n.linkedSourceHeadCommit?.trim()||null,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,linkedSourceComparisonError:null,lastFetchAt:null,defaultBranch:e.defaultBranch??null,branches:[],dirty:!1,changedFilesCount:0,untrackedFilesCount:0,error:s,updatedAt:b()};let[p,d,h,P,y]=await Promise.all([u("git",["branch","--show-current"],r),u("git",["branch","--format=%(refname:short)"],r),u("git",["status","--porcelain=v1","-b"],r),u("git",["config","--get","remote.origin.url"],r),u("git",["rev-parse","--verify","HEAD"],r)]),E=P.code===0&&Y(P.stdout.trim())||null,W=h.code===0?h.stdout.split(`
2
+ import{A as it,B as K,C as A,D as rt,E as at,b as u,f as I,g as Y,h as $,i as L,j as N,k as G,l as T,o as Q,r as Z,s as k,t as x,u as tt,v as M,w as et,x as z,y as q,z as nt}from"./chunk-XW6HGSIT.js";import{d as b}from"./chunk-FSQWAANK.js";import{a as l}from"./chunk-FTQLQJQV.js";import{promises as mt}from"node:fs";async function $t(t,e,n={}){return O(A(t,e.id),e,n)}l($t,"loadWorkspaceState");async function O(t,e,n={}){let{workspacePath:i,repoPath:r}=t,a=it(e,n.gitBaseUrl);await mt.mkdir(i,{recursive:!0});let o=await L(r),s=null;if(!o&&n.clone&&a)try{await rt(r,i,a,n.token),o=!0}catch(m){s=m instanceof Error?m.message:String(m)}if(!o)return n.allowPlainFolder&&await $(r)?{appId:e.id,source:"local_folder",workspacePath:i,repoPath:r,initialized:!0,remoteUrl:null,expectedRemoteUrl:a,currentBranch:null,headCommit:null,upstreamBranch:null,ahead:0,behind:0,diverged:!1,linkedSourceHeadCommit:n.linkedSourceHeadCommit?.trim()||null,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,linkedSourceComparisonError:null,lastFetchAt:null,defaultBranch:e.defaultBranch??null,branches:[],dirty:!1,changedFilesCount:0,untrackedFilesCount:0,error:s,updatedAt:b()}:{appId:e.id,source:I(a),workspacePath:i,repoPath:r,initialized:o,remoteUrl:null,expectedRemoteUrl:a,currentBranch:null,headCommit:null,upstreamBranch:null,ahead:0,behind:0,diverged:!1,linkedSourceHeadCommit:n.linkedSourceHeadCommit?.trim()||null,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,linkedSourceComparisonError:null,lastFetchAt:null,defaultBranch:e.defaultBranch??null,branches:[],dirty:!1,changedFilesCount:0,untrackedFilesCount:0,error:s,updatedAt:b()};let[p,d,h,P,y]=await Promise.all([u("git",["branch","--show-current"],r),u("git",["branch","--format=%(refname:short)"],r),u("git",["status","--porcelain=v1","-b"],r),u("git",["config","--get","remote.origin.url"],r),u("git",["rev-parse","--verify","HEAD"],r)]),E=P.code===0&&Y(P.stdout.trim())||null,W=h.code===0?h.stdout.split(`
3
3
  `).filter(m=>m.trim()):[],S=et(W.find(m=>m.startsWith("## "))??""),f=W.filter(m=>{if(m.startsWith("## "))return!1;let B=M(m),V=B?k(B.path):null;return!!(V&&!x(V))}),C=f.filter(m=>m.startsWith("??")).length,F=p.code===0&&p.stdout.trim()?p.stdout.trim():null,v=y.code===0&&y.stdout.trim()||null,U=d.code===0?d.stdout.split(`
4
4
  `).map(m=>m.trim()).filter(Boolean):[],c=I(E)==="unknown"&&a?a:E??a,g=await ht(r,n.linkedSourceHeadCommit,v);return{appId:e.id,source:c?I(c):"local_git",workspacePath:i,repoPath:r,initialized:o,remoteUrl:E,expectedRemoteUrl:a,currentBranch:F,headCommit:v,upstreamBranch:S.upstreamBranch,ahead:S.ahead,behind:S.behind,diverged:S.ahead>0&&S.behind>0,linkedSourceHeadCommit:g.linkedSourceHeadCommit,aheadOfLinkedSource:g.aheadOfLinkedSource,behindLinkedSource:g.behindLinkedSource,divergedFromLinkedSource:g.divergedFromLinkedSource,linkedSourceComparisonError:g.error,lastFetchAt:await at(r),defaultBranch:e.defaultBranch??null,branches:U,dirty:f.length>0,changedFilesCount:f.length,untrackedFilesCount:C,error:s,updatedAt:b()}}l(O,"loadWorkspaceStateAtPath");async function ht(t,e,n){let i=e?.trim()||null,r={linkedSourceHeadCommit:i,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,error:null};if(!i||!n||i===n)return r;let a=await u("git",["rev-list","--left-right","--count",`${i}...${n}`],t);if(a.code!==0)return{...r,error:a.stderr.trim()||a.stdout.trim()||"Unable to compare linked source commit."};let[o,s]=a.stdout.trim().split(/\s+/,2),p=Number(o)||0,d=Number(s)||0;return{linkedSourceHeadCommit:i,aheadOfLinkedSource:d,behindLinkedSource:p,divergedFromLinkedSource:d>0&&p>0,error:null}}l(ht,"compareLinkedSourceCommit");async function zt(t,e,n){return gt(A(t,e.id),e,n)}l(zt,"createAndCheckoutBranch");async function gt(t,e,n,i={}){K(n);let r=await O(t,e,{...i,clone:!1});if(!r.initialized)throw new Error(r.error||"Workspace is not initialized");let a=await u("git",["checkout","-b",n.trim()],r.repoPath);if(a.code!==0)throw new Error(a.stderr.trim()||a.stdout.trim()||"Unable to create branch");return O(t,e,{...i,clone:!1})}l(gt,"createAndCheckoutBranchAtPath");async function Ht(t,e,n){return kt(A(t,e.id),e,n)}l(Ht,"checkoutBranch");async function kt(t,e,n,i={}){K(n);let r=await O(t,e,{...i,clone:!1});if(!r.initialized)throw new Error(r.error||"Workspace is not initialized");if(r.dirty&&r.currentBranch!==n.trim())throw new Error("Commit or discard local changes before switching branches");let a=await u("git",["checkout",n.trim()],r.repoPath);if(a.code!==0)throw new Error(a.stderr.trim()||a.stdout.trim()||"Unable to switch branch");return O(t,e,{...i,clone:!1})}l(kt,"checkoutBranchAtPath");import w from"node:path";import{promises as ct}from"node:fs";var wt=6,Wt=60,st=1e4,D=new Map;async function H(t,e,n=wt){let i=Math.max(1,Math.floor(n)),r=new Array(t.length),a=0;async function o(){for(;a<t.length;){let s=a;a+=1,r[s]=await e(t[s],s)}}return l(o,"worker"),await Promise.all(Array.from({length:Math.min(i,t.length)},()=>o())),r}l(H,"mapWorkspaceDiffEntriesWithConcurrency");function Xt(){D.clear()}l(Xt,"clearWorkspaceDiffCacheForTests");async function Jt(t,e,n={}){let{repoPath:i}=A(t,e.id);return Pt(i,e.id,n)}l(Jt,"loadWorkspaceDiff");async function Pt(t,e,n={}){let i=await L(t);if(!i){let c=await nt(t);return{appId:e,repoPath:t,initialized:c.length>0||await $(t),dirty:!1,filesChanged:0,additions:0,deletions:0,repoFiles:c,files:[],error:null,updatedAt:b()}}let r=await X(t),a=r.pathPrefix||".",[o,s]=await Promise.all([u("git",["rev-parse","HEAD"],r.commandCwd),u("git",["status","--porcelain=v1","-uall","--",a],r.commandCwd)]);if(s.code!==0)return{appId:e,repoPath:t,initialized:i,dirty:!1,filesChanged:0,additions:0,deletions:0,repoFiles:[],files:[],error:s.stderr.trim()||s.stdout.trim()||"Unable to read workspace diff",updatedAt:b()};let p=s.stdout.split(`
5
5
  `).map(M).filter(c=>!!c).map(c=>{let g=R(c.path,r.pathPrefix);if(!g)return null;let m=k(g);return m?{...c,path:m}:null}).filter(c=>c?!x(c.path):!1),d=await Ct(t,p),h=Ft({repoPath:t,workspaceId:e,includeFileDetails:!!n.includeFileDetails,head:o.code===0?o.stdout.trim():"unborn",pathPrefix:r.pathPrefix,status:s.stdout,worktreeSignature:d}),P=D.get(h);if(P)return j(P);let y=(await H(p,async c=>c.status==="deleted"||!await Z(t,c.path)?c:null)).filter(c=>!!c),E=await u("git",["ls-files","--",a],r.commandCwd),W=q([...E.code===0?E.stdout.split(`
@@ -9,4 +9,4 @@ import{A as it,B as K,C as A,D as rt,E as at,b as u,f as I,g as Y,h as $,i as L,
9
9
  `).length:0}l(lt,"countTextLines");async function Ct(t,e){return(await H(e,async i=>{if(i.status==="deleted")return`${i.path} ${i.status} deleted`;let r=w.resolve(t,i.path),a=w.resolve(t);if(r!==a&&!r.startsWith(`${a}${w.sep}`))return`${i.path} ${i.status} outside`;try{let o=await ct.lstat(r),s=o.isDirectory()?"dir":o.isFile()?"file":"other";return`${i.path} ${i.status} ${s} ${o.size} ${Math.trunc(o.mtimeMs)} ${Math.trunc(o.ctimeMs)}`}catch{return`${i.path} ${i.status} missing`}})).sort((i,r)=>i.localeCompare(r)).join(`
10
10
  `)}l(Ct,"workspaceDiffWorktreeSignature");function Ft(t){return JSON.stringify(t)}l(Ft,"workspaceDiffCacheKey");function bt(t,e){for(D.has(t)&&D.delete(t),D.set(t,j(e));D.size>Wt;){let n=D.keys().next().value;if(!n)break;D.delete(n)}}l(bt,"writeWorkspaceDiffCache");function j(t){return{...t,repoFiles:[...t.repoFiles],files:t.files.map(e=>({...e}))}}l(j,"cloneWorkspaceDiffSummary");async function X(t){let e=await u("git",["rev-parse","--show-toplevel"],t);if(e.code!==0)return{commandCwd:t,pathPrefix:""};let n=e.stdout.trim();if(!n)return{commandCwd:t,pathPrefix:""};let i=w.relative(w.resolve(n),w.resolve(t)),r=k(i.replace(/\\/g,"/"))??"";return{commandCwd:n,pathPrefix:r}}l(X,"gitWorkspaceContext");function R(t,e){let n=k(t);return n?e?n===e?null:n.startsWith(`${e}/`)?n.slice(e.length+1):null:n:null}l(R,"pathInWorkspace");function J(t,e){return e?`${e}/${t}`:t}l(J,"gitPathForWorkspacePath");function dt(t,e){let n=new Map;for(let[i,r]of t){let a=R(i,e);a&&n.set(a,r)}return n}l(dt,"scopedNumstat");async function xt(t,e){if(e.length===0)return new Map;let n=t.pathPrefix||".",i=await u("git",["-c","core.quotePath=false","diff","--no-ext-diff","--unified=80","HEAD","--",n],t.commandCwd);return i.code!==0?new Map:ut(i.stdout||i.stderr,t.pathPrefix)}l(xt,"loadTrackedGitPatchMap");function ut(t,e){let n=new Map;for(let i of t.split(/(?=^diff --git )/m)){if(!i.trim())continue;let r=yt(i,e);r&&n.set(r,i)}return n}l(ut,"parseGitPatchStreamByWorkspacePath");function yt(t,e){let n=t.split(`
11
11
  `);for(let o of n){let s=ot(o,"+++ ");if(s)return R(s,e)}for(let o of n){let s=ot(o,"--- ");if(s)return R(s,e)}for(let o of n)if(o.startsWith("rename to ")){let s=k(o.slice(10).trim());if(s)return R(s,e)}let i=n.find(o=>o.startsWith("diff --git "));if(!i)return null;let r=i.lastIndexOf(" b/");if(r<0)return null;let a=k(i.slice(r+3).trim());return a?R(a,e):null}l(yt,"workspacePathForGitPatchChunk");function ot(t,e){if(!t.startsWith(e))return null;let n=t.slice(e.length).trim();if(!n||n==="/dev/null")return null;let i=n.startsWith("a/")||n.startsWith("b/")?n.slice(2):n;return k(i)}l(ot,"gitPatchMarkerPath");async function Yt(t,e,n){let{repoPath:i}=A(t,e.id);return Dt(i,n)}l(Yt,"loadWorkspaceFile");async function Qt(t,e,n){let{repoPath:i}=A(t,e.id);return Et(i,n)}l(Qt,"loadWorkspaceImageFile");async function Et(t,e){let n=await L(t),i=ft(t,e);if(!i)throw new Error("Image not found");if(n&&!await tt(t,i))throw new Error("Image not found");let r=await Q(t,i);if(!r)throw new Error("Image not found");return r}l(Et,"loadWorkspaceImageFileAtPath");function ft(t,e){let n=At(e);if(!n)return null;if(!w.isAbsolute(n))return k(n);let i=w.relative(w.resolve(t),w.resolve(n));return!i||i.startsWith("..")||w.isAbsolute(i)?null:k(i)}l(ft,"normalizeWorkspaceFileRequestPath");function At(t){let e=t.trim();if(!e)return null;e=e.replace(/^['"`]+|['"`]+$/g,"");let n=e.indexOf("#");n>=0&&(e=e.slice(0,n));let i=e.indexOf("?");if(i>=0&&(e=e.slice(0,i)),e.startsWith("file://"))try{e=decodeURIComponent(new URL(e).pathname)}catch{e=e.replace(/^file:\/\//,"")}return e.trim()||null}l(At,"cleanWorkspaceFileRequestPath");async function Dt(t,e){let n=await L(t),i=ft(t,e);if(!i)throw new Error("File not found");if(x(i))throw new Error("File not found");if(n){let o=await Rt(t,i);if(o){if(o.content!==null||o.status==="deleted")return o;let s=await T(t,i);return s===null?o:{...o,content:s}}}let r=i,a=await G(t,r)??await T(t,r);if(a===null){let o=await vt(t,i);o&&(r=o,a=await G(t,r))}if(a===null)throw new Error("File not found");return{path:r,status:"unchanged",additions:0,deletions:0,patch:"",content:a}}l(Dt,"loadWorkspaceFileAtPath");async function Rt(t,e){let n=await X(t),i=J(e,n.pathPrefix),r=await u("git",["status","--porcelain=v1","-uall","--",i],n.commandCwd);if(r.code!==0)return null;let a=r.stdout.split(`
12
- `).map(M).filter(s=>!!s).map(s=>{let p=R(s.path,n.pathPrefix);if(!p)return null;let d=k(p);return d?{...s,path:d}:null}).find(s=>!!(s&&s.path===e));if(!a)return null;let o=a.status==="untracked"?{additions:lt(await G(t,a.path)),deletions:0}:await Bt(n,a.path);return pt(t,a,n,o)}l(Rt,"loadGitWorkspaceFileAtPath");async function vt(t,e){if(e.includes("/")||!Lt(e))return null;let n=e.toLowerCase(),i=[],r=[{absolutePath:t,prefix:""}],a=0;for(;r.length>0&&a<st;){let s=r.shift(),p;try{p=await ct.readdir(s.absolutePath,{withFileTypes:!0})}catch{continue}p.sort((d,h)=>d.name.localeCompare(h.name));for(let d of p){if(a>=st)break;let h=s.prefix?`${s.prefix}/${d.name}`:d.name;if(x(h))continue;a+=1;let P=w.join(s.absolutePath,d.name);d.isDirectory()?r.push({absolutePath:P,prefix:h}):d.isFile()&&d.name.toLowerCase()===n&&i.push(h)}}if(i.length===1)return i[0]??null;let o=i.filter(s=>s.startsWith("docs/working-docs/"));return o.length===1?o[0]??null:null}l(vt,"resolveExplicitMarkdownBasenamePath");function Lt(t){return/\.(?:md|markdown|mdx)$/i.test(t)}l(Lt,"isMarkdownWorkspacePath");async function pt(t,e,n,i,r={}){let a=r.content!==void 0?r.content:e.status==="deleted"?null:await G(t,e.path),o=J(e.path,n.pathPrefix),s=e.status==="untracked"?["diff","--no-index","--unified=80","--","/dev/null",w.join(t,e.path)]:["diff","--no-ext-diff","--unified=80","HEAD","--",o],p=r.patch??"";if(r.patch===null||r.patch===void 0){let d=await u("git",s,n.commandCwd);p=d.stdout||d.stderr}return{path:e.path,status:e.status,additions:i.additions,deletions:i.deletions,patch:N(p),content:a}}l(pt,"loadGitWorkspaceFileDetail");async function Bt(t,e){let n=J(e,t.pathPrefix),i=await u("git",["diff","--numstat","HEAD","--",n],t.commandCwd);return i.code!==0?{additions:0,deletions:0}:dt(z(i.stdout),t.pathPrefix).get(e)??{additions:0,deletions:0}}l(Bt,"gitNumstatForFile");export{$t as a,O as b,zt as c,gt as d,Ht as e,kt as f,H as g,Xt as h,Jt as i,Pt as j,Vt as k,Yt as l,Qt as m,Et as n,Dt as o};
12
+ `).map(M).filter(s=>!!s).map(s=>{let p=R(s.path,n.pathPrefix);if(!p)return null;let d=k(p);return d?{...s,path:d}:null}).find(s=>!!(s&&s.path===e));if(!a)return null;let o=a.status==="untracked"?{additions:lt(await G(t,a.path)),deletions:0}:await Bt(n,a.path);return pt(t,a,n,o)}l(Rt,"loadGitWorkspaceFileAtPath");async function vt(t,e){if(e.includes("/")||!Lt(e))return null;let n=e.toLowerCase(),i=[],r=[{absolutePath:t,prefix:""}],a=0;for(;r.length>0&&a<st;){let s=r.shift(),p;try{p=await ct.readdir(s.absolutePath,{withFileTypes:!0})}catch{continue}p.sort((d,h)=>d.name.localeCompare(h.name));for(let d of p){if(a>=st)break;let h=s.prefix?`${s.prefix}/${d.name}`:d.name;if(x(h))continue;a+=1;let P=w.join(s.absolutePath,d.name);d.isDirectory()?r.push({absolutePath:P,prefix:h}):d.isFile()&&d.name.toLowerCase()===n&&i.push(h)}}if(i.length===1)return i[0]??null;let o=i.filter(s=>s.startsWith("docs/working-docs/"));return o.length===1?o[0]??null:null}l(vt,"resolveExplicitMarkdownBasenamePath");function Lt(t){return/\.(?:md|markdown|mdx)$/i.test(t)}l(Lt,"isMarkdownWorkspacePath");async function pt(t,e,n,i,r={}){let a=r.content!==void 0?r.content:e.status==="deleted"?null:await G(t,e.path),o=J(e.path,n.pathPrefix),s=e.status==="untracked"?["diff","--no-index","--unified=80","--","/dev/null",w.join(t,e.path)]:["diff","--no-ext-diff","--unified=80","HEAD","--",o],p=r.patch??"";if(r.patch===null||r.patch===void 0){let d=await u("git",s,n.commandCwd);p=d.stdout||d.stderr}return{path:e.path,status:e.status,additions:i.additions,deletions:i.deletions,patch:N(p),content:a}}l(pt,"loadGitWorkspaceFileDetail");async function Bt(t,e){let n=J(e,t.pathPrefix),i=await u("git",["diff","--numstat","HEAD","--",n],t.commandCwd);return i.code!==0?{additions:0,deletions:0}:dt(z(i.stdout),t.pathPrefix).get(e)??{additions:0,deletions:0}}l(Bt,"gitNumstatForFile");export{H as a,Xt as b,Jt as c,Pt as d,Vt as e,Yt as f,Qt as g,Et as h,Dt as i,$t as j,O as k,zt as l,gt as m,Ht as n,kt as o};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{D as vr,H as Ir,K as Lr,L as Or,M as Cr,V as ee,X as nt,e as yr,j as wr,q as Tr,r as Er,s as Ar,t as br,u as Sr}from"./chunk-Z4Z5UOZM.js";import{d as _r}from"./chunk-FFRFSDBM.js";import{c as y,d as fr,e as P,f as mr,g as hr,h as _,i as Fe,j as gr,k as Rt,l as Oe,m as Nr,n as D,o as me,p as H,r as V}from"./chunk-H7IWJN7L.js";import{b as d}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";import{randomUUID as Mt,createHash as oo}from"node:crypto";import{promises as $,constants as Pt}from"node:fs";import je from"node:path";var io="missing";function G(e){return e===null?io:oo("sha256").update(e).digest("hex")}c(G,"fileRevision");async function b(e){Oe(je.dirname(e));try{let t=await $.lstat(e);if(!t.isFile()||t.isSymbolicLink())throw new y({code:"UNSAFE_STORAGE_PATH",path:e,message:"Storage must be a regular file, not a symbolic link.",action:"Use a regular file in the OpenPond home."});return await $.readFile(e,"utf8")}catch(t){if(P(t))return null;throw t}}c(b,"readOptionalFile");async function U(e){if(Oe(e),await $.mkdir(e,{recursive:!0,mode:448}),(await $.lstat(e)).isSymbolicLink())throw new y({code:"UNSAFE_STORAGE_PATH",path:e,message:"Managed storage directories cannot be symbolic links.",action:"Select a regular local storage folder."});Rt(e)}c(U,"privateDirectory");async function I(e,t,r={}){let n=je.dirname(e);r.privateParent===!1?await $.mkdir(n,{recursive:!0,mode:448}):await U(n);let o=await $.lstat(e).catch(a=>{if(P(a))return null;throw a});if(o&&(!o.isFile()||o.isSymbolicLink()))throw new y({code:"UNSAFE_STORAGE_PATH",path:e,message:"Cannot replace a non-regular storage file.",action:"Use a regular file in the OpenPond home."});let i=je.join(n,`.${je.basename(e)}.${process.pid}.${Mt()}.tmp`);try{let a=await $.open(i,Pt.O_CREAT|Pt.O_EXCL|Pt.O_WRONLY,384);try{await a.writeFile(t),await a.sync()}finally{await a.close()}if(await $.rename(i,e),process.platform!=="win32"){let s=await $.open(n,"r");try{await s.sync()}finally{await s.close()}}}finally{await $.rm(i,{force:!0})}}c(I,"atomicWriteFile");async function L(e,t,r=1e4){let n=await ye(e,r);try{return await t()}finally{await n()}}c(L,"withFileLock");async function ao(e,t){let r=`${e}.${process.pid}.${Mt()}.candidate`;try{let n=await $.open(r,"wx",384);try{await n.writeFile(t),await n.sync()}finally{await n.close()}await $.link(r,e)}finally{await $.rm(r,{force:!0})}}c(ao,"publishLock");async function ye(e,t=1e4){await U(je.dirname(e));let r=`${e}.lock`,n={pid:process.pid,nonce:Mt()},o=JSON.stringify(n),i=Date.now()+t;for(;;)try{await ao(r,o);break}catch(a){if(a.code!=="EEXIST")throw a;let s=await b(r);if(s){let l;try{l=JSON.parse(s).pid}catch{}if(typeof l=="number"&&Number.isInteger(l)&&l>0&&so(l)){let p=await ye(`${r}.reclaim`,Math.max(0,i-Date.now()));try{await b(r)===s&&await $.unlink(r).catch(f=>{if(!P(f))throw f})}finally{await p()}}}if(Date.now()>=i)throw new y({code:"STORAGE_BUSY",path:e,message:"Another OpenPond process is updating this storage.",action:"Wait for that process to finish, then retry. Do not delete a live process lock."});await new Promise(l=>setTimeout(l,25))}return async()=>{await b(r)===o&&await $.unlink(r)}}c(ye,"acquireFileLock");function so(e){try{return process.kill(e,0),!1}catch(t){return t.code==="ESRCH"}}c(so,"processIsDead");async function M(e,t){let r=await b(e);if(r===null)return t();try{return JSON.parse(r)}catch(n){throw new y({code:"INVALID_STORAGE_JSON",path:e,message:"A storage file contains invalid JSON.",action:"Restore a verified backup or correct the file, then retry."},{cause:n})}}c(M,"readJsonFile");async function la(e,t,r){return L(e,async()=>{let n=await r(await M(e,t));return await I(e,`${JSON.stringify(n,null,2)}
2
+ import{D as vr,H as Ir,K as Lr,L as Or,M as Cr,V as ee,X as nt,e as yr,j as wr,q as Tr,r as Er,s as Ar,t as br,u as Sr}from"./chunk-SG6JZ7HD.js";import{d as _r}from"./chunk-ON2RNOCG.js";import{c as y,d as fr,e as P,f as mr,g as hr,h as _,i as Fe,j as gr,k as Rt,l as Oe,m as Nr,n as D,o as me,p as H,r as V}from"./chunk-H7IWJN7L.js";import{A as d}from"./chunk-PF56N7ZY.js";import{a as c}from"./chunk-FTQLQJQV.js";import{randomUUID as Mt,createHash as oo}from"node:crypto";import{promises as $,constants as Pt}from"node:fs";import je from"node:path";var io="missing";function G(e){return e===null?io:oo("sha256").update(e).digest("hex")}c(G,"fileRevision");async function b(e){Oe(je.dirname(e));try{let t=await $.lstat(e);if(!t.isFile()||t.isSymbolicLink())throw new y({code:"UNSAFE_STORAGE_PATH",path:e,message:"Storage must be a regular file, not a symbolic link.",action:"Use a regular file in the OpenPond home."});return await $.readFile(e,"utf8")}catch(t){if(P(t))return null;throw t}}c(b,"readOptionalFile");async function U(e){if(Oe(e),await $.mkdir(e,{recursive:!0,mode:448}),(await $.lstat(e)).isSymbolicLink())throw new y({code:"UNSAFE_STORAGE_PATH",path:e,message:"Managed storage directories cannot be symbolic links.",action:"Select a regular local storage folder."});Rt(e)}c(U,"privateDirectory");async function I(e,t,r={}){let n=je.dirname(e);r.privateParent===!1?await $.mkdir(n,{recursive:!0,mode:448}):await U(n);let o=await $.lstat(e).catch(a=>{if(P(a))return null;throw a});if(o&&(!o.isFile()||o.isSymbolicLink()))throw new y({code:"UNSAFE_STORAGE_PATH",path:e,message:"Cannot replace a non-regular storage file.",action:"Use a regular file in the OpenPond home."});let i=je.join(n,`.${je.basename(e)}.${process.pid}.${Mt()}.tmp`);try{let a=await $.open(i,Pt.O_CREAT|Pt.O_EXCL|Pt.O_WRONLY,384);try{await a.writeFile(t),await a.sync()}finally{await a.close()}if(await $.rename(i,e),process.platform!=="win32"){let s=await $.open(n,"r");try{await s.sync()}finally{await s.close()}}}finally{await $.rm(i,{force:!0})}}c(I,"atomicWriteFile");async function L(e,t,r=1e4){let n=await ye(e,r);try{return await t()}finally{await n()}}c(L,"withFileLock");async function ao(e,t){let r=`${e}.${process.pid}.${Mt()}.candidate`;try{let n=await $.open(r,"wx",384);try{await n.writeFile(t),await n.sync()}finally{await n.close()}await $.link(r,e)}finally{await $.rm(r,{force:!0})}}c(ao,"publishLock");async function ye(e,t=1e4){await U(je.dirname(e));let r=`${e}.lock`,n={pid:process.pid,nonce:Mt()},o=JSON.stringify(n),i=Date.now()+t;for(;;)try{await ao(r,o);break}catch(a){if(a.code!=="EEXIST")throw a;let s=await b(r);if(s){let l;try{l=JSON.parse(s).pid}catch{}if(typeof l=="number"&&Number.isInteger(l)&&l>0&&so(l)){let p=await ye(`${r}.reclaim`,Math.max(0,i-Date.now()));try{await b(r)===s&&await $.unlink(r).catch(f=>{if(!P(f))throw f})}finally{await p()}}}if(Date.now()>=i)throw new y({code:"STORAGE_BUSY",path:e,message:"Another OpenPond process is updating this storage.",action:"Wait for that process to finish, then retry. Do not delete a live process lock."});await new Promise(l=>setTimeout(l,25))}return async()=>{await b(r)===o&&await $.unlink(r)}}c(ye,"acquireFileLock");function so(e){try{return process.kill(e,0),!1}catch(t){return t.code==="ESRCH"}}c(so,"processIsDead");async function M(e,t){let r=await b(e);if(r===null)return t();try{return JSON.parse(r)}catch(n){throw new y({code:"INVALID_STORAGE_JSON",path:e,message:"A storage file contains invalid JSON.",action:"Restore a verified backup or correct the file, then retry."},{cause:n})}}c(M,"readJsonFile");async function la(e,t,r){return L(e,async()=>{let n=await r(await M(e,t));return await I(e,`${JSON.stringify(n,null,2)}
3
3
  `),n})}c(la,"updateJsonFile");var F=d.string().trim().min(1),ot=d.string().trim().max(4096),it=F.max(200).refine(e=>!["__proto__","prototype","constructor"].includes(e),"Reserved identifier"),at=F.max(2048).refine(e=>{try{let t=new URL(e);return["http:","https:"].includes(t.protocol)&&!t.username&&!t.password&&!t.hash&&![...t.searchParams.keys()].some(r=>/(?:token|secret|password|authorization|api[_-]?key|credential)/i.test(r))}catch{return!1}},"Use an HTTP endpoint without embedded credentials; configure authentication through a credential reference."),kr=d.strictObject({provider_id:_r,model_id:F.max(300)}),Ut=d.discriminatedUnion("mode",[d.strictObject({mode:d.literal("inherit")}),d.strictObject({mode:d.literal("custom"),ref:kr})]),Rr=d.discriminatedUnion("source",[d.strictObject({source:d.literal("secret"),id:it}),d.strictObject({source:d.literal("env"),name:F.regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(160)})]),co=d.strictObject({handle:F,base_url:at.optional(),api_base_url:at.optional(),chat_api_base_url:at.optional(),environment:F.optional(),credential:Rr.optional(),enabled:d.boolean().optional()}),lo=yr.omit({registryId:!0,version:!0,installUrl:!0,authMethodId:!0}).extend({registryId:F.max(160).optional(),version:F.max(200).optional(),installUrl:d.string().url().optional(),authMethodId:F.max(200).optional()}),uo=d.strictObject({acp:lo.optional(),enabled:d.boolean().optional(),binary_path:F.max(4096).optional(),source_home:F.max(4096).optional(),native_mode:F.max(200).optional(),native_options:d.record(d.string().max(200),d.string().max(300)).optional(),base_url:at.optional(),default_model:F.max(300).optional(),model_overrides:d.array(F.max(300)).max(500).optional(),credential:Rr.optional()}),Dt=d.strictObject({mode:d.enum(["auto","disabled","custom"]).optional(),custom_command:ot.optional()}),xr=d.union([d.number().int().min(1).max(32),d.literal("unlimited")]),po=d.strictObject({enabled:d.boolean().optional(),model:Ut.optional(),isolation_mode:Er.optional(),max_concurrent_runs:d.number().int().min(1).max(16).optional(),tool_policy:Ar.optional(),background:d.boolean().optional(),peer_messages:br.optional()}),fo=d.strictObject({source:d.enum(["local","github","openpond_git"]),repository_id:F,profile_id:F}),Ft=d.strictObject({schema_version:d.literal(1),chat:d.strictObject({model:kr.optional(),steer_active_responses:d.boolean().optional()}).optional(),codex:d.strictObject({reasoning_effort:Cr.optional()}).optional(),permissions:d.strictObject({command_access:Or.optional(),codex_mode:Lr.optional()}).optional(),context_compaction:d.strictObject({auto_enabled:d.boolean().optional(),trigger_percent:d.number().int().min(50).max(95).optional(),summary_model:d.literal("same_model").optional()}).optional(),subagents:d.strictObject({enabled:d.boolean().optional(),delegation_mode:Sr.optional(),default_model:Ut.optional(),max_concurrent_runs:d.number().int().min(1).max(32).optional(),max_concurrent_runs_per_provider:xr.optional(),max_concurrent_runs_per_workspace_target:xr.optional(),roles:d.record(Tr,po).refine(e=>Object.keys(e).length<=64,"At most 64 roles").optional()}).optional(),projects:d.strictObject({branch_prefix:d.string().trim().max(48).optional(),new_project_directory:ot.optional()}).optional(),defaults:d.strictObject({account_id:it.optional(),team_id:F.max(191).optional(),profile_ref:fo.optional()}).optional(),editor:d.strictObject({language_servers:d.enum(["auto","off"]).optional(),diagnostics_while_editing:d.boolean().optional(),check_on_save:d.boolean().optional(),languages:d.strictObject({typescript:Dt.optional(),python:Dt.optional(),rust:Dt.optional()}).optional()}).optional(),training:d.strictObject({default_model:Ut.optional(),creation_mode:d.enum(["defaults","customize"]).optional(),auto_approve_evidence:d.boolean().optional()}).optional(),notifications:d.strictObject({team_chat:d.enum(["all","direct_mentions","none"]).optional()}).optional(),ui:d.strictObject({advanced_workspace_controls:d.boolean().optional()}).optional(),runtime:d.strictObject({execution_mode:d.enum(["local","hosted"]).optional(),mode:d.enum(["general","builder"]).optional()}).optional(),personalization:d.strictObject({active:F.regex(/^(builtin|custom):[a-zA-Z0-9_-]+$/).optional(),mode:d.enum(["enabled","disabled"]).optional(),user_instructions:ot.optional()}).optional(),storage:d.strictObject({datasets_dir:ot.optional()}).optional(),accounts:d.record(it,co).optional(),providers:d.record(it,uo).optional()});function oe(e,t="user"){let r=Ft.parse(e);if(t==="project"){let n=new Set(["schema_version","chat","codex","permissions","context_compaction","subagents","projects","editor"]);for(let o of Object.keys(r))if(!n.has(o))throw new Error(`Setting ${o} is not permitted in project configuration.`);if(r.projects?.new_project_directory!==void 0)throw new Error("projects.new_project_directory is a user-only setting.");for(let o of Object.values(r.editor?.languages??{}))if(o.custom_command!==void 0)throw new Error("Custom editor commands must be configured in user settings.");if(r.permissions?.command_access==="full-access"||r.permissions?.codex_mode==="full-access"||r.permissions?.codex_mode==="auto-review")throw new Error("Project configuration can restrict permissions but cannot grant additional access.");for(let o of Object.values(r.subagents?.roles??{}))if(o.tool_policy&&o.tool_policy!=="read_only")throw new Error("Project roles cannot grant additional tool access.")}return r}c(oe,"validateConfigDocument");import{promises as Wt}from"node:fs";import Ce from"node:path";var st={ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],AwaitExpression:["argument"],BinaryExpression:["left","right"],BlockStatement:["body"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ExportAllDeclaration:["exported","source","attributes"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ExpressionStatement:["expression"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportExpression:["source","options"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:[],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXOpeningFragment:[],JSXSpreadAttribute:["argument"],JSXSpreadChild:["expression"],JSXText:[],LabeledStatement:["label","body"],Literal:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},mo=Object.keys(st);for(let e of mo)Object.freeze(st[e]);Object.freeze(st);var Pr=st;function Mr(e){let t=Object.assign({},Pr);for(let r of Object.keys(e))if(Object.hasOwn(t,r)){let n=new Set(e[r]);for(let o of t[r])n.add(o);t[r]=Object.freeze(Array.from(n))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)}c(Mr,"unionWith");function we(e){return e[e.length-1]??null}c(we,"last");function Gt(e){return e.type==="TOMLBare"?e.name:e.value}c(Gt,"toKeyName");var Jr=class{static{c(this,"TOMLVerImpl")}constructor(e,t){this.major=e,this.minor=t}lt(e,t){return this.major<e||this.major===e&&this.minor<t}gte(e,t){return this.major>e||this.major===e&&this.minor>=t}},Dr=new Jr(1,0),He=new Jr(1,1),ho=He,go={"1.0":Dr,"1.0.0":Dr,"1.1":He,"1.1.0":He,latest:He,next:He};function zr(e){return e&&go[e]||ho}c(zr,"getTOMLVer");var Ur={"unterminated-string":"Unterminated string constant","unterminated-table-key":"Unterminated table-key","unterminated-array":"Unterminated array","unterminated-inline-table":"Unterminated inline table","missing-key":"Empty bare keys are not allowed","missing-newline":"Must be a newline","missing-equals-sign":"Expected equal (=) token","missing-value":"Unspecified values are invalid","missing-comma":"Expected comma (,) token","dupe-keys":"Defining a key multiple times is invalid","unexpected-char":"Unexpected character","unexpected-token":"Unexpected token","invalid-control-character":"Control characters (codes < 0x1f and 0x7f) are not allowed","invalid-comment-character":"Invalid code point {{cp}} within comments","invalid-key-value-newline":"The key, equals sign, and value must be on the same line","invalid-inline-table-newline":"No newlines are allowed between the curly braces unless they are valid within a value","invalid-underscore":"Underscores are allowed between digits","invalid-space":"Unexpected spaces","invalid-three-quotes":"Three or more quotes are not permitted","invalid-date":"Unexpected invalid date","invalid-time":"Unexpected invalid time","invalid-leading-zero":"Leading zeros are not allowed","invalid-trailing-comma-in-inline-table":"Trailing comma is not permitted in an inline table","invalid-char-in-escape-sequence":"Invalid character in escape sequence","invalid-consecutive-dots-in-key":"Consecutive dots are not permitted in keys","invalid-code-point":"Invalid code point {{cp}}","invalid-trailing-dot-in-key":"Keys cannot end with a dot","invalid-leading-dot-in-key":"Keys cannot start with a dot"};function _o(e,t){return t?Ur[e].replace(/\{\{(.*?)\}\}/gu,(r,n)=>n in t?t[n]:`{{${n}}}`):Ur[e]}c(_o,"getMessage");var Wr=class extends SyntaxError{static{c(this,"ParseError")}constructor(e,t,r,n,o){super(_o(e,o)),this.index=t,this.lineNumber=r,this.column=n}},u={EOF:-1,NULL:0,SOH:1,BACKSPACE:8,TABULATION:9,LINE_FEED:10,FORM_FEED:12,CARRIAGE_RETURN:13,ESCAPE:27,SO:14,US:31,SPACE:32,QUOTATION_MARK:34,HASH:35,SINGLE_QUOTE:39,PLUS_SIGN:43,COMMA:44,DASH:45,DOT:46,DIGIT_0:48,DIGIT_1:49,DIGIT_2:50,DIGIT_3:51,DIGIT_7:55,DIGIT_9:57,COLON:58,EQUALS_SIGN:61,LATIN_CAPITAL_A:65,LATIN_CAPITAL_E:69,LATIN_CAPITAL_F:70,LATIN_CAPITAL_T:84,LATIN_CAPITAL_U:85,LATIN_CAPITAL_Z:90,LEFT_BRACKET:91,BACKSLASH:92,RIGHT_BRACKET:93,UNDERSCORE:95,LATIN_SMALL_A:97,LATIN_SMALL_B:98,LATIN_SMALL_E:101,LATIN_SMALL_F:102,LATIN_SMALL_I:105,LATIN_SMALL_L:108,LATIN_SMALL_N:110,LATIN_SMALL_O:111,LATIN_SMALL_R:114,LATIN_SMALL_S:115,LATIN_SMALL_T:116,LATIN_SMALL_U:117,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,LEFT_BRACE:123,RIGHT_BRACE:125,TILDE:126,DELETE:127,PAD:128,SUPERSCRIPT_TWO:178,SUPERSCRIPT_THREE:179,SUPERSCRIPT_ONE:185,VULGAR_FRACTION_ONE_QUARTER:188,VULGAR_FRACTION_THREE_QUARTERS:190,LATIN_CAPITAL_LETTER_A_WITH_GRAVE:192,LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS:214,LATIN_CAPITAL_LETTER_O_WITH_STROKE:216,LATIN_SMALL_LETTER_O_WITH_DIAERESIS:246,LATIN_SMALL_LETTER_O_WITH_STROKE:248,GREEK_SMALL_REVERSED_DOTTED_LUNATE_SIGMA_SYMBOL:891,GREEK_CAPITAL_LETTER_YOT:895,CP_1FFF:8191,ZERO_WIDTH_NON_JOINER:8204,ZERO_WIDTH_JOINER:8205,UNDERTIE:8255,CHARACTER_TIE:8256,SUPERSCRIPT_ZERO:8304,CP_218F:8591,CIRCLED_DIGIT_ONE:9312,NEGATIVE_CIRCLED_DIGIT_ZERO:9471,GLAGOLITIC_CAPITAL_LETTER_AZU:11264,CP_2FEF:12271,IDEOGRAPHIC_COMMA:12289,CP_D7FF:55295,CP_E000:57344,CJK_COMPATIBILITY_IDEOGRAPH_F900:63744,ARABIC_LIGATURE_SALAAMUHU_ALAYNAA:64975,ARABIC_LIGATURE_SALLA_USED_AS_KORANIC_STOP_SIGN_ISOLATED_FORM:65008,REPLACEMENT_CHARACTER:65533,LINEAR_B_SYLLABLE_B008_A:65536,CP_EFFFF:983039,CP_10FFFF:1114111};function yo(e){return e>=u.NULL&&e<=u.US}c(yo,"isControl");function Be(e){return e===u.TABULATION||e===u.SPACE}c(Be,"isWhitespace");function Fr(e){return e===u.LINE_FEED||e===u.CARRIAGE_RETURN}c(Fr,"isEOL");function wo(e){return e>=u.LATIN_CAPITAL_A&&e<=u.LATIN_CAPITAL_Z}c(wo,"isUpperLetter");function To(e){return e>=u.LATIN_SMALL_A&&e<=u.LATIN_SMALL_Z}c(To,"isLowerLetter");function Eo(e){return To(e)||wo(e)}c(Eo,"isLetter");function N(e){return e>=u.DIGIT_0&&e<=u.DIGIT_9}c(N,"isDigit");function jr(e){return N(e)||e>=u.LATIN_SMALL_A&&e<=u.LATIN_SMALL_F||e>=u.LATIN_CAPITAL_A&&e<=u.LATIN_CAPITAL_F}c(jr,"isHexDig");function Ao(e){return e>=u.DIGIT_0&&e<=u.DIGIT_7}c(Ao,"isOctalDig");function bo(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}c(bo,"isUnicodeScalarValue");function So(e,t){let r=0,n=e.length;for(;r<n;){let o=r+n>>>1,i=e[o];if(i===t)return o+1;i<t?r=o+1:n=o}return r}c(So,"sortedLastIndex");var vo=class{static{c(this,"Locations")}constructor(){this.offsets=[]}addOffset(e){for(let t=this.offsets.length-1;t>=0;t--){let r=this.offsets[t];if(r===e)return;if(r<e)break}this.offsets.push(e)}getLocFromIndex(e){let t=So(this.offsets,e)+1;return{line:t,column:e-(t===1?0:this.offsets[t-2])}}},Io=class{static{c(this,"CodePointIterator")}constructor(e){this.locs=new vo,this.lastCodePoint=u.NULL,this.start=-1,this.end=0,this.text=e}next(){return this.lastCodePoint===u.EOF?u.EOF:this.lastCodePoint=this.moveAt(this.end)}getLocFromIndex(e){return this.locs.getLocFromIndex(e)}eat(e){return this.text.codePointAt(this.end)===e?(this.next(),!0):!1}moveAt(e){this.start=this.end=e;let t=this.text.codePointAt(this.start)??u.EOF;if(t===u.EOF)return this.end=this.start,t;if(this.end+=t>=65536?2:1,t===u.LINE_FEED)this.locs.addOffset(this.end);else if(t===u.CARRIAGE_RETURN)return this.text.codePointAt(this.end)===u.LINE_FEED&&(this.end++,this.locs.addOffset(this.end)),u.LINE_FEED;return t}},Lo=typeof BigInt<"u",Oo={16:"0x",10:"",8:"0o",2:"0b"},Xr={[u.QUOTATION_MARK]:u.QUOTATION_MARK,[u.BACKSLASH]:u.BACKSLASH,[u.LATIN_SMALL_B]:u.BACKSPACE,[u.LATIN_SMALL_F]:u.FORM_FEED,[u.LATIN_SMALL_N]:u.LINE_FEED,[u.LATIN_SMALL_R]:u.CARRIAGE_RETURN,[u.LATIN_SMALL_T]:u.TABULATION},Co={...Xr,[u.LATIN_SMALL_E]:u.ESCAPE},No=class{static{c(this,"Tokenizer")}constructor(e,t){this.backCode=!1,this.lastCodePoint=u.NULL,this.state="DATA",this.token=null,this.tokenStart=-1,this.valuesEnabled=!1,this.text=e,this.parserOptions=t||{},this.codePointIterator=new Io(e),this.tomlVersion=zr(this.parserOptions.tomlVersion),this.ESCAPES=this.tomlVersion.gte(1,1)?Co:Xr}get start(){return this.codePointIterator.start}get end(){return this.codePointIterator.end}getLocFromIndex(e){return this.codePointIterator.getLocFromIndex(e)}reportParseError(e,t){let r=this.codePointIterator.start,n=this.codePointIterator.getLocFromIndex(r);throw new Wr(e,r,n.line,n.column,t)}nextToken(){let e=this.token;if(e!=null)return this.token=null,e;let t=this.lastCodePoint;for(;t!==u.EOF&&!this.token;){t=this.nextCode();let r=this[this.state](t);if(!r)throw new Error(`Unknown error: pre state=${this.state}`);this.state=r}return e=this.token,this.token=null,e}nextCode(){return this.lastCodePoint===u.EOF?u.EOF:this.backCode?(this.backCode=!1,this.lastCodePoint):this.lastCodePoint=this.codePointIterator.next()}eatCode(e){return this.lastCodePoint===u.EOF?!1:this.backCode?this.lastCodePoint===e?(this.backCode=!1,!0):!1:this.codePointIterator.eat(e)}moveAt(e){this.backCode&&(this.backCode=!1),this.lastCodePoint=this.codePointIterator.moveAt(e)}back(e){return this.backCode=!0,e}punctuatorToken(){this.startToken(),this.endToken("Punctuator","end")}startToken(){this.tokenStart=this.codePointIterator.start}endToken(e,t,r,n){let{tokenStart:o}=this,i=this.codePointIterator[t],a=[o,i],s={start:this.codePointIterator.getLocFromIndex(o),end:this.codePointIterator.getLocFromIndex(i)};if(e==="Block")this.token={type:e,value:this.text.slice(o+1,i),range:a,loc:s};else{let l,p=this.text.slice(o,i);if(e==="BasicString"||e==="LiteralString"||e==="MultiLineBasicString"||e==="MultiLineLiteralString")l={type:e,value:p,string:r,range:a,loc:s};else if(e==="Integer"){let f=r;l={type:e,value:p,number:parseInt(f,n),bigint:Lo?BigInt(Oo[n]+f):null,range:a,loc:s}}else e==="Float"?l={type:e,value:p,number:r,range:a,loc:s}:e==="Boolean"?l={type:e,value:p,boolean:r,range:a,loc:s}:e==="LocalDate"||e==="LocalTime"||e==="LocalDateTime"||e==="OffsetDateTime"?l={type:e,value:p,date:r,range:a,loc:s}:l={type:e,value:p,range:a,loc:s};this.token=l}}DATA(e){for(;Be(e)||Fr(e);)e=this.nextCode();if(e===u.HASH)return this.startToken(),"COMMENT";if(e===u.QUOTATION_MARK)return this.startToken(),"BASIC_STRING";if(e===u.SINGLE_QUOTE)return this.startToken(),"LITERAL_STRING";if(e===u.DOT||e===u.EQUALS_SIGN||e===u.LEFT_BRACKET||e===u.RIGHT_BRACKET||e===u.LEFT_BRACE||e===u.RIGHT_BRACE||e===u.COMMA)return this.punctuatorToken(),"DATA";if(this.valuesEnabled){if(e===u.DASH||e===u.PLUS_SIGN)return this.startToken(),"SIGN";if(e===u.LATIN_SMALL_N||e===u.LATIN_SMALL_I)return this.startToken(),this.back("NAN_OR_INF");if(N(e))return this.startToken(),this.back("NUMBER");if(e===u.LATIN_SMALL_T||e===u.LATIN_SMALL_F)return this.startToken(),this.back("BOOLEAN")}else if(Br(e,this.tomlVersion))return this.startToken(),"BARE";return e===u.EOF?"DATA":this.reportParseError("unexpected-char")}COMMENT(e){let t=this.tomlVersion.gte(1,1)?r=>{xo(r)||this.reportParseError("invalid-comment-character",{cp:JSON.stringify(String.fromCodePoint(r)).slice(1,-1)})}:r=>{Ve(r)&&this.reportParseErrorControlChar()};for(;!Fr(e)&&e!==u.EOF;)t(e),e=this.nextCode();return this.endToken("Block","start"),"DATA"}BARE(e){for(;Br(e,this.tomlVersion);)e=this.nextCode();return this.endToken("Bare","start"),this.back("DATA")}BASIC_STRING(e){if(e===u.QUOTATION_MARK)return e=this.nextCode(),e===u.QUOTATION_MARK?"MULTI_LINE_BASIC_STRING":(this.endToken("BasicString","start",""),this.back("DATA"));let t=[];for(;e!==u.QUOTATION_MARK&&e!==u.EOF&&e!==u.LINE_FEED;){if(Ve(e))return this.reportParseErrorControlChar();if(e===u.BACKSLASH){e=this.nextCode();let r=this.ESCAPES[e];if(r){t.push(r),e=this.nextCode();continue}else if(e===u.LATIN_SMALL_U){let n=this.parseUnicode(4);t.push(n),e=this.nextCode();continue}else if(e===u.LATIN_CAPITAL_U){let n=this.parseUnicode(8);t.push(n),e=this.nextCode();continue}else if(e===u.LATIN_SMALL_X&&this.tomlVersion.gte(1,1)){let n=this.parseUnicode(2);t.push(n),e=this.nextCode();continue}return this.reportParseError("invalid-char-in-escape-sequence")}t.push(e),e=this.nextCode()}return e!==u.QUOTATION_MARK?this.reportParseError("unterminated-string"):(this.endToken("BasicString","end",String.fromCodePoint(...t)),"DATA")}MULTI_LINE_BASIC_STRING(e){let t=[];for(e===u.LINE_FEED&&(e=this.nextCode());e!==u.EOF;){if(e!==u.LINE_FEED&&Ve(e))return this.reportParseErrorControlChar();if(e===u.QUOTATION_MARK){let r=this.codePointIterator.start;if(this.eatCode(u.QUOTATION_MARK)&&this.eatCode(u.QUOTATION_MARK))return this.eatCode(u.QUOTATION_MARK)&&(t.push(u.QUOTATION_MARK),this.eatCode(u.QUOTATION_MARK)&&(t.push(u.QUOTATION_MARK),this.eatCode(u.QUOTATION_MARK)))?(this.moveAt(r),this.reportParseError("invalid-three-quotes")):(this.endToken("MultiLineBasicString","end",String.fromCodePoint(...t)),"DATA");this.moveAt(r)}if(e===u.BACKSLASH){e=this.nextCode();let r=this.ESCAPES[e];if(r){t.push(r),e=this.nextCode();continue}else if(e===u.LATIN_SMALL_U){let n=this.parseUnicode(4);t.push(n),e=this.nextCode();continue}else if(e===u.LATIN_CAPITAL_U){let n=this.parseUnicode(8);t.push(n),e=this.nextCode();continue}else if(e===u.LATIN_SMALL_X&&this.tomlVersion.gte(1,1)){let n=this.parseUnicode(2);t.push(n),e=this.nextCode();continue}else if(e===u.LINE_FEED){for(e=this.nextCode();Be(e)||e===u.LINE_FEED;)e=this.nextCode();continue}else if(Be(e)){let n=!0,o=this.codePointIterator.start,i;for(;(i=this.nextCode())!==u.EOF&&i!==u.LINE_FEED;)if(!Be(i)){this.moveAt(o),n=!1;break}if(n){for(e=this.nextCode();Be(e)||e===u.LINE_FEED;)e=this.nextCode();continue}}return this.reportParseError("invalid-char-in-escape-sequence")}t.push(e),e=this.nextCode()}return this.reportParseError("unterminated-string")}LITERAL_STRING(e){if(e===u.SINGLE_QUOTE)return e=this.nextCode(),e===u.SINGLE_QUOTE?"MULTI_LINE_LITERAL_STRING":(this.endToken("LiteralString","start",""),this.back("DATA"));let t=[];for(;e!==u.SINGLE_QUOTE&&e!==u.EOF&&e!==u.LINE_FEED;){if(Ve(e))return this.reportParseErrorControlChar();t.push(e),e=this.nextCode()}return e!==u.SINGLE_QUOTE?this.reportParseError("unterminated-string"):(this.endToken("LiteralString","end",String.fromCodePoint(...t)),"DATA")}MULTI_LINE_LITERAL_STRING(e){let t=[];for(e===u.LINE_FEED&&(e=this.nextCode());e!==u.EOF;){if(e!==u.LINE_FEED&&Ve(e))return this.reportParseErrorControlChar();if(e===u.SINGLE_QUOTE){let r=this.codePointIterator.start;if(this.eatCode(u.SINGLE_QUOTE)&&this.eatCode(u.SINGLE_QUOTE))return this.eatCode(u.SINGLE_QUOTE)&&(t.push(u.SINGLE_QUOTE),this.eatCode(u.SINGLE_QUOTE)&&(t.push(u.SINGLE_QUOTE),this.eatCode(u.SINGLE_QUOTE)))?(this.moveAt(r),this.reportParseError("invalid-three-quotes")):(this.endToken("MultiLineLiteralString","end",String.fromCodePoint(...t)),"DATA");this.moveAt(r)}t.push(e),e=this.nextCode()}return this.reportParseError("unterminated-string")}SIGN(e){return e===u.LATIN_SMALL_N||e===u.LATIN_SMALL_I?this.back("NAN_OR_INF"):N(e)?this.back("NUMBER"):this.reportParseError("unexpected-char")}NAN_OR_INF(e){if(e===u.LATIN_SMALL_N){let t=this.codePointIterator.start;if(this.eatCode(u.LATIN_SMALL_A)&&this.eatCode(u.LATIN_SMALL_N))return this.endToken("Float","end",NaN),"DATA";this.moveAt(t)}else if(e===u.LATIN_SMALL_I){let t=this.codePointIterator.start;if(this.eatCode(u.LATIN_SMALL_N)&&this.eatCode(u.LATIN_SMALL_F))return this.endToken("Float","end",this.text[this.tokenStart]==="-"?-1/0:1/0),"DATA";this.moveAt(t)}return this.reportParseError("unexpected-char")}NUMBER(e){let t=this.text[this.tokenStart],r=t==="+"?u.PLUS_SIGN:t==="-"?u.DASH:u.NULL;if(e===u.DIGIT_0){if(r===u.NULL){let a=this.codePointIterator.start,s=this.nextCode();if(N(s)){let l=this.nextCode();if(l===u.COLON)return this.data={hasDate:!1,year:0,month:0,day:0,hour:Number(String.fromCodePoint(u.DIGIT_0,s)),minute:0,second:0},"TIME_MINUTE";if(N(l)){let p=this.nextCode();if(N(p)&&this.eatCode(u.DASH))return this.data={hasDate:!0,year:Number(String.fromCodePoint(u.DIGIT_0,s,l,p)),month:0,day:0,hour:0,minute:0,second:0},"DATE_MONTH"}return this.moveAt(a),this.reportParseError("invalid-leading-zero")}this.moveAt(a)}return e=this.nextCode(),e===u.LATIN_SMALL_X||e===u.LATIN_SMALL_O||e===u.LATIN_SMALL_B?r!==u.NULL?this.reportParseError("unexpected-char"):e===u.LATIN_SMALL_X?"HEX":e===u.LATIN_SMALL_O?"OCTAL":"BINARY":e===u.LATIN_SMALL_E||e===u.LATIN_CAPITAL_E?(this.data={minus:r===u.DASH,left:[u.DIGIT_0]},"EXPONENT_RIGHT"):e===u.DOT?(this.data={minus:r===u.DASH,absInt:[u.DIGIT_0]},"FRACTIONAL_RIGHT"):(this.endToken("Integer","start","0",10),this.back("DATA"))}let{out:n,nextCp:o,hasUnderscore:i}=this.parseDigits(e,N);return o===u.DASH&&r===u.NULL&&!i&&n.length===4?(this.data={hasDate:!0,year:Number(String.fromCodePoint(...n)),month:0,day:0,hour:0,minute:0,second:0},"DATE_MONTH"):o===u.COLON&&r===u.NULL&&!i&&n.length===2?(this.data={hasDate:!1,year:0,month:0,day:0,hour:Number(String.fromCodePoint(...n)),minute:0,second:0},"TIME_MINUTE"):o===u.LATIN_SMALL_E||o===u.LATIN_CAPITAL_E?(this.data={minus:r===u.DASH,left:n},"EXPONENT_RIGHT"):o===u.DOT?(this.data={minus:r===u.DASH,absInt:n},"FRACTIONAL_RIGHT"):(this.endToken("Integer","start",r===u.DASH?String.fromCodePoint(u.DASH,...n):String.fromCodePoint(...n),10),this.back("DATA"))}HEX(e){let{out:t}=this.parseDigits(e,jr);return this.endToken("Integer","start",String.fromCodePoint(...t),16),this.back("DATA")}OCTAL(e){let{out:t}=this.parseDigits(e,Ao);return this.endToken("Integer","start",String.fromCodePoint(...t),8),this.back("DATA")}BINARY(e){let{out:t}=this.parseDigits(e,r=>r===u.DIGIT_0||r===u.DIGIT_1);return this.endToken("Integer","start",String.fromCodePoint(...t),2),this.back("DATA")}FRACTIONAL_RIGHT(e){let{minus:t,absInt:r}=this.data,{out:n,nextCp:o}=this.parseDigits(e,N),i=[...r,u.DOT,...n];if(o===u.LATIN_SMALL_E||o===u.LATIN_CAPITAL_E)return this.data={minus:t,left:i},"EXPONENT_RIGHT";let a=Number(t?String.fromCodePoint(u.DASH,...i):String.fromCodePoint(...i));return this.endToken("Float","start",a),this.back("DATA")}EXPONENT_RIGHT(e){let{left:t,minus:r}=this.data,n=!1;(e===u.DASH||e===u.PLUS_SIGN)&&(n=e===u.DASH,e=this.nextCode());let{out:o}=this.parseDigits(e,N),i=o;n&&i.unshift(u.DASH);let a=Number(r?String.fromCodePoint(u.DASH,...t,u.LATIN_SMALL_E,...i):String.fromCodePoint(...t,u.LATIN_SMALL_E,...i));return this.endToken("Float","start",a),this.back("DATA")}BOOLEAN(e){if(e===u.LATIN_SMALL_T){let t=this.codePointIterator.start;if(this.eatCode(u.LATIN_SMALL_R)&&this.eatCode(u.LATIN_SMALL_U)&&this.eatCode(u.LATIN_SMALL_E))return this.endToken("Boolean","end",!0),"DATA";this.moveAt(t)}else if(e===u.LATIN_SMALL_F){let t=this.codePointIterator.start;if(this.eatCode(u.LATIN_SMALL_A)&&this.eatCode(u.LATIN_SMALL_L)&&this.eatCode(u.LATIN_SMALL_S)&&this.eatCode(u.LATIN_SMALL_E))return this.endToken("Boolean","end",!1),"DATA";this.moveAt(t)}return this.reportParseError("unexpected-char")}DATE_MONTH(e){let t=this.codePointIterator.start;if(!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),e!==u.DASH)return this.reportParseError("unexpected-char");let r=this.codePointIterator.start,n=this.data;return n.month=Number(this.text.slice(t,r)),"DATE_DAY"}DATE_DAY(e){let t=this.codePointIterator.start;if(!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");let r=this.codePointIterator.end,n=this.data;if(n.day=Number(this.text.slice(t,r)),!Ro(n.year,n.month,n.day))return this.reportParseError("invalid-date");if(e=this.nextCode(),e===u.LATIN_CAPITAL_T||e===u.LATIN_SMALL_T)return"TIME_HOUR";if(e===u.SPACE){let i=this.codePointIterator.start;if(N(this.nextCode())&&N(this.nextCode()))return this.moveAt(i),"TIME_HOUR";this.moveAt(i)}let o=$e(n,"");return this.endToken("LocalDate","start",o),this.back("DATA")}TIME_HOUR(e){let t=this.codePointIterator.start;if(!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),e!==u.COLON)return this.reportParseError("unexpected-char");let r=this.codePointIterator.start,n=this.data;return n.hour=Number(this.text.slice(t,r)),"TIME_MINUTE"}TIME_MINUTE(e){let t=this.codePointIterator.start;if(!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");let r=this.codePointIterator.end,n=this.data;return n.minute=Number(this.text.slice(t,r)),e=this.nextCode(),e===u.COLON?"TIME_SECOND":this.tomlVersion.lt(1,1)?this.reportParseError("unexpected-char"):jt(n.hour,n.minute,n.second)?this.processTimeEnd(e,n):this.reportParseError("invalid-time")}TIME_SECOND(e){let t=this.codePointIterator.start;if(!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");let r=this.codePointIterator.end,n=this.data;return n.second=Number(this.text.slice(t,r)),jt(n.hour,n.minute,n.second)?(e=this.nextCode(),e===u.DOT?"TIME_SEC_FRAC":this.processTimeEnd(e,n)):this.reportParseError("invalid-time")}TIME_SEC_FRAC(e){if(!N(e))return this.reportParseError("unexpected-char");let t=this.codePointIterator.start;for(;N(e);)e=this.nextCode();let r=this.codePointIterator.start,n=this.data;return n.frac=this.text.slice(t,r),this.processTimeEnd(e,n)}processTimeEnd(e,t){if(t.hasDate){if(e===u.DASH||e===u.PLUS_SIGN)return t.offsetSign=e,"TIME_OFFSET";if(e===u.LATIN_CAPITAL_Z||e===u.LATIN_SMALL_Z){let o=$e(t,"Z");return this.endToken("OffsetDateTime","end",o),"DATA"}let n=$e(t,"");return this.endToken("LocalDateTime","start",n),this.back("DATA")}let r=$e(t,"");return this.endToken("LocalTime","start",r),this.back("DATA")}TIME_OFFSET(e){if(!N(e))return this.reportParseError("unexpected-char");let t=this.codePointIterator.start;if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),e!==u.COLON)return this.reportParseError("unexpected-char");let r=this.codePointIterator.start;e=this.nextCode();let n=this.codePointIterator.start;if(!N(e))return this.reportParseError("unexpected-char");if(e=this.nextCode(),!N(e))return this.reportParseError("unexpected-char");let o=this.codePointIterator.end,i=Number(this.text.slice(t,r)),a=Number(this.text.slice(n,o));if(!jt(i,a,0))return this.reportParseError("invalid-time");let s=this.data,l=$e(s,`${String.fromCodePoint(s.offsetSign)}${he(i,2)}:${he(a,2)}`);return this.endToken("OffsetDateTime","end",l),"DATA"}parseDigits(e,t){if(e===u.UNDERSCORE)return this.reportParseError("invalid-underscore");if(!t(e))return this.reportParseError("unexpected-char");let r=[],n=u.NULL,o=!1;for(;t(e)||e===u.UNDERSCORE;){if(e===u.UNDERSCORE){if(o=!0,n===u.UNDERSCORE)return this.reportParseError("invalid-underscore")}else r.push(e);n=e,e=this.nextCode()}return n===u.UNDERSCORE?this.reportParseError("invalid-underscore"):{out:r,nextCp:e,hasUnderscore:o}}parseUnicode(e){let t=this.codePointIterator.start,r=this.codePointIterator.end,n=0,o;for(;(o=this.nextCode())!==u.EOF;){if(!jr(o))return this.moveAt(t),this.reportParseError("invalid-char-in-escape-sequence");if(n++,n>=e)break}let i=this.codePointIterator.end,a=this.text.slice(r,i),s=parseInt(a,16);return bo(s)?s:this.reportParseError("invalid-code-point",{cp:a})}reportParseErrorControlChar(){return this.reportParseError("invalid-control-character")}};function Br(e,t){return Eo(e)||N(e)||e===u.UNDERSCORE||e===u.DASH?!0:(t.lt(1,1),!1)}c(Br,"isUnquotedKeyChar");function Ve(e){return yo(e)&&e!==u.TABULATION||e===u.DELETE}c(Ve,"isControlOtherThanTab");function xo(e){return e===u.TABULATION||u.SPACE<=e&&e<=u.TILDE||ko(e)}c(xo,"isNonEOL");function ko(e){return u.PAD<=e&&e<=u.CP_D7FF||u.CP_E000<=e&&e<=u.CP_10FFFF}c(ko,"isNonAscii");function Ro(e,t,r){return e>=0&&t<=12&&t>=1&&r>=1?r<=(t===2?e&3||!(e%25)&&e&15?28:29:30+(t+(t>>3)&1)):!1}c(Ro,"isValidDate");function jt(e,t,r){return!(e>=24||e<0||t>59||t<0||r>60||r<0)}c(jt,"isValidTime");function $e(e,t){let r=he(e.year,4),n=e.month?he(e.month,2):"01",o=e.day?he(e.day,2):"01",i=he(e.hour,2),a=he(e.minute,2),s=he(e.second,2),l=`${r}-${n}-${o}`,p=e.frac?`.${e.frac}`:"",f=new Date(`${l}T${i}:${a}:${s}${p}${t}`);return!isNaN(f.getTime())||e.second!==60?f:new Date(`${l}T${i}:${a}:59${p}${t}`)}c($e,"getDateFromDateTimeData");function he(e,t){return String(e).padStart(t,"0")}c(he,"padStart");var Kt=Symbol("VALUE_KIND_VALUE"),Vr=Symbol("VALUE_KIND_INTERMEDIATE"),Po=class{static{c(this,"KeysResolver")}constructor(e){this.rootKeys=new Map,this.tables=[],this.ctx=e}applyResolveKeyForTable(e){let t=this.rootKeys,r=e.key.keys.length-1;for(let a=0;a<r;a++){let s=e.key.keys[a],l=Gt(s);e.resolvedKey.push(l);let p=t.get(l);if(!p)p={node:s,keys:new Map},t.set(l,p);else if(p.table==="array"){let f=p.peekIndex;e.resolvedKey.push(f),p=p.keys.get(f)}t=p.keys}let n=e.key.keys[r],o=Gt(n);e.resolvedKey.push(o);let i=t.get(o);if(i)if(i.table)if(i.table==="array")if(e.kind==="array"){let a={node:n,keys:new Map},s=i.peekIndex+1;e.resolvedKey.push(s),i.keys.set(s,a),i.peekIndex=s,this.tables.push({node:e,keys:a.keys})}else this.ctx.reportParseError("dupe-keys",n);else this.ctx.reportParseError("dupe-keys",n);else if(e.kind==="array")this.ctx.reportParseError("dupe-keys",n);else{let a={table:e.kind,node:n,keys:i.keys};t.set(o,a),this.tables.push({node:e,keys:a.keys})}else if(e.kind==="array"){e.resolvedKey.push(0);let a={node:n,keys:new Map};t.set(o,{table:e.kind,node:n,keys:new Map([[0,a]]),peekIndex:0}),this.tables.push({node:e,keys:a.keys})}else{let a={table:e.kind,node:n,keys:new Map};t.set(o,a),this.tables.push({node:e,keys:a.keys})}}verifyDuplicateKeys(e){for(let t of e.body)t.type==="TOMLKeyValue"&&Ht(this.ctx,this.rootKeys,t);for(let{node:t,keys:r}of this.tables)for(let n of t.body)Ht(this.ctx,r,n)}};function Ht(e,t,r){let n=t,o=we(r.key.keys);for(let i of r.key.keys){let a=Gt(i),s=n.get(a);s?((s.value===Kt||o===i||s.table)&&e.reportParseError("dupe-keys",lt(i,s.node)),s.value=Vr):(o===i?s={value:Kt,node:i,keys:new Map}:s={value:Vr,node:i,keys:new Map},n.set(a,s)),n=s.keys}r.value.type==="TOMLInlineTable"?qr(e,n,r.value):r.value.type==="TOMLArray"&&Qr(e,n,r.value)}c(Ht,"verifyDuplicateKeysForKeyValue");function qr(e,t,r){for(let n of r.body)Ht(e,t,n)}c(qr,"verifyDuplicateKeysForInlineTable");function Qr(e,t,r){let n=t;for(let o=0;o<r.elements.length;o++){let i=r.elements[o],a=n.get(o);a?e.reportParseError("dupe-keys",lt(i,a.node)):(a={value:Kt,node:i,keys:new Map},t.set(o,a),i.type==="TOMLInlineTable"?qr(e,a.keys,i):i.type==="TOMLArray"&&Qr(e,a.keys,i))}}c(Qr,"verifyDuplicateKeysForArray");function lt(e,t){return e.range[0]<=t.range[0]?t:e}c(lt,"getAfterNode");var Mo=class{static{c(this,"Context")}constructor(e){this.tokens=[],this.comments=[],this.back=null,this.stateStack=[],this.needNewLine=!1,this.needSameLine=!1,this.currToken=null,this.prevToken=null,this.valueContainerStack=[],this.tokenizer=new No(e.text,e.parserOptions),this.topLevelTable=e.topLevelTable,this.table=e.topLevelTable,this.keysResolver=new Po(this)}nextToken(e){if(this.prevToken=this.currToken,this.back?(this.currToken=this.back,this.back=null):this.currToken=this._nextTokenFromTokenizer(e),(this.needNewLine||this.needSameLine||e?.needSameLine)&&this.prevToken&&this.currToken)if(this.prevToken.loc.end.line===this.currToken.loc.start.line){if(this.needNewLine)return this.reportParseError("missing-newline",this.currToken)}else{let t=this.needSameLine||e?.needSameLine;if(t)return this.reportParseError(t,this.currToken)}return this.needNewLine=!1,this.needSameLine=!1,this.currToken}_nextTokenFromTokenizer(e){let t=this.tokenizer.valuesEnabled;e?.valuesEnabled&&(this.tokenizer.valuesEnabled=e.valuesEnabled);let r=this.tokenizer.nextToken();for(;r&&r.type==="Block";)this.comments.push(r),r=this.tokenizer.nextToken();return r&&this.tokens.push(r),this.tokenizer.valuesEnabled=t,r}backToken(){if(this.back)throw new Error("Illegal state");this.back=this.currToken,this.currToken=this.prevToken}addValueContainer(e){this.valueContainerStack.push(e),this.tokenizer.valuesEnabled=!0}consumeValueContainer(){let e=this.valueContainerStack.pop();return this.tokenizer.valuesEnabled=this.valueContainerStack.length>0,e}applyResolveKeyForTable(e){this.keysResolver.applyResolveKeyForTable(e)}verifyDuplicateKeys(){this.keysResolver.verifyDuplicateKeys(this.topLevelTable)}reportParseError(e,t){let r,n,o;if(t)r=t.range[0],n=t.loc.start.line,o=t.loc.start.column;else{r=this.tokenizer.start;let i=this.tokenizer.getLocFromIndex(r);n=i.line,o=i.column}throw new Wr(e,r,n,o)}},$r={VALUE:"missing-value"},Do={BasicString:"basic",MultiLineBasicString:"basic",LiteralString:"literal",MultiLineLiteralString:"literal"},Uo={BasicString:"basic",LiteralString:"literal"},Fo={OffsetDateTime:"offset-date-time",LocalDateTime:"local-date-time",LocalDate:"local-date",LocalTime:"local-time"},jo=class{static{c(this,"TOMLParser")}constructor(e,t){this.text=e,this.parserOptions=t||{},this.tomlVersion=zr(this.parserOptions.tomlVersion)}parse(){let e={type:"Program",body:[],sourceType:"module",tokens:[],comments:[],parent:null,range:[0,0],loc:{start:{line:1,column:0},end:{line:1,column:0}}},t={type:"TOMLTopLevelTable",body:[],parent:e,range:J(e.range),loc:z(e.loc)};e.body=[t];let r=new Mo({text:this.text,parserOptions:this.parserOptions,topLevelTable:t}),n=r.nextToken();if(n){for(t.range[0]=n.range[0],t.loc.start=ut(n.loc.start);n;){let s=r.stateStack.pop()||"TABLE";r.stateStack.push(...this[s](n,r)),n=r.nextToken()}let a=r.stateStack.pop()||"TABLE";if(a in $r)return r.reportParseError($r[a],null);r.table.type==="TOMLTable"&&ie(r.table,we(r.table.body)),ie(t,we(t.body))}r.verifyDuplicateKeys(),e.tokens=r.tokens,e.comments=r.comments;let o=r.tokenizer.end,i=r.tokenizer.getLocFromIndex(o);return e.range[1]=o,e.loc.end={line:i.line,column:i.column},e}TABLE(e,t){return ct(e)||Ke(e)?this.processKeyValue(e,t.table,t):Vt(e)?this.processTable(e,t.topLevelTable,t):t.reportParseError("unexpected-token",e)}VALUE(e,t){return Ke(e)||Hr(e)?this.processStringValue(e,t):Vo(e)?this.processNumberValue(e,t):$o(e)?this.processBooleanValue(e,t):Go(e)?this.processDateTimeValue(e,t):Vt(e)?this.processArray(e,t):Bo(e)?this.processInlineTable(e,t):t.reportParseError("unexpected-token",e)}processTable(e,t,r){let n={type:"TOMLTable",kind:"standard",key:null,resolvedKey:[],body:[],parent:t,range:J(e.range),loc:z(e.loc)};r.table.type==="TOMLTable"&&ie(r.table,we(r.table.body)),t.body.push(n),r.table=n;let o=r.nextToken({needSameLine:"invalid-key-value-newline"});if(Vt(o)){if(e.range[1]<o.range[0])return r.reportParseError("invalid-space",o);n.kind="array",o=r.nextToken({needSameLine:"invalid-key-value-newline"})}if(Ge(o))return r.reportParseError("missing-key",o);if(!o)return r.reportParseError("unterminated-table-key",null);if(o=this.processKeyNode(o,n,r).nextToken,!Ge(o))return r.reportParseError("unterminated-table-key",o);if(n.kind==="array"){let i=o;if(o=r.nextToken({needSameLine:"invalid-key-value-newline"}),!Ge(o))return r.reportParseError("unterminated-table-key",o);if(i.range[1]<o.range[0])return r.reportParseError("invalid-space",o)}return ie(n,o),r.applyResolveKeyForTable(n),r.needNewLine=!0,[]}processKeyValue(e,t,r){let n={type:"TOMLKeyValue",key:null,value:null,parent:t,range:J(e.range),loc:z(e.loc)};t.body.push(n);let{nextToken:o}=this.processKeyNode(e,n,r);return Gr(o)?(r.addValueContainer({parent:n,set:c(i=>(n.value=i,ie(n,i),r.needNewLine=!0,[]),"set")}),r.needSameLine="invalid-key-value-newline",["VALUE"]):r.reportParseError("missing-equals-sign",o)}processKeyNode(e,t,r){Bt(e)&&r.reportParseError("invalid-leading-dot-in-key",e);let n={type:"TOMLKey",keys:[],parent:t,range:J(e.range),loc:z(e.loc)};t.key=n;let o=e,i=null;do{if(ct(o))this.processBareKey(o,n);else if(Ke(o))this.processStringKey(o,n);else break;if(i=null,o=r.nextToken({needSameLine:"invalid-key-value-newline"}),!Bt(o))break;i=o,o=r.nextToken({needSameLine:"invalid-key-value-newline"})}while(o);return i&&r.reportParseError(Bt(o)?"invalid-consecutive-dots-in-key":"invalid-trailing-dot-in-key",i),ie(n,we(n.keys)),{keyNode:n,nextToken:o}}processBareKey(e,t){let r={type:"TOMLBare",name:e.value,parent:t,range:J(e.range),loc:z(e.loc)};t.keys.push(r)}processStringKey(e,t){let r={type:"TOMLQuoted",kind:"string",value:e.string,style:Uo[e.type],multiline:!1,parent:t,range:J(e.range),loc:z(e.loc)};t.keys.push(r)}processStringValue(e,t){let r=t.consumeValueContainer(),n={type:"TOMLValue",kind:"string",value:e.string,style:Do[e.type],multiline:Hr(e),parent:r.parent,range:J(e.range),loc:z(e.loc)};return r.set(n)}processNumberValue(e,t){let r=t.consumeValueContainer(),n=this.text,[o,i]=e.range,a=null,s=c(()=>a??(a=n.slice(o,i).replace(/_/g,"")),"getNumberText"),l;return e.type==="Integer"?l={type:"TOMLValue",kind:"integer",value:e.number,bigint:e.bigint,get number(){return s()},parent:r.parent,range:J(e.range),loc:z(e.loc)}:l={type:"TOMLValue",kind:"float",value:e.number,get number(){return s()},parent:r.parent,range:J(e.range),loc:z(e.loc)},r.set(l)}processBooleanValue(e,t){let r=t.consumeValueContainer(),n={type:"TOMLValue",kind:"boolean",value:e.boolean,parent:r.parent,range:J(e.range),loc:z(e.loc)};return r.set(n)}processDateTimeValue(e,t){let r=t.consumeValueContainer(),n={type:"TOMLValue",kind:Fo[e.type],value:e.date,datetime:e.value,parent:r.parent,range:J(e.range),loc:z(e.loc)};return r.set(n)}processArray(e,t){let r=t.consumeValueContainer(),n={type:"TOMLArray",elements:[],parent:r.parent,range:J(e.range),loc:z(e.loc)},o=t.nextToken({valuesEnabled:!0});return Ge(o)?(ie(n,o),r.set(n)):(t.backToken(),this.processArrayValue(n,r,t))}processArrayValue(e,t,r){return r.addValueContainer({parent:e,set:c(n=>{e.elements.push(n);let o=r.nextToken({valuesEnabled:!0}),i=Kr(o);return i&&(o=r.nextToken({valuesEnabled:!0})),Ge(o)?(ie(e,o),t.set(e)):i?(r.backToken(),this.processArrayValue(e,t,r)):r.reportParseError(o?"missing-comma":"unterminated-array",o)},"set")}),["VALUE"]}processInlineTable(e,t){let r=t.consumeValueContainer(),n={type:"TOMLInlineTable",body:[],parent:r.parent,range:J(e.range),loc:z(e.loc)},o=this.tomlVersion.gte(1,1)?void 0:"invalid-inline-table-newline",i=t.nextToken({needSameLine:o});if(i){if(ct(i)||Ke(i))return this.processInlineTableKeyValue(i,n,r,t);if($t(i))return ie(n,i),r.set(n)}return t.reportParseError("unexpected-token",i)}processInlineTableKeyValue(e,t,r,n){let o={type:"TOMLKeyValue",key:null,value:null,parent:t,range:J(e.range),loc:z(e.loc)};t.body.push(o);let{nextToken:i}=this.processKeyNode(e,o,n);if(!Gr(i))return n.reportParseError("missing-equals-sign",i);let a=this.tomlVersion.gte(1,1)?void 0:"invalid-inline-table-newline";return n.addValueContainer({parent:o,set:c(s=>{o.value=s,ie(o,s);let l=n.nextToken({needSameLine:a});if(Kr(l)){if(l=n.nextToken({needSameLine:a}),l&&(ct(l)||Ke(l)))return this.processInlineTableKeyValue(l,t,r,n);if($t(l)){if(this.tomlVersion.lt(1,1))return n.reportParseError("invalid-trailing-comma-in-inline-table",l)}else return n.reportParseError(l?"unexpected-token":"unterminated-inline-table",l)}return $t(l)?(ie(t,l),r.set(t)):n.reportParseError(l?"missing-comma":"unterminated-inline-table",l)},"set")}),n.needSameLine="invalid-key-value-newline",["VALUE"]}};function Bt(e){return Te(e)&&e.value==="."}c(Bt,"isDot");function Gr(e){return Te(e)&&e.value==="="}c(Gr,"isEq");function Vt(e){return Te(e)&&e.value==="["}c(Vt,"isLeftBracket");function Ge(e){return Te(e)&&e.value==="]"}c(Ge,"isRightBracket");function Bo(e){return Te(e)&&e.value==="{"}c(Bo,"isLeftBrace");function $t(e){return Te(e)&&e.value==="}"}c($t,"isRightBrace");function Kr(e){return Te(e)&&e.value===","}c(Kr,"isComma");function Te(e){return!!(e&&e.type==="Punctuator")}c(Te,"isPunctuator");function ct(e){return e.type==="Bare"}c(ct,"isBare");function Ke(e){return e.type==="BasicString"||e.type==="LiteralString"}c(Ke,"isString");function Hr(e){return e.type==="MultiLineBasicString"||e.type==="MultiLineLiteralString"}c(Hr,"isMultiLineString");function Vo(e){return e.type==="Integer"||e.type==="Float"}c(Vo,"isNumber");function $o(e){return e.type==="Boolean"}c($o,"isBoolean");function Go(e){return e.type==="OffsetDateTime"||e.type==="LocalDateTime"||e.type==="LocalDate"||e.type==="LocalTime"}c(Go,"isDateTime");function ie(e,t){t&&(e.range[1]=t.range[1],e.loc.end=ut(t.loc.end))}c(ie,"applyEndLoc");function J(e){return[e[0],e[1]]}c(J,"cloneRange");function z(e){return{start:ut(e.start),end:ut(e.end)}}c(z,"cloneLoc");function ut(e){return{line:e.line,column:e.column}}c(ut,"clonePos");var Ko={Program:["body"],TOMLTopLevelTable:["body"],TOMLTable:["key","body"],TOMLKeyValue:["key","value"],TOMLKey:["keys"],TOMLArray:["elements"],TOMLInlineTable:["body"],TOMLBare:[],TOMLQuoted:[],TOMLValue:[]},Ho=Mr(Ko);function Jo(e,t){return{ast:new jo(e,t).parse(),visitorKeys:Ho,services:{isTOML:!0}}}c(Jo,"parseForESLint");var Jt=zo(e=>e.value);function zo(e){function t(n,o){return r[n.type](n,o)}c(t,"resolveValue");let r={Program(n,o={}){return t(n.body[0],o)},TOMLTopLevelTable(n,o={}){for(let i of n.body)t(i,o);return o},TOMLKeyValue(n,o={}){let i=t(n.value);return Xo(o,t(n.key),i),o},TOMLTable(n,o={}){let i=Wo(o,t(n.key),n.kind==="array");for(let a of n.body)t(a,i);return o},TOMLArray(n){return n.elements.map(o=>t(o))},TOMLInlineTable(n){let o={};for(let i of n.body)t(i,o);return o},TOMLKey(n){return n.keys.map(o=>t(o))},TOMLBare(n){return n.name},TOMLQuoted(n){return n.value},TOMLValue(n){return e(n)}};return n=>t(n)}c(zo,"generateConvertTOMLValue");function Wo(e,t,r){let n=e;for(let l=0;l<t.length-1;l++){let p=t[l];n=s(n,p)}let o=we(t),i=n[o];if(i==null){let l={};return n[o]=r?[l]:l,l}if(dt(i)){let l={};return n[o]=r?[l]:l,l}if(!r){if(Array.isArray(i)){let l={};return n[o]=l,l}return i}if(Array.isArray(i)){let l={};return i.push(l),l}let a={};return n[o]=[a],a;function s(l,p){let f=l[p];if(f==null){let h={};return l[p]=h,h}if(dt(f)){let h={};return l[p]=h,h}let m=f;for(;Array.isArray(m);){let h=m.length-1,g=m[h];if(dt(g)){let w={};return m[h]=w,w}m=g}return m}c(s,"getNextTargetFromKey")}c(Wo,"getTable");function Xo(e,t,r){let n=e;for(let o=0;o<t.length-1;o++){let i=t[o],a=n[i];if(a==null){let s={};n[i]=s,n=s}else if(dt(a)||Array.isArray(a)){let s={};n[i]=s,n=s}else n=a}n[we(t)]=r}c(Xo,"set");function dt(e){return typeof e!="object"||e instanceof Date}c(dt,"isValue");function Yr(e,t){return Jo(e,t).ast}c(Yr,"parseTOML");function re(e,t){try{let r=Yr(e,{tomlVersion:"1.0"}),n=Jt(r);return tn(n),{ast:r,value:n}}catch(r){let n=r;throw new y({code:"INVALID_CONFIG",path:t,message:"Configuration contains invalid TOML or an unsupported value.",line:n.lineNumber,column:n.column===void 0?void 0:n.column+1,action:"Open config.toml, correct the indicated value, and retry."},{cause:r})}}c(re,"parseToml");function tn(e){if(e instanceof Date||typeof e=="bigint"||typeof e=="number"&&(!Number.isFinite(e)||Number.isInteger(e)&&!Number.isSafeInteger(e)))throw new Error("Unsupported TOML value");if(e&&typeof e=="object")for(let[t,r]of Object.entries(e)){if(["__proto__","prototype","constructor"].includes(t))throw new Error("Reserved key");tn(r)}}c(tn,"assertJsonValue");function ge(e){if(typeof e=="string")return JSON.stringify(e).replace(/\\u([0-9a-f]{4})/gi,"\\u$1");if(typeof e=="boolean"||typeof e=="number"&&Number.isFinite(e))return String(e);if(Array.isArray(e))return`[${e.map(ge).join(", ")}]`;if(se(e))return`{ ${Object.entries(e).filter(([,t])=>t!==void 0).map(([t,r])=>`${Ee(t)} = ${ge(r)}`).join(", ")} }`;throw new Error("Configuration cannot contain null or unsupported values.")}c(ge,"tomlValue");var Ee=c(e=>/^[A-Za-z0-9_-]+$/.test(e)?e:JSON.stringify(e),"tomlKey"),Zr=c(e=>e.keys.map(t=>t.type==="TOMLBare"?t.name:t.value),"keyPath"),qo=c((e,t)=>e.length===t.length&&e.every((r,n)=>r===t[n]),"samePath"),pt=c((e,t)=>e.length<=t.length&&e.every((r,n)=>r===t[n]),"prefix");function se(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof Date)}c(se,"isRecord");function Je(e,t,r){let n=e;for(let o of t)n=rn(n,o,r);return re(n,r),n.endsWith(`
4
4
  `)?n:`${n}
5
5
  `}c(Je,"editToml");function rn(e,t,r){if(!t.path.length||t.path.some(h=>!h||["__proto__","prototype","constructor"].includes(h)))throw new Error("Invalid configuration key path.");let{ast:n}=re(e,r),o=[],i=[];for(let h of n.body[0].body)if(h.type==="TOMLKeyValue")o.push({path:Zr(h.key),node:h});else{if(i.push(h),h.kind!=="standard")continue;for(let g of h.body)o.push({path:[...h.resolvedKey.map(String),...Zr(g.key)],node:g})}let a=o.find(h=>qo(h.path,t.path));if(a){let h=a.node;if(t.op==="set")return ft(e,h.value.range,en(e,n,h.value.range,ge(t.value)));let g=n.comments.filter(w=>w.range[0]>=h.range[0]&&w.range[1]<=h.range[1]).map(w=>e.slice(...w.range)).join(`