openpond 0.2.58 → 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 (389) hide show
  1. package/README.md +27 -0
  2. package/dist/app-server.d.ts +8 -1
  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-QU4H53OG.js → actions-command-6YSZ7EJS.js} +1 -1
  7. package/dist/chunks/{app-layer-NSTE5HIT.js → app-layer-TVG7KTW6.js} +1 -1
  8. package/dist/chunks/{app-server-connected-apps-JHGWLBXT.js → app-server-connected-apps-K62M6LCT.js} +1 -1
  9. package/dist/chunks/{app-server-evaluations-K52NAQLP.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-DARVPBZ4.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-ABD5M2D2.js → chunk-2PAJCXFC.js} +1 -1
  18. package/dist/chunks/chunk-2RNCXDJC.js +5 -0
  19. package/dist/chunks/{chunk-APB2STJK.js → chunk-2SUMZ73C.js} +1 -1
  20. package/dist/chunks/{chunk-YOQRYNLP.js → chunk-3CWRTKHY.js} +1 -1
  21. package/dist/chunks/{chunk-TRQQNFMO.js → chunk-44LWH5U6.js} +1 -1
  22. package/dist/chunks/{chunk-HPBQ4VTW.js → chunk-52KIORRX.js} +1 -1
  23. package/dist/chunks/{chunk-NHQ36THU.js → chunk-5RHYSQZ5.js} +1 -1
  24. package/dist/chunks/{chunk-3QIB5FXI.js → chunk-5ZBLCWEJ.js} +1 -1
  25. package/dist/chunks/{chunk-FTEOCCPB.js → chunk-637UACKH.js} +1 -1
  26. package/dist/chunks/chunk-655DQ6AX.js +145 -0
  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-UKMA4R6X.js → chunk-7LZISGTA.js} +2 -2
  30. package/dist/chunks/{chunk-A6USMRWK.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-25MBPJVY.js → chunk-A66CSUBJ.js} +1 -1
  34. package/dist/chunks/{chunk-OUVIWDL2.js → chunk-AGVOGPAZ.js} +1 -1
  35. package/dist/chunks/{chunk-M4JWQSV7.js → chunk-AW5Q6NXT.js} +1 -1
  36. package/dist/chunks/{chunk-RWWE5OXU.js → chunk-B46HZ3MX.js} +1 -1
  37. package/dist/chunks/{chunk-KGNCKIFP.js → chunk-BIPQCJ5V.js} +1 -1
  38. package/dist/chunks/{chunk-HCYX6RHP.js → chunk-BIQ33JV5.js} +1 -1
  39. package/dist/chunks/{chunk-JFXWI3EN.js → chunk-BK63OQRW.js} +1 -1
  40. package/dist/chunks/{chunk-2D4Y3HNW.js → chunk-CFSIU6CW.js} +1 -1
  41. package/dist/chunks/{chunk-EIEZHFIW.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-PRGBLQVH.js → chunk-DIGX56JY.js} +1 -1
  46. package/dist/chunks/{chunk-JYKRR7E5.js → chunk-DISNCX6R.js} +1 -1
  47. package/dist/chunks/{chunk-773TH7FN.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-5MCNZCVQ.js → chunk-EL454L26.js} +1 -1
  51. package/dist/chunks/{chunk-OS3LO5J3.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-FSQWAANK.js +3 -0
  56. package/dist/chunks/{chunk-Z54O534A.js → chunk-G5B3PB5X.js} +1 -1
  57. package/dist/chunks/{chunk-4D7HWVWD.js → chunk-GAWGIJQG.js} +1 -1
  58. package/dist/chunks/{chunk-IIZ4CWBX.js → chunk-GGGF5NHJ.js} +1 -1
  59. package/dist/chunks/{chunk-APB4O67E.js → chunk-GOYBYYPQ.js} +1 -1
  60. package/dist/chunks/{chunk-XDQMGUWL.js → chunk-H3BSIAQO.js} +1 -1
  61. package/dist/chunks/{chunk-EYPCBBMS.js → chunk-HCEJAOIF.js} +1 -1
  62. package/dist/chunks/{chunk-OPNRWESL.js → chunk-IFQCOSU6.js} +1 -1
  63. package/dist/chunks/chunk-IJHZBHEK.js +9 -0
  64. package/dist/chunks/{chunk-RAXOSUSW.js → chunk-ISFIDCIH.js} +1 -1
  65. package/dist/chunks/{chunk-OLLLZVHF.js → chunk-ITKTILKI.js} +1 -1
  66. package/dist/chunks/{chunk-D74JEERO.js → chunk-IUBARBGI.js} +1 -1
  67. package/dist/chunks/{chunk-O72BSKSO.js → chunk-J24I74EM.js} +1 -1
  68. package/dist/chunks/{chunk-H4QHIHMK.js → chunk-J7QGHA7G.js} +3 -3
  69. package/dist/chunks/chunk-JFXINDOQ.js +3 -0
  70. package/dist/chunks/{chunk-HIOKCIL7.js → chunk-JGWINTT5.js} +1 -1
  71. package/dist/chunks/{chunk-Q2QL6UWN.js → chunk-JHEFWB6O.js} +1 -1
  72. package/dist/chunks/{chunk-QNG27G3T.js → chunk-JHMS2WXM.js} +2 -2
  73. package/dist/chunks/{chunk-PSGGOZFM.js → chunk-JHR3LF2F.js} +1 -1
  74. package/dist/chunks/{chunk-JE7RJZOA.js → chunk-KGLJU66U.js} +3 -3
  75. package/dist/chunks/{chunk-XEOEKFG6.js → chunk-KJFRCVQC.js} +1 -1
  76. package/dist/chunks/chunk-KNO355LC.js +2 -0
  77. package/dist/chunks/{chunk-ZGTOK7ZK.js → chunk-LD7PGREF.js} +2 -2
  78. package/dist/chunks/{chunk-I7AQMAQI.js → chunk-LHA7RQBA.js} +6 -6
  79. package/dist/chunks/{chunk-6QSSIT62.js → chunk-LO3O45IX.js} +1 -1
  80. package/dist/chunks/{chunk-G3RXYI2L.js → chunk-M2SKXY5C.js} +2 -2
  81. package/dist/chunks/{chunk-2IHO4GDJ.js → chunk-M3ZQDPRS.js} +1 -1
  82. package/dist/chunks/{chunk-JDEEWOD7.js → chunk-M4ZF44H5.js} +1 -1
  83. package/dist/chunks/{chunk-Y4OWBBDD.js → chunk-M55H7KVR.js} +1 -1
  84. package/dist/chunks/{chunk-JAJ46T5X.js → chunk-MGKMIRYG.js} +1 -1
  85. package/dist/chunks/{chunk-4EQA2M7K.js → chunk-MJGU2JJ2.js} +2 -2
  86. package/dist/chunks/{chunk-65PL62KH.js → chunk-MS37ISA4.js} +2 -2
  87. package/dist/chunks/{chunk-NH6UUX5S.js → chunk-NCKXI2VB.js} +11 -11
  88. package/dist/chunks/chunk-NHUUCNAD.js +2 -0
  89. package/dist/chunks/{chunk-O6ULLQJ6.js → chunk-O3VP46SE.js} +1 -1
  90. package/dist/chunks/chunk-O4FBOUNX.js +2 -0
  91. package/dist/chunks/chunk-O6IFVTZT.js +9 -0
  92. package/dist/chunks/{chunk-5IPFI25K.js → chunk-O7B44IYN.js} +1 -1
  93. package/dist/chunks/{chunk-DMVD2RFZ.js → chunk-OGMDEA3Y.js} +1 -1
  94. package/dist/chunks/{chunk-BLXEAZCQ.js → chunk-OKBIWRHC.js} +1 -1
  95. package/dist/chunks/{chunk-FFRFSDBM.js → chunk-ON2RNOCG.js} +1 -1
  96. package/dist/chunks/{chunk-LQQNBVEB.js → chunk-ONDCV5QC.js} +1 -1
  97. package/dist/chunks/{chunk-UCPGRPWY.js → chunk-OQ4VGCRG.js} +1 -1
  98. package/dist/chunks/{chunk-YNH3NMPF.js → chunk-OWK7HU5I.js} +1 -1
  99. package/dist/chunks/{chunk-DBK66CJP.js → chunk-OY5HC2P6.js} +1 -1
  100. package/dist/chunks/{chunk-T5AACNJI.js → chunk-P7HRF4FM.js} +1 -1
  101. package/dist/chunks/{chunk-7ED24PP6.js → chunk-PCNLC5H3.js} +1 -1
  102. package/dist/chunks/{chunk-ES2ISFJC.js → chunk-PF56N7ZY.js} +1 -1
  103. package/dist/chunks/{chunk-VVCKLCF3.js → chunk-PKALOVHC.js} +2 -2
  104. package/dist/chunks/{chunk-ZCHXGRRU.js → chunk-PR5TYTY4.js} +1 -1
  105. package/dist/chunks/{chunk-Q4TBTRIG.js → chunk-PWK5Z5S3.js} +1 -1
  106. package/dist/chunks/chunk-PXS4SVQG.js +16 -0
  107. package/dist/chunks/{chunk-AY64VY4E.js → chunk-QGOPYQW3.js} +1 -1
  108. package/dist/chunks/{chunk-7E6T7GP5.js → chunk-R7YEURUQ.js} +1 -1
  109. package/dist/chunks/{chunk-ACYFMLWG.js → chunk-RCA6NGVA.js} +2 -2
  110. package/dist/chunks/{chunk-DUURYZOI.js → chunk-RG3NH6YQ.js} +1 -1
  111. package/dist/chunks/{chunk-7SC46OFC.js → chunk-RJIUOLWY.js} +1 -1
  112. package/dist/chunks/{chunk-F4KOGISR.js → chunk-RXE3FYMJ.js} +1 -1
  113. package/dist/chunks/chunk-RYGWCN2R.js +2 -0
  114. package/dist/chunks/{chunk-VYLGI3IH.js → chunk-SFNCAPCJ.js} +1 -1
  115. package/dist/chunks/{chunk-Z4Z5UOZM.js → chunk-SG6JZ7HD.js} +1 -1
  116. package/dist/chunks/{chunk-XX6SMFDY.js → chunk-SKRNWRKV.js} +5 -5
  117. package/dist/chunks/{chunk-ZRDGQDZL.js → chunk-SLZH4Z6C.js} +1 -1
  118. package/dist/chunks/{chunk-WN3V6KDN.js → chunk-SPDSSMFD.js} +1 -1
  119. package/dist/chunks/chunk-STWRTNRK.js +2 -0
  120. package/dist/chunks/{chunk-HZEIRHEB.js → chunk-T5J7HIHR.js} +1 -1
  121. package/dist/chunks/{chunk-ROGF26KV.js → chunk-TBUAQWFS.js} +1 -1
  122. package/dist/chunks/{chunk-ZUJ3XUCP.js → chunk-TEPRCBDV.js} +1 -1
  123. package/dist/chunks/{chunk-HDGTHRY7.js → chunk-TOFMA2L5.js} +2 -2
  124. package/dist/chunks/{chunk-QOGJAQDO.js → chunk-UFHLLSCE.js} +1 -1
  125. package/dist/chunks/{chunk-TTVS6JMC.js → chunk-UJKQLO6B.js} +2 -2
  126. package/dist/chunks/{chunk-OQKJGTTO.js → chunk-UZQNFTLR.js} +1 -1
  127. package/dist/chunks/{chunk-F74GBN6K.js → chunk-V2HMWCT6.js} +1 -1
  128. package/dist/chunks/{chunk-6ZFPQYHG.js → chunk-V4KT5FCJ.js} +1 -1
  129. package/dist/chunks/{chunk-TVQAPBLZ.js → chunk-VHSX3JPX.js} +1 -1
  130. package/dist/chunks/{chunk-SDXFLO7J.js → chunk-W2SXOGTQ.js} +1 -1
  131. package/dist/chunks/{chunk-FUOEIDMA.js → chunk-WDEO44UN.js} +1 -1
  132. package/dist/chunks/{chunk-4NESNOK5.js → chunk-WEHBK3MC.js} +1 -1
  133. package/dist/chunks/{chunk-4EPSHPZL.js → chunk-WGX7WY4N.js} +1 -1
  134. package/dist/chunks/{chunk-NC27T4AB.js → chunk-WHREO7A2.js} +1 -1
  135. package/dist/chunks/{chunk-RNQF63ZR.js → chunk-WS2ZZBAQ.js} +4 -4
  136. package/dist/chunks/{chunk-DIO5CB6U.js → chunk-WYZWDMMF.js} +1 -1
  137. package/dist/chunks/{chunk-MQULU465.js → chunk-XO3H32KX.js} +1 -1
  138. package/dist/chunks/{chunk-EIRYMSEG.js → chunk-XQBIHPPX.js} +1 -1
  139. package/dist/chunks/chunk-XRKFTPHD.js +2 -0
  140. package/dist/chunks/{chunk-B7RFL4N2.js → chunk-XSCIOQYE.js} +1 -1
  141. package/dist/chunks/{chunk-TJ6GVTYB.js → chunk-XTWEWYK7.js} +9 -9
  142. package/dist/chunks/{chunk-JUHZ5S3R.js → chunk-Y3GIM6WK.js} +1 -1
  143. package/dist/chunks/{chunk-74ZXXBGN.js → chunk-Y54RKLOI.js} +1 -1
  144. package/dist/chunks/{chunk-SWUEFLOH.js → chunk-Y777GISF.js} +1 -1
  145. package/dist/chunks/{chunk-EKM2D7JU.js → chunk-YDU3S6UT.js} +1 -1
  146. package/dist/chunks/{chunk-UGL7WF3W.js → chunk-YOZIZYSC.js} +1 -1
  147. package/dist/chunks/{chunk-OSIO7PLX.js → chunk-YQKOB56U.js} +1 -1
  148. package/dist/chunks/chunk-YVNDDNMK.js +3 -0
  149. package/dist/chunks/chunk-ZAZKJJOT.js +86 -0
  150. package/dist/chunks/{chunk-QL4OIPEZ.js → chunk-ZR7LIMJS.js} +2 -2
  151. package/dist/chunks/{chunk-L3KCP52O.js → chunk-ZTJOOY2F.js} +1 -1
  152. package/dist/chunks/{chunk-GPVCOEUH.js → chunk-ZTVXRZ6D.js} +1 -1
  153. package/dist/chunks/cli-CNYNXKGQ.js +2 -0
  154. package/dist/chunks/configuration-command-5K7EE2J5.js +2 -0
  155. package/dist/chunks/connected-app-executor-E25XCNAS.js +2 -0
  156. package/dist/chunks/connected-evidence-QNSO5BTF.js +2 -0
  157. package/dist/chunks/connection-Y2KCMBYD.js +2 -0
  158. package/dist/chunks/{continual-6CQAMTTR.js → continual-SOO3QBNQ.js} +1 -1
  159. package/dist/chunks/core-commands-ZTWPYAFQ.js +2 -0
  160. package/dist/chunks/datasets-XPUMWGOC.js +2 -0
  161. package/dist/chunks/desktop-test-HVSW4JHY.js +3 -0
  162. package/dist/chunks/dist-4N6AHWNN.js +2 -0
  163. package/dist/chunks/{dist-OMGUJYPD.js → dist-N6R6VNFD.js} +1 -1
  164. package/dist/chunks/{dist-VYC5VMQB.js → dist-QN7WKZ2D.js} +1 -1
  165. package/dist/chunks/{enclave-QS4BUNDU.js → enclave-VURYNILU.js} +1 -1
  166. package/dist/chunks/evaluation-coordination-AOTFPVMS.js +2 -0
  167. package/dist/chunks/experiment-improvements-75CN3VI7.js +2 -0
  168. package/dist/chunks/experiments-AGAHM2AK.js +2 -0
  169. package/dist/chunks/{experiments-VFQGE4HC.js → experiments-DYSHYBGB.js} +1 -1
  170. package/dist/chunks/{extension-XKXXOP5N.js → extension-UT4CSDJF.js} +1 -1
  171. package/dist/chunks/help-KU52CFMW.js +8 -0
  172. package/dist/chunks/host-profile-evaluation-tools-LZDMQCMT.js +2 -0
  173. package/dist/chunks/host-profile-external-dataset-VK3NJHMC.js +2 -0
  174. package/dist/chunks/hosted-app-server-composition-P7V7K7CG.js +2 -0
  175. package/dist/chunks/{hosted-experiment-improvement-HVMDGS75.js → hosted-experiment-improvement-P433KDX2.js} +1 -1
  176. package/dist/chunks/hosted-harness-runtime-Y4DONWPC.js +2 -0
  177. package/dist/chunks/{hosted-profile-candidate-EXNN6MVN.js → hosted-profile-candidate-72MMPN6U.js} +1 -1
  178. package/dist/chunks/hosted-profile-compiler-RXHLK224.js +2 -0
  179. package/dist/chunks/hosted-profile-evaluation-control-LS4DCSDO.js +2 -0
  180. package/dist/chunks/{hosted-profile-evaluation-inspection-ZUANDYZ6.js → hosted-profile-evaluation-inspection-3Q6EHO66.js} +1 -1
  181. package/dist/chunks/{hosted-profile-evaluation-preparation-ORVZ6MBD.js → hosted-profile-evaluation-preparation-ZD27HNLF.js} +1 -1
  182. package/dist/chunks/{hosted-tasksets-ANAE2PIW.js → hosted-tasksets-V2PQZJN4.js} +1 -1
  183. package/dist/chunks/human-review-4FJFINQX.js +2 -0
  184. package/dist/chunks/import-GBHSLA3G.js +3 -0
  185. package/dist/chunks/{learning-ACEVFL5M.js → learning-U3FZL5YB.js} +1 -1
  186. package/dist/chunks/local-harness-improvement-runtime-UP2P7UT4.js +2 -0
  187. package/dist/chunks/local-harness-taskset-review-ZNOKSPJJ.js +2 -0
  188. package/dist/chunks/{local-scope-HVF2GZ5W.js → local-scope-62GWHDXS.js} +1 -1
  189. package/dist/chunks/{model-projects-QPO22JPA.js → model-projects-LQ4C6R3X.js} +1 -1
  190. package/dist/chunks/opchat-Q4PIWPYW.js +3 -0
  191. package/dist/chunks/organizations-TEH6HBQ3.js +2 -0
  192. package/dist/chunks/{profile-TFZMUEDR.js → profile-SWPVCGTR.js} +1 -1
  193. package/dist/chunks/{profile-training-source-6GOT7AHM.js → profile-training-source-J73ZLNSC.js} +1 -1
  194. package/dist/chunks/project-action-payload-OU3ZPHW7.js +2 -0
  195. package/dist/chunks/project-agent-J7ILCRBS.js +2 -0
  196. package/dist/chunks/{published-experiment-source-HVP5IGRH.js → published-experiment-source-HVHKSYDL.js} +1 -1
  197. package/dist/chunks/refiner-profile-service-E7YU4E3N.js +2 -0
  198. package/dist/chunks/{runtime-A7OZXM43.js → runtime-LIPHPKKJ.js} +2 -2
  199. package/dist/chunks/sandbox-command-G6KID3OP.js +2 -0
  200. package/dist/chunks/{sandbox-template-C4V6T36U.js → sandbox-template-MZTMAUFS.js} +1 -1
  201. package/dist/chunks/saved-work-LOUWLF37.js +2 -0
  202. package/dist/chunks/{send-turn-XTAIS2JN.js → send-turn-UEUEGY5W.js} +1 -1
  203. package/dist/chunks/{src-R36AGJY7.js → src-7WMZOWZZ.js} +107 -100
  204. package/dist/chunks/{src-DZL5T2MT.js → src-MVAK6D6Y.js} +1 -1
  205. package/dist/chunks/standalone-experiment-turn-owner-YRKEOEJ2.js +2 -0
  206. package/dist/chunks/{store-continual-support-reviews-LJPNG4SP.js → store-continual-support-reviews-FJLLNKCY.js} +1 -1
  207. package/dist/chunks/{store-conversation-serving-KPC62UEY.js → store-conversation-serving-4KWR4IZY.js} +1 -1
  208. package/dist/chunks/{store-create-improve-SW5FTBTL.js → store-create-improve-JWBJZRAU.js} +1 -1
  209. package/dist/chunks/{store-datasets-WMA7AJKN.js → store-datasets-4N2M6Y3K.js} +2 -2
  210. package/dist/chunks/{store-evaluation-results-ZO6R653G.js → store-evaluation-results-OBM4623U.js} +1 -1
  211. package/dist/chunks/{store-harness-memory-VINCZ4GK.js → store-harness-memory-4HUEMRCD.js} +1 -1
  212. package/dist/chunks/{store-harness-refinement-candidates-EA5KFQPH.js → store-harness-refinement-candidates-NMRWMN23.js} +1 -1
  213. package/dist/chunks/store-harness-workspaces-BGONIQDY.js +2 -0
  214. package/dist/chunks/{store-human-review-7QQ7ZQ6P.js → store-human-review-J75SIZAL.js} +1 -1
  215. package/dist/chunks/store-learned-preference-migration-validation-VLASM4CT.js +2 -0
  216. package/dist/chunks/store-learning-TUCQFBLT.js +2 -0
  217. package/dist/chunks/{store-learning-credentials-WZQJ4HPJ.js → store-learning-credentials-S4RF57NV.js} +1 -1
  218. package/dist/chunks/{store-local-experiments-SAULQSBN.js → store-local-experiments-LULRLTII.js} +5 -5
  219. package/dist/chunks/{store-model-batch-review-VKLDYGH3.js → store-model-batch-review-SVL4MT6D.js} +1 -1
  220. package/dist/chunks/{store-model-configuration-BYRJUR3C.js → store-model-configuration-ZHDSM3XM.js} +2 -2
  221. package/dist/chunks/{store-preference-comparison-LV32MHVL.js → store-preference-comparison-YMMCKXS5.js} +1 -1
  222. package/dist/chunks/{store-schedules-VGTEQVKH.js → store-schedules-6Z4QS3NU.js} +1 -1
  223. package/dist/chunks/{store-sidebar-file-bookmarks-VB5GTLFY.js → store-sidebar-file-bookmarks-MX6EP6OB.js} +2 -2
  224. package/dist/chunks/{store-sidebar-preferences-GWIOG2NH.js → store-sidebar-preferences-VYREPW26.js} +1 -1
  225. package/dist/chunks/{store-subagents-T7R2Z6TB.js → store-subagents-WGBCRALX.js} +1 -1
  226. package/dist/chunks/{store-task-inbox-QPE44OSS.js → store-task-inbox-43BNZSB7.js} +6 -6
  227. package/dist/chunks/{store-task-inventory-I3RDRI52.js → store-task-inventory-AEW4POAJ.js} +2 -2
  228. package/dist/chunks/{store-taskset-drafts-2IULRV2W.js → store-taskset-drafts-DKFO2CYB.js} +1 -1
  229. package/dist/chunks/{store-training-B2TW2MLA.js → store-training-6PFFR6ST.js} +1 -1
  230. package/dist/chunks/{store-training-jobs-VBNG23RL.js → store-training-jobs-ANDEBQ67.js} +2 -2
  231. package/dist/chunks/{store-training-models-OMV5FIC4.js → store-training-models-OOI4ZJPX.js} +2 -2
  232. package/dist/chunks/{store-usage-IE2U2FD3.js → store-usage-U72RNW64.js} +1 -1
  233. package/dist/chunks/{store-work-evidence-QQDKM5AQ.js → store-work-evidence-NY5OBATB.js} +1 -1
  234. package/dist/chunks/{taskset-EQRFQBYM.js → taskset-SL3YOXW7.js} +1 -1
  235. package/dist/chunks/{taskset-packages-XC6HEE3K.js → taskset-packages-3PCEYYDA.js} +1 -1
  236. package/dist/chunks/{teams-bot-EAPGPTHZ.js → teams-bot-IDEF3BMI.js} +1 -1
  237. package/dist/chunks/{training-UF6RPI4T.js → training-57ISIC7U.js} +1 -1
  238. package/dist/chunks/web-search-222Y63QW.js +2 -0
  239. package/dist/chunks/{workspaces-EKKE5NAC.js → workspaces-5DF4H5EX.js} +1 -1
  240. package/dist/cli.js +1 -1
  241. package/dist/index.js +1 -1
  242. package/dist/sandbox-template/manifest.js +1 -1
  243. package/dist/web/assets/{App-CaRMZoxo.css → App-DbYvV_W6.css} +1 -1
  244. package/dist/web/assets/App-nzE7JU_O.js +154 -0
  245. package/dist/web/assets/{AppDialog-t2Fx5tK3.js → AppDialog-VtNvqbDm.js} +1 -1
  246. package/dist/web/assets/{AppTerminalPanel-Dj1Y32oI.js → AppTerminalPanel-BMfKdrrN.js} +2 -2
  247. package/dist/web/assets/AppsView-CdWyrDEb.js +1 -0
  248. package/dist/web/assets/{BrowserSidebar-jhWi4rVm.js → BrowserSidebar-CtOIciOa.js} +1 -1
  249. package/dist/web/assets/{CartesianChart-C1DIx0Ia.js → CartesianChart-u1lvLM30.js} +1 -1
  250. package/dist/web/assets/{CollaborationTabs-Bdr-HmOL.js → CollaborationTabs-CaBfDYRW.js} +1 -1
  251. package/dist/web/assets/{CommandMenu-Ux2yOHAc.js → CommandMenu-CFW3WJ11.js} +1 -1
  252. package/dist/web/assets/{CommunityView-DPEeVKFn.js → CommunityView-D2EjaeuH.js} +1 -1
  253. package/dist/web/assets/ComposerCreateImproveStrip-6wYSJdzv.js +1 -0
  254. package/dist/web/assets/ConversationImportsSettings-BJ4QhF7p.js +1 -0
  255. package/dist/web/assets/ConversationImportsSettings-PfUa8V7X.css +1 -0
  256. package/dist/web/assets/{GetStartedView-CFHP0AaI.js → GetStartedView-DBcOwIJn.js} +1 -1
  257. package/dist/web/assets/{HostedModelLearningReview-D8BGTPVN.js → HostedModelLearningReview-BNpK6_W9.js} +1 -1
  258. package/dist/web/assets/{HostedModelLearningSettings-JS1S7vNO.js → HostedModelLearningSettings-SrsdeeoA.js} +1 -1
  259. package/dist/web/assets/{LabModelVersionDetailPage-Dx5Q3xV2.js → LabModelVersionDetailPage-Cd6bRHt9.js} +1 -1
  260. package/dist/web/assets/LabSkillSidebar-CQfvel4w.js +1 -0
  261. package/dist/web/assets/{LabsRoute-CyYF8-dw.js → LabsRoute-sXLJt1KR.js} +4 -4
  262. package/dist/web/assets/MainChatThread-dlDDK2JM.js +2 -0
  263. package/dist/web/assets/MainPane-DCz38-qy.js +65 -0
  264. package/dist/web/assets/{MarkdownText-BR4V6lNO.js → MarkdownText-Drjq6-JM.js} +1 -1
  265. package/dist/web/assets/{NativeSkillSidebar-DU9IEgIO.js → NativeSkillSidebar-jncZijt-.js} +1 -1
  266. package/dist/web/assets/{NewExperienceSwitcher-mIy6FzCj.js → NewExperienceSwitcher-DXKzoMaM.js} +1 -1
  267. package/dist/web/assets/{NewProjectDialog-RfTZTHxl.js → NewProjectDialog-DIyjAxJG.js} +1 -1
  268. package/dist/web/assets/OutputsPage-Dy1cNr3n.js +1 -0
  269. package/dist/web/assets/{ProjectsPage-CE6QUB-b.js → ProjectsPage-D2EeybIv.js} +1 -1
  270. package/dist/web/assets/RightChatPanelStack-4wUL-W9_.js +1 -0
  271. package/dist/web/assets/{RightSidebarHomePanel-CK0rP3WT.js → RightSidebarHomePanel-Bd_AHUp8.js} +1 -1
  272. package/dist/web/assets/{ScheduledWorkPage-vOrYv8pp.js → ScheduledWorkPage-BJkSzwz2.js} +1 -1
  273. package/dist/web/assets/{SettingsView-DCKVrfjj.js → SettingsView-BhcP72KH.js} +4 -4
  274. package/dist/web/assets/SettingsView-DjjnCnlb.css +1 -0
  275. package/dist/web/assets/{TeamChatView-Bwrjr-vk.js → TeamChatView-CR0fdicZ.js} +2 -2
  276. package/dist/web/assets/{TerminalOverlay-DhPoKZAq.js → TerminalOverlay-DGrZRZ_3.js} +10 -10
  277. package/dist/web/assets/TrainingCreationPanel-BsTG7aFS.js +1 -0
  278. package/dist/web/assets/{TrainingDraftPanel-C9cRX5qf.js → TrainingDraftPanel-ByErrht7.js} +1 -1
  279. package/dist/web/assets/{UsageSettingsSection-CrdcSGeW.js → UsageSettingsSection-DeYTJbcM.js} +1 -1
  280. package/dist/web/assets/{WorkSidebarPanel-DSSikNFQ.js → WorkSidebarPanel-DcNvEEoy.js} +1 -1
  281. package/dist/web/assets/{WorkspaceDiffPanel-BAFo0CPN.js → WorkspaceDiffPanel-CdPRcYWN.js} +3 -3
  282. package/dist/web/assets/{WorkspaceEnvironmentMenu-BVHAhwnJ.js → WorkspaceEnvironmentMenu-xUYg-iGn.js} +18 -18
  283. package/dist/web/assets/{WorkspaceGitDialogs-CwVoiDQ2.js → WorkspaceGitDialogs-CBViLL3S.js} +1 -1
  284. package/dist/web/assets/{WorkspaceMonacoEditor-TxLyhzNp.js → WorkspaceMonacoEditor-frxie2_S.js} +3 -3
  285. package/dist/web/assets/agent-connections-D7ao-vbU.js +1 -0
  286. package/dist/web/assets/{arrow-up-right-C9aE8Mfz.js → arrow-up-right-DCWPxdbD.js} +1 -1
  287. package/dist/web/assets/{chunk-P3BRSSRD-DUGfuKA8.js → chunk-P3BRSSRD-B5JXa0Nh.js} +1 -1
  288. package/dist/web/assets/{clipboard-Dk158Qp4.js → clipboard-B-GnMVLp.js} +1 -1
  289. package/dist/web/assets/{cloud-upload-k9eqBsHr.js → cloud-upload-DpaGFZ9J.js} +1 -1
  290. package/dist/web/assets/{cssMode-CO35ARZp.js → cssMode-DJHE7R3W.js} +1 -1
  291. package/dist/web/assets/{folder-open-sYgceW_f.js → folder-open-B-DFLDFH.js} +1 -1
  292. package/dist/web/assets/{folder-plus-CS0R49m9.js → folder-plus-CPXxPvSH.js} +1 -1
  293. package/dist/web/assets/{git-commit-horizontal-DrGxH2h4.js → git-commit-horizontal-DCTzcivA.js} +1 -1
  294. package/dist/web/assets/{htmlMode-REMmzdfq.js → htmlMode-DxZVBAYd.js} +1 -1
  295. package/dist/web/assets/index-BojtIRzO.css +1 -0
  296. package/dist/web/assets/{index-C8aCGagb.js → index-Di1MU6Xr.js} +2 -2
  297. package/dist/web/assets/{info-DLdbiUrh.js → info-BMxsR_bn.js} +1 -1
  298. package/dist/web/assets/{jsonMode-KEdMfkIf.js → jsonMode-CzWoMkpp.js} +1 -1
  299. package/dist/web/assets/{lspLanguageFeatures-5KZwEoxW.js → lspLanguageFeatures-15K7ND6Q.js} +1 -1
  300. package/dist/web/assets/{minimize-2-CqcI4zcM.js → minimize-2-DwUgqXoR.js} +1 -1
  301. package/dist/web/assets/{monaco.contribution-Cly9Wt7L.js → monaco.contribution-BBLKjER5.js} +2 -2
  302. package/dist/web/assets/{monaco.contribution-omszXBEj.js → monaco.contribution-DBjvSu8p.js} +2 -2
  303. package/dist/web/assets/{monaco.contribution-DO10L0zW.js → monaco.contribution-DUWvjhIG.js} +2 -2
  304. package/dist/web/assets/{monaco.contribution-BJGj65F9.js → monaco.contribution-w0zfkYLX.js} +2 -2
  305. package/dist/web/assets/{monitor-BFVCcbxp.js → monitor-Ihu5LVYx.js} +1 -1
  306. package/dist/web/assets/{play-C469pVZq.js → play-D_YGCdxU.js} +1 -1
  307. package/dist/web/assets/{python-Dw0YcVy9.js → python-Q4OuoXYc.js} +1 -1
  308. package/dist/web/assets/{save-CtSjPydi.js → save-DJYUOhtD.js} +1 -1
  309. package/dist/web/assets/{square-BuImvLhT.js → square-DXtoCBNw.js} +1 -1
  310. package/dist/web/assets/{toggleHighContrast-DjCO9lIP.js → toggleHighContrast-CaNeuWVE.js} +1 -1
  311. package/dist/web/assets/{tsMode-BAOnxKd6.js → tsMode-CJnQ2wmM.js} +1 -1
  312. package/dist/web/assets/{upload-2JkFZo3h.js → upload-fCP3_OEO.js} +1 -1
  313. package/dist/web/assets/{useLocalAgentSchedules-BNqAisfS.js → useLocalAgentSchedules-BFoH_gwZ.js} +1 -1
  314. package/dist/web/assets/useProviderSettings-2eysgqiA.js +5 -0
  315. package/dist/web/assets/{useProviderSettings-CmL_BaxP.css → useProviderSettings-Cktvzinz.css} +1 -1
  316. package/dist/web/assets/{useSessionTurnCache-BHU2-Jmz.js → useSessionTurnCache-DLF5SPD-.js} +1 -1
  317. package/dist/web/assets/{wifi-off-CpOAH62M.js → wifi-off-DZoiFrRz.js} +1 -1
  318. package/dist/web/assets/{workers-0QvlA2T5.js → workers-D5nr74M-.js} +1 -1
  319. package/dist/web/assets/{yaml-BK3qxo7D.js → yaml-CwsoTJmk.js} +1 -1
  320. package/dist/web/index.html +2 -2
  321. package/docs/command-reference.md +22 -3
  322. package/docs/conversation-imports.md +57 -0
  323. package/package.json +1 -1
  324. package/dist/chunks/app-server-harness-services-QMUOEYOA.js +0 -2
  325. package/dist/chunks/app-server-runtime-ISGGLQHU.js +0 -2
  326. package/dist/chunks/apps-BKTOR4F7.js +0 -2
  327. package/dist/chunks/chunk-3VUATFZD.js +0 -2
  328. package/dist/chunks/chunk-3Z47M3YY.js +0 -2
  329. package/dist/chunks/chunk-6UDGARFC.js +0 -143
  330. package/dist/chunks/chunk-FV2R5RUN.js +0 -3
  331. package/dist/chunks/chunk-HY3GOBFJ.js +0 -58
  332. package/dist/chunks/chunk-I3HZKJB3.js +0 -2
  333. package/dist/chunks/chunk-I3VVWNUW.js +0 -5
  334. package/dist/chunks/chunk-KG325WTN.js +0 -2
  335. package/dist/chunks/chunk-Q5LEXXJG.js +0 -16
  336. package/dist/chunks/chunk-QDC4OW3S.js +0 -2
  337. package/dist/chunks/chunk-SDAUS5PY.js +0 -2
  338. package/dist/chunks/chunk-VRIEKBBH.js +0 -9
  339. package/dist/chunks/chunk-WJ43MJ3F.js +0 -2
  340. package/dist/chunks/chunk-X2HIHF2I.js +0 -2
  341. package/dist/chunks/chunk-YBT2NB32.js +0 -2
  342. package/dist/chunks/chunk-ZTNHW2K7.js +0 -10
  343. package/dist/chunks/cli-XZENDZ7Z.js +0 -2
  344. package/dist/chunks/configuration-command-6C5UO7GE.js +0 -2
  345. package/dist/chunks/connected-app-executor-LQNIU5NR.js +0 -2
  346. package/dist/chunks/connected-evidence-GH2ATNEX.js +0 -2
  347. package/dist/chunks/connection-HTF6CC7M.js +0 -2
  348. package/dist/chunks/core-commands-A2DGGIPS.js +0 -2
  349. package/dist/chunks/datasets-7BNMVJOY.js +0 -2
  350. package/dist/chunks/desktop-test-3CUHVLXV.js +0 -3
  351. package/dist/chunks/dist-ZVJPJLXR.js +0 -2
  352. package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +0 -2
  353. package/dist/chunks/experiment-improvements-KRX2DP27.js +0 -2
  354. package/dist/chunks/experiments-DFGQYA4O.js +0 -2
  355. package/dist/chunks/help-S7THC6IE.js +0 -8
  356. package/dist/chunks/host-profile-evaluation-tools-JOFBL5OF.js +0 -2
  357. package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +0 -2
  358. package/dist/chunks/hosted-app-server-composition-T5IWGOTA.js +0 -2
  359. package/dist/chunks/hosted-harness-runtime-YCKB6NBI.js +0 -2
  360. package/dist/chunks/hosted-profile-compiler-IYLLHCRY.js +0 -2
  361. package/dist/chunks/hosted-profile-evaluation-control-TJVER3NW.js +0 -2
  362. package/dist/chunks/human-review-WR777ODH.js +0 -2
  363. package/dist/chunks/import-MLZUHITH.js +0 -4
  364. package/dist/chunks/local-harness-improvement-runtime-QRFGPFRM.js +0 -2
  365. package/dist/chunks/local-harness-taskset-review-HR7KLY4B.js +0 -2
  366. package/dist/chunks/opchat-T4QTNEIY.js +0 -3
  367. package/dist/chunks/organizations-75L5DZDV.js +0 -2
  368. package/dist/chunks/project-action-payload-JDS6OQAW.js +0 -2
  369. package/dist/chunks/project-agent-6RRO233B.js +0 -2
  370. package/dist/chunks/refiner-profile-service-FDTQKY33.js +0 -2
  371. package/dist/chunks/sandbox-command-IU5XFTJP.js +0 -2
  372. package/dist/chunks/saved-work-SHEEDZ6Z.js +0 -2
  373. package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +0 -2
  374. package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +0 -2
  375. package/dist/chunks/store-learned-preference-migration-validation-NADPXOTG.js +0 -2
  376. package/dist/chunks/store-learning-WLG6KFIO.js +0 -2
  377. package/dist/chunks/web-search-CZ3NCLPY.js +0 -2
  378. package/dist/web/assets/App-s-CJswyt.js +0 -154
  379. package/dist/web/assets/AppsView-BYE5EBDJ.js +0 -1
  380. package/dist/web/assets/ComposerCreateImproveStrip-CEgh4OtN.js +0 -1
  381. package/dist/web/assets/LabSkillSidebar-BxffN-pN.js +0 -1
  382. package/dist/web/assets/MainChatThread-DZpcFRFl.js +0 -2
  383. package/dist/web/assets/MainPane-5DTtwVCk.js +0 -65
  384. package/dist/web/assets/OutputsPage-Cr1Spf7S.js +0 -1
  385. package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +0 -1
  386. package/dist/web/assets/SettingsView-Dulr_xlq.css +0 -1
  387. package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +0 -1
  388. package/dist/web/assets/index-3iPNbbER.css +0 -1
  389. package/dist/web/assets/useProviderSettings-C4L4wDoh.js +0 -5
@@ -1 +0,0 @@
1
- import{j as e,r as h}from"./index-C8aCGagb.js";import{O as je,X as te,bG as Ne,g as Z,o as D,bK as X,s as G,n as be,_ as J,cj as fe,ck as Pe,bL as se,cl as me,cm as Ee,cn as oe,b as ye,co as Se,cp as Ae,cq as Re,j as _e,l as Le,a_ as Te,aA as Oe,t as Ue,cr as re,V as Fe,aI as $e,v as Me,ay as De,aO as ze,cs as He,G as Ke}from"./App-s-CJswyt.js";import{a as de,u as Be,b as Je}from"./useProviderSettings-C4L4wDoh.js";import{a as Ge,s as qe}from"./MainPane-5DTtwVCk.js";import"./save-CtSjPydi.js";import"./MarkdownText-BR4V6lNO.js";import"./cloud-upload-k9eqBsHr.js";import"./arrow-up-right-C9aE8Mfz.js";import"./square-BuImvLhT.js";import"./folder-open-sYgceW_f.js";import"./play-C469pVZq.js";const ae=[{id:"openpond_chat",name:"Ponder Pal",icon:je},{id:"codex",name:"Codex",icon:"/agent-sources/codex.svg",provider:"codex"},{id:"claude_code",name:"Claude Code",icon:"/agent-sources/claude-code.svg",provider:"claude-code"},{id:"opencode",name:"OpenCode",icon:"/agent-sources/opencode.svg",provider:"opencode"},{id:"grok_build",name:"Grok Build",icon:"/agent-sources/grok-build.svg",provider:"grok-build"},{id:"hermes",name:"Hermes",icon:"/agent-sources/hermes.png"},{id:"pi",name:"Pi",icon:"/agent-sources/pi.svg"},{id:"openclaw",name:"OpenClaw",icon:"/agent-sources/openclaw.svg"},{id:"oh_my_pi",name:"Oh My Pi",icon:"/agent-sources/oh-my-pi.svg"}];function ke(n,a){return n.state==="disconnected"?"Disconnected":n.state==="paused"?"Paused":n.error?"Needs attention":a.running?n.backfill.stage!=="complete"?"Importing history":n.queued?"Uploading updates":"Watching for conversations":a.desiredState==="stopped"?"Importer stopped":"Importer offline"}function We({agent:n,account:a,native:t,inventory:s,projects:l,teamId:g,learningControl:o,connected:i,onHide:p,onManage:c}){const d=s?.collector.connections.filter(u=>u.source===n.id)??[],v=s?.sources.some(u=>u.source===n.id&&u.available&&u.capabilities.history);return e.jsxs("article",{className:"agent-connection-card","aria-label":n.name,children:[e.jsxs("div",{className:"agent-card-title",children:[e.jsx("img",{src:n.icon,alt:""}),e.jsx("span",{children:n.name}),e.jsx("button",{type:"button",className:"agent-hide","aria-label":`Hide ${n.name}`,onClick:p,children:e.jsx(te,{size:14})})]}),n.id==="openpond_chat"?e.jsxs(e.Fragment,{children:[e.jsx("small",{children:a?.state==="signed_in"?"Connected to OpenPond":"Sign in to OpenPond"}),e.jsx("p",{children:"Use Ponder Pal from the sidebar."}),e.jsx("button",{type:"button",className:"agent-account-link",onClick:()=>{Ne({kind:"settings",section:"account"})},children:"Account setup"})]}):e.jsxs(e.Fragment,{children:[e.jsx("small",{children:t?t.available?t.enabled?"Ready to chat":"Installed · chat disabled":t.lastError??"Check installation":"Conversation import"}),e.jsx("button",{type:"button",className:"agent-connect-button",disabled:!i,onClick:c,children:t?.available||d.length?"Manage":"Connect"}),e.jsx("div",{className:"agent-card-sync",children:d.length?d.map(u=>e.jsxs("div",{children:[e.jsx("span",{children:ke(u,s.collector)}),e.jsxs("small",{children:[l.find(_=>_.id===u.projectId&&u.teamId===g)?.content.name??u.projectId," ","· ",u.admitted," tasks"]}),u.teamId!==g?e.jsxs("small",{children:["Team: ",u.teamId]}):null,u.queued?e.jsxs("small",{children:[u.queued," updates queued"]}):null,u.lastAdmissionAt?e.jsxs("small",{children:["Last sync: ",new Date(u.lastAdmissionAt).toLocaleString()]}):null,u.error?e.jsx("small",{role:"alert",children:u.error}):null]},u.id)):e.jsx("small",{children:s?v?"History available · sync not connected":"No local history found":"Reading local setup…"})})]}),o]})}function Ve(n,a,t,s){const l=h.useRef({providers:a,onProvider:t});l.current={providers:a,onProvider:t};const g=JSON.stringify(["claude-code","opencode","grok-build"].map(o=>{const i=a?.providers[o];return[o,i?.binaryPath,i?.sourceHome,i?.enabled]}));h.useEffect(()=>{if(!n||!l.current.providers)return;let o=!1;const i=["claude-code","opencode","grok-build"].map(p=>{const c=l.current.providers?.providers[p],d=new AbortController,v=s>0?{promise:Z(n,`/v1/providers/${p}/native-setup`,{method:"POST",body:JSON.stringify({action:"check"}),signal:d.signal}),release:()=>d.abort()}:Ge(n,p,l.current.providers?.providers[p]);return v.promise.then(u=>{o||(s>0&&u.session&&!u.error&&qe(n,p,u,c),l.current.onProvider(p,u.settings))},()=>{}),v});return()=>{o=!0,i.forEach(p=>p.release())}},[n,g,s])}var F=G().trim().min(1).max(240),we=be().int().positive(),Qe=J(["dataset","evaluator","model","training_configuration","training_run","harness","environment","experiment","learning_policy","deployment"]),Xe=D({kind:Qe,resourceId:F,release:fe.nullable(),role:J(["training","validation","holdout","target","reward","evaluation","serving","source"])}).strict(),Ze=Pe("kind",[D({kind:se("model"),providerId:F,modelId:F,artifact:fe.nullable(),messages:X(D({role:J(["system","user","assistant"]),content:G().max(1e5)}).strict()).max(100)}).strict(),D({kind:se("harness"),profileRepositoryId:F,source:me}).strict(),D({kind:se("agent"),source:Ee}).strict(),D({kind:se("suite"),profileRepositoryId:F,suiteId:F,sources:X(me).min(1).max(1e3)}).strict().superRefine((n,a)=>{const t=n.sources[0],s=new Set;for(const[l,g]of n.sources.entries())s.has(g.definitionId)&&a.addIssue({code:"custom",path:["sources",l],message:"Suite definitions must be unique."}),s.add(g.definitionId),(g.profileId!==t.profileId||g.sourceRevision!==t.sourceRevision||g.catalogHash!==t.catalogHash||oe(g.harnessRelease)!==oe(t.harnessRelease))&&a.addIssue({code:"custom",path:["sources",l],message:"Suite checks must belong to the same pinned Profile source and Harness release."})})]),Ie=D({name:G().trim().min(1).max(200),description:G().max(1e4),targets:X(D({id:F,name:G().trim().min(1).max(200),target:Ze}).strict()).max(100),defaultTargetId:F.nullable(),resources:X(Xe).max(1e3)}).strict().superRefine((n,a)=>{new Set(n.targets.map(t=>t.id)).size!==n.targets.length&&a.addIssue({code:"custom",path:["targets"],message:"Target identities must be unique."}),n.defaultTargetId&&!n.targets.some(t=>t.id===n.defaultTargetId)&&a.addIssue({code:"custom",path:["defaultTargetId"],message:"Default target must belong to this Project."}),new Set(n.resources.map(t=>oe(t))).size!==n.resources.length&&a.addIssue({code:"custom",path:["resources"],message:"Resource links must be unique."})}),Ye=D({schemaVersion:se("openpond.trainingProject.v1"),id:F,teamId:F,creatorUserId:F,ownerScope:J(["workspace","personal"]).optional(),revision:we,content:Ie,archived:ye(),createdAt:G().datetime(),updatedAt:G().datetime()}).strict();D({operationId:F,id:F,expectedRevision:be().int().nonnegative(),content:Ie,ownerScope:J(["workspace","personal"]).optional()}).strict();D({operationId:F,expectedRevision:we,archived:ye()}).strict();var en=D({teamId:F,projects:X(Ye).max(100),nextCursor:F.nullable()}).strict();D({operation:J(["evaluate","train","enable_learning","accept_candidate","serve"]),support:J(["supported","unsupported"]),state:J(["ready","needs_setup","blocked"]),reasons:X(D({code:F,message:G().min(1).max(2e3),field:G().nullable(),action:J(["choose_target","choose_data","choose_evaluator","configure_runtime","request_access","configure_budget","wait","review_evidence"]).nullable()}).strict()).max(100)}).strict().superRefine((n,a)=>{n.state==="ready"&&(n.support!=="supported"||n.reasons.length)&&a.addIssue({code:"custom",message:"Ready operations must be supported with no blockers."}),n.state!=="ready"&&!n.reasons.length&&a.addIssue({code:"custom",message:"Unavailable operations must explain the next step."})});const ne=new WeakMap;function nn(n,a,t){const s=JSON.stringify([a?.activeProfile,a?.profile?.id,t]),l=n?ne.get(n)?.get(s):void 0,[g,o]=h.useState(null),[i,p]=h.useState(null),[c,d]=h.useState(!1),[v,u]=h.useState(0),_=a?.state==="signed_in"?g?.key===s&&g.connection===n?g.value:l:void 0;h.useEffect(()=>{if(!n||!t||a?.state!=="signed_in")return;const w=new AbortController;d(!0),p(null);async function S(){const C=[],P=new Set;let j;do{const f=en.parse(await Z(n,"/v1/training/evaluation-workspace",{method:"POST",body:JSON.stringify({teamId:t,operation:"projects",value:{cursor:j}}),signal:w.signal}));if(f.teamId!==t)throw new Error("The hosted project workspace changed. Refresh connections.");if(C.push(...f.projects.filter(A=>!A.archived)),j=f.nextCursor??void 0,j&&P.has(j))throw new Error("Project pagination stalled. Refresh connections.");j&&P.add(j)}while(j&&!w.signal.aborted);if(w.signal.aborted)return;let k=ne.get(n);k||(k=new Map,ne.set(n,k));const T=k.get(s)?.selected,N=T&&C.some(f=>f.id===T)?T:C.length===1?C[0].id:"",x={projects:C,selected:N};k.set(s,x),o({key:s,connection:n,value:x})}return S().catch(C=>{w.signal.aborted||p(C instanceof Error?C.message:"Unable to list hosted projects.")}).finally(()=>{w.signal.aborted||d(!1)}),()=>w.abort()},[n,s,t,a?.state,v]);const L=h.useCallback(w=>{if(!n)return;const S=ne.get(n)?.get(s);if(!S||!S.projects.some(P=>P.id===w))return;const C={...S,selected:w};ne.get(n).set(s,C),o({key:s,connection:n,value:C})},[n,s]);return{projects:_?.projects??[],projectId:_?.selected??"",select:L,error:i,loading:c,refresh:()=>u(w=>w+1)}}const ge=new WeakMap;function sn(n){const[a,t]=h.useState(null),[s,l]=h.useState(null),[g,o]=h.useState(!1),i=h.useRef(0),p=h.useRef(null),c=h.useCallback(async()=>{if(!n||p.current)return;const d=new AbortController;p.current=d;const v=i.current;o(!0);try{const u=await Z(n,"/v1/native-history/collector",{method:"POST",body:JSON.stringify({command:"inventory"}),signal:d.signal});if(v!==i.current||d.signal.aborted)return;ge.set(n,u),t({connection:n,value:u}),l(null)}catch(u){v===i.current&&!d.signal.aborted&&l(u instanceof Error?u.message:"Unable to read agent connections.")}finally{p.current===d&&(p.current=null),v===i.current&&o(!1)}},[n]);return h.useEffect(()=>{i.current++,l(null),c();const d=window.setInterval(()=>{document.hidden||c()},1e4),v=()=>{c()};return window.addEventListener("focus",v),()=>{i.current++,p.current?.abort(),p.current=null,window.clearInterval(d),window.removeEventListener("focus",v)}},[c]),{inventory:a?.connection===n?a.value:n?ge.get(n)??null:null,loading:g,error:s,refresh:c}}Se.extend(Re);function tn({agent:n,inventory:a,connection:t,account:s,teamId:l,projects:g,projectId:o,onRefresh:i,learningUrl:p}){const c=a?.sources.filter(r=>r.source===n.id)??[],[d,v]=h.useState(c.length===1?c[0].instanceId:""),[u,_]=h.useState(o),[L,w]=h.useState("week"),[S,C]=h.useState(!0),[P,j]=h.useState(null),[k,T]=h.useState(!1),[N,x]=h.useState(null),f=c.find(r=>r.instanceId===d)??(!d&&c.length===1?c[0]:void 0),A=a?.collector.connections.filter(r=>r.source===n.id)??[],K=s?.baseUrl??s?.activeProfile?.baseUrl,H=s?.apiBaseUrl;async function z(r,I){if(!(!t||k||P)){T(!0),x(null);try{const O=await Z(t,"/v1/native-history/collector",{method:"POST",body:JSON.stringify({command:r,...I?{connectionId:I}:{},...r==="connect"?{setup:{sourceInstanceId:f?.instanceId,teamId:l,projectId:u,accountBaseUrl:K,apiBaseUrl:H,range:L,keepSyncing:S}}:{}})});O.command?j(O.command):await i()}catch(O){x(O instanceof Error?O.message:"Unable to update this connection.")}finally{T(!1)}}}const m=k||P!==null;return e.jsxs("div",{className:"agent-conversation-setup provider-dialog-body",children:[e.jsxs("p",{children:["Sync saved ",n.name," conversations to an existing OpenPond project. Setup uses the OpenPond CLI and browser authorization."]}),A.map(r=>e.jsxs("section",{className:"agent-retained-connection","aria-label":`${n.name} sync connection`,children:[e.jsx("strong",{children:ke(r,a.collector)}),e.jsxs("span",{children:["Project:"," ",r.teamId===l?g.find(I=>I.id===r.projectId)?.content.name??r.projectId:r.projectId," ","· Team: ",r.teamId]}),e.jsx("small",{children:r.accountBaseUrl??"Hosted destination"}),e.jsx("small",{className:"agent-source-path",children:r.sourceRoot}),e.jsxs("span",{children:[r.admitted," tasks imported · ",r.queued," updates queued"]}),r.backfill.total>0&&r.backfill.stage!=="complete"?e.jsxs(e.Fragment,{children:[e.jsx("progress",{"aria-label":"History import progress",value:r.backfill.admitted+r.backfill.skipped,max:r.backfill.total}),e.jsxs("small",{children:[r.backfill.admitted+r.backfill.skipped," of"," ",r.backfill.total," conversations processed"]})]}):null,e.jsx("small",{children:r.lastAdmissionAt?`Last synced ${Se(r.lastAdmissionAt).fromNow()}`:"No uploads acknowledged yet"}),r.error?e.jsx("p",{role:"alert",children:r.error}):null,e.jsxs("div",{className:"settings-button-row",children:[r.state==="disconnected"?e.jsx("button",{type:"button",disabled:m,onClick:()=>{z("reconnect",r.id)},children:"Reconnect"}):e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",disabled:m,onClick:()=>{z(r.state==="paused"?"resume":"pause",r.id)},children:r.state==="paused"?"Resume":"Pause"}),e.jsx("button",{type:"button",disabled:m,onClick:()=>{window.confirm("Disconnect this conversation source? Imported data stays in its project.")&&z("disconnect",r.id)},children:"Disconnect"})]}),r.destinationLinks.tasks?e.jsx("a",{href:r.destinationLinks.tasks,target:"_blank",rel:"noreferrer",children:"View tasks"}):null,r.destinationLinks.conversations?e.jsx("a",{href:r.destinationLinks.conversations,target:"_blank",rel:"noreferrer",children:"View conversations"}):null]})]},r.id)),e.jsxs("form",{onSubmit:r=>{r.preventDefault(),z("connect")},className:"agent-sync-form",children:[e.jsx("h3",{children:A.length?"Add another connection":"Connect conversations"}),e.jsxs("label",{className:"agent-source-field",children:["Source installation",e.jsxs("select",{"aria-label":"Source installation",value:f?.instanceId??"",disabled:m,onChange:r=>v(r.target.value),children:[e.jsx("option",{value:"",children:"Select installation"}),c.map(r=>e.jsxs("option",{value:r.instanceId,disabled:!r.available||!r.capabilities.history,children:[r.root,r.available&&r.capabilities.history?"":" (unavailable)"]},r.instanceId))]})]}),f?.reason?e.jsx("small",{children:f.reason}):null,c.some(r=>r.available&&r.capabilities.history)?null:e.jsxs("small",{children:["No readable conversation history found."," ",n.provider?"Use Agent setup to check the installation, or create a conversation in this agent first.":"Open this agent and create a conversation, then refresh connections."]}),e.jsxs("label",{children:["Project",e.jsxs("select",{"aria-label":"Project",value:u,disabled:m||!l,onChange:r=>_(r.target.value),children:[e.jsx("option",{value:"",children:"Select project"}),g.map(r=>e.jsx("option",{value:r.id,children:r.content.name},r.id))]})]}),e.jsxs("label",{children:["Import history",e.jsxs("select",{"aria-label":"Import history",value:L,disabled:m,onChange:r=>w(r.target.value),children:[e.jsx("option",{value:"day",children:"Last day"}),e.jsx("option",{value:"week",children:"Last week"}),e.jsx("option",{value:"all",children:"All history"})]})]}),e.jsxs("label",{className:"agent-sync-checkbox",children:[e.jsx("input",{type:"checkbox",checked:S,disabled:m,onChange:r=>C(r.target.checked)}),"Keep syncing new conversations"]}),s?.state!=="signed_in"||!l?e.jsx("small",{children:"Sign in and select a default team in Account settings to choose a hosted project."}):null,e.jsx("button",{type:"submit",className:"agent-connect-button",disabled:m||!f?.available||!f.capabilities.history||!g.some(r=>r.id===u)||!l||!K||!H||s?.state!=="signed_in",children:k?"Opening setup…":"Connect conversations"})]}),p?e.jsx("a",{className:"agent-learning-link",href:p,target:"_blank",rel:"noreferrer",children:"Configure continual learning in Console"}):null,a?e.jsxs("details",{children:[e.jsx("summary",{children:"CLI setup"}),e.jsxs("small",{className:"agent-source-path",children:["Importer directory: ",a.directory]}),e.jsx("code",{children:a.statusCommand})]}):null,N?e.jsx("p",{role:"alert",children:N}):null,P&&t?e.jsx(Ae,{connection:t,command:P,onComplete:()=>{j(null),i()},onClose:()=>{j(null),i()}}):null]})}const U=n=>JSON.stringify([n.origin,n.sourceInstanceId]),xe=n=>({id:n.id,revision:n.revision,contentHash:n.contentHash});function Q(n,a,t,s,l){return Z(n,`/v1/conversation-learning/${t}?${new URLSearchParams({teamId:a})}`,{method:s===void 0?"GET":"POST",...s===void 0?{}:{body:JSON.stringify(s)},signal:l})}function an(n,a,t,s){const l=_e(),g=["native-conversation-learning",n?.serverUrl,t,a];return{...Le({queryKey:g,enabled:!!(n&&a&&s),queryFn:({signal:i})=>Q(n,a,"options",void 0,i),staleTime:15e3,refetchInterval:3e4}),refresh:()=>l.invalidateQueries({queryKey:g})}}function Ce(n,a,t,s,l){return Q(n,a,"policies",{...t?{id:t.id}:{},expectedRevision:t?.revision??0,configuration:s,enabled:l})}function le(n,a,t=[]){const s=a?.configuration;return{projectId:n,name:s?.name??"Continual learning",mode:s?.mode??"activate",definition:s?.definition??null,configurationId:s?.configuration?.id??"",trainingPolicyId:s?.learningPolicy?.id??"",graderIds:[],sourceKeys:[...new Set([...s?.sources.filter(l=>l.enabled).map(U)??[],...t.map(U)])],adapter:s?.adapter??{kind:"complete_text",qualitativeOnly:!0},generator:s?.generator??null,graderSelection:s?.graderSelection??(a?{mode:"manual"}:{mode:"auto",modelId:"gpt-6-luna",sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}),schedule:s?.schedule??{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,hour:2,minute:0,endHour:6,endMinute:0},limits:s?.limits??{perCycleUsd:5,dailyUsd:5,monthlyUsd:25,gradeUsd:.2,maximumTasks:10,minimumExamples:5,maxGpuSeconds:10800,maximumAttempts:2,lookbackDays:30},exceptions:s?.exceptions??"block",minimumScore:s?.minimumScore??.8,selection:s?.selection??{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1},acceptance:s?.acceptance??{minimumCasesPerCheck:20,minimumImprovement:.05,windowCasesPerCheck:20},failurePolicy:s?.failurePolicy??{pauseAfterConsecutiveFailures:3},...s?.serving?{serving:s.serving}:{serving:{targetId:"",canarySeconds:120,rollbackOnRuntimeFailure:!0}}}}function ce(n,a){const t=n?.configurations.find(s=>s.id===a);return n?.trainingPolicies.filter(s=>s.modelProjectId===t?.portableProjectId&&s.training.recipe.id===`model-recipe-${t?.etag}`&&!s.id.startsWith("conversation-training-"))??[]}async function rn(n,a,t,s,l,g){const o=s.configurations.find(j=>j.id===t.configurationId),i=ce(s,t.configurationId).find(j=>j.id===t.trainingPolicyId);if(!t.name.trim())throw new Error("Enter a policy name.");if(!s.projects.some(j=>j.id===t.projectId))throw new Error("This owned Project is unavailable for continual learning.");if(t.configurationId&&(!o||!s.projects.find(j=>j.id===t.projectId)?.configurationIds.includes(o.id)))throw new Error("Choose a model configuration attached to this Project.");if(t.mode!=="evaluate"&&(!o||!i))throw new Error("Choose an owned model and its reviewed training setup.");if(t.limits.perCycleUsd>t.limits.dailyUsd||t.limits.dailyUsd>t.limits.monthlyUsd)throw new Error("Daily and monthly spending limits must cover the run limit.");if(t.limits.minimumExamples>t.limits.maximumTasks-Math.floor(t.limits.maximumTasks*(t.selection?.replayFraction??0)))throw new Error("Leave capacity for the minimum new examples after replay.");const p=s.sources.filter(j=>j.projectId===t.projectId&&t.sourceKeys.includes(U(j)));if(!p.length)throw new Error("Select a source agent for this Project.");const c=[...(l?.configuration.sources??[]).filter(j=>!p.some(k=>U(k)===U(j))).map(j=>({...j,enabled:!1})),...p.map(j=>({origin:j.origin,sourceInstanceId:j.sourceInstanceId,enabled:!0}))];let d=t.definition;if(o&&(l?.configuration.configuration?.id!==o.id||l.configuration.configuration.expectedEtag!==o.etag))d=await Q(n,a,"definitions",{projectId:t.projectId,configuration:{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}});else if(t.graderIds.length){const j=s.graders.flatMap(k=>k&&t.graderIds.includes(k.id)?[xe(k)]:[]);d=await Q(n,a,"definitions",{projectId:t.projectId,graders:j})}if(!d)throw new Error("Select evaluation rubrics or an existing task definition.");let v=t.serving;const u=s.servingTargets.find(j=>j.id===v?.targetId);if(t.mode==="activate"&&v?.targetId&&(!u||!u.enabled||u.projectId!==t.projectId))throw new Error("Select an available serving target in this Project.");if(t.mode==="activate"&&(!v?.targetId||u?.hostedPonder)&&(v={targetId:(await Q(n,a,"serving-targets",{action:"ensure_hosted_ponder",projectId:t.projectId,bindingId:s.ponderBindingId})).id,canarySeconds:v?.canarySeconds??120,rollbackOnRuntimeFailure:!0}),t.mode==="activate"&&!v?.targetId)throw new Error("Choose a serving target, or enable the policy to register hosted Ponder.");const{sourceKeys:_,configurationId:L,trainingPolicyId:w,graderIds:S,...C}=t,P={...C,name:t.name.trim(),definition:d,sources:c,configuration:o?{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}:null,learningPolicy:i?xe(i):null,...t.mode==="activate"?{serving:v}:{}};return t.mode!=="activate"&&delete P.serving,t.mode==="evaluate"&&delete P.acceptance,Ce(n,a,l,P,g)}function ln({draft:n,options:a,loading:t,onChange:s}){const l=a?.sources.filter(c=>c.projectId===n.projectId)??[],g=l.filter(c=>["active","paused"].includes(c.state)),o=g.length>0&&g.every(c=>n.sourceKeys.includes(U(c))),i=c=>s({...n,sourceKeys:c}),p=a?.graders.flatMap(c=>c?[c]:[])??[];return e.jsxs(e.Fragment,{children:[e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Source agents"}),e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",checked:o,disabled:!g.length,ref:c=>{c&&(c.indeterminate=!o&&g.some(d=>n.sourceKeys.includes(U(d))))},onChange:c=>i(c.target.checked?[...new Set([...n.sourceKeys,...g.map(U)])]:n.sourceKeys.filter(d=>!g.some(v=>U(v)===d)))}),"Select all"," ",e.jsxs("small",{children:["(",l.filter(c=>n.sourceKeys.includes(U(c))).length," selected)"]})]}),e.jsxs("div",{className:"agent-learning-options","aria-label":"Source agents",children:[l.map(c=>{const d=U(c),v=n.sourceKeys.includes(d),u=ae.find(L=>L.id===(c.origin.startsWith("native_")?"openpond_chat":c.origin)),_=c.origin==="native_chat"?"Ponder Pal Chat":c.origin==="native_work"?"Ponder Pal Work":u?.name??c.name;return e.jsxs("label",{className:"agent-learning-option",children:[e.jsx("input",{type:"checkbox",checked:v,disabled:!v&&!["active","paused"].includes(c.state),onChange:L=>i(L.target.checked?[...new Set([...n.sourceKeys,d])]:n.sourceKeys.filter(w=>w!==d))}),u?e.jsx("img",{src:u.icon,alt:""}):null,e.jsxs("span",{children:[_,e.jsx("small",{children:c.sourceInstanceId?c.name===c.origin?"Local connection":c.name:c.origin.startsWith("native_")?"Hosted conversations":"Uploaded history"})]}),e.jsx("small",{children:c.state})]},d)}),l.length?null:e.jsx("p",{role:"status",children:t?"Fetching source agents…":"Connect or import an agent into this Project first."})]}),e.jsx("p",{children:"Paused agents can use uploaded conversations. Selecting them leaves collection paused."})]}),e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Evaluation rubrics"}),n.configurationId?e.jsx("p",{children:"The training configuration pins the task definition and its rubrics. Choose grader selection in Preparation."}):e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",disabled:!p.length,checked:p.length>0&&p.every(c=>n.graderIds.includes(c.id)),onChange:c=>s({...n,graderIds:c.target.checked?p.map(d=>d.id):[]})}),"Select all ",e.jsxs("small",{children:["(",n.graderIds.length," selected)"]})]}),e.jsxs("div",{className:"agent-learning-options","aria-label":"Evaluation rubrics",children:[p.map(c=>e.jsxs("label",{className:"agent-learning-option",children:[e.jsx("input",{type:"checkbox",checked:n.graderIds.includes(c.id),onChange:d=>s({...n,graderIds:d.target.checked?[...n.graderIds,c.id]:n.graderIds.filter(v=>v!==c.id)})}),e.jsxs("span",{children:[c.name,e.jsxs("small",{children:["Version ",c.revision]})]})]},`${c.id}:${c.revision}`)),p.length?null:e.jsx("p",{role:"status",children:t?"Fetching evaluation rubrics…":"No owned evaluation rubrics are available."})]}),n.definition&&!n.graderIds.length?e.jsx("p",{children:"The saved task definition and rubrics remain unchanged."}):null,e.jsxs("label",{children:["Existing task definition",e.jsxs("select",{value:n.definition?.id??"",onChange:c=>{const d=a?.definitions.find(v=>v.id===c.target.value);s({...n,definition:d?{id:d.id,revision:d.revision,contentHash:d.contentHash}:null,graderIds:[]})},children:[e.jsx("option",{value:"",children:"Select a definition or choose rubrics above"}),n.definition&&!a?.definitions.some(c=>c.id===n.definition?.id)?e.jsx("option",{value:n.definition.id,children:"Saved task definition"}):null,a?.definitions.map(c=>e.jsxs("option",{value:c.id,children:[c.name," (version ",c.revision,")"]},c.id))]})]})]}),e.jsxs("label",{children:["Minimum verified score",e.jsx("input",{type:"number",min:0,max:1,step:.01,value:n.minimumScore,onChange:c=>s({...n,minimumScore:Number(c.target.value)})})]})]})]})}function on({draft:n,options:a,loading:t,onChange:s}){const l=a?.projects.find(i=>i.id===n.projectId)?.configurationIds??[],g=ce(a,n.configurationId),o=n.graderSelection??{mode:"manual"};return e.jsxs(e.Fragment,{children:[e.jsxs("label",{children:["Mode",e.jsxs("select",{value:n.mode,onChange:i=>s({...n,mode:i.target.value}),children:[e.jsx("option",{value:"evaluate",children:"Evaluate only"}),e.jsx("option",{value:"train",children:"Train automatically, approve candidate"}),e.jsx("option",{value:"activate",children:"Train and activate automatically"})]})]}),e.jsxs("label",{children:["Model to train",e.jsxs("select",{value:n.configurationId,onChange:i=>{const p=i.target.value,c=ce(a,p);s({...n,configurationId:p,trainingPolicyId:c.length===1?c[0].id:"",adapter:p?{kind:"reference_text",inputPointer:"/prompt",match:"contained"}:{kind:"complete_text",qualitativeOnly:!0}})},children:[e.jsx("option",{value:"",children:t?"Fetching configurations…":"Select configuration"}),a?.configurations.filter(i=>l.includes(i.id)).map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),n.mode!=="evaluate"?e.jsxs("label",{children:["Reviewed training setup",e.jsxs("select",{value:n.trainingPolicyId,onChange:i=>s({...n,trainingPolicyId:i.target.value}),children:[e.jsx("option",{value:"",children:"Select reviewed setup"}),g.map(i=>e.jsxs("option",{value:i.id,children:["Reviewed setup (version ",i.revision,")"]},i.id))]})]}):null,n.configurationId?e.jsxs(e.Fragment,{children:[e.jsxs("label",{children:["Task construction",e.jsxs("select",{value:n.adapter.kind,onChange:i=>s({...n,adapter:i.target.value==="reference_text"?{kind:"reference_text",inputPointer:"/prompt",match:"contained"}:{kind:"complete_text",qualitativeOnly:!0}}),children:[e.jsx("option",{value:"reference_text",children:"Match a published executable task"}),e.jsx("option",{value:"complete_text",children:"Complete text context and calibrated judges"})]})]}),n.adapter.kind==="reference_text"?e.jsxs("div",{className:"agent-learning-columns",children:[e.jsxs("label",{children:["Public task input field",e.jsx("input",{value:n.adapter.inputPointer,onChange:i=>s({...n,adapter:{kind:"reference_text",inputPointer:i.target.value,match:n.adapter.kind==="reference_text"?n.adapter.match:"contained"}})})]}),e.jsxs("label",{children:["Reference matching",e.jsxs("select",{value:n.adapter.match,onChange:i=>s({...n,adapter:{kind:"reference_text",inputPointer:n.adapter.kind==="reference_text"?n.adapter.inputPointer:"/prompt",match:i.target.value}}),children:[e.jsx("option",{value:"contained",children:"Contained"}),e.jsx("option",{value:"exact",children:"Exact"})]})]})]}):null,e.jsxs("label",{children:["Grader selection",e.jsxs("select",{value:o.mode,onChange:i=>s({...n,graderSelection:i.target.value==="auto"?{mode:"auto",modelId:"gpt-6-luna",sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}:{mode:"manual"}}),children:[e.jsx("option",{value:"auto",children:"Choose compatible rubrics automatically"}),e.jsx("option",{value:"manual",children:"Use the pinned rubrics"})]})]}),o.mode==="auto"?e.jsxs(e.Fragment,{children:[e.jsxs("label",{children:["Selection model",e.jsxs("select",{value:o.modelId,onChange:i=>s({...n,graderSelection:{...o,modelId:i.target.value}}),children:[a?.generators.some(i=>i.id===o.modelId)?null:e.jsx("option",{value:o.modelId,children:o.modelId}),a?.generators.map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),e.jsx("div",{className:"agent-learning-columns",children:[["sampleSize","Sample examples",1,30],["maximumOutputTokens","Output token limit",256,4096],["maximumSpendUsd","Selection spending limit ($)",.01,1e5]].map(([i,p,c,d])=>e.jsxs("label",{children:[p,e.jsx("input",{type:"number",min:c,max:d,step:i==="maximumSpendUsd"?.01:1,value:o[i],onChange:v=>s({...n,graderSelection:{...o,[i]:Number(v.target.value)}})})]},i))})]}):null]}):null,e.jsxs("label",{children:["Answer improvement model",e.jsxs("select",{value:n.generator?.modelId??"",onChange:i=>s({...n,generator:i.target.value?{modelId:i.target.value,maximumOutputTokens:n.generator?.maximumOutputTokens??2048,maximumSpendUsd:n.generator?.maximumSpendUsd??.1}:null}),children:[e.jsx("option",{value:"",children:"Use recorded answers only"}),a?.generators.map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),n.generator?e.jsxs("div",{className:"agent-learning-columns",children:[e.jsxs("label",{children:["Per improved answer limit ($)",e.jsx("input",{type:"number",min:.01,step:.01,value:n.generator.maximumSpendUsd,onChange:i=>s({...n,generator:{...n.generator,maximumSpendUsd:Number(i.target.value)}})})]}),e.jsxs("label",{children:["Output token limit",e.jsx("input",{type:"number",min:256,max:16384,value:n.generator.maximumOutputTokens,onChange:i=>s({...n,generator:{...n.generator,maximumOutputTokens:Number(i.target.value)}})})]})]}):null,n.mode==="activate"?e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Serving authorization"}),e.jsxs("label",{children:["Serving target",e.jsxs("select",{value:n.serving?.targetId??"",onChange:i=>s({...n,serving:{targetId:i.target.value,canarySeconds:n.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}),children:[e.jsx("option",{value:"",children:"Ponder in this Project"}),a?.servingTargets.filter(i=>i.projectId===n.projectId&&i.enabled).map(i=>e.jsx("option",{value:i.id,children:i.hostedPonder?"Hosted Ponder":`${i.role} / ${i.roleTargetId}`},i.id))]})]}),e.jsxs("label",{children:["Runtime canary (seconds)",e.jsx("input",{type:"number",min:30,max:600,value:n.serving?.canarySeconds??120,onChange:i=>s({...n,serving:{targetId:n.serving?.targetId??"",canarySeconds:Number(i.target.value),rollbackOnRuntimeFailure:!0}})})]}),e.jsx("p",{children:"Saving authorizes the selected target. Failed runtime checks restore its prior model. Training runs only within the saved policy's schedule and limits."})]}):null]})}const ve=(n,a)=>n===void 0||a===void 0?"":`${String(n).padStart(2,"0")}:${String(a).padStart(2,"0")}`;function cn({draft:n,onChange:a}){const t=(s,l)=>a({...n,limits:{...n.limits,[s]:l}});return e.jsxs(e.Fragment,{children:[e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Run window"}),e.jsxs("div",{className:"agent-learning-columns",children:[e.jsxs("label",{children:["From",e.jsx("input",{type:"time",required:!0,value:ve(n.schedule.hour,n.schedule.minute),onChange:s=>{const[l,g]=s.target.value.split(":").map(Number);a({...n,schedule:{...n.schedule,hour:l,minute:g}})}})]}),e.jsxs("label",{children:["Until",e.jsx("input",{type:"time",value:ve(n.schedule.endHour,n.schedule.endMinute),onChange:s=>{const[l,g]=s.target.value.split(":").map(Number),{endHour:o,endMinute:i,...p}=n.schedule;a({...n,schedule:s.target.value?{...p,endHour:l,endMinute:g}:p})}})]})]}),e.jsxs("label",{children:["Timezone",e.jsx("input",{required:!0,value:n.schedule.timezone,onChange:s=>a({...n,schedule:{...n.schedule,timezone:s.target.value}})})]}),e.jsx("p",{children:"Queued learning starts within this window. A run already started may finish afterward."})]}),e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Maximum spending"}),e.jsx("p",{children:"These are limits, not prices. Evaluation, answer improvements and training count toward them."}),e.jsx("div",{className:"agent-learning-columns",children:[["perCycleUsd","Per run ($)"],["dailyUsd","Per day ($)"],["monthlyUsd","Per month ($)"]].map(([s,l])=>e.jsxs("label",{children:[l,e.jsx("input",{type:"number",required:!0,min:.01,max:1e5,step:.01,value:n.limits[s],onChange:g=>t(s,Number(g.target.value))})]},s))})]}),e.jsxs("details",{children:[e.jsx("summary",{children:"Advanced limits"}),e.jsxs("div",{className:"agent-learning-columns",children:[[["gradeUsd","Per evaluation ceiling ($)",0,1e3,.01],["maximumTasks","Maximum tasks",1,200,1],["minimumExamples","Minimum training examples",1,200,1],["maximumAttempts","Maximum correction attempts",1,5,1],["lookbackDays","Uploaded history window (days)",1,30,1]].map(([s,l,g,o,i])=>e.jsxs("label",{children:[l,e.jsx("input",{type:"number",required:!0,min:g,max:o,step:i,value:n.limits[s],onChange:p=>t(s,Number(p.target.value))})]},s)),e.jsxs("label",{children:["Maximum GPU session (hours)",e.jsx("input",{type:"number",required:!0,min:.01,max:3,step:.01,value:n.limits.maxGpuSeconds/3600,onChange:s=>t("maxGpuSeconds",Math.round(Number(s.target.value)*3600))})]}),e.jsxs("label",{children:["Pause after failed cycles",e.jsx("input",{type:"number",required:!0,min:1,max:20,value:n.failurePolicy?.pauseAfterConsecutiveFailures??3,onChange:s=>a({...n,failurePolicy:{pauseAfterConsecutiveFailures:Number(s.target.value)}})})]})]}),e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",checked:n.exceptions==="eligible_remainder",onChange:s=>a({...n,exceptions:s.target.checked?"eligible_remainder":"block"})}),"Use the independently verified remainder when exceptions occur"]})]}),e.jsxs("details",{children:[e.jsx("summary",{children:"Training data balance"}),e.jsx("div",{className:"agent-learning-columns",children:[["maximumSourceShare","Maximum from one agent",100],["maximumFailureShare","Maximum from one error type",100],["maximumLengthShare","Maximum from one conversation length",100],["replayFraction","Previously learned examples",50],["auditFraction","Examples checked for quality",100]].map(([s,l,g])=>e.jsxs("label",{children:[l," (%)",e.jsx("input",{type:"number",min:s.startsWith("maximum")?1:0,max:g,value:Math.round((n.selection?.[s]??0)*100),onChange:o=>a({...n,selection:{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1,...n.selection,[s]:Number(o.target.value)/100}})})]},s))})]}),n.mode!=="evaluate"?e.jsxs("details",{children:[e.jsx("summary",{children:"Checks before using the trained model"}),e.jsx("div",{className:"agent-learning-columns",children:[["windowCasesPerCheck","New examples per quality check",2,1e4],["minimumCasesPerCheck","Minimum paired examples",2,1e4],["minimumImprovement","Required improvement",1e-4,1]].map(([s,l,g,o])=>e.jsxs("label",{children:[l,e.jsx("input",{type:"number",min:g,max:o,step:s==="minimumImprovement"?.01:1,value:n.acceptance?.[s]??g,onChange:i=>a({...n,acceptance:{minimumCasesPerCheck:20,windowCasesPerCheck:20,minimumImprovement:.05,...n.acceptance,[s]:Number(i.target.value)}})})]},s))}),e.jsx("p",{children:"Current and trained models use the same unseen examples. Insufficient evidence keeps the current model active."})]}):null]})}function dn({connection:n,teamId:a,projectId:t,projectName:s,initialPolicy:l,bindings:g,query:o,onClose:i}){const[p,c]=h.useState(l),[d,v]=h.useState(()=>le(t,l,l?[]:g)),[u,_]=h.useState(!!o.data),[L,w]=h.useState(!1),[S,C]=h.useState(!1),[P,j]=h.useState(null),[k,T]=h.useState(l?.status==="enabled"||!l),[N,x]=h.useState("sources"),[f,A]=h.useState(!1),[K,H]=h.useState(null),z=h.useRef(u);z.current=u;const m=o.data?.policies.filter(y=>y.configuration.projectId===t)??[];h.useEffect(()=>{if(!o.data||z.current)return;const y=o.data.policies.find(M=>M.configuration.projectId===t&&M.status==="enabled")??o.data.policies.find(M=>M.configuration.projectId===t);c(y),v(le(t,y,y?[]:g)),T(y?.status==="enabled"||!y),_(!0)},[o.data,t,g]);const r=()=>{S||(L?A(!0):i())},I=de(r);function O(y){const M=m.find(B=>B.id===y);M&&(c(M),v(le(t,M)),T(M.status==="enabled"),w(!1),H(null),A(!1),j(null))}function R(y){v(y),w(!0)}async function q(){if(!(!o.data||!u||S||o.isError)){C(!0),j(null);try{await rn(n,a,d,o.data,p,k),await o.refresh(),w(!1),i()}catch(y){j(y instanceof Error?y.message:"Unable to save continual learning.")}finally{C(!1)}}}const W={draft:d,options:o.data,loading:o.isPending,onChange:R};return e.jsx("div",{className:"git-dialog-backdrop provider-dialog-backdrop",onMouseDown:r,children:e.jsxs("section",{ref:I,className:"git-dialog provider-details-dialog agent-learning-dialog",role:"dialog","aria-modal":"true","aria-label":"Continual learning",onMouseDown:y=>y.stopPropagation(),children:[e.jsx("button",{type:"button",className:"git-dialog-close","aria-label":"Close continual learning",disabled:S,onClick:r,children:e.jsx(te,{size:16})}),e.jsx("div",{className:"provider-dialog-header",children:e.jsxs("div",{children:[e.jsx("h2",{children:"Continual learning"}),e.jsx("span",{children:s})]})}),f?e.jsxs("div",{className:"agent-learning-discard",role:"alert",children:[e.jsx("p",{children:"Discard unsaved policy changes?"}),e.jsxs("div",{className:"settings-button-row",children:[e.jsx("button",{type:"button",onClick:()=>{A(!1),H(null)},children:"Keep editing"}),e.jsx("button",{type:"button",onClick:()=>K?O(K):i(),children:"Discard changes"})]})]}):null,m.length>1?e.jsxs("label",{className:"agent-learning-policy-picker",children:["Learning policy",e.jsx("select",{disabled:S,value:p?.id??"",onChange:y=>{L?(H(y.target.value),A(!0)):O(y.target.value)},children:m.map(y=>e.jsxs("option",{value:y.id,children:[y.configuration.name," (",y.status,")"]},y.id))})]}):null,e.jsx("div",{className:"surface-tabs provider-agent-tabs",role:"tablist","aria-label":"Continual learning settings",children:[["sources","Sources & rubrics"],["preparation","Preparation"],["schedule","Run window & budget"]].map(([y,M])=>e.jsx("button",{type:"button",id:`learning-tab-${y}`,role:"tab","aria-selected":N===y,"aria-controls":`learning-panel-${y}`,tabIndex:N===y?0:-1,onClick:()=>x(y),onKeyDown:B=>{const Y=["sources","preparation","schedule"],V=Y.indexOf(y);if(["ArrowLeft","ArrowRight","Home","End"].includes(B.key)){B.preventDefault();const ee=Y[B.key==="Home"?0:B.key==="End"?2:(V+(B.key==="ArrowRight"?1:2))%3];x(ee),document.getElementById(`learning-tab-${ee}`)?.focus()}},children:M},y))}),e.jsxs("form",{className:"agent-learning-form",onSubmit:y=>{y.preventDefault(),q()},children:[e.jsx("fieldset",{disabled:!u||S,children:e.jsxs("label",{children:["Policy name",e.jsx("input",{required:!0,maxLength:200,value:d.name,onChange:y=>R({...d,name:y.target.value})})]})}),e.jsx("div",{id:`learning-panel-${N}`,role:"tabpanel","aria-labelledby":`learning-tab-${N}`,children:e.jsx("fieldset",{disabled:!u||S,children:N==="sources"?e.jsx(ln,{...W}):N==="preparation"?e.jsx(on,{...W}):e.jsx(cn,{...W})})}),o.isPending?e.jsx("p",{role:"status",children:"Fetching available sources, rubrics and models…"}):null,o.isError?e.jsxs("p",{role:"alert",children:[o.error.message," ",e.jsx("button",{type:"button",onClick:()=>{o.refetch()},children:"Retry settings"})]}):null,P?e.jsx("p",{role:"alert",children:P}):null,e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",checked:k,disabled:!u||S,onChange:y=>{T(y.target.checked),w(!0)}}),"Enable this policy after saving"]}),e.jsx("p",{children:"Saving enables only the reviewed sources, schedule and limits. No training is dispatched by opening this dialog."}),e.jsxs("div",{className:"settings-button-row agent-learning-footer",children:[e.jsx("button",{type:"button",disabled:S,onClick:r,children:"Cancel"}),e.jsx("button",{type:"submit",className:"primary",disabled:!u||!o.data||o.isError||S||!d.sourceKeys.length,children:S?"Saving…":k?"Save and enable":"Save paused"})]})]})]})})}function un({agent:n,inventory:a,connection:t,teamId:s,projectId:l,projectName:g,query:o,signedIn:i}){const[p,c]=h.useState(!1),[d,v]=h.useState(null),[u,_]=h.useState(!1),[L,w]=h.useState(null),[S,C]=h.useState(""),P=h.useMemo(()=>new Set(a?.collector.connections.filter(m=>m.source===n.id&&m.teamId===s&&m.projectId===l&&m.state!=="disconnected").map(m=>m.sourceInstanceId)??[]),[a,n.id,s,l]),j=o.data?.sources.filter(m=>m.projectId===l&&(n.id==="openpond_chat"?["native_chat","native_work"].includes(m.origin)&&m.sourceInstanceId===null:m.origin===n.id&&m.sourceInstanceId!==null&&P.has(m.sourceInstanceId)))??[],k=[...new Set(j.flatMap(m=>m.sourceInstanceId?[m.sourceInstanceId]:[]))],T=k.includes(S)?S:k[0],N=j.filter(m=>m.sourceInstanceId===null||m.sourceInstanceId===T).map(m=>({origin:m.origin,sourceInstanceId:m.sourceInstanceId,enabled:!0})),x=o.data?.policies.filter(m=>m.configuration.projectId===l)??[],f=x.filter(m=>m.status==="enabled"&&m.configuration.sources.some(r=>r.enabled&&N.some(I=>U(I)===U(r)))),A=f[0]??x.find(m=>m.status==="enabled")??x[0],K=!!(t&&s&&l&&i&&o.data?.projects.some(m=>m.id===l));async function H(m,r){if(!t||!s||!o.data)return;let I={...m.configuration,sources:m.configuration.sources.map(R=>N.some(q=>U(q)===U(R))?{...R,enabled:r}:R)};if(r)for(const R of N)I.sources.some(q=>U(q)===U(R))||I.sources.push(R);const O=o.data.servingTargets.find(R=>R.id===I.serving?.targetId);if(r&&I.mode==="activate"&&I.serving?.targetId&&(!O||!O.enabled||O.projectId!==l))throw new Error("Review the policy's serving target before adding a source.");if(r&&I.mode==="activate"&&(!I.serving?.targetId||O?.hostedPonder)){const R=await Q(t,s,"serving-targets",{action:"ensure_hosted_ponder",projectId:l,bindingId:o.data.ponderBindingId});I={...I,serving:{targetId:R.id,canarySeconds:I.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}}return Ce(t,s,m,I,I.sources.some(R=>R.enabled))}async function z(m){if(!u){_(!0),w(null);try{if(m){const r=x.find(I=>I.id===d);if(!r)throw new Error("Refresh the learning policy before joining.");await H(r,!0),v(null)}else for(const r of f)await H(r,!1);await o.refresh()}catch(r){w(r instanceof Error?r.message:"Unable to update this learning source."),await o.refresh()}finally{_(!1)}}}return e.jsxs("div",{className:"agent-learning-control",children:[k.length>1?e.jsxs("label",{children:["Learning connection",e.jsx("select",{"aria-label":`${n.name} learning connection`,value:T,disabled:u,onChange:m=>C(m.target.value),children:k.map(m=>e.jsx("option",{value:m,children:j.find(r=>r.sourceInstanceId===m)?.name??"Local connection"},m))})]}):null,e.jsxs("div",{className:"agent-learning-control-row",children:[e.jsxs("label",{className:"provider-toggle",children:[e.jsx("input",{type:"checkbox","aria-label":`${n.name} continual learning`,checked:f.length>0,disabled:!K||!N.length||o.isPending||o.isError||u,onChange:m=>{if(m.target.checked){const r=x.find(I=>I.status==="enabled");r?v(r.id):c(!0)}else z(!1)}}),e.jsx("span",{"aria-hidden":"true"})]}),e.jsx("button",{type:"button",className:"agent-learning-settings",disabled:!t||!s||!l||!i||u,onClick:()=>c(!0),children:"Continual learning"}),e.jsx("small",{children:o.isError?"Needs attention":o.isPending?"Loading…":f.length?"On schedule":x.length?"Paused":"Off"})]}),l&&!N.length&&o.data?e.jsx("small",{children:"Sync this agent to the selected Project to use its local connection."}):null,L?e.jsx("small",{role:"alert",children:L}):null,p&&t&&s?e.jsx(dn,{connection:t,teamId:s,projectId:l,projectName:g,initialPolicy:A,bindings:N,query:o,onClose:()=>c(!1)},l):null,d?e.jsx(pn,{policies:x.filter(m=>m.status==="enabled"),policyId:d,agentName:n.name,busy:u,error:L,onChoose:v,onClose:()=>{u||v(null)},onJoin:()=>{z(!0)}}):null]})}function pn({policies:n,policyId:a,agentName:t,busy:s,error:l,onChoose:g,onClose:o,onJoin:i}){const p=de(o),c=n.find(d=>d.id===a);return e.jsx("div",{className:"git-dialog-backdrop provider-dialog-backdrop",onMouseDown:o,children:e.jsxs("section",{ref:p,className:"git-dialog agent-learning-join",role:"dialog","aria-modal":"true","aria-label":"Add learning source",onMouseDown:d=>d.stopPropagation(),children:[e.jsx("button",{type:"button",className:"git-dialog-close",disabled:s,"aria-label":"Cancel",onClick:o,children:e.jsx(te,{size:16})}),e.jsxs("h2",{children:["Add ",t," to ",c?.configuration.name??"continual learning","?"]}),e.jsx("p",{children:"This agent will contribute conversations to the existing model, schedule and spending limits. Collection settings stay unchanged."}),n.length>1?e.jsxs("label",{children:["Existing policy",e.jsx("select",{value:a,disabled:s,onChange:d=>g(d.target.value),children:n.map(d=>e.jsx("option",{value:d.id,children:d.configuration.name},d.id))})]}):null,l?e.jsx("p",{role:"alert",children:l}):null,e.jsxs("div",{className:"settings-button-row",children:[e.jsx("button",{type:"button",disabled:s,onClick:o,children:"Cancel"}),e.jsx("button",{type:"button",className:"primary",disabled:s||!c,onClick:i,children:s?"Adding…":"Add agent"})]})]})})}function hn({connection:n,payload:a,onPayload:t,onToast:s}){const{inventory:l,error:g,loading:o,refresh:i}=sn(n),[p,c]=h.useState(null),[d,v]=h.useState(null),[u,_]=h.useState(!1),[L,w]=h.useState(0),S=`openpond-agent-cards:${JSON.stringify(a?.account.activeProfile??null)}`,[C,P]=h.useState(()=>{try{const b=JSON.parse(localStorage.getItem(S)??"null");return Array.isArray(b)?b.filter(E=>typeof E=="string"&&ae.some($=>$.id===E)):["oh_my_pi"]}catch{return["oh_my_pi"]}});h.useEffect(()=>{try{localStorage.setItem(S,JSON.stringify(C))}catch{}},[S,C]);const[j,k]=h.useState(!1),T=h.useRef(null);h.useEffect(()=>{if(!j)return;const b=$=>{T.current?.contains($.target)||k(!1)},E=$=>{$.key==="Escape"&&(k(!1),T.current?.querySelector("button")?.focus())};return document.addEventListener("pointerdown",b),document.addEventListener("keydown",E),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",E)}},[j]);const N=h.useRef({payload:a,onPayload:t});N.current={payload:a,onPayload:t};const x=h.useRef(!0);h.useEffect(()=>(x.current=!0,()=>{x.current=!1}),[]);const f=a?.account??null,A=a?.preferences.defaultTeamId??f?.accounts.find(b=>b.isActive)?.apiKeyAccess?.teamId??null,K=h.useCallback(b=>v(b),[]),H=h.useCallback(b=>{const E=N.current;x.current&&E.payload&&E.onPayload({...E.payload,providers:b})},[]),z=h.useCallback((b,E)=>{const $=N.current;if(!x.current||!$.payload)return;const ie=$.payload.providers,he={...$.payload,providers:{...ie,statuses:{...ie.statuses,[b]:E.statuses[b]},modelCaches:{...ie.modelCaches,[b]:E.modelCaches[b]}}};N.current={...$,payload:he},$.onPayload(he)},[]);Ve(n,a?.providers,z,L);const m=h.useCallback(b=>{const E=N.current;E.payload&&E.onPayload({...E.payload,preferences:b.preferences})},[]),r=Be({connection:n,onError:K,onPayload:t,onPreferences:m,onProviders:H,preferences:Te(a?.preferences),providers:a?.providers}),I=nn(n,f,A),{projects:O,projectId:R,loading:q,error:W}=I,y=an(n,A,JSON.stringify([f?.activeProfile??null,f?.profile?.id??null]),f?.state==="signed_in"),M=f?.baseUrl??f?.activeProfile?.baseUrl,B=M&&A?`${M.replace(/\/$/u,"")}/console/connections?${new URLSearchParams({teamId:A,...R?{project:R}:{}})}`:null;async function Y(b){if(!(!n||u)){_(!0),v(null);try{await Z(n,"/v1/native-history/collector",{method:"POST",body:JSON.stringify({command:b})}),await i()}catch(E){const $=E instanceof Error?E.message:"Importer action failed.";v($),s?.($,"error")}finally{_(!1)}}}const V=p?.provider,ee=V?a?.providers.statuses[V]:null,pe=p?e.jsx(tn,{agent:p,inventory:l,connection:n,account:f,teamId:A,projects:O,projectId:R,onRefresh:i,learningUrl:B},p.id):null;return e.jsxs("section",{className:"connected-agents-view","aria-label":"Connected agents",children:[e.jsxs("div",{className:"agent-connections-heading",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Connected agents"}),e.jsx("p",{children:"Use your installed agents and sync conversations with OpenPond."})]}),e.jsxs("div",{className:"agent-connections-actions",children:[e.jsx("button",{type:"button",disabled:o||!n,"aria-label":"Refresh agent connections",onClick:()=>{i(),I.refresh(),w(b=>b+1)},children:e.jsx(Oe,{size:15})}),e.jsxs("div",{className:"agent-more",ref:T,children:[e.jsx("button",{type:"button","aria-expanded":j,onClick:()=>k(b=>!b),children:"More agents"}),j?e.jsxs("div",{className:"agent-more-menu",children:[ae.filter(b=>C.includes(b.id)).map(b=>e.jsxs("button",{type:"button",onClick:()=>{P(E=>E.filter($=>$!==b.id)),k(!1)},children:[e.jsx(Ue,{size:14}),e.jsx("span",{children:b.name})]},b.id)),C.length===0?e.jsx("span",{children:"All agents shown"}):null]}):null]})]})]}),e.jsxs("label",{className:"agent-project-scope",children:["Project",e.jsxs("select",{"aria-label":"Connections project",value:R,disabled:!O.length,onChange:b=>I.select(b.target.value),children:[e.jsx("option",{value:"",children:q&&!O.length?"Fetching projects…":"Select project"}),O.map(b=>e.jsx("option",{value:b.id,children:b.content.name},b.id))]})]}),W?e.jsx("p",{role:"alert",children:W}):null,g?e.jsx("p",{role:"alert",children:g}):null,d?e.jsx("p",{role:"alert",children:d}):null,e.jsx("div",{className:"agent-connections-grid",children:ae.filter(b=>!C.includes(b.id)).map(b=>e.jsx(We,{agent:b,account:f,native:b.provider?a?.providers.statuses[b.provider]:null,inventory:l,projects:O,teamId:A,learningControl:e.jsx(un,{agent:b,inventory:l,connection:n,teamId:A,projectId:R,projectName:O.find(E=>E.id===R)?.content.name??"Selected Project",query:y,signedIn:f?.state==="signed_in"}),connected:!!n,onHide:()=>P(E=>[...E,b.id]),onManage:()=>c(b)},`${JSON.stringify([f?.activeProfile,f?.profile?.id])}:${A}:${R}:${b.id}`))}),l?e.jsxs("div",{className:"agent-importer-footer",children:[e.jsx("span",{children:l.collector.desiredState==="stopped"?"Importer stopped":l.collector.running?"Importer running":"Importer offline"}),e.jsx("button",{type:"button",disabled:u||!l.collector.running,onClick:()=>{Y("sync")},children:"Sync now"}),e.jsxs("button",{type:"button",disabled:u,onClick:()=>{Y(l.collector.running?"stop":"start")},children:[l.collector.running?"Stop":"Start"," importer"]}),e.jsxs("details",{children:[e.jsx("summary",{children:"CLI state"}),e.jsx("code",{children:l.statusCommand})]})]}):null,p&&V&&ee&&a?e.jsx(Je,{checkNativeProvider:r.checkNativeProvider,connection:n,account:f,codex:a.codex,providerId:V,providerBusy:r.providerBusy,settings:a.providers,status:ee,onClose:()=>c(null),onDeleteCredential:r.deleteProviderCredential,onRefreshModels:r.refreshProviderModels,onSaveConfig:r.saveProviderConfig,onSaveCredential:r.saveProviderCredential,onStartOpenAiSubscriptionAuth:r.startOpenAiSubscriptionAuth,onValidate:r.validateProvider,conversationPanel:pe}):p?e.jsx(mn,{agent:p,onClose:()=>c(null),children:pe}):null]})}function mn({agent:n,onClose:a,children:t}){const s=de(a);return e.jsx("div",{className:"git-dialog-backdrop provider-dialog-backdrop",onMouseDown:a,children:e.jsxs("section",{ref:s,className:"git-dialog provider-details-dialog agent-setup-dialog",role:"dialog","aria-modal":"true","aria-label":`${n.name} connection`,onMouseDown:l=>l.stopPropagation(),children:[e.jsx("button",{type:"button",className:"git-dialog-close","aria-label":"Close",onClick:a,children:e.jsx(te,{size:16})}),e.jsx("div",{className:"provider-dialog-header",children:e.jsxs("div",{children:[e.jsx("h2",{children:n.name}),e.jsx("span",{children:"Conversation syncing"})]})}),t]})})}const gn=["For agents","Featured","Productivity","Developer tools"],xn=new Set(["slack","google","github","mcp"]);function Un({account:n,connection:a,defaultTeamId:t,onToast:s,payload:l,onPayload:g}){const[o,i]=h.useState("agents"),p=h.useId(),[c,d]=h.useState(null),[v,u]=h.useState(""),[_,L]=h.useState("For agents"),[w,S]=h.useState(()=>re()),[C,P]=h.useState(null),j=n?.baseUrl??n?.activeProfile?.baseUrl??null,k=vn(t,C),T=h.useMemo(()=>w.filter(x=>fn(x,_)).filter(x=>yn(x,v)),[_,v,w]);h.useEffect(()=>{let x=!0;return!a||o!=="apps"?(S(re()),P(null),()=>{x=!1}):(Fe.connectedAppStatus(a,{status:"all"}).then(f=>{x&&(S(f.apps),P(f.teamId?.trim()||null))}).catch(f=>{x&&(console.warn("Unable to load connected app status.",f),S(re()),P(null))}),()=>{x=!1})},[a,o]);function N(x){const f=He({appId:x.id,baseUrl:j,teamId:k});kn(f).catch(A=>{s?.(A instanceof Error?A.message:String(A),"error")})}return e.jsxs("div",{className:"apps-workspace-view",children:[e.jsx("div",{className:"apps-page-tabs",role:"tablist","aria-label":"Apps pages",onKeyDown:x=>{if(!["ArrowLeft","ArrowRight","Home","End"].includes(x.key))return;x.preventDefault();const f=x.key==="Home"?"agents":x.key==="End"||o==="agents"?"apps":"agents";i(f),x.currentTarget.querySelector(`#${CSS.escape(`${p}-${f}`)}`)?.focus()},children:[{value:"agents",label:"Connections"},{value:"apps",label:"Apps"}].map(x=>e.jsx("button",{type:"button",role:"tab",id:`${p}-${x.value}`,"aria-controls":`${p}-${x.value}-panel`,tabIndex:o===x.value?0:-1,"aria-selected":o===x.value,onClick:()=>i(x.value),children:x.label},x.value))}),e.jsx("div",{role:"tabpanel",id:`${p}-${o}-panel`,"aria-labelledby":`${p}-${o}`,children:o==="agents"?e.jsx(hn,{connection:a,payload:l,onPayload:g,onToast:s},JSON.stringify([n?.activeProfile,t])):e.jsxs("section",{className:"connected-apps-view","aria-label":"Apps",children:[e.jsxs("div",{className:"connected-apps-header",children:[e.jsxs("div",{children:[e.jsx("h1",{children:"Apps"}),e.jsx("p",{children:"Connect apps that agents can use for chat, knowledge, files, and workflow actions."})]}),e.jsxs("label",{className:"connected-apps-search",children:[e.jsx($e,{size:15}),e.jsx("input",{"aria-label":"Search apps",onChange:x=>u(x.target.value),placeholder:"Search apps",type:"search",value:v})]})]}),e.jsxs("section",{className:"connected-apps-hero","aria-label":"App context",children:[e.jsxs("div",{className:"connected-apps-hero-copy",children:[e.jsx("span",{className:"connected-apps-hero-icon",children:e.jsx(ue,{appId:"github"})}),e.jsx("h2",{children:"Work with your apps"}),e.jsx("p",{children:"Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond."})]}),e.jsxs("div",{className:"connected-apps-context-card","aria-hidden":"true",children:[e.jsx("strong",{children:"Agent context"}),e.jsxs("div",{children:[e.jsx("span",{className:"files",children:"Files"}),e.jsx("span",{className:"chat",children:"Chat"}),e.jsx("span",{className:"oauth",children:"OAuth"}),e.jsx("span",{className:"mcp",children:"MCP"})]})]})]}),e.jsx("div",{className:"connected-apps-filters",role:"tablist","aria-label":"App categories",children:gn.map(x=>e.jsx("button",{"aria-selected":_===x,className:_===x?"active":"",onClick:()=>L(x),role:"tab",type:"button",children:x},x))}),e.jsxs("div",{className:"connected-apps-list",children:[T.map(x=>e.jsx(jn,{app:x,onSelect:()=>d(x)},x.id)),T.length===0?e.jsx("div",{className:"connected-apps-empty",children:"No apps match the current search."}):null]}),c?e.jsx(bn,{app:c,onClose:()=>d(null),onInstall:()=>N(c)}):null]})})]})}function vn(n,a){const t=n?.trim();return t||a?.trim()||null}function jn({app:n,onSelect:a}){return e.jsxs("button",{className:"connected-app-row",onClick:a,type:"button",children:[e.jsxs("span",{className:"connected-app-row-main",children:[e.jsx(ue,{appId:n.id}),e.jsxs("span",{className:"connected-app-copy",children:[e.jsxs("span",{className:"connected-app-title",children:[e.jsx("strong",{children:n.label}),e.jsxs("span",{children:[n.shortLabel!==n.label?n.shortLabel:n.category," / ",n.setupSurfaceLabel]})]}),e.jsx("span",{children:n.description}),e.jsxs("span",{className:"connected-app-capability-row",children:[n.capabilityLabels.slice(0,2).map(t=>e.jsx("span",{children:t},t)),n.capabilityLabels.length>2?e.jsxs("span",{children:["+",n.capabilityLabels.length-2]}):null]})]})]}),e.jsx("span",{className:`connected-app-status-pill ${n.status}`,children:n.statusLabel}),e.jsx(Me,{size:16})]})}function bn({app:n,onClose:a,onInstall:t}){const s=n.connections.filter(l=>l.status==="active");return e.jsx("div",{className:"connected-app-dialog-backdrop",role:"presentation",onMouseDown:l=>{l.target===l.currentTarget&&a()},children:e.jsxs("section",{className:"connected-app-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"connected-app-dialog-title",children:[e.jsx("button",{className:"connected-app-dialog-close",type:"button","aria-label":"Close app details",onClick:a,children:e.jsx(te,{size:17})}),e.jsxs("div",{className:"connected-app-dialog-identity",children:[e.jsx("span",{className:"openpond-mark",children:e.jsx("img",{alt:"",src:je})}),e.jsxs("span",{className:"connection-dots","aria-hidden":"true",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx(ue,{appId:n.id})]}),e.jsxs("h2",{id:"connected-app-dialog-title",children:["Connect ",n.label]}),e.jsxs("div",{className:"connected-app-approval",children:[e.jsx(De,{size:16}),e.jsx("span",{children:n.statusLabel})]}),e.jsxs("div",{className:"connected-app-dialog-body",children:[e.jsxs("section",{children:[e.jsx("h3",{children:n.setupSurfaceLabel}),e.jsx("p",{children:"The web flow shows the provider account, workspace, and requested access before anything is connected."})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Connected account"}),e.jsx("p",{children:wn(s)})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Available capabilities"}),e.jsx("div",{className:"connected-app-dialog-capabilities",children:n.capabilities.map(l=>e.jsx("span",{children:l.label},l.id))})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Sandbox lease policy"}),e.jsx("p",{children:n.leasePolicy.leaseable?`Leaseable for ${n.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:"Managed as setup or tool discovery; no OAuth lease is required."})]})]}),e.jsxs("button",{className:"connected-app-dialog-primary",type:"button",onClick:t,children:[e.jsx("span",{children:n.installLabel}),e.jsx(ze,{size:15})]})]})})}function ue({appId:n}){return e.jsx("span",{className:`connected-app-icon app-${n}`,children:e.jsx("img",{alt:"",src:Sn(n)})})}function fn(n,a){return a==="For agents"?!0:a==="Featured"?xn.has(n.id):a==="Productivity"?n.category==="Productivity"||n.category==="Chat":n.category==="Developer tools"||n.id==="mcp"}function yn(n,a){const t=a.trim().toLowerCase();return t?[n.id,n.label,n.shortLabel,n.category,n.description,n.providerFamily,n.setupSurface].some(s=>s.toLowerCase().includes(t)):!0}function Sn(n){return Ke(n)}async function kn(n){const a=window.openpond?.browser;if(a){const t=await a.openExternal({conversationId:"connected-apps",url:n});if(!t.ok)throw new Error(t.error??"Unable to open app setup.");return}window.open(n,"_blank","noopener,noreferrer")}function wn(n){return n.length===0?"No active OAuth connection for this setup surface.":n.map(a=>{const t=a.accountLabel??"Connected account";return a.workspaceLabel?`${t} / ${a.workspaceLabel}`:t}).join(", ")}export{Un as AppsView,jn as ConnectedAppRow,vn as connectedAppSetupTeamId};
@@ -1 +0,0 @@
1
- import{r as v,j as e}from"./index-C8aCGagb.js";import{aF as _,aN as A,bz as P,K as x,X as j,x as y,aA as C,aK as w}from"./App-s-CJswyt.js";import{P as q}from"./MarkdownText-BR4V6lNO.js";import{P as k}from"./play-C469pVZq.js";function M({runtime:s}){const[a,i]=v.useState(!1),[o,l]=v.useState(""),[n,u]=v.useState(null),t=s.run,h=t.plan,g=N(t),c={run:t},f=E(t.state),r=S(t),R=r?.git?.pullRequest??t.releaseOutcome.pullRequest;v.useEffect(()=>{i(!1),l(""),u(null)},[t.id,t.revision,t.state,h?.id,g?.id]);async function d(p,b){if(!(!b||n)){u(p);try{await b()}finally{u(null)}}}return e.jsxs("section",{className:`composer-create-strip ${f}`,"aria-label":"Create or improve status",children:[e.jsxs("div",{className:"composer-create-strip-heading",children:[f==="danger"?e.jsx(_,{size:15}):t.state==="awaiting_questions"?e.jsx(A,{size:15}):I(t.state)?e.jsx(P,{className:"composer-create-spin",size:15}):e.jsx(x,{size:15}),e.jsx("span",{children:z(t)}),e.jsx("small",{children:t.target.kind})]}),t.state==="awaiting_questions"&&g?e.jsxs("div",{className:"composer-create-question",children:[e.jsx("p",{children:g.prompt}),e.jsx("div",{className:"composer-create-options",children:g.options.map(p=>e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d(`answer:${p.id}`,()=>s.onAnswerQuestion?s.onAnswerQuestion(c,g.id,p.value):Promise.resolve())},children:[e.jsx("span",{children:n===`answer:${p.id}`?"Saving":p.label}),p.description?e.jsx("small",{children:p.description}):null]},p.id))})]}):t.state==="awaiting_plan_approval"&&h?e.jsxs("div",{className:"composer-create-plan-summary",children:[e.jsx("p",{children:h.summary}),e.jsx(m,{run:t}),a?e.jsxs("div",{className:"composer-create-revision",children:[e.jsx("textarea",{rows:2,value:o,placeholder:"Describe the plan revision",onChange:p=>l(p.currentTarget.value)}),e.jsxs("div",{children:[e.jsxs("button",{type:"button",disabled:!o.trim()||!!n,onClick:()=>{d("revise",()=>s.onRevise?s.onRevise(c,o):Promise.resolve())},children:[e.jsx(x,{size:13}),e.jsx("span",{children:n==="revise"?"Saving":"Save revision"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>i(!1),children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Close"})]})]})]}):e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("approve",()=>s.onApprove?s.onApprove(c):Promise.resolve())},children:[e.jsx(y,{size:13}),e.jsx("span",{children:n==="approve"?"Confirming":"Confirm plan"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>i(!0),children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Edit plan"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("cancel",()=>s.onCancel?s.onCancel(c):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="cancel"?"Cancelling":"Cancel"})]})]})]}):t.state==="paused"?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:"This work is paused. Resume it when you are ready to continue."}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("resume",()=>s.onResume?s.onResume(c):Promise.resolve())},children:[e.jsx(k,{size:13}),e.jsx("span",{children:n==="resume"?"Resuming":"Resume"})]})]}):t.state==="awaiting_promotion"&&r?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:T(t,r.id)}),e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n||!$(t,r.id),onClick:()=>{d("apply-candidate",()=>s.onApplyCandidate?s.onApplyCandidate(c,r.id):Promise.resolve())},children:[e.jsx(y,{size:13}),e.jsx("span",{children:n==="apply-candidate"?"Applying":"Apply update"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reject-candidate",()=>s.onRejectCandidate?s.onRejectCandidate(c,r.id):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="reject-candidate"?"Keeping current version":"Keep current version"})]})]})]}):t.state==="pull_request_open"&&r&&R?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:t.target.kind==="agent"?"An Agent update review is open. Finish or close it, then refresh its status.":"An external review is open. Merge or close it, then refresh its status."}),e.jsxs("div",{className:"composer-create-actions",children:[e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reconcile-pr",()=>s.onReconcilePullRequest?s.onReconcilePullRequest(c,r.id):Promise.resolve())},children:[e.jsx(C,{size:13}),e.jsx("span",{children:n==="reconcile-pr"?"Checking":"Refresh review"})]}),e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reject-candidate",()=>s.onRejectCandidate?s.onRejectCandidate(c,r.id):Promise.resolve())},children:[e.jsx(j,{size:13}),e.jsx("span",{children:n==="reject-candidate"?"Closing":"Close review"})]})]})]}):t.state==="blocked"||t.state==="failed"||t.state==="cancelled"?e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:t.blockedReason??"This work stopped before it was ready."}),t.state==="blocked"&&r?.git?.worktreePath&&["draft","checking"].includes(r.status)?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("resume",()=>s.onResume?s.onResume(c):Promise.resolve())},children:[e.jsx(k,{size:13}),e.jsx("span",{children:n==="resume"?"Continuing":"Continue update"})]}):t.state==="blocked"&&r?.git?.pullRequest?.state==="merged"?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("reconcile-pr",()=>s.onReconcilePullRequest?s.onReconcilePullRequest(c,r.id):Promise.resolve())},children:[e.jsx(C,{size:13}),e.jsx("span",{children:n==="reconcile-pr"?"Checking":"Re-run verification"})]}):null]}):t.state==="released"||t.state==="rejected"||t.state==="ready_local"||t.state==="ready"||t.state==="published_hosted"?e.jsxs("div",{className:"composer-create-status-body composer-create-status-body-reveals",children:[e.jsx("p",{children:t.state==="released"?"The Agent update is saved and its Evals passed.":t.state==="rejected"?"The Agent update was not applied.":t.state==="published_hosted"?"Published to the hosted Profile.":"The Agent and its actions are ready to use."}),e.jsx("div",{className:"composer-create-hover-details",children:e.jsx(m,{run:t})})]}):e.jsxs("div",{className:"composer-create-status-body",children:[e.jsx("p",{children:B(t)}),e.jsx(m,{run:t}),t.executionPolicy.pauseAllowed&&s.onPause?e.jsxs("button",{type:"button",disabled:!!n,onClick:()=>{d("pause",()=>s.onPause?.(c)??Promise.resolve())},children:[e.jsx(q,{size:13}),e.jsx("span",{children:n==="pause"?"Pausing":"Pause"})]}):null]})]})}function N(s){return s.questions.find(a=>a.status==="pending"&&a.required)??s.questions.find(a=>a.status==="pending")??null}function m({run:s}){const a=s.plan,i=s.target.kind==="agent",o=i?null:s.sourceRefs[0]??a?.sourcePlan[0]?.path??null,l=s.checkRefs.length||a?.checks.length||0,n=i?0:a?.requirements.length??0,u=i?[]:[...s.sourceRefs,...s.checkRefs].slice(0,4),t=w(a?.metadata);return!o&&l===0&&n===0&&u.length===0&&!t?null:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"composer-create-facts",children:[t?e.jsx("span",{title:t.detail,children:t.label}):null,o?e.jsx("span",{title:o,children:o}):null,l?e.jsx("span",{children:i?`${l} Evals`:s.checkRefs.length?`${s.checkRefs.length} check refs`:`${l} checks`}):null,n?e.jsxs("span",{children:[n," setup rows"]}):null]}),u.length?e.jsx("ul",{className:"composer-create-refs","aria-label":"Source and check refs",children:u.map(h=>e.jsx("li",{children:e.jsx("code",{title:h,children:h})},h))}):null]})}function z(s){const a=s.target.kind==="agent";return s.state==="awaiting_questions"?"Question":s.state==="awaiting_plan_approval"?"Plan":s.state==="applying_source"?a?"Saving Agent":"Applying source":s.state==="running_checks"?"Running Evals":s.state==="evaluating"?a?"Checking Agent":"Evaluating":s.state==="awaiting_promotion"?a?"Update ready":"Candidate ready":s.state==="opening_pull_request"?"Opening review":s.state==="pull_request_open"?"Review open":s.state==="reconciling_release"?a?"Applying update":"Merging change":s.state==="released"?a?"Agent updated":"Released":s.state==="rejected"?a?"Current Agent kept":"Rejected":s.state==="paused"?"Paused":s.state==="ready"||s.state==="ready_local"?"Ready":s.state==="published_hosted"?"Published":s.state==="cancelled"?"Cancelled":s.state==="blocked"?"Blocked":s.state==="failed"?"Failed":s.operation==="improve"?"Improve":"Create"}function B(s){const a=s.state,i=s.target.kind==="agent";return a==="applying_source"?i?"Saving the approved Agent plan.":"Applying the approved source changes.":a==="running_checks"?i?"Running Evals against the Agent.":"Running checks against the candidate.":a==="evaluating"?i?"Checking the Agent's behavior.":"Evaluating the candidate against its Evals.":a==="opening_pull_request"?i?"Preparing the Agent update review.":"Opening the candidate review.":a==="reconciling_release"?"Applying the change and verifying the active Profile.":a==="pushing_hosted"?"Pushing the Profile source.":a==="running_hosted_checks"?i?"Running hosted Evals.":"Running hosted checks.":"Preparing the work."}function E(s){return["released","ready","ready_local","published_hosted"].includes(s)?"success":["rejected","blocked","failed","cancelled"].includes(s)?"danger":["awaiting_questions","awaiting_plan_approval","awaiting_promotion","pull_request_open","paused"].includes(s)?"warning":"info"}function I(s){return["planning","applying_source","running_checks","evaluating","opening_pull_request","reconciling_release","pushing_hosted","running_hosted_checks"].includes(s)}function S(s){return[...s.candidates].reverse().find(a=>a.target.kind==="agent")??null}function $(s,a){const i=s.evaluationReceipts.filter(o=>o.candidateId===a&&o.subject==="candidate");return i.length>0&&i.every(o=>o.status==="passed"&&o.publishGate!=="failed")}function T(s,a){const i=s.evaluationReceipts.find(n=>n.candidateId===a&&n.subject==="active"),o=s.evaluationReceipts.find(n=>n.candidateId===a&&n.subject==="candidate"),l=n=>n?.summaryCounts?`${n.summaryCounts.passed}/${n.summaryCounts.total}`:n?.status??"not run";return s.target.kind==="agent"?`Current Agent: ${l(i)} Evals passed. Updated Agent: ${l(o)} Evals passed.`:`Base Evals: ${l(i)} passed. Candidate Evals: ${l(o)} passed.`}export{M as ComposerCreateImproveStrip};
@@ -1 +0,0 @@
1
- import{r as n,j as e}from"./index-C8aCGagb.js";import{V as g,bY as z,X as y,bz as w,K as L}from"./App-s-CJswyt.js";import{F as C}from"./MarkdownText-BR4V6lNO.js";import{I as k}from"./MainPane-5DTtwVCk.js";import{M as F}from"./minimize-2-CqcI4zcM.js";import"./cloud-upload-k9eqBsHr.js";import"./arrow-up-right-C9aE8Mfz.js";import"./square-BuImvLhT.js";import"./folder-open-sYgceW_f.js";import"./play-C469pVZq.js";function V({connection:a,expanded:l,selection:s,onClose:j,onResizeStart:h,onToggleExpanded:v}){const o=`${s.scope}:${s.name}`,[c,N]=n.useState({selectionKey:o,path:s.files[0]??"SKILL.md"}),r=c.selectionKey===o&&s.files.includes(c.path)?c.path:s.files[0]??"SKILL.md",[d,u]=n.useState(null),[m,p]=n.useState(null),[S,f]=n.useState(!1);n.useEffect(()=>{if(!a){u(null),p("Connect to the local OpenPond server to load this skill source.");return}let i=!1;return f(!0),p(null),u(null),g.skillSourceFile(a,s.scope,s.name,r).then(t=>{i||u(t)}).catch(t=>{i||p(t instanceof Error?t.message:String(t))}).finally(()=>{i||f(!1)}),()=>{i=!0}},[a,r,s.name,s.scope]);const x=r.split("/").at(-1)??r;return e.jsxs("aside",{className:`workspace-diff-panel native-skill-sidebar lab-skill-sidebar ${l?"expanded":""}`,"aria-label":`Skill package source: ${s.name}`,children:[l?null:e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize skill source",onPointerDown:h}),e.jsxs("div",{className:"workspace-diff-topbar native-skill-sidebar-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Selected skill file",children:e.jsxs("button",{className:"workspace-diff-tab active",type:"button",role:"tab","aria-selected":!0,children:[e.jsx(b,{path:r}),e.jsx("span",{children:x})]})}),e.jsxs("div",{className:"workspace-diff-toolbar-actions",children:[e.jsx("button",{className:"diff-icon-button",type:"button",title:l?"Dock sidebar":"Expand sidebar","aria-label":l?"Dock sidebar":"Expand sidebar",onClick:v,children:l?e.jsx(F,{size:14}):e.jsx(z,{size:14})}),e.jsx("button",{className:"diff-icon-button",type:"button",title:"Close skill source","aria-label":"Close skill source",onClick:j,children:e.jsx(y,{size:14})})]})]}),e.jsxs("div",{className:"lab-skill-source-layout",children:[e.jsxs("nav",{className:"lab-skill-file-list","aria-label":`${s.name} package files`,children:[e.jsx("div",{className:"lab-skill-file-list-heading",children:"Package files"}),s.files.map(i=>e.jsxs("button",{"aria-current":i===r?"page":void 0,className:i===r?"active":void 0,type:"button",title:i,onClick:()=>N({selectionKey:o,path:i}),children:[e.jsx(b,{path:i}),e.jsx("span",{children:i})]},i))]}),e.jsxs("div",{className:"native-skill-sidebar-body lab-skill-source-body",children:[e.jsxs("header",{className:"native-skill-source-header",children:[e.jsxs("div",{className:"lab-skill-source-title-row",children:[e.jsx("h2",{children:s.name}),e.jsx("span",{children:$(s.scope)})]}),e.jsx("p",{children:s.description}),e.jsx("code",{children:s.packagePath})]}),S?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(w,{className:"spin",size:16})," Loading source…"]}):m?e.jsx("div",{className:"lab-skill-source-state error",children:m}):d?.isBinary?e.jsxs("div",{className:"lab-skill-source-state",children:[e.jsx(k,{size:18}),"Binary asset · ",B(d.byteSize)]}):e.jsx("pre",{className:"native-skill-markdown-source","aria-label":`${x} source`,children:e.jsx("code",{children:d?.content??""})})]})]})]})}function $(a){return a==="codex"?"Codex skill":a==="extension"?"GitHub extension":"OpenPond skill"}function b({path:a}){const l=a.split(".").at(-1)?.toLowerCase();return["avif","gif","jpeg","jpg","png","webp"].includes(l??"")?e.jsx(k,{size:14}):["md","txt","yaml","yml"].includes(l??"")?e.jsx(L,{size:14}):e.jsx(C,{size:14})}function B(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}export{V as LabSkillSidebar};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TrainingCreationPanel-BXHfohNm.js","assets/index-C8aCGagb.js","assets/index-3iPNbbER.css","assets/App-s-CJswyt.js","assets/App-CaRMZoxo.css","assets/training-eg6uFi3M.css"])))=>i.map(i=>d[i]);
2
- import{j as c,r as I,_ as L}from"./index-C8aCGagb.js";import{u as N,a as P}from"./useSessionTurnCache-BHU2-Jmz.js";import{l as A,T as O,M as B,i as z}from"./MainPane-5DTtwVCk.js";import{l as D,bZ as J,b_ as K,o as Q,s as S,bK as V,b$ as _,g as Z}from"./App-s-CJswyt.js";import{C as $,a as G}from"./chunk-P3BRSSRD-DUGfuKA8.js";import"./MarkdownText-BR4V6lNO.js";import"./cloud-upload-k9eqBsHr.js";import"./arrow-up-right-C9aE8Mfz.js";import"./square-BuImvLhT.js";import"./folder-open-sYgceW_f.js";import"./play-C469pVZq.js";const U=Q({teamId:S(),items:V($).max(50),nextCursor:S().nullable()}).strict();function W({connection:a,teamId:t,actorId:r,sessionId:d,scopeKey:j,running:f,onOpen:C}){const g=D({queryKey:["conversation-formal-review",j,t,r,d],enabled:!f,staleTime:3e4,queryFn:async({signal:o})=>{const y=(p,s)=>Z(a,"/v1/training/evaluation-workspace",{method:"POST",signal:o,body:JSON.stringify({teamId:t,projectId:null,operation:p,value:s})});let l;const v=new Set;for(let p=0;p<20;p++){const s=U.parse(await y("connectedList",{limit:50,...l?{cursor:l}:{}}));if(s.teamId!==t)throw new Error("Recorded evidence workspace changed.");for(const i of s.items.filter(n=>n.sessionId===d&&["native_chat","native_work"].includes(n.source))){const n=i.boundaries.find(m=>m.projection==="conversation"&&m.terminal!=="unknown"&&m.coverage.answer&&m.outputHash);if(!n||!i.projectId)continue;const h={id:i.sourceId,snapshotHash:i.snapshotHash,boundaryId:n.id,boundaryRevisionHash:n.revisionHash},u=G.parse(await y("connectedCase",h));if(u.teamId!==t||u.sessionId!==d||u.projectId!==i.projectId||_(u.ref)!==_(h)||u.evidence.boundary.revisionHash!==h.boundaryRevisionHash||u.evidence.boundary.outputHash!==n.outputHash)throw new Error("The retained conversation snapshot changed.");return{ref:h,projectId:i.projectId}}if(!s.nextCursor)return null;if(v.has(s.nextCursor))throw new Error("Recorded source pagination repeated its cursor.");v.add(s.nextCursor),l=s.nextCursor}return null}});return!g.data||f?null:c.jsx("button",{type:"button",className:"training-button secondary",onClick:async()=>{const o=J("datasets",null,{area:"console",projectId:g.data.projectId,reviewSource:g.data.ref});await K(o)&&C()},children:"Formally review retained conversation"})}const X=I.lazy(()=>L(()=>import("./TrainingCreationPanel-BXHfohNm.js"),__vite__mapDeps([0,1,2,3,4,5])).then(a=>({default:a.TrainingStatusReceipt})));function le({formalReviewTeamId:a,formalReviewActorId:t,formalReviewScopeKey:r,onFormalReviewOpen:d,accountBaseUrl:j,activeWorkspaceAppId:f,billingOrganizationSlug:C,billingTeamId:g,connection:o,conversationKey:y,creation:l,onOpenBrowserLink:v,onOpenAttachmentInSidebar:p,onOpenFileInSidebar:s,onOpenProfileSettings:i,onResolveUserQuestion:n,onOpenSession:h,onOpenPonder:u,onScroll:m,rows:T,sessionId:b,turnRunning:M,userAttachmentDisplay:k,threadRef:H,workspaceRootPath:w}){const x=I.useMemo(()=>T.flatMap(e=>e.type==="message"?[e.message]:[]),[T]),E=N(x,y),F=Y(x),R=I.useMemo(()=>A(x),[x]),q=P({connection:o,latestTurnId:F,sessionId:b,turnRunning:M});return c.jsxs("section",{className:"chat-thread","aria-label":"Conversation",ref:H,onScroll:m,children:[T.map(e=>e.type==="thinking"?c.jsx(O,{},e.id):c.jsx(B,{activeWorkspaceAppId:f,accountBaseUrl:j,billingOrganizationSlug:C,billingTeamId:g,connection:o,animateInitialContent:e.message.role==="assistant"&&E.has(e.message.id),kvCacheSummary:z(e.message,R)&&e.message.turnId?q.get(e.message.turnId)??null:null,message:e.message,onOpenAttachmentInSidebar:p,onOpenFileInSidebar:s,onOpenBrowserLink:v,onOpenProfileSettings:i,onResolveUserQuestion:n,onOpenSession:h,onOpenPonder:u,userAttachmentDisplay:k,workspaceRootPath:w,showFooter:e.showFooter},e.id)),o&&a&&t&&r&&b&&d?c.jsx(W,{connection:o,teamId:a,actorId:t,scopeKey:r,sessionId:b,running:M,onOpen:d},r+b):null,l?c.jsx(I.Suspense,{fallback:null,children:c.jsx(X,{creation:l})}):null]})}function Y(a){for(let t=a.length-1;t>=0;t-=1){const r=a[t]?.turnId;if(r)return r}return null}export{le as MainChatThread};