openpond 0.2.66 → 0.2.68

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 (580) hide show
  1. package/dist/app-server.d.ts +691 -1
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{account-context-TIJOM22A.js → account-context-MWB6HN6I.js} +1 -1
  4. package/dist/chunks/{acp-YYZ3ZO3Q.js → acp-2OIXATRY.js} +1 -1
  5. package/dist/chunks/{acp-agent-T26S7TU2.js → acp-agent-PAGX2B47.js} +1 -1
  6. package/dist/chunks/actions-command-2VE6YI4W.js +2 -0
  7. package/dist/chunks/{app-layer-5XUMNHDO.js → app-layer-YNEUEOEP.js} +1 -1
  8. package/dist/chunks/{app-server-connected-apps-IB6M35NS.js → app-server-connected-apps-TZOAUOYR.js} +1 -1
  9. package/dist/chunks/app-server-evaluations-RRLYWLPK.js +2 -0
  10. package/dist/chunks/app-server-harness-services-XXM336NU.js +2 -0
  11. package/dist/chunks/app-server-runtime-GBX65JJ7.js +2 -0
  12. package/dist/chunks/apps-RSFEJOQN.js +2 -0
  13. package/dist/chunks/chunk-2PXKSAG6.js +2 -0
  14. package/dist/chunks/{chunk-GRLQHYAU.js → chunk-2TGHZXJE.js} +2 -2
  15. package/dist/chunks/{chunk-YU4JYWCA.js → chunk-3A2Y7UK3.js} +1 -1
  16. package/dist/chunks/chunk-3Z4VM2LF.js +4 -0
  17. package/dist/chunks/chunk-4BUM6JEC.js +33 -0
  18. package/dist/chunks/chunk-4G3GTEVS.js +23 -0
  19. package/dist/chunks/{chunk-FUFI4THX.js → chunk-4KNPCJR4.js} +1 -1
  20. package/dist/chunks/chunk-4KTGYHCE.js +2 -0
  21. package/dist/chunks/chunk-4PUOWSDE.js +13 -0
  22. package/dist/chunks/chunk-55YD4UTW.js +2 -0
  23. package/dist/chunks/chunk-5G7BQAUA.js +2 -0
  24. package/dist/chunks/chunk-65FJWWXG.js +2 -0
  25. package/dist/chunks/{chunk-2GJD23CM.js → chunk-65WRWLUD.js} +1 -1
  26. package/dist/chunks/chunk-6D3FI2XT.js +2 -0
  27. package/dist/chunks/chunk-73TW6BKK.js +6 -0
  28. package/dist/chunks/{chunk-6S2MWJVD.js → chunk-7NCM6GBN.js} +1 -1
  29. package/dist/chunks/chunk-7OFD6TFD.js +2 -0
  30. package/dist/chunks/chunk-7OKZCJHS.js +3 -0
  31. package/dist/chunks/{chunk-NTM3KQ25.js → chunk-7PKDJHT6.js} +1 -1
  32. package/dist/chunks/chunk-7RJOCGQ6.js +2 -0
  33. package/dist/chunks/{chunk-SAZTOGX6.js → chunk-7RSQOC5M.js} +3 -3
  34. package/dist/chunks/{chunk-6TRVEA3T.js → chunk-AFH462DO.js} +1 -1
  35. package/dist/chunks/{chunk-GUG2SWRZ.js → chunk-AFKFN25T.js} +1 -1
  36. package/dist/chunks/chunk-AFYYIJ6K.js +2 -0
  37. package/dist/chunks/chunk-APKXXAUF.js +2 -0
  38. package/dist/chunks/chunk-AQUZCWM3.js +2 -0
  39. package/dist/chunks/chunk-AUO5DCEU.js +2 -0
  40. package/dist/chunks/chunk-AYOMVI7J.js +2 -0
  41. package/dist/chunks/{chunk-EVQISX7M.js → chunk-B66QCXH2.js} +1 -1
  42. package/dist/chunks/{chunk-S6UCVXBC.js → chunk-BHKXPWFB.js} +1 -1
  43. package/dist/chunks/chunk-BU6MW65V.js +10 -0
  44. package/dist/chunks/{chunk-C5B3FMV3.js → chunk-CCZ276IA.js} +1 -1
  45. package/dist/chunks/{chunk-LYVHYT3L.js → chunk-CIZI6Z7D.js} +1 -1
  46. package/dist/chunks/{chunk-4D3CICBG.js → chunk-CO23RRN7.js} +1 -1
  47. package/dist/chunks/{chunk-QAFXQHHG.js → chunk-D6L6UNUQ.js} +2 -2
  48. package/dist/chunks/chunk-DDOIPTOM.js +2 -0
  49. package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-DKOVZ6R2.js} +3 -3
  50. package/dist/chunks/chunk-DRLP7GIU.js +2 -0
  51. package/dist/chunks/{chunk-DAEUVT2I.js → chunk-DRTHKWHK.js} +1 -1
  52. package/dist/chunks/{chunk-W22KWKF6.js → chunk-DWF3FCY4.js} +1 -1
  53. package/dist/chunks/{chunk-NABPZ7AK.js → chunk-DWM5G7BU.js} +1 -1
  54. package/dist/chunks/chunk-DXJC3QW7.js +2 -0
  55. package/dist/chunks/{chunk-V3S2B6WU.js → chunk-E2JB5OCO.js} +1 -1
  56. package/dist/chunks/{chunk-GI7LTJV3.js → chunk-EDYCSW22.js} +1 -1
  57. package/dist/chunks/{chunk-4JYTFEND.js → chunk-EFP75UEX.js} +1 -1
  58. package/dist/chunks/{chunk-WKHGXLJD.js → chunk-EGP6DF34.js} +2 -2
  59. package/dist/chunks/{chunk-M5QPL5NO.js → chunk-ESYPMD7Q.js} +1 -1
  60. package/dist/chunks/{chunk-PWKJ5KLZ.js → chunk-EXYSD45J.js} +1 -1
  61. package/dist/chunks/{chunk-XHBMK6LC.js → chunk-EYTTZ5H4.js} +1 -1
  62. package/dist/chunks/chunk-FKUWCJ73.js +161 -0
  63. package/dist/chunks/{chunk-U2BD545L.js → chunk-FNGZ4UDZ.js} +1 -1
  64. package/dist/chunks/{chunk-JFZ6USNQ.js → chunk-G7X73SBG.js} +1 -1
  65. package/dist/chunks/{chunk-36FNNR5N.js → chunk-GEYZVOGD.js} +1 -1
  66. package/dist/chunks/{chunk-ULJZ7NUF.js → chunk-GY7YSD6J.js} +1 -1
  67. package/dist/chunks/{chunk-JLW5BQVO.js → chunk-GYYJ47GX.js} +1 -1
  68. package/dist/chunks/chunk-HG2YFMVU.js +4 -0
  69. package/dist/chunks/{chunk-BTJACFU3.js → chunk-HKVFU3B3.js} +1 -1
  70. package/dist/chunks/chunk-IHAEZ73V.js +2 -0
  71. package/dist/chunks/{chunk-LI3FTPAH.js → chunk-IIT66347.js} +4 -4
  72. package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-IO5DZUKL.js} +1 -1
  73. package/dist/chunks/chunk-J256AEEE.js +2 -0
  74. package/dist/chunks/{chunk-CRDKBFRN.js → chunk-JEMECEQH.js} +1 -1
  75. package/dist/chunks/{chunk-7P5SH3CI.js → chunk-JPUSTFZC.js} +1 -1
  76. package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-JQOVC35K.js} +1 -1
  77. package/dist/chunks/{chunk-VS3AMJEK.js → chunk-JT5YQ52I.js} +1 -1
  78. package/dist/chunks/chunk-JVMSN7LH.js +2 -0
  79. package/dist/chunks/{chunk-HORMGT2Q.js → chunk-JXYJQT5Q.js} +1 -1
  80. package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-K7KBFM2T.js} +1 -1
  81. package/dist/chunks/{chunk-FS2VKOT7.js → chunk-KCLMA2IH.js} +1 -1
  82. package/dist/chunks/chunk-KDER7R45.js +2 -0
  83. package/dist/chunks/{chunk-WBO6FQHR.js → chunk-KOC3YJEU.js} +2 -2
  84. package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-KP2MYTP5.js} +1 -1
  85. package/dist/chunks/{chunk-YRDPVTEI.js → chunk-KU4TPDPH.js} +2 -2
  86. package/dist/chunks/{chunk-WJSJXK2N.js → chunk-KUE46HTH.js} +1 -1
  87. package/dist/chunks/chunk-LVXL7T5O.js +2 -0
  88. package/dist/chunks/{chunk-5KWKSR4P.js → chunk-M4A7G4S5.js} +2 -2
  89. package/dist/chunks/{chunk-KAWXVMHI.js → chunk-M4ZHFDRJ.js} +1 -1
  90. package/dist/chunks/{chunk-HX6GXMDK.js → chunk-MEJLWNRS.js} +1 -1
  91. package/dist/chunks/{chunk-B666Z2NS.js → chunk-MIFVX5PK.js} +1 -1
  92. package/dist/chunks/{chunk-66HFW4OU.js → chunk-MOXIGLN2.js} +1 -1
  93. package/dist/chunks/{chunk-7XOUM6RK.js → chunk-N5EAVX4G.js} +1 -1
  94. package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-NMMHXYDJ.js} +1 -1
  95. package/dist/chunks/{chunk-EBOTNBUS.js → chunk-NRYC4NH6.js} +1 -1
  96. package/dist/chunks/chunk-NSSZ2ZIU.js +2 -0
  97. package/dist/chunks/{chunk-4TTXNVCE.js → chunk-OFJPOTES.js} +1 -1
  98. package/dist/chunks/chunk-OIH2LPIT.js +2 -0
  99. package/dist/chunks/chunk-OUJ63LMU.js +2 -0
  100. package/dist/chunks/{chunk-DXA2UHBE.js → chunk-P4QM63L3.js} +1 -1
  101. package/dist/chunks/chunk-PACLKDTN.js +2 -0
  102. package/dist/chunks/{chunk-AF3AVDPP.js → chunk-PAYFJHPO.js} +1 -1
  103. package/dist/chunks/{chunk-OPTJYDZN.js → chunk-PHZZBXDO.js} +1 -1
  104. package/dist/chunks/{chunk-HPTEJBP4.js → chunk-PKJHN666.js} +1 -1
  105. package/dist/chunks/{chunk-HNDAGZCF.js → chunk-PLROXHG2.js} +1 -1
  106. package/dist/chunks/{chunk-W7NXFRHN.js → chunk-PNPV2LDE.js} +1 -1
  107. package/dist/chunks/{chunk-DSJZS77R.js → chunk-PSY6IRJE.js} +8 -8
  108. package/dist/chunks/{chunk-UK5LGSGT.js → chunk-Q73RKX7I.js} +1 -1
  109. package/dist/chunks/{chunk-PLVWARB7.js → chunk-Q7FBVLLB.js} +1 -1
  110. package/dist/chunks/{chunk-QAEZNFAM.js → chunk-Q7P34B2O.js} +1 -1
  111. package/dist/chunks/{chunk-QYQZQVVN.js → chunk-QLGP2OAQ.js} +1 -1
  112. package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QUNQM2E3.js} +1 -1
  113. package/dist/chunks/chunk-R2FYCJL6.js +2 -0
  114. package/dist/chunks/{chunk-KOKBDIGR.js → chunk-R4EEGWXB.js} +1 -1
  115. package/dist/chunks/chunk-RBTDSI4L.js +11 -0
  116. package/dist/chunks/chunk-RCQYEHHD.js +2 -0
  117. package/dist/chunks/{chunk-TGULVWPV.js → chunk-RFQD6B44.js} +1 -1
  118. package/dist/chunks/{chunk-3WJQ4IGK.js → chunk-RPM4FDRX.js} +1 -1
  119. package/dist/chunks/{chunk-MCBRB5D6.js → chunk-RY46UPBO.js} +4 -4
  120. package/dist/chunks/{chunk-67HXM6AL.js → chunk-SDHG6CKU.js} +1 -1
  121. package/dist/chunks/{chunk-DIDQHTAX.js → chunk-SO4GMSNP.js} +1 -1
  122. package/dist/chunks/{chunk-O6ZYDHEJ.js → chunk-SSHE6B7Z.js} +1 -1
  123. package/dist/chunks/{chunk-SH7POUVX.js → chunk-SV7ZBEK2.js} +6 -6
  124. package/dist/chunks/{chunk-BJXPQIVD.js → chunk-U7D6Q744.js} +1 -1
  125. package/dist/chunks/chunk-U7X5ZLAL.js +2 -0
  126. package/dist/chunks/{chunk-LARJARMS.js → chunk-UANH7U3Y.js} +1 -1
  127. package/dist/chunks/{chunk-CYQLXS2U.js → chunk-UGFSAG4U.js} +1 -1
  128. package/dist/chunks/chunk-ULTV6INR.js +2 -0
  129. package/dist/chunks/{chunk-FHLSLOKH.js → chunk-UMAVVMXL.js} +7 -7
  130. package/dist/chunks/chunk-V24VHT76.js +2 -0
  131. package/dist/chunks/chunk-VEBW7NKD.js +2 -0
  132. package/dist/chunks/chunk-VJR2GNRY.js +2 -0
  133. package/dist/chunks/{chunk-JD76ANPN.js → chunk-VJYOKU3C.js} +1 -1
  134. package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-VWWKWYSQ.js} +1 -1
  135. package/dist/chunks/chunk-WCNPGKST.js +2 -0
  136. package/dist/chunks/chunk-WD4KAKEX.js +2 -0
  137. package/dist/chunks/chunk-WGQ3FMRF.js +2 -0
  138. package/dist/chunks/{chunk-6C3CXME7.js → chunk-WNXUSELC.js} +1 -1
  139. package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-WZ35ICTE.js} +3 -3
  140. package/dist/chunks/chunk-XHACK2KR.js +2 -0
  141. package/dist/chunks/chunk-XOPHFUUY.js +2 -0
  142. package/dist/chunks/{chunk-UXPO3ZV7.js → chunk-XQAUHXL4.js} +4 -4
  143. package/dist/chunks/{chunk-OXRVILDW.js → chunk-XT4CSKHM.js} +1 -1
  144. package/dist/chunks/{chunk-QJJNHKLT.js → chunk-XY7HFXLH.js} +1 -1
  145. package/dist/chunks/{chunk-ZUT4EM64.js → chunk-XYZV3FKD.js} +1 -1
  146. package/dist/chunks/{chunk-7FBWUVX7.js → chunk-Y2WNZWT2.js} +1 -1
  147. package/dist/chunks/chunk-Y4I6CFZJ.js +2 -0
  148. package/dist/chunks/chunk-YDZBX4XQ.js +2 -0
  149. package/dist/chunks/chunk-YI6ME6PU.js +22 -0
  150. package/dist/chunks/{chunk-H42UW6IF.js → chunk-YXMYK5P7.js} +1 -1
  151. package/dist/chunks/{chunk-D7R2AAX2.js → chunk-Z33RVGP6.js} +1 -1
  152. package/dist/chunks/{chunk-B32CW3NT.js → chunk-ZDEIVUUI.js} +1 -1
  153. package/dist/chunks/{chunk-IEVJLG3V.js → chunk-ZIQJDTQB.js} +1 -1
  154. package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-ZYLLPRPU.js} +1 -1
  155. package/dist/chunks/cli-R7TAP6Z2.js +2 -0
  156. package/dist/chunks/command-LNOVZQSK.js +58 -0
  157. package/dist/chunks/{configuration-command-4WTS2MZS.js → configuration-command-CNITTZRP.js} +1 -1
  158. package/dist/chunks/connected-app-executor-FGWCLOJO.js +2 -0
  159. package/dist/chunks/connected-evidence-5VZBYNWN.js +2 -0
  160. package/dist/chunks/{connected-starting-assets-4LDXQVLN.js → connected-starting-assets-KWOFEIE4.js} +1 -1
  161. package/dist/chunks/{connection-GDWPMHPC.js → connection-VMBXW5PD.js} +1 -1
  162. package/dist/chunks/{continual-HQCFY7GN.js → continual-FVOLGGOE.js} +1 -1
  163. package/dist/chunks/core-commands-BPYXVT7O.js +2 -0
  164. package/dist/chunks/dataset-preparation-authoring-UUYFWWCT.js +4 -0
  165. package/dist/chunks/datasets-E5TXSVIY.js +2 -0
  166. package/dist/chunks/desktop-test-FX7DTY4N.js +3 -0
  167. package/dist/chunks/dist-2MKJC6HN.js +2 -0
  168. package/dist/chunks/{dist-GR56E3QK.js → dist-DKE7RJZN.js} +1 -1
  169. package/dist/chunks/evaluation-coordination-KUTZEEPB.js +2 -0
  170. package/dist/chunks/experiment-improvements-PQNR5YHN.js +2 -0
  171. package/dist/chunks/experiments-Z4BJWT3Y.js +2 -0
  172. package/dist/chunks/experiments-signal-3GCLKUWZ.js +2 -0
  173. package/dist/chunks/{extension-UH34ZF7N.js → extension-3EKIT6BB.js} +1 -1
  174. package/dist/chunks/{help-JQA3YMCX.js → help-K6YLZ3KL.js} +1 -1
  175. package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +2 -0
  176. package/dist/chunks/host-profile-external-dataset-KSEPXY2S.js +2 -0
  177. package/dist/chunks/hosted-app-server-composition-LA3BZ4SE.js +2 -0
  178. package/dist/chunks/hosted-experiment-improvement-VG2WE7XZ.js +3 -0
  179. package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +2 -0
  180. package/dist/chunks/hosted-profile-candidate-PTGQLPZO.js +3 -0
  181. package/dist/chunks/hosted-profile-compiler-FS5R6CHJ.js +2 -0
  182. package/dist/chunks/hosted-profile-evaluation-control-UUEZEMXU.js +2 -0
  183. package/dist/chunks/hosted-profile-evaluation-inspection-4F7OEF4T.js +3 -0
  184. package/dist/chunks/hosted-profile-evaluation-preparation-LIJJZDHQ.js +3 -0
  185. package/dist/chunks/hosted-tasksets-NXVF4AQA.js +2 -0
  186. package/dist/chunks/human-review-2ZOB7CJZ.js +2 -0
  187. package/dist/chunks/{import-CLWTKDG6.js → import-YHYKZ6JN.js} +2 -2
  188. package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
  189. package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
  190. package/dist/chunks/{learning-XTY5VOTK.js → learning-LAXMGWSQ.js} +1 -1
  191. package/dist/chunks/learning-Y3UKNUGE.js +2 -0
  192. package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +2 -0
  193. package/dist/chunks/local-harness-taskset-review-XQHQ6JCR.js +2 -0
  194. package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-6YWVD2TS.js} +1 -1
  195. package/dist/chunks/opchat-XXI2ZM53.js +3 -0
  196. package/dist/chunks/opchat-bounded-chat-3MZGCRLY.js +2 -0
  197. package/dist/chunks/organizations-W7HI2JA4.js +2 -0
  198. package/dist/chunks/{profile-RIDNU2I5.js → profile-P2SJPBOJ.js} +1 -1
  199. package/dist/chunks/project-action-payload-LTIQBX77.js +2 -0
  200. package/dist/chunks/project-agent-XRIXMXQK.js +2 -0
  201. package/dist/chunks/published-experiment-source-SDXUVPE7.js +2 -0
  202. package/dist/chunks/refiner-profile-service-56VYLZQJ.js +2 -0
  203. package/dist/chunks/{runtime-VSOOPNYN.js → runtime-Q7JUJO4D.js} +2 -2
  204. package/dist/chunks/sandbox-command-HVA5FJU4.js +2 -0
  205. package/dist/chunks/{sandbox-template-NN3XQI7M.js → sandbox-template-U536EEWY.js} +1 -1
  206. package/dist/chunks/saved-work-KSIQPXC2.js +2 -0
  207. package/dist/chunks/{send-turn-D3GTSSHI.js → send-turn-YLY3YNEQ.js} +1 -1
  208. package/dist/chunks/setup-RMZ2BHLM.js +2 -0
  209. package/dist/chunks/{src-662QOKNP.js → src-C3ZUESMK.js} +1 -1
  210. package/dist/chunks/src-SGQYVBNQ.js +424 -0
  211. package/dist/chunks/standalone-experiment-turn-owner-TW5MTWIO.js +2 -0
  212. package/dist/chunks/store-chat-resources-IRHBW2EC.js +2 -0
  213. package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-3KK42L4I.js} +1 -1
  214. package/dist/chunks/store-conversation-serving-IVURK52V.js +2 -0
  215. package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-UTCLBXF2.js} +1 -1
  216. package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-4AQOVAQY.js} +1 -1
  217. package/dist/chunks/store-evaluation-results-PK2P3IMH.js +7 -0
  218. package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-YEXB4IRV.js} +1 -1
  219. package/dist/chunks/store-human-review-O4BVHP25.js +7 -0
  220. package/dist/chunks/store-learned-preference-migration-validation-44SVX6YB.js +2 -0
  221. package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-SIUQIY5C.js} +1 -1
  222. package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-BUHR7SN6.js} +1 -1
  223. package/dist/chunks/store-local-experiments-BHVTKPPE.js +97 -0
  224. package/dist/chunks/store-model-batch-review-RVAYUVK2.js +2 -0
  225. package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-6L3OYXF4.js} +1 -1
  226. package/dist/chunks/store-model-project-preparation-AAEKCF6V.js +2 -0
  227. package/dist/chunks/store-modification-recordings-LCPK6K2T.js +9 -0
  228. package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-5YVIQNVB.js} +1 -1
  229. package/dist/chunks/{store-sidebar-file-bookmarks-J3JEVAYR.js → store-sidebar-file-bookmarks-WLMYDA4E.js} +1 -1
  230. package/dist/chunks/{store-sidebar-preferences-2JHTFXJK.js → store-sidebar-preferences-AFMYIDWT.js} +1 -1
  231. package/dist/chunks/{store-subagents-PUBQVWSU.js → store-subagents-KFPVSTRO.js} +1 -1
  232. package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-L6IQTY26.js} +1 -1
  233. package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-QWS2C656.js} +1 -1
  234. package/dist/chunks/store-taskset-drafts-FRFL6ITK.js +9 -0
  235. package/dist/chunks/{store-training-DUVIDYK5.js → store-training-FYXZU2FE.js} +1 -1
  236. package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-3N3VKPIY.js} +1 -1
  237. package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-VOFVGPZR.js} +1 -1
  238. package/dist/chunks/{taskset-7FQCJ55X.js → taskset-UDDLFYKV.js} +1 -1
  239. package/dist/chunks/taskset-catalog-RZYEBCRQ.js +2 -0
  240. package/dist/chunks/taskset-packages-T6B6HYKZ.js +2 -0
  241. package/dist/chunks/taskset-packages-WMG5DUBN.js +2 -0
  242. package/dist/chunks/{teams-bot-FXMCOCPP.js → teams-bot-MPWL2PP4.js} +1 -1
  243. package/dist/chunks/tool-learning-ZQ6NSJ5K.js +2 -0
  244. package/dist/chunks/training-5NT2YB2L.js +2 -0
  245. package/dist/chunks/training-5UMT45UL.js +2 -0
  246. package/dist/chunks/training-UY6KRG4M.js +2 -0
  247. package/dist/chunks/{training-error-LQKCOQDJ.js → training-error-WF463UNZ.js} +1 -1
  248. package/dist/chunks/{training-hardware-ESXRWUIK.js → training-hardware-UWQCRDMV.js} +1 -1
  249. package/dist/chunks/training-hosted-CKSDRVL6.js +2 -0
  250. package/dist/chunks/training-hosted-alphaedit-HSMRDJTD.js +2 -0
  251. package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
  252. package/dist/chunks/training-hosted-decision-7JALOU6O.js +2 -0
  253. package/dist/chunks/training-hosted-engram-SXO75MFG.js +2 -0
  254. package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-E2N32YU5.js} +1 -1
  255. package/dist/chunks/training-hosted-modification-comparison-TXFDJFTG.js +2 -0
  256. package/dist/chunks/training-hosted-neuron-training-J42WK4EH.js +2 -0
  257. package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
  258. package/dist/chunks/training-hosted-serving-report-BAEABGJH.js +2 -0
  259. package/dist/chunks/training-hosted-steering-T556BUBG.js +2 -0
  260. package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
  261. package/dist/chunks/training-model-start-P3PXDWNT.js +2 -0
  262. package/dist/chunks/web-search-ZEKJHZW4.js +2 -0
  263. package/dist/chunks/{workspaces-MCS2AQX6.js → workspaces-EK62ANTB.js} +1 -1
  264. package/dist/cli.js +1 -1
  265. package/dist/index.js +1 -1
  266. package/dist/sandbox/types/billing.d.ts +87 -6
  267. package/dist/sandbox/types/io.d.ts +3 -0
  268. package/dist/sandbox-template/manifest.js +1 -1
  269. package/dist/skills/manifest.json +3 -3
  270. package/dist/skills/openpond-cli/references/experiments-and-training.md +461 -1
  271. package/dist/web/assets/App-CCuh99JW.js +54 -0
  272. package/dist/web/assets/{AppDialog-DuSd0wk6.js → AppDialog-CxjDHVk9.js} +1 -1
  273. package/dist/web/assets/AppTerminalPanel-CKJIVpKa.js +2 -0
  274. package/dist/web/assets/{AppToastContext-Dklk6CaG.js → AppToastContext-EpiT1dHs.js} +1 -1
  275. package/dist/web/assets/AppsView-BsMyPX_3.js +1 -0
  276. package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
  277. package/dist/web/assets/{AttachmentTypeIcon-DipNT6Tj.js → AttachmentTypeIcon-BXvZy5gB.js} +1 -1
  278. package/dist/web/assets/BrowserSidebar-BIIV4aq4.js +1 -0
  279. package/dist/web/assets/{CartesianChart-UU1sdoUO.js → CartesianChart-brqLBqnF.js} +1 -1
  280. package/dist/web/assets/ChatTimelineEntry-CwZbn16X.js +8 -0
  281. package/dist/web/assets/{CollaborationTabs-BWYRQ1PE.js → CollaborationTabs-BU4uc4tZ.js} +1 -1
  282. package/dist/web/assets/{CommandMenu-B08F9x5g.js → CommandMenu-DkWpXR55.js} +1 -1
  283. package/dist/web/assets/CommunityView-CsSxJZGn.js +1 -0
  284. package/dist/web/assets/{ComposerAttachments-srWBKvCv.js → ComposerAttachments-BdJGCYzI.js} +1 -1
  285. package/dist/web/assets/{ComposerCreateImproveStrip-DqTpU5cO.js → ComposerCreateImproveStrip-CWy0j1vv.js} +1 -1
  286. package/dist/web/assets/{ConversationImportsSettings-2KC-KQvu.js → ConversationImportsSettings-DCmiakbZ.js} +1 -1
  287. package/dist/web/assets/DatasetReviewImport-DEnF_pGu.js +1 -0
  288. package/dist/web/assets/ExperimentTrainingDataWorkspace-WhwQ0QBi.js +2 -0
  289. package/dist/web/assets/{FilePagePreview-B-iUVPhh.js → FilePagePreview-BRhhz99q.js} +2 -2
  290. package/dist/web/assets/{GetStartedView-5v0vBWXy.js → GetStartedView-CLVD-qEi.js} +1 -1
  291. package/dist/web/assets/{GettingStartedDialog-Bn4072K-.js → GettingStartedDialog-CMxaAMg-.js} +1 -1
  292. package/dist/web/assets/HostedModelLearningReview-Cn-j-rDo.js +1 -0
  293. package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +1 -0
  294. package/dist/web/assets/{HtmlVisual-C2WsMj90.js → HtmlVisual-D5y2WG9L.js} +10 -10
  295. package/dist/web/assets/LabModelVersionDetailPage-BxRmYD6h.js +1 -0
  296. package/dist/web/assets/{TrainingRunLineage-PXzWR65d.css → LabModelWorkspace-DOrgCk9Z.css} +1 -1
  297. package/dist/web/assets/LabModelWorkspace-u2Ulm_z4.js +1 -0
  298. package/dist/web/assets/{LabSkillSidebar-C50P74LI.js → LabSkillSidebar-C7IceJTJ.js} +1 -1
  299. package/dist/web/assets/LabsRoute-C9Y0GU34.css +1 -0
  300. package/dist/web/assets/LabsRoute-CbztQaEf.js +74 -0
  301. package/dist/web/assets/LearningBatchesPage-B1NZTBSv.css +1 -0
  302. package/dist/web/assets/LearningBatchesPage-CJqgZNvM.js +26 -0
  303. package/dist/web/assets/MainChatThread-DNMfrrRq.js +2 -0
  304. package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BZlNLfTM.css} +1 -1
  305. package/dist/web/assets/MainPane-CQQxSDPS.js +13 -0
  306. package/dist/web/assets/ModelProjectPageHeader-Dge19aE1.js +1 -0
  307. package/dist/web/assets/NativeSetupTerminal-D4JnbpyD.js +2 -0
  308. package/dist/web/assets/{NativeSkillSidebar-Clv0IWyn.js → NativeSkillSidebar-Jzx1BeKV.js} +1 -1
  309. package/dist/web/assets/{NewProjectDialog-Cw_F5Eaa.js → NewProjectDialog-DcnGzEd9.js} +1 -1
  310. package/dist/web/assets/{OutputsPage-Btyiie4B.js → OutputsPage-Cmk15Vt_.js} +1 -1
  311. package/dist/web/assets/{PageChrome-BLLw_cEA.js → PageChrome-Cz_fCqtn.js} +1 -1
  312. package/dist/web/assets/{ProjectsPage-BpSHWQgj.js → ProjectsPage-BZ3Eo3Mz.js} +1 -1
  313. package/dist/web/assets/RightChatPanelStack-C6H2vU9N.js +1 -0
  314. package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +1 -0
  315. package/dist/web/assets/{ScheduledWorkPage-WytWGQgw.js → ScheduledWorkPage-CAkSwM0T.js} +1 -1
  316. package/dist/web/assets/{SettingsView-BJq5zNkv.js → SettingsView-DvQXGw3_.js} +3 -3
  317. package/dist/web/assets/{TasksetDraftEditorPrimitives-BxFEWI9W.js → TasksetDraftEditorPrimitives-JuU1k8vr.js} +1 -1
  318. package/dist/web/assets/TeamChatView-DmHjr8W9.js +1 -0
  319. package/dist/web/assets/{TerminalOverlay-C7OM2F0-.js → TerminalOverlay-DlaM9d8F.js} +1 -1
  320. package/dist/web/assets/{TrainingCreationPanel-KH5GFacT.js → TrainingCreationPanel-ClpylNsr.js} +1 -1
  321. package/dist/web/assets/{TrainingDraftPanel-DzOw13Md.js → TrainingDraftPanel-6tH2xSDj.js} +1 -1
  322. package/dist/web/assets/{UsageSettingsSection-nZHno_4P.js → UsageSettingsSection-CzDqxOYM.js} +2 -2
  323. package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +1 -0
  324. package/dist/web/assets/WorkspaceDiffPanel-B4e0lyF7.js +11 -0
  325. package/dist/web/assets/WorkspaceEnvironmentMenu-D01ZkZZF.js +35 -0
  326. package/dist/web/assets/{WorkspaceFileLocation-1U8DDj1J.js → WorkspaceFileLocation-C5s_njZb.js} +1 -1
  327. package/dist/web/assets/{WorkspaceGitDialogs-BO1EUA3G.js → WorkspaceGitDialogs-DjPZ6KIh.js} +1 -1
  328. package/dist/web/assets/{WorkspaceMonacoEditor-Rqq_sKW_.js → WorkspaceMonacoEditor-CC4sfOiU.js} +3 -3
  329. package/dist/web/assets/{WorkspacePdfPreview-zmmMp09R.js → WorkspacePdfPreview-vszQqFa4.js} +2 -2
  330. package/dist/web/assets/{WorkspacePresentationPreview-DNbhGjkE.js → WorkspacePresentationPreview-DQTvhaRD.js} +1 -1
  331. package/dist/web/assets/api-client-DJRVOFzS.js +1 -0
  332. package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-BUdzQbXo.js} +1 -1
  333. package/dist/web/assets/bot-Doyx3T4j.js +1 -0
  334. package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-PVPCrsDJ.js} +1 -1
  335. package/dist/web/assets/chat-resources-Beh5lB36.js +1 -0
  336. package/dist/web/assets/chevron-down-DX1hzujj.js +1 -0
  337. package/dist/web/assets/chevron-right-DHN0y3KC.js +1 -0
  338. package/dist/web/assets/chevron-up-_QrW88NF.js +1 -0
  339. package/dist/web/assets/chunk-3BYFS4RO-ztZjcMmt.js +1 -0
  340. package/dist/web/assets/chunk-AG6UJ3DI-D9KZjTYP.js +1 -0
  341. package/dist/web/assets/chunk-C3TS766N-ppRhs95p.js +1 -0
  342. package/dist/web/assets/chunk-GCUWJUUM-Dy6oUNJ6.js +9 -0
  343. package/dist/web/assets/chunk-GS5HEE4M-C0RLeIsy.js +1 -0
  344. package/dist/web/assets/chunk-H3JZ3P5T-DolwEJXo.js +2 -0
  345. package/dist/web/assets/chunk-Q4RGCEOI-Cr-dg4Nk.js +1 -0
  346. package/dist/web/assets/client-DwZ92xtu.js +1 -0
  347. package/dist/web/assets/{client-choice-storage-CXlWJW5g.js → client-choice-storage-DitqKiIT.js} +1 -1
  348. package/dist/web/assets/cloud-upload-HdzNTgr2.js +1 -0
  349. package/dist/web/assets/common-BWVSBnpX.js +1 -0
  350. package/dist/web/assets/copy-DTQhoBNg.js +1 -0
  351. package/dist/web/assets/create-pipeline-DsZzNkt9.js +1 -0
  352. package/dist/web/assets/{cssMode-Cps-05f3.js → cssMode-BRTtfXxU.js} +1 -1
  353. package/dist/web/assets/dataset-workspaces-BTPi71mz.js +1 -0
  354. package/dist/web/assets/external-link-H1629UU6.js +1 -0
  355. package/dist/web/assets/folder-open-CAGdWOrr.js +1 -0
  356. package/dist/web/assets/folder-plus-C14cs2mE.js +1 -0
  357. package/dist/web/assets/git-commit-horizontal-DFUfuVvF.js +1 -0
  358. package/dist/web/assets/{htmlMode-Do72TyNy.js → htmlMode-BVaCcL76.js} +1 -1
  359. package/dist/web/assets/icons-Bk2b68aC.js +1 -0
  360. package/dist/web/assets/image-0DPVY6Ev.js +1 -0
  361. package/dist/web/assets/{index-D7igQSAg.js → index-B6XX_0h3.js} +2 -2
  362. package/dist/web/assets/info-C8b_tafZ.js +1 -0
  363. package/dist/web/assets/intake-contracts-B8JZKYwb.js +1 -0
  364. package/dist/web/assets/{jsonMode-B2N7W15Y.js → jsonMode-BCKKQmmV.js} +1 -1
  365. package/dist/web/assets/loader-circle-y-SSPwpk.js +1 -0
  366. package/dist/web/assets/{lspLanguageFeatures-DPmyOFVA.js → lspLanguageFeatures-DozmNUOx.js} +1 -1
  367. package/dist/web/assets/maximize-2-CByk9-zN.js +1 -0
  368. package/dist/web/assets/message-square-C889vRqm.js +1 -0
  369. package/dist/web/assets/{monaco.contribution-DqqJBDzF.js → monaco.contribution-B9q6qbbo.js} +2 -2
  370. package/dist/web/assets/{monaco.contribution-BfOxF9PJ.js → monaco.contribution-BITdsRbn.js} +2 -2
  371. package/dist/web/assets/{monaco.contribution-DNONXznc.js → monaco.contribution-BqA-XZ44.js} +2 -2
  372. package/dist/web/assets/{monaco.contribution-CRdTg0FH.js → monaco.contribution-DxAV1oS5.js} +2 -2
  373. package/dist/web/assets/monitor-BtxlcLuI.js +1 -0
  374. package/dist/web/assets/paperclip-BeIdaspf.js +1 -0
  375. package/dist/web/assets/{pdf-BCq2Oosd.js → pdf-perlzwEB.js} +1 -1
  376. package/dist/web/assets/play-CHXXdkuO.js +1 -0
  377. package/dist/web/assets/plus-DFFWjhPw.js +1 -0
  378. package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-Ca-9KggQ.js} +1 -1
  379. package/dist/web/assets/presentation-0bzvu6_u.js +1 -0
  380. package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-D8lxL7dW.js} +1 -1
  381. package/dist/web/assets/{python-DuGMr666.js → python-B9hOnkOI.js} +1 -1
  382. package/dist/web/assets/refresh-cw-D61-Ozk3.js +1 -0
  383. package/dist/web/assets/{requests-BCbaFiqV.js → requests-DmeUYik4.js} +1 -1
  384. package/dist/web/assets/reward-checks-DJJZYgf8.js +7 -0
  385. package/dist/web/assets/save-iEMNZoPe.js +1 -0
  386. package/dist/web/assets/schemas-Brv9Vmnk.js +64 -0
  387. package/dist/web/assets/settings-BC-bzgk6.js +21 -0
  388. package/dist/web/assets/settings-lists-C84qxFmP.js +5 -0
  389. package/dist/web/assets/square-BE_4JMR3.js +1 -0
  390. package/dist/web/assets/square-terminal-Djpzo2Qs.js +1 -0
  391. package/dist/web/assets/{submit-issue-command-wfngGS6Y.js → submit-issue-command-HfKzyxg5.js} +1 -1
  392. package/dist/web/assets/{toggleHighContrast-cl0cw2QK.js → toggleHighContrast-ClsXu39R.js} +1 -1
  393. package/dist/web/assets/training-DWfghwfZ.js +1 -0
  394. package/dist/web/assets/{training-model-data-CWnu1bz9.js → training-model-data-CIysl8wH.js} +4 -4
  395. package/dist/web/assets/{tsMode-DLEc0PYL.js → tsMode-nbmaMc-D.js} +1 -1
  396. package/dist/web/assets/upload-C6ug8RD-.js +1 -0
  397. package/dist/web/assets/{useAccountSettings-ByxjI9BG.js → useAccountSettings-Dr9h4Qz_.js} +1 -1
  398. package/dist/web/assets/{useAgentInventory-Df64T07n.js → useAgentInventory-ByCk2JAv.js} +1 -1
  399. package/dist/web/assets/useChatContextSelection-C0eMm2g6.js +1 -0
  400. package/dist/web/assets/{useLocalAgentSchedules-DNh_x9gQ.js → useLocalAgentSchedules-Do0y_leJ.js} +1 -1
  401. package/dist/web/assets/useQuery-D2MQ7e5U.js +1 -0
  402. package/dist/web/assets/wifi-off-Dr-CapyW.js +1 -0
  403. package/dist/web/assets/work-outputs-D_8TovAK.js +1 -0
  404. package/dist/web/assets/{workers-CnqrOtic.js → workers-DKvM2NdM.js} +1 -1
  405. package/dist/web/assets/x-Jx2jlP9u.js +1 -0
  406. package/dist/web/assets/{yaml-C9vtYV4w.js → yaml-C02vq4ar.js} +1 -1
  407. package/dist/web/index.html +1 -1
  408. package/docs/command-reference.md +100 -4
  409. package/package.json +1 -1
  410. package/dist/chunks/actions-command-VLKMHCMI.js +0 -2
  411. package/dist/chunks/app-server-evaluations-V6LRWDUF.js +0 -2
  412. package/dist/chunks/app-server-harness-services-6ZRLA3YD.js +0 -2
  413. package/dist/chunks/app-server-runtime-TH56EG2Z.js +0 -2
  414. package/dist/chunks/apps-MNT3KXIY.js +0 -2
  415. package/dist/chunks/chunk-2W22IXHB.js +0 -2
  416. package/dist/chunks/chunk-2ZNW6GUU.js +0 -2
  417. package/dist/chunks/chunk-3BJ7LPE3.js +0 -2
  418. package/dist/chunks/chunk-3MVKXAH7.js +0 -2
  419. package/dist/chunks/chunk-4MQHIFZL.js +0 -2
  420. package/dist/chunks/chunk-55Q64WWF.js +0 -2
  421. package/dist/chunks/chunk-5KJMFK65.js +0 -2
  422. package/dist/chunks/chunk-5WPMI6QX.js +0 -2
  423. package/dist/chunks/chunk-7PKTCMZ6.js +0 -2
  424. package/dist/chunks/chunk-ANG2YMMD.js +0 -2
  425. package/dist/chunks/chunk-BQVB2SPF.js +0 -10
  426. package/dist/chunks/chunk-DMO3UIS7.js +0 -6
  427. package/dist/chunks/chunk-FEQ7HNJR.js +0 -2
  428. package/dist/chunks/chunk-G4E3WGLM.js +0 -13
  429. package/dist/chunks/chunk-H5ML7735.js +0 -2
  430. package/dist/chunks/chunk-I3NYYOSS.js +0 -2
  431. package/dist/chunks/chunk-IOSBGCRT.js +0 -2
  432. package/dist/chunks/chunk-JBFPTEVE.js +0 -2
  433. package/dist/chunks/chunk-JKI53ED7.js +0 -161
  434. package/dist/chunks/chunk-JRGECNP3.js +0 -2
  435. package/dist/chunks/chunk-L4EJ5R3B.js +0 -23
  436. package/dist/chunks/chunk-LXZLLTYQ.js +0 -2
  437. package/dist/chunks/chunk-MHPCVQOE.js +0 -2
  438. package/dist/chunks/chunk-MVPKU72J.js +0 -4
  439. package/dist/chunks/chunk-OKEC2EIE.js +0 -2
  440. package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
  441. package/dist/chunks/chunk-QCJY6FTC.js +0 -3
  442. package/dist/chunks/chunk-SBQ6KLXB.js +0 -33
  443. package/dist/chunks/chunk-TVDZXDQW.js +0 -2
  444. package/dist/chunks/chunk-V3KEG6MI.js +0 -2
  445. package/dist/chunks/chunk-VD2TQCMH.js +0 -2
  446. package/dist/chunks/chunk-WLZJOCLA.js +0 -10
  447. package/dist/chunks/chunk-Y3B6ZUE6.js +0 -22
  448. package/dist/chunks/chunk-YBKDEEEH.js +0 -2
  449. package/dist/chunks/chunk-ZWW227M3.js +0 -2
  450. package/dist/chunks/cli-TE7RP5H7.js +0 -2
  451. package/dist/chunks/command-NW6BGKOM.js +0 -13
  452. package/dist/chunks/connected-app-executor-7DYMZCD7.js +0 -2
  453. package/dist/chunks/connected-evidence-D7C45HYD.js +0 -2
  454. package/dist/chunks/core-commands-RXPXOYOP.js +0 -2
  455. package/dist/chunks/dataset-preparation-authoring-KWRTMKN6.js +0 -4
  456. package/dist/chunks/datasets-LBLEKLCS.js +0 -2
  457. package/dist/chunks/desktop-test-INJPZ5VP.js +0 -3
  458. package/dist/chunks/dist-J4KHAVO3.js +0 -2
  459. package/dist/chunks/evaluation-coordination-3ARLJAFH.js +0 -2
  460. package/dist/chunks/experiment-improvements-UB4C5CSP.js +0 -2
  461. package/dist/chunks/experiments-AHHKFJD6.js +0 -2
  462. package/dist/chunks/experiments-signal-MTR475QV.js +0 -2
  463. package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
  464. package/dist/chunks/host-profile-external-dataset-YRKG2GL5.js +0 -2
  465. package/dist/chunks/hosted-app-server-composition-GPXH3BOG.js +0 -2
  466. package/dist/chunks/hosted-experiment-improvement-NZTPZTDH.js +0 -3
  467. package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
  468. package/dist/chunks/hosted-profile-candidate-3CAT3XBI.js +0 -3
  469. package/dist/chunks/hosted-profile-compiler-RXU626Q6.js +0 -2
  470. package/dist/chunks/hosted-profile-evaluation-control-CBDRKJ5J.js +0 -2
  471. package/dist/chunks/hosted-profile-evaluation-inspection-CHYKDYUQ.js +0 -3
  472. package/dist/chunks/hosted-profile-evaluation-preparation-H5S7JZMD.js +0 -3
  473. package/dist/chunks/hosted-tasksets-AMGDDB2R.js +0 -2
  474. package/dist/chunks/human-review-DVHVJXBA.js +0 -2
  475. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
  476. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
  477. package/dist/chunks/learning-NJLTGZFQ.js +0 -2
  478. package/dist/chunks/local-harness-improvement-runtime-XEA73RGS.js +0 -2
  479. package/dist/chunks/local-harness-taskset-review-SW35G4DM.js +0 -2
  480. package/dist/chunks/opchat-LMKH3OWR.js +0 -3
  481. package/dist/chunks/opchat-bounded-chat-PPOWO7H4.js +0 -2
  482. package/dist/chunks/organizations-T6ZUSHNJ.js +0 -2
  483. package/dist/chunks/project-action-payload-2G57RL74.js +0 -2
  484. package/dist/chunks/project-agent-GBMVDJY3.js +0 -2
  485. package/dist/chunks/published-experiment-source-D3C2AWQD.js +0 -2
  486. package/dist/chunks/refiner-profile-service-PPGGNVOV.js +0 -2
  487. package/dist/chunks/sandbox-command-L5VQ2T6C.js +0 -2
  488. package/dist/chunks/saved-work-LAVTNKPT.js +0 -2
  489. package/dist/chunks/setup-TXEM2QSG.js +0 -2
  490. package/dist/chunks/src-HJHIBDFX.js +0 -424
  491. package/dist/chunks/standalone-experiment-turn-owner-KKYIGGPF.js +0 -2
  492. package/dist/chunks/store-chat-resources-ZWDYMDJF.js +0 -2
  493. package/dist/chunks/store-conversation-serving-WRT4N7N2.js +0 -2
  494. package/dist/chunks/store-evaluation-results-BEPR4LVD.js +0 -7
  495. package/dist/chunks/store-human-review-HJ3D7ZFA.js +0 -7
  496. package/dist/chunks/store-learned-preference-migration-validation-EXNRDHCO.js +0 -2
  497. package/dist/chunks/store-local-experiments-CBJA56X2.js +0 -97
  498. package/dist/chunks/store-model-batch-review-YIVD7T2T.js +0 -2
  499. package/dist/chunks/store-model-project-preparation-WWU5CJTV.js +0 -2
  500. package/dist/chunks/store-taskset-drafts-G3WFVN4M.js +0 -9
  501. package/dist/chunks/taskset-packages-NRRPON7B.js +0 -2
  502. package/dist/chunks/taskset-packages-RW4SFGDU.js +0 -2
  503. package/dist/chunks/tool-learning-O7QTTEDB.js +0 -2
  504. package/dist/chunks/training-XFM3OOPN.js +0 -2
  505. package/dist/chunks/training-XILDD5RG.js +0 -2
  506. package/dist/chunks/training-hosted-6BX2IASC.js +0 -2
  507. package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
  508. package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
  509. package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
  510. package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
  511. package/dist/chunks/training-model-start-E5MP3URL.js +0 -2
  512. package/dist/chunks/web-search-56QRZGPR.js +0 -2
  513. package/dist/web/assets/App-CNQi3RlI.js +0 -53
  514. package/dist/web/assets/AppTerminalPanel-DLz34eSs.js +0 -2
  515. package/dist/web/assets/AppsView-DkCMr67-.js +0 -1
  516. package/dist/web/assets/BrowserSidebar-BBaaanMS.js +0 -1
  517. package/dist/web/assets/ChatTimelineEntry-Ct59FKw1.js +0 -8
  518. package/dist/web/assets/CommunityView-BLTlSxyb.js +0 -1
  519. package/dist/web/assets/HostedModelLearningReview-DWF6WPao.js +0 -1
  520. package/dist/web/assets/HostedModelLearningSettings-BYl-2j7B.js +0 -1
  521. package/dist/web/assets/LabModelVersionDetailPage-CQz29DwD.js +0 -1
  522. package/dist/web/assets/LabsRoute-CE45yAXJ.css +0 -1
  523. package/dist/web/assets/LabsRoute-DJRgF1kQ.js +0 -101
  524. package/dist/web/assets/MainChatThread-gwmhe1Nw.js +0 -2
  525. package/dist/web/assets/MainPane-CqtgV9rU.js +0 -10
  526. package/dist/web/assets/NativeSetupTerminal-DrQldDsG.js +0 -2
  527. package/dist/web/assets/RightChatPanelStack-xW5rKbp0.js +0 -1
  528. package/dist/web/assets/RightSidebarHomePanel-BDmIxvIm.js +0 -1
  529. package/dist/web/assets/TeamChatView-BisSMAXy.js +0 -1
  530. package/dist/web/assets/TrainingRunLineage-B2WBOchk.js +0 -1
  531. package/dist/web/assets/WorkSidebarPanel-D3Ub_jVj.js +0 -1
  532. package/dist/web/assets/WorkspaceDiffPanel-CyTa8Cjs.js +0 -11
  533. package/dist/web/assets/WorkspaceEnvironmentMenu-CtZzxQ1e.js +0 -35
  534. package/dist/web/assets/api-client-Dgz-fOMl.js +0 -1
  535. package/dist/web/assets/bot-D-eTQib6.js +0 -1
  536. package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
  537. package/dist/web/assets/chevron-down-75im8nFF.js +0 -1
  538. package/dist/web/assets/chevron-right-CpbCIUFo.js +0 -1
  539. package/dist/web/assets/chevron-up-BD8jg0bQ.js +0 -1
  540. package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
  541. package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
  542. package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
  543. package/dist/web/assets/cloud-upload-4lP-5zmp.js +0 -1
  544. package/dist/web/assets/common-BMjyKlX-.js +0 -1
  545. package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
  546. package/dist/web/assets/copy-DRnATDDY.js +0 -1
  547. package/dist/web/assets/create-pipeline-CyUZrbbO.js +0 -1
  548. package/dist/web/assets/createLucideIcon-CmkSm39S.js +0 -1
  549. package/dist/web/assets/external-link-D_nBEDFO.js +0 -1
  550. package/dist/web/assets/folder-open-tD5Lle1M.js +0 -1
  551. package/dist/web/assets/folder-plus-DlZ4hM48.js +0 -1
  552. package/dist/web/assets/git-commit-horizontal-g8KBhvfr.js +0 -1
  553. package/dist/web/assets/icons-B8_Rkg-l.js +0 -1
  554. package/dist/web/assets/image-CUZMnZYi.js +0 -1
  555. package/dist/web/assets/info-SmuBZiE5.js +0 -1
  556. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
  557. package/dist/web/assets/loader-circle-D_KVxLLz.js +0 -1
  558. package/dist/web/assets/maximize-2-B8HN3jsA.js +0 -1
  559. package/dist/web/assets/message-square-CrDvzn66.js +0 -1
  560. package/dist/web/assets/models-route-CWcJuOd0.js +0 -1
  561. package/dist/web/assets/monitor-CW-M_aaj.js +0 -1
  562. package/dist/web/assets/paperclip-DL449Io5.js +0 -1
  563. package/dist/web/assets/play-DYLqBrwg.js +0 -1
  564. package/dist/web/assets/plus-DXZIpQuY.js +0 -1
  565. package/dist/web/assets/presentation-CupIXaYv.js +0 -1
  566. package/dist/web/assets/refresh-cw-CzVf5_oo.js +0 -1
  567. package/dist/web/assets/reward-checks-Bcq9ETCA.js +0 -7
  568. package/dist/web/assets/save-DatjrYPV.js +0 -1
  569. package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
  570. package/dist/web/assets/settings-D7C-Auyi.js +0 -21
  571. package/dist/web/assets/settings-lists-D2ol3uNK.js +0 -5
  572. package/dist/web/assets/square-BWB1nbZF.js +0 -1
  573. package/dist/web/assets/square-terminal-Buj-s-fz.js +0 -1
  574. package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
  575. package/dist/web/assets/upload-DaFVH6R1.js +0 -1
  576. package/dist/web/assets/useQuery-yUz7Ui8g.js +0 -1
  577. package/dist/web/assets/wifi-off-CtNwnIJc.js +0 -1
  578. package/dist/web/assets/work-outputs-CK0nHe4g.js +0 -1
  579. package/dist/web/assets/x-Bhl-4Zlt.js +0 -1
  580. /package/dist/chunks/{chunk-SFR32TMJ.js → chunk-JXLDEYRW.js} +0 -0
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalOverlay-C7OM2F0-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-D7igQSAg.js","assets/index-g7UqJhnX.css","assets/api-client-Dgz-fOMl.js","assets/icons-B8_Rkg-l.js","assets/chevron-down-75im8nFF.js","assets/createLucideIcon-CmkSm39S.js","assets/plus-DXZIpQuY.js","assets/x-Bhl-4Zlt.js","assets/AppToastContext-Dklk6CaG.js","assets/ui-theme.generated-D-mc26qt.js","assets/App-CNQi3RlI.js","assets/useQuery-yUz7Ui8g.js","assets/schemas-lO3MoWQr.js","assets/common-BMjyKlX-.js","assets/settings-D7C-Auyi.js","assets/client-choice-storage-CXlWJW5g.js","assets/requests-BCbaFiqV.js","assets/create-pipeline-CyUZrbbO.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BLiqJxBv.js","assets/training-DCdoHJ0Y.js","assets/chunk-GJRXJL6G-pJp1DyJd.js","assets/reward-checks-Bcq9ETCA.js","assets/intake-contracts-BW0Y0C2R.js","assets/chat-resources-CTN4f6KC.js","assets/ponder-desktop-Dm7tOkKo.js","assets/app-models-Cz3yxq4x.js","assets/model-display-zPvC4L2B.js","assets/submit-issue-command-wfngGS6Y.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-ZyYiYBBd.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/bot-D-eTQib6.js","assets/chevron-right-CpbCIUFo.js","assets/copy-DRnATDDY.js","assets/external-link-D_nBEDFO.js","assets/loader-circle-D_KVxLLz.js","assets/maximize-2-B8HN3jsA.js","assets/message-square-CrDvzn66.js","assets/refresh-cw-CzVf5_oo.js","assets/square-terminal-Buj-s-fz.js","assets/models-route-CWcJuOd0.js","assets/NativeSetupTerminal-DrQldDsG.js","assets/AppDialog-DuSd0wk6.js","assets/PageChrome-BLLw_cEA.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/organization-types-PP-yuR2J.js","assets/App-DpFKLxuA.css","assets/TerminalOverlay-DoUFGstN.css"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n,t as r}from"./index-D7igQSAg.js";var i=e(t(),1),a=n(),o=(0,i.lazy)(()=>r(()=>import(`./TerminalOverlay-C7OM2F0-.js`).then(e=>({default:e.TerminalOverlay})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54])));function s({open:e,connection:t,scope:n,tabs:r,onTabsChange:s,cwd:c,appId:l,workspaceName:u,queuedCommand:d,onClose:f}){let[p,m]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{e&&m(!0)},[e]),p?(0,a.jsx)(i.Suspense,{fallback:null,children:(0,a.jsx)(o,{open:e,connection:t,scope:n,tabs:r,onTabsChange:s,cwd:c,appId:l,workspaceName:u,queuedCommand:d,onClose:f})}):null}export{s as AppTerminalPanel};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,l as n,m as r,s as i}from"./index-D7igQSAg.js";import{T as a,t as o}from"./useQuery-yUz7Ui8g.js";import{a as s,c,d as l,m as u,o as d,p as f,r as p,v as m}from"./schemas-lO3MoWQr.js";import{d as h,h as g,i as _,p as v}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{C as y}from"./app-models-Cz3yxq4x.js";import{n as b}from"./api-client-Dgz-fOMl.js";import"./icons-B8_Rkg-l.js";import{t as x}from"./chevron-right-CpbCIUFo.js";import{t as S}from"./external-link-D_nBEDFO.js";import{a as C,i as w,n as T,t as E}from"./settings-lists-D2ol3uNK.js";import{t as D}from"./plus-DXZIpQuY.js";import{t as O}from"./refresh-cw-CzVf5_oo.js";import{t as k}from"./x-Bhl-4Zlt.js";import{t as A}from"./NativeSetupTerminal-DrQldDsG.js";import{At as j,Bt as M,Gt as N,Mn as P,Nn as F,Nt as I,Rt as L,bn as R,kt as z,un as ee}from"./App-CNQi3RlI.js";import{D as B,O as te}from"./MainPane-CqtgV9rU.js";import{n as V,r as H,t as ne}from"./useAgentInventory-Df64T07n.js";/* empty css */var U=e(t(),1),W=r();function re({agent:e,account:t,native:n,inventory:r,projects:i,teamId:a,learningControl:o,connected:s,onHide:c,onManage:l}){let u=r?.collector.connections.filter(t=>t.source===e.id)??[],d=r?.sources.some(t=>t.source===e.id&&t.available&&t.capabilities.history);return(0,W.jsxs)(`article`,{className:`agent-connection-card`,"aria-label":e.name,children:[(0,W.jsxs)(`div`,{className:`agent-card-title`,children:[(0,W.jsx)(`img`,{src:e.icon,alt:``}),(0,W.jsx)(`span`,{children:e.name}),(0,W.jsx)(`button`,{type:`button`,className:`agent-hide`,"aria-label":`Hide ${e.name}`,onClick:c,children:(0,W.jsx)(k,{size:14})})]}),e.id===`openpond_chat`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`small`,{children:t?.state===`signed_in`?`Connected to OpenPond`:`Sign in to OpenPond`}),(0,W.jsx)(`p`,{children:`Use Pal from the sidebar.`}),(0,W.jsx)(`button`,{type:`button`,className:`agent-account-link`,onClick:()=>void I({kind:`settings`,section:`account`}),children:`Account setup`})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`small`,{children:n?n.available?n.enabled?`Ready to chat`:`Installed · chat disabled`:n.lastError??`Check installation`:`Conversation import`}),(0,W.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:!s,onClick:l,children:n?.available||u.length?`Manage`:`Connect`}),(0,W.jsx)(`div`,{className:`agent-card-sync`,children:u.length?u.map(e=>(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{children:H(e,r.collector)}),(0,W.jsxs)(`small`,{children:[i.find(t=>t.id===e.projectId&&e.teamId===a)?.content.name??e.projectId,` `,`· `,e.admitted,` tasks`]}),e.teamId===a?null:(0,W.jsxs)(`small`,{children:[`Team: `,e.teamId]}),e.queued?(0,W.jsxs)(`small`,{children:[e.queued,` updates queued`]}):null,e.lastAdmissionAt?(0,W.jsxs)(`small`,{children:[`Last sync: `,new Date(e.lastAdmissionAt).toLocaleString()]}):null,e.error?(0,W.jsx)(M,{error:e.error}):null]},e.id)):(0,W.jsx)(`small`,{children:r?d?`History available · sync not connected`:`No local history found`:`Reading local setup…`})})]}),o]})}function ie(e,t,n,r){let i=(0,U.useRef)({providers:t,onProvider:n});i.current={providers:t,onProvider:n};let a=JSON.stringify([`claude-code`,`opencode`,`grok-build`].map(e=>{let n=t?.providers[e];return[e,n?.binaryPath,n?.sourceHome,n?.enabled]}));(0,U.useEffect)(()=>{if(!e||!i.current.providers)return;let t=!1,n=[`claude-code`,`opencode`,`grok-build`].map(n=>{let a=i.current.providers?.providers[n],o=new AbortController,s=r>0?{promise:b(e,`/v1/providers/${n}/native-setup`,{method:`POST`,body:JSON.stringify({action:`check`}),signal:o.signal}),release:()=>o.abort()}:B(e,n,i.current.providers?.providers[n]);return s.promise.then(o=>{t||(r>0&&o.session&&!o.error&&te(e,n,o,a),i.current.onProvider(n,o.settings))},()=>{}),s});return()=>{t=!0,n.forEach(e=>e.release())}},[e,a,r])}var G=m().trim().min(1).max(240),K=f().int().positive(),q=p([`dataset`,`evaluator`,`model`,`training_configuration`,`training_run`,`harness`,`environment`,`experiment`,`learning_policy`,`deployment`]),J=u({kind:q,resourceId:G,release:_.nullable(),role:p([`training`,`validation`,`holdout`,`target`,`reward`,`evaluation`,`serving`,`source`])}).strict(),ae=c(`kind`,[u({kind:l(`model`),providerId:G,modelId:G,artifact:_.nullable(),messages:s(u({role:p([`system`,`user`,`assistant`]),content:m().max(1e5)}).strict()).max(100)}).strict(),u({kind:l(`harness`),profileRepositoryId:G,source:g}).strict(),u({kind:l(`agent`),source:v}).strict(),u({kind:l(`suite`),profileRepositoryId:G,suiteId:G,sources:s(g).min(1).max(1e3)}).strict().superRefine((e,t)=>{let n=e.sources[0],r=new Set;for(let[i,a]of e.sources.entries())r.has(a.definitionId)&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite definitions must be unique.`}),r.add(a.definitionId),(a.profileId!==n.profileId||a.sourceRevision!==n.sourceRevision||a.catalogHash!==n.catalogHash||h(a.harnessRelease)!==h(n.harnessRelease))&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite checks must belong to the same pinned Profile source and Harness release.`})})]),oe=u({name:m().trim().min(1).max(200),description:m().max(1e4),targets:s(u({id:G,name:m().trim().min(1).max(200),target:ae}).strict()).max(100),defaultTargetId:G.nullable(),resources:s(J).max(1e3)}).strict().superRefine((e,t)=>{new Set(e.targets.map(e=>e.id)).size!==e.targets.length&&t.addIssue({code:`custom`,path:[`targets`],message:`Target identities must be unique.`}),e.defaultTargetId&&!e.targets.some(t=>t.id===e.defaultTargetId)&&t.addIssue({code:`custom`,path:[`defaultTargetId`],message:`Default target must belong to this Project.`}),new Set(e.resources.map(e=>h(e))).size!==e.resources.length&&t.addIssue({code:`custom`,path:[`resources`],message:`Resource links must be unique.`})}),se=u({schemaVersion:l(`openpond.trainingProject.v1`),id:G,teamId:G,creatorUserId:G,ownerScope:p([`workspace`,`personal`]).optional(),revision:K,content:oe,archived:d(),createdAt:m().datetime(),updatedAt:m().datetime()}).strict();u({operationId:G,id:G,expectedRevision:f().int().nonnegative(),content:oe,ownerScope:p([`workspace`,`personal`]).optional()}).strict(),u({operationId:G,expectedRevision:K,archived:d()}).strict();var ce=u({teamId:G,projects:s(se).max(100),nextCursor:G.nullable()}).strict();u({operation:p([`evaluate`,`train`,`enable_learning`,`accept_candidate`,`serve`]),support:p([`supported`,`unsupported`]),state:p([`ready`,`needs_setup`,`blocked`]),reasons:s(u({code:G,message:m().min(1).max(2e3),field:m().nullable(),action:p([`choose_target`,`choose_data`,`choose_evaluator`,`configure_runtime`,`request_access`,`configure_budget`,`wait`,`review_evidence`]).nullable()}).strict()).max(100)}).strict().superRefine((e,t)=>{e.state===`ready`&&(e.support!==`supported`||e.reasons.length)&&t.addIssue({code:`custom`,message:`Ready operations must be supported with no blockers.`}),e.state!==`ready`&&!e.reasons.length&&t.addIssue({code:`custom`,message:`Unavailable operations must explain the next step.`})});var Y=new WeakMap;function le(e,t,n){let r=JSON.stringify([t?.activeProfile,t?.profile?.id,n]),i=e?Y.get(e)?.get(r):void 0,[a,o]=(0,U.useState)(null),[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(!1),[d,f]=(0,U.useState)(0),p=t?.state===`signed_in`?a?.key===r&&a.connection===e?a.value:i:void 0;(0,U.useEffect)(()=>{if(!e||!n||t?.state!==`signed_in`)return;let i=new AbortController;u(!0),c(null);async function a(){let t=[],a=new Set,s;do{let r=ce.parse(await b(e,`/v1/training/evaluation-workspace`,{method:`POST`,body:JSON.stringify({teamId:n,operation:`projects`,value:{cursor:s}}),signal:i.signal}));if(r.teamId!==n)throw Error(`The hosted project workspace changed. Refresh connections.`);if(t.push(...r.projects.filter(e=>!e.archived)),s=r.nextCursor??void 0,s&&a.has(s))throw Error(`Project pagination stalled. Refresh connections.`);s&&a.add(s)}while(s&&!i.signal.aborted);if(i.signal.aborted)return;let c=Y.get(e);c||(c=new Map,Y.set(e,c));let l=c.get(r)?.selected,u={projects:t,selected:l&&t.some(e=>e.id===l)?l:t.length===1?t[0].id:``};c.set(r,u),o({key:r,connection:e,value:u})}return a().catch(e=>{i.signal.aborted||c(e instanceof Error?e.message:`Unable to list hosted projects.`)}).finally(()=>{i.signal.aborted||u(!1)}),()=>i.abort()},[e,r,n,t?.state,d]);let m=(0,U.useCallback)(t=>{if(!e)return;let n=Y.get(e)?.get(r);if(!n||!n.projects.some(e=>e.id===t))return;let i={...n,selected:t};Y.get(e).set(r,i),o({key:r,connection:e,value:i})},[e,r]);return{projects:p?.projects??[],projectId:p?.selected??``,select:m,error:s,loading:l,refresh:()=>f(e=>e+1)}}var ue=e(j(),1),de=e(z(),1);function fe({connection:e,connectionId:t,disabled:n,projectName:r,onUpload:i,onClose:a}){let[o,s]=(0,U.useState)(``),[c,l]=(0,U.useState)(`all`),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(()=>new Map),[m,h]=(0,U.useState)(!0),[g,_]=(0,U.useState)(null),[v,y]=(0,U.useState)(0);w(e,g,()=>y(e=>e+1));let x=(0,U.useRef)(null),S=(0,U.useRef)(0);(0,U.useEffect)(()=>{let n=new AbortController;x.current?.abort(),x.current=n,h(!0),d(null),_(null);let r=window.setTimeout(()=>{let r=v!==S.current;S.current=v,b(e,`/v1/native-history/collector`,{method:`POST`,signal:n.signal,body:JSON.stringify({command:`conversations`,connectionId:t,query:o,range:c,refresh:r})}).then(e=>{n.signal.aborted||d(e)}).catch(e=>{n.signal.aborted||_(e instanceof Error?e.message:`Unable to list conversations.`)}).finally(()=>{n.signal.aborted||h(!1)})},200);return()=>{window.clearTimeout(r),n.abort(),x.current?.abort()}},[e,t,o,c,v]);async function C(){if(m||u?.nextOffset==null)return;let n=new AbortController;x.current=n,h(!0),_(null);try{let r=await b(e,`/v1/native-history/collector`,{method:`POST`,signal:n.signal,body:JSON.stringify({command:`conversations`,connectionId:t,query:o,range:c,offset:u.nextOffset})});n.signal.aborted||d(e=>({...r,items:[...new Map([...e?.items??[],...r.items].map(e=>[e.key,e])).values()]}))}catch(e){n.signal.aborted||_(e instanceof Error?e.message:`Unable to load more conversations.`)}finally{n.signal.aborted||h(!1)}}function T(e,t){p(n=>{let r=new Map(n);return t?r.set(e.key,e):r.delete(e.key),r})}let E=u?.items??[],D=E.filter(e=>!e.issue),O=D.length>0&&D.every(e=>f.has(e.key)),k=new Set(E.map(e=>e.key)),A=[...f.keys()].filter(e=>!k.has(e)).length;return(0,W.jsxs)(`section`,{className:`conversation-upload-picker`,"aria-label":`Choose conversations to upload`,children:[(0,W.jsx)(`h3`,{children:`Choose conversations`}),(0,W.jsxs)(`p`,{children:[`Upload to `,(0,W.jsx)(`strong`,{children:r}),`. This selection also sets which conversations later syncs update. Previously uploaded data stays in the project.`]}),(0,W.jsxs)(`div`,{className:`conversation-upload-toolbar`,children:[(0,W.jsx)(`input`,{autoFocus:!0,type:`search`,"aria-label":`Search conversations`,placeholder:`Search title, folder, or session ID`,value:o,disabled:n,onChange:e=>s(e.target.value)}),(0,W.jsx)(L,{label:`Conversation activity`,value:c,disabled:n,onChange:l,options:[{value:`all`,label:`All dates`},{value:`week`,label:`Active last week`},{value:`day`,label:`Active last day`}]})]}),(0,W.jsxs)(`div`,{className:`conversation-upload-selection`,role:`status`,children:[(0,W.jsxs)(`span`,{children:[f.size,` selected`,A?` · ${A} outside this view`:``,u?` · ${u.total} matching`:``]}),(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Refresh`}),(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||!f.size,onClick:()=>p(new Map),children:`Clear selection`})]}),(0,W.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame conversation-upload-table`,children:(0,W.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:(0,W.jsx)(`input`,{type:`checkbox`,className:`training-chat-checkbox`,"aria-label":`Select visible conversations`,checked:O,disabled:n||m||!D.length,onChange:e=>{let t=e.target.checked;p(e=>{let n=new Map(e);return D.forEach(e=>{t?n.set(e.key,e):n.delete(e.key)}),n})}})}),(0,W.jsx)(`th`,{children:`Conversation`}),(0,W.jsx)(`th`,{children:`Last activity`})]})}),(0,W.jsxs)(`tbody`,{children:[E.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`input`,{type:`checkbox`,className:`training-chat-checkbox`,"aria-label":`Select ${e.title}`,checked:f.has(e.key),disabled:n||!!e.issue,onChange:t=>T(e,t.target.checked)})}),(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`span`,{className:`conversation-upload-title`,title:e.title,children:e.title}),(0,W.jsx)(`small`,{title:e.cwd??e.nativeSessionId,children:e.cwd??e.nativeSessionId}),e.issue?(0,W.jsx)(`small`,{role:`status`,children:e.issue}):e.approved?(0,W.jsx)(`small`,{children:`Already approved for sync`}):null]}),(0,W.jsx)(`td`,{children:(0,W.jsx)(`time`,{dateTime:e.updatedAt,children:new Date(e.updatedAt).toLocaleDateString()})})]},e.key)),m?(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:3,role:`status`,children:`Loading conversations…`})}):!E.length&&!g?(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:3,children:o.trim()||c!==`all`?`No conversations match these filters.`:`No saved conversations found in this installation.`})}):null]})]})}),g?(0,W.jsx)(M,{error:g,children:(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Retry`})}):null,u?.nextOffset==null?null:(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>void C(),children:`Load more conversations`}),(0,W.jsx)(`p`,{children:`The complete selected conversations are uploaded, including their prompts, responses, and tool history. Date filters help you find conversations; they do not trim their contents.`}),(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:n||!f.size,onClick:()=>void i([...f.keys()]),children:`Upload ${f.size} conversation${f.size===1?``:`s`}`}),(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n,onClick:a,children:`Cancel`})]})]})}ue.default.extend(de.default);function pe({agent:e,inventory:t,connection:n,account:r,teamId:i,projects:a,projectId:o,onRefresh:s,learningUrl:c}){let l=t?.sources.filter(t=>t.source===e.id)??[],[u,d]=(0,U.useState)(l.length===1?l[0].instanceId:``),[f,p]=(0,U.useState)(o),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(null),[v,y]=(0,U.useState)(!1),[x,S]=(0,U.useState)(null),C=l.find(e=>e.instanceId===u)??(!u&&l.length===1?l[0]:void 0),w=t?.collector.connections.filter(t=>t.source===e.id)??[],T=r?.baseUrl??r?.activeProfile?.baseUrl,E=r?.apiBaseUrl;async function D(e,t,r){if(!(!n||v||g)){y(!0),S(null);try{let a=await b(n,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:e,...t?{connectionId:t}:{},...r?{sessionKeys:r}:{},...e===`connect`?{setup:{sourceInstanceId:C?.instanceId,teamId:i,projectId:f,accountBaseUrl:T,apiBaseUrl:E,range:`all`}}:{}})});a.command?_(a.command):await s()}catch(e){S(e instanceof Error?e.message:`Unable to update this connection.`)}finally{y(!1)}}}let O=v||g!==null,k=w.find(e=>e.id===m),j=g&&n?(0,W.jsx)(A,{connection:n,command:g,onComplete:()=>{_(null),h(null),s()},onClose:()=>{_(null),s()}}):null;return k&&n?(0,W.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,W.jsx)(fe,{connection:n,connectionId:k.id,projectName:a.find(e=>e.id===k.projectId&&k.teamId===i)?.content.name??k.projectId,disabled:O||!!t?.collector.running,onClose:()=>h(null),onUpload:e=>D(`upload`,k.id,e)},k.id),x?(0,W.jsx)(M,{error:x}):null,j]}):(0,W.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,W.jsxs)(`p`,{children:[`Sync saved `,e.name,` conversations to an existing OpenPond project. Connecting authorizes the destination. Choose conversations and confirm an upload when ready.`]}),w.map(n=>(0,W.jsxs)(`section`,{className:`agent-retained-connection`,"aria-label":`${e.name} sync connection`,children:[(0,W.jsx)(`strong`,{children:H(n,t.collector)}),(0,W.jsxs)(`span`,{children:[`Project:`,` `,n.teamId===i?a.find(e=>e.id===n.projectId)?.content.name??n.projectId:n.projectId,` `,`· Team: `,n.teamId]}),(0,W.jsx)(`small`,{children:n.accountBaseUrl??`Hosted destination`}),(0,W.jsx)(`small`,{className:`agent-source-path`,children:n.sourceRoot}),(0,W.jsxs)(`span`,{children:[n.admitted,` tasks imported · `,n.queued,` updates queued`]}),(0,W.jsx)(`small`,{children:n.selectedConversations===null?`All history approved for sync`:`${n.selectedConversations} conversations approved for sync`}),n.backfill.total>0&&n.backfill.stage!==`complete`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`progress`,{"aria-label":`History import progress`,value:n.backfill.admitted+n.backfill.skipped,max:n.backfill.total}),(0,W.jsxs)(`small`,{children:[n.backfill.admitted+n.backfill.skipped,` of`,` `,n.backfill.total,` conversations processed`]})]}):null,(0,W.jsx)(`small`,{children:n.lastAdmissionAt?`Last synced ${(0,ue.default)(n.lastAdmissionAt).fromNow()}`:`No uploads acknowledged yet`}),n.error?(0,W.jsx)(M,{error:n.error}):null,(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:O||n.state!==`active`||t?.collector.running,onClick:()=>h(n.id),children:`Choose conversations…`}),n.state===`disconnected`?(0,W.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(`reconnect`,n.id),children:`Reconnect`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(n.state===`paused`?`resume`:`pause`,n.id),children:n.state===`paused`?`Resume`:`Pause`}),(0,W.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>{window.confirm(`Disconnect this conversation source? Imported data stays in its project.`)&&D(`disconnect`,n.id)},children:`Disconnect`})]}),n.destinationLinks.tasks?(0,W.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noreferrer`,children:`View tasks`}):null,n.destinationLinks.conversations?(0,W.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noreferrer`,children:`View conversations`}):null]})]},n.id)),(0,W.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),D(`connect`)},className:`agent-sync-form`,children:[(0,W.jsx)(`h3`,{children:w.length?`Add another connection`:`Connect conversations`}),(0,W.jsxs)(`label`,{className:`agent-source-field`,children:[`Source installation`,(0,W.jsx)(L,{label:`Source installation`,value:C?.instanceId??``,disabled:O,onChange:d,options:[{value:``,label:`Select installation`},...l.map(e=>({value:e.instanceId,label:e.root,disabled:!e.available||!e.capabilities.history}))]})]}),C?.reason?(0,W.jsx)(`small`,{children:C.reason}):null,l.some(e=>e.available&&e.capabilities.history)?null:(0,W.jsxs)(`small`,{children:[`No readable conversation history found.`,` `,e.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.`]}),(0,W.jsxs)(`label`,{children:[`Project`,(0,W.jsx)(L,{label:`Upload destination project`,value:f,disabled:O||!i,onChange:p,searchable:!0,options:[{value:``,label:`Select project`},...a.map(e=>({value:e.id,label:e.content.name}))]})]}),(0,W.jsx)(`p`,{children:`No conversations are uploaded during setup. Continual imports are off by default and can be scheduled after choosing conversations.`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>I({kind:`settings`,section:`conversation-imports`}),children:`Manage continual imports in Settings`}),r?.state!==`signed_in`||!i?(0,W.jsx)(`small`,{children:`Sign in and select a default team in Account settings to choose a hosted project.`}):null,(0,W.jsx)(`button`,{type:`submit`,className:`agent-connect-button`,disabled:O||!C?.available||!C.capabilities.history||!a.some(e=>e.id===f)||!i||!T||!E||r?.state!==`signed_in`,children:v?`Opening setup…`:`Connect conversations`})]}),c?(0,W.jsx)(`a`,{className:`agent-learning-link`,href:c,target:`_blank`,rel:`noreferrer`,children:`Configure continual learning in Console`}):null,t?(0,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`CLI setup`}),(0,W.jsxs)(`small`,{className:`agent-source-path`,children:[`Importer directory: `,t.directory]}),(0,W.jsx)(`code`,{children:t.statusCommand})]}):null,x?(0,W.jsx)(M,{error:x}):null,j]})}var X=e=>JSON.stringify([e.origin,e.sourceInstanceId]),me=e=>({id:e.id,revision:e.revision,contentHash:e.contentHash});function Z(e,t,n,r,i){return b(e,`/v1/conversation-learning/${n}?${new URLSearchParams({teamId:t})}`,{method:r===void 0?`GET`:`POST`,...r===void 0?{}:{body:JSON.stringify(r)},signal:i})}function he(e,t,n,r){let i=a(),s=[`native-conversation-learning`,e?.serverUrl,n,t];return{...o({queryKey:s,enabled:!!(e&&t&&r),queryFn:({signal:n})=>Z(e,t,`options`,void 0,n),staleTime:15e3,refetchInterval:3e4}),refresh:()=>i.invalidateQueries({queryKey:s})}}function ge(e,t,n,r,i){return Z(e,t,`policies`,{...n?{id:n.id}:{},expectedRevision:n?.revision??0,configuration:r,enabled:i})}function Q(e,t,n=[]){let r=t?.configuration;return{projectId:e,name:r?.name??`Continuous learning`,mode:r?.mode??`activate`,definition:r?.definition??null,configurationId:r?.configuration?.id??``,trainingPolicyId:r?.learningPolicy?.id??``,graderIds:[],sourceKeys:[...new Set([...r?.sources.filter(e=>e.enabled).map(X)??[],...n.map(X)])],adapter:r?.adapter??{kind:`complete_text`,qualitativeOnly:!0},generator:r?.generator??null,graderSelection:r?.graderSelection??(t?{mode:`manual`}:{mode:`auto`,modelId:`gpt-6-luna`,sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}),schedule:r?.schedule??{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,hour:2,minute:0,endHour:6,endMinute:0},limits:r?.limits??{perCycleUsd:5,dailyUsd:5,monthlyUsd:25,gradeUsd:.2,maximumTasks:10,minimumExamples:5,maxGpuSeconds:10800,maximumAttempts:2,lookbackDays:30},exceptions:r?.exceptions??`block`,minimumScore:r?.minimumScore??.8,selection:r?.selection??{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1},acceptance:r?.acceptance??{minimumCasesPerCheck:20,minimumImprovement:.05,windowCasesPerCheck:20},failurePolicy:r?.failurePolicy??{pauseAfterConsecutiveFailures:3},...r?.serving?{serving:r.serving}:{serving:{targetId:``,canarySeconds:120,rollbackOnRuntimeFailure:!0}}}}function _e(e,t){let n=e?.configurations.find(e=>e.id===t);return e?.trainingPolicies.filter(e=>e.modelProjectId===n?.portableProjectId&&e.training.recipe.id===`model-recipe-${n?.etag}`&&!e.id.startsWith(`conversation-training-`))??[]}async function ve(e,t,n,r,i,a){let o=r.configurations.find(e=>e.id===n.configurationId),s=_e(r,n.configurationId).find(e=>e.id===n.trainingPolicyId);if(!n.name.trim())throw Error(`Enter a policy name.`);if(!r.projects.some(e=>e.id===n.projectId))throw Error(`This owned Project is unavailable for continuous learning.`);if(n.configurationId&&(!o||!r.projects.find(e=>e.id===n.projectId)?.configurationIds.includes(o.id)))throw Error(`Choose a model configuration attached to this Project.`);if(n.mode!==`evaluate`&&(!o||!s))throw Error(`Choose an owned model and its reviewed training setup.`);if(n.limits.perCycleUsd>n.limits.dailyUsd||n.limits.dailyUsd>n.limits.monthlyUsd)throw Error(`Daily and monthly spending limits must cover the run limit.`);if(n.limits.minimumExamples>n.limits.maximumTasks-Math.floor(n.limits.maximumTasks*(n.selection?.replayFraction??0)))throw Error(`Leave capacity for the minimum new examples after replay.`);let c=r.sources.filter(e=>e.projectId===n.projectId&&n.sourceKeys.includes(X(e)));if(!c.length)throw Error(`Select a source agent for this Project.`);let l=[...(i?.configuration.sources??[]).filter(e=>!c.some(t=>X(t)===X(e))).map(e=>({...e,enabled:!1})),...c.map(e=>({origin:e.origin,sourceInstanceId:e.sourceInstanceId,enabled:!0}))],u=n.definition;if(o&&(i?.configuration.configuration?.id!==o.id||i.configuration.configuration.expectedEtag!==o.etag))u=await Z(e,t,`definitions`,{projectId:n.projectId,configuration:{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}});else if(n.graderIds.length){let i=r.graders.flatMap(e=>e&&n.graderIds.includes(e.id)?[me(e)]:[]);u=await Z(e,t,`definitions`,{projectId:n.projectId,graders:i})}if(!u)throw Error(`Select evaluation rubrics or an existing task definition.`);let d=n.serving,f=r.servingTargets.find(e=>e.id===d?.targetId);if(n.mode===`activate`&&d?.targetId&&(!f||!f.enabled||f.projectId!==n.projectId))throw Error(`Select an available serving target in this Project.`);if(n.mode===`activate`&&(!d?.targetId||f?.hostedPonder)&&(d={targetId:(await Z(e,t,`serving-targets`,{action:`ensure_hosted_ponder`,projectId:n.projectId,bindingId:r.ponderBindingId})).id,canarySeconds:d?.canarySeconds??120,rollbackOnRuntimeFailure:!0}),n.mode===`activate`&&!d?.targetId)throw Error(`Choose a serving target, or enable the policy to register hosted Pal.`);let{sourceKeys:p,configurationId:m,trainingPolicyId:h,graderIds:g,..._}=n,v={..._,name:n.name.trim(),definition:u,sources:l,configuration:o?{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}:null,learningPolicy:s?me(s):null,...n.mode===`activate`?{serving:d}:{}};return n.mode!==`activate`&&delete v.serving,n.mode===`evaluate`&&delete v.acceptance,ge(e,t,i,v,a)}function ye({draft:e,options:t,loading:n,onChange:r}){let i=t?.sources.filter(t=>t.projectId===e.projectId)??[],a=i.filter(e=>[`active`,`paused`].includes(e.state)),o=a.length>0&&a.every(t=>e.sourceKeys.includes(X(t))),s=t=>r({...e,sourceKeys:t}),c=t?.graders.flatMap(e=>e?[e]:[])??[];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Source agents`}),(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:o,disabled:!a.length,ref:t=>{t&&(t.indeterminate=!o&&a.some(t=>e.sourceKeys.includes(X(t))))},onChange:t=>s(t.target.checked?[...new Set([...e.sourceKeys,...a.map(X)])]:e.sourceKeys.filter(e=>!a.some(t=>X(t)===e)))}),`Select all`,` `,(0,W.jsxs)(`small`,{children:[`(`,i.filter(t=>e.sourceKeys.includes(X(t))).length,` selected)`]})]}),(0,W.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Source agents`,children:[i.map(t=>{let n=X(t),r=e.sourceKeys.includes(n),i=V.find(e=>e.id===(t.origin.startsWith(`native_`)?`openpond_chat`:t.origin)),a=t.origin===`native_chat`?`Pal Chat`:t.origin===`native_work`?`Pal Work`:i?.name??t.name;return(0,W.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:r,disabled:!r&&![`active`,`paused`].includes(t.state),onChange:t=>s(t.target.checked?[...new Set([...e.sourceKeys,n])]:e.sourceKeys.filter(e=>e!==n))}),i?(0,W.jsx)(`img`,{src:i.icon,alt:``}):null,(0,W.jsxs)(`span`,{children:[a,(0,W.jsx)(`small`,{children:t.sourceInstanceId?t.name===t.origin?`Local connection`:t.name:t.origin.startsWith(`native_`)?`Hosted conversations`:`Uploaded history`})]}),(0,W.jsx)(`small`,{children:t.state})]},n)}),i.length?null:(0,W.jsx)(`p`,{role:`status`,children:n?`Fetching source agents…`:`Connect or import an agent into this Project first.`})]}),(0,W.jsx)(`p`,{children:`Paused agents can use uploaded conversations. Selecting them leaves collection paused.`})]}),(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Evaluation rubrics`}),e.configurationId?(0,W.jsx)(`p`,{children:`The training configuration pins the task definition and its rubrics. Choose grader selection in Preparation.`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.jsx)(`input`,{type:`checkbox`,disabled:!c.length,checked:c.length>0&&c.every(t=>e.graderIds.includes(t.id)),onChange:t=>r({...e,graderIds:t.target.checked?c.map(e=>e.id):[]})}),`Select all `,(0,W.jsxs)(`small`,{children:[`(`,e.graderIds.length,` selected)`]})]}),(0,W.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Evaluation rubrics`,children:[c.map(t=>(0,W.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:e.graderIds.includes(t.id),onChange:n=>r({...e,graderIds:n.target.checked?[...e.graderIds,t.id]:e.graderIds.filter(e=>e!==t.id)})}),(0,W.jsxs)(`span`,{children:[t.name,(0,W.jsxs)(`small`,{children:[`Version `,t.revision]})]})]},`${t.id}:${t.revision}`)),c.length?null:(0,W.jsx)(`p`,{role:`status`,children:n?`Fetching evaluation rubrics…`:`No owned evaluation rubrics are available.`})]}),e.definition&&!e.graderIds.length?(0,W.jsx)(`p`,{children:`The saved task definition and rubrics remain unchanged.`}):null,(0,W.jsxs)(`label`,{children:[`Existing task definition`,(0,W.jsxs)(`select`,{value:e.definition?.id??``,onChange:n=>{let i=t?.definitions.find(e=>e.id===n.target.value);r({...e,definition:i?{id:i.id,revision:i.revision,contentHash:i.contentHash}:null,graderIds:[]})},children:[(0,W.jsx)(`option`,{value:``,children:`Select a definition or choose rubrics above`}),e.definition&&!t?.definitions.some(t=>t.id===e.definition?.id)?(0,W.jsx)(`option`,{value:e.definition.id,children:`Saved task definition`}):null,t?.definitions.map(e=>(0,W.jsxs)(`option`,{value:e.id,children:[e.name,` (version `,e.revision,`)`]},e.id))]})]})]}),(0,W.jsxs)(`label`,{children:[`Minimum verified score`,(0,W.jsx)(`input`,{type:`number`,min:0,max:1,step:.01,value:e.minimumScore,onChange:t=>r({...e,minimumScore:Number(t.target.value)})})]})]})]})}function be({draft:e,options:t,loading:n,onChange:r}){let i=t?.projects.find(t=>t.id===e.projectId)?.configurationIds??[],a=_e(t,e.configurationId),o=e.graderSelection??{mode:`manual`};return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[`Mode`,(0,W.jsxs)(`select`,{value:e.mode,onChange:t=>r({...e,mode:t.target.value}),children:[(0,W.jsx)(`option`,{value:`evaluate`,children:`Evaluate only`}),(0,W.jsx)(`option`,{value:`train`,children:`Train automatically, approve candidate`}),(0,W.jsx)(`option`,{value:`activate`,children:`Train and activate automatically`})]})]}),(0,W.jsxs)(`label`,{children:[`Model to train`,(0,W.jsxs)(`select`,{value:e.configurationId,onChange:n=>{let i=n.target.value,a=_e(t,i);r({...e,configurationId:i,trainingPolicyId:a.length===1?a[0].id:``,adapter:i?{kind:`reference_text`,inputPointer:`/prompt`,match:`contained`}:{kind:`complete_text`,qualitativeOnly:!0}})},children:[(0,W.jsx)(`option`,{value:``,children:n?`Fetching configurations…`:`Select configuration`}),t?.configurations.filter(e=>i.includes(e.id)).map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.mode===`evaluate`?null:(0,W.jsxs)(`label`,{children:[`Reviewed training setup`,(0,W.jsxs)(`select`,{value:e.trainingPolicyId,onChange:t=>r({...e,trainingPolicyId:t.target.value}),children:[(0,W.jsx)(`option`,{value:``,children:`Select reviewed setup`}),a.map(e=>(0,W.jsxs)(`option`,{value:e.id,children:[`Reviewed setup (version `,e.revision,`)`]},e.id))]})]}),e.configurationId?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[`Task construction`,(0,W.jsxs)(`select`,{value:e.adapter.kind,onChange:t=>r({...e,adapter:t.target.value===`reference_text`?{kind:`reference_text`,inputPointer:`/prompt`,match:`contained`}:{kind:`complete_text`,qualitativeOnly:!0}}),children:[(0,W.jsx)(`option`,{value:`reference_text`,children:`Match a published executable task`}),(0,W.jsx)(`option`,{value:`complete_text`,children:`Complete text context and calibrated judges`})]})]}),e.adapter.kind===`reference_text`?(0,W.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,W.jsxs)(`label`,{children:[`Public task input field`,(0,W.jsx)(`input`,{value:e.adapter.inputPointer,onChange:t=>r({...e,adapter:{kind:`reference_text`,inputPointer:t.target.value,match:e.adapter.kind===`reference_text`?e.adapter.match:`contained`}})})]}),(0,W.jsxs)(`label`,{children:[`Reference matching`,(0,W.jsxs)(`select`,{value:e.adapter.match,onChange:t=>r({...e,adapter:{kind:`reference_text`,inputPointer:e.adapter.kind===`reference_text`?e.adapter.inputPointer:`/prompt`,match:t.target.value}}),children:[(0,W.jsx)(`option`,{value:`contained`,children:`Contained`}),(0,W.jsx)(`option`,{value:`exact`,children:`Exact`})]})]})]}):null,(0,W.jsxs)(`label`,{children:[`Grader selection`,(0,W.jsxs)(`select`,{value:o.mode,onChange:t=>r({...e,graderSelection:t.target.value===`auto`?{mode:`auto`,modelId:`gpt-6-luna`,sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}:{mode:`manual`}}),children:[(0,W.jsx)(`option`,{value:`auto`,children:`Choose compatible rubrics automatically`}),(0,W.jsx)(`option`,{value:`manual`,children:`Use the pinned rubrics`})]})]}),o.mode===`auto`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[`Selection model`,(0,W.jsxs)(`select`,{value:o.modelId,onChange:t=>r({...e,graderSelection:{...o,modelId:t.target.value}}),children:[t?.generators.some(e=>e.id===o.modelId)?null:(0,W.jsx)(`option`,{value:o.modelId,children:o.modelId}),t?.generators.map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,W.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(([t,n,i,a])=>(0,W.jsxs)(`label`,{children:[n,(0,W.jsx)(`input`,{type:`number`,min:i,max:a,step:t===`maximumSpendUsd`?.01:1,value:o[t],onChange:n=>r({...e,graderSelection:{...o,[t]:Number(n.target.value)}})})]},t))})]}):null]}):null,(0,W.jsxs)(`label`,{children:[`Answer improvement model`,(0,W.jsxs)(`select`,{value:e.generator?.modelId??``,onChange:t=>r({...e,generator:t.target.value?{modelId:t.target.value,maximumOutputTokens:e.generator?.maximumOutputTokens??2048,maximumSpendUsd:e.generator?.maximumSpendUsd??.1}:null}),children:[(0,W.jsx)(`option`,{value:``,children:`Use recorded answers only`}),t?.generators.map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.generator?(0,W.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,W.jsxs)(`label`,{children:[`Per improved answer limit ($)`,(0,W.jsx)(`input`,{type:`number`,min:.01,step:.01,value:e.generator.maximumSpendUsd,onChange:t=>r({...e,generator:{...e.generator,maximumSpendUsd:Number(t.target.value)}})})]}),(0,W.jsxs)(`label`,{children:[`Output token limit`,(0,W.jsx)(`input`,{type:`number`,min:256,max:16384,value:e.generator.maximumOutputTokens,onChange:t=>r({...e,generator:{...e.generator,maximumOutputTokens:Number(t.target.value)}})})]})]}):null,e.mode===`activate`?(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Serving authorization`}),(0,W.jsxs)(`label`,{children:[`Serving target`,(0,W.jsxs)(`select`,{value:e.serving?.targetId??``,onChange:t=>r({...e,serving:{targetId:t.target.value,canarySeconds:e.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}),children:[(0,W.jsx)(`option`,{value:``,children:`Pal in this Project`}),t?.servingTargets.filter(t=>t.projectId===e.projectId&&t.enabled).map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.hostedPonder?`Hosted Pal`:`${e.role} / ${e.roleTargetId}`},e.id))]})]}),(0,W.jsxs)(`label`,{children:[`Runtime canary (seconds)`,(0,W.jsx)(`input`,{type:`number`,min:30,max:600,value:e.serving?.canarySeconds??120,onChange:t=>r({...e,serving:{targetId:e.serving?.targetId??``,canarySeconds:Number(t.target.value),rollbackOnRuntimeFailure:!0}})})]}),(0,W.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]})}var xe=(e,t)=>e===void 0||t===void 0?``:`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;function Se({draft:e,onChange:t}){let n=(n,r)=>t({...e,limits:{...e.limits,[n]:r}});return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Run window`}),(0,W.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,W.jsxs)(`label`,{children:[`From`,(0,W.jsx)(`input`,{type:`time`,required:!0,value:xe(e.schedule.hour,e.schedule.minute),onChange:n=>{let[r,i]=n.target.value.split(`:`).map(Number);t({...e,schedule:{...e.schedule,hour:r,minute:i}})}})]}),(0,W.jsxs)(`label`,{children:[`Until`,(0,W.jsx)(`input`,{type:`time`,value:xe(e.schedule.endHour,e.schedule.endMinute),onChange:n=>{let[r,i]=n.target.value.split(`:`).map(Number),{endHour:a,endMinute:o,...s}=e.schedule;t({...e,schedule:n.target.value?{...s,endHour:r,endMinute:i}:s})}})]})]}),(0,W.jsxs)(`label`,{children:[`Timezone`,(0,W.jsx)(`input`,{required:!0,value:e.schedule.timezone,onChange:n=>t({...e,schedule:{...e.schedule,timezone:n.target.value}})})]}),(0,W.jsx)(`p`,{children:`Queued learning starts within this window. A run already started may finish afterward.`})]}),(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Maximum spending`}),(0,W.jsx)(`p`,{children:`These are limits, not prices. Evaluation, answer improvements and training count toward them.`}),(0,W.jsx)(`div`,{className:`agent-learning-columns`,children:[[`perCycleUsd`,`Per run ($)`],[`dailyUsd`,`Per day ($)`],[`monthlyUsd`,`Per month ($)`]].map(([t,r])=>(0,W.jsxs)(`label`,{children:[r,(0,W.jsx)(`input`,{type:`number`,required:!0,min:.01,max:1e5,step:.01,value:e.limits[t],onChange:e=>n(t,Number(e.target.value))})]},t))})]}),(0,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`Advanced limits`}),(0,W.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(([t,r,i,a,o])=>(0,W.jsxs)(`label`,{children:[r,(0,W.jsx)(`input`,{type:`number`,required:!0,min:i,max:a,step:o,value:e.limits[t],onChange:e=>n(t,Number(e.target.value))})]},t)),(0,W.jsxs)(`label`,{children:[`Maximum GPU session (hours)`,(0,W.jsx)(`input`,{type:`number`,required:!0,min:.01,max:3,step:.01,value:e.limits.maxGpuSeconds/3600,onChange:e=>n(`maxGpuSeconds`,Math.round(Number(e.target.value)*3600))})]}),(0,W.jsxs)(`label`,{children:[`Pause after failed cycles`,(0,W.jsx)(`input`,{type:`number`,required:!0,min:1,max:20,value:e.failurePolicy?.pauseAfterConsecutiveFailures??3,onChange:n=>t({...e,failurePolicy:{pauseAfterConsecutiveFailures:Number(n.target.value)}})})]})]}),(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:e.exceptions===`eligible_remainder`,onChange:n=>t({...e,exceptions:n.target.checked?`eligible_remainder`:`block`})}),`Use the independently verified remainder when exceptions occur`]})]}),(0,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`Training data balance`}),(0,W.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(([n,r,i])=>(0,W.jsxs)(`label`,{children:[r,` (%)`,(0,W.jsx)(`input`,{type:`number`,min:+!!n.startsWith(`maximum`),max:i,value:Math.round((e.selection?.[n]??0)*100),onChange:r=>t({...e,selection:{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1,...e.selection,[n]:Number(r.target.value)/100}})})]},n))})]}),e.mode===`evaluate`?null:(0,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`Checks before using the trained model`}),(0,W.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(([n,r,i,a])=>(0,W.jsxs)(`label`,{children:[r,(0,W.jsx)(`input`,{type:`number`,min:i,max:a,step:n===`minimumImprovement`?.01:1,value:e.acceptance?.[n]??i,onChange:r=>t({...e,acceptance:{minimumCasesPerCheck:20,windowCasesPerCheck:20,minimumImprovement:.05,...e.acceptance,[n]:Number(r.target.value)}})})]},n))}),(0,W.jsx)(`p`,{children:`Current and trained models use the same unseen examples. Insufficient evidence keeps the current model active.`})]})]})}function Ce({connection:e,teamId:t,projectId:n,projectName:r,initialPolicy:i,bindings:a,query:o,onClose:s}){let[c,l]=(0,U.useState)(i),[u,d]=(0,U.useState)(()=>Q(n,i,i?[]:a)),[f,p]=(0,U.useState)(!!o.data),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)(!1),[v,y]=(0,U.useState)(null),[b,x]=(0,U.useState)(i?.status===`enabled`||!i),[S,w]=(0,U.useState)(`sources`),[T,E]=(0,U.useState)(!1),[D,O]=(0,U.useState)(null),A=(0,U.useRef)(f);A.current=f;let j=o.data?.policies.filter(e=>e.configuration.projectId===n)??[];(0,U.useEffect)(()=>{if(!o.data||A.current)return;let e=o.data.policies.find(e=>e.configuration.projectId===n&&e.status===`enabled`)??o.data.policies.find(e=>e.configuration.projectId===n);l(e),d(Q(n,e,e?[]:a)),x(e?.status===`enabled`||!e),p(!0)},[o.data,n,a]);let N=()=>{g||(m?E(!0):s())},P=C(N);function F(e){let t=j.find(t=>t.id===e);t&&(l(t),d(Q(n,t)),x(t.status===`enabled`),h(!1),O(null),E(!1),y(null))}function I(e){d(e),h(!0)}async function L(){if(o.data&&f&&!g&&!o.isError){_(!0),y(null);try{await ve(e,t,u,o.data,c,b),await o.refresh(),h(!1),s()}catch(e){y(e instanceof Error?e.message:`Unable to save continuous learning.`)}finally{_(!1)}}}let R={draft:u,options:o.data,loading:o.isPending,onChange:I};return(0,W.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:N,children:(0,W.jsxs)(`section`,{ref:P,className:`git-dialog provider-details-dialog agent-learning-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Continuous learning`,onMouseDown:e=>e.stopPropagation(),children:[(0,W.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close continuous learning`,disabled:g,onClick:N,children:(0,W.jsx)(k,{size:16})}),(0,W.jsx)(`div`,{className:`provider-dialog-header`,children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:`Continuous learning`}),(0,W.jsx)(`span`,{children:r})]})}),T?(0,W.jsxs)(`div`,{className:`agent-learning-discard`,role:`alert`,children:[(0,W.jsx)(`p`,{children:`Discard unsaved policy changes?`}),(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:()=>{E(!1),O(null)},children:`Keep editing`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>D?F(D):s(),children:`Discard changes`})]})]}):null,j.length>1?(0,W.jsxs)(`label`,{className:`agent-learning-policy-picker`,children:[`Learning policy`,(0,W.jsx)(`select`,{disabled:g,value:c?.id??``,onChange:e=>{m?(O(e.target.value),E(!0)):F(e.target.value)},children:j.map(e=>(0,W.jsxs)(`option`,{value:e.id,children:[e.configuration.name,` (`,e.status,`)`]},e.id))})]}):null,(0,W.jsx)(`div`,{className:`surface-tabs provider-agent-tabs`,role:`tablist`,"aria-label":`Continuous learning settings`,children:[[`sources`,`Sources & rubrics`],[`preparation`,`Preparation`],[`schedule`,`Run window & budget`]].map(([e,t])=>(0,W.jsx)(`button`,{type:`button`,id:`learning-tab-${e}`,role:`tab`,"aria-selected":S===e,"aria-controls":`learning-panel-${e}`,tabIndex:S===e?0:-1,onClick:()=>w(e),onKeyDown:t=>{let n=[`sources`,`preparation`,`schedule`],r=n.indexOf(e);if([`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t.key)){t.preventDefault();let e=n[t.key===`Home`?0:t.key===`End`?2:(r+(t.key===`ArrowRight`?1:2))%3];w(e),document.getElementById(`learning-tab-${e}`)?.focus()}},children:t},e))}),(0,W.jsxs)(`form`,{className:`agent-learning-form`,onSubmit:e=>{e.preventDefault(),L()},children:[(0,W.jsx)(`fieldset`,{disabled:!f||g,children:(0,W.jsxs)(`label`,{children:[`Policy name`,(0,W.jsx)(`input`,{required:!0,maxLength:200,value:u.name,onChange:e=>I({...u,name:e.target.value})})]})}),(0,W.jsx)(`div`,{id:`learning-panel-${S}`,role:`tabpanel`,"aria-labelledby":`learning-tab-${S}`,children:(0,W.jsx)(`fieldset`,{disabled:!f||g,children:S===`sources`?(0,W.jsx)(ye,{...R}):S===`preparation`?(0,W.jsx)(be,{...R}):(0,W.jsx)(Se,{...R})})}),o.isPending?(0,W.jsx)(`p`,{role:`status`,children:`Fetching available sources, rubrics and models…`}):null,o.isError?(0,W.jsx)(M,{error:o.error.message,children:(0,W.jsx)(`button`,{type:`button`,onClick:()=>void o.refetch(),children:`Retry settings`})}):null,v?(0,W.jsx)(M,{error:v}):null,(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:b,disabled:!f||g,onChange:e=>{x(e.target.checked),h(!0)}}),`Enable this policy after saving`]}),(0,W.jsx)(`p`,{children:`Saving enables only the reviewed sources, schedule and limits. No training is dispatched by opening this dialog.`}),(0,W.jsxs)(`div`,{className:`settings-button-row agent-learning-footer`,children:[(0,W.jsx)(`button`,{type:`button`,disabled:g,onClick:N,children:`Cancel`}),(0,W.jsx)(`button`,{type:`submit`,className:`primary`,disabled:!f||!o.data||o.isError||g||!u.sourceKeys.length,children:g?`Saving…`:b?`Save and enable`:`Save paused`})]})]})]})})}function we({agent:e,inventory:t,connection:n,teamId:r,projectId:i,projectName:a,query:o,signedIn:s}){let[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(!1),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(``),v=(0,U.useMemo)(()=>new Set(t?.collector.connections.filter(t=>t.source===e.id&&t.teamId===r&&t.projectId===i&&t.state!==`disconnected`).map(e=>e.sourceInstanceId)??[]),[t,e.id,r,i]),y=o.data?.sources.filter(t=>t.projectId===i&&(e.id===`openpond_chat`?[`native_chat`,`native_work`].includes(t.origin)&&t.sourceInstanceId===null:t.origin===e.id&&t.sourceInstanceId!==null&&v.has(t.sourceInstanceId)))??[],b=[...new Set(y.flatMap(e=>e.sourceInstanceId?[e.sourceInstanceId]:[]))],x=b.includes(g)?g:b[0],S=y.filter(e=>e.sourceInstanceId===null||e.sourceInstanceId===x).map(e=>({origin:e.origin,sourceInstanceId:e.sourceInstanceId,enabled:!0})),C=o.data?.policies.filter(e=>e.configuration.projectId===i)??[],w=C.filter(e=>e.status===`enabled`&&e.configuration.sources.some(e=>e.enabled&&S.some(t=>X(t)===X(e)))),T=w[0]??C.find(e=>e.status===`enabled`)??C[0],E=!!(n&&r&&i&&s&&o.data?.projects.some(e=>e.id===i));async function D(e,t){if(!n||!r||!o.data)return;let a={...e.configuration,sources:e.configuration.sources.map(e=>S.some(t=>X(t)===X(e))?{...e,enabled:t}:e)};if(t)for(let e of S)a.sources.some(t=>X(t)===X(e))||a.sources.push(e);let s=o.data.servingTargets.find(e=>e.id===a.serving?.targetId);if(t&&a.mode===`activate`&&a.serving?.targetId&&(!s||!s.enabled||s.projectId!==i))throw Error(`Review the policy's serving target before adding a source.`);if(t&&a.mode===`activate`&&(!a.serving?.targetId||s?.hostedPonder)){let e=await Z(n,r,`serving-targets`,{action:`ensure_hosted_ponder`,projectId:i,bindingId:o.data.ponderBindingId});a={...a,serving:{targetId:e.id,canarySeconds:a.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}}return ge(n,r,e,a,a.sources.some(e=>e.enabled))}async function O(e){if(!f){p(!0),h(null);try{if(e){let e=C.find(e=>e.id===u);if(!e)throw Error(`Refresh the learning policy before joining.`);await D(e,!0),d(null)}else for(let e of w)await D(e,!1);await o.refresh()}catch(e){h(e instanceof Error?e.message:`Unable to update this learning source.`),await o.refresh()}finally{p(!1)}}}return(0,W.jsxs)(`div`,{className:`agent-learning-control`,children:[b.length>1?(0,W.jsxs)(`label`,{children:[`Learning connection`,(0,W.jsx)(`select`,{"aria-label":`${e.name} learning connection`,value:x,disabled:f,onChange:e=>_(e.target.value),children:b.map(e=>(0,W.jsx)(`option`,{value:e,children:y.find(t=>t.sourceInstanceId===e)?.name??`Local connection`},e))})]}):null,(0,W.jsxs)(`div`,{className:`agent-learning-control-row`,children:[(0,W.jsxs)(`label`,{className:`provider-toggle`,children:[(0,W.jsx)(`input`,{type:`checkbox`,"aria-label":`${e.name} continuous learning`,checked:w.length>0,disabled:!E||!S.length||o.isPending||o.isError||f,onChange:e=>{if(e.target.checked){let e=C.find(e=>e.status===`enabled`);e?d(e.id):l(!0)}else O(!1)}}),(0,W.jsx)(`span`,{"aria-hidden":`true`})]}),(0,W.jsx)(`button`,{type:`button`,className:`agent-learning-settings`,disabled:!n||!r||!i||!s||f,onClick:()=>l(!0),children:`Continuous learning`}),(0,W.jsx)(`small`,{children:o.isError?`Needs attention`:o.isPending?`Loading…`:w.length?`On schedule`:C.length?`Paused`:`Off`})]}),i&&!S.length&&o.data?(0,W.jsx)(`small`,{children:`Sync this agent to the selected Project to use its local connection.`}):null,m?(0,W.jsx)(M,{error:m}):null,c&&n&&r?(0,W.jsx)(Ce,{connection:n,teamId:r,projectId:i,projectName:a,initialPolicy:T,bindings:S,query:o,onClose:()=>l(!1)},i):null,u?(0,W.jsx)(Te,{policies:C.filter(e=>e.status===`enabled`),policyId:u,agentName:e.name,busy:f,error:m,onChoose:d,onClose:()=>{f||d(null)},onJoin:()=>void O(!0)}):null]})}function Te({policies:e,policyId:t,agentName:n,busy:r,error:i,onChoose:a,onClose:o,onJoin:s}){let c=C(o),l=e.find(e=>e.id===t);return(0,W.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:o,children:(0,W.jsxs)(`section`,{ref:c,className:`git-dialog agent-learning-join`,role:`dialog`,"aria-modal":`true`,"aria-label":`Add learning source`,onMouseDown:e=>e.stopPropagation(),children:[(0,W.jsx)(`button`,{type:`button`,className:`git-dialog-close`,disabled:r,"aria-label":`Cancel`,onClick:o,children:(0,W.jsx)(k,{size:16})}),(0,W.jsxs)(`h2`,{children:[`Add `,n,` to `,l?.configuration.name??`continuous learning`,`?`]}),(0,W.jsx)(`p`,{children:`This agent will contribute conversations to the existing model, schedule and spending limits. Collection settings stay unchanged.`}),e.length>1?(0,W.jsxs)(`label`,{children:[`Existing policy`,(0,W.jsx)(`select`,{value:t,disabled:r,onChange:e=>a(e.target.value),children:e.map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.configuration.name},e.id))})]}):null,i?(0,W.jsx)(M,{error:i}):null,(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.jsx)(`button`,{type:`button`,disabled:r,onClick:o,children:`Cancel`}),(0,W.jsx)(`button`,{type:`button`,className:`primary`,disabled:r||!l,onClick:s,children:r?`Adding…`:`Add agent`})]})]})})}function Ee({connection:e,payload:t,onPayload:n,onToast:r}){let{inventory:i,error:a,loading:o,refresh:s}=ne(e),[c,l]=(0,U.useState)(null),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(0),m=`openpond-agent-cards:${JSON.stringify(t?.account.activeProfile??null)}`,[h,g]=(0,U.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(m)??`null`);return Array.isArray(e)?e.filter(e=>typeof e==`string`&&V.some(t=>t.id===e)):[`oh_my_pi`]}catch{return[`oh_my_pi`]}});(0,U.useEffect)(()=>{try{localStorage.setItem(m,JSON.stringify(h))}catch{}},[m,h]);let[_,v]=(0,U.useState)(!1),b=(0,U.useRef)(null);(0,U.useEffect)(()=>{if(!_)return;let e=e=>{b.current?.contains(e.target)||v(!1)},t=e=>{e.key===`Escape`&&(v(!1),b.current?.querySelector(`button`)?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[_]);let x=(0,U.useRef)({payload:t,onPayload:n});x.current={payload:t,onPayload:n};let S=(0,U.useRef)(!0);(0,U.useEffect)(()=>(S.current=!0,()=>{S.current=!1}),[]);let C=t?.account??null,w=t?.preferences.defaultTeamId??C?.accounts.find(e=>e.isActive)?.apiKeyAccess?.teamId??null,k=(0,U.useCallback)(e=>{l(e),e&&r?.(e,`error`)},[r]),A=(0,U.useCallback)(e=>{let t=x.current;S.current&&t.payload&&t.onPayload({...t.payload,providers:e})},[]),j=(0,U.useCallback)((e,t)=>{let n=x.current;if(!S.current||!n.payload)return;let r=n.payload.providers,i={...n.payload,providers:{...r,statuses:{...r.statuses,[e]:t.statuses[e]},modelCaches:{...r.modelCaches,[e]:t.modelCaches[e]}}};x.current={...n,payload:i},n.onPayload(i)},[]);ie(e,t?.providers,j,f);let N=(0,U.useCallback)(e=>{let t=x.current;t.payload&&t.onPayload({...t.payload,preferences:e.preferences})},[]),P=E({connection:e,onError:k,onPayload:n,onPreferences:N,onProviders:A,preferences:y(t?.preferences),providers:t?.providers}),F=le(e,C,w),{projects:R,projectId:z,loading:ee,error:B}=F,te=he(e,w,JSON.stringify([C?.activeProfile??null,C?.profile?.id??null]),C?.state===`signed_in`),H=C?.baseUrl??C?.activeProfile?.baseUrl,G=H&&w?`${H.replace(/\/$/u,``)}/console/connections?${new URLSearchParams({teamId:w,...z?{project:z}:{}})}`:null,K=u?.provider,q=K?t?.providers.statuses[K]:null,J=u?(0,W.jsx)(pe,{agent:u,inventory:i,connection:e,account:C,teamId:w,projects:R,projectId:z,onRefresh:s,learningUrl:G},u.id):null;return(0,W.jsxs)(`section`,{className:`connected-agents-view`,"aria-label":`Continuous learning`,children:[(0,W.jsxs)(`div`,{className:`agent-connections-heading`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:`Continuous learning`}),(0,W.jsx)(`p`,{children:`Sync conversations from your installed agents and configure continuous learning.`})]}),(0,W.jsxs)(`div`,{className:`agent-connections-actions`,children:[(0,W.jsx)(`button`,{type:`button`,disabled:o||!e,"aria-label":`Refresh agent connections`,onClick:()=>{s(),F.refresh(),p(e=>e+1)},children:(0,W.jsx)(O,{size:15})}),(0,W.jsxs)(`div`,{className:`agent-more`,ref:b,children:[(0,W.jsx)(`button`,{type:`button`,"aria-expanded":_,onClick:()=>v(e=>!e),children:`More agents`}),_?(0,W.jsxs)(`div`,{className:`agent-more-menu`,children:[V.filter(e=>h.includes(e.id)).map(e=>(0,W.jsxs)(`button`,{type:`button`,onClick:()=>{g(t=>t.filter(t=>t!==e.id)),v(!1)},children:[(0,W.jsx)(D,{size:14}),(0,W.jsx)(`span`,{children:e.name})]},e.id)),h.length===0?(0,W.jsx)(`span`,{children:`All agents shown`}):null]}):null]})]})]}),(0,W.jsxs)(`label`,{className:`agent-project-scope`,children:[`Project`,(0,W.jsx)(L,{label:`Connections project`,value:z,disabled:!R.length,onChange:F.select,searchable:!0,options:[{value:``,label:ee&&!R.length?`Fetching projects…`:`Select project`},...R.map(e=>({value:e.id,label:e.content.name}))]})]}),B?(0,W.jsx)(M,{error:B}):null,a?(0,W.jsx)(M,{error:a}):null,c?(0,W.jsx)(M,{error:c}):null,(0,W.jsx)(`div`,{className:`agent-connections-grid`,children:V.filter(e=>!h.includes(e.id)).map(n=>(0,W.jsx)(re,{agent:n,account:C,native:n.provider?t?.providers.statuses[n.provider]:null,inventory:i,projects:R,teamId:w,learningControl:(0,W.jsx)(we,{agent:n,inventory:i,connection:e,teamId:w,projectId:z,projectName:R.find(e=>e.id===z)?.content.name??`Selected Project`,query:te,signedIn:C?.state===`signed_in`}),connected:!!e,onHide:()=>g(e=>[...e,n.id]),onManage:()=>d(n)},`${JSON.stringify([C?.activeProfile,C?.profile?.id])}:${w}:${z}:${n.id}`))}),i?(0,W.jsxs)(`div`,{className:`agent-importer-footer`,children:[(0,W.jsx)(`span`,{children:i.collector.running?`Import in progress`:`No import running`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>I({kind:`settings`,section:`conversation-imports`}),children:`Conversation import settings`})]}):null,u&&K&&q&&t?(0,W.jsx)(T,{checkNativeProvider:P.checkNativeProvider,connection:e,account:C,codex:t.codex,providerId:K,providerBusy:P.providerBusy,settings:t.providers,status:q,onClose:()=>d(null),onDeleteCredential:P.deleteProviderCredential,onRefreshModels:P.refreshProviderModels,onSaveConfig:P.saveProviderConfig,onSaveCredential:P.saveProviderCredential,onStartOpenAiSubscriptionAuth:P.startOpenAiSubscriptionAuth,onValidate:P.validateProvider,conversationPanel:J}):u?(0,W.jsx)(De,{agent:u,onClose:()=>d(null),children:J}):null]})}function De({agent:e,onClose:t,children:n}){let r=C(t);return(0,W.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:t,children:(0,W.jsxs)(`section`,{ref:r,className:`git-dialog provider-details-dialog agent-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`${e.name} connection`,onMouseDown:e=>e.stopPropagation(),children:[(0,W.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close`,onClick:t,children:(0,W.jsx)(k,{size:16})}),(0,W.jsx)(`div`,{className:`provider-dialog-header`,children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:e.name}),(0,W.jsx)(`span`,{children:`Conversation syncing`})]})}),n]})})}var Oe=[`For agents`,`Featured`,`Productivity`,`Developer tools`],ke=new Set([`slack`,`google`,`github`,`mcp`]);function Ae({account:e,connection:t,defaultTeamId:n,onToast:r,payload:i,onPayload:a}){let[o,s]=(0,U.useState)(`apps`),c=(0,U.useId)(),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(``),[p,m]=(0,U.useState)(`For agents`),[h,g]=(0,U.useState)(()=>F()),[_,v]=(0,U.useState)(null),y=e?.baseUrl??e?.activeProfile?.baseUrl??null,b=je(n,_),x=(0,U.useMemo)(()=>h.filter(e=>Pe(e,p)).filter(e=>Fe(e,d)),[p,d,h]);(0,U.useEffect)(()=>{let e=!0;return!t||o!==`apps`?(g(F()),v(null),()=>{e=!1}):(R.connectedAppStatus(t,{status:`all`}).then(t=>{e&&(g(t.apps),v(t.teamId?.trim()||null))}).catch(t=>{e&&(console.warn(`Unable to load connected app status.`,t),g(F()),v(null))}),()=>{e=!1})},[t,o]);function S(e){Le(P({appId:e.id,baseUrl:y,teamId:b})).catch(e=>{r?.(e instanceof Error?e.message:String(e),`error`)})}return(0,W.jsxs)(`div`,{className:`apps-workspace-view`,children:[(0,W.jsx)(`div`,{className:`apps-page-tabs`,role:`tablist`,"aria-label":`Apps pages`,onKeyDown:e=>{if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=e.key===`Home`?`apps`:e.key===`End`?`agents`:o===`agents`?`apps`:`agents`;s(t),e.currentTarget.querySelector(`#${CSS.escape(`${c}-${t}`)}`)?.focus()},children:[{value:`apps`,label:`Apps`},{value:`agents`,label:`Continuous learning`}].map(e=>(0,W.jsx)(`button`,{type:`button`,role:`tab`,id:`${c}-${e.value}`,"aria-controls":`${c}-${e.value}-panel`,tabIndex:o===e.value?0:-1,"aria-selected":o===e.value,onClick:()=>s(e.value),children:e.label},e.value))}),(0,W.jsx)(`div`,{role:`tabpanel`,id:`${c}-${o}-panel`,"aria-labelledby":`${c}-${o}`,children:o===`agents`?(0,W.jsx)(Ee,{connection:t,payload:i,onPayload:a,onToast:r},JSON.stringify([e?.activeProfile,n])):(0,W.jsxs)(`section`,{className:`connected-apps-view`,"aria-label":`Apps`,children:[(0,W.jsxs)(`div`,{className:`connected-apps-header`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h1`,{children:`Apps`}),(0,W.jsx)(`p`,{children:`Connect apps that agents can use for chat, knowledge, files, and workflow actions.`})]}),(0,W.jsxs)(`label`,{className:`connected-apps-search`,children:[(0,W.jsx)(N,{size:15}),(0,W.jsx)(`input`,{"aria-label":`Search apps`,onChange:e=>f(e.target.value),placeholder:`Search apps`,type:`search`,value:d})]})]}),(0,W.jsxs)(`section`,{className:`connected-apps-hero`,"aria-label":`App context`,children:[(0,W.jsxs)(`div`,{className:`connected-apps-hero-copy`,children:[(0,W.jsx)(`span`,{className:`connected-apps-hero-icon`,children:(0,W.jsx)($,{appId:`github`})}),(0,W.jsx)(`h2`,{children:`Work with your apps`}),(0,W.jsx)(`p`,{children:`Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond.`})]}),(0,W.jsxs)(`div`,{className:`connected-apps-context-card`,"aria-hidden":`true`,children:[(0,W.jsx)(`strong`,{children:`Agent context`}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`files`,children:`Files`}),(0,W.jsx)(`span`,{className:`chat`,children:`Chat`}),(0,W.jsx)(`span`,{className:`oauth`,children:`OAuth`}),(0,W.jsx)(`span`,{className:`mcp`,children:`MCP`})]})]})]}),(0,W.jsx)(`div`,{className:`connected-apps-filters`,role:`tablist`,"aria-label":`App categories`,children:Oe.map(e=>(0,W.jsx)(`button`,{"aria-selected":p===e,className:p===e?`active`:``,onClick:()=>m(e),role:`tab`,type:`button`,children:e},e))}),(0,W.jsxs)(`div`,{className:`connected-apps-list`,children:[x.map(e=>(0,W.jsx)(Me,{app:e,onSelect:()=>u(e)},e.id)),x.length===0?(0,W.jsx)(`div`,{className:`connected-apps-empty`,children:`No apps match the current search.`}):null]}),l?(0,W.jsx)(Ne,{app:l,onClose:()=>u(null),onInstall:()=>S(l)}):null]})})]})}function je(e,t){return e?.trim()||t?.trim()||null}function Me({app:e,onSelect:t}){return(0,W.jsxs)(`button`,{className:`connected-app-row`,onClick:t,type:`button`,children:[(0,W.jsxs)(`span`,{className:`connected-app-row-main`,children:[(0,W.jsx)($,{appId:e.id}),(0,W.jsxs)(`span`,{className:`connected-app-copy`,children:[(0,W.jsxs)(`span`,{className:`connected-app-title`,children:[(0,W.jsx)(`strong`,{children:e.label}),(0,W.jsxs)(`span`,{children:[e.shortLabel===e.label?e.category:e.shortLabel,` / `,e.setupSurfaceLabel]})]}),(0,W.jsx)(`span`,{children:e.description}),(0,W.jsxs)(`span`,{className:`connected-app-capability-row`,children:[e.capabilityLabels.slice(0,2).map(e=>(0,W.jsx)(`span`,{children:e},e)),e.capabilityLabels.length>2?(0,W.jsxs)(`span`,{children:[`+`,e.capabilityLabels.length-2]}):null]})]})]}),(0,W.jsx)(`span`,{className:`connected-app-status-pill ${e.status}`,children:e.statusLabel}),(0,W.jsx)(x,{size:16})]})}function Ne({app:e,onClose:t,onInstall:n}){let r=e.connections.filter(e=>e.status===`active`);return(0,W.jsx)(`div`,{className:`connected-app-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,W.jsxs)(`section`,{className:`connected-app-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`connected-app-dialog-title`,children:[(0,W.jsx)(`button`,{className:`connected-app-dialog-close`,type:`button`,"aria-label":`Close app details`,onClick:t,children:(0,W.jsx)(k,{size:17})}),(0,W.jsxs)(`div`,{className:`connected-app-dialog-identity`,children:[(0,W.jsx)(`span`,{className:`openpond-mark`,children:(0,W.jsx)(`img`,{alt:``,src:i})}),(0,W.jsxs)(`span`,{className:`connection-dots`,"aria-hidden":`true`,children:[(0,W.jsx)(`span`,{}),(0,W.jsx)(`span`,{}),(0,W.jsx)(`span`,{})]}),(0,W.jsx)($,{appId:e.id})]}),(0,W.jsxs)(`h2`,{id:`connected-app-dialog-title`,children:[`Connect `,e.label]}),(0,W.jsxs)(`div`,{className:`connected-app-approval`,children:[(0,W.jsx)(ee,{size:16}),(0,W.jsx)(`span`,{children:e.statusLabel})]}),(0,W.jsxs)(`div`,{className:`connected-app-dialog-body`,children:[(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:e.setupSurfaceLabel}),(0,W.jsx)(`p`,{children:`The web flow shows the provider account, workspace, and requested access before anything is connected.`})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:`Connected account`}),(0,W.jsx)(`p`,{children:Re(r)})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:`Available capabilities`}),(0,W.jsx)(`div`,{className:`connected-app-dialog-capabilities`,children:e.capabilities.map(e=>(0,W.jsx)(`span`,{children:e.label},e.id))})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:`Sandbox lease policy`}),(0,W.jsx)(`p`,{children:e.leasePolicy.leaseable?`Leaseable for ${e.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:`Managed as setup or tool discovery; no OAuth lease is required.`})]})]}),(0,W.jsxs)(`button`,{className:`connected-app-dialog-primary`,type:`button`,onClick:n,children:[(0,W.jsx)(`span`,{children:e.installLabel}),(0,W.jsx)(S,{size:15})]})]})})}function $({appId:e}){return(0,W.jsx)(`span`,{className:`connected-app-icon app-${e}`,children:(0,W.jsx)(`img`,{alt:``,src:Ie(e)})})}function Pe(e,t){return t===`For agents`?!0:t===`Featured`?ke.has(e.id):t===`Productivity`?e.category===`Productivity`||e.category===`Chat`:e.category===`Developer tools`||e.id===`mcp`}function Fe(e,t){let n=t.trim().toLowerCase();return!n||[e.id,e.label,e.shortLabel,e.category,e.description,e.providerFamily,e.setupSurface].some(e=>e.toLowerCase().includes(n))}function Ie(e){return n(e)}async function Le(e){let t=window.openpond?.browser;if(t){let n=await t.openExternal({conversationId:`connected-apps`,url:e});if(!n.ok)throw Error(n.error??`Unable to open app setup.`)}else window.open(e,`_blank`,`noopener,noreferrer`)}function Re(e){return e.length===0?`No active OAuth connection for this setup surface.`:e.map(e=>{let t=e.accountLabel??`Connected account`;return e.workspaceLabel?`${t} / ${e.workspaceLabel}`:t}).join(`, `)}export{Ae as AppsView};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-D7igQSAg.js";import"./icons-B8_Rkg-l.js";import{t as r}from"./createLucideIcon-CmkSm39S.js";import{N as i}from"./training-model-data-CWnu1bz9.js";import{t as a}from"./copy-DRnATDDY.js";import{t as o}from"./x-Bhl-4Zlt.js";import{n as s}from"./AppToastContext-Dklk6CaG.js";import{Bt as c,en as l,on as u}from"./App-CNQi3RlI.js";import{t as d}from"./HtmlVisual-C2WsMj90.js";import{S as f,t as p,x as m}from"./MainPane-CqtgV9rU.js";var h=r(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),g=e(t(),1),_=n();function v({active:e,onBounds:t}){let n=(0,g.useRef)(null),r=(0,g.useRef)(null),i=(0,g.useRef)(null),a=(0,g.useCallback)(e=>{let n=e?`${e.x}:${e.y}:${e.width}:${e.height}`:`null`;r.current!==n&&(r.current=n,t(e))},[t]),o=(0,g.useCallback)(()=>{let t=n.current;if(!e||!t){a(null);return}let r=t.getBoundingClientRect(),i=Math.max(0,Math.round(r.width)),o=Math.max(0,Math.round(r.height));a(i===0||o===0?null:{x:Math.round(r.left),y:Math.round(r.top),width:i,height:o})},[e,a]),s=(0,g.useCallback)(()=>{i.current===null&&(i.current=window.requestAnimationFrame(()=>{i.current=null,o()}))},[o]);return(0,g.useLayoutEffect)(()=>{r.current=null,o();let t=n.current;if(!e||!t)return a(null),()=>a(null);let c=new ResizeObserver(s);return c.observe(t),window.addEventListener(`resize`,s),window.addEventListener(`scroll`,s,!0),()=>{i.current!==null&&(window.cancelAnimationFrame(i.current),i.current=null),c.disconnect(),window.removeEventListener(`resize`,s),window.removeEventListener(`scroll`,s,!0),a(null)}},[e,a,o,s]),(0,_.jsx)(`div`,{className:`browser-viewport`,ref:n,hidden:!e})}function y({available:e,busy:t,onCapture:n,onCancel:r}){let[i,a]=(0,g.useState)(!1),s=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(!i)return;let e=e=>{s.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return window.addEventListener(`pointerdown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`keydown`,t)}},[i]),(0,_.jsxs)(`div`,{className:`browser-menu-anchor`,ref:s,children:[(0,_.jsx)(`button`,{type:`button`,title:t?`Cancel snapshot`:`Take snapshot`,"aria-label":t?`Cancel snapshot`:`Take snapshot`,disabled:!e&&!t,"aria-haspopup":t?void 0:`menu`,"aria-expanded":i,onClick:()=>t?r():a(e=>!e),children:t?(0,_.jsx)(o,{size:15}):(0,_.jsx)(h,{size:15})}),i?(0,_.jsxs)(`div`,{className:`browser-options-menu browser-snapshot-menu`,role:`menu`,"aria-label":`Snapshot options`,children:[(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`page`)},children:`Full page snapshot`}),(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`node`)},children:`Select an element…`})]}):null]})}function b({image:e,onClose:t}){let n=s(),r=e.source?.length===64e3?`HTML excerpt`:`HTML`;async function c(){let t=`${e.selector.replace(/[^a-z0-9._-]+/gi,`-`).slice(0,80)||`snapshot`}.png`;if(window.openpond?.files?.saveImage){let r=await window.openpond.files.saveImage({url:e.dataUrl,suggestedName:t});!r.ok&&!r.canceled&&n?.(r.error??`Snapshot could not be saved.`,`error`)}else{let n=document.createElement(`a`);n.href=e.dataUrl,n.download=t,n.click()}}return(0,_.jsxs)(`section`,{className:`browser-snapshot-preview`,"aria-label":`Snapshot preview`,children:[(0,_.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,_.jsxs)(`span`,{children:[e.selector,` · `,e.width,` × `,e.height]}),e.source?(0,_.jsx)(`button`,{type:`button`,"aria-label":`Copy ${r}`,title:`Copy ${r}`,onClick:()=>void i(e.source),children:(0,_.jsx)(a,{size:15})}):null,(0,_.jsx)(`button`,{type:`button`,"aria-label":`Save snapshot PNG`,title:`Save snapshot PNG`,onClick:()=>void c(),children:(0,_.jsx)(u,{size:15})}),(0,_.jsx)(`button`,{type:`button`,"aria-label":`Close snapshot`,title:`Close snapshot`,onClick:t,children:(0,_.jsx)(o,{size:15})})]}),(0,_.jsx)(`div`,{className:`browser-snapshot-image`,children:(0,_.jsx)(`img`,{src:e.dataUrl,alt:`Snapshot of ${e.selector}`})}),e.source?(0,_.jsxs)(`details`,{children:[(0,_.jsx)(`summary`,{children:r}),(0,_.jsx)(`pre`,{children:e.source})]}):null]})}function x(e,t,n,r){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),u=(0,g.useRef)(0),d=(0,g.useRef)(null),f=(0,g.useCallback)(()=>{u.current++,d.current?.(),d.current=null,a(null)},[]);return(0,g.useEffect)(()=>(s(null),l(null),f),[e,t,n,f]),(0,g.useEffect)(()=>{if(i!==`node`)return;let e=e=>{e.key===`Escape`&&f()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,f]),{busy:i,image:o,error:c,capture:(0,g.useCallback)(async i=>{f();let o=u.current;s(null),l(null),a(i);try{let a=window.openpond?.browser;if(!a)throw Error(`Snapshots are available in the desktop app.`);let c;if(n){let e=r.current;if(!e)throw Error(`Wait for the HTML page to finish loading.`);d.current=()=>e.cancel();let t=await e.capture(i);if(o!==u.current)return;c=await a.captureHtml(t)}else{if(!t)throw Error(`Open a browser page before taking a snapshot.`);let n={conversationId:e,tabId:t};d.current=()=>{a.cancelCapture(n)},c=await a.capturePage({...n,mode:i})}if(o!==u.current)return;c.ok?s(c.image):c.canceled||l(c.error)}catch(e){o===u.current&&!(e instanceof DOMException&&e.name===`AbortError`)&&l(e instanceof Error?e.message:`Snapshot failed.`)}finally{o===u.current&&(a(null),d.current=null)}},[f,e,t,n,r]),cancel:f,close:()=>s(null)}}function S({conversationId:e,expanded:t,onResizeStart:n,connection:r=null,visualTabs:i}){let a=f(e),o=s(),[u,h]=(0,g.useState)({}),S=i?.tabs.find(e=>e.publicationId===i.activeId),C=(0,g.useRef)(null),w=x(e,a.activeTab?.id??null,S?.publicationId??null,C),T=(i?.tabs??[]).map(e=>({id:e.publicationId,url:`${e.output.title}.html`,title:e.output.title,faviconUrl:null,loading:!1,canGoBack:!1,canGoForward:!1,error:null})),E=T.find(e=>e.id===S?.publicationId),D=(0,g.useCallback)(t=>{window.openpond?.browser?.setBounds({conversationId:e,bounds:t})},[e]),O=(0,g.useCallback)(e=>{i?.showBrowser(),a.open(e,{explicitFile:!0}).catch(e=>o?.(e instanceof Error?e.message:`Could not open browser.`,`error`))},[a,i,o]),k=(0,g.useCallback)(()=>{window.confirm(`Clear shared browser data? Cookies, logins, cache, and site storage will be removed for all chats. This chat's browser tabs will also close.`)&&a.clearData()},[a]);return(0,_.jsxs)(`aside`,{className:`workspace-diff-panel browser-sidebar-panel ${t?`expanded`:``} ${w.busy===`node`||w.error?`has-capture-status`:``}`,"aria-label":`Browser`,children:[!t&&(0,_.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize browser panel`,onPointerDown:n}),(0,_.jsx)(p,{activeTabId:S?.publicationId??a.state.activeTabId,tabs:[...a.state.tabs,...T],onCloseTab:e=>{T.some(t=>t.id===e)?i?.close(e):a.closeTab(e)},onNewTab:()=>{i?.showBrowser(),a.newTab()},onSelectTab:e=>{T.some(t=>t.id===e)?i?.select(e):(i?.showBrowser(),a.selectTab(e))}}),(0,_.jsx)(m,{activeTab:E??a.activeTab,documentName:E?.url,available:a.available,snapshotActions:(0,_.jsx)(y,{available:!w.image&&!!(S?window.openpond?.browser?.captureHtml:a.activeTab&&!a.activeTab.loading&&window.openpond?.browser?.capturePage),busy:!!w.busy,onCapture:e=>void w.capture(e),onCancel:w.cancel}),onBack:()=>void a.back(),onClearData:k,onForward:()=>void a.forward(),onNavigate:O,onOpenExternal:()=>void a.openExternal(),onReload:()=>{S?h(e=>({...e,[S.publicationId]:(e[S.publicationId]??0)+1})):a.reload()},onStop:()=>void a.stop()}),w.busy===`node`?(0,_.jsx)(`p`,{className:`browser-snapshot-status`,role:`status`,children:`Hover to highlight an element, then click to capture it. Press Esc to cancel.`}):null,w.error?(0,_.jsx)(c,{error:w.error}):null,(0,_.jsxs)(`div`,{className:`browser-content`,children:[w.image?(0,_.jsx)(b,{image:w.image,onClose:w.close}):null,i?.tabs.map(e=>(0,_.jsx)(`div`,{className:`browser-visual-document`,role:`tabpanel`,"aria-label":e.output.title,hidden:!!w.image||e.publicationId!==S?.publicationId,children:(0,_.jsx)(d,{visual:e,connection:r,expanded:!0,snapshotRef:e.publicationId===S?.publicationId?C:void 0},u[e.publicationId]??0)},e.publicationId)),!S&&!a.available?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Desktop browser bridge unavailable.`})]}):!S&&a.state.tabs.length===0?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Enter a URL to open a browser tab for this conversation.`})]}):null,(0,_.jsx)(v,{active:!w.image&&!S&&a.available&&a.state.tabs.length>0,onBounds:D})]})]})}export{S as BrowserSidebar};
@@ -1,8 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-D7igQSAg.js";import{n as r}from"./create-pipeline-CyUZrbbO.js";import{n as i}from"./api-client-Dgz-fOMl.js";import"./icons-B8_Rkg-l.js";import{t as a}from"./createLucideIcon-CmkSm39S.js";import{D as o,E as s,N as c,O as l,P as u,S as d,T as f,w as p,x as m}from"./training-model-data-CWnu1bz9.js";import{Ut as h}from"./CartesianChart-UU1sdoUO.js";import{t as g}from"./bot-D-eTQib6.js";import{t as _}from"./chevron-down-75im8nFF.js";import{t as v}from"./chevron-up-BD8jg0bQ.js";import{t as y}from"./copy-DRnATDDY.js";import{t as b}from"./external-link-D_nBEDFO.js";import{t as x}from"./folder-open-tD5Lle1M.js";import{t as S}from"./image-CUZMnZYi.js";import{t as C}from"./loader-circle-D_KVxLLz.js";import{t as w}from"./message-square-CrDvzn66.js";import{t as T}from"./play-DYLqBrwg.js";import{t as E}from"./refresh-cw-CzVf5_oo.js";import{t as D}from"./square-terminal-Buj-s-fz.js";import{t as O}from"./x-Bhl-4Zlt.js";import{n as k,r as A}from"./AppToastContext-Dklk6CaG.js";import{n as j,t as M}from"./profile-agent-labels-Duh96b8x.js";import{$t as ee,Bt as te,D as ne,Gt as re,Ht as N,Qt as ie,Rt as ae,T as P,Xt as F,an as I,b as L,bn as R,c as oe,dn as z,dt as se,en as B,fn as V,jt as H,k as ce,ln as le,nn as ue,sn as de,un as fe,ut as pe,w as me,x as U,xn as he,zt as W}from"./App-CNQi3RlI.js";import{t as ge}from"./HtmlVisual-C2WsMj90.js";import{a as _e,i as ve}from"./TasksetDraftEditorPrimitives-BxFEWI9W.js";import{r as ye,t as be}from"./AttachmentTypeIcon-DipNT6Tj.js";import{F as xe,G as Se,I as Ce,K as we,L as Te,P as Ee,R as De,V as G,Y as Oe}from"./MainPane-CqtgV9rU.js";var ke=a(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ae=a(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),je=a(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),K=e(t(),1),q=n();function Me(e,t=!0){let n=He(e);if(n)return n;let r=Ve(),i=``,a=[],o=[],s=[];for(let t of e)!i&&t.label&&(i=t.label),lt(o,t.label),ut(s,t),t.kind===`command`&&t.content?We(r,Ke(t.content)):Ge(r,t)||ct(a,t.label);let c=[...Qe(r),...o,...s],l=r.runCount>0?at(r.runCount):``,u=mt(a),d=(e.length===1&&e[0]?.kind===`command`&&e[0].content&&o.length===0&&s.length===0?Fe(e[0].content,`completed`):null)||st(c,l)||u||i||`Ran command`;return{kind:it(r,l),text:t?Ne(d,e):d}}function Ne(e,t){let n=Pe(t);return n.length?`${e}, started ${n.length===1?`subagent`:`subagents`} ${X(n)}`:e}function Pe(e){return[...new Set(e.flatMap(e=>e.startedAgent&&(e.action!==`openpond_start_agent`||e.state===`completed`)?[e.startedAgent]:[]))]}function Fe(e,t=`completed`){let n=vt(e);if(n.length===0)return null;let r=t===`running`||t===`pending`;if(n[0]===`$OPENPOND_CLI_NODE`&&n[1]===`$OPENPOND_CLI_ENTRY`){if(n.some(bt))return r?`Running OpenPond CLI commands`:`Ran OpenPond CLI commands`;let e=n[3],t=n[2]===`datasets`?{context:`selected dataset`,read:`dataset`,"list-graders":`graders`,"read-grader":`grader`}[e??``]:n[2]===`experiments`&&e===`list`?`experiments`:null;return t?`${r?`Reading`:`Read`} ${t}`:r?`Running OpenPond CLI`:`Ran OpenPond CLI`}if(n.some(bt))return r?`Running shell command`:`Ran shell command`;let i=qe(n);if(!i)return null;let[a,o]=i;if(a===`cat`){let e=Q(o);return e.length===0?r?`Reading standard input`:`Read standard input`:`${r?`Reading`:`Read`} ${$(e)}`}if(a===`sed`)return Be(gt([a,...o]),r);if(a===`rg`)return _t([a,...o],r);if([`grep`,`ag`].includes(a)||a===`git`&&o[0]===`grep`)return r?`Searching code`:`Searched code`;if([`ls`,`find`,`tree`,`fd`].includes(a)){let e=a===`ls`?Q(o):[];return e.length===0?r?`Listing files`:`Listed files`:`${r?`Listing`:`Listed`} files in ${$(e)}`}if([`head`,`tail`,`nl`,`wc`,`awk`,`jq`].includes(a)){let e=Xe(a,o);return e.length===0?r?`Running ${a}`:`Ran ${a}`:`${r?`Reading`:`Read`} ${$(e)}`}if(a===`apply_patch`)return r?`Editing files`:`Edited files`;if(a===`write_stdin`)return r?`Continuing command`:`Continued command`;if(a===`wait`)return r?`Waiting for command`:`Waited for command`;if(a===`js`)return r?`Running JavaScript`:`Ran JavaScript`;if(a===`exec_command`)return r?`Running shell command`:`Ran shell command`;if(a===`read_file`)return r?`Reading file`:`Read file`;if(a===`view_image`)return r?`Viewing image`:`Viewed image`;if(a===`update_plan`)return r?`Updating plan`:`Updated plan`;if(a===`tool_search`)return r?`Searching tools`:`Searched tools`;if(a===`rm`)return r?`Removing files`:`Removed files`;if(a===`mv`)return r?`Moving files`:`Moved files`;if(a===`cp`)return r?`Copying files`:`Copied files`;if(a===`mkdir`)return r?`Creating directories`:`Created directories`;if(a===`touch`)return r?`Creating files`:`Created files`;if(a===`git`)return Ie(o,r);if(ze(a))return Le(a,o,r);if(Ye(a))return Re(a,r);if([`curl`,`wget`].includes(a))return r?`Fetching URL`:`Fetched URL`;if([`node`,`tsx`,`python`,`python3`,`bash`,`sh`,`zsh`].includes(a))return r?`Running ${J(a)} script`:`Ran ${J(a)} script`;let s=J(a);return r?`Running ${s} command`:`Ran ${s} command`}function Ie(e,t){let n=e.find(e=>!e.startsWith(`-`))??``;return n===`status`?t?`Checking Git status`:`Checked Git status`:n===`diff`?t?`Reviewing changes`:`Reviewed changes`:n===`show`||n===`log`?t?`Reading Git history`:`Read Git history`:n===`add`?t?`Staging changes`:`Staged changes`:n===`commit`?t?`Committing changes`:`Committed changes`:n===`push`?t?`Pushing changes`:`Pushed changes`:n===`pull`||n===`fetch`?t?`Fetching changes`:`Fetched changes`:n===`checkout`||n===`switch`?t?`Switching branches`:`Switched branches`:n===`branch`?t?`Listing branches`:`Listed branches`:t?`Running Git command`:`Ran Git command`}function Le(e,t,n){let r=t.join(` `).toLowerCase();return/\b(typecheck|tsc)\b/.test(r)?n?`Checking types`:`Checked types`:/\b(lint|eslint|prettier)\b/.test(r)?n?`Running lint`:`Ran lint`:/\b(test|vitest|jest|playwright)\b/.test(r)?n?`Running tests`:`Ran tests`:/\bbuild\b/.test(r)?n?`Building project`:`Built project`:/\b(install|add)\b/.test(r)?n?`Installing dependencies`:`Installed dependencies`:n?`Running ${J(e)} command`:`Ran ${J(e)} command`}function Re(e,t){return e===`tsc`?t?`Checking types`:`Checked types`:e===`eslint`||e===`prettier`?t?`Running lint`:`Ran lint`:t?`Running tests`:`Ran tests`}function ze(e){return[`bun`,`npm`,`pnpm`,`yarn`].includes(e)}function J(e){let t=e.split(`/`).filter(Boolean).at(-1)??e;return t===`python`||t===`python3`?`Python`:t===`node`||t===`tsx`?`Node`:[`bash`,`sh`,`zsh`].includes(t)?`shell`:t===`git`?`Git`:t}function Be(e,t){return!e||!t?e:e.startsWith(`Read `)?`Reading ${e.slice(5)}`:e.startsWith(`Run `)?`Running ${e.slice(4)}`:e}function Ve(){return{approvals:0,controlCount:0,editCount:0,goalContextUpdates:0,imageCount:0,listedFiles:0,readFileCount:0,readFiles:new Set,reasoningCount:0,runCount:0,searchedCode:0,subagentStatuses:new Map,testsOrChecks:0,turnInterruptions:0,webSearches:0}}function He(e){if(e.length===0)return null;let t=e.map(e=>e.subagentMessage).filter(e=>!!e);if(t.length===0||t.length!==e.length)return null;if(t.length===1){let e=t[0];return{kind:`subagent`,text:`${e.direction===`received`?`Child Message Received`:`Child Message Sent`}: ${e.summary}`}}let n=t.filter(e=>e.direction===`received`).length,r=t.length-n;return{kind:`subagent`,text:Z(X([n>0?Ue(n,`received`):null,r>0?Ue(r,`sent`):null].filter(e=>!!e)))}}function Ue(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function We(e,t){e.editCount+=t.editCount??0,e.listedFiles+=t.listedFiles??0,e.searchedCode+=t.searchedCode??0,e.testsOrChecks+=t.testsOrChecks??0;for(let n of t.readFiles??[])e.readFiles.add(n);t.readFiles?.length&&(e.readFileCount+=t.readFiles.length),t.countedAsRun&&(e.runCount+=1)}function Ge(e,t){let n=t.label.toLowerCase();if(t.controlKind)return e.controlCount+=1,t.controlKind===`goal_context`&&(e.goalContextUpdates+=1),t.controlKind===`turn_aborted`&&(e.turnInterruptions+=1),!0;if(n===`reasoning`)return e.reasoningCount+=1,!0;if(n.includes(`approval`))return e.approvals+=1,!0;if(n.includes(`subagent`))return tt(e,t,r(n)),!0;if(n.includes(`image`))return e.imageCount+=1,!0;function r(e){return e.includes(`failed`)?`failed`:e.includes(`blocked`)?`blocked`:e.includes(`stale`)?`stale`:e.includes(`needs revision`)?`needs revision`:e.includes(`archived`)?`archived`:e.includes(`accepted`)?`accepted`:e.includes(`submitted`)?`submitted`:e.includes(`completed`)?`completed`:`running`}return n.includes(`web`)?(e.webSearches+=1,!0):/\b(searching|searched)\b/.test(n)?(e.searchedCode+=1,!0):/\b(listing|listed)\b/.test(n)?(e.listedFiles+=1,!0):/\b(reading|read)\b/.test(n)?(e.readFileCount+=1,!0):/\b(editing|edited|writing|wrote|deleting|deleted|moving|moved|uploading|uploaded|creating|created)\b/.test(n)?(e.editCount+=1,!0):!1}function Ke(e){let t=vt(e);if(t.length===0||t.some(bt))return{countedAsRun:!0};let n=qe(t);if(!n)return{countedAsRun:!0};let[r,i]=n;if(r===`apply_patch`||[`rm`,`mv`,`cp`,`mkdir`,`touch`].includes(r))return{countedAsRun:!1,editCount:1};if(Je(r,i)||Ye(r))return{countedAsRun:!1,testsOrChecks:1};if(r===`rg`)return i.includes(`--files`)?{countedAsRun:!1,listedFiles:1}:{countedAsRun:!1,searchedCode:1};if([`grep`,`ag`].includes(r)||r===`git`&&i[0]===`grep`)return{countedAsRun:!1,searchedCode:1};if([`ls`,`find`,`tree`,`fd`].includes(r))return{countedAsRun:!1,listedFiles:1};let a=Xe(r,i);return a.length>0?{countedAsRun:!1,readFiles:a}:{countedAsRun:!0}}function qe(e){let t=0;for(;/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e[t]??``);)t+=1;let n=e[t];if(!n)return null;if(n===`bunx`||n===`npx`){let r=e[t+1];return r?[r,e.slice(t+2)]:[n,[]]}return[n,e.slice(t+1)]}function Je(e,t){if(![`bun`,`npm`,`pnpm`,`yarn`].includes(e))return!1;let n=t.join(` `).toLowerCase();return/\b(test|typecheck|check|lint|vitest|jest|playwright|tsc)\b/.test(n)}function Ye(e){return[`eslint`,`jest`,`playwright`,`prettier`,`tsc`,`vitest`].includes(e)}function Xe(e,t){if(e===`cat`||e===`nl`||e===`head`||e===`tail`||e===`wc`)return Ze(Q(t));if(e===`sed`){let e=t.findIndex(e=>e!==`-n`&&!e.startsWith(`--`));return Ze(e>=0?Q(t.slice(e+1)):[])}return e===`awk`||e===`jq`?Ze(Q(t.slice(1))):[]}function Ze(e){return e.filter(e=>!(!e||e===`.`||e===`-`||/^\d+$/.test(e)))}function Qe(e){let t=[],n=et(e);n&&t.push(n),e.editCount>0&&t.push(`made edits`);let r=e.readFiles.size||e.readFileCount;return r>0&&t.push(ot(`read`,r,`file`)),e.searchedCode>0&&t.push(`searched code`),e.listedFiles>0&&t.push(`listed files`),e.testsOrChecks>0&&t.push(e.testsOrChecks===1?`ran checks`:`ran ${e.testsOrChecks} checks`),e.webSearches>0&&t.push(`searched web`),e.imageCount>0&&t.push(ot(`read`,e.imageCount,`image`)),e.reasoningCount>0&&t.length===0&&t.push(`thought through the request`),e.approvals>0&&t.push(`requested approval`),t.push(...$e(e)),t}function $e(e){let t=[];e.goalContextUpdates===1&&t.push(`goal context updated`),e.goalContextUpdates>1&&t.push(`${e.goalContextUpdates} goal context updates`),e.turnInterruptions===1&&t.push(`turn interrupted`),e.turnInterruptions>1&&t.push(`${e.turnInterruptions} turns interrupted`);let n=e.controlCount-e.goalContextUpdates-e.turnInterruptions;return n===1&&t.push(`context updated`),n>1&&t.push(`${n} context updates`),t}function et(e){let t=nt(e);return t.failed>0?Y(t.failed,`failed`):t.blocked>0?Y(t.blocked,`blocked`):t.stale>0?Y(t.stale,`stale`):t[`needs revision`]>0?Y(t[`needs revision`],`needs revision`):t.submitted>0?Y(t.submitted,`submitted`):t.running>0&&t.completed===0&&t.accepted===0?Y(t.running,`running`):t.accepted>0?Y(t.accepted,`accepted`):t.completed>0?Y(t.completed,`completed`):t.archived>0?Y(t.archived,`archived`):null}function tt(e,t,n){let r=t.openSession?.sessionId??(t.content.trim()||t.id),i=e.subagentStatuses.get(r);(!i||rt(n)>rt(i))&&e.subagentStatuses.set(r,n)}function nt(e){let t={accepted:0,archived:0,blocked:0,completed:0,failed:0,"needs revision":0,running:0,stale:0,submitted:0};for(let n of e.subagentStatuses.values())t[n]+=1;return t}function rt(e){return e===`running`?1:e===`submitted`?2:e===`accepted`||e===`completed`||e===`archived`?3:e===`needs revision`?4:e===`blocked`?5:e===`stale`?6:7}function Y(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function it(e,t){let n=[];return e.subagentStatuses.size>0&&n.push(`subagent`),e.editCount>0&&n.push(`edit`),(e.readFiles.size>0||e.readFileCount>0)&&n.push(`read`),e.searchedCode>0&&n.push(`search`),e.listedFiles>0&&n.push(`list`),e.webSearches>0&&n.push(`web`),e.imageCount>0&&n.push(`image`),e.reasoningCount>0&&n.push(`reasoning`),e.approvals>0&&n.push(`approval`),e.controlCount>0&&n.push(`control`),(e.testsOrChecks>0||t)&&n.push(`command`),n[0]??`command`}function at(e){return e===1?`ran a command`:`ran ${e} commands`}function ot(e,t,n){return t===1?`${e} a ${n}`:`${e} ${t} ${n}s`}function st(e,t){return e.length===0?t?Z(t):``:Z(X(t?[...e,t]:e))}function ct(e,t){let n=t.trim();n&&(e.includes(n)||e.push(n))}function lt(e,t){let n=dt(t);n&&!e.includes(n)&&e.push(n)}function ut(e,t){let n=t.receipt;if(!n)return;let r=`${n.status} receipt ${pt(n.id)} ${ft(n.totalUsd)}`;e.includes(r)||e.push(r)}function dt(e){switch(e.trim().toLowerCase()){case`applied locally`:return`applied locally`;case`apply locally failed`:return`apply locally failed`;case`exported sandbox patch`:return`exported patch`;case`patch export failed`:return`patch export failed`;case`preserved sandbox source`:return`preserved sandbox source`;case`preserve failed`:return`preserve failed`;case`stopped sandbox`:return`stopped sandbox`;case`sandbox stop failed`:return`sandbox stop failed`;default:return null}}function ft(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function pt(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function mt(e){return e.length===0?``:Z(X(e.map(ht)))}function ht(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function X(e){return e.length===0?``:e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(`, `)}, and ${e[e.length-1]}`}function Z(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function gt(e){let t=e.findIndex((e,t)=>t>0&&e!==`-n`&&!e.startsWith(`--`)),n=t>=0?e[t]??``:``,r=t>=0?Q(e.slice(t+1)):[],i=/^(\d+)(?:,(\d+))?p$/.exec(n);if(i){let e=i[1],t=i[2],n=t?`lines ${e}-${t}`:`line ${e}`;return r.length>0?`Read ${n} of ${$(r)}`:`Read ${n}`}return r.length>0?`Read ${$(r)} with sed`:`Run sed`}function _t(e,t=!1){let n=e.slice(1);if(n.includes(`--files`)){let e=Q(n.filter(e=>e!==`--files`));return e.length>0?`${t?`Listing`:`Listed`} files matching ${$(e)}`:t?`Listing files`:`Listed files`}let r=Q(n),i=r[0],a=r.slice(1);return i?a.length>0?`${t?`Searching`:`Searched`} for ${St(i)} in ${$(a)}`:`${t?`Searching`:`Searched`} for ${St(i)}`:t?`Searching files`:`Searched files`}function vt(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(e=>yt(e)).filter(Boolean)}function yt(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function bt(e){return[`|`,`&&`,`||`,`;`,`>`,`>>`,`<`,`(`,`)`].includes(e)}function Q(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];r.startsWith(`-`)?xt(r)&&n+1<e.length&&(n+=1):t.push(r)}return t}function xt(e){return[`-e`,`-f`,`-g`,`--glob`,`--type`,`-t`,`--context`,`-C`,`-A`,`-B`,`-m`,`-n`,`-c`].includes(e)}function $(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function St(e){return`"${e}"`}function Ct(e,t,n){return new Set(e.filter(e=>{if(t.has(e.id))return!1;if(n===void 0)return!0;if(typeof e.timestamp!=`string`)return!1;let r=Date.parse(e.timestamp);return Number.isFinite(r)&&r>=n}).map(e=>e.id))}function wt(e){let t=null;for(let n of e){if(typeof n.timestamp!=`string`)continue;let e=Date.parse(n.timestamp);Number.isFinite(e)&&(t=t===null?e:Math.max(t,e))}return t}function Tt(e,t){let n=(0,K.useRef)({scopeKey:t,ids:new Set(e.map(e=>e.id)),initialized:!1,liveCutoff:null}),r=n.current.scopeKey===t,i=r&&n.current.initialized?Ct(e,n.current.ids,n.current.liveCutoff??void 0):new Set;return(0,K.useLayoutEffect)(()=>{let r=n.current,i=r.scopeKey!==t,a=Date.now();n.current={scopeKey:t,ids:new Set(e.map(e=>e.id)),initialized:!i,liveCutoff:i?Math.max(a,wt(e)??0):r.liveCutoff??Math.max(a,wt(e)??0)}},[e,r,t]),i}var Et=new Map,Dt=[200,600,1500];function Ot({connection:e,latestTurnId:t,sessionId:n,turnRunning:r}){let[i,a]=(0,K.useState)(()=>({sessionId:null,summaries:Et}));return(0,K.useEffect)(()=>{if(!e||!n)return;let i=!1,o=null,s=r?null:t,c=e=>{let t=Dt[e];t===void 0||i||(o=setTimeout(()=>void l(e+1),t))},l=async t=>{try{let r=await R.usageTurnCache(e,n);if(i)return;let o=new Map(r.turns.map(e=>[e.turnId,e]));a({sessionId:n,summaries:o}),s&&!o.has(s)&&c(t)}catch{c(t)}};return l(0),()=>{i=!0,o!==null&&clearTimeout(o)}},[e,t,n,r]),i.sessionId===n?i.summaries:Et}function kt(e){let t=[],n=[],r=()=>{if(n.length){if(n.length===1||!n.some(e=>e.message.role===`activity_group`))t.push(...n);else{let e=n[0],r=n.map(e=>e.message).filter(e=>e.role===`activity_group`),i=r.at(-1),a={...e.message,role:`activity_group`,content:void 0,taskMessage:void 0,taskMessagePresentation:void 0,refinerActivity:r.slice().reverse().find(e=>e.refinerActivity)?.refinerActivity,activityMessages:n.map(e=>e.message),activities:r.flatMap(e=>e.activities??[]),traceStartedAt:r[0]?.traceStartedAt,traceCompletedAt:i.traceCompletedAt,traceState:r.some(e=>e.traceState===`failed`)?`failed`:r.some(e=>e.traceState===`running`)?`running`:i.traceState};t.push({...e,message:a,showFooter:!1})}n=[]}};for(let i of e){let e=i.message;e.role===`activity_group`&&!e.deliverables?.length&&!e.userQuestion?n.push(i):(r(),t.push(i))}return r(),t}function At({notification:e,onOpenFile:t}){let n=e.status===`completed`?`Background task completed`:e.status===`failed`?`Background task failed`:`Background task stopped`;return(0,q.jsxs)(`article`,{className:`native-task-notification ${e.status}`,"aria-label":n,children:[(0,q.jsxs)(`header`,{children:[e.status===`completed`?(0,q.jsx)(z,{size:14}):(0,q.jsx)(le,{size:14}),(0,q.jsx)(`strong`,{children:n})]}),(0,q.jsx)(`p`,{children:e.summary}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Task details`}),(0,q.jsx)(`code`,{children:e.taskId}),e.outputFile?(0,q.jsx)(`div`,{children:t?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>t(e.outputFile),children:[(0,q.jsx)(D,{size:13}),`Open output`]}):(0,q.jsx)(`code`,{children:e.outputFile})}):null]})]})}function jt({name:e,version:t,summary:n,primary:r,actions:i=[],children:a}){let[o,s]=(0,K.useState)(!1),c=[r,...i];return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`header`,{className:`chat-resource-toolbar`,children:[(0,q.jsx)(`strong`,{title:e,children:e}),(0,q.jsxs)(`span`,{className:`chat-resource-version`,children:[`V`,t]}),(0,q.jsx)(`span`,{className:`chat-resource-toolbar-summary`,title:n,children:n}),(0,q.jsx)(`button`,{type:`button`,className:`chat-resource-toolbar-primary`,disabled:r.disabled,"aria-expanded":r.expanded,"aria-controls":r.controls,onClick:r.run,children:r.label}),i.length||a?(0,q.jsx)(ae,{compact:!0,floating:!0,placement:`bottom`,floatingMenuWidth:220,label:`Actions for ${e}`,value:``,triggerContent:(0,q.jsx)(Ae,{size:15}),options:[...c.map((e,t)=>({value:String(t),label:e.label,disabled:e.disabled})),...a?[{value:`details`,label:o?`Hide details`:`Details`,separatorBefore:!0}]:[]],onChange:e=>{e===`details`?s(e=>!e):c[Number(e)]?.run()}}):null]}),o&&a?(0,q.jsx)(`div`,{className:`chat-resource-details`,children:a}):null]})}function Mt({initial:e,connection:t,context:n}){let[r,i]=(0,K.useState)(e),[a,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(!1),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(0),[_,v]=(0,K.useState)(null),[y,b]=(0,K.useState)([]),[x,S]=(0,K.useState)(null);(0,K.useEffect)(()=>i(e),[e]);async function C(e,a={}){if(!t||!r.datasetId||!r.graderId)throw Error(`The saved grader reference is unavailable.`);let s=await W(t,`dataset`,{action:e,id:r.datasetId,expectedRevision:r.datasetRevision,payload:{graderId:r.graderId,...a},context:n});return i(s.summary),o(s),s}async function w(e){if(!d){f(!0),m(null);try{await e()}catch(e){m(e instanceof Error?e.message:`Grader action failed.`)}finally{f(!1)}}}async function T(){let e=await C(`read_grader`);v(e.grader),b(e.record.workspace.draft.graderFixtures),u(!0),c(!0)}let E=s&&a?a.record.workspace.draft.graderFixtures.filter(e=>!Array.isArray(e.metadata.graderIds)||e.metadata.graderIds.includes(r.graderId)).map(e=>({id:e.id,label:e.label,detail:JSON.stringify(e.output)})):r.rows,D=a?.record.checks.find(e=>e.kind===`graders`);return(0,q.jsxs)(`section`,{className:`chat-resource-summary ${s?``:`compact`}`,"aria-label":`grader: ${r.name}`,children:[(0,q.jsx)(jt,{name:r.name,version:r.revision,summary:r.checkState??r.state,primary:{label:`Test grader`,disabled:!t||d,run:()=>void w(async()=>{await C(`test_grader`),c(!0)})},actions:[{label:s?`Collapse`:`View examples`,disabled:!t||d,run:()=>void w(async()=>{s||await C(`read_grader`),c(!s)})},{label:`Edit`,disabled:!t||d,run:()=>void w(T)}],children:(0,q.jsxs)(`dl`,{children:[(0,q.jsx)(`dt`,{children:`Type`}),(0,q.jsx)(`dd`,{children:r.graderType}),(0,q.jsx)(`dt`,{children:`Dataset version`}),(0,q.jsxs)(`dd`,{children:[`V`,r.datasetRevision]}),(0,q.jsx)(`dt`,{children:`Checks`}),(0,q.jsx)(`dd`,{children:r.description})]})}),s&&(0,q.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${s?`expanded`:``}`,tabIndex:0,"aria-label":`Grader examples`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Example`}),(0,q.jsx)(`th`,{children:`Output`})]})}),(0,q.jsx)(`tbody`,{children:E.length?E.slice(h*5,h*5+5).map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{title:e.label,children:e.label}),(0,q.jsx)(`td`,{title:e.detail,children:e.detail})]},e.id)):(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:2,children:`No saved examples. Add known-good and known-bad outputs before testing.`})})})]})}),s&&E.length>5&&(0,q.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:h===0,onClick:()=>g(e=>e-1),children:`Previous`}),(0,q.jsxs)(`span`,{children:[h+1,`/`,Math.ceil(E.length/5)]}),(0,q.jsx)(`button`,{type:`button`,disabled:(h+1)*5>=E.length,onClick:()=>g(e=>e+1),children:`Show more`})]}),s&&D&&(0,q.jsx)(`div`,{className:`chat-resource-checks`,children:D.issues.filter(e=>!e.graderId||e.graderId===r.graderId).map((e,t)=>(0,q.jsx)(`p`,{children:e.message},t))}),l&&_&&(0,q.jsxs)(`div`,{className:`chat-resource-grader-editor`,children:[(0,q.jsx)(`p`,{children:`Save a new Dataset revision. Earlier examples and Experiment inputs stay pinned to their saved version.`}),(0,q.jsx)(_e,{label:`Grader definition`,value:_,disabled:d,onChange:e=>{v(e),S(null)}}),(0,q.jsx)(ve,{label:`Saved calibration examples`,value:y,disabled:d,onChange:e=>{b(e),S(null)}}),(0,q.jsxs)(`div`,{className:`chat-resource-actions`,children:[(0,q.jsx)(`button`,{className:`training-button`,disabled:d,onClick:()=>void w(async()=>{let e=x??crypto.randomUUID();S(e);let a=await W(t,`dataset`,{action:`save_grader`,id:r.datasetId,expectedRevision:r.datasetRevision,operationId:e,payload:{grader:{..._,id:r.graderId},fixtures:y},context:n}),s=a.record.workspace.draft.graders.find(e=>e.id===r.graderId);if(!s)throw Error(`The original grader was removed; inspect the saved Dataset.`);let c=await W(t,`dataset`,{action:`read_grader`,id:r.datasetId,expectedRevision:a.record.workspace.draft.revision,payload:{graderId:s.id}});i(c.summary),o(c),u(!1),S(null)}),children:`Save revision`}),(0,q.jsx)(`button`,{className:`training-button secondary`,disabled:d,onClick:()=>u(!1),children:`Close editor`})]})]}),p&&(0,q.jsx)(te,{error:p})]})}function Nt(e){return e.initial.kind===`grader`?(0,q.jsx)(Mt,{...e}):(0,q.jsx)(Pt,{...e})}function Pt({initial:e,connection:t,context:n}){let[r,i]=(0,K.useState)(e),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(0),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(!1),[_,v]=(0,K.useState)([]),[y,b]=(0,K.useState)(``),[x,S]=(0,K.useState)([]),[C,w]=(0,K.useState)(``),[T,E]=(0,K.useState)(`10`),[D,O]=(0,K.useState)([]),[k,A]=(0,K.useState)(e.location??`local`),[j,M]=(0,K.useState)(null),[ee,ne]=(0,K.useState)(!0),re=[...new Set([...x,...y?[y]:[]])],N=k===`local`&&!ee&&re.length>0&&re.every(e=>e.startsWith(`codex/`)),[ie]=(0,K.useState)(()=>crypto.randomUUID());(0,K.useEffect)(()=>i(e),[e]);let P=[`Creating`,`Importing`,`Failed`,`Cancelled`].includes(r.state)&&r.kind===`dataset`;(0,K.useEffect)(()=>{if(!t||P||r.kind===`experiment`&&![`queued`,`running`,`cancelling`].includes(r.state))return;let e=new AbortController,n,a=async()=>{try{let n=r.kind===`dataset`?await W(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision},e.signal):await W(t,`experiment`,{action:`status`,payload:{id:r.id}},e.signal);e.signal.aborted||(i(e=>({...n.summary,datasetId:e.datasetId,datasetRevision:e.datasetRevision})),m(`record`in n?n:n.view),f(null))}catch(t){e.signal.aborted||f(t instanceof Error?t.message:`Status unavailable.`)}e.signal.aborted||(n=setTimeout(()=>void a(),r.kind===`dataset`?1e4:2e3))};return a(),()=>{e.abort(),clearTimeout(n)}},[t,r.id,r.kind,r.state,r.revision,P]);async function F(e){if(!l&&t){u(!0),f(null);try{await e()}catch(e){f(e instanceof Error?e.message:`Resource action failed.`)}finally{u(!1)}}}async function I(e,a={}){let o=await W(t,`dataset`,{action:e,id:r.id,expectedRevision:r.revision,payload:a,context:n});i(o.summary),m(o)}async function L(){if(a)o(!1);else{if(r.kind===`dataset`){let e=await W(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision});m(e)}else{let e=await W(t,`experiment`,{action:`result`,payload:{id:r.id}});m(e.view)}c(0),o(!0)}}async function R(){let e=r.kind===`dataset`?r.id:r.datasetId,n=r.kind===`dataset`?r.revision:r.datasetRevision;if(!e||!n)throw Error(`The saved Dataset pin is unavailable.`);let[i,a]=await Promise.all([W(t,`experiment`,{action:`models`}),W(t,`dataset`,{action:`read`,id:e,expectedRevision:n})]);ne(a.record.workspace.draft.graders.some(e=>e.kind===`model_judge`)),v(i.models),S([]),b(``),g(!0),i.models.length===1&&b(`${i.models[0].providerId}/${i.models[0].id}`)}async function oe(){let e=[...new Set([...x,...y?[y]:[]])].map(e=>_.find(t=>`${t.providerId}/${t.id}`===e)),i=Number(C),a=Number(T);if(k===`cloud`&&e.some(e=>e?.providerId!==`openpond`))throw Error(`Cloud execution requires available OpenPond models.`);if(!e.length||e.length>8||e.some(e=>!e)||!N&&(!Number.isFinite(i)||i<=0)||!Number.isSafeInteger(a)||a<1||a>100)throw Error(`Select a model, a task count from 1 to 100, and a positive total budget for metered calls.`);let o=j??crypto.randomUUID();M(o);let s=r.kind===`dataset`?r.id:r.datasetId,c=r.kind===`dataset`?r.revision:r.datasetRevision;if(!s||!c)throw Error(`This Experiment does not have an installation-local Dataset pin.`);let l=await W(t,`experiment`,{action:k===`cloud`?`run_cloud`:`run`,context:n,payload:{datasetId:s,revision:c,operationId:o,...N?{}:{maximumCostUsd:i},taskLimit:a,models:e.map(e=>({providerId:e.providerId,modelId:e.id}))}});n||O(l.summaries),g(!1),M(null)}let z=a&&p?`record`in p?p.record.workspace.draft.tasks.map(e=>({id:e.id,label:typeof e.input.prompt==`string`?e.input.prompt:typeof e.input.request==`string`?e.input.request:JSON.stringify(e.input),detail:p.record.workspace.draft.graders.map(e=>e.label).join(`, `),score:void 0})):p.cases.map(e=>({id:e.id,label:e.taskId,detail:e.error??e.output??e.status,score:e.score})):r.rows,se={label:a?`Collapse`:r.kind===`dataset`?`View rows`:`View results`,disabled:l||!t||P,run:()=>void F(L)},B=[],V=(e,n,r=!1)=>B.push({label:e,run:()=>void F(n),disabled:l||!t||r});r.kind===`dataset`?(V(`Run experiment`,R,P),V(`Check graders`,()=>I(`check_graders`),P),!P&&r.syncState!==`Synced`&&r.syncState!==`Paused`&&V(r.syncState===`Local`?`Upload to cloud`:`Retry sync`,()=>I(r.syncState===`Local`?`upload`:`sync`)),a&&!P&&r.syncState!==`Local`&&(V(r.syncState===`Paused`?`Resume sync`:`Pause sync`,()=>I(`pause_sync`,{paused:r.syncState!==`Paused`})),V(`Disconnect cloud`,()=>I(`disconnect_sync`)))):[`queued`,`running`,`cancelling`].includes(r.state)?V(`Cancel experiment`,async()=>{let e=await W(t,`experiment`,{action:`cancel`,payload:{id:r.id}});i(t=>({...e.summary,datasetId:t.datasetId,datasetRevision:t.datasetRevision}))}):(!r.owner&&!r.profileRef&&V(`Run again`,R,!r.datasetId),V(`HTML charts`,async()=>{await W(t,`experiment`,{action:`charts`,context:n,payload:{ids:[r.id],operationId:ie}})},!n));let H=r.score==null?``:`${Number((r.score*100).toFixed(1))}%`,ce=r.kind===`dataset`?`${r.taskCount??0} example${r.taskCount===1?``:`s`} · ${r.graderCount??0} grader${r.graderCount===1?``:`s`}`:`${r.evaluatedCount??0}/${r.taskCount??0} graded${H?` · ${H}`:``}`;return(0,q.jsxs)(`section`,{className:`chat-resource-summary ${a?``:`compact`}`,"aria-label":`${r.kind}: ${r.name}`,children:[(0,q.jsx)(jt,{name:r.name,version:r.revision,summary:ce,primary:se,actions:B,children:(0,q.jsxs)(`dl`,{children:[(0,q.jsx)(`dt`,{children:`Status`}),(0,q.jsx)(`dd`,{children:r.state}),r.kind===`dataset`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`Storage`}),(0,q.jsx)(`dd`,{children:r.syncState??`Local`}),(0,q.jsx)(`dt`,{children:`Grader checks`}),(0,q.jsx)(`dd`,{children:r.checkState??`Not checked`})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`Model`}),(0,q.jsx)(`dd`,{children:r.model??`Unavailable`}),(0,q.jsx)(`dt`,{children:`Location`}),(0,q.jsx)(`dd`,{children:r.location??`local`}),(0,q.jsx)(`dt`,{children:r.scoreLabel??`Mean task score`}),(0,q.jsx)(`dd`,{children:H||`Unavailable`}),(0,q.jsx)(`dt`,{children:`Cost`}),(0,q.jsx)(`dd`,{children:r.costUsd==null?`Unavailable`:`$${r.costUsd.toFixed(4)}`}),(0,q.jsx)(`dt`,{children:`Quality failures`}),(0,q.jsx)(`dd`,{children:r.qualityFailureCount??`Unavailable`}),(0,q.jsx)(`dt`,{children:`Execution failures`}),(0,q.jsx)(`dd`,{children:r.executionFailureCount??`Unavailable`}),(0,q.jsx)(`dt`,{children:`Ungraded`}),(0,q.jsx)(`dd`,{children:r.ungradedCount??`Unavailable`})]})]})}),a&&(0,q.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${a?`expanded`:``}`,tabIndex:0,"aria-label":`Resource rows`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:r.kind===`dataset`?`Task`:`Case`}),(0,q.jsx)(`th`,{children:r.kind===`dataset`?`Graders`:`Outcome`}),r.kind===`experiment`&&(0,q.jsx)(`th`,{children:`Score`})]})}),(0,q.jsx)(`tbody`,{children:z.length?z.slice(s*5,s*5+5).map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{title:e.label,children:e.label}),(0,q.jsx)(`td`,{title:e.detail,children:e.detail}),r.kind===`experiment`&&(0,q.jsx)(`td`,{children:e.score==null?`Unavailable`:`${(e.score*100).toFixed(1)}%`})]},e.id)):(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:r.kind===`experiment`?3:2,children:[`Creating`,`Importing`].includes(r.state)?`Waiting for saved tasks…`:`No saved rows to show.`})})})]})}),a&&z.length>5&&(0,q.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:s===0,onClick:()=>c(e=>e-1),children:`Previous`}),(0,q.jsxs)(`span`,{children:[s+1,`/`,Math.ceil(z.length/5)]}),(0,q.jsx)(`button`,{type:`button`,disabled:(s+1)*5>=z.length,onClick:()=>c(e=>e+1),children:`Show more`})]}),h&&(0,q.jsxs)(`div`,{className:`chat-resource-run-setup`,children:[(0,q.jsxs)(`p`,{children:[`Run the saved Dataset, version `,r.kind===`dataset`?r.revision:r.datasetRevision,`. The total budget includes model calls and grading.`,k===`cloud`?` Cloud execution publishes this exact revision and enables Dataset sync.`:``]}),(0,q.jsx)(ae,{label:`Execution location`,value:k,options:[{value:`local`,label:`Local`},{value:`cloud`,label:`Cloud`,description:`Publish this saved version and run in the linked workspace`}],onChange:e=>{A(e),S([]),b(``),M(null)},disabled:l}),(0,q.jsx)(ae,{label:`Evaluated model`,value:y,options:[{value:``,label:`Select model`},..._.filter(e=>k===`local`||e.providerId===`openpond`).map(e=>({value:`${e.providerId}/${e.id}`,label:e.name,description:e.providerId}))],onChange:e=>{b(e),M(null)},disabled:l}),(0,q.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:l||!y||x.includes(y)||x.length>=8,onClick:()=>{S([...x,y]),b(``),M(null)},children:`Add model`}),x.length>0&&(0,q.jsxs)(`table`,{className:`training-data-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Selected model`}),(0,q.jsx)(`th`,{children:`Actions`})]})}),(0,q.jsx)(`tbody`,{children:x.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:_.find(t=>`${t.providerId}/${t.id}`===e)?.name??e}),(0,q.jsx)(`td`,{children:(0,q.jsx)(`button`,{type:`button`,className:`training-text-button`,disabled:l,onClick:()=>{S(x.filter(t=>t!==e)),M(null)},children:`Remove`})})]},e))})]}),!_.length&&(0,q.jsx)(`p`,{children:`Sign in to Codex or configure a supported local inference endpoint, a priced OpenPond model, or Claude API provider in Settings before running.`}),N?(0,q.jsx)(`p`,{children:`Uses your signed-in Codex account with Lite reasoning. No dollar budget is required. Token usage is retained; dollar cost is unavailable.`}):(0,q.jsxs)(`label`,{children:[`Total budget (USD)`,(0,q.jsx)(`input`,{type:`number`,min:`0.000001`,step:`any`,value:C,onChange:e=>{w(e.target.value),M(null)},disabled:l})]}),(0,q.jsxs)(`label`,{children:[`Maximum tasks`,(0,q.jsx)(`input`,{type:`number`,min:`1`,max:`100`,value:T,onChange:e=>{E(e.target.value),M(null)},disabled:l})]}),(0,q.jsx)(`button`,{type:`button`,className:`training-button`,disabled:l||!x.length&&!y||!N&&!C,onClick:()=>void F(oe),children:k===`cloud`?`Run in cloud`:`Run experiment`}),(0,q.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:l,onClick:()=>g(!1),children:`Close`})]}),d&&(0,q.jsx)(te,{error:d}),D.map(e=>(0,q.jsx)(Nt,{initial:e,connection:t},e.id))]})}function Ft({resources:e,connection:t,context:n}){let[r,i]=(0,K.useState)(!1),a=(0,K.useId)(),o=e.find(e=>e.kind===`dataset`),s=o&&e.length>1&&e.every(e=>e===o||e.kind===`grader`&&e.datasetId===o.id&&e.datasetRevision===o.revision&&JSON.stringify(e.owner??null)===JSON.stringify(o.owner??null)&&JSON.stringify(e.profileRef??null)===JSON.stringify(o.profileRef??null)),c=e.map(e=>(0,q.jsx)(Nt,{initial:e,connection:t,context:n},`${e.kind}:${e.id}`));if(!s||!o)return(0,q.jsx)(q.Fragment,{children:c});let l=e.length-1;return(0,q.jsxs)(`section`,{className:`chat-resource-summary compact`,"aria-label":`Resources for ${o.name}`,children:[(0,q.jsx)(jt,{name:o.name,version:o.revision,summary:`${l} grader${l===1?``:`s`}`,primary:{label:r?`Close`:`Inspect`,expanded:r,controls:a,run:()=>i(e=>!e)}}),r?(0,q.jsx)(`div`,{id:a,className:`chat-resource-group-details`,children:c}):null]})}var It=`<openpond_trusted_runtime_context>`,Lt=`</openpond_trusted_runtime_context>`;function Rt(e){let t=e.trimStart();if(!t.startsWith(It))return e;let n=t.indexOf(Lt,34);if(n===-1)return``;let r=t.slice(n+35).trim();if(!r.startsWith(`<user_request>`))return r;let i=r.slice(14);return(i.endsWith(`</user_request>`)?i.slice(0,-15):i).trim()}function zt({content:e,timestamp:t,kvCacheSummary:n}){let r=(0,K.useRef)(null),i=(0,K.useRef)(0),[a,o]=(0,K.useState)(!1),[s,l]=(0,K.useState)(null);A(s),(0,K.useEffect)(()=>{let e=r.current?.closest(`.message-row, .ponder-transcript-message`),t=()=>{i.current++,o(!1)},n=n=>{e?.contains(n.relatedTarget)||t()};return t(),e?.addEventListener(`pointerleave`,t),e?.addEventListener(`focusout`,n),window.addEventListener(`scroll`,t,!0),()=>{i.current++,e?.removeEventListener(`pointerleave`,t),e?.removeEventListener(`focusout`,n),window.removeEventListener(`scroll`,t,!0)}},[e]);async function u(){if(!e)return;let t=++i.current;l(null);let n=await c(e);t===i.current&&(o(n),n||l(Error(`Could not copy the message. Try again.`)))}let d=n?.cacheHitRate,f=typeof d==`number`&&Number.isFinite(d)&&d>=0&&d<=1?Math.round(d*100):0,p=f>0?`${f}%`:null;return(0,q.jsxs)(`div`,{className:`assistant-message-footer`,ref:r,children:[(0,q.jsx)(Bt,{timestamp:t}),p?(0,q.jsxs)(`span`,{className:`message-kv-cache-metric`,"aria-label":`KV cache reuse ${p}`,children:[`KV `,p]}):null,(0,q.jsx)(`button`,{type:`button`,className:`message-copy-button${a?` is-copied`:``}`,title:a?`Copied`:`Copy message`,"aria-label":a?`Message copied`:`Copy assistant message`,disabled:!e,onClick:()=>void u(),children:a?(0,q.jsx)(z,{size:14}):(0,q.jsx)(y,{size:14})})]})}function Bt({timestamp:e}){let t=me(e);return t?(0,q.jsx)(`time`,{className:`message-timestamp`,dateTime:e,title:P(e),children:t}):null}function Vt({peer:e,connection:t,onOpenSession:n,onOpenPonder:r,showIcon:a=!1}){let[o,s]=(0,K.useState)(null),c=(0,K.useRef)(0);(0,K.useEffect)(()=>(c.current++,()=>{c.current++}),[t,e.sessionId,e.bindingId]);async function l(){if(!t||!r)return;let n=c.current;try{if(!e.ponderScope)throw Error(`This message has no verified Pal source.`);await De(t,e.ponderScope);let a=await i(t,`/v1/ponder`,{method:`POST`,body:`{}`});if(n!==c.current)return;if(a.bindingId!==e.bindingId)throw Error(`This task's original Pal conversation is no longer active.`);s(null),r()}catch(e){n===c.current&&s(e instanceof Error?e.message:String(e))}}let u=e.kind===`ponder`?!!(r&&t):!!(n&&e.sessionId),d=(0,q.jsxs)(q.Fragment,{children:[a?(0,q.jsx)(H,{session:{provider:e.provider}}):null,(0,q.jsx)(`span`,{className:`task-message-conversation-name`,children:e.title})]});return(0,q.jsxs)(q.Fragment,{children:[u?(0,q.jsx)(`button`,{type:`button`,className:`task-message-conversation`,title:e.title,onClick:()=>e.kind===`ponder`?void l():n?.(e.sessionId),children:d}):(0,q.jsx)(`span`,{className:`task-message-direction`,children:d}),o?(0,q.jsx)(te,{error:o}):null]})}function Ht({message:e,onOpenSession:t,onOpenPonder:n,connection:r}){let[i,a]=(0,K.useState)(!1),o=(0,K.useId)(),s=e.taskMessage??e.taskMessagePresentation;if(!s)return null;let{input:c,direction:l,peer:u}=s,d=c.error?c.error:{pending:`Queued`,included:`Included in agent request`,resolved:`Delivered to agent`,rejected:`Not delivered`,cancelled:`Cancelled`}[c.state],f=c.state===`rejected`,p=c.state===`resolved`?z:f?le:c.state===`cancelled`?O:C;return(0,q.jsxs)(`article`,{className:`activity-tool-row task-message-row`,children:[(0,q.jsxs)(`div`,{className:`task-message-summary-row`,children:[(0,q.jsxs)(G,{className:`activity-tool-summary`,danger:f,icon:(0,q.jsx)(w,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}),children:[(0,q.jsx)(`span`,{children:l===`sent`?`Sent to`:`Received from`}),` `,(0,q.jsx)(Vt,{peer:u,connection:r,onOpenSession:t,onOpenPonder:n}),(0,q.jsx)(`span`,{className:`task-message-state`,role:`img`,"aria-label":d,title:d,children:(0,q.jsx)(p,{"aria-hidden":!0,size:12})})]}),(0,q.jsx)(`button`,{type:`button`,className:`activity-summary activity-tool-summary`,"aria-controls":o,"aria-expanded":i,"aria-label":`${l===`sent`?`Sent to`:`Received from`} ${u.title}: message details`,onClick:()=>a(e=>!e),children:(0,q.jsx)(_,{"aria-hidden":!0,className:`activity-summary-toggle ${i?`expanded`:``}`,size:14})})]}),i?(0,q.jsx)(`div`,{className:`activity-tool-details`,id:o,children:(0,q.jsx)(`pre`,{className:`activity-detail-output`,children:c.body})}):null]})}function Ut({content:e}){let[t,n]=(0,K.useState)(!1),[r,i]=(0,K.useState)(!1),a=(0,K.useRef)(null),o=(0,K.useId)();return(0,K.useEffect)(()=>{let e=a.current;if(!e)return;let t=()=>{let t=Number.parseFloat(getComputedStyle(e).lineHeight);i(e.scrollHeight>Math.ceil(t*5)+1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e,t]),(0,q.jsxs)(`div`,{className:`user-message-content-wrap`,children:[(0,q.jsx)(`div`,{ref:a,id:o,className:`user-message-content ${t?``:`collapsed`}`,children:e}),r?(0,q.jsxs)(`button`,{type:`button`,className:`user-message-show-more`,"aria-expanded":t,"aria-controls":o,onClick:()=>n(e=>!e),children:[t?(0,q.jsx)(v,{size:14}):(0,q.jsx)(_,{size:14}),(0,q.jsx)(`span`,{children:t?`Show less`:`Show more`})]}):null]})}var Wt=64,Gt=120,Kt=210,qt=360,Jt=40,Yt=120,Xt=600,Zt=100,Qt=33,$t=new Set,en=!1;function tn(e,t,n=0){if(e<=0)return{characterCount:0,remainder:0};let r=n+Math.min(Math.max(t,0),Zt)*(e>Xt?qt:e>Yt?Kt:e>Jt?Gt:Wt)/1e3,i=Math.min(e,Math.floor(r));return{characterCount:i,remainder:r-i}}function nn(e,t,n){let r=Math.min(t.length,e.length+n),i=t.charCodeAt(r-1),a=t.charCodeAt(r);return i>=55296&&i<=56319&&a>=56320&&a<=57343&&(r+=1),t.slice(0,r)}function rn(){return typeof window<`u`&&typeof window.matchMedia==`function`&&typeof document<`u`&&document.visibilityState===`visible`&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function an(e,t,n){return t&&n?nn(``,e,1):e}function on(e,t=!1){let[n,r]=(0,K.useState)(()=>an(e,t,rn())),i=(0,K.useRef)(n),a=(0,K.useRef)(e),o=(0,K.useRef)(null),s=(0,K.useRef)(null),c=(0,K.useRef)(0),l=(0,K.useRef)(!0);return(0,K.useEffect)(()=>(l.current=!0,()=>{l.current=!1,o.current!==null&&(window.clearTimeout(o.current),o.current=null)}),[]),(0,K.useEffect)(()=>{if(a.current=e,!rn()||!e.startsWith(i.current)){o.current!==null&&(window.clearTimeout(o.current),o.current=null),s.current=null,c.current=0,i.current=e,l.current&&r(e);return}if(i.current.length===e.length||o.current!==null)return;let t=()=>{if(!l.current){o.current=null;return}let e=i.current,n=a.current,u=performance.now();if(!n.startsWith(e)){i.current=n,r(n),o.current=null,s.current=null,c.current=0;return}let d=n.length-e.length;if(d===0){o.current=null,s.current=null,c.current=0;return}let f=tn(d,s.current===null?16:u-s.current,c.current);if(s.current=u,c.current=f.remainder,f.characterCount>0){let t=nn(e,n,f.characterCount);i.current=t,r(t)}o.current=window.setTimeout(t,Qt)};return o.current=window.setTimeout(t,Qt),()=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},[e]),(0,K.useEffect)(()=>{let e=sn(()=>{document.visibilityState!==`visible`&&(o.current!==null&&(window.clearTimeout(o.current),o.current=null),s.current=null,c.current=0,i.current=a.current,l.current&&r(a.current))});return()=>{e(),o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},[]),n}function sn(e){return $t.add(e),en||=(document.addEventListener(`visibilitychange`,cn),!0),()=>{$t.delete(e),$t.size===0&&en&&(document.removeEventListener(`visibilitychange`,cn),en=!1)}}function cn(){for(let e of $t)e()}function ln({visibleContent:e,content:t,...n}){let r=p(e,e.length===t.length),i=un(r,e.length===t.length);return(0,q.jsx)(m,{...n,content:r,finalizedContent:i.finalized,mutableContent:i.mutable})}function un(e,t){if(t||!e)return{finalized:e,mutable:``};let n=e.split(`
2
- `),r=!1,i=null,a=0,o=0;for(let e=0;e<n.length-1;e+=1){let t=n[e]??``,s=t.trim();!i&&/^\s*```/.test(t)&&(r=!r),r||(i&&s.endsWith(i)?i=null:!i&&s.startsWith(`\\[`)&&!s.endsWith(`\\]`)?i=`\\]`:!i&&s.startsWith(`$$`)&&s.indexOf(`$$`,2)<0&&(i=`$$`)),a+=t.length+1,!r&&!i&&s===``&&(o=a)}return{finalized:e.slice(0,o),mutable:e.slice(o)}}function dn({content:e=``,reasoningContent:t=``,animateInitialContent:n,children:r,footer:i,...a}){let o=on(e,n),s=on(t,n),c=o===e&&s===t;return(0,q.jsxs)(q.Fragment,{children:[t?(0,q.jsx)(`div`,{className:`assistant-message`,children:(0,q.jsx)(ln,{...a,content:t,visibleContent:s})}):null,e?(0,q.jsx)(`div`,{className:`assistant-message`,children:(0,q.jsx)(ln,{...a,content:e,visibleContent:o})}):null,r,c?i:null]})}function fn({actionRun:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r=null}){let i=_n(e.status),a=vn(e);return(0,q.jsxs)(`div`,{className:`action-run-card ${e.status}`,children:[(0,q.jsxs)(`div`,{className:`action-run-header`,children:[(0,q.jsx)(`span`,{className:`action-run-status`,title:e.status,children:(0,q.jsx)(i,{size:15})}),(0,q.jsxs)(`div`,{className:`action-run-title`,children:[(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(`span`,{children:e.actionName})]})]}),a.length>0&&(0,q.jsx)(`div`,{className:`action-run-meta`,"aria-label":`Action run metadata`,children:a.map(e=>(0,q.jsxs)(`span`,{className:`action-run-chip`,children:[e.icon,(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`code`,{children:e.value})]},e.label))}),e.responseText&&(0,q.jsx)(`p`,{className:`action-run-response`,children:e.responseText}),e.refs.length>0&&(0,q.jsx)(`div`,{className:`action-run-ref-list`,"aria-label":`Action run references`,children:e.refs.slice(0,8).map(e=>(0,q.jsx)(gn,{refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r},e.id))}),e.childCalls.length>0&&(0,q.jsx)(`div`,{className:`action-run-child-list`,"aria-label":`Child implementation calls`,children:e.childCalls.map(e=>(0,q.jsxs)(`div`,{className:`action-run-child ${e.status}`,children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`small`,{children:e.status}),e.detail&&(0,q.jsx)(`code`,{children:e.detail})]},e.id))})]})}function pn(e){return e.implementationType===`openpond-profile-action`}function mn(e){let t=e.agentName??e.agentId;return e.actionName.endsWith(`.chat`)?j({actionId:e.actionName,label:e.title,name:t}):t?j({actionId:e.actionName,name:t}):e.title&&!M(e.title)?j({actionId:e.actionName,label:e.title}):j({actionId:e.actionName})}function hn(e){return e.status===`failed`?`${e.title} failed.`:e.status===`completed`?`${e.title} completed.`:e.status===`pending`?`${e.title} is pending.`:`${e.title} is running...`}function gn({refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r}){let i=n?l(e.target,{workspaceRootPath:r}):null,a=yn(e.target)&&t,o=!!(i&&n);return(0,q.jsxs)(`div`,{className:`action-run-ref ${e.kind}`,children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`code`,{children:e.target}),a&&(0,q.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>t(e.target,{newTab:!0}),children:(0,q.jsx)(h,{size:13})}),o&&(0,q.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>{i&&n&&n(i.path)},children:(0,q.jsx)(h,{size:13})})]})}function _n(e){return e===`completed`?fe:e===`failed`?je:Oe}function vn(e){let t=[];return e.implementationType&&t.push({label:`Type`,value:e.implementationType,icon:(0,q.jsx)(u,{size:12})}),e.runId&&t.push({label:`Run`,value:e.runId,icon:(0,q.jsx)(I,{size:12})}),e.sandboxId&&t.push({label:`Sandbox`,value:e.sandboxId,icon:(0,q.jsx)(I,{size:12})}),e.sourceRef&&t.push({label:`Source`,value:e.sourceRef,icon:(0,q.jsx)(ue,{size:12})}),e.manifestHash&&t.push({label:`Manifest`,value:e.manifestHash,icon:(0,q.jsx)(I,{size:12})}),t}function yn(e){return/^https?:\/\//i.test(e)}function bn(e){let t=new Map;for(let n of e){if(!n.startedAgent||n.action===`openpond_start_agent`&&n.state!==`completed`)continue;let e=n.openSession?.sessionId??``;t.set(e||n.startedAgent,{sessionId:e,title:n.startedAgent,provider:n.startedAgentProvider??``})}return[...t.values()]}function xn({activities:e,messages:t,createdOnly:n=!1,onToggle:r,expanded:i,controls:a,...o}){let s=bn(e);for(let e of s){let n=t.map(e=>e.taskMessage??e.taskMessagePresentation).find(t=>t?.peer.sessionId===e.sessionId);!e.provider&&n&&(e.provider=n.peer.provider)}let c=new Set(s.map(e=>e.sessionId).filter(Boolean)),l={sent:new Map,received:new Map};for(let e of t){let t=e.taskMessage??e.taskMessagePresentation;if(t){let e=t.peer;if(t.direction===`sent`&&c.has(e.sessionId))continue;l[t.direction].set(e.sessionId||e.bindingId||e.title,e)}}let u=(e,t=!1)=>e.map((n,r)=>(0,q.jsxs)(K.Fragment,{children:[r?r===e.length-1?` and `:`, `:``,(0,q.jsx)(Vt,{...o,peer:n,showIcon:t})]},n.sessionId||n.title));return n?(0,q.jsx)(q.Fragment,{children:s.map(e=>(0,q.jsxs)(`div`,{className:`activity-created-agents`,children:[(0,q.jsx)(H,{session:{provider:e.provider}}),(0,q.jsx)(Vt,{...o,peer:e}),(0,q.jsx)(`span`,{children:`started`})]},e.sessionId||e.title))}):(0,q.jsxs)(q.Fragment,{children:[l.sent.size?(0,q.jsxs)(q.Fragment,{children:[`, `,(0,q.jsx)(`button`,{type:`button`,className:`activity-summary-label-toggle`,"aria-expanded":i,"aria-controls":a,onClick:r,children:`sent to`}),` `,u([...l.sent.values()])]}):null,l.received.size?(0,q.jsxs)(q.Fragment,{children:[`, `,(0,q.jsx)(`button`,{type:`button`,className:`activity-summary-label-toggle`,"aria-expanded":i,"aria-controls":a,onClick:r,children:`received from`}),` `,u([...l.received.values()])]}):null]})}function Sn(e,t){let n=Cn(e),[r,i]=(0,K.useState)(()=>n.getUrl(t));return(0,K.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function Cn(e){let[,t]=(0,K.useState)(0),n=(0,K.useCallback)(t=>!e||!t?null:(U.activateConnection(e),U.get(L(e,`local-video`,t))),[e]),r=(0,K.useCallback)(async n=>{if(!e||!n)return null;U.activateConnection(e);let r=L(e,`local-video`,n);return U.load(r,()=>R.signLocalVideoUrl(e,{path:n})).finally(()=>t(e=>e+1))},[e]);return(0,K.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}var wn=4;function Tn({onOpenSession:e,onShowAll:t,sessions:n}){let r=n.slice(0,wn),i=Math.max(0,n.length-r.length),a=n.map(kn).join(`, `);return(0,q.jsxs)(`div`,{"aria-label":`Subagent conversations: ${a}`,className:`activity-subagent-avatar-group`,title:`Subagent conversations: ${a}`,children:[r.map(t=>(0,q.jsx)(En,{openSession:t,onOpenSession:e},t.sessionId)),i>0?(0,q.jsxs)(`button`,{type:`button`,"aria-label":`Show ${i} more subagent conversation${i===1?``:`s`}`,className:`activity-subagent-avatar activity-subagent-avatar-count`,onClick:t,title:`Show ${i} more subagent conversation${i===1?``:`s`}`,children:[`+`,i]}):null]})}function En({className:e=``,onOpenSession:t,openSession:n}){let r=jn(n.roleId),i=Mn(n.status),a=`Open ${kn(n)} conversation`;return(0,q.jsx)(`button`,{type:`button`,"aria-label":a,className:`activity-subagent-avatar ${e}`,"data-role":r,"data-status":i,onClick:()=>t(n.sessionId),title:a,children:(0,q.jsx)(Dn,{roleId:r})})}function Dn({roleId:e}){return e===`coding`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M9.4 7.2 4.8 12l4.6 4.8`}),(0,q.jsx)(`path`,{d:`m14.6 7.2 4.6 4.8-4.6 4.8`}),(0,q.jsx)(`path`,{d:`m12.9 5.7-1.8 12.6`})]}):e===`research`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`circle`,{cx:`10.8`,cy:`10.8`,r:`5.2`}),(0,q.jsx)(`path`,{d:`m15 15 4 4`}),(0,q.jsx)(`path`,{d:`M8.6 10.8h4.4`}),(0,q.jsx)(`path`,{d:`M10.8 8.6v4.4`})]}):e===`review`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,q.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,q.jsx)(`path`,{d:`m8.9 14.2 2 2 4.3-4.7`})]}):e===`test`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M9.2 4.8h5.6`}),(0,q.jsx)(`path`,{d:`M10.4 4.8v5.4l-4 6.8a1.8 1.8 0 0 0 1.6 2.7h8a1.8 1.8 0 0 0 1.6-2.7l-4-6.8V4.8`}),(0,q.jsx)(`path`,{d:`M8.2 15.8h7.6`})]}):e===`docs`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,q.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,q.jsx)(`path`,{d:`M9.2 11.4h5.6`}),(0,q.jsx)(`path`,{d:`M9.2 14.2h5.6`}),(0,q.jsx)(`path`,{d:`M9.2 17h3.4`})]}):e===`planner`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`circle`,{cx:`7.2`,cy:`7.2`,r:`2.1`}),(0,q.jsx)(`circle`,{cx:`16.8`,cy:`7.2`,r:`2.1`}),(0,q.jsx)(`circle`,{cx:`12`,cy:`16.8`,r:`2.1`}),(0,q.jsx)(`path`,{d:`M9 8.2h6`}),(0,q.jsx)(`path`,{d:`m8.5 9 2.4 5.4`}),(0,q.jsx)(`path`,{d:`m15.5 9-2.4 5.4`})]}):e===`summarizer`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M7 6.8h10`}),(0,q.jsx)(`path`,{d:`M7 10.4h8.2`}),(0,q.jsx)(`path`,{d:`M7 14h6.2`}),(0,q.jsx)(`path`,{d:`M7 17.6h4.2`})]}):(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`8.2`,r:`3.2`}),(0,q.jsx)(`path`,{d:`M6.5 19.2c.6-3 2.5-5 5.5-5s4.9 2 5.5 5`}),(0,q.jsx)(`path`,{d:`M5.2 11.8h2`}),(0,q.jsx)(`path`,{d:`M16.8 11.8h2`})]})}function On(e){let t=new Map;for(let n of e){let e=n.openSession;e&&t.set(e.sessionId,{...t.get(e.sessionId),...e})}return[...t.values()].reverse()}function kn(e){let t=`${An(e.roleId)} subagent`,n=e.status?.replace(/_/g,` `).trim();return n?`${t} (${n})`:t}function An(e){return jn(e).split(/[-_]+/).filter(Boolean).map(e=>e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)||`Subagent`}function jn(e){let t=e?.trim().toLowerCase()||`subagent`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`subagent`}function Mn(e){let t=e?.trim().toLowerCase()||`unknown`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`unknown`}function Nn({activity:e,defaultExpanded:t=!1}){let[n,r]=(0,K.useState)(t),i=(0,K.useId)(),a=In(e);return(0,q.jsxs)(`section`,{className:`harness-refiner-receipt ${e.state} ${e.result??``}`,children:[(0,q.jsxs)(`button`,{"aria-controls":a?i:void 0,"aria-expanded":a?n:void 0,className:`harness-refiner-receipt-summary`,disabled:!a,onClick:()=>a&&r(e=>!e),type:`button`,children:[(0,q.jsx)(E,{"aria-hidden":!0,className:e.state===`running`?`spinning`:void 0,size:12}),(0,q.jsx)(`span`,{children:ne(e)}),a?(0,q.jsx)(_,{"aria-hidden":!0,className:`harness-refiner-receipt-toggle ${n?`expanded`:``}`,size:13}):null]}),a&&n?(0,q.jsxs)(`div`,{className:`harness-refiner-receipt-details`,id:i,children:[(0,q.jsx)(Pn,{activity:e}),e.reason?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Reason`}),(0,q.jsx)(`p`,{children:e.reason})]}):null,e.expectedOutcome?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Expected outcome`}),(0,q.jsx)(`p`,{children:e.expectedOutcome})]}):null,e.evidenceBasis?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Evidence basis`}),(0,q.jsx)(`p`,{children:e.evidenceBasis.kind.replaceAll(`_`,` `)}),(0,q.jsxs)(`small`,{children:[e.evidenceBasis.supportingEvidenceIds.length,` supporting item`,e.evidenceBasis.supportingEvidenceIds.length===1?``:`s`,e.evidenceBasis.counterevidence.length?` · ${e.evidenceBasis.counterevidence.length} counterexample${e.evidenceBasis.counterevidence.length===1?``:`s`}`:` · no material counterevidence`]})]}):null,e.validations.length?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Validation`}),(0,q.jsx)(`div`,{className:`harness-refiner-validation-list`,children:e.validations.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:e.status,children:e.status}),(0,q.jsx)(`p`,{children:e.summary})]},e.id))})]}):null,e.edits.length?(0,q.jsxs)(`details`,{className:`harness-refiner-exact-edits`,children:[(0,q.jsxs)(`summary`,{children:[`Review `,e.edits.length,` exact edit`,e.edits.length===1?``:`s`]}),e.edits.map(e=>(0,q.jsxs)(`section`,{children:[(0,q.jsxs)(`strong`,{children:[e.operation,` · `,e.target]}),(0,q.jsx)(`p`,{children:e.summary}),e.content===null?(0,q.jsx)(`small`,{children:`File deleted.`}):(0,q.jsx)(`pre`,{children:e.content})]},e.id))]}):null,(0,q.jsx)(Fn,{refs:e.refs})]}):null]})}function Pn({activity:e}){let t=[e.route?[e.decision===`route`?`Owner`:`Layer`,e.route]:null,e.operation?[`Operation`,e.operation]:null,e.target?[`Target`,e.target]:null,e.critiqueStatus===`not_applicable`?null:[`Critique`,e.critiqueStatus],e.validationStatus===`not_applicable`?null:[`Validation`,e.validationStatus]].filter(e=>!!e);return t.length?(0,q.jsx)(`dl`,{className:`harness-refiner-receipt-facts`,children:t.map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e}),(0,q.jsx)(`dd`,{children:t?.replaceAll(`_`,` `)})]},e))}):null}function Fn({refs:e}){let t=Object.entries(e).filter(e=>!!e[1]);return t.length?(0,q.jsxs)(`details`,{className:`harness-refiner-references`,children:[(0,q.jsx)(`summary`,{children:`Receipt references`}),(0,q.jsx)(`dl`,{children:t.map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:Ln(e)}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:t})})]},e))})]}):null}function In(e){return e.state!==`running`&&!!(e.reason||e.expectedOutcome||e.route||e.operation||e.target||e.evidenceBasis||e.validations.length||e.edits.length||Object.values(e.refs).some(Boolean))}function Ln(e){let t=e.replace(/([a-z])([A-Z])/g,`$1 $2`);return`${t[0]?.toUpperCase()??``}${t.slice(1)}`}var Rn=5,zn=280;function Bn({activeWorkspaceAppId:e,connection:t,message:n,onOpenFileInSidebar:r,onOpenSession:i,onOpenPonder:a}){let o=n.activities??[],[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(null),d=(0,K.useId)(),p=(0,K.useMemo)(()=>Me(o,!1),[o]),m=(0,K.useMemo)(()=>we(o,s),[o,s]),h=o.find(e=>e.imagePreview)?.imagePreview??null,g=n.deliverables??[],v=Te(o),y=xe(),b=y?.messageIds.has(n.id)||n.activityMessages?.some(e=>y?.messageIds.has(e.id)),x=lr(l,t,e),S=n.traceState===`running`,C=n.traceState===`failed`||n.traceState===`interrupted`,w=Se(n.traceStartedAt,n.traceCompletedAt),T=Qn(p.text,n.traceState,w,o),E=bn(o),D=E.length>0||!!n.activityMessages?.some(e=>e.taskMessage||e.taskMessagePresentation),O=On(o),k=o.length>0&&o.every(e=>e.subagentMessage),A=m.toolCount>0||!!n.refinerActivity||!!n.activityMessages?.some(e=>e.taskMessage||e.taskMessagePresentation);return k&&!n.refinerActivity&&!n.activityMessages?(0,q.jsx)(Yn,{activities:o}):(0,q.jsx)(q.Fragment,{children:o.length>0||g.length>0||n.refinerActivity?(0,q.jsxs)(`article`,{className:`activity-group work-trace ${S?`running`:`settled`}`,children:[o.length>0||n.refinerActivity?(0,q.jsxs)(`div`,{className:`activity-summary-row`,children:[(0,q.jsxs)(G,{controls:A?d:void 0,danger:C,expanded:m.toolsExpanded,icon:h?(0,q.jsx)(or,{activeWorkspaceAppId:e,connection:t,image:h}):(0,q.jsx)(sr,{kind:p.kind}),onToggle:A&&!D?()=>c(e=>!e):void 0,running:S,children:[D&&A?(0,q.jsx)(`button`,{type:`button`,className:`activity-summary-label-toggle`,"aria-expanded":s,"aria-controls":d,onClick:()=>c(e=>!e),children:T===`Ran`?`Ran commands`:T||`Worked`}):T===`Ran`?`Ran commands`:T||`Worked`,D?(0,q.jsx)(xn,{activities:o,messages:n.activityMessages??[],onToggle:()=>c(e=>!e),expanded:s,controls:d,connection:t,onOpenSession:i,onOpenPonder:a}):null]}),D&&A?(0,q.jsx)(`button`,{type:`button`,className:`activity-summary activity-tool-summary`,"aria-label":`Tool activity details`,"aria-expanded":s,"aria-controls":d,onClick:()=>c(e=>!e),children:(0,q.jsx)(_,{"aria-hidden":!0,className:`activity-summary-toggle ${s?`expanded`:``}`,size:14})}):null,O.length>0&&i&&!D?(0,q.jsx)(Tn,{onOpenSession:i,onShowAll:()=>c(!0),sessions:O}):null]}):null,E.length?(0,q.jsx)(xn,{createdOnly:!0,activities:o,messages:n.activityMessages??[],connection:t,onOpenSession:i,onOpenPonder:a}):null,v&&!b?(0,q.jsx)(Ce,{entries:v}):null,g.length>0?(0,q.jsx)(Wn,{artifacts:g,connection:t,onOpenFileInSidebar:r}):null,s&&A?(0,q.jsx)(`div`,{className:`work-trace-flow`,id:d,children:(n.activityMessages??[n]).map(n=>n.role===`task_message`?(0,q.jsx)(Ht,{message:n,connection:t,onOpenSession:i,onOpenPonder:a},n.id):(0,q.jsxs)(`div`,{className:`activity-tool-row`,children:[we(n.activities??[],!0).visibleActivities.map(n=>(0,q.jsx)(Hn,{activeWorkspaceAppId:e,activity:n,connection:t,onOpenImage:u,onOpenSession:i},n.id)),(0,q.jsx)(Vn,{activity:n.refinerActivity})]},n.id))}):null,(0,q.jsx)(f,{open:!!x,src:x,title:l?.path??``,onClose:()=>u(null)})]}):null})}function Vn({activity:e}){return e?(0,q.jsx)(`article`,{className:`refiner-activity-row`,children:(0,q.jsx)(Nn,{activity:e})}):null}function Hn({activeWorkspaceAppId:e,activity:t,connection:n,onOpenImage:r,onOpenSession:i}){let[a,o]=(0,K.useState)(!1),s=(0,K.useId)();return t.subagentMessage?(0,q.jsx)(Jn,{activity:t}):(0,q.jsxs)(`div`,{className:`activity-tool-row ${t.controlKind===`turn_aborted`?`danger`:``}`,children:[(0,q.jsx)(G,{className:`activity-tool-summary`,controls:s,danger:t.controlKind===`turn_aborted`||t.state===`failed`,running:t.state===`running`||t.state===`pending`,expanded:a,icon:t.kind===`command`?(0,q.jsx)(D,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_dataset`?(0,q.jsx)(ie,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_experiment`?(0,q.jsx)(V,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):void 0,onToggle:()=>o(e=>!e),children:tr(t)}),a?(0,q.jsx)(Un,{activeWorkspaceAppId:e,activity:t,connection:n,detailsId:s,onOpenImage:r,onOpenSession:i}):null]})}function Un({activeWorkspaceAppId:e,activity:t,connection:n,detailsId:r,onOpenImage:i,onOpenSession:a}){let o=lr(t.imagePreview??null,n,e);return(0,q.jsxs)(`div`,{className:`activity-tool-details`,id:r,children:[t.kind===`command`&&t.content?(0,q.jsx)(nr,{command:t.content,exitCode:t.terminal?.exitCode,output:t.detail,state:t.state}):t.content?dr(t.content)?(0,q.jsx)(`pre`,{className:`activity-detail-output`,children:t.content}):(0,q.jsx)(`code`,{className:`activity-tool-content`,children:t.content}):null,t.detail&&t.kind!==`command`?(0,q.jsx)(`pre`,{className:`activity-detail-output`,children:t.detail.replace(/\r\n/g,`
3
- `).trimEnd()}):null,t.meta?(0,q.jsx)(`small`,{className:`activity-detail-meta`,children:t.meta}):null,t.imagePreview&&o?(0,q.jsx)(`button`,{type:`button`,className:`activity-image-preview`,title:`Open ${t.imagePreview.path}`,onClick:()=>i(t.imagePreview??null),children:(0,q.jsx)(`img`,{alt:ce(t.imagePreview.path),decoding:`async`,loading:`lazy`,src:o})}):null,t.openSession&&a?(0,q.jsx)(En,{className:`activity-subagent-detail-avatar`,openSession:t.openSession,onOpenSession:a}):null]})}function Wn({artifacts:e,connection:t,onOpenFileInSidebar:n}){return(0,q.jsx)(`div`,{className:`activity-artifact-list`,children:e.map(e=>e.contentType.startsWith(`video/`)?(0,q.jsx)(Kn,{artifact:e,connection:t,onOpenFileInSidebar:n},e.path):e.contentType.startsWith(`image/`)?(0,q.jsx)(Gn,{artifact:e,connection:t},e.path):(0,q.jsx)(Ee,{artifact:e,onOpenFileInSidebar:n},e.path))})}function Gn({artifact:e,connection:t}){let[n,r]=(0,K.useState)(!1),i=o(t,e.path);return(0,q.jsxs)(`div`,{className:`activity-artifact-image`,title:e.path,children:[(0,q.jsx)(`button`,{type:`button`,disabled:!i,onClick:()=>r(!0),title:`Open ${e.title}`,children:i?(0,q.jsx)(`img`,{alt:e.title,decoding:`async`,loading:`lazy`,src:i}):(0,q.jsx)(S,{"aria-hidden":!0,size:20})}),(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(f,{open:n&&!!i,src:i,title:e.title,onClose:()=>r(!1)})]})}function Kn({artifact:e,connection:t,onOpenFileInSidebar:n}){let r=(0,K.useRef)(null),[i,a]=(0,K.useState)(!1),o=Sn(t,e.path);return(0,q.jsxs)(`div`,{className:`activity-artifact-video`,title:e.path,children:[(0,q.jsxs)(`div`,{className:`activity-artifact-video-stage`,children:[o?(0,q.jsx)(`video`,{controls:!0,onPlay:()=>a(!0),preload:`metadata`,ref:r,src:o}):(0,q.jsx)(`div`,{className:`activity-artifact-video-loading`,children:`Preparing video…`}),o&&!i?(0,q.jsx)(`button`,{type:`button`,className:`activity-artifact-video-play`,onClick:()=>{let e=r.current;e&&e.play().then(()=>a(!0)).catch(()=>void 0)},"aria-label":`Play ${e.title}`,children:(0,q.jsx)(T,{"aria-hidden":!0,fill:`currentColor`,size:22})}):null]}),(0,q.jsxs)(`div`,{className:`activity-artifact-video-footer`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-file`,onClick:()=>void d(e.path),title:`Show ${e.path} in its folder`,children:[(0,q.jsx)(x,{"aria-hidden":!0,size:13}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(`code`,{children:e.path})]}),(0,q.jsx)(`small`,{children:e.sizeBytes==null?e.contentType:qn(e.sizeBytes)})]}),n?(0,q.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-sidebar`,onClick:()=>n(e.path),title:`Open video in sidebar`,children:[(0,q.jsx)(F,{"aria-hidden":!0,size:13}),`Open in sidebar`]}):null]})]})}function qn(e){return e<1024?`${e} B`:e<1024**2?`${(e/1024).toFixed(1)} KB`:e<1024**3?`${(e/1024**2).toFixed(1)} MB`:`${(e/1024**3).toFixed(1)} GB`}function Jn({activity:e}){let[t,n]=(0,K.useState)(!1),r=e.subagentMessage;if(!r)return null;let i=`${An(r.roleId??e.openSession?.roleId)} subagent`,a=r.direction===`received`?`${i} update`:`Message to ${i.toLowerCase()}`,o=r.modelRef?.modelId?`${a} · ${r.modelRef.modelId}`:a,s=Xn(r),c=Zn(r.body);return(0,q.jsx)(`div`,{className:`activity-child-message ${r.direction}`,children:(0,q.jsxs)(`div`,{className:`activity-child-message-card`,children:[(0,q.jsxs)(`div`,{className:`activity-child-message-header`,children:[(0,q.jsxs)(`span`,{className:`activity-child-message-title`,children:[(0,q.jsx)(g,{"aria-hidden":!0,size:14}),(0,q.jsx)(`strong`,{title:o,children:o})]}),(0,q.jsx)(`small`,{children:r.kind.replace(/_/g,` `)})]}),(0,q.jsx)(`p`,{className:c&&!t?`collapsed`:void 0,style:{"--subagent-message-visible-lines":Rn},children:r.body}),c?(0,q.jsx)(`button`,{type:`button`,className:`activity-child-message-toggle`,"aria-expanded":t,onClick:()=>n(e=>!e),children:t?`Show less`:`Show more`}):null,(0,q.jsxs)(`details`,{className:`activity-child-message-details`,children:[(0,q.jsx)(`summary`,{children:`Message details`}),(0,q.jsx)(`div`,{className:`activity-child-message-facts`,"aria-label":`Child message metadata`,children:s.map(e=>(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`small`,{children:e.label}),(0,q.jsx)(`code`,{title:e.value,children:e.value})]},e.label))})]}),r.refs?.length?(0,q.jsx)(`div`,{className:`activity-child-message-refs`,"aria-label":`Child message references`,children:r.refs.map(e=>(0,q.jsxs)(`span`,{children:[e.kind,`:`,e.id,` (`,e.label,`)`]},`${e.kind}:${e.id}`))}):null]})},e.id)}function Yn({activities:e}){let t=e[0]?.subagentMessage?.direction??`received`;return(0,q.jsx)(`article`,{className:`activity-child-message-group ${t}`,children:e.map(e=>(0,q.jsx)(Jn,{activity:e},e.id))})}function Xn(e){return[{label:`Message`,value:e.messageId},{label:`Kind`,value:e.kind},{label:`From`,value:e.fromRunId},e.roleId?{label:`Role`,value:e.roleId}:null,e.modelRef?{label:`Model`,value:`${e.modelRef.providerId}/${e.modelRef.modelId}`}:null,e.childSessionId?{label:`Child`,value:e.childSessionId}:null,e.toRunId?{label:`To run`,value:e.toRunId}:null,e.toRole?{label:`To role`,value:e.toRole}:null,e.deliveryStatus?{label:`Delivery`,value:e.deliveryStatus}:null,e.wakeReason?{label:`Wake`,value:e.wakeReason}:null,e.createdAt?{label:`Created`,value:e.createdAt}:null].filter(e=>!!e)}function Zn(e){return e.length>zn||e.split(/\r?\n/).length>Rn}function Qn(e,t,n,r){return t===`running`?$n(r)||e||`Working…`:t===`failed`?`${n?`Failed after ${n}`:`Failed`}${e?` · ${e}`:``}`:t===`interrupted`?`${n?`Interrupted after ${n}`:`Interrupted`}${e?` · ${e}`:``}`:e}function $n(e){let t=null;for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.kind!==`reasoning`&&(t??=r,r.state===`running`||r.state===`pending`))return er(r)}return t?er(t):null}function er(e){return e.kind===`command`?e.state===`failed`?`Command failed`:Fe(e.content,e.state)??(e.state===`running`||e.state===`pending`?`Running command`:`Ran command`):e.label.trim()||null}function tr(e){if(e.kind!==`command`)return e.label;if(e.state===`running`||e.state===`pending`)return er(e)??`Running command`;let t=rr(e.terminal?.durationMs);return e.state===`failed`?`Command failed${t?` in ${t}`:``}`:`${er(e)??`Ran command`}${t?` in ${t}`:``}`}function nr({command:e,exitCode:t,output:n,state:r}){let i=r===`running`||r===`pending`?`Running…`:t==null?r===`completed`?`Exit code 0`:`Failed`:`Exit code ${t}`;return(0,q.jsxs)(`section`,{"aria-label":`Shell command output`,className:`activity-command-terminal ${r??`completed`}`,children:[(0,q.jsx)(`header`,{children:`Shell`}),(0,q.jsx)(`pre`,{children:(0,q.jsxs)(`code`,{className:`shell-command-code`,children:[(0,q.jsx)(`span`,{className:`activity-command-prompt`,"aria-hidden":!0,children:`$\xA0`}),ir(e),n?(0,q.jsx)(`span`,{className:`activity-command-output`,children:`\n${n.replace(/\r\n/g,`
4
- `).trimEnd()}`}):null]})}),(0,q.jsx)(`footer`,{children:i})]})}function rr(e){if(e==null||e<0)return null;if(e<6e4)return`${Math.max(1,Math.round(e/1e3))}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n>0?`${t}m ${n}s`:`${t}m`}function ir(e){return ar(e).map((e,t)=>(0,q.jsx)(`span`,{className:`shell-token ${e.kind}`,children:e.text},`${t}-${e.text}`))}function ar(e){let t=e.match(/"[^"]*"|'[^']*'|&&|\|\||[|;&()<>]|\s+|[^\s|;&()<>]+/g)??[e],n=!0;return t.map(e=>/^\s+$/.test(e)?{kind:`plain`,text:e}:/^(?:&&|\|\||[|;&()<>])$/.test(e)?(n=e!==`)`&&e!==`>`,{kind:`operator`,text:e}):/^(['"]).*\1$/.test(e)?{kind:`string`,text:e}:/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)?{kind:`variable`,text:e}:n?(n=!1,{kind:`command`,text:e}):/^-{1,2}[\w-]/.test(e)?{kind:`flag`,text:e}:/^(?:\.{0,2}\/|~\/|[\w.-]+\/)/.test(e)?{kind:`path`,text:e}:{kind:`plain`,text:e})}function or({activeWorkspaceAppId:e,connection:t,image:n}){let r=lr(n,t,e);return r?(0,q.jsx)(`img`,{"aria-hidden":!0,className:`activity-summary-image`,decoding:`async`,loading:`lazy`,src:r,alt:``}):null}function sr({kind:e}){let t=cr(e);return(0,q.jsx)(t,{"aria-hidden":!0,className:`activity-summary-kind-icon ${e}`,size:14})}function cr(e){return e===`approval`||e===`control`?le:e===`edit`?N:e===`image`?S:e===`list`?ie:e===`read`?I:e===`reasoning`?ke:e===`search`?re:e===`subagent`?g:e===`web`?B:D}function lr(e,t,n){let r=e&&ur(e.path)?e.path:null,i=e?.appId??n,a=o(t,r),c=s(t,r?null:i,r?null:e?.path);return r?a:c}function ur(e){return/^file:\/\//i.test(e)||e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)}function dr(e){return e.includes(`
5
- `)||e.length>160}function fr({summary:e,onOpenFileInSidebar:t}){let[n,r]=(0,K.useState)(null),i=`Workspace changes · ${e.filesChanged} ${e.filesChanged===1?`file`:`files`}`,a=e.files.reduce((e,t)=>{let n=mr(t);return{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}},{additions:0,deletions:0});return(0,q.jsxs)(`div`,{className:`change-summary-card`,children:[(0,q.jsxs)(`div`,{className:`change-summary-header`,children:[(0,q.jsxs)(`span`,{children:[i,(0,q.jsx)(`br`,{}),(0,q.jsx)(`small`,{style:{color:`var(--text-muted)`},children:`May include edits from other chats or tools.`})]}),(0,q.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,q.jsxs)(`span`,{className:`diff-addition`,children:[`+`,a.additions]}),(0,q.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,a.deletions]})]})]}),(0,q.jsx)(`div`,{className:`change-summary-files`,children:e.files.map(e=>(0,q.jsx)(pr,{file:e,onOpenFileInSidebar:t,open:n===e.path,onToggle:()=>r(t=>t===e.path?null:e.path)},e.path))})]})}function pr({file:e,onOpenFileInSidebar:t,open:n,onToggle:r}){let i=mr(e),a=gr(e.patch);return(0,q.jsxs)(`div`,{className:`change-summary-file`,children:[(0,q.jsxs)(`div`,{className:`change-summary-file-trigger`,children:[(0,q.jsx)(`button`,{type:`button`,className:`change-summary-file-toggle`,onClick:r,children:(0,q.jsx)(`span`,{children:e.path})}),(0,q.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,q.jsxs)(`span`,{className:`diff-addition`,children:[`+`,i.additions]}),(0,q.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,i.deletions]})]}),t&&(0,q.jsx)(`button`,{type:`button`,className:`change-summary-open-file`,title:`Open in sidebar`,"aria-label":`Open ${e.path} in sidebar`,onClick:()=>t(e.path),children:(0,q.jsx)(h,{size:14})}),(0,q.jsx)(`button`,{type:`button`,className:`change-summary-expand-file`,title:n?`Hide patch`:`Show patch`,"aria-label":n?`Hide ${e.path} patch`:`Show ${e.path} patch`,onClick:r,children:(0,q.jsx)(_,{className:n?`expanded`:``,size:14})})]}),n&&a&&(0,q.jsx)(`div`,{className:`change-summary-patch-unavailable`,children:`Patch is no longer available for this workspace path.`}),n&&e.patch&&!a&&(0,q.jsx)(`pre`,{className:`change-summary-patch`,children:(0,q.jsx)(`code`,{children:e.patch})})]})}function mr(e){if((e.status===`added`||e.status===`untracked`)&&e.additions===0&&e.content)return{additions:hr(e.content),deletions:0};if(e.additions>0||e.deletions>0||!e.patch||gr(e.patch))return{additions:e.additions,deletions:e.deletions};let t=_r(e.patch);return t.additions>0||t.deletions>0?t:{additions:e.additions,deletions:e.deletions}}function hr(e){let t=e.endsWith(`
6
- `)?e.slice(0,-1):e;return t?t.split(`
7
- `).length:0}function gr(e){return/^error: Could not access /m.test(e)}function _r(e){let t=0,n=0;for(let r of e.split(`
8
- `))r.startsWith(`+++`)||r.startsWith(`---`)||(r.startsWith(`+`)&&(t+=1),r.startsWith(`-`)&&(n+=1));return{additions:t,deletions:n}}function vr({run:e}){let t=e.plan,n=e.questions.find(e=>e.status===`pending`)??null,i=r(t?.metadata),a=e.target.kind===`agent`?null:e.sourceRefs[0]??t?.sourcePlan[0]?.path??null,o=e.checkRefs.length||t?.checks.length||0;return(0,q.jsxs)(`section`,{className:`chat-create-receipt`,"aria-label":`Create or improve status`,children:[(0,q.jsxs)(`div`,{className:`chat-create-receipt-heading`,children:[(0,q.jsx)(I,{size:14}),(0,q.jsx)(`span`,{children:yr(e)}),(0,q.jsx)(`small`,{children:e.target.kind})]}),(0,q.jsx)(`p`,{children:br(e,t?.summary??null,n?.prompt??null)}),i||a||o?(0,q.jsxs)(`div`,{className:`chat-create-receipt-facts`,children:[i?(0,q.jsx)(`span`,{title:i.detail,children:i.label}):null,a?(0,q.jsx)(`span`,{title:a,children:a}):null,o?(0,q.jsxs)(`span`,{children:[o,` Evals`]}):null]}):null]})}function yr(e){let t=e.target.kind===`agent`;return e.state===`awaiting_questions`?`Question ready`:e.state===`awaiting_plan_approval`?`Plan ready`:e.state===`applying_source`?t?`Saving Agent`:`Applying source`:e.state===`running_checks`?`Running Evals`:e.state===`evaluating`?t?`Checking Agent`:`Evaluating candidate`:e.state===`awaiting_promotion`?t?`Update ready`:`Candidate ready`:e.state===`opening_pull_request`?`Opening review`:e.state===`pull_request_open`?`Review open`:e.state===`reconciling_release`?t?`Applying update`:`Merging change`:e.state===`released`?t?`Agent updated`:`Released`:e.state===`rejected`?t?`Current Agent kept`:`Rejected`:e.state===`ready`||e.state===`ready_local`?t?`Agent ready`:`Workproduct ready`:e.state===`published_hosted`?`Published`:e.state===`cancelled`?`Cancelled`:e.state===`blocked`?`Blocked`:e.state===`failed`?`Failed`:e.operation===`improve`?`Planning improvement`:`Planning creation`}function br(e,t,n){return e.state===`awaiting_questions`&&n?n:t||(e.blockedReason?e.blockedReason:e.state===`ready`||e.state===`ready_local`?e.target.kind===`agent`?`The Agent and its actions are ready to use.`:`The candidate and its Evals are ready.`:e.state===`awaiting_promotion`?e.target.kind===`agent`?`The updated Agent passed its Evals. Apply the update or keep the current version.`:`The candidate has been committed and evaluated. Merge or reject it.`:e.state===`pull_request_open`&&e.releaseOutcome.pullRequest?e.target.kind===`agent`?`The Agent update review is waiting to finish or close.`:`The external review is waiting for merge or closure.`:e.state===`released`?e.target.kind===`agent`?`The Agent update is saved and its Evals passed.`:`The change merged and the active Profile passed its post-merge Evals.`:e.state===`rejected`?e.blockedReason??(e.target.kind===`agent`?`The Agent update was not applied.`:`The candidate was rejected.`):`Preparing work for ${e.objective}.`)}function xr(e,t){let n=Sr(e),[r,i]=(0,K.useState)(()=>n.getUrl(t));return(0,K.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function Sr(e){let[,t]=(0,K.useState)(0),n=(0,K.useCallback)(t=>!e||!t?null:(U.activateConnection(e),U.get(Cr(e,t))),[e]),r=(0,K.useCallback)(async n=>{if(!e||!n)return null;let r=Cr(e,n);return U.activateConnection(e),U.load(r,()=>R.signChatAttachmentImageUrl(e,n)).finally(()=>t(e=>e+1))},[e]);return(0,K.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}function Cr(e,t){return L(e,`chat-attachment-image`,t.sessionId,t.turnId,t.attachmentId,t.storageName,t.contentType)}function wr({attachments:e,compact:t,connection:n,onOpenAttachment:r}){return(0,q.jsx)(`div`,{className:`user-message-attachments${t?` compact`:``}`,"aria-label":`Attached files`,children:e.map(e=>(0,q.jsx)(Tr,{attachment:e,connection:n,onOpenAttachment:r},e.id))})}function Tr({attachment:e,connection:t,onOpenAttachment:n}){return e.kind===`image`&&e.imagePreview?(0,q.jsx)(Dr,{attachment:e,connection:t,onOpenAttachment:n}):(0,q.jsx)(Er,{attachment:e,onOpenAttachment:n})}function Er({attachment:e,onOpenAttachment:t}){let[n,r]=(0,K.useState)(!1),i=!!((e.filePreview||e.imagePreview)&&t),a=n?`Opening`:e.lineCount===void 0?null:ye(e.lineCount),o=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(be,{attachment:e,size:13}),(0,q.jsx)(`span`,{children:e.name}),a?(0,q.jsx)(`small`,{children:a}):null]});return i?(0,q.jsx)(`button`,{"aria-label":`Open attached file ${e.name}`,className:`user-message-attachment openable`,disabled:n,title:`Open ${e.name}`,type:`button`,onClick:()=>{t&&!n&&(r(!0),t(e).finally(()=>r(!1)))},children:o}):(0,q.jsx)(`span`,{className:`user-message-attachment`,title:e.name,children:o})}function Dr({attachment:e,connection:t,onOpenAttachment:n}){let r=xr(t,e.imagePreview),[i,a]=(0,K.useState)(!1);return(0,q.jsx)(`button`,{className:`user-message-image-attachment`,"aria-label":`Open attached image ${e.name}`,"aria-busy":i,disabled:!n||i,title:i?`Opening ${e.name}`:`Open ${e.name}`,type:`button`,onClick:()=>{n&&!i&&(a(!0),n(e).finally(()=>a(!1)))},children:r?(0,q.jsx)(`img`,{alt:``,decoding:`async`,loading:`lazy`,src:r}):(0,q.jsx)(S,{size:24})})}function Or({connection:e,sessionId:t,failedTurnId:n,recover:r=he.recoverCodex}){let[i,a]=(0,K.useState)(!1),[o,s]=(0,K.useState)(null),[c,l]=(0,K.useState)(null),u=(0,K.useRef)(!1),d=(0,K.useRef)(0),f=k(),{confirmAction:p,confirmDialog:m,resolveConfirmDialog:g}=se();A(c),(0,K.useEffect)(()=>(d.current++,u.current=!1,a(!1),s(null),l(null),()=>{d.current++,g(!1)}),[e,t,n,g]);async function _(){if(u.current)return;let i=d.current;u.current=!0,a(!0),l(null);try{let a=await r(e,t,{failedTurnId:n});if(i!==d.current)return;if(a.state===`active`){let o=a.activeTurnId;if(!await p({title:`Stop the current turn?`,body:`This chat is running in OpenPond. Stop that turn before retrying the saved message? Review completed tool activity before continuing.`,confirmLabel:`Stop and resume`,tone:`danger`})||i!==d.current||(a=await r(e,t,{failedTurnId:n,confirmedActiveTurnId:o}),i!==d.current))return;if(a.state===`active`){f?.(`The active turn changed. Nothing else was stopped; retry to review the current turn.`,`info`);return}}s(a),a.state===`external`&&f?.(`Open this chat in Codex and archive it to release its writer. Then return here and choose Retry; OpenPond will restore the same thread.`,`info`),a.state===`resumed`&&f?.(`Saved message queued to resume in OpenPond.`,`success`),a.state===`superseded`&&f?.(`This saved message changed or the chat has moved on. Use the current composer or queue to continue.`,`info`)}catch(e){i===d.current&&l(e)}finally{i===d.current&&(u.current=!1,a(!1))}}let v=o?.state===`resumed`||o?.state===`superseded`,y=o?.state===`external`?o.threadId:null,x=y?`codex://threads/${encodeURIComponent(y)}`:null;return(0,q.jsxs)(q.Fragment,{children:[v?null:(0,q.jsxs)(`div`,{className:`codex-ownership-actions`,"aria-label":`Chat ownership recovery`,"aria-busy":i,children:[(0,q.jsxs)(`button`,{type:`button`,className:`composer-steer-row-action primary`,disabled:i,onClick:()=>void _(),children:[(0,q.jsx)(h,{size:12,"aria-hidden":!0}),(0,q.jsx)(`span`,{children:i?`Checking ownership…`:y?`Retry`:`Resume in OpenPond`})]}),x?(0,q.jsxs)(`a`,{className:`composer-steer-row-action`,href:x,"aria-disabled":i,onClick:e=>{if(i)e.preventDefault();else if(window.openpond?.openCodexThread){e.preventDefault();let t=d.current;window.openpond.openCodexThread({threadId:y}).catch(e=>{t===d.current&&l(e)})}},children:[(0,q.jsx)(b,{size:12,"aria-hidden":!0}),(0,q.jsx)(`span`,{children:`Open in Codex`})]}):null]}),(0,q.jsx)(pe,{state:m,onResolve:g})]})}var kr=(0,K.memo)(function({activeWorkspaceAppId:e=null,animateInitialContent:t=!1,accountBaseUrl:n=null,billingOrganizationSlug:r=null,billingTeamId:i=null,connection:a=null,conversationLinks:o,message:s,codexRecoveryEnabled:c=!0,kvCacheSummary:l=null,onOpenBrowserLink:u,onOpenAttachmentInSidebar:d,onOpenFileInSidebar:f,onOpenProfileSettings:p,onResolveUserQuestion:h,onOpenSession:g,onOpenPonder:_,showFooter:v=!0,userAttachmentDisplay:y=`full`,workspaceRootPath:b=null}){if(s.nativeTaskNotification)return(0,q.jsx)(`div`,{className:`message-row assistant`,children:(0,q.jsx)(At,{notification:s.nativeTaskNotification,onOpenFile:f})});if(s.role===`resources`)return(0,q.jsx)(`article`,{className:`message-row assistant`,"data-resource-response":s.turnId,children:(0,q.jsx)(Ft,{resources:s.resources??[],connection:a,context:s.resourceSessionId&&s.turnId?{sessionId:s.resourceSessionId,turnId:s.turnId}:void 0})});if(s.role===`visual`&&s.visual)return(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsx)(ge,{visual:s.visual,connection:a},s.visual.publicationId)});if(s.role===`task_message`)return(0,q.jsx)(Ht,{message:s,onOpenSession:g,onOpenPonder:_,connection:a});if(s.role===`status_divider`)return(0,q.jsx)(Vr,{message:s});if(s.role===`activity_group`)return(0,q.jsx)(Bn,{activeWorkspaceAppId:e,connection:a,message:s,onOpenFileInSidebar:f,onOpenSession:g,onOpenPonder:_});if(s.role===`error`)return s.errorKind===`opchat_quota_exceeded`?(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsx)(Rr,{accountBaseUrl:n,billingOrganizationSlug:r,billingTeamId:i,onOpenBrowserLink:u})}):(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsxs)(`div`,{className:`assistant-message error-message`,children:[s.content??``,a&&s.codexRecovery&&c?(0,q.jsx)(Or,{connection:a,...s.codexRecovery},s.codexRecovery.failedTurnId):null]})});if(s.role===`user`){let e=Rt(s.content??``),t=s.attachments??[],n=y===`compact`,r=t.length>0;return!e&&!r?null:(0,q.jsx)(`article`,{className:`message-row user`,children:(0,q.jsxs)(`div`,{className:`user-message ${r?`has-attachments`:``}`,children:[t.length?(0,q.jsx)(wr,{attachments:t,compact:n,connection:a,onOpenAttachment:d}):null,e?(0,q.jsx)(Ut,{content:e}):null]})})}let x=s.actionRun&&pn(s.actionRun)?mn(s.actionRun):null;return(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsxs)(dn,{activeWorkspaceAppId:e,animateInitialContent:t,connection:a,content:s.content,reasoningContent:s.reasoningContent,conversationLinks:o,onOpenConversation:g,onOpenBrowserLink:u,onOpenFileInSidebar:f,workspaceRootPath:b,footer:v&&s.finalAnswer?(0,q.jsx)(zt,{content:s.content,timestamp:s.timestamp,kvCacheSummary:l}):null,children:[s.sources?.length?(0,q.jsx)(Nr,{sources:s.sources,onOpenBrowserLink:u}):null,s.actionRun&&pn(s.actionRun)?(0,q.jsxs)(`div`,{className:`assistant-message action-run-profile-message ${s.actionRun.status}`,children:[(0,q.jsx)(m,{activeWorkspaceAppId:e,connection:a,content:s.actionRun.responseText??hn(s.actionRun),onOpenBrowserLink:u,onOpenFileInSidebar:f,workspaceRootPath:b}),x?(0,q.jsx)(`div`,{className:`action-run-agent-label`,children:p?(0,q.jsx)(`button`,{type:`button`,className:`action-run-agent-link`,onClick:p,children:x}):(0,q.jsx)(`span`,{children:x})}):null]}):s.actionRun?(0,q.jsx)(fn,{actionRun:s.actionRun,onOpenBrowserLink:u,onOpenFileInSidebar:f,workspaceRootPath:b}):null,s.changeSummary&&(0,q.jsx)(fr,{summary:s.changeSummary,onOpenFileInSidebar:f}),s.createImproveRun?(0,q.jsx)(vr,{run:s.createImproveRun}):null,s.userQuestion?(0,q.jsx)(Mr,{question:s.userQuestion,onResolve:h}):null]})})},Ar);function Ar(e,t){return e.activeWorkspaceAppId===t.activeWorkspaceAppId&&e.animateInitialContent===t.animateInitialContent&&e.accountBaseUrl===t.accountBaseUrl&&e.billingOrganizationSlug===t.billingOrganizationSlug&&e.billingTeamId===t.billingTeamId&&e.connection===t.connection&&e.kvCacheSummary===t.kvCacheSummary&&e.onOpenBrowserLink===t.onOpenBrowserLink&&e.onOpenAttachmentInSidebar===t.onOpenAttachmentInSidebar&&e.onOpenFileInSidebar===t.onOpenFileInSidebar&&e.onOpenProfileSettings===t.onOpenProfileSettings&&e.onResolveUserQuestion===t.onResolveUserQuestion&&e.onOpenSession===t.onOpenSession&&e.showFooter===t.showFooter&&e.userAttachmentDisplay===t.userAttachmentDisplay&&e.workspaceRootPath===t.workspaceRootPath&&jr(e.message,t.message)}function jr(e,t){return e===t||e.id===t.id&&e.role===t.role&&e.visual?.publicationId===t.visual?.publicationId&&e.content===t.content&&e.finalAnswer===t.finalAnswer&&e.nativeTaskNotification===t.nativeTaskNotification&&e.timestamp===t.timestamp&&e.turnId===t.turnId&&e.statusKind===t.statusKind&&e.statusState===t.statusState&&e.statusTone===t.statusTone&&e.errorKind===t.errorKind&&zr(e.attachments,t.attachments)&&e.activities===t.activities&&e.resources===t.resources&&e.sources===t.sources&&e.actionRun===t.actionRun&&e.changeSummary===t.changeSummary&&e.createImproveRun===t.createImproveRun&&e.userQuestion===t.userQuestion&&e.reasoningContent===t.reasoningContent&&e.taskMessage===t.taskMessage&&e.taskMessagePresentation===t.taskMessagePresentation}function Mr({question:e,onResolve:t}){let[n,r]=(0,K.useState)(``),[i,a]=(0,K.useState)(!1),o=async n=>{if(t&&!i&&e.status===`pending`){a(!0);try{await t(e,n)}finally{a(!1)}}};return(0,q.jsxs)(`section`,{"data-notification-question":e.id,className:`user-question-card ${e.status}`,"aria-label":`Question from OpenPond`,children:[(0,q.jsxs)(`header`,{className:`user-question-header`,children:[(0,q.jsx)(`span`,{className:`user-question-icon`,"aria-hidden":!0,children:(0,q.jsx)(ee,{size:17})}),(0,q.jsxs)(`span`,{className:`user-question-heading`,children:[(0,q.jsx)(`span`,{className:`user-question-eyebrow`,children:`Question`}),(0,q.jsx)(`strong`,{children:e.question})]})]}),e.reason?(0,q.jsx)(`p`,{className:`user-question-reason`,children:e.reason}):null,e.status===`pending`?(0,q.jsxs)(q.Fragment,{children:[e.options.length>0?(0,q.jsx)(`div`,{className:`user-question-options`,children:e.options.map((n,r)=>(0,q.jsxs)(`button`,{disabled:i||!t,type:`button`,onClick:()=>void o({questionId:e.id,action:`answer`,optionId:n.id,text:n.label}),children:[(0,q.jsx)(`span`,{className:`user-question-option-index`,"aria-hidden":!0,children:r+1}),(0,q.jsxs)(`span`,{className:`user-question-option-copy`,children:[(0,q.jsx)(`span`,{children:n.label}),n.description?(0,q.jsx)(`small`,{children:n.description}):null]})]},n.id))}):null,e.allowFreeform?(0,q.jsxs)(`form`,{className:`user-question-freeform`,onSubmit:t=>{t.preventDefault();let r=n.trim();r&&o({questionId:e.id,action:`answer`,optionId:null,text:r})},children:[(0,q.jsx)(`label`,{htmlFor:`question-answer-${e.id}`,children:`Or write your own answer`}),(0,q.jsxs)(`span`,{className:`user-question-freeform-controls`,children:[(0,q.jsx)(`input`,{"aria-label":`Answer`,disabled:i||!t,id:`question-answer-${e.id}`,onChange:e=>r(e.target.value),placeholder:`Type an answer`,value:n}),(0,q.jsx)(`button`,{disabled:i||!t||!n.trim(),type:`submit`,children:i?`Sending…`:`Answer`})]})]}):null,(0,q.jsx)(`button`,{className:`user-question-dismiss`,disabled:i||!t,type:`button`,onClick:()=>void o({questionId:e.id,action:`dismiss`,optionId:null,text:``}),children:`Skip for now`})]}):(0,q.jsxs)(`span`,{className:`user-question-resolution`,children:[(0,q.jsx)(fe,{"aria-hidden":!0,size:15}),(0,q.jsx)(`small`,{children:e.status===`answered`?`Answered${e.answer?.text?`: ${e.answer.text}`:``}`:`Skipped`})]})]})}function Nr({sources:e,onOpenBrowserLink:t}){return(0,q.jsx)(`div`,{className:`assistant-sources`,"aria-label":`Sources`,children:(0,q.jsx)(`div`,{className:`assistant-source-stack`,children:e.map(e=>(0,q.jsx)(Pr,{source:e,onOpenBrowserLink:t},`${e.id}:${e.url}`))})})}function Pr({source:e,onOpenBrowserLink:t}){let n=Ir(e),r=[e.title,Lr(e.url)].filter(Boolean).join(` - `),i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Fr,{source:e}),(0,q.jsx)(`span`,{children:n})]});return t?(0,q.jsx)(`button`,{type:`button`,className:`assistant-source-pill`,title:r||n,"aria-label":`Open source ${n}`,onClick:()=>t(e.url,{newTab:!0}),children:i}):(0,q.jsx)(`a`,{className:`assistant-source-pill`,href:e.url,target:`_blank`,rel:`noreferrer`,title:r||n,"aria-label":`Open source ${n}`,children:i})}function Fr({source:e}){let[t,n]=(0,K.useState)(!1);return!e.faviconUrl||t?(0,q.jsx)(B,{className:`assistant-source-fallback-icon`,size:13}):(0,q.jsx)(`img`,{alt:``,"aria-hidden":`true`,className:`assistant-source-favicon`,decoding:`async`,loading:`lazy`,src:e.faviconUrl,onError:()=>n(!0)})}function Ir(e){return e.sourceName?.trim()||Lr(e.url)||e.title}function Lr(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function Rr({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:n,onOpenBrowserLink:r}){let i=oe({accountBaseUrl:e,organizationSlug:t,teamId:n}),a=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(de,{size:15}),(0,q.jsx)(`span`,{children:`Add credits`}),(0,q.jsx)(b,{size:13})]});return(0,q.jsxs)(`div`,{className:`assistant-message quota-error-card`,role:`alert`,children:[(0,q.jsx)(`div`,{className:`quota-error-card-icon`,children:(0,q.jsx)(de,{size:17})}),(0,q.jsxs)(`div`,{className:`quota-error-card-body`,children:[(0,q.jsx)(`strong`,{children:`OpenPond Chat allowance reached`}),(0,q.jsx)(`p`,{children:`You have reached your OpChat token allowance for this period. Add credits or wait for the allowance to reset.`}),r?(0,q.jsx)(`button`,{type:`button`,className:`quota-error-card-action`,onClick:()=>r(i,{newTab:!0}),children:a}):(0,q.jsx)(`a`,{className:`quota-error-card-action`,href:i,target:`_blank`,rel:`noreferrer`,children:a})]})]})}function zr(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.id!==i.id||r.kind!==i.kind||r.name!==i.name||r.mediaType!==i.mediaType||r.sizeBytes!==i.sizeBytes||r.lineCount!==i.lineCount||r.imagePreview?.sessionId!==i.imagePreview?.sessionId||r.imagePreview?.turnId!==i.imagePreview?.turnId||r.imagePreview?.attachmentId!==i.imagePreview?.attachmentId||r.imagePreview?.storageName!==i.imagePreview?.storageName||r.imagePreview?.contentType!==i.imagePreview?.contentType||r.filePreview?.sessionId!==i.filePreview?.sessionId||r.filePreview?.turnId!==i.filePreview?.turnId||r.filePreview?.attachmentId!==i.filePreview?.attachmentId||r.filePreview?.storageName!==i.filePreview?.storageName||r.filePreview?.contentType!==i.filePreview?.contentType)return!1}return!0}var Br=(0,K.memo)(function(){return(0,q.jsx)(`article`,{className:`activity-group thinking-row`,"aria-live":`polite`,children:(0,q.jsx)(G,{running:!0,children:`Thinking…`})})});function Vr({message:e}){let t=e.statusTone??`info`,n=e.statusState??`idle`;return(0,q.jsx)(`article`,{className:`status-divider ${t} ${n}`,"aria-live":t===`danger`?`assertive`:`polite`,children:(0,q.jsx)(`span`,{children:e.content??``})})}function Hr({row:e,renderMessage:t}){let[n,r]=(0,K.useState)(!1),i=(0,K.useId)(),a=(0,K.useMemo)(()=>e.type===`work`?kt(e.messages):[],[e]);return e.type===`thinking`?(0,q.jsx)(Br,{}):e.type===`message`?t(e):(0,q.jsxs)(`div`,{className:`chat-work-history`,children:[(0,q.jsx)(G,{className:`chat-work-history-summary`,controls:i,expanded:n,onToggle:()=>r(e=>!e),children:e.label}),n?(0,q.jsx)(`div`,{className:`chat-work-history-content`,id:i,children:a.map(e=>(0,q.jsx)(`div`,{children:t(e)},e.id))}):null]})}export{Tt as i,kr as n,Ot as r,Hr as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-D7igQSAg.js";import{o as r,r as i,t as a}from"./ComposerAttachments-srWBKvCv.js";import"./icons-B8_Rkg-l.js";import{F as o,x as s}from"./training-model-data-CWnu1bz9.js";import{i as c,n as l,r as u,t as d}from"./wifi-off-CtNwnIJc.js";import{t as f}from"./paperclip-DL449Io5.js";import{t as p}from"./refresh-cw-CzVf5_oo.js";import{t as m}from"./x-Bhl-4Zlt.js";import{r as h}from"./AppToastContext-Dklk6CaG.js";import{Bt as g,Ht as _,Vt as v}from"./App-CNQi3RlI.js";import{X as y,k as b,q as x}from"./MainPane-CqtgV9rU.js";var S=e(t(),1),C=n(),w=2e4,T=10,E=12582912,D=new Set([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]);function O(e){let[t,n]=(0,S.useState)(``),[o,s]=(0,S.useState)(0),[c,l]=(0,S.useState)([]),[u,d]=(0,S.useState)(null),[p,h]=(0,S.useState)(!1),[_,v]=(0,S.useState)([]),[x,O]=(0,S.useState)(0),[N,P]=(0,S.useState)(null),F=(0,S.useRef)(null),I=(0,S.useRef)(null),L=(0,S.useRef)(c);L.current=c;let R=(0,S.useMemo)(()=>k(t,o),[t,o]),z=R?`${R.start}:${R.end}:${R.query}`:null,B=R?.query??null,V=(0,S.useMemo)(()=>{if(!R)return[];let t=new Map;for(let n of[...e.members,..._])t.set(n.userId,n);let n=R.query.toLowerCase();return[...t.values()].filter(e=>`${e.handle??``} ${e.name??``}`.toLowerCase().includes(n)).slice(0,8)},[R,e.members,_]),H=!!(R&&z!==N&&V.length>0),U=!!(e.disabled||e.busy||p),W=!U&&(!!t.trim()||c.length>0);(0,S.useEffect)(()=>{if(B==null){v([]);return}let t=!0,n=window.setTimeout(()=>{e.onSearchMembers(B).then(e=>{t&&v(e)},()=>{t&&v([])})},150);return()=>{t=!1,window.clearTimeout(n)}},[B,e.onSearchMembers]),(0,S.useEffect)(()=>{O(0)},[z]),(0,S.useEffect)(()=>()=>M(L.current),[]);async function G(i){if(i?.preventDefault(),W){d(null),h(!0);try{let i=await Promise.all(c.map(r));if(!await e.onSend({body:t,mentionUserIds:A(t,e.members),attachments:i,replyToMessageId:e.replyTo?.id??null}))return;M(c),n(``),s(0),l([]),e.onCancelReply()}catch(e){d(e instanceof Error?e.message:String(e))}finally{h(!1)}}}function K(e){if(H){if(e.key===`ArrowDown`){e.preventDefault(),O(e=>(e+1)%V.length);return}if(e.key===`ArrowUp`){e.preventDefault(),O(e=>(e-1+V.length)%V.length);return}if(e.key===`Enter`||e.key===`Tab`){e.preventDefault(),X(V[x]??V[0]);return}if(e.key===`Escape`){e.preventDefault(),P(z);return}}e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),G())}function q(e){if(!e)return;d(null);let t=Math.max(0,T-c.length);if(t===0){d(`You can attach up to ${T} images.`),Y();return}let n=[...e],r=n.slice(0,t),a=r.find(e=>!D.has(e.type)),o=r.find(e=>e.size<=0||e.size>E);if(a){d(`${a.name} is not a supported image type.`),Y();return}if(o){d(`${o.name} must be smaller than 12 MB.`),Y();return}let s=r.map(e=>({id:i(),file:e,name:e.name,mediaType:e.type,sizeBytes:e.size,kind:`image`,previewUrl:URL.createObjectURL(e)}));l(e=>[...e,...s]),n.length>t&&d(`Only ${T} images can be attached to one message.`),Y()}function J(e){l(t=>{let n=t.find(t=>t.id===e);return n?.previewUrl&&URL.revokeObjectURL(n.previewUrl),t.filter(t=>t.id!==e)})}function Y(){F.current&&(F.current.value=``)}function X(e){if(!R)return;let r=`@${j(e)} `,i=`${t.slice(0,R.start)}${r}${t.slice(R.end)}`,a=R.start+r.length;n(i),s(a),P(null),window.requestAnimationFrame(()=>I.current?.focusAtPromptIndex(a))}return(0,C.jsxs)(`form`,{className:`composer dock community-composer${c.length>0?` has-attachments`:``}${u?` has-attachment-error`:``}`,onSubmit:G,children:[e.replyTo?(0,C.jsxs)(`div`,{className:`community-composer-reply`,children:[(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`strong`,{children:`Replying to`}),e.replyTo.body.slice(0,100)||`message`]}),(0,C.jsx)(`button`,{type:`button`,"aria-label":`Cancel reply`,onClick:e.onCancelReply,children:(0,C.jsx)(m,{size:13})})]}):null,H?(0,C.jsx)(`div`,{className:`community-mention-menu`,role:`listbox`,"aria-label":`Community members`,children:V.map((e,t)=>(0,C.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===x,onMouseDown:e=>e.preventDefault(),onClick:()=>X(e),children:[(0,C.jsx)(`strong`,{children:e.name??e.handle??`Community member`}),e.handle?(0,C.jsxs)(`small`,{children:[`@`,e.handle]}):null]},e.userId))}):null,(0,C.jsxs)(`div`,{className:`composer-input-shell`,children:[c.length>0?(0,C.jsx)(`div`,{className:`composer-attachments`,"aria-label":`Selected attachments`,children:c.map(e=>(0,C.jsx)(a,{attachment:e,onRemove:()=>J(e.id)},e.id))}):null,u?(0,C.jsx)(g,{error:u}):null,(0,C.jsx)(`div`,{className:`composer-textarea-frame`,onClick:e=>{e.target===e.currentTarget&&I.current?.focusAtPromptIndex(o)},children:(0,C.jsx)(b,{ref:I,disabled:U,onCursorChange:s,onKeyDown:K,onPromptChange:(e,t)=>{let r=e.slice(0,w);n(r),s(Math.min(t,r.length))},onTokenPositionChange:()=>void 0,placeholder:e.disabled?`Accept the community rules to post`:`Message community`,prompt:t,token:null})}),(0,C.jsxs)(`div`,{className:`composer-primary-controls team-chat-composer-controls`,children:[(0,C.jsx)(`input`,{ref:F,className:`composer-file-input`,hidden:!0,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,multiple:!0,onChange:e=>q(e.currentTarget.files)}),(0,C.jsx)(`button`,{type:`button`,className:`composer-icon`,"aria-label":`Attach images`,disabled:U||c.length>=T,onClick:()=>F.current?.click(),children:(0,C.jsx)(f,{size:17})}),(0,C.jsx)(`div`,{className:`composer-spacer`}),(0,C.jsx)(`button`,{type:`submit`,className:`send-button`,"aria-label":`Send message`,disabled:!W,children:(0,C.jsx)(y,{size:17})})]})]})]})}function k(e,t=e.length){let n=Math.max(0,Math.min(t,e.length)),r=/(?:^|\s)@([\w-]*)$/.exec(e.slice(0,n));return!r||r.index==null?null:{start:r.index+r[0].indexOf(`@`),end:n,query:r[1]??``}}function A(e,t){let n=new Set([...e.matchAll(/(?:^|\s)@([\w-]+)/g)].map(e=>e[1]?.toLowerCase()));return t.filter(e=>n.has(j(e).toLowerCase())).map(e=>e.userId)}function j(e){return e.handle??e.name?.replace(/[^\w-]/g,``)??e.userId}function M(e){for(let t of e)t.previewUrl&&URL.revokeObjectURL(t.previewUrl)}function N(e){let[t,n]=(0,S.useState)(!1),[r,i]=(0,S.useState)(e.message.body),a=e.message.refs.find(e=>e.refType===`message_reply`),c=a?e.messagesById.get(a.refId)??null:null,l=c?.authorUserId?e.membersById.get(c.authorUserId)??null:null;return(0,C.jsxs)(`article`,{className:`community-message${e.own?` own`:``}`,id:`community-message-${e.message.id}`,children:[(0,C.jsx)(`div`,{className:`community-avatar`,children:P(e.author?.name??e.author?.handle??`?`)}),(0,C.jsxs)(`div`,{className:`community-message-content`,children:[(0,C.jsxs)(`header`,{children:[(0,C.jsx)(`strong`,{children:e.author?.name??e.author?.handle??`Community member`}),(0,C.jsx)(`time`,{dateTime:e.message.createdAt,children:F(e.message.createdAt)}),e.message.editedAt?(0,C.jsx)(`span`,{children:`edited`}):null,e.message.deletedAt?null:(0,C.jsxs)(`div`,{className:`community-message-actions`,children:[(0,C.jsx)(`button`,{type:`button`,"aria-label":`Reply`,onClick:()=>e.onReply(e.message),children:(0,C.jsx)(x,{size:13})}),e.own?(0,C.jsx)(`button`,{type:`button`,"aria-label":`Edit`,onClick:()=>n(!0),children:(0,C.jsx)(_,{size:13})}):null,e.own?(0,C.jsx)(`button`,{type:`button`,"aria-label":`Delete`,onClick:()=>void e.onDelete(e.message.id),children:(0,C.jsx)(o,{size:13})}):null]})]}),a?(0,C.jsxs)(`button`,{type:`button`,className:`community-reply-quote`,onClick:()=>document.getElementById(`community-message-${a.refId}`)?.scrollIntoView({behavior:`smooth`,block:`center`}),children:[(0,C.jsx)(`strong`,{children:l?.name??`Community member`}),(0,C.jsx)(`span`,{children:c?.deletedAt?`Message deleted`:c?.body??String(a.preview.body??`Earlier message`)})]}):null,t?(0,C.jsxs)(`form`,{className:`community-message-edit`,onSubmit:t=>{t.preventDefault(),e.onEdit(e.message.id,r).then(e=>{e&&n(!1)})},children:[(0,C.jsx)(`textarea`,{autoFocus:!0,value:r,onChange:e=>i(e.currentTarget.value)}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`button`,{type:`button`,onClick:()=>n(!1),children:`Cancel`}),(0,C.jsx)(`button`,{type:`submit`,disabled:!r.trim(),children:`Save`})]})]}):e.message.deletedAt?(0,C.jsx)(`div`,{className:`community-message-deleted`,children:`Message deleted`}):(0,C.jsx)(s,{content:e.message.body}),!e.message.deletedAt&&e.message.attachments.length>0?(0,C.jsx)(`div`,{className:`community-message-attachments`,children:e.message.attachments.map(t=>e.attachmentsAccessible?(0,C.jsxs)(`button`,{type:`button`,onClick:()=>void e.onDownloadAttachment(t.id),children:[(0,C.jsx)(`span`,{children:t.name}),(0,C.jsx)(`small`,{children:I(t.sizeBytes)})]},t.id):(0,C.jsxs)(`div`,{className:`community-attachment-placeholder`,children:[(0,C.jsx)(`span`,{children:t.name}),(0,C.jsxs)(`small`,{children:[`Join to view · `,I(t.sizeBytes)]})]},t.id))}):null]})]})}function P(e){return e.split(/\s+/).slice(0,2).map(e=>e[0]?.toUpperCase()??``).join(``)||`?`}function F(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function I(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function L(e){let[t,n]=(0,S.useState)(!1),r=(0,S.useRef)(null),i=(0,S.useRef)(e.onClose);(0,S.useEffect)(()=>n(!1),[e.rules.id]),(0,S.useEffect)(()=>{i.current=e.onClose},[e.onClose]),(0,S.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=r.current,n=()=>[...t?.querySelectorAll(`button:not([disabled]), input:not([disabled]), [href], [tabindex]:not([tabindex="-1"])`)??[]];n()[0]?.focus();let a=e=>{if(e.key===`Escape`){e.preventDefault(),i.current();return}if(e.key!==`Tab`)return;let r=n();if(r.length===0){e.preventDefault(),t?.focus();return}let a=r[0],o=r.at(-1);e.shiftKey&&document.activeElement===a?(e.preventDefault(),o.focus()):!e.shiftKey&&document.activeElement===o&&(e.preventDefault(),a.focus())};return document.addEventListener(`keydown`,a),()=>{document.removeEventListener(`keydown`,a),e?.focus()}},[]);let a=e.mode!==`review`;return(0,C.jsx)(`div`,{className:`community-dialog-backdrop`,role:`presentation`,onMouseDown:e.onClose,children:(0,C.jsxs)(`section`,{ref:r,className:`community-rules-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`community-rules-title`,tabIndex:-1,onMouseDown:e=>e.stopPropagation(),children:[(0,C.jsxs)(`header`,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`small`,{children:[`Community rules · version `,e.rules.version]}),(0,C.jsx)(`h2`,{id:`community-rules-title`,children:e.rules.title})]}),(0,C.jsx)(`button`,{type:`button`,"aria-label":`Close rules`,onClick:e.onClose,children:(0,C.jsx)(m,{size:16})})]}),(0,C.jsx)(`div`,{className:`community-rules-body`,children:(0,C.jsx)(s,{content:e.rules.bodyMarkdown})}),(0,C.jsxs)(`footer`,{children:[a?(0,C.jsxs)(`label`,{className:`community-rules-acceptance`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:t,onChange:e=>n(e.currentTarget.checked)}),(0,C.jsx)(`span`,{children:`I have read and agree to follow these rules.`})]}):(0,C.jsx)(`span`,{}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:e.onClose,children:`Cancel`}),a?(0,C.jsx)(`button`,{type:`button`,disabled:!t||e.busy,onClick:()=>void e.onAccept().then(t=>{t&&e.onClose()}),children:e.busy?`Saving…`:e.mode===`join`?`Agree and join`:`Accept updated rules`}):null]})]})]})})}function R({communities:e,chat:t,currentUserId:n}){h(e.discoveryError),h(t.lostMembership?`Your membership changed. Refresh the community before continuing.`:null),h(e.previewError),h(e.membershipError?.message),h(t.channelsError,{prefix:`Channels`}),h(t.messagesError,{prefix:`Messages`}),h(t.actionError);let[r,i]=(0,S.useState)(null),[a,o]=(0,S.useState)(null),s=(0,S.useRef)(null),c=e.preview,u=c?.membership?.status===`active`,f=!!c?.capabilities.requiresRulesAcceptance,m=(0,S.useMemo)(()=>new Map(t.members.map(e=>[e.userId,e])),[t.members]),g=(0,S.useMemo)(()=>new Map(t.messages.map(e=>[e.id,e])),[t.messages]),_=t.messages.at(-1)?.sequence??0;if((0,S.useEffect)(()=>{let e=s.current;e&&(e.scrollTop=e.scrollHeight)},[t.selectedChannelId,_]),(0,S.useEffect)(()=>{o(null),f&&c?.currentRules&&i(`reaccept`)},[c?.currentRules,f]),!e.selectedSummary)return(0,C.jsx)(`section`,{className:`community-empty-page`,children:(0,C.jsxs)(`div`,{className:`community-discovery-card`,children:[(0,C.jsx)(v,{size:30}),(0,C.jsx)(`h1`,{children:`Discover communities`}),(0,C.jsx)(`p`,{children:e.discoveryLoading&&e.items.length===0?`Finding communities…`:`Preview public conversations and join after accepting each community's rules.`}),e.items.length>0?(0,C.jsx)(`div`,{className:`community-discovery-list`,children:e.items.map(t=>(0,C.jsxs)(`button`,{type:`button`,onClick:()=>e.selectCommunity(t.id),children:[(0,C.jsx)(B,{name:t.displayName,imageUrl:t.imageUrl}),(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`strong`,{children:t.displayName}),(0,C.jsx)(`small`,{children:t.description})]}),(0,C.jsx)(`em`,{children:t.membership?.status===`active`?`Joined`:t.featuredAt?`Featured`:`${t.memberCount.toLocaleString()} members`})]},t.id))}):e.discoveryLoading?null:(0,C.jsx)(`div`,{className:`community-state`,children:`No public communities are available yet.`}),(0,C.jsxs)(`div`,{className:`community-discovery-actions`,children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>void e.refresh(),disabled:e.discoveryLoading,children:[(0,C.jsx)(p,{size:14}),` Refresh`]}),e.nextCursor?(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>void e.loadMore(),disabled:e.discoveryLoading,children:`Load more`}):null]})]})});if(!c&&e.previewLoading)return(0,C.jsx)(`section`,{className:`community-empty-page`,children:(0,C.jsxs)(`div`,{className:`community-empty-card`,children:[(0,C.jsx)(`span`,{className:`community-spinner`}),` Loading community…`]})});if(!c)return(0,C.jsx)(`section`,{className:`community-empty-page`,children:(0,C.jsxs)(`div`,{className:`community-empty-card`,children:[(0,C.jsx)(`h1`,{children:e.selectedSummary.displayName}),(0,C.jsx)(`div`,{className:`community-state`,children:`This community preview is unavailable.`}),(0,C.jsxs)(`button`,{type:`button`,onClick:()=>e.selectCommunity(e.selectedSummary.id),children:[(0,C.jsx)(p,{size:14}),` Retry preview`]})]})});let y=c.currentRules;return(0,C.jsxs)(`section`,{className:`community-view`,children:[(0,C.jsxs)(`header`,{className:`community-header`,children:[(0,C.jsxs)(`div`,{className:`community-heading`,children:[(0,C.jsx)(B,{name:c.displayName,imageUrl:c.imageUrl}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`small`,{children:c.displayName}),(0,C.jsx)(`h1`,{children:t.selectedChannel?`# ${t.selectedChannel.displayName}`:c.displayName}),(0,C.jsx)(`p`,{children:t.selectedChannel?.topic||c.description})]})]}),(0,C.jsxs)(`div`,{className:`community-header-actions`,children:[(0,C.jsxs)(`span`,{className:`community-member-count`,children:[(0,C.jsx)(v,{size:14}),` `,c.memberCount.toLocaleString()]}),y?(0,C.jsxs)(`button`,{type:`button`,className:`secondary`,onClick:()=>i(`review`),children:[(0,C.jsx)(l,{size:14}),` Rules`]}):null,u?(0,C.jsx)(z,{mode:c.membership?.notificationMode??`mentions`,busy:e.membershipBusy,onMode:e.updateNotifications,onLeave:e.leave}):null]})]}),(0,C.jsxs)(`div`,{className:`community-chat-main conversation-surface-main`,children:[(0,C.jsxs)(`div`,{className:`community-chat-notices`,children:[u?f?(0,C.jsxs)(`div`,{className:`community-preview-banner warning`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`strong`,{children:`The rules have changed`}),(0,C.jsx)(`span`,{children:`Accept the current rules to continue reading live updates and posting.`})]}),(0,C.jsx)(`button`,{type:`button`,disabled:!y||e.membershipBusy,onClick:()=>i(`reaccept`),children:`Review updated rules`})]}):null:(0,C.jsxs)(`div`,{className:`community-preview-banner`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`strong`,{children:[`Previewing `,c.displayName]}),(0,C.jsx)(`span`,{children:`Read the public conversation, then accept the rules to join and post.`})]}),(0,C.jsx)(`button`,{type:`button`,disabled:!y||e.membershipBusy,onClick:()=>i(`join`),children:`Join community`})]}),t.realtimeError&&u&&!f?(0,C.jsxs)(`div`,{className:`community-realtime-state`,children:[(0,C.jsx)(d,{size:14}),(0,C.jsx)(`span`,{children:`Live updates are reconnecting. Loaded messages are still available.`})]}):null,t.channelsError?(0,C.jsx)(`button`,{type:`button`,className:`community-state`,onClick:()=>void t.loadChannels(),children:`Retry loading channels`}):null]}),(0,C.jsxs)(`div`,{className:`community-message-pane conversation-message-scroll`,ref:s,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-busy":t.messagesLoading,"aria-label":t.selectedChannel?`${c.displayName}, ${t.selectedChannel.displayName}`:c.displayName,tabIndex:0,children:[t.hasMoreBefore?(0,C.jsx)(`button`,{type:`button`,className:`community-load-older`,disabled:t.olderMessagesLoading,onClick:()=>void t.loadOlder(),children:t.olderMessagesLoading?`Loading…`:`Load earlier messages`}):null,t.messagesLoading&&t.messages.length===0?(0,C.jsx)(`div`,{className:`community-message-state`,children:`Loading messages…`}):null,t.messagesError?(0,C.jsxs)(`div`,{className:`community-message-state`,children:[`Messages are unavailable. `,(0,C.jsx)(`button`,{type:`button`,onClick:()=>void t.loadMessages(),children:`Retry`})]}):null,!t.messagesLoading&&!t.messagesError&&t.messages.length===0?(0,C.jsx)(`div`,{className:`community-message-state`,children:`No messages in this channel yet.`}):null,t.messages.map(e=>(0,C.jsx)(N,{message:e,author:e.authorUserId?m.get(e.authorUserId)??null:null,own:e.authorUserId===n,attachmentsAccessible:!t.previewMode,membersById:m,messagesById:g,onReply:o,onEdit:t.editMessage,onDelete:t.deleteMessage,onDownloadAttachment:t.downloadAttachment},e.id))]}),u?(0,C.jsxs)(`div`,{className:`community-composer-wrap conversation-composer-shell`,children:[t.failedSend?(0,C.jsxs)(`div`,{className:`community-failed-send`,children:[(0,C.jsx)(`span`,{children:`Message not sent.`}),(0,C.jsx)(`button`,{type:`button`,disabled:t.sending,onClick:()=>void t.retrySend(),children:`Retry`}),(0,C.jsx)(`button`,{type:`button`,onClick:t.dismissFailedSend,children:`Dismiss`})]}):null,(0,C.jsx)(O,{members:t.members,replyTo:a,busy:t.sending,disabled:f||t.lostMembership||!t.selectedChannel||t.selectedChannel.postingPolicy===`admins`&&c.membership?.role===`member`,onCancelReply:()=>o(null),onSearchMembers:t.searchMembers,onSend:t.sendMessage})]}):null]}),r&&y?(0,C.jsx)(L,{rules:y,mode:r,busy:e.membershipBusy,onAccept:r===`join`?e.join:e.acceptRules,onClose:()=>i(null)}):null]})}function z(e){let[t,n]=(0,S.useState)(!1);return(0,C.jsxs)(`div`,{className:`community-membership-menu`,children:[(0,C.jsxs)(`button`,{type:`button`,className:`secondary`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[e.mode===`none`?(0,C.jsx)(u,{size:14}):(0,C.jsx)(c,{size:14}),` Joined`]}),t?(0,C.jsxs)(`div`,{className:`community-membership-popover`,children:[(0,C.jsx)(`strong`,{children:`Notifications`}),[`mentions`,`all`,`none`].map(t=>(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`input`,{type:`radio`,name:`community-notifications`,checked:e.mode===t,disabled:e.busy,onChange:()=>void e.onMode(t)}),` `,t===`mentions`?`Mentions`:t===`all`?`All messages`:`Nothing`]},t)),(0,C.jsx)(`button`,{type:`button`,className:`danger`,disabled:e.busy,onClick:()=>{window.confirm(`Leave this community? You can join again later by accepting the current rules.`)&&e.onLeave().then(e=>{e&&n(!1)})},children:`Leave community`})]}):null]})}function B({name:e,imageUrl:t}){return t?(0,C.jsx)(`img`,{className:`community-icon`,src:t,alt:``}):(0,C.jsx)(`span`,{className:`community-icon fallback`,children:e.slice(0,2).toUpperCase()})}export{R as CommunityView};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-D7igQSAg.js";import{It as r}from"./App-CNQi3RlI.js";import{t as i}from"./LabsRoute-DJRgF1kQ.js";var a=e(t(),1),o=n();function s({api:e,policyId:t,sourceId:n,onBack:s}){let c=(0,a.useMemo)(()=>e.reviewClient(t,n),[e,t,n]),[l,u]=(0,a.useState)(null),[d,f]=(0,a.useState)(null);return(0,o.jsxs)(`section`,{"aria-label":`Hosted example review`,children:[(0,o.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>{r(s)},children:`Back to continual learning`}),(0,o.jsx)(`p`,{children:`Reviewing hosted examples. Approved tasks become eligible for this policy's next training check.`}),(0,o.jsx)(i,{client:c,selectedId:l,after:d,sourceId:n,onSelect:e=>{r(()=>u(e))},onPage:f})]})}export{s as HostedModelLearningReview};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-D7igQSAg.js";import{b as r,x as i}from"./contracts-BLiqJxBv.js";import{t as a}from"./api-client-Dgz-fOMl.js";import{t as o}from"./AppDialog-DuSd0wk6.js";import{a as s,i as c,n as l,o as u,r as d}from"./LabsRoute-DJRgF1kQ.js";var f=e(t(),1),p=n();function m({client:e,project:t,policy:n,onClose:m}){let[h]=(0,f.useState)(()=>n?.id??`policy-${crypto.randomUUID()}`),[g]=(0,f.useState)(()=>s(t,n)),[_,v]=(0,f.useState)(g.enabled),[y,b]=(0,f.useState)(g.scheduled),[x,S]=(0,f.useState)(!n),[C,w]=(0,f.useState)(g.humanReviewRequired),[T,E]=(0,f.useState)(n?.sources??[]),[D,O]=(0,f.useState)(n?.taskDefinition??null),[k,A]=(0,f.useState)({interval:String(g.intervalSeconds/60),minimum:String(g.minimumApprovedExamples),batch:String(g.maxBatchExamples),spend:String(g.maxIterationSpendUsd),daily:String(g.maxDailySpendUsd),cooldown:String(g.cooldownSeconds/60),retries:String(g.maxRetries),backlog:String(g.maxBacklogExamples)}),[j,M]=(0,f.useState)(!1),[N,P]=(0,f.useState)(!1),[F,I]=(0,f.useState)(null),[L,R]=(0,f.useState)(),[z,B]=(0,f.useState)(null),[V,H]=(0,f.useState)(null),U=(0,f.useRef)(null),W=(0,f.useRef)(!1);(0,f.useEffect)(()=>{let t=!1;return e.sources(L).then(e=>{t||(B({after:L,data:e}),H(null))},e=>{t||H(e instanceof Error?e.message:String(e))}),()=>{t=!0}},[e,L]);let G=z&&z.after===L?z.data:null,K=x?t.trainingSetup.rewardBindingRef:n?.rewardBinding;function q(e){let t=T.some(t=>t.id===e.id);E(t?T.filter(t=>t.id!==e.id):[...T,r(e)]),O(t&&T.length===1?null:D??e.taskDefinition),M(!0)}async function J(){if(W.current)return!1;W.current=!0,P(!0),I(null);try{if(!U.current){if(!D||!T.length||!K)throw Error(`Select task sources and a Model Reward before saving.`);let e=c({project:t,previous:n,policyId:h,applyModelConfiguration:x,sources:T,taskDefinition:D,settings:{enabled:_,scheduled:y,humanReviewRequired:C,intervalSeconds:Number(k.interval)*60,minimumApprovedExamples:Number(k.minimum),maxBatchExamples:Number(k.batch),maxIterationSpendUsd:Number(k.spend),maxDailySpendUsd:Number(k.daily),cooldownSeconds:Number(k.cooldown)*60,maxRetries:Number(k.retries),maxBacklogExamples:Number(k.backlog)}});U.current={action:`publish`,kind:`policy`,operationId:crypto.randomUUID(),expectedRevision:n?.revision??0,content:e}}return await e.command(U.current),U.current=null,M(!1),!0}catch(e){return e instanceof a&&e.status>=400&&e.status<500&&![408,429].includes(e.status)&&(U.current=null),I(e instanceof Error?e.message:`Unable to save learning settings.`),!1}finally{W.current=!1,P(!1)}}let Y=u({name:`learning settings`,dirty:j,busy:N,save:J});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(o,{ariaLabel:`Continual learning settings`,className:`labs-rename-dialog learning-workspace hosted-learning-settings`,backdropClassName:`labs-rename-backdrop`,dismissDisabled:N,onClose:()=>{Y.requestLeave(m)},children:[(0,p.jsx)(`h2`,{children:`Continual learning settings`}),(0,p.jsxs)(`p`,{children:[`Train `,t.name,` from approved tasks. Acceptance and serving remain separate decisions.`]}),(0,p.jsx)(l,{error:F??V}),(0,p.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),await J()&&(Y.allowNextNavigation(),m())},children:[(0,p.jsxs)(`fieldset`,{disabled:N||!!U.current,onChange:()=>M(!0),children:[(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:_,onChange:e=>v(e.target.checked)}),` Enable learning`]}),(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:C,disabled:C,onChange:()=>w(!0)}),` Human review required`]}),(0,p.jsx)(`p`,{children:`New policies require human review. Qualified automatic admission cannot be configured here yet.`}),n?(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>S(e.target.checked)}),` Use the Model’s current training configuration`]}):null,(0,p.jsxs)(`fieldset`,{children:[(0,p.jsx)(`legend`,{children:`Task sources`}),!G&&!V?(0,p.jsx)(`p`,{children:`Loading sources…`}):null,G?.sources.items.map(e=>{let t=G.definitions.find(t=>i(r(t),e.taskDefinition)),n=!!(K&&t&&i(K,t.rewardBinding)&&(!D||i(D,e.taskDefinition))),a=T.find(t=>t.id===e.id);return(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:!!a,disabled:!a&&(!e.enabled||!n),onChange:()=>q(e)}),` `,e.name,a&&a.revision!==e.revision?(0,p.jsxs)(`small`,{children:[`Using saved revision `,a.revision,`; clear and reselect to update.`]}):n?null:(0,p.jsx)(`small`,{children:`Different task format or Reward.`})]},e.id)}),(0,p.jsxs)(`p`,{children:[T.length,` sources selected. `,(0,p.jsx)(`button`,{type:`button`,onClick:()=>{E([]),O(null),M(!0)},children:`Clear selection`})]}),(0,p.jsx)(d,{after:L,next:G?.sources.nextCursor,onPage:e=>R(e??void 0)})]}),(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:y,onChange:e=>b(e.target.checked)}),` Schedule training`]}),Object.keys(k).filter(e=>e!==`interval`||y).map(e=>(0,p.jsxs)(`label`,{children:[{interval:`Check interval (minutes)`,minimum:`Minimum approved examples`,batch:`Maximum examples per batch`,spend:`Maximum spend per iteration ($)`,daily:`Maximum daily spend ($)`,cooldown:`Cooldown (minutes)`,retries:`Automatic retries`,backlog:`Maximum backlog`}[e],(0,p.jsx)(`input`,{type:`number`,value:k[e],min:`0`,step:e===`spend`||e===`daily`?`0.01`:`1`,onChange:t=>A(n=>({...n,[e]:t.target.value}))})]},e))]}),(0,p.jsxs)(`div`,{className:`model-build-actions`,children:[(0,p.jsx)(`button`,{type:`submit`,className:`training-button`,disabled:N,children:N?`Saving…`:U.current?`Retry save`:`Save settings`}),(0,p.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:N,onClick:()=>{Y.requestLeave(m)},children:`Cancel`})]})]})]}),Y.dialog]})}export{m as HostedModelLearningSettings};