openpond 0.2.61 → 0.2.62

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 (420) hide show
  1. package/dist/app-server.d.ts +3264 -18
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{acp-FUAWCKBH.js → acp-DYRBDJRU.js} +1 -1
  4. package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-UTLP7C3I.js} +1 -1
  5. package/dist/chunks/{actions-command-LOHNQUWP.js → actions-command-6LF4Z4WK.js} +1 -1
  6. package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-N2H3RBEN.js} +1 -1
  7. package/dist/chunks/{app-server-connected-apps-Q2VWWJNX.js → app-server-connected-apps-3T546FE7.js} +1 -1
  8. package/dist/chunks/app-server-evaluations-TXD747QA.js +2 -0
  9. package/dist/chunks/{app-server-harness-services-2PSZBT7U.js → app-server-harness-services-BBCDV5P3.js} +1 -1
  10. package/dist/chunks/app-server-runtime-VEJPDAFP.js +2 -0
  11. package/dist/chunks/{apps-7PIBF32Q.js → apps-CTT2XYRR.js} +1 -1
  12. package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
  13. package/dist/chunks/{chunk-5VPU7OS7.js → chunk-2IIBCCOK.js} +1 -1
  14. package/dist/chunks/{chunk-ZISYLRH6.js → chunk-2UDAKLJ4.js} +1 -1
  15. package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
  16. package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-3R4MSE2S.js} +1 -1
  17. package/dist/chunks/{chunk-OFVUN4KI.js → chunk-47AXSBPV.js} +1 -1
  18. package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
  19. package/dist/chunks/chunk-4PZWGNX4.js +86 -0
  20. package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-4RZBGKT7.js} +1 -1
  21. package/dist/chunks/{chunk-VBW2X42G.js → chunk-4TM75R7V.js} +1 -1
  22. package/dist/chunks/chunk-4U2FNXQW.js +2 -0
  23. package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
  24. package/dist/chunks/{chunk-VWJ5IYQP.js → chunk-547AUVKN.js} +1 -1
  25. package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-557XSPVS.js} +1 -1
  26. package/dist/chunks/{chunk-ZHFH2TZN.js → chunk-557YG77L.js} +1 -1
  27. package/dist/chunks/{chunk-MF35MALN.js → chunk-5A6ER3M2.js} +1 -1
  28. package/dist/chunks/{chunk-U4HZD2GM.js → chunk-5OSM75X5.js} +1 -1
  29. package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-6SH4B7DV.js} +1 -1
  30. package/dist/chunks/chunk-6XSSM4WT.js +3 -0
  31. package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-7JBB4PXS.js} +1 -1
  32. package/dist/chunks/{chunk-SID4X3YN.js → chunk-7JXZNCBC.js} +1 -1
  33. package/dist/chunks/chunk-7KTARW23.js +2 -0
  34. package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
  35. package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-AKZPMKWP.js} +1 -1
  36. package/dist/chunks/{chunk-SIV5P6JO.js → chunk-AMO5DVKM.js} +2 -2
  37. package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
  38. package/dist/chunks/{chunk-4RHM4WN2.js → chunk-B42QQUZY.js} +1 -1
  39. package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
  40. package/dist/chunks/{chunk-CQF6QZEL.js → chunk-BEI4YULC.js} +1 -1
  41. package/dist/chunks/chunk-BKEDG3A4.js +22 -0
  42. package/dist/chunks/{chunk-GEXKTGLY.js → chunk-C7M2WBWZ.js} +14 -14
  43. package/dist/chunks/{chunk-ELYRVTTG.js → chunk-CJUVHE4U.js} +1 -1
  44. package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-EIX2V2KU.js} +1 -1
  45. package/dist/chunks/{chunk-AWPYTDH4.js → chunk-EWOTDVDJ.js} +1 -1
  46. package/dist/chunks/{chunk-B47JMAVW.js → chunk-F4TJ7WQV.js} +1 -1
  47. package/dist/chunks/{chunk-TXBIZDXG.js → chunk-F7D4BMTO.js} +1 -1
  48. package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FFWOTZQM.js} +1 -1
  49. package/dist/chunks/{chunk-6RVF2J47.js → chunk-FUSCTBJI.js} +1 -1
  50. package/dist/chunks/{chunk-BN5AVRUG.js → chunk-GAQLXFOT.js} +1 -1
  51. package/dist/chunks/{chunk-LHENAWLH.js → chunk-GEKORCMN.js} +1 -1
  52. package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-GNCEZ3UP.js} +1 -1
  53. package/dist/chunks/{chunk-WRQEYW3V.js → chunk-GOIKLFXK.js} +1 -1
  54. package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GQGLPKU4.js} +1 -1
  55. package/dist/chunks/{chunk-LBBXVOVR.js → chunk-GSWBNJGZ.js} +1 -1
  56. package/dist/chunks/{chunk-7EAWLYYB.js → chunk-GV3LFSMI.js} +1 -1
  57. package/dist/chunks/{chunk-GQUS7MCH.js → chunk-GW5SE3FM.js} +1 -1
  58. package/dist/chunks/{chunk-I3W27VK4.js → chunk-HBLN4OLY.js} +1 -1
  59. package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
  60. package/dist/chunks/{chunk-4P3X2RXA.js → chunk-HKV7RX5E.js} +1 -1
  61. package/dist/chunks/{chunk-QDBYLJGH.js → chunk-HXZXDDKW.js} +1 -1
  62. package/dist/chunks/{chunk-LNRFRAV5.js → chunk-INO67SEN.js} +1 -1
  63. package/dist/chunks/{chunk-E67M5WGY.js → chunk-IWK3RTLR.js} +1 -1
  64. package/dist/chunks/{chunk-U447MS3Y.js → chunk-J3B2GM4A.js} +1 -1
  65. package/dist/chunks/chunk-JCLTFDVW.js +2 -0
  66. package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
  67. package/dist/chunks/{chunk-D4JZALZ4.js → chunk-JIFUGA3U.js} +1 -1
  68. package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
  69. package/dist/chunks/{chunk-FWIPHEVA.js → chunk-JX6OX6XE.js} +1 -1
  70. package/dist/chunks/{chunk-D5ADDBS5.js → chunk-JY3YSI54.js} +1 -1
  71. package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
  72. package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
  73. package/dist/chunks/chunk-LILXHGIA.js +2 -0
  74. package/dist/chunks/{chunk-MCIIGQT7.js → chunk-LJDBR3RN.js} +1 -1
  75. package/dist/chunks/{chunk-3TYCIYW6.js → chunk-LJPO3TEL.js} +1 -1
  76. package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LRRBYIGH.js} +2 -2
  77. package/dist/chunks/{chunk-P4XM7LUT.js → chunk-M5IX6VUA.js} +1 -1
  78. package/dist/chunks/chunk-MEK7DLX3.js +2 -0
  79. package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
  80. package/dist/chunks/{chunk-ZBBVRYU3.js → chunk-MNFW5WLD.js} +1 -1
  81. package/dist/chunks/{chunk-2VXL6AU3.js → chunk-MNXNZDDW.js} +1 -1
  82. package/dist/chunks/chunk-N5GPINVP.js +2 -0
  83. package/dist/chunks/{chunk-TSAW2QVU.js → chunk-NBE74GLF.js} +1 -1
  84. package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-NE4ESZPT.js} +1 -1
  85. package/dist/chunks/{chunk-CO3OJFPU.js → chunk-NKZNPTLA.js} +1 -1
  86. package/dist/chunks/{chunk-WFVOG5PU.js → chunk-NLQ2UPN2.js} +1 -1
  87. package/dist/chunks/chunk-NOSBNHGC.js +18 -0
  88. package/dist/chunks/{chunk-TTN63EAM.js → chunk-NWOK6NLE.js} +1 -1
  89. package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
  90. package/dist/chunks/chunk-O3MHHGC5.js +151 -0
  91. package/dist/chunks/{chunk-IUGK6BBY.js → chunk-OCC43RSJ.js} +1 -1
  92. package/dist/chunks/{chunk-BQUWZRWU.js → chunk-P74RR2GB.js} +1 -1
  93. package/dist/chunks/{chunk-PAZDQRYU.js → chunk-PAE3PQEC.js} +1 -1
  94. package/dist/chunks/{chunk-M4ZRCRJM.js → chunk-PGO4FRHU.js} +2 -2
  95. package/dist/chunks/chunk-Q34IF4PW.js +2 -0
  96. package/dist/chunks/{chunk-Q324ZA5M.js → chunk-QAVQJZCM.js} +1 -1
  97. package/dist/chunks/{chunk-EIIGTADO.js → chunk-RBDUMASL.js} +1 -1
  98. package/dist/chunks/{chunk-TMMFF6DO.js → chunk-RH43WLBX.js} +1 -1
  99. package/dist/chunks/{chunk-RPOD6I64.js → chunk-RTJCELRR.js} +1 -1
  100. package/dist/chunks/{chunk-L3GA2CQI.js → chunk-SD64CLJX.js} +1 -1
  101. package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
  102. package/dist/chunks/{chunk-MLTKB5G3.js → chunk-SZKFNKWO.js} +1 -1
  103. package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
  104. package/dist/chunks/{chunk-PE7UKJXK.js → chunk-T6C5BNXK.js} +1 -1
  105. package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
  106. package/dist/chunks/{chunk-OQUKSRU3.js → chunk-TGEGXTPR.js} +1 -1
  107. package/dist/chunks/chunk-TM4VEMNN.js +2 -0
  108. package/dist/chunks/chunk-TUCKED4T.js +4 -0
  109. package/dist/chunks/chunk-TVTFEGTU.js +2 -0
  110. package/dist/chunks/{chunk-HZLV773Y.js → chunk-TW3SRBLU.js} +1 -1
  111. package/dist/chunks/{chunk-BNZTJPK7.js → chunk-U456UP3N.js} +1 -1
  112. package/dist/chunks/chunk-UC3FXTDL.js +9 -0
  113. package/dist/chunks/{chunk-XLULTQLZ.js → chunk-UT6F6AIB.js} +1 -1
  114. package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
  115. package/dist/chunks/{chunk-DW3GJRY3.js → chunk-VAJSRUAB.js} +1 -1
  116. package/dist/chunks/chunk-VE6ZIGUQ.js +2 -0
  117. package/dist/chunks/{chunk-GLVR74PX.js → chunk-VI32G77S.js} +1 -1
  118. package/dist/chunks/{chunk-ROE24PN5.js → chunk-VK4TPZTA.js} +1 -1
  119. package/dist/chunks/{chunk-Q66LWQGF.js → chunk-VSQXDS6H.js} +1 -1
  120. package/dist/chunks/{chunk-4GZ2FPB5.js → chunk-VWRTE64Y.js} +1 -1
  121. package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
  122. package/dist/chunks/{chunk-57RY3LSR.js → chunk-WGLVSGFA.js} +1 -1
  123. package/dist/chunks/{chunk-I7JCARVH.js → chunk-WQMXEZVE.js} +3 -3
  124. package/dist/chunks/chunk-X4ZT22SG.js +2 -0
  125. package/dist/chunks/{chunk-DGPGOBYZ.js → chunk-XSB3T4JZ.js} +1 -1
  126. package/dist/chunks/{chunk-ZZWAQBA2.js → chunk-XWDFXM3S.js} +1 -1
  127. package/dist/chunks/{chunk-4LZLO4OW.js → chunk-Y2KPHVZK.js} +1 -1
  128. package/dist/chunks/chunk-ZQHPGEYT.js +2 -0
  129. package/dist/chunks/{chunk-T4LLJC5N.js → chunk-ZXT7V64X.js} +1 -1
  130. package/dist/chunks/cli-GCSO2OAI.js +2 -0
  131. package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-BU2RPG33.js} +1 -1
  132. package/dist/chunks/connected-app-executor-UDE7U4KG.js +2 -0
  133. package/dist/chunks/{connected-evidence-4J3YXU4O.js → connected-evidence-GXIY2L7C.js} +1 -1
  134. package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-V5QXRK5Q.js} +1 -1
  135. package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
  136. package/dist/chunks/{continual-CJUZM5ZQ.js → continual-FLW6DAJK.js} +1 -1
  137. package/dist/chunks/{core-commands-JGXU6B4C.js → core-commands-NJ6TGND4.js} +1 -1
  138. package/dist/chunks/{dataset-preparation-authoring-DFGJBMVF.js → dataset-preparation-authoring-IUXUQK3L.js} +1 -1
  139. package/dist/chunks/{datasets-MNHZAZIB.js → datasets-AH56DKLZ.js} +1 -1
  140. package/dist/chunks/{desktop-test-P23MHAIG.js → desktop-test-PYUTEOWO.js} +1 -1
  141. package/dist/chunks/{dist-IIFTZWNR.js → dist-5267UT3V.js} +1 -1
  142. package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
  143. package/dist/chunks/{evaluation-coordination-6NQEH5WU.js → evaluation-coordination-3AUICOC5.js} +1 -1
  144. package/dist/chunks/{experiment-improvements-M27Z5OF4.js → experiment-improvements-YS7GGPDW.js} +1 -1
  145. package/dist/chunks/experiments-EJZK7FPT.js +2 -0
  146. package/dist/chunks/{experiments-signal-R3NNH7WR.js → experiments-signal-NKUIJCIY.js} +1 -1
  147. package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
  148. package/dist/chunks/{help-M2VQGPVC.js → help-PXUUREHZ.js} +1 -1
  149. package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +2 -0
  150. package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +2 -0
  151. package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +2 -0
  152. package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +3 -0
  153. package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +2 -0
  154. package/dist/chunks/{hosted-profile-candidate-37ZFY2LH.js → hosted-profile-candidate-DKEMVIYG.js} +1 -1
  155. package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +2 -0
  156. package/dist/chunks/{hosted-profile-evaluation-control-UQBMML6K.js → hosted-profile-evaluation-control-ERCXAPZD.js} +1 -1
  157. package/dist/chunks/{hosted-profile-evaluation-inspection-YASS4T6L.js → hosted-profile-evaluation-inspection-Q3AIIIB6.js} +1 -1
  158. package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +3 -0
  159. package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-X2YCFYEJ.js} +1 -1
  160. package/dist/chunks/{human-review-IJETDOWB.js → human-review-5WM6MSON.js} +1 -1
  161. package/dist/chunks/{import-WLLUIDS6.js → import-JWZSZCE4.js} +1 -1
  162. package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +2 -0
  163. package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +2 -0
  164. package/dist/chunks/{model-projects-AVBQDNYG.js → model-projects-H22KENI4.js} +1 -1
  165. package/dist/chunks/opchat-3S6TSDZO.js +3 -0
  166. package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +2 -0
  167. package/dist/chunks/{organizations-DJRJWC5I.js → organizations-62YNTZTO.js} +1 -1
  168. package/dist/chunks/{profile-JRS3JNRC.js → profile-ELE2D7HU.js} +1 -1
  169. package/dist/chunks/project-action-payload-32F4X2BB.js +2 -0
  170. package/dist/chunks/{project-agent-2KNJFNZI.js → project-agent-O4REKO6T.js} +1 -1
  171. package/dist/chunks/{published-experiment-source-LFYHKFAO.js → published-experiment-source-DAOTJLIN.js} +1 -1
  172. package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +2 -0
  173. package/dist/chunks/{runtime-CBJF5GMB.js → runtime-776NUSE7.js} +2 -2
  174. package/dist/chunks/{sandbox-command-IIGTPYN3.js → sandbox-command-UQ26NDIX.js} +1 -1
  175. package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-WP6YCGBK.js} +1 -1
  176. package/dist/chunks/saved-work-PG52WCRQ.js +2 -0
  177. package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-RPB65PME.js} +1 -1
  178. package/dist/chunks/{src-4YZF6L6H.js → src-2R4CMCJ5.js} +1 -1
  179. package/dist/chunks/src-AU6LG7E6.js +421 -0
  180. package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +2 -0
  181. package/dist/chunks/{store-chat-resources-CGW7PDCG.js → store-chat-resources-T4LR7K25.js} +1 -1
  182. package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-R62D2HD6.js} +1 -1
  183. package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-25O7BAR2.js} +1 -1
  184. package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-T5E2GUKK.js} +1 -1
  185. package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-5Y4U5L3R.js} +1 -1
  186. package/dist/chunks/{store-evaluation-results-V5J6L4NV.js → store-evaluation-results-WUVJWCFU.js} +1 -1
  187. package/dist/chunks/{store-harness-workspaces-HHMM6GNK.js → store-harness-workspaces-IFEFY5CK.js} +1 -1
  188. package/dist/chunks/{store-human-review-V5H4QDHR.js → store-human-review-ZQNLZRGG.js} +1 -1
  189. package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +2 -0
  190. package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-LOH4F4TF.js} +1 -1
  191. package/dist/chunks/{store-model-batch-review-KMYPYWJR.js → store-model-batch-review-QO4VVKWC.js} +1 -1
  192. package/dist/chunks/{store-model-configuration-UXNC4PGY.js → store-model-configuration-C3HSOFD5.js} +1 -1
  193. package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +2 -0
  194. package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-RNIFLJRW.js} +1 -1
  195. package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-DVQ2PP4F.js} +1 -1
  196. package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-LXWFFYCZ.js} +1 -1
  197. package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-4HH7LX6N.js} +1 -1
  198. package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-JLW4GD4Q.js} +1 -1
  199. package/dist/chunks/{store-task-inbox-LNDCZOYE.js → store-task-inbox-DL5RYFPO.js} +1 -1
  200. package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-NJXRXFLC.js} +1 -1
  201. package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +9 -0
  202. package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-VRLU6NFX.js} +1 -1
  203. package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-3ZHG4LGI.js} +1 -1
  204. package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-KWQD5PRP.js} +1 -1
  205. package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-ZRS3ILF2.js} +1 -1
  206. package/dist/chunks/{taskset-NYLUYX6K.js → taskset-QDMCQQDJ.js} +1 -1
  207. package/dist/chunks/{taskset-packages-I7I5KBFP.js → taskset-packages-CBLJFWDQ.js} +1 -1
  208. package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-GF272RGC.js} +1 -1
  209. package/dist/chunks/{training-UBX6E7SK.js → training-DF5UEPY3.js} +1 -1
  210. package/dist/chunks/{training-error-AYOGHHL2.js → training-error-L5V5IBX3.js} +1 -1
  211. package/dist/chunks/training-hosted-I2NDBYGS.js +2 -0
  212. package/dist/chunks/training-hosted-report-4F25RZZ4.js +2 -0
  213. package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
  214. package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
  215. package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-5RUXYIOF.js} +1 -1
  216. package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-JRY2IE7H.js} +1 -1
  217. package/dist/cli.js +2 -2
  218. package/dist/hosted-chat.d.ts +28 -0
  219. package/dist/index.js +1 -1
  220. package/dist/skills/openpond-cli/SKILL.md +15 -2
  221. package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
  222. package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
  223. package/dist/skills/openpond-cli/references/experiments-and-training.md +155 -10
  224. package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
  225. package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
  226. package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
  227. package/dist/web/assets/App-DHJVXTI2.js +54 -0
  228. package/dist/web/assets/App-DpFKLxuA.css +1 -0
  229. package/dist/web/assets/AppDialog-BurL61qE.js +1 -0
  230. package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +2 -0
  231. package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-DZLErwj0.js} +1 -1
  232. package/dist/web/assets/AppsView-ttlr9ckQ.js +1 -0
  233. package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-CpMSfHCK.js} +1 -1
  234. package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +1 -0
  235. package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-CEbM980A.js} +1 -1
  236. package/dist/web/assets/{ChatTimelineEntry-IKzZsHoI.js → ChatTimelineEntry-BITv20Ze.js} +1 -1
  237. package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-DrKJmJZK.js} +1 -1
  238. package/dist/web/assets/{CommandMenu-CBY2AJxV.js → CommandMenu-6oj8FUr6.js} +1 -1
  239. package/dist/web/assets/CommunityView-BzpIq1lD.js +1 -0
  240. package/dist/web/assets/ComposerAttachments-6en7m_ov.js +2 -0
  241. package/dist/web/assets/ComposerCreateImproveStrip-ChplO9YP.js +1 -0
  242. package/dist/web/assets/ConversationImportsSettings-DRHgc7j_.js +1 -0
  243. package/dist/web/assets/FilePagePreview-CW4J_1u7.js +2 -0
  244. package/dist/web/assets/GetStartedView-CaBk_mX6.js +1 -0
  245. package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
  246. package/dist/web/assets/GettingStartedDialog-JtFLyU3F.js +1 -0
  247. package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-hhcjDifK.js} +1 -1
  248. package/dist/web/assets/HostedModelLearningSettings-CY8198Y1.js +1 -0
  249. package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +1 -0
  250. package/dist/web/assets/LabSkillSidebar-HibUEEko.js +1 -0
  251. package/dist/web/assets/{LabsRoute-DOnw39du.js → LabsRoute-B61l1b8P.js} +8 -8
  252. package/dist/web/assets/MainChatThread-egKi0gLk.js +2 -0
  253. package/dist/web/assets/MainPane-2dj6Dg4l.js +95 -0
  254. package/dist/web/assets/{MainPane-CuBUBA9F.css → MainPane-BwHw3UYp.css} +1 -1
  255. package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
  256. package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +2 -0
  257. package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +1 -0
  258. package/dist/web/assets/NewProjectDialog-t9Imnb__.js +1 -0
  259. package/dist/web/assets/OutputsPage-CeGq_F1S.js +1 -0
  260. package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-VHME5V8j.js} +1 -1
  261. package/dist/web/assets/ProjectsPage-2TMZoEPB.js +1 -0
  262. package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +1 -0
  263. package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +1 -0
  264. package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +1 -0
  265. package/dist/web/assets/SettingsView-D2bu3tK_.js +5 -0
  266. package/dist/web/assets/TeamChatView-CN17AsgA.js +1 -0
  267. package/dist/web/assets/TerminalOverlay-DlhRpi-X.js +16 -0
  268. package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +1 -0
  269. package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-BhhZPPuY.js} +1 -1
  270. package/dist/web/assets/{TrainingMetricWorkbench-BmzHLwIP.js → TrainingMetricWorkbench-DBy8F1xp.js} +1 -1
  271. package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-DTZslBeW.js} +2 -2
  272. package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +1 -0
  273. package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +11 -0
  274. package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +35 -0
  275. package/dist/web/assets/WorkspaceFileLocation-ChEeZffU.js +1 -0
  276. package/dist/web/assets/WorkspaceGitDialogs-D_RUXhTi.js +1 -0
  277. package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-BJxaiDrj.js} +3 -3
  278. package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-A28Poeca.js} +1 -1
  279. package/dist/web/assets/{chat-resources-CItQ4mZD.js → chat-resources-3SvnVeKv.js} +1 -1
  280. package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-dYn0pd4Q.js} +1 -1
  281. package/dist/web/assets/chevron-right-sFx2xRvT.js +1 -0
  282. package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-BYNVSWIQ-DWh9SmdB.js} +1 -1
  283. package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ZFYI4P6C-BmsNtSkR.js} +1 -1
  284. package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-DTTLbrYt.js} +1 -1
  285. package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-CRMPCFnq.js} +1 -1
  286. package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
  287. package/dist/web/assets/copy-DR4ielPn.js +1 -0
  288. package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-DmttVQ_a.js} +1 -1
  289. package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-d-2GuNvW.js} +1 -1
  290. package/dist/web/assets/external-link-B4rPiZEp.js +1 -0
  291. package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-BrIUcUk_.js} +1 -1
  292. package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-DwImGEt-.js} +1 -1
  293. package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-Ds1mkrlW.js} +1 -1
  294. package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-s15GR0Fn.js} +1 -1
  295. package/dist/web/assets/icons-CK5-nxVC.js +1 -0
  296. package/dist/web/assets/{image-C7HVlg3X.js → image-CY-sHbfQ.js} +1 -1
  297. package/dist/web/assets/{index-BsPUniZy.js → index-DYrLeSyY.js} +2 -2
  298. package/dist/web/assets/index-Dezj4Z2p.css +1 -0
  299. package/dist/web/assets/{info-BLWDShaz.js → info-aSvM8YlJ.js} +1 -1
  300. package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-vos9H2hz.js} +1 -1
  301. package/dist/web/assets/loader-circle-cyf35w3i.js +1 -0
  302. package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-pQmEaoMt.js} +1 -1
  303. package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-DgF6ZVOM.js} +1 -1
  304. package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-BPwsKvRB.js} +2 -2
  305. package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-BbMpa0_-.js} +2 -2
  306. package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-CJlccVX3.js} +2 -2
  307. package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-pWurLXbm.js} +2 -2
  308. package/dist/web/assets/{monitor-B6OuAu13.js → monitor-DlEV241C.js} +1 -1
  309. package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-fnRZSIRc.js} +1 -1
  310. package/dist/web/assets/{pdf-RXlFwNte.js → pdf-CT3zVKCE.js} +1 -1
  311. package/dist/web/assets/play-wI_3FLr4.js +1 -0
  312. package/dist/web/assets/plus-DoJe4fLj.js +1 -0
  313. package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-Bb8ecExR.js} +1 -1
  314. package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
  315. package/dist/web/assets/{python-BQXo7wMt.js → python-DXA1xp0A.js} +1 -1
  316. package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-B53QjxMO.js} +1 -1
  317. package/dist/web/assets/{save-BxXc21N6.js → save-V1Q4Fcqa.js} +1 -1
  318. package/dist/web/assets/settings-lists-CtH1A57b.js +5 -0
  319. package/dist/web/assets/square-BqSK-hv9.js +1 -0
  320. package/dist/web/assets/square-terminal-Dmgkm5zY.js +1 -0
  321. package/dist/web/assets/submit-issue-command-DRgUboVW.js +3 -0
  322. package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-B-BD2K2Q.js} +1 -1
  323. package/dist/web/assets/{training-managed-adapter-81RrdT1k.js → training-managed-adapter-BXNwgd3P.js} +1 -1
  324. package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-14942K_Z.js} +5 -5
  325. package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-DdgIcxK3.js} +1 -1
  326. package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
  327. package/dist/web/assets/{upload-NXasN1wU.js → upload-82Y6RjLi.js} +1 -1
  328. package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-BgHXNpq_.js} +1 -1
  329. package/dist/web/assets/{useAgentInventory-BV4CUWzJ.js → useAgentInventory-B-LNn3up.js} +1 -1
  330. package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CsKv22Hs.js} +1 -1
  331. package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-CPC2wsWm.js} +1 -1
  332. package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-DXOoDN9l.js} +1 -1
  333. package/dist/web/assets/{workers-u92Boudu.js → workers-Clf4hKt5.js} +1 -1
  334. package/dist/web/assets/x-IPhrr4ju.js +1 -0
  335. package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-I1tf8Uxx.js} +1 -1
  336. package/dist/web/index.html +12 -3
  337. package/docs/command-reference.md +28 -2
  338. package/package.json +2 -1
  339. package/dist/chunks/app-server-evaluations-HAAYVEXB.js +0 -2
  340. package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
  341. package/dist/chunks/chunk-4N3UF3U5.js +0 -2
  342. package/dist/chunks/chunk-6DCXAXVD.js +0 -22
  343. package/dist/chunks/chunk-BLKTUFGB.js +0 -2
  344. package/dist/chunks/chunk-E3EKBPCB.js +0 -2
  345. package/dist/chunks/chunk-F5JDBDYL.js +0 -2
  346. package/dist/chunks/chunk-JEVA7YQL.js +0 -3
  347. package/dist/chunks/chunk-KC7I6E6W.js +0 -2
  348. package/dist/chunks/chunk-OJSK4NSW.js +0 -151
  349. package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
  350. package/dist/chunks/chunk-UJBEWIR3.js +0 -8
  351. package/dist/chunks/chunk-V67IFV26.js +0 -86
  352. package/dist/chunks/chunk-VSUHJ46L.js +0 -18
  353. package/dist/chunks/chunk-X3WEQL3O.js +0 -2
  354. package/dist/chunks/chunk-XK7SPL63.js +0 -2
  355. package/dist/chunks/chunk-YR5ID2SS.js +0 -2
  356. package/dist/chunks/cli-WC45SI7E.js +0 -2
  357. package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
  358. package/dist/chunks/experiments-IWSCFDBB.js +0 -2
  359. package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
  360. package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
  361. package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
  362. package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
  363. package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
  364. package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
  365. package/dist/chunks/hosted-profile-evaluation-preparation-ZAOGDQXO.js +0 -3
  366. package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
  367. package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
  368. package/dist/chunks/opchat-KSOJEL4W.js +0 -3
  369. package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
  370. package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
  371. package/dist/chunks/saved-work-QA46KCME.js +0 -2
  372. package/dist/chunks/src-E7NWAN5B.js +0 -420
  373. package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
  374. package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
  375. package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
  376. package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
  377. package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
  378. package/dist/web/assets/App-Df7uYQGj.css +0 -1
  379. package/dist/web/assets/App-Yy3l2sdD.js +0 -56
  380. package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
  381. package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
  382. package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
  383. package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
  384. package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
  385. package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
  386. package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
  387. package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
  388. package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
  389. package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
  390. package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
  391. package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
  392. package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
  393. package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
  394. package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
  395. package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
  396. package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
  397. package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
  398. package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
  399. package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
  400. package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
  401. package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
  402. package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
  403. package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
  404. package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
  405. package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
  406. package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
  407. package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
  408. package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
  409. package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
  410. package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
  411. package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
  412. package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
  413. package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
  414. package/dist/web/assets/icons-kaq6k88m.js +0 -1
  415. package/dist/web/assets/index-DUMDOdB2.css +0 -1
  416. package/dist/web/assets/play-BPPQoqMl.js +0 -1
  417. package/dist/web/assets/plus-D18vYzHF.js +0 -1
  418. package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
  419. package/dist/web/assets/square-Da8RuqW4.js +0 -1
  420. package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
@@ -0,0 +1,95 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ComposerCreateImproveStrip-ChplO9YP.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-DYrLeSyY.js","assets/index-Dezj4Z2p.css","assets/create-pipeline-CyUZrbbO.js","assets/schemas-lO3MoWQr.js","assets/icons-CK5-nxVC.js","assets/training-model-data-14942K_Z.js","assets/api-client-Dgz-fOMl.js","assets/createLucideIcon-DmttVQ_a.js","assets/copy-DR4ielPn.js","assets/x-IPhrr4ju.js","assets/App-DHJVXTI2.js","assets/useQuery-CPC2wsWm.js","assets/common-BMjyKlX-.js","assets/settings-BKmRueaw.js","assets/client-choice-storage-DTTLbrYt.js","assets/app-models-BviS9b7U.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BHTOD1nd.js","assets/training-managed-adapter-BXNwgd3P.js","assets/chunk-ZFYI4P6C-BmsNtSkR.js","assets/reward-checks-5AOStF27.js","assets/chat-resources-3SvnVeKv.js","assets/ponder-desktop-Dm7tOkKo.js","assets/submit-issue-command-DRgUboVW.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-ujSvTf5h.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/chevron-down-dYn0pd4Q.js","assets/chevron-right-sFx2xRvT.js","assets/external-link-B4rPiZEp.js","assets/loader-circle-cyf35w3i.js","assets/maximize-2-DgF6ZVOM.js","assets/plus-DoJe4fLj.js","assets/refresh-cw-B53QjxMO.js","assets/square-terminal-Dmgkm5zY.js","assets/AppToastContext-DZLErwj0.js","assets/models-route-Bl_TmMl6.js","assets/NativeSetupTerminal-CNHTByLo.js","assets/AppDialog-BurL61qE.js","assets/PageChrome-VHME5V8j.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/organization-types-PP-yuR2J.js","assets/ui-theme.generated-D-mc26qt.js","assets/App-DpFKLxuA.css","assets/play-wI_3FLr4.js","assets/WorkspacePresentationPreview-A28Poeca.js","assets/WorkspaceFileLocation-ChEeZffU.js","assets/aiden0z-pptx-renderer.es-Bo43EjzT.js","assets/jszip.min-BWcKrrYP.js","assets/FilePagePreview-CW4J_1u7.js","assets/docx-preview-Blk_WGfs.js","assets/WorkspaceDiffPanel-D_iyg2D4.js","assets/folder-open-BrIUcUk_.js","assets/info-aSvM8YlJ.js","assets/save-V1Q4Fcqa.js","assets/AppTerminalPanel-RjFlF-a4.js","assets/CollaborationTabs-DrKJmJZK.js","assets/CollaborationTabs-CU-9Shwu.css","assets/AppsView-ttlr9ckQ.js","assets/settings-lists-CtH1A57b.js","assets/settings-lists-CBaz4cGG.css","assets/useAgentInventory-B-LNn3up.js","assets/AppsView-DNHWzJb2.css","assets/settings-forms-DLe1dTYN.css","assets/GetStartedView-CaBk_mX6.js","assets/GetStartedView-idp5pnnE.css","assets/LabsRoute-B61l1b8P.js","assets/chunk-BYNVSWIQ-DWh9SmdB.js","assets/cloud-upload-CRMPCFnq.js","assets/LabsRoute-CE45yAXJ.css","assets/ScheduledWorkPage-Dh47iH11.js","assets/ComposerAttachments-6en7m_ov.js","assets/AttachmentTypeIcon-CpMSfHCK.js","assets/presentation-Bb8ecExR.js","assets/image-CY-sHbfQ.js","assets/useLocalAgentSchedules-CsKv22Hs.js","assets/OutputsPage-CeGq_F1S.js","assets/ProjectsPage-2TMZoEPB.js","assets/ProjectsPage-BPoAzc-Z.css","assets/LabSkillSidebar-HibUEEko.js","assets/LabSkillSidebar-Uy4vA6fy.css","assets/BrowserSidebar-Cp2l0kg0.js","assets/RightChatPanelStack-B3mBViGC.js","assets/ChatTimelineEntry-BITv20Ze.js","assets/NativeSkillSidebar-DCdMbSfe.js","assets/NativeSkillSidebar-D4DVkqqR.css","assets/TeamChatView-CN17AsgA.js","assets/TeamChatView-BMZ8S7Sj.css","assets/CommunityView-BzpIq1lD.js","assets/wifi-off-DXOoDN9l.js","assets/paperclip-fnRZSIRc.js","assets/CommunityView-C5uLqiF2.css","assets/TrainingDraftPanel-BhhZPPuY.js","assets/MainChatThread-egKi0gLk.js","assets/TrainingCreationPanel-DJKzaNFj.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,h as n,l as r,m as i,s as a,t as o}from"./index-DYrLeSyY.js";import{T as s,a as c,n as l,o as u,r as d,t as f}from"./useQuery-CPC2wsWm.js";import{S as p,T as m,a as h,b as g,c as _,d as v,g as y,m as b,o as x,p as S,r as C,v as w,x as T}from"./schemas-lO3MoWQr.js";import{a as E,c as D,d as O,i as k,n as A,o as j,s as M}from"./common-BMjyKlX-.js";import{D as N,O as P,k as F}from"./settings-BKmRueaw.js";import{n as I,o as ee}from"./client-choice-storage-DTTLbrYt.js";import{C as te,D as L,N as R,O as z,S as ne,c as re,d as ie,f as ae,k as oe,l as B,o as V,s as se,t as ce,u as le,v as ue,y as de}from"./app-models-BviS9b7U.js";import{n as fe}from"./create-pipeline-CyUZrbbO.js";import{t as pe}from"./profile-ref-DSNkG6Ol.js";import{D as me,h as he}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{a as H,i as ge,n as _e,o as ve,r as ye,t as be}from"./ComposerAttachments-6en7m_ov.js";import{n as xe}from"./work-outputs-CK0nHe4g.js";import{A as Se,D as Ce,E as we}from"./contracts-BHTOD1nd.js";import{$ as Te,G as Ee,H as De,K as Oe,U as ke,V as U,q as Ae,z as je}from"./training-managed-adapter-BXNwgd3P.js";import{a as Me,d as Ne,i as Pe,l as Fe,n as Ie,o as Le,s as Re,t as ze,u as Be}from"./chat-resources-3SvnVeKv.js";import{A as Ve,E as He,M as Ue,j as We}from"./chunk-ZFYI4P6C-BmsNtSkR.js";import{r as Ge}from"./ponder-desktop-Dm7tOkKo.js";import{i as Ke,n as W,t as G}from"./api-client-Dgz-fOMl.js";import{D as qe,L as Je,O as Ye,P as Xe,R as Ze,S as Qe,_ as $e,a as et,c as tt,d as nt,f as rt,g as it,i as at,j as ot,k as st,l as ct,m as lt,n as ut,o as dt,p as ft,r as pt,s as mt,t as ht,w as gt,x as _t}from"./submit-issue-command-DRgUboVW.js";import{n as vt,s as yt,t as bt}from"./browser-sidebar-links-ujSvTf5h.js";import{t as xt}from"./query-scope-BRpcgljO.js";import"./icons-CK5-nxVC.js";import{t as St}from"./createLucideIcon-DmttVQ_a.js";import{A as Ct,B as wt,C as Tt,D as Et,E as Dt,F as K,H as Ot,I as kt,L as At,M as jt,N as Mt,O as Nt,P as Pt,S as Ft,T as It,V as Lt,b as Rt,j as zt,k as Bt,m as Vt,n as Ht,o as Ut,w as Wt,x as Gt,z as Kt}from"./training-model-data-14942K_Z.js";import{Ut as qt}from"./CartesianChart-CEbM980A.js";import{t as Jt}from"./chevron-down-dYn0pd4Q.js";import{t as Yt}from"./chevron-right-sFx2xRvT.js";import{t as Xt}from"./cloud-upload-CRMPCFnq.js";import{t as Zt}from"./copy-DR4ielPn.js";import{t as Qt}from"./external-link-B4rPiZEp.js";import{t as $t}from"./folder-open-BrIUcUk_.js";import{t as en}from"./image-CY-sHbfQ.js";import{t as tn}from"./loader-circle-cyf35w3i.js";import{t as nn}from"./maximize-2-DgF6ZVOM.js";import{t as rn}from"./paperclip-fnRZSIRc.js";import{t as an}from"./play-wI_3FLr4.js";import{t as on}from"./plus-DoJe4fLj.js";import{t as sn}from"./refresh-cw-B53QjxMO.js";import{t as cn}from"./square-BqSK-hv9.js";import{t as ln}from"./square-terminal-Dmgkm5zY.js";import{t as un}from"./x-IPhrr4ju.js";import{n as dn,r as fn}from"./AppToastContext-DZLErwj0.js";import{a as pn,i as mn}from"./models-route-Bl_TmMl6.js";import{t as hn}from"./AppDialog-BurL61qE.js";import{c as gn,i as _n,l as vn,o as yn,r as bn,s as xn,t as Sn,u as Cn}from"./connected-app-mentions-D3wRZLwI.js";import{t as wn}from"./browser-url-LACq2Ngu.js";import{n as Tn,t as En}from"./profile-agent-labels-Duh96b8x.js";import{$ as Dn,$t as On,A as kn,At as An,Bn as jn,Bt as q,C as Mn,Cn as Nn,D as Pn,F as Fn,Fn as In,Gt as J,Hn as Ln,Ht as Y,I as Rn,In as zn,J as Bn,Jt as Vn,M as Hn,Mt as Un,N as Wn,Nt as Gn,O as Kn,On as qn,P as Jn,Pt as Yn,Qn as Xn,Qt as Zn,Sn as Qn,St as $n,T as er,Tn as tr,Vn as nr,Vt as X,W as rr,Wt as ir,Xn as ar,Zn as or,an as sr,at as cr,b as lr,c as ur,cn as dr,dn as fr,dt as pr,en as mr,et as hr,fn as gr,hn as _r,in as vr,it as yr,j as br,jt as xr,k as Sr,ln as Cr,mn as wr,nn as Tr,pn as Er,qt as Dr,rn as Or,sn as kr,tn as Ar,tt as jr,un as Mr,ut as Nr,v as Pr,vn as Fr,w as Ir,wn as Z,x as Lr,y as Rr,yn as zr,zn as Br}from"./App-DHJVXTI2.js";import{r as Vr,t as Hr}from"./AttachmentTypeIcon-CpMSfHCK.js";import{t as Ur}from"./TrainingMetricWorkbench-DBy8F1xp.js";var Wr=class extends d{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,l=n.fetchMeta?.fetchMore?.direction,d=o&&l===`forward`,f=i&&l===`forward`,p=o&&l===`backward`,m=i&&l===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:c(t,n.data),hasPreviousPage:u(t,n.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:s&&!d&&!p,isRefetching:a&&!f&&!m}}};function Gr(e,t){return l(e,Wr,t)}var Kr=b({schemaVersion:v(`openpond.optimizerTrainingSample.v1`),tokenIds:h(S().int().nonnegative()).min(2).max(32768),mask:h(x()).min(2).max(32768),logprobs:h(S().finite()).min(2).max(32768),temperatures:h(S().positive().finite()).min(2).max(32768),envName:w().trim().min(1).max(200),modelRequestId:w().trim().min(1).max(1e3),promptTokenCount:S().int().positive(),completionTokenCount:S().int().positive(),servedPolicyVersion:S().int().nonnegative()}).strict().superRefine((e,t)=>{let n=e.tokenIds.length;for(let[r,i]of[[`mask`,e.mask],[`logprobs`,e.logprobs],[`temperatures`,e.temperatures]])i.length!==n&&t.addIssue({code:`custom`,path:[r],message:`${r} must align with tokenIds`});e.promptTokenCount+e.completionTokenCount!==n&&t.addIssue({code:`custom`,path:[`completionTokenCount`],message:`prompt and completion token counts must span tokenIds`}),e.mask.filter(e=>!e).length!==e.promptTokenCount&&t.addIssue({code:`custom`,path:[`mask`],message:`promptTokenCount must equal the non-trainable mask count`}),e.mask.filter(Boolean).length!==e.completionTokenCount&&t.addIssue({code:`custom`,path:[`mask`],message:`completionTokenCount must equal the trainable mask count`})}),qr=b({id:M,environmentRelease:k,status:C([`completed`,`failed`,`timed_out`,`cancelled`]),startedAt:D,completedAt:D,traceRefs:h(A).max(1e4),metadata:E}).strict(),Jr=b({receiptRef:k,status:Ue,value:S().min(0).max(1).nullable(),learningEligible:x(),passed:x(),outcomeClass:Ve,failureOwner:We.nullable(),components:y(M,S().min(0).max(1).nullable())}).strict(),Yr=b({schemaVersion:v(`openpond.canonicalRolloutRecord.v1`),id:M,attemptRef:k,artifactManifestRef:k,tasksetRelease:k,environmentRelease:k,verifierSetRelease:k,harnessRelease:k,taskId:M,split:me,model:N,seed:w().trim().min(1).max(500),reward:Jr,traceRef:A,optimizerSample:Kr.nullable(),environmentExecutions:h(qr).min(1).max(1e5),startedAt:D,completedAt:D,metadata:E}).strict();function Xr(e,t){e.reward.status===`scored`&&(e.reward.value===null||!e.reward.learningEligible)&&t.addIssue({code:`custom`,path:[`reward`,`status`],message:`A scored rollout requires a numeric, learning-eligible reward.`}),e.reward.status===`unscorable`&&(e.reward.value!==null||e.reward.learningEligible)&&t.addIssue({code:`custom`,path:[`reward`,`status`],message:`An unscorable rollout has no reward and cannot be learning-eligible.`})}Yr.superRefine(Xr),b({...Yr.shape,contentHash:j}).strict().superRefine(Xr);var Zr=w().trim().min(1).max(200),Qr=b({operationId:Zr,request:Ee,maximumCostUsd:S().finite().positive().max(1e4),graders:h(De).min(1).max(100).optional(),sourceExperimentId:Zr.optional()}).strict().superRefine((e,t)=>{e.request.name||t.addIssue({code:`custom`,path:[`request`,`name`],message:`Name this Experiment before starting it.`}),e.operationId!==e.request.operationId&&t.addIssue({code:`custom`,path:[`request`,`operationId`],message:`Use one operation identity for this Experiment.`}),Math.round(e.maximumCostUsd*1e6)<1&&t.addIssue({code:`custom`,path:[`maximumCostUsd`],message:`The spending cap must be at least $0.000001.`}),e.graders&&new Set(e.graders.map(e=>e.id)).size!==e.graders.length&&t.addIssue({code:`custom`,path:[`graders`],message:`Select each grader once.`})}),$r=C([`trajectory`,`reward`,`demonstration`,`preference`,`correction`,`critique`,`targeted_feedback`,`grader_evidence`,`infrastructure_failure`]),ei=b({datasetRelease:k,harnessRelease:k,evidenceSetRelease:k.nullable(),profileRelease:k.nullable(),model:b({source:w().trim().min(1).max(200),revision:w().trim().min(1).max(500),artifactHash:j.nullable()}).strict(),environmentHash:j,graderHash:j,toolContractHash:j,verificationReceiptHash:j.nullable()}).strict(),ti=b({schemaVersion:v(`openpond.learningSignal.v1`),id:M,taskId:M.nullable(),episodeId:M.nullable(),policyVersion:S().int().nonnegative().nullable(),lineage:ei,approved:x(),verifier:C([`deterministic`,`model_judge`,`human`,`none`]),createdAt:D,contentHash:j,metadata:y(w(),T()).default({})}).strict(),ni=ti.extend({kind:v(`trajectory`),payload:b({traceRef:w().trim().min(1).max(2e3),traceHash:j,terminal:x(),failureClass:C([`policy_failure`,`grader_failure`,`environment_failure`,`infrastructure_failure`,`timeout`,`cancelled`]).nullable(),optimizerSample:Kr.nullable().optional()}).strict()}).strict(),ri=ti.extend({kind:v(`reward`),payload:b({reward:S().finite(),components:y(w(),S().finite()),eligible:x(),graderEvidenceRefs:h(M).max(1e3)}).strict()}).strict(),ii=ti.extend({kind:v(`demonstration`),payload:b({prompt:w().max(5e5),response:w().max(1e6)}).strict()}).strict(),ai=ti.extend({kind:v(`preference`),payload:b({prompt:w().max(5e5),chosen:w().max(1e6),rejected:w().max(1e6),rationale:w().max(5e5).nullable()}).strict()}).strict(),oi=ti.extend({kind:v(`correction`),payload:b({original:w().max(1e6),corrected:w().max(1e6),rationale:w().max(5e5).nullable()}).strict()}).strict(),si=ti.extend({kind:v(`critique`),payload:b({response:w().max(1e6),critique:w().max(5e5),severity:C([`note`,`warning`,`error`])}).strict()}).strict(),ci=ti.extend({kind:v(`targeted_feedback`),payload:b({turnIndex:S().int().nonnegative(),target:C([`reasoning`,`tool`,`answer`,`policy`]),feedback:w().max(5e5)}).strict()}).strict(),li=ti.extend({kind:v(`grader_evidence`),payload:b({graderId:M,score:S().finite().nullable(),passed:x(),privilegedArtifactRefs:h(w().trim().min(1).max(2e3))}).strict()}).strict(),ui=ti.extend({kind:v(`infrastructure_failure`),approved:v(!1),verifier:v(`none`),payload:b({code:M,phase:M,retryable:x(),rewardEligible:v(!1)}).strict()}).strict(),di=_(`kind`,[ni,ri,ii,ai,oi,si,ci,li,ui]);b({schemaVersion:v(`openpond.learningSignalBatch.v1`),manifestId:M,manifestHash:j,sequence:S().int().nonnegative(),signals:h(di).min(1).max(1e5),contentHash:j}).strict();var fi=b({schemaVersion:v(`openpond.trainingEngineCapabilities.v1`),adapterId:M,available:x(),methods:h(w().trim().min(1).max(100)),signalKinds:h($r),modelFamilies:h(w().trim().min(1).max(200)),precisions:h(C([`fp32`,`fp16`,`bf16`,`tf32`,`int8`,`int4`])),topologies:h(w().trim().min(1).max(200)),workerProtocolVersion:w().trim().min(1).max(200),upstreamRevision:w().trim().min(1).max(500),workerImageDigest:w().regex(/^sha256:[a-f0-9]{64}$/).nullable().default(null),capabilityReceipt:j,checkedAt:D,unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict(),pi=b({schemaVersion:v(`openpond.computeTargetCapabilities.v1`),adapterId:M,kind:C([`local`,`ssh`,`managed`,`custom`]),provider:M.nullable(),available:x(),devices:h(b({id:M,kind:C([`cpu`,`gpu`,`accelerator`]),vendor:w().trim().min(1).max(200),name:w().trim().min(1).max(500),memoryBytes:S().int().nonnegative().nullable(),runtime:w().trim().min(1).max(200)}).strict()),supportsWorkerImages:x(),supportsArtifactTransfer:x(),supportsCancellation:x(),capabilityReceipt:j,checkedAt:D,unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict(),mi=b({schemaVersion:v(`openpond.harnessRuntimeCapabilities.v1`),adapterId:M,available:x(),placements:h(C([`local`,`remote`,`colocated`,`provider_native`])),lifecycle:h(C([`create`,`reset`,`step`,`grade`,`collect`,`destroy`])),deterministicReplay:x(),privilegedIsolation:x(),capabilityReceipt:j,checkedAt:D,unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict();b({schemaVersion:v(`openpond.resolvedTrainingPlan.v1`),manifest:jn,recipe:In,runtime:nr,compute:Br,engine:Ln,execution:b({trainingPlanId:M,approvalId:M}).strict().nullable(),maximumSpendUsd:S().nonnegative().nullable(),approvalHash:j,contentHash:j}).strict().superRefine((e,t)=>{let n=[[`runtime`,e.runtime,e.manifest.runtimeTarget],[`compute`,e.compute,e.manifest.computeTarget],[`engine`,e.engine,e.manifest.engine]];for(let[e,r,i]of n)JSON.stringify(r)!==JSON.stringify(i)&&t.addIssue({code:`custom`,path:[e],message:`${e} must exactly match the Harness Run Manifest`});e.recipe.method!==e.manifest.recipe.method&&t.addIssue({code:`custom`,path:[`recipe`,`method`],message:`Recipe method must match the Harness Run Manifest`}),e.approvalHash!==e.manifest.approval.approvalHash&&t.addIssue({code:`custom`,path:[`approvalHash`],message:`Approval hash must match the Harness Run Manifest`}),e.maximumSpendUsd!==e.manifest.approval.maximumSpendUsd&&t.addIssue({code:`custom`,path:[`maximumSpendUsd`],message:`Maximum spend must match the Harness Run Manifest`})}),b({schemaVersion:v(`openpond.adapterValidationReceipt.v1`),adapterId:M,valid:x(),issues:h(b({code:M,path:w().trim().max(2e3).nullable(),message:w().trim().min(1).max(5e3)}).strict()),capabilityReceipt:j,planHash:j,createdAt:D,contentHash:j}).strict(),b({runId:M,adapterId:M,protocolVersion:C([`openpond.training.v2`,`adapter.native.v1`]).default(`adapter.native.v1`),routeFamily:C([`training_v2`,`adapter_native`]).default(`adapter_native`),routeId:M.optional(),providerJobId:w().trim().min(1).max(1e3).nullable(),tenantId:M.optional(),leaseId:M.nullable(),manifestHash:j.optional(),inputBundleHash:j.optional(),createdAt:D}).strict(),b({runId:M,state:C([`queued`,`preparing`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`]),phase:w().trim().min(1).max(200),progress:S().min(0).max(1).nullable(),rolloutProgress:b({groupsCompleted:S().int().nonnegative(),groupsTarget:S().int().nonnegative(),optimizerUpdatesApplied:S().int().nonnegative(),optimizerUpdatesSkipped:S().int().nonnegative()}).strict().optional(),updatedAt:D,errorCode:M.nullable()}).strict(),b({runId:M,manifestHash:j,artifacts:h(b({kind:C([`checkpoint`,`adapter`,`metrics`,`trace`,`evaluation`,`receipt`]),objectRef:w().trim().min(1).max(2e3),sha256:j,sizeBytes:S().int().nonnegative(),metadata:y(w(),T()).optional()}).strict()),contentHash:j}).strict();var hi=C([`ready`,`model_download_required`,`compute_setup_required`,`provider_managed`,`unsupported`]),gi=b({id:M,label:w().trim().min(1).max(500),description:w().trim().min(1).max(2e3),destinationId:M,computeAdapterId:M,runtimeAdapterId:M,engineAdapterId:M,methods:h(w().trim().min(1).max(100)),capabilityPills:h(w().trim().min(1).max(100)),executionMode:C([`local_worker`,`provider_native`]),approvalPolicy:b({providerId:P,providerLabel:w().trim().min(1).max(200),settingsActionLabel:w().trim().min(1).max(500).nullable(),exportApprovalRequired:x(),exportDescription:w().trim().min(1).max(2e3).nullable(),preparationRequired:x(),minimumSpendUsd:S().nonnegative(),maximumSpendUsd:S().positive(),defaultMaximumSpendUsd:S().positive(),minimumRetentionDays:S().int().positive(),maximumRetentionDays:S().int().positive(),defaultRetentionDays:S().int().positive(),methodRequirement:w().trim().min(1).max(2e3).nullable()}).strict().nullable(),limits:b({maximumSequenceLength:S().int().positive(),maximumOutputTokens:S().int().positive(),maximumTrainingExamples:S().int().positive().nullable()}).strict(),defaults:b({loraRank:S().int().positive(),maxSteps:S().int().positive(),rolloutGroupSize:S().int().min(2).max(32),rolloutConcurrency:S().int().positive().max(32),rolloutOutputTokens:S().int().positive()}).strict(),available:x(),unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict(),_i=b({selectionKey:M,label:w().trim().min(1).max(500),source:C([`local`,`builtin`,`huggingface`,`managed`,`search`]),modelId:w().trim().min(1).max(1e3),revision:w().trim().min(1).max(500).nullable(),tokenizerRevision:w().trim().min(1).max(500).nullable(),chatTemplateHash:j.nullable(),modelAssetId:M.nullable(),expectedBytes:S().int().nonnegative().nullable(),cached:x(),known:x(),searchResolved:x(),computeAdapterIds:h(M),engineAdapterIds:h(M),preparationState:hi,reason:w().trim().min(1).max(5e3).nullable(),compatibilities:h(b({targetId:M,methods:h(w().trim().min(1).max(100)),state:hi,reason:w().trim().min(1).max(5e3).nullable()}).strict())}).strict(),vi=b({schemaVersion:v(`openpond.trainingCatalog.v1`),models:h(_i).max(1e5),engines:h(fi),compute:h(pi),runtimes:h(mi),targets:h(gi),generatedAt:D,contentHash:j}).strict();b({schemaVersion:v(`openpond.trainingPreparationPlan.v1`),modelRunId:M,state:hi,reason:w().trim().min(1).max(5e3).nullable(),runtime:nr.nullable(),compute:Br.nullable(),engine:Ln.nullable(),downloads:h(b({kind:v(`model`),label:w().trim().min(1).max(500),expectedBytes:S().int().nonnegative(),digest:w().trim().min(8).max(500),cached:x(),state:C([`ready`,`required`,`downloading`,`cancelled`,`failed`]),progress:S().min(0).max(1).nullable(),cancellable:x(),diskImpactBytes:S().int().nonnegative()}).strict()),dataMovement:h(b({direction:C([`upload`,`download`,`none`]),label:w().trim().min(1).max(500),bytes:S().int().nonnegative().nullable()}).strict()),quoteUsd:S().nonnegative().nullable(),maximumSpendUsd:S().nonnegative().nullable(),retentionDays:S().int().nonnegative().nullable(),sideEffectsStarted:v(!1),contentHash:j}).strict();var yi=w().trim().min(1).max(200),bi=w().regex(/^[a-f0-9]{64}$/),xi=C([`queued`,`running`,`cancelling`,`completed`,`failed`,`cancelled`,`interrupted`]),Si=b({providerId:C([`openpond`,`custom-openai-compatible`,`claude-code`,`codex`]),modelId:w().trim().min(1).max(500),configurationHash:bi,maxOutputTokens:S().int().positive().max(262144),temperature:S().min(0).max(2).optional(),topP:S().positive().max(1).optional(),messages:h(b({role:C([`system`,`user`,`assistant`]),content:w().max(262144)}).strict()).max(200)}).strict();b({configuration:ke,package:He}).strict(),b({configuration:ke,expectedPackageHash:bi.optional()}).strict(),b({schemaVersion:v(`openpond.localExperimentDefinition.v1`),location:v(`local`),id:yi,teamId:yi,ownerActorId:yi,revision:S().int().positive(),configuration:ke,model:Si,packageHash:bi,graders:h(U).min(1).max(100),availableGraders:h(U).min(1).max(1e3),createdAt:m(),updatedAt:m(),contentHash:bi}).strict(),b({operationId:yi,definition:je}).strict(),b({teamId:yi,id:yi}).strict(),b({teamId:yi,projectId:yi.optional(),status:xi.optional(),datasetHash:bi.optional(),search:w().max(100).optional(),afterId:yi.optional(),limit:S().int().min(1).max(100).default(30)}).strict();var Ci=b({schemaVersion:v(`openpond.localExperimentExecution.v1`),location:v(`local`),id:yi,teamId:yi,ownerActorId:yi,operationId:yi,definition:je,kind:C([`target`,`scoring`]),executionHash:bi,sourceExecution:b({id:yi,executionHash:bi}).strict().nullable(),packageHash:bi,maximumCostUsd:S().finite().positive(),status:xi,createdAt:m(),completedAt:m().nullable(),counts:b({pending:S().int().nonnegative(),running:S().int().nonnegative(),completed:S().int().nonnegative(),failed:S().int().nonnegative(),cancelled:S().int().nonnegative(),unknown:S().int().nonnegative()}).strict(),usage:b({knownCostUsd:S().finite().nonnegative(),costUsd:S().finite().nonnegative().nullable(),heldUsd:S().finite().nonnegative(),uncertainRequests:S().int().nonnegative()}).strict(),cleanupComplete:x(),error:w().max(2e3).nullable()}).strict(),wi=Ci.omit({definition:!0});function Ti(e,t){e.kind===`scoring`!=(e.sourceExecution!==null)&&t.addIssue({code:`custom`,message:`Only retained scoring passes name an original execution.`}),[`completed`,`failed`,`cancelled`,`interrupted`].includes(e.status)&&(!e.completedAt||e.counts.pending||e.counts.running)&&t.addIssue({code:`custom`,message:`Terminal local execution requires complete population accounting.`}),[`completed`,`cancelled`].includes(e.status)&&!e.cleanupComplete&&t.addIssue({code:`custom`,message:`Successful completion or cancellation requires confirmed local transport cleanup.`}),e.usage.uncertainRequests>0&&e.usage.costUsd!==null&&t.addIssue({code:`custom`,message:`Uncertain provider charges cannot claim a measured total.`})}Ci.superRefine(Ti);var Ei=wi.superRefine(Ti);b({configuration:Qr,package:He}).strict();var Di=b({configuration:Qr,expectedPackageHash:w().regex(/^[a-f0-9]{64}$/).optional()}).strict(),Oi=b({configuration:Qr,model:Si,packageHash:w().regex(/^[a-f0-9]{64}$/),graders:h(U).min(1).max(100),availableGraders:h(U).min(1).max(1e3),retainedConfigurationHash:w().regex(/^[a-f0-9]{64}$/).optional(),configurationHash:w().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((e,t)=>{let{configurationHash:n,...r}=e;O(r)!==n&&t.addIssue({code:`custom`,message:`Local configuration snapshot bytes changed.`})}),{definition:ki,...Ai}=Ci.shape,ji=b({...Ai,kind:v(`target`),...Oi.shape}).strict().superRefine((e,t)=>{let n={configuration:e.configuration,model:e.model,packageHash:e.packageHash,graders:e.graders,availableGraders:e.availableGraders,...e.retainedConfigurationHash?{retainedConfigurationHash:e.retainedConfigurationHash}:{},configurationHash:e.configurationHash};Ti(e,t),Oi.safeParse(n).success||t.addIssue({code:`custom`,message:`Local Experiment configuration changed.`}),(e.operationId!==e.configuration.operationId||e.teamId!==e.configuration.request.teamId||e.maximumCostUsd!==e.configuration.maximumCostUsd)&&t.addIssue({code:`custom`,message:`Local Experiment differs from its sealed admission.`})}),Mi=b({items:h(ji).max(100),nextCursor:w().nullable()}).strict();b({teamId:w().min(1).max(200),id:w().min(1).max(200),configurationHash:w().regex(/^[a-f0-9]{64}$/).optional()}).strict();var Ni=b({operationId:yi,execution:b({id:yi,executionHash:bi}).strict(),graderPackage:He,graders:h(De).min(1).max(100),maximumCostUsd:S().finite().positive().max(1e4)}).strict().omit({graderPackage:!0}),Pi=Te,Fi=b({sessionId:yi,turnId:yi,source:he,profileRef:pe,admissionHash:bi,modelConfigurationHash:bi,traceHash:bi,runtimeEventRefs:h(yi).max(1e4),startedAt:m(),completedAt:m(),outputHash:bi,partialOutputAvailable:x()}).strict(),Ii=b({receiptId:yi,taskId:yi,seed:w(),status:C([`pending`,`running`,`completed`,`failed`,`cancelled`,`unknown`]),input:y(w(),T()),policyVisibleContext:y(w(),T()),output:w().nullable(),messages:h(T()).max(4002),grade:Ae.nullable(),error:w().nullable(),native:Pi.optional(),profileNative:Fi.optional(),externalProcess:Oe.optional()}).strict(),Li=b({execution:g([ji,Ei]),cases:h(Ii).max(1e4),contentHash:bi}).strict(),Ri=b({items:h(b({sequence:S().int().positive(),type:w().min(1),payload:T()}).strict()).max(500),nextCursor:S().int().positive().nullable()}).strict(),zi=b({location:v(`local`),execution:g([ji,Ei]),case:Ii,trace:Ri}).strict(),Bi=b({items:h(Ei).max(100),nextCursor:yi.nullable()}).strict(),Vi=b({execution:Ei,graders:h(U).min(1).max(100),graderPackageHash:bi}).strict(),Hi=b({execution:Ei,manifest:we,result:Ce}).strict().superRefine((e,t)=>{try{if(Se(e),e.manifest.id!==e.execution.id||e.manifest.teamId!==e.execution.teamId||e.manifest.lineage?.execution.id!==(e.execution.sourceExecution?.id??e.execution.id)||e.manifest.lineage.execution.contentHash!==(e.execution.sourceExecution?.executionHash??e.execution.executionHash)||e.manifest.lineage.scoringPassId!==(e.execution.kind===`scoring`?e.execution.id:null)||e.manifest.maximumCostUsd!==e.execution.maximumCostUsd)throw Error(`Portable evidence differs from its retained local execution.`)}catch(e){t.addIssue({code:`custom`,message:e instanceof Error?e.message:`Local portable evidence verification failed.`})}}),Ui=b({location:v(`local`),baseline:Hi,candidate:Hi}).strict(),Wi=b({label:w(),state:C([`done`,`active`,`pending`,`missing`,`failed`]),status:w(),detail:w().optional(),error:w().optional(),progress:S().min(0).max(1).optional(),inLoop:x().optional()}).strict(),Gi=b({jobId:w(),teamId:w(),modelProjectId:w(),state:w(),policyVersion:S().int().nonnegative(),groupsCompleted:S().int().nonnegative(),groupsTarget:S().int().nonnegative(),live:x(),nodes:h(Wi).max(10),inference:Wi.nullable(),groups:h(b({index:S().int().nonnegative(),state:w(),meanReward:S().nullable(),plannedSlots:S().int().nonnegative(),attempts:h(b({id:w(),slot:S().int().nonnegative(),attempt:S().int().positive(),state:w(),reward:S().nullable()}).strict()).max(1e3)}).strict()).max(50),groupCount:S().int().nonnegative(),logs:h(b({id:w(),at:w(),source:w(),message:w(),level:w()}).strict()).max(200)}).strict(),Ki=b({kind:C([`dataset`,`experiment`,`model`,`training`]),id:w().trim().min(1).max(240),revision:S().int().positive().optional(),location:C([`local`,`cloud`]).default(`local`),teamId:w().min(1).max(240).optional(),apiOrigin:p().max(2e3).optional(),scopeId:w().min(1).max(240).optional(),sessionId:w().min(1).max(240).optional()}).strict(),qi=b({target:Ki,label:w().max(500),detail:w().max(2e3)}).strict(),Ji=qi.extend({resource:Ie.optional(),dataset:Ie.optional(),graders:h(Ie).optional(),training:Me.optional(),model:b({id:w(),name:w(),portableProjectId:w(),baseModel:w().nullable(),trainingDataset:b({id:w(),revision:S().int().positive(),name:w()}).nullable(),evaluationDataset:b({id:w(),revision:S().int().positive(),name:w()}).nullable()}).strict().optional()}).strict(),Yi=C([`prepare_evaluation`,`check_graders`,`inspect_results`,`diagnose`,`compare`]),Xi=b({id:w(),sessionId:w(),sourceTurnId:w(),action:Yi,label:w(),draft:w(),contexts:qn,focus:Ji}).strict(),Zi=St(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Qi=St(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),$i=St(`at-sign`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`,key:`7n84p3`}]]),ea=St(`badge-check`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),ta=St(`ban`,[[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),na=St(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),ra=St(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ia=St(`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`}]]),aa=St(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]),oa=St(`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`}]]),sa=St(`reply`,[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`,key:`5vmcpk`}],[`path`,{d:`m9 17-5-5 5-5`,key:`nvlc11`}]]),ca=St(`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`}]]),la=St(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),ua=St(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),da=St(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Q=e(t(),1),$=i();function fa(e){let t=xa(e);if(t)return t;let n=ba(),r=``,i=[],a=[],o=[];for(let t of e)!r&&t.label&&(r=t.label),Ua(a,t.label),Wa(o,t),t.kind===`command`&&t.content?Ca(n,Ta(t.content)):wa(n,t)||Ha(i,t.label);let s=[...ja(n),...a,...o],c=n.runCount>0?za(n.runCount):``,l=Ja(i),u=(e.length===1&&e[0]?.kind===`command`&&e[0].content&&a.length===0&&o.length===0?pa(e[0].content,`completed`):null)||Va(s,c)||l||r||`Ran command`;return{kind:Ra(n,c),text:u}}function pa(e,t=`completed`){let n=eo(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(no))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(no))return r?`Running shell command`:`Ran shell command`;let i=Ea(n);if(!i)return null;let[a,o]=i;if(a===`cat`){let e=ro(o);return e.length===0?r?`Reading standard input`:`Read standard input`:`${r?`Reading`:`Read`} ${ao(e)}`}if(a===`sed`)return ya(Qa([a,...o]),r);if(a===`rg`)return $a([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`?ro(o):[];return e.length===0?r?`Listing files`:`Listed files`:`${r?`Listing`:`Listed`} files in ${ao(e)}`}if([`head`,`tail`,`nl`,`wc`,`awk`,`jq`].includes(a)){let e=ka(a,o);return e.length===0?r?`Running ${a}`:`Ran ${a}`:`${r?`Reading`:`Read`} ${ao(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 ma(o,r);if(_a(a))return ha(a,o,r);if(Oa(a))return ga(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 ${va(a)} script`:`Ran ${va(a)} script`;let s=va(a);return r?`Running ${s} command`:`Ran ${s} command`}function ma(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 ha(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 ${va(e)} command`:`Ran ${va(e)} command`}function ga(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 _a(e){return[`bun`,`npm`,`pnpm`,`yarn`].includes(e)}function va(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 ya(e,t){return!e||!t?e:e.startsWith(`Read `)?`Reading ${e.slice(5)}`:e.startsWith(`Run `)?`Running ${e.slice(4)}`:e}function ba(){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 xa(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:Za(Xa([n>0?Sa(n,`received`):null,r>0?Sa(r,`sent`):null].filter(e=>!!e)))}}function Sa(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function Ca(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 wa(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 Pa(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 Ta(e){let t=eo(e);if(t.length===0||t.some(no))return{countedAsRun:!0};let n=Ea(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(Da(r,i)||Oa(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=ka(r,i);return a.length>0?{countedAsRun:!1,readFiles:a}:{countedAsRun:!0}}function Ea(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 Da(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 Oa(e){return[`eslint`,`jest`,`playwright`,`prettier`,`tsc`,`vitest`].includes(e)}function ka(e,t){if(e===`cat`||e===`nl`||e===`head`||e===`tail`||e===`wc`)return Aa(ro(t));if(e===`sed`){let e=t.findIndex(e=>e!==`-n`&&!e.startsWith(`--`));return Aa(e>=0?ro(t.slice(e+1)):[])}return e===`awk`||e===`jq`?Aa(ro(t.slice(1))):[]}function Aa(e){return e.filter(e=>!(!e||e===`.`||e===`-`||/^\d+$/.test(e)))}function ja(e){let t=[],n=Na(e);n&&t.push(n),e.editCount>0&&t.push(`made edits`);let r=e.readFiles.size||e.readFileCount;return r>0&&t.push(Ba(`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(Ba(`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(...Ma(e)),t}function Ma(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 Na(e){let t=Fa(e);return t.failed>0?La(t.failed,`failed`):t.blocked>0?La(t.blocked,`blocked`):t.stale>0?La(t.stale,`stale`):t[`needs revision`]>0?La(t[`needs revision`],`needs revision`):t.submitted>0?La(t.submitted,`submitted`):t.running>0&&t.completed===0&&t.accepted===0?La(t.running,`running`):t.accepted>0?La(t.accepted,`accepted`):t.completed>0?La(t.completed,`completed`):t.archived>0?La(t.archived,`archived`):null}function Pa(e,t,n){let r=t.openSession?.sessionId??(t.content.trim()||t.id),i=e.subagentStatuses.get(r);(!i||Ia(n)>Ia(i))&&e.subagentStatuses.set(r,n)}function Fa(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 Ia(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 La(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function Ra(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 za(e){return e===1?`ran a command`:`ran ${e} commands`}function Ba(e,t,n){return t===1?`${e} a ${n}`:`${e} ${t} ${n}s`}function Va(e,t){return e.length===0?t?Za(t):``:Za(Xa(t?[...e,t]:e))}function Ha(e,t){let n=t.trim();n&&(e.includes(n)||e.push(n))}function Ua(e,t){let n=Ga(t);n&&!e.includes(n)&&e.push(n)}function Wa(e,t){let n=t.receipt;if(!n)return;let r=`${n.status} receipt ${qa(n.id)} ${Ka(n.totalUsd)}`;e.includes(r)||e.push(r)}function Ga(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 Ka(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function qa(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function Ja(e){return e.length===0?``:Za(Xa(e.map(Ya)))}function Ya(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function Xa(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 Za(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function Qa(e){let t=e.findIndex((e,t)=>t>0&&e!==`-n`&&!e.startsWith(`--`)),n=t>=0?e[t]??``:``,r=t>=0?ro(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 ${ao(r)}`:`Read ${n}`}return r.length>0?`Read ${ao(r)} with sed`:`Run sed`}function $a(e,t=!1){let n=e.slice(1);if(n.includes(`--files`)){let e=ro(n.filter(e=>e!==`--files`));return e.length>0?`${t?`Listing`:`Listed`} files matching ${ao(e)}`:t?`Listing files`:`Listed files`}let r=ro(n),i=r[0],a=r.slice(1);return i?a.length>0?`${t?`Searching`:`Searched`} for ${oo(i)} in ${ao(a)}`:`${t?`Searching`:`Searched`} for ${oo(i)}`:t?`Searching files`:`Searched files`}function eo(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(e=>to(e)).filter(Boolean)}function to(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function no(e){return[`|`,`&&`,`||`,`;`,`>`,`>>`,`<`,`(`,`)`].includes(e)}function ro(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];r.startsWith(`-`)?io(r)&&n+1<e.length&&(n+=1):t.push(r)}return t}function io(e){return[`-e`,`-f`,`-g`,`--glob`,`--type`,`-t`,`--context`,`-C`,`-A`,`-B`,`-m`,`-n`,`-c`].includes(e)}function ao(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function oo(e){return`"${e}"`}function so(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.plan!==void 0)return e[t].plan}function co(e){for(let t=e.length-1;t>=0;t--){let n=so(e[t]?.activities??[]);if(n!==void 0)return n}}function lo({entries:e,initiallyExpanded:t=!0}){let[n,r]=(0,Q.useState)(t),i=e.filter(e=>e.status===`completed`).length,a=e.find(e=>e.status===`in_progress`);return(0,$.jsxs)(`section`,{className:`activity-plan-card`,"aria-label":`Task progress`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`activity-plan-heading`,"aria-expanded":n,onClick:()=>r(e=>!e),children:[(0,$.jsx)(`strong`,{children:`Task progress`}),(0,$.jsxs)(`span`,{children:[i,` of `,e.length,` completed`]})]}),!n&&a?(0,$.jsx)(`p`,{className:`activity-plan-current`,children:a.activeForm??a.content}):null,n?(0,$.jsx)(`ol`,{children:e.map((e,t)=>(0,$.jsxs)(`li`,{"data-state":e.status,children:[e.status===`completed`?(0,$.jsx)(wr,{size:13}):e.status===`in_progress`?(0,$.jsx)(tn,{size:13}):(0,$.jsx)(na,{size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsxs)(`span`,{className:`sr-only`,children:[e.status.replace(`_`,` `),`: `]}),e.status===`in_progress`&&e.activeForm?e.activeForm:e.content]})]},e.id??t))}):null]})}function uo(e,t){return{toolCount:e.reduce((e,t)=>e+ +!fo(t),0),toolsExpanded:t,visibleActivities:t?e.filter(e=>!fo(e)):[]}}function fo(e){return e.kind===`reasoning`}function po(e,t){if(!e||!t)return null;let n=Date.parse(t)-Date.parse(e);if(!Number.isFinite(n)||n<1e3)return null;let r=Math.round(n/1e3);if(r<60)return`${r}s`;let i=Math.floor(r/60),a=r%60;if(i<60)return a>0?`${i}m ${a}s`:`${i}m`;let o=Math.floor(i/60),s=i%60;return s>0?`${o}h ${s}m`:`${o}h`}function mo(e){return{id:`message:${e.id}`,type:`message`,message:e,showFooter:e.role===`assistant`&&e.finalAnswer===!0}}function ho(e){return e.flatMap(e=>e.type===`message`?[e.message]:e.type===`work`?e.messages.map(e=>e.message):[])}function go(e,t={}){let n=[],r=[],i=[],a=[],o=()=>{n.push(...i,...a),i=[],a=[]},s,c,l=e=>{r.length!==0&&(e?n.push({id:`work:${r[0].message.id}`,type:`work`,label:typeof e==`function`?e(r.length):e,messages:r}):n.push(...r),r=[])};for(let t of e)if(t.role===`user`)l(t.interactionKind===`steer`?e=>`${e} previous ${e===1?`message`:`messages`}`:void 0),o(),n.push(mo(t)),s=t.timestamp,c=t.turnId;else if(c&&t.turnId&&t.turnId!==c&&(l(),o(),s=void 0),c=t.turnId??c,t.role===`visual`)a.push(mo(t));else if(t.role===`resources`)i.push(mo(t));else if(t.role===`error`||t.userQuestion?.status===`pending`)l(),n.push(mo(t));else if(t.role===`assistant`&&t.finalAnswer){t.reasoningContent&&r.push(mo({id:`${t.id}:reasoning`,role:`assistant`,timestamp:t.timestamp,turnId:t.turnId,reasoningContent:t.reasoningContent}));let e=po(t.turnStartedAt??s??r[0]?.message.traceStartedAt??r[0]?.message.timestamp,t.turnCompletedAt??t.timestamp);l(e?`Worked for ${e}`:`Worked`),n.push(mo(t.reasoningContent?{...t,reasoningContent:void 0}:t)),s=void 0}else r.push(mo(t));return l(),o(),t.showThinkingIndicator&&n.push({id:`thinking`,type:`thinking`}),n}function _o(e){let t=e[e.length-1];if(!t)return!0;if(t.role===`assistant`||t.role===`error`||t.role===`status_divider`&&t.statusState===`running`)return!1;if(t.role===`activity_group`){if(t.traceState===`running`)return!1;let e=t.activities?.[t.activities.length-1]??null;return e?.state!==`running`&&e?.state!==`pending`}return!0}function vo({children:e,className:t=``,controls:n,danger:r=!1,expanded:i=!1,icon:a,onToggle:o,running:s=!1}){let c=[`activity-summary`,o?``:`static`,r?`danger`:``,s?`working`:``,t].filter(Boolean).join(` `),l=(0,$.jsxs)($.Fragment,{children:[a,(0,$.jsx)(`span`,{className:`activity-summary-text`,children:(0,$.jsx)(`span`,{children:e})}),o?(0,$.jsx)(Jt,{"aria-hidden":!0,className:`activity-summary-toggle ${i?`expanded`:``}`,size:14}):null]});return o?(0,$.jsx)(`button`,{type:`button`,"aria-controls":n,"aria-expanded":i,className:c,onClick:o,children:l}):(0,$.jsx)(`div`,{className:c,role:s?`status`:void 0,children:l})}function yo({notification:e,onOpenFile:t}){let n=e.status===`completed`?`Background task completed`:e.status===`failed`?`Background task failed`:`Background task stopped`;return(0,$.jsxs)(`article`,{className:`native-task-notification ${e.status}`,"aria-label":n,children:[(0,$.jsxs)(`header`,{children:[e.status===`completed`?(0,$.jsx)(wr,{size:14}):(0,$.jsx)(gr,{size:14}),(0,$.jsx)(`strong`,{children:n})]}),(0,$.jsx)(`p`,{children:e.summary}),(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Task details`}),(0,$.jsx)(`code`,{children:e.taskId}),e.outputFile?(0,$.jsx)(`div`,{children:t?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>t(e.outputFile),children:[(0,$.jsx)(ln,{size:13}),`Open output`]}):(0,$.jsx)(`code`,{children:e.outputFile})}):null]})]})}C([`page`,`node`]);var bo=b({x:S().finite().nonnegative(),y:S().finite().nonnegative(),width:S().finite().positive().max(16e3),height:S().finite().positive().max(16e3)}).refine(e=>e.width*e.height<=4e7,`The snapshot is too large.`),xo=b({rect:bo,selector:w().max(500),html:w().max(6291456).optional(),source:w().max(64e3).optional()});function So(e,t){let n=!1,r=null,i=null;function a(e){return`${e.tagName.toLowerCase()}${e.id?`#${e.id}`:``}${[...e.classList].slice(0,3).map(e=>`.${e}`).join(``)}`.slice(0,500)}function o(e,t,n){let r=e instanceof SVGElement&&e.tagName.toLowerCase()!==`svg`?e.ownerSVGElement:null;for(;r?.ownerSVGElement;)r=r.ownerSVGElement;let i=r??e,a=i.cloneNode(!0),o=[i,...i.querySelectorAll(`*`)],s=[a,...a.querySelectorAll(`*`)];for(let e=0;e<o.length;e++){let t=o[e],n=s[e];if([`SCRIPT`,`IFRAME`,`OBJECT`,`EMBED`,`LINK`,`META`].includes(n.tagName)){n.remove();continue}let r=[...n.attributes];for(let e of r)/^on/i.test(e.name)&&n.removeAttribute(e.name);if(n instanceof HTMLElement||n instanceof SVGElement){let e=getComputedStyle(t);n.style.cssText=[...e].map(t=>`${t}:${e.getPropertyValue(t).replace(/url\((["']?)(.*?)\1\)/g,(e,t,n)=>{let r=n.indexOf(`#`);return r>0&&[document.baseURI.split(`#`)[0],document.URL.split(`#`)[0]].includes(n.slice(0,r))?`url("#${n.slice(r+1)}")`:e})};`).join(``),n.style.setProperty(`animation`,`none`),n.style.setProperty(`transition`,`none`)}if(t instanceof HTMLInputElement&&(n.setAttribute(`value`,t.value),t.checked?n.setAttribute(`checked`,``):n.removeAttribute(`checked`)),t instanceof HTMLTextAreaElement&&(n.textContent=t.value),t instanceof HTMLOptionElement&&(t.selected?n.setAttribute(`selected`,``):n.removeAttribute(`selected`)),t instanceof HTMLCanvasElement){let e=document.createElement(`img`);e.src=t.toDataURL(`image/png`),e.style.cssText=n.style.cssText,t===i?a=e:n.replaceWith(e)}if(t.shadowRoot)throw Error(`This element has a shadow root. Capture it from a native browser tab.`)}a.style.setProperty(`margin`,`0`),a.style.setProperty(`position`,`relative`),a.style.setProperty(`inset`,`auto`),a.style.setProperty(`width`,`${t}px`),a.style.setProperty(`max-width`,`none`);let c=document.createElement(`div`);c.style.width=`${t}px`,c.style.height=`${n}px`;for(let t=e;t;t=t.parentElement){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`){c.style.backgroundColor=e;break}}if(r){let n=r.getBoundingClientRect(),i=e.getBoundingClientRect();Object.assign(c.style,{position:`relative`,overflow:`hidden`,width:`${t}px`,height:`${Math.ceil(i.height)}px`}),Object.assign(a.style,{position:`absolute`,left:`${n.left-i.left}px`,top:`${n.top-i.top}px`,width:`${n.width}px`,height:`${n.height}px`})}return c.append(a),c.outerHTML}function s(n,r){try{let i=n.getBoundingClientRect(),s=r?Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth):Math.ceil(i.width),c=r?Math.max(document.documentElement.scrollHeight,document.body.scrollHeight):Math.ceil(i.height);if(!s||!c)throw Error(`The selected element has no visible area.`);e({capture:{rect:{x:r?0:Math.max(0,i.left+scrollX),y:r?0:Math.max(0,i.top+scrollY),width:s,height:c},selector:r?`Full page`:a(n),source:n.outerHTML.slice(0,64e3),...t?{html:o(n,s,c)}:{}}})}catch(t){e({error:t instanceof Error?t.message:String(t)})}}function c(){n=!1,r=null,i?.remove(),i=null,document.removeEventListener(`pointermove`,l,!0),document.removeEventListener(`click`,u,!0),document.removeEventListener(`keydown`,f,!0),window.removeEventListener(`click`,u,!0);for(let e of[`pointerdown`,`pointerup`,`mousedown`,`mouseup`])window.removeEventListener(e,d,!0)}function l(e){if(!n||(r=e.composedPath().find(e=>e instanceof Element&&e!==i)??null,!r||!i))return;let t=r.getBoundingClientRect();Object.assign(i.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}),i.textContent=`${a(r)} · ${Math.ceil(t.width)} × ${Math.ceil(t.height)}`}function u(e){if(!n||!e.isTrusted)return;e.preventDefault(),e.stopImmediatePropagation();let t=e.composedPath().find(e=>e instanceof Element&&e!==i);c(),t&&s(t,!1)}function d(e){n&&(e.preventDefault(),e.stopImmediatePropagation())}function f(t){t.key===`Escape`&&t.isTrusted&&(t.preventDefault(),t.stopImmediatePropagation(),c(),e({canceled:!0}))}return{page(){c(),s(document.body,!0)},start(){c(),n=!0,i=document.createElement(`div`),i.setAttribute(`data-openpond-snapshot-overlay`,``),i.style.cssText=`position:fixed;pointer-events:none;z-index:2147483647;box-sizing:border-box;border:2px solid var(--blue,Highlight);background:transparent;color:var(--text,CanvasText);font:12px/1.3 monospace;text-shadow:0 0 3px var(--bg,Canvas);overflow:visible;`,document.documentElement.append(i),document.addEventListener(`pointermove`,l,!0),window.addEventListener(`click`,u,!0);for(let e of[`pointerdown`,`pointerup`,`mousedown`,`mouseup`])window.addEventListener(e,d,!0);document.addEventListener(`keydown`,f,!0)},cancel(){c(),e({canceled:!0})},dispose:c}}function Co(){return`(${So.toString()})`}var wo=`default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src 'none'; child-src 'none'; worker-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'`,To=e=>JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`),Eo=e=>e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/</g,`&lt;`);function Do(e,t,n=Wn){let r=`(() => {
3
+ const style = document.getElementById('openpond-theme');
4
+ const keys = ${To(Object.keys(Wn))};
5
+ function theme(values) { if (!values || typeof values !== 'object') return;
6
+ style.textContent = ':root{' + keys.map(k => k+':'+String(values[k]||'').replace(/[;{}<>]/g,'')+';').join('') + '}'; }
7
+ theme(${To(n)});
8
+ addEventListener('message', e => { if(e.source === parent && e.data?.type === 'openpond-theme') theme(e.data.theme); });
9
+ const send = data => parent.postMessage({ ...data, identity: ${To(t)} }, '*');
10
+ const resourceToken=Array.from(crypto.getRandomValues(new Uint32Array(4))).join('-');
11
+ send({type:'openpond-resource-ready',resourceToken});
12
+ let snapshotRequest=null;
13
+ const inspector=${Co()}(result=>{
14
+ if(!snapshotRequest)return;
15
+ send({type:'openpond-snapshot-result',resourceToken,requestId:snapshotRequest,...result});
16
+ snapshotRequest=null;
17
+ },true);
18
+ addEventListener('message',e=>{
19
+ const data=e.data;
20
+ if(e.source!==parent || data?.type!=='openpond-snapshot-command' || typeof data.requestId!=='string')return;
21
+ if(data.action==='cancel'){inspector.cancel();return;}
22
+ snapshotRequest=data.requestId;
23
+ if(data.action==='page')inspector.page();
24
+ else if(data.action==='node'){inspector.start();send({type:'openpond-snapshot-ready',resourceToken,requestId:snapshotRequest});}
25
+ });
26
+ // Declarative resource buttons use a trusted user click. Author scripts
27
+ // receive no API transport, credentials, or arbitrary host command bridge.
28
+ document.addEventListener('click',e=>{
29
+ if(!e.isTrusted || snapshotRequest)return;
30
+ const button=e.target?.closest?.('button[data-openpond-resource-id]');
31
+ if(!button || button.disabled)return;
32
+ const kind=button.dataset.openpondResourceKind,id=button.dataset.openpondResourceId;
33
+ const revision=Number(button.dataset.openpondResourceRevision);
34
+ if(!['dataset','experiment'].includes(kind) || !id || id.length>240 || (kind==='dataset' && (!Number.isSafeInteger(revision) || revision<1)))return;
35
+ send({type:'openpond-resource-select',resourceToken,resource:{kind,id,...Number.isSafeInteger(revision)&&revision>0?{revision}:{}}});
36
+ },true);
37
+ let interactionPending=false;
38
+ for(const type of ['wheel','touchmove','pointerdown','keydown']) addEventListener(type,e=>{
39
+ if(!e.isTrusted || interactionPending)return; interactionPending=true;
40
+ requestAnimationFrame(()=>{interactionPending=false;send({type:'openpond-interaction'});});
41
+ },{passive:true});
42
+ let queued = false, previous = 0, loaded = false, reportedReady = false;
43
+ // Initial sizing must work when the frame top is clipped: Chromium may
44
+ // suspend animation frames there before its child has expanded.
45
+ function measure() { if(queued)return; queued=true; queueMicrotask(() => { queued=false;
46
+ const body = document.body; if(!body)return;
47
+ const height = Math.max(80, Math.ceil(Math.max(body.getBoundingClientRect().height, body.scrollHeight)));
48
+ if(height!==previous || (loaded && !reportedReady)) { previous=height; reportedReady=loaded; send({type:'openpond-size',height,ready:loaded}); }
49
+ }); }
50
+ const observer = new ResizeObserver(measure);
51
+ addEventListener('DOMContentLoaded', () => { observer.observe(document.body); measure(); });
52
+ addEventListener('load', () => { void document.fonts.ready.then(() => { loaded=true; measure(); }); });
53
+ let count=0;
54
+ function log(level,args){ if(count++<40)send({type:'openpond-console',level,text:args.map(v=>{try{return typeof v==='string'?v:JSON.stringify(v)}catch{return String(v)}}).join(' ').slice(0,2000)}); }
55
+ for(const level of ['log','warn','error']) { const original=console[level]; console[level]=(...args)=>{log(level,args);original.apply(console,args)}; }
56
+ addEventListener('error', e => log('error',[e.message]));
57
+ addEventListener('unhandledrejection', e => log('error',[String(e.reason)]));
58
+ addEventListener('securitypolicyviolation', e => log('error',['Blocked resource: '+e.violatedDirective+' ('+e.blockedURI+')']));
59
+ // Links are informational inside a self-contained visual, never navigation.
60
+ document.addEventListener('click', e => { if(e.composedPath().some(n=>n?.tagName==='A'))e.preventDefault(); }, true);
61
+ })();`,i=`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${Eo(wo)}"><meta name="viewport" content="width=device-width,initial-scale=1"><style id="openpond-theme"></style><style>html,body{color-scheme:var(--color-scheme);margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font-web)}body{display:flow-root;overflow-wrap:anywhere}*{box-sizing:border-box}img,svg,canvas{max-width:100%}button,input,select{font:inherit}button{cursor:pointer}html{scrollbar-width:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}</style><script>${r}<\/script></head><body>${e}</body></html>`;return`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${Eo(wo)}"><meta name="viewport" content="width=device-width,initial-scale=1"><style>html,body{margin:0;background:transparent}iframe{display:block;border:0;width:100%;height:80px;color-scheme:normal}</style></head><body><iframe title="Interactive visual" sandbox="allow-scripts" referrerpolicy="no-referrer" allow="camera 'none'; microphone 'none'; geolocation 'none'; clipboard-read 'none'; clipboard-write 'none'"></iframe><script>(()=>{
62
+ const frame=document.querySelector('iframe'); const identity=${To(t)};
63
+ let resourceToken=null;
64
+ const state=window.__openpondVisual={height:80,console:[],ready:false};
65
+ addEventListener('message', e=>{
66
+ const d=e.data;if(!d||typeof d!=='object')return;
67
+ if(e.source===parent && parent!==window && d.type==='openpond-theme' && d.identity===identity){frame.contentWindow.postMessage({type:'openpond-theme',theme:d.theme},'*');return;}
68
+ if(e.source===parent && parent!==window && d.type==='openpond-snapshot-command' && d.identity===identity){if(d.action==='node')frame.focus();frame.contentWindow.postMessage(d,'*');return;}
69
+ if(e.source!==frame.contentWindow || d.identity!==identity)return;
70
+ if(d.type==='openpond-interaction' && parent!==window)parent.postMessage({type:'openpond-visual-interaction',identity},'*');
71
+ if(d.type==='openpond-resource-ready' && resourceToken===null && typeof d.resourceToken==='string' && d.resourceToken.length<100)resourceToken=d.resourceToken;
72
+ if(d.type==='openpond-resource-select' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-resource-select',identity,resource:d.resource},'*');
73
+ if(d.type==='openpond-snapshot-result' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-snapshot',identity,requestId:d.requestId,capture:d.capture,canceled:d.canceled,error:d.error},'*');
74
+ if(d.type==='openpond-snapshot-ready' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-snapshot-ready',identity,requestId:d.requestId},'*');
75
+ if(d.type==='openpond-console' && state.console.length<40 && ['log','warn','error'].includes(d.level) && typeof d.text==='string')state.console.push({level:d.level,text:d.text.slice(0,2000)});
76
+ if(d.type==='openpond-size' && Number.isFinite(d.height)){
77
+ const height=Math.max(80,Math.min(${Hn},Math.ceil(d.height)));state.height=height;if(d.ready===true)state.ready=true;
78
+ frame.style.height=state.height+'px';if(parent!==window)parent.postMessage({type:'openpond-visual-size',identity,height:state.height,ready:state.ready},'*');
79
+ }
80
+ });
81
+ frame.srcdoc=${To(i)};
82
+ })();<\/script></body></html>`}function Oo(e,t,n,r){let i=(0,Q.useRef)(n);i.current=n;let a=(0,Q.useRef)(null),o=(0,Q.useCallback)(()=>{let n=a.current;n&&(a.current=null,clearTimeout(n.timeout),e.current?.contentWindow?.postMessage({type:`openpond-snapshot-command`,identity:t,requestId:n.id,action:`cancel`},`*`),n.reject(new DOMException(`Snapshot canceled.`,`AbortError`)))},[e,t]);return(0,Q.useEffect)(()=>o,[o]),(0,Q.useImperativeHandle)(r,()=>({cancel:o,capture:n=>!i.current||!e.current?.contentWindow?Promise.reject(Error(`Wait for the HTML page to finish loading.`)):(o(),new Promise((r,i)=>{let s=crypto.randomUUID();n===`node`&&e.current.focus(),a.current={id:s,resolve:r,reject:i,timeout:setTimeout(o,n===`node`?12e4:15e3)},e.current.contentWindow.postMessage({type:`openpond-snapshot-command`,identity:t,requestId:s,action:n},`*`)}))}),[o,e,t]),(0,Q.useCallback)(e=>{let t=a.current;if(!t||t.id!==e.requestId)return;if(e.canceled){o();return}a.current=null,clearTimeout(t.timeout);let n=xo.safeParse(e.capture);e.error||!n.success||!n.data.html?t.reject(Error(e.error??`The HTML snapshot could not be captured.`)):t.resolve(n.data)},[o])}var ko=(0,Q.createContext)(null),Ao=(0,Q.createContext)(null);function jo(){let e=getComputedStyle(document.querySelector(`.app-shell`)??document.documentElement);return Object.fromEntries(Object.entries(Wn).map(([t,n])=>[t,t===`--color-scheme`?document.documentElement.dataset.theme??`dark`:e.getPropertyValue(Jn[t]??t).trim()||n]))}function Mo({visual:e,connection:t,expanded:n=!1,snapshotRef:r}){let i=(0,Q.useContext)(ko),a=(0,Q.useContext)(Ao),o=(0,Q.useRef)(!1),s=(0,Q.useRef)(null),c=(0,Q.useRef)(null),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)(null),h=(0,Q.useRef)(null),g=(0,Q.useRef)(null),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(null),[C,w]=(0,Q.useState)(0),[T,E]=(0,Q.useState)(n),[D,O]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(e.heights[0]?.height??320),j=`${e.publicationId}:${n?`expanded`:`inline`}:${C}`,M=Oo(g,j,D,r),N=`/v1/sessions/${encodeURIComponent(e.sessionId)}/visuals/${e.publicationId}`,P=t?.serverUrl,F=t?.token,I=t?.platform,ee=!!(_&&/data-openpond-resource-(?:id|table)/.test(_));(0,Q.useEffect)(()=>{let e=h.current;if(!e||T||n)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&E(!0)},{rootMargin:`160px`});return t.observe(e),()=>t.disconnect()},[n,T]),(0,Q.useEffect)(()=>{if(!P||!F||!(T||n))return;let e=new AbortController,t=null;return v(null),S(null),b(null),Promise.all([W({serverUrl:P,token:F,platform:I??`web`},`${N}/document`,{signal:e.signal}),Ke({serverUrl:P,token:F},`${N}/preview`,{signal:e.signal}).then(e=>{if(!e.ok)throw Error(`Preview unavailable`);return e.blob()})]).then(([n,r])=>{e.signal.aborted||(v(n.html),t=URL.createObjectURL(r),b(t))}).catch(t=>{e.signal.aborted||S(t instanceof Error?t.message:`Visual unavailable`)}),()=>{e.abort(),t&&URL.revokeObjectURL(t)}},[P,F,I,N,C,T,n]),(0,Q.useEffect)(()=>{if(!t||!(T||n)||!_?.includes(`data-openpond-resource-id`))return;let r=new AbortController;return X(t,`dataset`,{action:`context`,payload:{sessionId:e.sessionId}},r.signal).then(t=>{let n=Object.entries(t.focus.scopeContext?.selectionOperations??{}).filter(([,t])=>t.visualPublicationId===e.publicationId&&t.resource).sort((e,t)=>t[1].version-e[1].version)[0];if(!r.signal.aborted&&n&&!o.current){let e=n[1].resource;c.current={key:`${e.kind}:${e.id}:${e.revision}`,id:n[0]},m(`Selected ${e.kind}: ${e.name}${e.kind===`dataset`?` V${e.revision}`:``}.`)}}).catch(()=>{}),()=>r.abort()},[t,e.sessionId,e.publicationId,T,n,_]);async function te(t){if(!a||o.current)return;o.current=!0,u(!0),f(null);let n=`${t.kind}:${t.id}:${t.revision}`;c.current?.key!==n&&(c.current={key:n,id:`visual-select-${crypto.randomUUID()}`});try{m(await a(e,t,c.current.id))}catch(e){f(e instanceof Error?e.message:`Resource selection failed.`)}finally{o.current=!1,u(!1)}}s.current=te;let L=(0,Q.useMemo)(()=>_===null?void 0:Do(_,j,jo()),[_,j]);return(0,Q.useEffect)(()=>{if(O(!1),!L)return;let e=setTimeout(()=>S(`The visual did not finish loading.`),8e3),t=t=>{let n=t.data;if(t.source===g.current?.contentWindow&&n?.identity===j){if(n.type===`openpond-visual-snapshot`)M(n);else if(n.type===`openpond-visual-resource-select`){let e=Rn.safeParse(n.resource);e.success&&s.current?.(e.data)}else n.type===`openpond-visual-interaction`?h.current?.dispatchEvent(new Event(`openpond-visual-interaction`,{bubbles:!0})):n.type===`openpond-visual-size`&&Number.isFinite(n.height)&&(n.ready===!0&&(clearTimeout(e),O(!0)),A(Math.max(80,Math.min(Hn,Math.ceil(n.height)))))}},n=()=>g.current?.contentWindow?.postMessage({type:`openpond-theme`,identity:j,theme:jo()},`*`);window.addEventListener(`message`,t);let r=new MutationObserver(n),i=[document.documentElement,document.querySelector(`.app-shell`)].filter(e=>e!==null);for(let e of i)r.observe(e,{attributes:!0,attributeFilter:[`class`,`style`,`data-theme`]});let a=matchMedia(`(prefers-color-scheme: dark)`);return a.addEventListener(`change`,n),()=>{clearTimeout(e),r.disconnect(),window.removeEventListener(`message`,t),a.removeEventListener(`change`,n)}},[j,L,M]),(0,$.jsxs)(`div`,{className:`html-visual`,ref:h,"data-visual-id":e.visualId,"data-publication-id":e.publicationId,children:[ee?null:(0,$.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,$.jsxs)(`span`,{children:[e.output.title,e.output.revision>1?` · Revision ${e.output.revision}`:``]}),(0,$.jsx)(`button`,{type:`button`,disabled:_===null,onClick:()=>{if(_===null)return;let t=URL.createObjectURL(new Blob([_],{type:`text/html;charset=utf-8`})),n=document.createElement(`a`);n.href=t,n.download=`${e.output.title}.html`,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)},title:`Download HTML`,"aria-label":`Download HTML`,children:(0,$.jsx)(Cr,{size:15,"aria-hidden":!0})}),!n&&i?(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),title:`Open in browser panel`,"aria-label":`Expand visual`,children:(0,$.jsx)(nn,{size:15,"aria-hidden":!0})}):null]}),p?(0,$.jsxs)(`div`,{className:`html-visual-selection-receipt`,children:[(0,$.jsx)(`span`,{children:p}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{m(null),f(null),c.current=null},children:`Change`})]}):null,l?(0,$.jsx)(`p`,{role:`status`,className:`html-visual-status`,children:`Selecting resource…`}):null,d?(0,$.jsx)(Y,{error:d}):null,(0,$.jsx)(`div`,{className:`html-visual-content`,style:{minHeight:k},hidden:p!==null,children:t?x?(0,$.jsx)(Y,{error:x,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>w(e=>e+1),children:`Retry`})}):(0,$.jsxs)($.Fragment,{children:[L?(0,$.jsx)(`iframe`,{ref:g,title:e.output.title,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,allow:`camera 'none'; microphone 'none'; geolocation 'none'; clipboard-read 'none'; clipboard-write 'none'`,srcDoc:L,style:{height:k,opacity:+!!D}}):null,D?null:(0,$.jsx)(`div`,{className:`html-visual-placeholder`,children:y?(0,$.jsx)(`img`,{src:y,alt:`Saved preview of ${e.output.title}`,style:{maxHeight:k}}):(0,$.jsx)(`p`,{className:`html-visual-status`,role:`status`,children:`Loading visual…`})})]}):(0,$.jsx)(`p`,{className:`html-visual-status`,children:`Connect to view this visual.`})}),k===2400?(0,$.jsx)(`p`,{className:`html-visual-status`,children:`This visual reaches the height limit. Scroll inside it to see more.`}):null]})}function No({name:e,version:t,summary:n,primary:r,actions:i=[],children:a}){let[o,s]=(0,Q.useState)(!1),c=[r,...i];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`header`,{className:`chat-resource-toolbar`,children:[(0,$.jsx)(`strong`,{title:e,children:e}),(0,$.jsxs)(`span`,{className:`chat-resource-version`,children:[`V`,t]}),(0,$.jsx)(`span`,{className:`chat-resource-toolbar-summary`,title:n,children:n}),(0,$.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,$.jsx)(q,{compact:!0,floating:!0,placement:`bottom`,floatingMenuWidth:220,label:`Actions for ${e}`,value:``,triggerContent:(0,$.jsx)(oa,{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,$.jsx)(`div`,{className:`chat-resource-details`,children:a}):null]})}function Po({title:e,description:t,action:n,children:r}){return(0,$.jsxs)(`section`,{className:`taskset-draft-section`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{children:e}),(0,$.jsx)(`p`,{children:t})]}),n]}),r]})}function Fo({label:e,children:t}){return(0,$.jsxs)(`label`,{className:`taskset-draft-field`,children:[(0,$.jsx)(`span`,{children:e}),t]})}function Io({children:e}){return(0,$.jsx)(`div`,{className:`taskset-draft-empty`,children:e})}function Lo({disabled:e,label:t,onImport:n}){let[r,i]=(0,Q.useState)(null);return(0,$.jsxs)(`span`,{className:`taskset-json-file-import-row`,children:[(0,$.jsxs)(`label`,{className:`training-button secondary taskset-json-file-import`,children:[t,(0,$.jsx)(`input`,{accept:`application/json,.json`,disabled:e,type:`file`,onChange:e=>{let t=e.target.files?.[0];t&&t.text().then(e=>{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`The selected JSON file must contain an object.`);n(t),i(null)}).catch(e=>{i(e instanceof Error?e.message:String(e))}).finally(()=>{e.target.value=``})}})]}),r?(0,$.jsx)(Y,{error:r}):null]})}function Ro({label:e,value:t,disabled:n,nullable:r=!1,onChange:i}){return(0,$.jsx)(Bo,{disabled:n,label:e,value:t,onApply:e=>{if(r&&e.trim()===`null`)return i(null);let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`Enter a JSON object.`);i(t)}})}function zo({label:e,value:t,disabled:n,onChange:r}){return(0,$.jsx)(Bo,{disabled:n,label:e,value:t,onApply:e=>{let t=JSON.parse(e);if(!Array.isArray(t))throw Error(`Enter a JSON array.`);r(t)}})}function Bo({label:e,value:t,disabled:n,onApply:r}){let i=JSON.stringify(t,null,2),[a,o]=(0,Q.useState)(i),[s,c]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>o(i),[i]),(0,$.jsxs)(Fo,{label:e,children:[(0,$.jsx)(`textarea`,{disabled:n,rows:7,value:a,onChange:e=>o(e.target.value)}),(0,$.jsxs)(`span`,{className:`taskset-draft-json-actions`,children:[s?(0,$.jsx)(Y,{error:s}):(0,$.jsx)(`small`,{children:`JSON is applied explicitly.`}),(0,$.jsx)(`button`,{className:`training-text-button`,disabled:n||a===i,type:`button`,onClick:()=>{try{r(a),c(null)}catch(e){c(e instanceof Error?e.message:String(e))}},children:`Apply JSON`})]})]})}function Vo({initial:e,connection:t,context:n}){let[r,i]=(0,Q.useState)(e),[a,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(0),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)([]),[x,S]=(0,Q.useState)(null);(0,Q.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 X(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,$.jsxs)(`section`,{className:`chat-resource-summary ${s?``:`compact`}`,"aria-label":`grader: ${r.name}`,children:[(0,$.jsx)(No,{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,$.jsxs)(`dl`,{children:[(0,$.jsx)(`dt`,{children:`Type`}),(0,$.jsx)(`dd`,{children:r.graderType}),(0,$.jsx)(`dt`,{children:`Dataset version`}),(0,$.jsxs)(`dd`,{children:[`V`,r.datasetRevision]}),(0,$.jsx)(`dt`,{children:`Checks`}),(0,$.jsx)(`dd`,{children:r.description})]})}),s&&(0,$.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${s?`expanded`:``}`,tabIndex:0,"aria-label":`Grader examples`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Output`})]})}),(0,$.jsx)(`tbody`,{children:E.length?E.slice(h*5,h*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{title:e.label,children:e.label}),(0,$.jsx)(`td`,{title:e.detail,children:e.detail})]},e.id)):(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{colSpan:2,children:`No saved examples. Add known-good and known-bad outputs before testing.`})})})]})}),s&&E.length>5&&(0,$.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:h===0,onClick:()=>g(e=>e-1),children:`Previous`}),(0,$.jsxs)(`span`,{children:[h+1,`/`,Math.ceil(E.length/5)]}),(0,$.jsx)(`button`,{type:`button`,disabled:(h+1)*5>=E.length,onClick:()=>g(e=>e+1),children:`Show more`})]}),s&&D&&(0,$.jsx)(`div`,{className:`chat-resource-checks`,children:D.issues.filter(e=>!e.graderId||e.graderId===r.graderId).map((e,t)=>(0,$.jsx)(`p`,{children:e.message},t))}),l&&_&&(0,$.jsxs)(`div`,{className:`chat-resource-grader-editor`,children:[(0,$.jsx)(`p`,{children:`Save a new Dataset revision. Earlier examples and Experiment inputs stay pinned to their saved version.`}),(0,$.jsx)(Ro,{label:`Grader definition`,value:_,disabled:d,onChange:e=>{v(e),S(null)}}),(0,$.jsx)(zo,{label:`Saved calibration examples`,value:y,disabled:d,onChange:e=>{b(e),S(null)}}),(0,$.jsxs)(`div`,{className:`chat-resource-actions`,children:[(0,$.jsx)(`button`,{className:`training-button`,disabled:d,onClick:()=>void w(async()=>{let e=x??crypto.randomUUID();S(e);let a=await X(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 X(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,$.jsx)(`button`,{className:`training-button secondary`,disabled:d,onClick:()=>u(!1),children:`Close editor`})]})]}),p&&(0,$.jsx)(Y,{error:p})]})}function Ho(e){return e.initial.kind===`grader`?(0,$.jsx)(Vo,{...e}):(0,$.jsx)(Uo,{...e})}function Uo({initial:e,connection:t,context:n}){let[r,i]=(0,Q.useState)(e),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(0),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)([]),[y,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)([]),[C,w]=(0,Q.useState)(``),[T,E]=(0,Q.useState)(`10`),[D,O]=(0,Q.useState)([]),[k,A]=(0,Q.useState)(e.location??`local`),[j,M]=(0,Q.useState)(null),[N,P]=(0,Q.useState)(!0),F=[...new Set([...x,...y?[y]:[]])],I=k===`local`&&!N&&F.length>0&&F.every(e=>e.startsWith(`codex/`)),[ee]=(0,Q.useState)(()=>crypto.randomUUID());(0,Q.useEffect)(()=>i(e),[e]);let te=[`Creating`,`Importing`,`Failed`,`Cancelled`].includes(r.state)&&r.kind===`dataset`;(0,Q.useEffect)(()=>{if(!t||te||r.kind===`experiment`&&![`queued`,`running`,`cancelling`].includes(r.state))return;let e=new AbortController,n,a=async()=>{try{let n=r.kind===`dataset`?await X(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision},e.signal):await X(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,te]);async function L(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 R(e,a={}){let o=await X(t,`dataset`,{action:e,id:r.id,expectedRevision:r.revision,payload:a,context:n});i(o.summary),m(o)}async function z(){if(a)o(!1);else{if(r.kind===`dataset`){let e=await X(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision});m(e)}else{let e=await X(t,`experiment`,{action:`result`,payload:{id:r.id}});m(e.view)}c(0),o(!0)}}async function ne(){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([X(t,`experiment`,{action:`models`}),X(t,`dataset`,{action:`read`,id:e,expectedRevision:n})]);P(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 re(){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)||!I&&(!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 X(t,`experiment`,{action:k===`cloud`?`run_cloud`:`run`,context:n,payload:{datasetId:s,revision:c,operationId:o,...I?{}:{maximumCostUsd:i},taskLimit:a,models:e.map(e=>({providerId:e.providerId,modelId:e.id}))}});n||O(l.summaries),g(!1),M(null)}let ie=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,ae={label:a?`Collapse`:r.kind===`dataset`?`View rows`:`View results`,disabled:l||!t||te,run:()=>void L(z)},oe=[],B=(e,n,r=!1)=>oe.push({label:e,run:()=>void L(n),disabled:l||!t||r});r.kind===`dataset`?(B(`Run experiment`,ne,te),B(`Check graders`,()=>R(`check_graders`),te),!te&&r.syncState!==`Synced`&&r.syncState!==`Paused`&&B(r.syncState===`Local`?`Upload to cloud`:`Retry sync`,()=>R(r.syncState===`Local`?`upload`:`sync`)),a&&!te&&r.syncState!==`Local`&&(B(r.syncState===`Paused`?`Resume sync`:`Pause sync`,()=>R(`pause_sync`,{paused:r.syncState!==`Paused`})),B(`Disconnect cloud`,()=>R(`disconnect_sync`)))):[`queued`,`running`,`cancelling`].includes(r.state)?B(`Cancel experiment`,async()=>{let e=await X(t,`experiment`,{action:`cancel`,payload:{id:r.id}});i(t=>({...e.summary,datasetId:t.datasetId,datasetRevision:t.datasetRevision}))}):(!r.owner&&!r.profileRef&&B(`Run again`,ne,!r.datasetId),B(`HTML charts`,async()=>{await X(t,`experiment`,{action:`charts`,context:n,payload:{ids:[r.id],operationId:ee}})},!n));let V=r.score==null?``:`${Number((r.score*100).toFixed(1))}%`,se=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${V?` · ${V}`:``}`;return(0,$.jsxs)(`section`,{className:`chat-resource-summary ${a?``:`compact`}`,"aria-label":`${r.kind}: ${r.name}`,children:[(0,$.jsx)(No,{name:r.name,version:r.revision,summary:se,primary:ae,actions:oe,children:(0,$.jsxs)(`dl`,{children:[(0,$.jsx)(`dt`,{children:`Status`}),(0,$.jsx)(`dd`,{children:r.state}),r.kind===`dataset`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`dt`,{children:`Storage`}),(0,$.jsx)(`dd`,{children:r.syncState??`Local`}),(0,$.jsx)(`dt`,{children:`Grader checks`}),(0,$.jsx)(`dd`,{children:r.checkState??`Not checked`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`dt`,{children:`Model`}),(0,$.jsx)(`dd`,{children:r.model??`Unavailable`}),(0,$.jsx)(`dt`,{children:`Location`}),(0,$.jsx)(`dd`,{children:r.location??`local`}),(0,$.jsx)(`dt`,{children:r.scoreLabel??`Mean task score`}),(0,$.jsx)(`dd`,{children:V||`Unavailable`}),(0,$.jsx)(`dt`,{children:`Cost`}),(0,$.jsx)(`dd`,{children:r.costUsd==null?`Unavailable`:`$${r.costUsd.toFixed(4)}`}),(0,$.jsx)(`dt`,{children:`Quality failures`}),(0,$.jsx)(`dd`,{children:r.qualityFailureCount??`Unavailable`}),(0,$.jsx)(`dt`,{children:`Execution failures`}),(0,$.jsx)(`dd`,{children:r.executionFailureCount??`Unavailable`}),(0,$.jsx)(`dt`,{children:`Ungraded`}),(0,$.jsx)(`dd`,{children:r.ungradedCount??`Unavailable`})]})]})}),a&&(0,$.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${a?`expanded`:``}`,tabIndex:0,"aria-label":`Resource rows`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:r.kind===`dataset`?`Task`:`Case`}),(0,$.jsx)(`th`,{children:r.kind===`dataset`?`Graders`:`Outcome`}),r.kind===`experiment`&&(0,$.jsx)(`th`,{children:`Score`})]})}),(0,$.jsx)(`tbody`,{children:ie.length?ie.slice(s*5,s*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{title:e.label,children:e.label}),(0,$.jsx)(`td`,{title:e.detail,children:e.detail}),r.kind===`experiment`&&(0,$.jsx)(`td`,{children:e.score==null?`Unavailable`:`${(e.score*100).toFixed(1)}%`})]},e.id)):(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{colSpan:r.kind===`experiment`?3:2,children:[`Creating`,`Importing`].includes(r.state)?`Waiting for saved tasks…`:`No saved rows to show.`})})})]})}),a&&ie.length>5&&(0,$.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:s===0,onClick:()=>c(e=>e-1),children:`Previous`}),(0,$.jsxs)(`span`,{children:[s+1,`/`,Math.ceil(ie.length/5)]}),(0,$.jsx)(`button`,{type:`button`,disabled:(s+1)*5>=ie.length,onClick:()=>c(e=>e+1),children:`Show more`})]}),h&&(0,$.jsxs)(`div`,{className:`chat-resource-run-setup`,children:[(0,$.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,$.jsx)(q,{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,$.jsx)(q,{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,$.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,$.jsxs)(`table`,{className:`training-data-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Selected model`}),(0,$.jsx)(`th`,{children:`Actions`})]})}),(0,$.jsx)(`tbody`,{children:x.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:_.find(t=>`${t.providerId}/${t.id}`===e)?.name??e}),(0,$.jsx)(`td`,{children:(0,$.jsx)(`button`,{type:`button`,className:`training-text-button`,disabled:l,onClick:()=>{S(x.filter(t=>t!==e)),M(null)},children:`Remove`})})]},e))})]}),!_.length&&(0,$.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.`}),I?(0,$.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,$.jsxs)(`label`,{children:[`Total budget (USD)`,(0,$.jsx)(`input`,{type:`number`,min:`0.000001`,step:`any`,value:C,onChange:e=>{w(e.target.value),M(null)},disabled:l})]}),(0,$.jsxs)(`label`,{children:[`Maximum tasks`,(0,$.jsx)(`input`,{type:`number`,min:`1`,max:`100`,value:T,onChange:e=>{E(e.target.value),M(null)},disabled:l})]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:l||!x.length&&!y||!I&&!C,onClick:()=>void L(re),children:k===`cloud`?`Run in cloud`:`Run experiment`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:l,onClick:()=>g(!1),children:`Close`})]}),d&&(0,$.jsx)(Y,{error:d}),D.map(e=>(0,$.jsx)(Ho,{initial:e,connection:t},e.id))]})}function Wo({resources:e,connection:t,context:n}){let[r,i]=(0,Q.useState)(!1),a=(0,Q.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,$.jsx)(Ho,{initial:e,connection:t,context:n},`${e.kind}:${e.id}`));if(!s||!o)return(0,$.jsx)($.Fragment,{children:c});let l=e.length-1;return(0,$.jsxs)(`section`,{className:`chat-resource-summary compact`,"aria-label":`Resources for ${o.name}`,children:[(0,$.jsx)(No,{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,$.jsx)(`div`,{id:a,className:`chat-resource-group-details`,children:c}):null]})}var Go=`<openpond_trusted_runtime_context>`,Ko=`</openpond_trusted_runtime_context>`;function qo(e){let t=e.trimStart();if(!t.startsWith(Go))return e;let n=t.indexOf(Ko,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 Jo({content:e,timestamp:t,kvCacheSummary:n}){let r=(0,Q.useRef)(null),i=(0,Q.useRef)(0),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null);fn(s),(0,Q.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 l(){if(!e)return;let t=++i.current;c(null);let n=await Mt(e);t===i.current&&(o(n),n||c(Error(`Could not copy the message. Try again.`)))}let u=n?.cacheHitRate,d=typeof u==`number`&&Number.isFinite(u)&&u>=0&&u<=1?Math.round(u*100):0,f=d>0?`${d}%`:null;return(0,$.jsxs)(`div`,{className:`assistant-message-footer`,ref:r,children:[(0,$.jsx)(Yo,{timestamp:t}),f?(0,$.jsxs)(`span`,{className:`message-kv-cache-metric`,"aria-label":`KV cache reuse ${f}`,children:[`KV `,f]}):null,(0,$.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 l(),children:a?(0,$.jsx)(wr,{size:14}):(0,$.jsx)(Zt,{size:14})})]})}function Yo({timestamp:e}){let t=Ir(e);return t?(0,$.jsx)(`time`,{className:`message-timestamp`,dateTime:e,title:er(e),children:t}):null}function Xo({content:e}){let[t,n]=(0,Q.useState)(!1),[r,i]=(0,Q.useState)(!1),a=(0,Q.useRef)(null),o=(0,Q.useId)();return(0,Q.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,$.jsxs)(`div`,{className:`user-message-content-wrap`,children:[(0,$.jsx)(`div`,{ref:a,id:o,className:`user-message-content ${t?``:`collapsed`}`,children:e}),r?(0,$.jsxs)(`button`,{type:`button`,className:`user-message-show-more`,"aria-expanded":t,"aria-controls":o,onClick:()=>n(e=>!e),children:[t?(0,$.jsx)(Lt,{size:14}):(0,$.jsx)(Jt,{size:14}),(0,$.jsx)(`span`,{children:t?`Show less`:`Show more`})]}):null]})}async function Zo(e,t){let{ownerScope:n}=await W(e,`/v1/ponder/desktop`);if(!n||[`installationId`,`profileId`,`ownerUserId`,`teamId`].some(e=>n[e]!==t[e]))throw Error(`Open this task on its original desktop, account and workspace.`)}function Qo({message:e,onOpenSession:t,onOpenPonder:n,connection:r}){let[i,a]=(0,Q.useState)(null),o=(0,Q.useRef)(0);(0,Q.useEffect)(()=>(o.current++,()=>{o.current++}),[r,e.id]);let s=e.taskMessage;if(!s)return null;let{input:c,peer:l,direction:u}=s;async function d(){if(!r||!n)return;let e=o.current;try{if(!l.ponderScope)throw Error(`This message has no verified Ponder source.`);await Zo(r,l.ponderScope);let t=await W(r,`/v1/ponder`,{method:`POST`,body:`{}`});if(e!==o.current)return;if(t.bindingId!==l.bindingId)throw Error(`This task's original Ponder conversation is no longer active.`);a(null),n()}catch(t){e===o.current&&a(t instanceof Error?t.message:String(t))}}let f=c.error?c.error:{pending:`Queued`,included:`Included in agent request`,resolved:`Delivered to agent`,rejected:`Not delivered`,cancelled:`Cancelled`}[c.state];return(0,$.jsxs)(`article`,{className:`message-row user task-message-row`,children:[(0,$.jsx)(`div`,{className:`user-message`,children:(0,$.jsx)(Xo,{content:c.body})}),(0,$.jsxs)(`div`,{className:`task-message-attribution`,children:[(0,$.jsx)(Yo,{timestamp:e.timestamp}),(0,$.jsx)(`span`,{children:u===`sent`?`Sent to`:`Received from`}),l.kind===`ponder`?n&&r?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void d(),children:l.title}):(0,$.jsx)(`span`,{children:l.title}):t?(0,$.jsx)(`button`,{type:`button`,onClick:()=>t(l.sessionId),children:l.title}):(0,$.jsx)(`span`,{children:l.title}),(0,$.jsx)(`span`,{title:`Delivery receipt ${c.id}`,role:`status`,children:f})]}),i?(0,$.jsx)(Y,{error:i}):null]})}var $o=64,es=120,ts=210,ns=360,rs=40,is=120,as=600,os=100,ss=33,cs=new Set,ls=!1;function us(e,t,n=0){if(e<=0)return{characterCount:0,remainder:0};let r=n+Math.min(Math.max(t,0),os)*(e>as?ns:e>is?ts:e>rs?es:$o)/1e3,i=Math.min(e,Math.floor(r));return{characterCount:i,remainder:r-i}}function ds(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 fs(){return typeof window<`u`&&typeof window.matchMedia==`function`&&typeof document<`u`&&document.visibilityState===`visible`&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function ps(e,t,n){return t&&n?ds(``,e,1):e}function ms(e,t=!1){let[n,r]=(0,Q.useState)(()=>ps(e,t,fs())),i=(0,Q.useRef)(n),a=(0,Q.useRef)(e),o=(0,Q.useRef)(null),s=(0,Q.useRef)(null),c=(0,Q.useRef)(0),l=(0,Q.useRef)(!0);return(0,Q.useEffect)(()=>(l.current=!0,()=>{l.current=!1,o.current!==null&&(window.clearTimeout(o.current),o.current=null)}),[]),(0,Q.useEffect)(()=>{if(a.current=e,!fs()||!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=us(d,s.current===null?16:u-s.current,c.current);if(s.current=u,c.current=f.remainder,f.characterCount>0){let t=ds(e,n,f.characterCount);i.current=t,r(t)}o.current=window.setTimeout(t,ss)};return o.current=window.setTimeout(t,ss),()=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},[e]),(0,Q.useEffect)(()=>{let e=hs(()=>{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 hs(e){return cs.add(e),ls||=(document.addEventListener(`visibilitychange`,gs),!0),()=>{cs.delete(e),cs.size===0&&ls&&(document.removeEventListener(`visibilitychange`,gs),ls=!1)}}function gs(){for(let e of cs)e()}function _s({visibleContent:e,content:t,...n}){let r=Wt(e,e.length===t.length),i=vs(r,e.length===t.length);return(0,$.jsx)(Gt,{...n,content:r,finalizedContent:i.finalized,mutableContent:i.mutable})}function vs(e,t){if(t||!e)return{finalized:e,mutable:``};let n=e.split(`
83
+ `),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 ys({content:e=``,reasoningContent:t=``,animateInitialContent:n,children:r,footer:i,...a}){let o=ms(e,n),s=ms(t,n),c=o===e&&s===t;return(0,$.jsxs)($.Fragment,{children:[t?(0,$.jsx)(`div`,{className:`assistant-message`,children:(0,$.jsx)(_s,{...a,content:t,visibleContent:s})}):null,e?(0,$.jsx)(`div`,{className:`assistant-message`,children:(0,$.jsx)(_s,{...a,content:e,visibleContent:o})}):null,r,c?i:null]})}function bs({actionRun:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r=null}){let i=Ts(e.status),a=Es(e);return(0,$.jsxs)(`div`,{className:`action-run-card ${e.status}`,children:[(0,$.jsxs)(`div`,{className:`action-run-header`,children:[(0,$.jsx)(`span`,{className:`action-run-status`,title:e.status,children:(0,$.jsx)(i,{size:15})}),(0,$.jsxs)(`div`,{className:`action-run-title`,children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`span`,{children:e.actionName})]})]}),a.length>0&&(0,$.jsx)(`div`,{className:`action-run-meta`,"aria-label":`Action run metadata`,children:a.map(e=>(0,$.jsxs)(`span`,{className:`action-run-chip`,children:[e.icon,(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`code`,{children:e.value})]},e.label))}),e.responseText&&(0,$.jsx)(`p`,{className:`action-run-response`,children:e.responseText}),e.refs.length>0&&(0,$.jsx)(`div`,{className:`action-run-ref-list`,"aria-label":`Action run references`,children:e.refs.slice(0,8).map(e=>(0,$.jsx)(ws,{refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r},e.id))}),e.childCalls.length>0&&(0,$.jsx)(`div`,{className:`action-run-child-list`,"aria-label":`Child implementation calls`,children:e.childCalls.map(e=>(0,$.jsxs)(`div`,{className:`action-run-child ${e.status}`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`small`,{children:e.status}),e.detail&&(0,$.jsx)(`code`,{children:e.detail})]},e.id))})]})}function xs(e){return e.implementationType===`openpond-profile-action`}function Ss(e){let t=e.agentName??e.agentId;return e.actionName.endsWith(`.chat`)?Tn({actionId:e.actionName,label:e.title,name:t}):t?Tn({actionId:e.actionName,name:t}):e.title&&!En(e.title)?Tn({actionId:e.actionName,label:e.title}):Tn({actionId:e.actionName})}function Cs(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 ws({refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r}){let i=n?Nt(e.target,{workspaceRootPath:r}):null,a=Ds(e.target)&&t,o=!!(i&&n);return(0,$.jsxs)(`div`,{className:`action-run-ref ${e.kind}`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`code`,{children:e.target}),a&&(0,$.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>t(e.target,{newTab:!0}),children:(0,$.jsx)(qt,{size:13})}),o&&(0,$.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>{i&&n&&n(i.path)},children:(0,$.jsx)(qt,{size:13})})]})}function Ts(e){return e===`completed`?Er:e===`failed`?ca:na}function Es(e){let t=[];return e.implementationType&&t.push({label:`Type`,value:e.implementationType,icon:(0,$.jsx)(Pt,{size:12})}),e.runId&&t.push({label:`Run`,value:e.runId,icon:(0,$.jsx)(dr,{size:12})}),e.sandboxId&&t.push({label:`Sandbox`,value:e.sandboxId,icon:(0,$.jsx)(dr,{size:12})}),e.sourceRef&&t.push({label:`Source`,value:e.sourceRef,icon:(0,$.jsx)(sr,{size:12})}),e.manifestHash&&t.push({label:`Manifest`,value:e.manifestHash,icon:(0,$.jsx)(dr,{size:12})}),t}function Ds(e){return/^https?:\/\//i.test(e)}function Os(e,t){let n=ks(e),[r,i]=(0,Q.useState)(()=>n.getUrl(t));return(0,Q.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function ks(e){let[,t]=(0,Q.useState)(0),n=(0,Q.useCallback)(t=>!e||!t?null:(Lr.activateConnection(e),Lr.get(lr(e,`local-video`,t))),[e]),r=(0,Q.useCallback)(async n=>{if(!e||!n)return null;Lr.activateConnection(e);let r=lr(e,`local-video`,n);return Lr.load(r,()=>Z.signLocalVideoUrl(e,{path:n})).finally(()=>t(e=>e+1))},[e]);return(0,Q.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}var As=4;function js({onOpenSession:e,onShowAll:t,sessions:n}){let r=n.slice(0,As),i=Math.max(0,n.length-r.length),a=n.map(Fs).join(`, `);return(0,$.jsxs)(`div`,{"aria-label":`Subagent conversations: ${a}`,className:`activity-subagent-avatar-group`,title:`Subagent conversations: ${a}`,children:[r.map(t=>(0,$.jsx)(Ms,{openSession:t,onOpenSession:e},t.sessionId)),i>0?(0,$.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 Ms({className:e=``,onOpenSession:t,openSession:n}){let r=Ls(n.roleId),i=Rs(n.status),a=`Open ${Fs(n)} conversation`;return(0,$.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,$.jsx)(Ns,{roleId:r})})}function Ns({roleId:e}){return e===`coding`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M9.4 7.2 4.8 12l4.6 4.8`}),(0,$.jsx)(`path`,{d:`m14.6 7.2 4.6 4.8-4.6 4.8`}),(0,$.jsx)(`path`,{d:`m12.9 5.7-1.8 12.6`})]}):e===`research`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`circle`,{cx:`10.8`,cy:`10.8`,r:`5.2`}),(0,$.jsx)(`path`,{d:`m15 15 4 4`}),(0,$.jsx)(`path`,{d:`M8.6 10.8h4.4`}),(0,$.jsx)(`path`,{d:`M10.8 8.6v4.4`})]}):e===`review`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,$.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,$.jsx)(`path`,{d:`m8.9 14.2 2 2 4.3-4.7`})]}):e===`test`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M9.2 4.8h5.6`}),(0,$.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,$.jsx)(`path`,{d:`M8.2 15.8h7.6`})]}):e===`docs`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,$.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,$.jsx)(`path`,{d:`M9.2 11.4h5.6`}),(0,$.jsx)(`path`,{d:`M9.2 14.2h5.6`}),(0,$.jsx)(`path`,{d:`M9.2 17h3.4`})]}):e===`planner`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`circle`,{cx:`7.2`,cy:`7.2`,r:`2.1`}),(0,$.jsx)(`circle`,{cx:`16.8`,cy:`7.2`,r:`2.1`}),(0,$.jsx)(`circle`,{cx:`12`,cy:`16.8`,r:`2.1`}),(0,$.jsx)(`path`,{d:`M9 8.2h6`}),(0,$.jsx)(`path`,{d:`m8.5 9 2.4 5.4`}),(0,$.jsx)(`path`,{d:`m15.5 9-2.4 5.4`})]}):e===`summarizer`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M7 6.8h10`}),(0,$.jsx)(`path`,{d:`M7 10.4h8.2`}),(0,$.jsx)(`path`,{d:`M7 14h6.2`}),(0,$.jsx)(`path`,{d:`M7 17.6h4.2`})]}):(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`circle`,{cx:`12`,cy:`8.2`,r:`3.2`}),(0,$.jsx)(`path`,{d:`M6.5 19.2c.6-3 2.5-5 5.5-5s4.9 2 5.5 5`}),(0,$.jsx)(`path`,{d:`M5.2 11.8h2`}),(0,$.jsx)(`path`,{d:`M16.8 11.8h2`})]})}function Ps(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 Fs(e){let t=`${Is(e.roleId)} subagent`,n=e.status?.replace(/_/g,` `).trim();return n?`${t} (${n})`:t}function Is(e){return Ls(e).split(/[-_]+/).filter(Boolean).map(e=>e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)||`Subagent`}function Ls(e){let t=e?.trim().toLowerCase()||`subagent`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`subagent`}function Rs(e){let t=e?.trim().toLowerCase()||`unknown`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`unknown`}function zs({activity:e,defaultExpanded:t=!1}){let[n,r]=(0,Q.useState)(t),i=(0,Q.useId)(),a=Hs(e);return(0,$.jsxs)(`section`,{className:`harness-refiner-receipt ${e.state} ${e.result??``}`,children:[(0,$.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,$.jsx)(sn,{"aria-hidden":!0,className:e.state===`running`?`spinning`:void 0,size:12}),(0,$.jsx)(`span`,{children:Kn(e)}),a?(0,$.jsx)(Jt,{"aria-hidden":!0,className:`harness-refiner-receipt-toggle ${n?`expanded`:``}`,size:13}):null]}),a&&n?(0,$.jsxs)(`div`,{className:`harness-refiner-receipt-details`,id:i,children:[(0,$.jsx)(Bs,{activity:e}),e.reason?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Reason`}),(0,$.jsx)(`p`,{children:e.reason})]}):null,e.expectedOutcome?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Expected outcome`}),(0,$.jsx)(`p`,{children:e.expectedOutcome})]}):null,e.evidenceBasis?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Evidence basis`}),(0,$.jsx)(`p`,{children:e.evidenceBasis.kind.replaceAll(`_`,` `)}),(0,$.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,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Validation`}),(0,$.jsx)(`div`,{className:`harness-refiner-validation-list`,children:e.validations.map(e=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:e.status,children:e.status}),(0,$.jsx)(`p`,{children:e.summary})]},e.id))})]}):null,e.edits.length?(0,$.jsxs)(`details`,{className:`harness-refiner-exact-edits`,children:[(0,$.jsxs)(`summary`,{children:[`Review `,e.edits.length,` exact edit`,e.edits.length===1?``:`s`]}),e.edits.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`strong`,{children:[e.operation,` · `,e.target]}),(0,$.jsx)(`p`,{children:e.summary}),e.content===null?(0,$.jsx)(`small`,{children:`File deleted.`}):(0,$.jsx)(`pre`,{children:e.content})]},e.id))]}):null,(0,$.jsx)(Vs,{refs:e.refs})]}):null]})}function Bs({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,$.jsx)(`dl`,{className:`harness-refiner-receipt-facts`,children:t.map(([e,t])=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:e}),(0,$.jsx)(`dd`,{children:t?.replaceAll(`_`,` `)})]},e))}):null}function Vs({refs:e}){let t=Object.entries(e).filter(e=>!!e[1]);return t.length?(0,$.jsxs)(`details`,{className:`harness-refiner-references`,children:[(0,$.jsx)(`summary`,{children:`Receipt references`}),(0,$.jsx)(`dl`,{children:t.map(([e,t])=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:Us(e)}),(0,$.jsx)(`dd`,{children:(0,$.jsx)(`code`,{children:t})})]},e))})]}):null}function Hs(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 Us(e){let t=e.replace(/([a-z])([A-Z])/g,`$1 $2`);return`${t[0]?.toUpperCase()??``}${t.slice(1)}`}var Ws=n();function Gs({artifact:e,onOpenFileInSidebar:t,preview:n}){let[r,i]=(0,Q.useState)(null),a=(0,Q.useCallback)(()=>i(null),[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`activity-artifact`,title:e.path,onClick:t?n=>{n.target.closest(`button`)||t(e.path)}:void 0,onContextMenu:t=>{t.preventDefault(),i({path:e.path,title:e.title,...qs(t.clientX,t.clientY)})},children:[t?(0,$.jsxs)(`button`,{"aria-label":`Open ${e.title} in right sidebar`,className:`activity-artifact-name`,type:`button`,onClick:()=>t(e.path),children:[n?(0,$.jsx)(`span`,{className:`activity-artifact-preview`,"aria-hidden":!0,children:n}):(0,$.jsx)(dr,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{children:e.title})]}):(0,$.jsxs)(`span`,{className:`activity-artifact-name`,children:[(0,$.jsx)(dr,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{children:e.title})]}),(0,$.jsx)(`span`,{className:`activity-artifact-actions`,children:(0,$.jsx)(`button`,{"aria-label":`Show ${e.title} in file browser`,"data-tooltip":`Open in file browser`,type:`button`,onClick:()=>void Ft(e.path),children:(0,$.jsx)($t,{"aria-hidden":!0,size:14})})})]}),(0,$.jsx)(Ks,{menu:r,onClose:a})]})}function Ks({menu:e,onClose:t}){let n=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{if(!e)return;n.current?.focus();let r=()=>t(),i=e=>{e.key===`Escape`&&r()};return window.addEventListener(`pointerdown`,r),window.addEventListener(`blur`,r),window.addEventListener(`keydown`,i),window.addEventListener(`scroll`,r,!0),()=>{window.removeEventListener(`pointerdown`,r),window.removeEventListener(`blur`,r),window.removeEventListener(`keydown`,i),window.removeEventListener(`scroll`,r,!0)}},[e,t]),!e||typeof document>`u`?null:(0,Ws.createPortal)((0,$.jsx)(`div`,{"aria-label":`${e.title} file actions`,className:`activity-artifact-context-menu`,role:`menu`,style:{left:e.x,top:e.y},onPointerDown:e=>e.stopPropagation(),children:(0,$.jsxs)(`button`,{ref:n,role:`menuitem`,type:`button`,onClick:()=>{Mt(e.path),t()},children:[(0,$.jsx)(Zt,{"aria-hidden":!0,size:14}),(0,$.jsx)(`span`,{children:`Copy path`})]})}),document.body)}function qs(e,t){return{x:Math.max(8,Math.min(e,window.innerWidth-164-8)),y:Math.max(8,Math.min(t,window.innerHeight-42-8))}}var Js=5,Ys=280;function Xs({activeWorkspaceAppId:e,connection:t,message:n,onOpenFileInSidebar:r,onOpenSession:i}){let a=n.activities??[],[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(null),u=(0,Q.useId)(),d=(0,Q.useMemo)(()=>fa(a),[a]),f=(0,Q.useMemo)(()=>uo(a,o),[a,o]),p=a.find(e=>e.imagePreview)?.imagePreview??null,m=n.deliverables??[],h=so(a),g=yc(c,t,e),_=n.traceState===`running`,v=n.traceState===`failed`||n.traceState===`interrupted`,y=po(n.traceStartedAt,n.traceCompletedAt),b=cc(d.text,n.traceState,y,a),x=Ps(a),S=a.length>0&&a.every(e=>e.subagentMessage),C=f.toolCount>0||!!n.refinerActivity;return S&&!n.refinerActivity?(0,$.jsx)(ac,{activities:a}):(0,$.jsx)($.Fragment,{children:a.length>0||m.length>0||n.refinerActivity?(0,$.jsxs)(`article`,{className:`activity-group work-trace ${_?`running`:`settled`}`,children:[a.length>0||n.refinerActivity?(0,$.jsxs)(`div`,{className:`activity-summary-row`,children:[(0,$.jsx)(vo,{controls:C?u:void 0,danger:v,expanded:f.toolsExpanded,icon:p?(0,$.jsx)(gc,{activeWorkspaceAppId:e,connection:t,image:p}):(0,$.jsx)(_c,{kind:d.kind}),onToggle:C?()=>s(e=>!e):void 0,running:_,children:b||`Worked`}),x.length>0&&i?(0,$.jsx)(js,{onOpenSession:i,onShowAll:()=>s(!0),sessions:x}):null]}):null,h?(0,$.jsx)(lo,{entries:h}):null,m.length>0?(0,$.jsx)(ec,{artifacts:m,connection:t,onOpenFileInSidebar:r}):null,o&&C?(0,$.jsxs)(`div`,{className:`work-trace-flow`,id:u,children:[f.visibleActivities.map(n=>(0,$.jsx)(Qs,{activeWorkspaceAppId:e,activity:n,connection:t,onOpenImage:l,onOpenSession:i},n.id)),(0,$.jsx)(Zs,{activity:n.refinerActivity})]}):null,(0,$.jsx)(It,{open:!!g,src:g,title:c?.path??``,onClose:()=>l(null)})]}):null})}function Zs({activity:e}){return e?(0,$.jsx)(`article`,{className:`refiner-activity-row`,children:(0,$.jsx)(zs,{activity:e})}):null}function Qs({activeWorkspaceAppId:e,activity:t,connection:n,onOpenImage:r,onOpenSession:i}){let[a,o]=(0,Q.useState)(!1),s=(0,Q.useId)();return t.subagentMessage?(0,$.jsx)(ic,{activity:t}):(0,$.jsxs)(`div`,{className:`activity-tool-row ${t.controlKind===`turn_aborted`?`danger`:``}`,children:[(0,$.jsx)(vo,{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,$.jsx)(ln,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_dataset`?(0,$.jsx)(Ar,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_experiment`?(0,$.jsx)(_r,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):void 0,onToggle:()=>o(e=>!e),children:dc(t)}),a?(0,$.jsx)($s,{activeWorkspaceAppId:e,activity:t,connection:n,detailsId:s,onOpenImage:r,onOpenSession:i}):null]})}function $s({activeWorkspaceAppId:e,activity:t,connection:n,detailsId:r,onOpenImage:i,onOpenSession:a}){let o=yc(t.imagePreview??null,n,e);return(0,$.jsxs)(`div`,{className:`activity-tool-details`,id:r,children:[t.kind===`command`&&t.content?(0,$.jsx)(fc,{command:t.content,exitCode:t.terminal?.exitCode,output:t.detail,state:t.state}):t.content?xc(t.content)?(0,$.jsx)(`pre`,{className:`activity-detail-output`,children:t.content}):(0,$.jsx)(`code`,{className:`activity-tool-content`,children:t.content}):null,t.detail&&t.kind!==`command`?(0,$.jsx)(`pre`,{className:`activity-detail-output`,children:t.detail.replace(/\r\n/g,`
84
+ `).trimEnd()}):null,t.meta?(0,$.jsx)(`small`,{className:`activity-detail-meta`,children:t.meta}):null,t.imagePreview&&o?(0,$.jsx)(`button`,{type:`button`,className:`activity-image-preview`,title:`Open ${t.imagePreview.path}`,onClick:()=>i(t.imagePreview??null),children:(0,$.jsx)(`img`,{alt:kn(t.imagePreview.path),decoding:`async`,loading:`lazy`,src:o})}):null,t.openSession&&a?(0,$.jsx)(Ms,{className:`activity-subagent-detail-avatar`,openSession:t.openSession,onOpenSession:a}):null]})}function ec({artifacts:e,connection:t,onOpenFileInSidebar:n}){return(0,$.jsx)(`div`,{className:`activity-artifact-list`,children:e.map(e=>e.contentType.startsWith(`video/`)?(0,$.jsx)(nc,{artifact:e,connection:t,onOpenFileInSidebar:n},e.path):e.contentType.startsWith(`image/`)?(0,$.jsx)(tc,{artifact:e,connection:t},e.path):(0,$.jsx)(Gs,{artifact:e,onOpenFileInSidebar:n},e.path))})}function tc({artifact:e,connection:t}){let[n,r]=(0,Q.useState)(!1),i=Et(t,e.path);return(0,$.jsxs)(`div`,{className:`activity-artifact-image`,title:e.path,children:[(0,$.jsx)(`button`,{type:`button`,disabled:!i,onClick:()=>r(!0),title:`Open ${e.title}`,children:i?(0,$.jsx)(`img`,{alt:e.title,decoding:`async`,loading:`lazy`,src:i}):(0,$.jsx)(en,{"aria-hidden":!0,size:20})}),(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(It,{open:n&&!!i,src:i,title:e.title,onClose:()=>r(!1)})]})}function nc({artifact:e,connection:t,onOpenFileInSidebar:n}){let r=(0,Q.useRef)(null),[i,a]=(0,Q.useState)(!1),o=Os(t,e.path);return(0,$.jsxs)(`div`,{className:`activity-artifact-video`,title:e.path,children:[(0,$.jsxs)(`div`,{className:`activity-artifact-video-stage`,children:[o?(0,$.jsx)(`video`,{controls:!0,onPlay:()=>a(!0),preload:`metadata`,ref:r,src:o}):(0,$.jsx)(`div`,{className:`activity-artifact-video-loading`,children:`Preparing video…`}),o&&!i?(0,$.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,$.jsx)(an,{"aria-hidden":!0,fill:`currentColor`,size:22})}):null]}),(0,$.jsxs)(`div`,{className:`activity-artifact-video-footer`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-file`,onClick:()=>void Ft(e.path),title:`Show ${e.path} in its folder`,children:[(0,$.jsx)($t,{"aria-hidden":!0,size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`code`,{children:e.path})]}),(0,$.jsx)(`small`,{children:e.sizeBytes==null?e.contentType:rc(e.sizeBytes)})]}),n?(0,$.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-sidebar`,onClick:()=>n(e.path),title:`Open video in sidebar`,children:[(0,$.jsx)(Zn,{"aria-hidden":!0,size:13}),`Open in sidebar`]}):null]})]})}function rc(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 ic({activity:e}){let[t,n]=(0,Q.useState)(!1),r=e.subagentMessage;if(!r)return null;let i=`${Is(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=oc(r),c=sc(r.body);return(0,$.jsx)(`div`,{className:`activity-child-message ${r.direction}`,children:(0,$.jsxs)(`div`,{className:`activity-child-message-card`,children:[(0,$.jsxs)(`div`,{className:`activity-child-message-header`,children:[(0,$.jsxs)(`span`,{className:`activity-child-message-title`,children:[(0,$.jsx)(Fr,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{title:o,children:o})]}),(0,$.jsx)(`small`,{children:r.kind.replace(/_/g,` `)})]}),(0,$.jsx)(`p`,{className:c&&!t?`collapsed`:void 0,style:{"--subagent-message-visible-lines":Js},children:r.body}),c?(0,$.jsx)(`button`,{type:`button`,className:`activity-child-message-toggle`,"aria-expanded":t,onClick:()=>n(e=>!e),children:t?`Show less`:`Show more`}):null,(0,$.jsxs)(`details`,{className:`activity-child-message-details`,children:[(0,$.jsx)(`summary`,{children:`Message details`}),(0,$.jsx)(`div`,{className:`activity-child-message-facts`,"aria-label":`Child message metadata`,children:s.map(e=>(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`small`,{children:e.label}),(0,$.jsx)(`code`,{title:e.value,children:e.value})]},e.label))})]}),r.refs?.length?(0,$.jsx)(`div`,{className:`activity-child-message-refs`,"aria-label":`Child message references`,children:r.refs.map(e=>(0,$.jsxs)(`span`,{children:[e.kind,`:`,e.id,` (`,e.label,`)`]},`${e.kind}:${e.id}`))}):null]})},e.id)}function ac({activities:e}){let t=e[0]?.subagentMessage?.direction??`received`;return(0,$.jsx)(`article`,{className:`activity-child-message-group ${t}`,children:e.map(e=>(0,$.jsx)(ic,{activity:e},e.id))})}function oc(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 sc(e){return e.length>Ys||e.split(/\r?\n/).length>Js}function cc(e,t,n,r){return t===`running`?lc(r)||e||`Working…`:t===`failed`?`${n?`Failed after ${n}`:`Failed`}${e?` · ${e}`:``}`:t===`interrupted`?`${n?`Interrupted after ${n}`:`Interrupted`}${e?` · ${e}`:``}`:e}function lc(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 uc(r)}return t?uc(t):null}function uc(e){return e.kind===`command`?e.state===`failed`?`Command failed`:pa(e.content,e.state)??(e.state===`running`||e.state===`pending`?`Running command`:`Ran command`):e.label.trim()||null}function dc(e){if(e.kind!==`command`)return e.label;if(e.state===`running`||e.state===`pending`)return uc(e)??`Running command`;let t=pc(e.terminal?.durationMs);return e.state===`failed`?`Command failed${t?` in ${t}`:``}`:`${uc(e)??`Ran command`}${t?` in ${t}`:``}`}function fc({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,$.jsxs)(`section`,{"aria-label":`Shell command output`,className:`activity-command-terminal ${r??`completed`}`,children:[(0,$.jsx)(`header`,{children:`Shell`}),(0,$.jsx)(`pre`,{children:(0,$.jsxs)(`code`,{className:`shell-command-code`,children:[(0,$.jsx)(`span`,{className:`activity-command-prompt`,"aria-hidden":!0,children:`$\xA0`}),mc(e),n?(0,$.jsx)(`span`,{className:`activity-command-output`,children:`\n${n.replace(/\r\n/g,`
85
+ `).trimEnd()}`}):null]})}),(0,$.jsx)(`footer`,{children:i})]})}function pc(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 mc(e){return hc(e).map((e,t)=>(0,$.jsx)(`span`,{className:`shell-token ${e.kind}`,children:e.text},`${t}-${e.text}`))}function hc(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 gc({activeWorkspaceAppId:e,connection:t,image:n}){let r=yc(n,t,e);return r?(0,$.jsx)(`img`,{"aria-hidden":!0,className:`activity-summary-image`,decoding:`async`,loading:`lazy`,src:r,alt:``}):null}function _c({kind:e}){let t=vc(e);return(0,$.jsx)(t,{"aria-hidden":!0,className:`activity-summary-kind-icon ${e}`,size:14})}function vc(e){return e===`approval`||e===`control`?gr:e===`edit`?ir:e===`image`?en:e===`list`?Ar:e===`read`?dr:e===`reasoning`?ia:e===`search`?Dr:e===`subagent`?Fr:e===`web`?Or:ln}function yc(e,t,n){let r=e&&bc(e.path)?e.path:null,i=e?.appId??n,a=Et(t,r),o=Dt(t,r?null:i,r?null:e?.path);return r?a:o}function bc(e){return/^file:\/\//i.test(e)||e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)}function xc(e){return e.includes(`
86
+ `)||e.length>160}function Sc({summary:e,onOpenFileInSidebar:t}){let[n,r]=(0,Q.useState)(null),i=`Workspace changes · ${e.filesChanged} ${e.filesChanged===1?`file`:`files`}`,a=e.files.reduce((e,t)=>{let n=wc(t);return{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}},{additions:0,deletions:0});return(0,$.jsxs)(`div`,{className:`change-summary-card`,children:[(0,$.jsxs)(`div`,{className:`change-summary-header`,children:[(0,$.jsxs)(`span`,{children:[i,(0,$.jsx)(`br`,{}),(0,$.jsx)(`small`,{style:{color:`var(--text-muted)`},children:`May include edits from other chats or tools.`})]}),(0,$.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,$.jsxs)(`span`,{className:`diff-addition`,children:[`+`,a.additions]}),(0,$.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,a.deletions]})]})]}),(0,$.jsx)(`div`,{className:`change-summary-files`,children:e.files.map(e=>(0,$.jsx)(Cc,{file:e,onOpenFileInSidebar:t,open:n===e.path,onToggle:()=>r(t=>t===e.path?null:e.path)},e.path))})]})}function Cc({file:e,onOpenFileInSidebar:t,open:n,onToggle:r}){let i=wc(e),a=Ec(e.patch);return(0,$.jsxs)(`div`,{className:`change-summary-file`,children:[(0,$.jsxs)(`div`,{className:`change-summary-file-trigger`,children:[(0,$.jsx)(`button`,{type:`button`,className:`change-summary-file-toggle`,onClick:r,children:(0,$.jsx)(`span`,{children:e.path})}),(0,$.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,$.jsxs)(`span`,{className:`diff-addition`,children:[`+`,i.additions]}),(0,$.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,i.deletions]})]}),t&&(0,$.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,$.jsx)(qt,{size:14})}),(0,$.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,$.jsx)(Jt,{className:n?`expanded`:``,size:14})})]}),n&&a&&(0,$.jsx)(`div`,{className:`change-summary-patch-unavailable`,children:`Patch is no longer available for this workspace path.`}),n&&e.patch&&!a&&(0,$.jsx)(`pre`,{className:`change-summary-patch`,children:(0,$.jsx)(`code`,{children:e.patch})})]})}function wc(e){if((e.status===`added`||e.status===`untracked`)&&e.additions===0&&e.content)return{additions:Tc(e.content),deletions:0};if(e.additions>0||e.deletions>0||!e.patch||Ec(e.patch))return{additions:e.additions,deletions:e.deletions};let t=Dc(e.patch);return t.additions>0||t.deletions>0?t:{additions:e.additions,deletions:e.deletions}}function Tc(e){let t=e.endsWith(`
87
+ `)?e.slice(0,-1):e;return t?t.split(`
88
+ `).length:0}function Ec(e){return/^error: Could not access /m.test(e)}function Dc(e){let t=0,n=0;for(let r of e.split(`
89
+ `))r.startsWith(`+++`)||r.startsWith(`---`)||(r.startsWith(`+`)&&(t+=1),r.startsWith(`-`)&&(n+=1));return{additions:t,deletions:n}}function Oc({run:e}){let t=e.plan,n=e.questions.find(e=>e.status===`pending`)??null,r=fe(t?.metadata),i=e.target.kind===`agent`?null:e.sourceRefs[0]??t?.sourcePlan[0]?.path??null,a=e.checkRefs.length||t?.checks.length||0;return(0,$.jsxs)(`section`,{className:`chat-create-receipt`,"aria-label":`Create or improve status`,children:[(0,$.jsxs)(`div`,{className:`chat-create-receipt-heading`,children:[(0,$.jsx)(dr,{size:14}),(0,$.jsx)(`span`,{children:kc(e)}),(0,$.jsx)(`small`,{children:e.target.kind})]}),(0,$.jsx)(`p`,{children:Ac(e,t?.summary??null,n?.prompt??null)}),r||i||a?(0,$.jsxs)(`div`,{className:`chat-create-receipt-facts`,children:[r?(0,$.jsx)(`span`,{title:r.detail,children:r.label}):null,i?(0,$.jsx)(`span`,{title:i,children:i}):null,a?(0,$.jsxs)(`span`,{children:[a,` Evals`]}):null]}):null]})}function kc(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 Ac(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 jc(e,t){let n=Mc(e),[r,i]=(0,Q.useState)(()=>n.getUrl(t));return(0,Q.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function Mc(e){let[,t]=(0,Q.useState)(0),n=(0,Q.useCallback)(t=>!e||!t?null:(Lr.activateConnection(e),Lr.get(Nc(e,t))),[e]),r=(0,Q.useCallback)(async n=>{if(!e||!n)return null;let r=Nc(e,n);return Lr.activateConnection(e),Lr.load(r,()=>Z.signChatAttachmentImageUrl(e,n)).finally(()=>t(e=>e+1))},[e]);return(0,Q.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}function Nc(e,t){return lr(e,`chat-attachment-image`,t.sessionId,t.turnId,t.attachmentId,t.storageName,t.contentType)}function Pc({attachments:e,compact:t,connection:n,onOpenAttachment:r}){return(0,$.jsx)(`div`,{className:`user-message-attachments${t?` compact`:``}`,"aria-label":`Attached files`,children:e.map(e=>(0,$.jsx)(Fc,{attachment:e,connection:n,onOpenAttachment:r},e.id))})}function Fc({attachment:e,connection:t,onOpenAttachment:n}){return e.kind===`image`&&e.imagePreview?(0,$.jsx)(Lc,{attachment:e,connection:t,onOpenAttachment:n}):(0,$.jsx)(Ic,{attachment:e,onOpenAttachment:n})}function Ic({attachment:e,onOpenAttachment:t}){let[n,r]=(0,Q.useState)(!1),i=!!((e.filePreview||e.imagePreview)&&t),a=n?`Opening`:e.lineCount===void 0?null:Vr(e.lineCount),o=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Hr,{attachment:e,size:13}),(0,$.jsx)(`span`,{children:e.name}),a?(0,$.jsx)(`small`,{children:a}):null]});return i?(0,$.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,$.jsx)(`span`,{className:`user-message-attachment`,title:e.name,children:o})}function Lc({attachment:e,connection:t,onOpenAttachment:n}){let r=jc(t,e.imagePreview),[i,a]=(0,Q.useState)(!1);return(0,$.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,$.jsx)(`img`,{alt:``,decoding:`async`,loading:`lazy`,src:r}):(0,$.jsx)(en,{size:24})})}var Rc=(0,Q.memo)(function({activeWorkspaceAppId:e=null,animateInitialContent:t=!1,accountBaseUrl:n=null,billingOrganizationSlug:r=null,billingTeamId:i=null,connection:a=null,conversationLinks:o,message:s,kvCacheSummary:c=null,onOpenBrowserLink:l,onOpenAttachmentInSidebar:u,onOpenFileInSidebar:d,onOpenProfileSettings:f,onResolveUserQuestion:p,onOpenSession:m,onOpenPonder:h,showFooter:g=!0,userAttachmentDisplay:_=`full`,workspaceRootPath:v=null}){if(s.nativeTaskNotification)return(0,$.jsx)(`div`,{className:`message-row assistant`,children:(0,$.jsx)(yo,{notification:s.nativeTaskNotification,onOpenFile:d})});if(s.role===`resources`)return(0,$.jsx)(`article`,{className:`message-row assistant`,"data-resource-response":s.turnId,children:(0,$.jsx)(Wo,{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,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsx)(Mo,{visual:s.visual,connection:a},s.visual.publicationId)});if(s.role===`task_message`)return(0,$.jsx)(Qo,{message:s,onOpenSession:m,onOpenPonder:h,connection:a});if(s.role===`status_divider`)return(0,$.jsx)(Xc,{message:s});if(s.role===`activity_group`)return(0,$.jsx)(Xs,{activeWorkspaceAppId:e,connection:a,message:s,onOpenFileInSidebar:d,onOpenSession:m});if(s.role===`error`)return s.errorKind===`opchat_quota_exceeded`?(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsx)(qc,{accountBaseUrl:n,billingOrganizationSlug:r,billingTeamId:i,onOpenBrowserLink:l})}):(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsx)(`div`,{className:`assistant-message error-message`,children:s.content??``})});if(s.role===`user`){let e=qo(s.content??``),t=s.attachments??[],n=_===`compact`,r=t.length>0;return!e&&!r?null:(0,$.jsx)(`article`,{className:`message-row user`,children:(0,$.jsxs)(`div`,{className:`user-message ${r?`has-attachments`:``}`,children:[t.length?(0,$.jsx)(Pc,{attachments:t,compact:n,connection:a,onOpenAttachment:u}):null,e?(0,$.jsx)(Xo,{content:e}):null]})})}let y=s.actionRun&&xs(s.actionRun)?Ss(s.actionRun):null;return(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsxs)(ys,{activeWorkspaceAppId:e,animateInitialContent:t,connection:a,content:s.content,reasoningContent:s.reasoningContent,conversationLinks:o,onOpenConversation:m,onOpenBrowserLink:l,onOpenFileInSidebar:d,workspaceRootPath:v,footer:g&&s.finalAnswer?(0,$.jsx)(Jo,{content:s.content,timestamp:s.timestamp,kvCacheSummary:c}):null,children:[s.sources?.length?(0,$.jsx)(Hc,{sources:s.sources,onOpenBrowserLink:l}):null,s.actionRun&&xs(s.actionRun)?(0,$.jsxs)(`div`,{className:`assistant-message action-run-profile-message ${s.actionRun.status}`,children:[(0,$.jsx)(Gt,{activeWorkspaceAppId:e,connection:a,content:s.actionRun.responseText??Cs(s.actionRun),onOpenBrowserLink:l,onOpenFileInSidebar:d,workspaceRootPath:v}),y?(0,$.jsx)(`div`,{className:`action-run-agent-label`,children:f?(0,$.jsx)(`button`,{type:`button`,className:`action-run-agent-link`,onClick:f,children:y}):(0,$.jsx)(`span`,{children:y})}):null]}):s.actionRun?(0,$.jsx)(bs,{actionRun:s.actionRun,onOpenBrowserLink:l,onOpenFileInSidebar:d,workspaceRootPath:v}):null,s.changeSummary&&(0,$.jsx)(Sc,{summary:s.changeSummary,onOpenFileInSidebar:d}),s.createImproveRun?(0,$.jsx)(Oc,{run:s.createImproveRun}):null,s.userQuestion?(0,$.jsx)(Vc,{question:s.userQuestion,onResolve:p}):null]})})},zc);function zc(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&&Bc(e.message,t.message)}function Bc(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&&Jc(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}function Vc({question:e,onResolve:t}){let[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(!1),o=async n=>{if(t&&!i&&e.status===`pending`){a(!0);try{await t(e,n)}finally{a(!1)}}};return(0,$.jsxs)(`section`,{"data-notification-question":e.id,className:`user-question-card ${e.status}`,"aria-label":`Question from OpenPond`,children:[(0,$.jsxs)(`header`,{className:`user-question-header`,children:[(0,$.jsx)(`span`,{className:`user-question-icon`,"aria-hidden":!0,children:(0,$.jsx)(Tr,{size:17})}),(0,$.jsxs)(`span`,{className:`user-question-heading`,children:[(0,$.jsx)(`span`,{className:`user-question-eyebrow`,children:`Question`}),(0,$.jsx)(`strong`,{children:e.question})]})]}),e.reason?(0,$.jsx)(`p`,{className:`user-question-reason`,children:e.reason}):null,e.status===`pending`?(0,$.jsxs)($.Fragment,{children:[e.options.length>0?(0,$.jsx)(`div`,{className:`user-question-options`,children:e.options.map((n,r)=>(0,$.jsxs)(`button`,{disabled:i||!t,type:`button`,onClick:()=>void o({questionId:e.id,action:`answer`,optionId:n.id,text:n.label}),children:[(0,$.jsx)(`span`,{className:`user-question-option-index`,"aria-hidden":!0,children:r+1}),(0,$.jsxs)(`span`,{className:`user-question-option-copy`,children:[(0,$.jsx)(`span`,{children:n.label}),n.description?(0,$.jsx)(`small`,{children:n.description}):null]})]},n.id))}):null,e.allowFreeform?(0,$.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,$.jsx)(`label`,{htmlFor:`question-answer-${e.id}`,children:`Or write your own answer`}),(0,$.jsxs)(`span`,{className:`user-question-freeform-controls`,children:[(0,$.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,$.jsx)(`button`,{disabled:i||!t||!n.trim(),type:`submit`,children:i?`Sending…`:`Answer`})]})]}):null,(0,$.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,$.jsxs)(`span`,{className:`user-question-resolution`,children:[(0,$.jsx)(Er,{"aria-hidden":!0,size:15}),(0,$.jsx)(`small`,{children:e.status===`answered`?`Answered${e.answer?.text?`: ${e.answer.text}`:``}`:`Skipped`})]})]})}function Hc({sources:e,onOpenBrowserLink:t}){return(0,$.jsx)(`div`,{className:`assistant-sources`,"aria-label":`Sources`,children:(0,$.jsx)(`div`,{className:`assistant-source-stack`,children:e.map(e=>(0,$.jsx)(Uc,{source:e,onOpenBrowserLink:t},`${e.id}:${e.url}`))})})}function Uc({source:e,onOpenBrowserLink:t}){let n=Gc(e),r=[e.title,Kc(e.url)].filter(Boolean).join(` - `),i=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Wc,{source:e}),(0,$.jsx)(`span`,{children:n})]});return t?(0,$.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,$.jsx)(`a`,{className:`assistant-source-pill`,href:e.url,target:`_blank`,rel:`noreferrer`,title:r||n,"aria-label":`Open source ${n}`,children:i})}function Wc({source:e}){let[t,n]=(0,Q.useState)(!1);return!e.faviconUrl||t?(0,$.jsx)(Or,{className:`assistant-source-fallback-icon`,size:13}):(0,$.jsx)(`img`,{alt:``,"aria-hidden":`true`,className:`assistant-source-favicon`,decoding:`async`,loading:`lazy`,src:e.faviconUrl,onError:()=>n(!0)})}function Gc(e){return e.sourceName?.trim()||Kc(e.url)||e.title}function Kc(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function qc({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:n,onOpenBrowserLink:r}){let i=ur({accountBaseUrl:e,organizationSlug:t,teamId:n}),a=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Mr,{size:15}),(0,$.jsx)(`span`,{children:`Add credits`}),(0,$.jsx)(Qt,{size:13})]});return(0,$.jsxs)(`div`,{className:`assistant-message quota-error-card`,role:`alert`,children:[(0,$.jsx)(`div`,{className:`quota-error-card-icon`,children:(0,$.jsx)(Mr,{size:17})}),(0,$.jsxs)(`div`,{className:`quota-error-card-body`,children:[(0,$.jsx)(`strong`,{children:`OpenPond Chat allowance reached`}),(0,$.jsx)(`p`,{children:`You have reached your OpChat token allowance for this period. Add credits or wait for the allowance to reset.`}),r?(0,$.jsx)(`button`,{type:`button`,className:`quota-error-card-action`,onClick:()=>r(i,{newTab:!0}),children:a}):(0,$.jsx)(`a`,{className:`quota-error-card-action`,href:i,target:`_blank`,rel:`noreferrer`,children:a})]})]})}function Jc(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 Yc=(0,Q.memo)(function(){return(0,$.jsx)(`article`,{className:`activity-group thinking-row`,"aria-live":`polite`,children:(0,$.jsx)(vo,{running:!0,children:`Thinking…`})})});function Xc({message:e}){let t=e.statusTone??`info`,n=e.statusState??`idle`;return(0,$.jsx)(`article`,{className:`status-divider ${t} ${n}`,"aria-live":t===`danger`?`assertive`:`polite`,children:(0,$.jsx)(`span`,{children:e.content??``})})}var Zc=(0,Q.createContext)(`default`),Qc=`openpond-chat-context-selected`,$c=new Map,el=new Set,tl=new Set;function nl(e,t){$c.set(e,t);for(let e of tl)e()}var rl=e=>(tl.add(e),()=>{tl.delete(e)});function il(e,t,n){let r=(0,Q.useContext)(Zc),i=`${e?xt(e):`disconnected`}:${n??r}`,a=`${i}:${t??`new`}`,o=s(),c=(0,Q.useSyncExternalStore)(rl,()=>$c.get(a),()=>void 0),l=(0,Q.useSyncExternalStore)(rl,()=>el.has(a),()=>!1),u=f({queryKey:[`chat-context-catalog`,i,t],enabled:!!e,staleTime:3e4,queryFn:async({signal:n})=>{let r=await X(e,`dataset`,{action:`context_catalog`,payload:t?{sessionId:t}:{}},n);return{...r,options:qi.array().parse(r.options)}}}),d=f({queryKey:[`chat-context-selection`,a],enabled:!!(e&&t&&!l),refetchInterval:1e4,queryFn:async({signal:n})=>{let r=await X(e,`dataset`,{action:`context_selection`,payload:{sessionId:t}},n),a=r.selection?Ji.parse(r.selection):null,s=o.getQueryData([`chat-context-catalog`,i,t]);return a?.target.scopeId&&s&&!s.options.some(e=>e.target.scopeId===a.target.scopeId)&&o.invalidateQueries({queryKey:[`chat-context-catalog`,i,t]}),a}}),p=t?d.data===void 0?c??null:d.data:c??null;(0,Q.useEffect)(()=>{if(!e||!t)return;let n=e=>{e.detail?.sessionId===t&&o.invalidateQueries({queryKey:[`chat-context-selection`,a]})};return window.addEventListener(`openpond-resource-focus-changed`,n),()=>window.removeEventListener(`openpond-resource-focus-changed`,n)},[e,t,a,o]);let m=p?.training?p.training.location===`cloud`?{kind:`model`,id:p.training.job.modelProjectId,location:`cloud`,teamId:p.training.owner.teamId,apiOrigin:p.training.apiOrigin}:{kind:`model`,id:p.training.modelId,location:`local`}:p?.model?p.target:null,h=f({queryKey:[`chat-context-model-runs`,i,m],enabled:!!(e&&m),queryFn:async({signal:t})=>{let n=await X(e,`dataset`,{action:`context_runs`,payload:{target:m}},t);return{runs:qi.array().parse(n.runs)}}}),g=(0,Q.useCallback)(async(n,r)=>{if(e&&!el.has(a)){el.add(a);for(let e of tl)e();try{await o.cancelQueries({queryKey:[`chat-context-selection`,a]});let s=await X(e,`dataset`,{action:`context_select`,payload:{target:n,...r?.newExperiment?{newExperiment:!0}:{},...t?{sessionId:t}:{}}}),c=s.selection?Ji.parse(s.selection):null;await o.cancelQueries({queryKey:[`chat-context-selection`,a]}),nl(a,c),t&&o.setQueryData([`chat-context-selection`,a],c),r?.newExperiment&&o.invalidateQueries({queryKey:[`chat-context-catalog`,i,t]}),t&&window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:t}})),c&&window.dispatchEvent(new CustomEvent(Qc,{detail:{sessionId:t,scope:i,targetKey:JSON.stringify(c.target)}}))}finally{el.delete(a);for(let e of tl)e()}}},[e,a,o,i,t]),_=(0,Q.useCallback)(e=>{let n=$c.get(a);n!==void 0&&(nl(`${i}:${e}`,n),o.setQueryData([`chat-context-selection`,`${i}:${e}`],n)),t||nl(a,null)},[a,i,o,t]);return{selection:p,selecting:l,catalog:u,runs:h,select:g,selectionError:d.error,moveToSession:_,scope:i}}function al({connection:e,sessionId:t,accountScope:n,active:r,onOpen:i}){let a=il(r?e:null,t,n);return(0,Q.useEffect)(()=>{let e=e=>{let n=e.detail;r&&n?.sessionId===t&&n.scope===a.scope&&i()};return window.addEventListener(Qc,e),()=>window.removeEventListener(Qc,e)},[r,t,a.scope,i]),a.selection?.target.kind===`dataset`?`Experiment draft`:a.selection?.model?.name??a.selection?.label??`Training`}function ol(e){let[t,n]=(0,Q.useState)({tabs:[],activeId:null});(0,Q.useEffect)(()=>{n({tabs:[],activeId:null})},[e]),(0,Q.useEffect)(()=>window.openpond?.browser?.onRevealRequest?.(t=>{t.conversationId===e&&n(e=>({...e,activeId:null}))}),[e]);let r=(0,Q.useCallback)(e=>{n(t=>({tabs:t.tabs.some(t=>t.publicationId===e.publicationId)?t.tabs:[...t.tabs,e],activeId:e.publicationId}))},[]),i=(0,Q.useCallback)(e=>{n(t=>{let n=t.tabs.findIndex(t=>t.publicationId===e),r=t.tabs.filter(t=>t.publicationId!==e);return{tabs:r,activeId:t.activeId===e?r[Math.min(n,r.length-1)]?.publicationId??null:t.activeId}})},[]),a=(0,Q.useCallback)(e=>n(t=>({...t,activeId:e})),[]),o=(0,Q.useCallback)(()=>a(null),[a]);return{...t,open:r,close:i,select:a,showBrowser:o}}var sl=Object.freeze({events:[],messages:[]}),cl=class{projection=sl;project(e){if(e===this.projection.events)return this.projection.messages;if(!dl(this.projection.events,e))return this.replace(e);let t=e.slice(this.projection.events.length);if(t.length===0)return this.projection={events:e,messages:this.projection.messages},this.projection.messages;let n=ll(this.projection.messages,t);if(n)return this.projection={events:e,messages:n},n;let r=ul(e,this.projection.events.length);if(!r)return this.replace(e);let i=e.slice(r.eventIndex),a=new Set(i.flatMap(e=>e.turnId?[e.turnId]:[])),o=[...this.projection.messages.filter(e=>!e.turnId||!a.has(e.turnId)),...Mn(i)];return this.projection={events:e,messages:o},o}reset(){this.projection=sl}snapshot(){return this.projection}replace(e){let t=Mn(e);return this.projection={events:e,messages:t},t}};function ll(e,t){if(t.length===0||e.length===0)return null;let n=e[e.length-1];if(n?.role!==`assistant`||n.createImproveRun||t.some(e=>e.name!==`assistant.delta`&&e.name!==`assistant.reasoning.delta`||typeof br(e.data)?.nativeMessageId==`string`||e.turnId!==n.turnId||!e.output))return null;let r=n.content,i=n.reasoningContent,a=n.timestamp,o=!1,s=!1;for(let e of t)e.name===`assistant.delta`?(r=`${r??``}${e.output}`,o=!0):(i=`${i??``}${e.output}`,s=!0),a=e.timestamp;let c={...n,...o?{content:r}:{},...s?{reasoningContent:i}:{},timestamp:a};return[...e.slice(0,-1),c]}function ul(e,t){let n=e[t];if(!n?.turnId)return null;let r=e.findIndex(e=>e.turnId===n.turnId);return r<0?null:{eventIndex:r}}function dl(e,t){return e.length===0?!0:e.length>=t.length?!1:e[0]===t[0]&&e[e.length-1]===t[e.length-1]}function fl(e,t){let n=(0,Q.useCallback)(n=>t?e.subscribeSession(t,n):()=>void 0,[t,e]),r=(0,Q.useCallback)(()=>e.getSessionSnapshot(t),[t,e]),i=(0,Q.useSyncExternalStore)(n,r,r);return(0,Q.useEffect)(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),i}var pl=new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`,`Escape`]);function ml(e,t){return!t||!pl.has(e.key)?!1:(e.preventDefault(),!0)}function hl(e,{open:t,matches:n,index:r,setIndex:i,select:a,dismiss:o}){if(!t)return!1;if(n.length>0){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;return i(e=>(e+t+n.length)%n.length),!0}if(e.key===`Enter`||e.key===`Tab`)return e.preventDefault(),a(n[r]??n[0]),!0}return e.key===`Escape`&&(e.preventDefault(),o(),!0)}var gl=`openpond-composer-resource-request`;function _l(e){window.dispatchEvent(new CustomEvent(gl,{detail:{...e,contexts:qn.parse(e.contexts)}}))}function vl({connection:e,sessionId:t,events:n,blocked:r,prompt:i,selectionKey:a,inputRef:o}){let[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useId)(),f=(0,Q.useRef)(!1),[p,m]=(0,Q.useState)(!1),h=(0,Q.useRef)(!1),g=(0,Q.useRef)(0),_=(0,Q.useRef)(new Set),v=[...n].reverse().find(e=>e.sessionId===t&&[`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`workspace_action_result`].includes(e.name))?.id,y=`${xt(e)}:${t}:${a}:${v??``}`,b=(0,Q.useRef)({key:y,blocked:r,prompt:i,value:s,error:l});b.current={key:y,blocked:r,prompt:i,value:s,error:l},(0,Q.useEffect)(()=>{let n=++g.current;if(b.current.error!==null&&u(null),!e||!t||r||p||i)return;let a=new AbortController,o;async function s(){try{let r=await X(e,`dataset`,{action:`next_step`,payload:{sessionId:t,operation:`read`}},a.signal);if(n!==g.current||a.signal.aborted)return;let i=r.suggestion?Xi.parse(r.suggestion):null;i?.sessionId!==t||!i||_.current.has(i.id)?b.current.value!==null&&c(null):(b.current.value?.key!==y||b.current.value.suggestion.id!==i.id)&&c({key:y,suggestion:i})}catch{}finally{a.signal.aborted||(o=setTimeout(s,1e4))}}return s(),()=>{a.abort(),clearTimeout(o)}},[e,t,y,r,p,!!i,v]);let x=!p&&!r&&!i&&s?.key===y&&!_.current.has(s.suggestion.id)?s.suggestion:null;async function S(){if(!e||!t||!x||f.current||h.current||b.current.blocked||o.current?.getPrompt())return;let n=x,r=y,i=g.current;h.current=!0,u(null);try{let a=await X(e,`dataset`,{action:`next_step`,payload:{sessionId:t,operation:`accept`,id:n.id}});if(_.current.add(n.id),c(null),!a.suggestion||g.current!==i||b.current.key!==r||b.current.blocked||f.current||o.current?.getPrompt())return;let s=Xi.parse(a.suggestion);if(s.id!==n.id||s.sessionId!==t)return;_l({sessionId:t,text:s.draft,contexts:s.contexts})}catch(e){u(e instanceof Error?e.message:`Could not prepare this suggestion.`)}finally{h.current=!1}}function C(){x&&e&&t&&!_.current.has(x.id)&&(_.current.add(x.id),c(null),X(e,`dataset`,{action:`next_step`,payload:{sessionId:t,operation:`dismiss`,id:x.id}}).catch(e=>u(e instanceof Error?e.message:`Could not dismiss this suggestion.`)))}function w(){f.current||(f.current=!0,g.current++,m(!0))}function T(e){return f.current||e.nativeEvent.isComposing||e.keyCode===229?(w(),!0):(e.key===`Enter`||e.key===`Tab`)&&(h.current||e.repeat)?(e.preventDefault(),!0):x?e.key===`Escape`?(e.preventDefault(),C(),!0):(e.key===`Enter`||e.key===`Tab`)&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),e.stopPropagation(),S(),!0):!1}return{suggestion:x,descriptionId:d,accept:S,dismiss:C,onKeyDown:T,error:l,onCompositionStart:w,onCompositionEnd:()=>{f.current=!1,m(!1)}}}function yl({next:e}){return(0,$.jsxs)($.Fragment,{children:[e.suggestion?(0,$.jsxs)(`div`,{className:`composer-next-step`,id:e.descriptionId,children:[(0,$.jsx)(`span`,{children:e.suggestion.label}),(0,$.jsx)(`small`,{"aria-hidden":`true`,children:`Enter to draft`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Press Enter or Tab to insert an editable draft. This does not send.`})]}):null,(0,$.jsx)(Y,{error:e.error})]})}function bl(e,t){if(!e.scope||!e.focus.scopeContext)return[];let n=e.scope.runs.at(-1),r=e.focus.experiment??(n?e.experiments.find(e=>e.id===n.id)??n:null),i=[e.focus.dataset,r,...e.graders].filter(e=>!!e).map(({kind:e,id:t,revision:n,datasetId:r,datasetRevision:i,owner:a,profileRef:o})=>({kind:e,id:t,revision:n,datasetId:r,datasetRevision:i,owner:a,profileRef:o})),a=t??e.scope.training?.find(t=>Le(t)===e.scope.selectedTrainingKey);return qn.parse([{scopeId:e.scope.id,selectionVersion:e.focus.scopeContext.selectionVersion,...e.scope.evaluationModel?{evaluationModel:e.scope.evaluationModel}:{},executionLocation:e.scope.executionLocation??`local`,resources:i,...a?{training:[Re(a)]}:{}}])}function xl(e,t){let n=new Map([...e,...t].map(e=>[JSON.stringify(e),e]));return qn.parse([...n.values()])}function Sl(e){return e.length?{chatResourceContexts:e,...e.length===1?{chatExperimentScopeId:e[0].scopeId,chatExperimentSelectionVersion:e[0].selectionVersion}:{}}:{}}function Cl(e,t,n){return e?.length?{contexts:e,focus:null}:{contexts:n?.model||n?.training?[]:t,focus:n}}function wl(e,t,n,r){let i=(0,Q.useRef)(new Map),a=r?.resourceContexts,o={current:a?{get:e=>a.get(`session:${e}`),set:(e,t)=>a.set(`session:${e}`,t),delete:e=>a.delete(`session:${e}`)}:i.current},s=(0,Q.useCallback)(n=>{n.trim()||o.current.delete(e),t(n)},[t,e,a]);function c(){return o.current.get(e)??bl(n)}return{resourceDrafts:o,onPromptChange:s,currentResourceContexts:c}}function Tl(e){async function t(t,n){let r=(n??e.getPrompt()).trim();if(!e.running||!r)return!1;let i=e.getResourceContexts?.()??[];if(e.hasFilesOrActions)return e.showToast(`Steering supports a plain-text instruction. Remove files or actions before sending it.`,`info`),!1;if(t===`queued`&&!e.inbox.enabled)return e.stageLocal(r,i),e.clear(),!0;if(!e.begin(e.scope))return!1;e.setError(null);try{let n=e.inbox.enabled?t===`steer`?await e.inbox.steer(r,i):await e.inbox.queue({prompt:r,metadata:Sl(i),modelRef:{providerId:e.provider,modelId:e.model},...e.provider===`codex`?B(e.codexPermissionMode):{approvalPolicy:`on-request`,sandbox:`workspace-write`},codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort}):await e.onSubmit([],null,null,{preservePrompt:!0,promptOverride:r,turnMetadata:{...Sl(i),interactionKind:`steer`}});return n&&(!e.getCurrentSubmissionScopeKey||e.getCurrentSubmissionScopeKey()===e.scope)&&e.clear(),n}catch(t){return e.setError(t instanceof Error?t.message:String(t)),!1}finally{e.finish(e.scope)}}return{stageCurrentSteerDraft:e=>t(`queued`,e),submitImmediateSteer:e=>t(`steer`,e)}}var El=()=>({dataset:null,experiment:null});function Dl(e,t){let[n,r]=(0,Q.useState)(El),[i,a]=(0,Q.useState)([]),[o,s]=(0,Q.useState)([]),[c,l]=(0,Q.useState)([]),[u,d]=(0,Q.useState)([]),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(0),[v,y]=(0,Q.useState)(null),[b,x]=(0,Q.useState)(!1),S=(0,Q.useRef)(0),C=(0,Q.useRef)(null),w=(0,Q.useRef)(n);w.current=n;let T=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(S.current++,C.current?.abort(),C.current=null,a([]),s([]),l([]),x(!1),r(El()),y(null),!e||!t)return;let n=new AbortController,i,o=!1,c=!1,u=async()=>{if(o){c=!0;return}o=!0,clearTimeout(i);let d=S.current;try{let i=await X(e,`dataset`,{action:`context`,payload:{sessionId:t}},n.signal);!n.signal.aborted&&d===S.current&&(r(i.focus),a(i.datasets),s(i.experiments),l(i.graders),y(null))}catch(e){!n.signal.aborted&&d===S.current&&y(e instanceof Error?e.message:`Resource context unavailable.`)}o=!1,n.signal.aborted||(c?(c=!1,u()):i=setTimeout(()=>void u(),1e4))};T.current=()=>void u();let d=e=>{e.detail?.sessionId===t&&u()};return window.addEventListener(`openpond-resource-focus-changed`,d),u(),()=>{window.removeEventListener(`openpond-resource-focus-changed`,d),T.current=null,S.current++,C.current?.abort(),n.abort(),clearTimeout(i)}},[e,t]),(0,Q.useEffect)(()=>{if(d([]),h(null),!e||!t||!n.scopeContext?.activeScopeId)return;let r=new AbortController;return p(!0),X(e,`experiment`,{action:`models`},r.signal).then(e=>{r.signal.aborted||d(e.models)}).catch(e=>{r.signal.aborted||h(e instanceof Error?e.message:`Model choices unavailable.`)}).finally(()=>{r.signal.aborted||p(!1)}),()=>r.abort()},[e,t,!!n.scopeContext?.activeScopeId,g]);async function E(n,i){if(!e||!t||C.current)return!1;let a=++S.current,o=new AbortController;C.current=o,x(!0);try{let s=await X(e,`dataset`,{action:n,payload:{sessionId:t,...i,...w.current.scopeContext?{expectedSelectionVersion:w.current.scopeContext.selectionVersion}:{}}},o.signal);return a===S.current&&!o.signal.aborted&&(r(s),w.current=s,n!==`set_model`&&n!==`set_destination`&&l((s.scopeContext?Pe(s.scopeContext).find(e=>e.id===s.scopeContext?.activeScopeId):null)?.graders??[]),y(null)),o.signal.aborted||window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:t}})),!o.signal.aborted}catch(e){return a===S.current&&!o.signal.aborted&&y(e instanceof Error?e.message:`Resource selection failed.`),!1}finally{C.current===o&&(C.current=null,x(!1),T.current?.())}}let D=n.dataset?.id,O=n.dataset?.revision,k=(0,Q.useCallback)(t=>!e||!D||!O?Promise.reject(Error(`Select a dataset to inspect its rows.`)):X(e,`dataset`,{action:`read`,id:D,expectedRevision:O},t),[e,D,O]);return{focus:n,scope:(n.scopeContext?Pe(n.scopeContext).find(e=>e.id===n.scopeContext?.activeScopeId):null)??null,datasets:i,experiments:o,graders:c,selecting:b,error:v,readDataset:k,models:u,modelsLoading:f,modelsError:m,refreshModels:()=>_(e=>e+1),selectDestination:e=>E(`set_destination`,{executionLocation:e}),selectModel:e=>E(`set_model`,{evaluationModel:e}),select:(e,t,n)=>E(`set_focus`,{kind:e,id:t||null,...n?{revision:n}:{}}),selectScope:e=>E(`select_scope`,{scopeId:e}),createScope:e=>E(`create_scope`,{operationId:`scope-${crypto.randomUUID()}`,...e===void 0?{}:{graderId:e}}),renameScope:(e,t)=>E(`rename_scope`,{scopeId:e,name:t})}}function Ol({context:e,onClose:t}){let[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(null),o=(e.catalog.data?.options??[]).filter(e=>e.target.kind===`dataset`);async function s(){try{await e.select(Ki.parse(JSON.parse(n)),{newExperiment:!0}),t()}catch(e){a(e instanceof Error?e.message:`Could not prepare this experiment.`)}}return(0,$.jsxs)(hn,{ariaLabel:`New experiment`,className:`training-dialog dataset-workspace-dialog`,onClose:t,children:[(0,$.jsxs)(`header`,{className:`training-dialog-header`,children:[(0,$.jsx)(`h2`,{children:`New experiment`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close dialog`,onClick:t,children:(0,$.jsx)(un,{size:16})})]}),(0,$.jsx)(q,{floating:!0,label:`Experiment dataset`,value:n,options:[{value:``,label:`Dataset`,disabled:!0},...o.map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}))],onChange:r,disabled:e.selecting||e.catalog.isPending}),(0,$.jsx)(`p`,{children:`Use this dataset and its graders as the starting point. Review the evaluation model in chat before running.`}),(0,$.jsx)(Y,{error:i??e.catalog.error,children:e.catalog.error?(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void e.catalog.refetch(),children:`Retry datasets`}):null}),(0,$.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:t,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!n||e.selecting,onClick:()=>void s(),children:`Use in experiment`})]})]})}var kl={experiment:`Experiment`,model:`Model`};function Al({context:e,disabled:t=!1,placement:n=`bottom`}){let[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(null),p=e.selection,m=p?.target.kind===`training`?`model`:p?.target.kind===`dataset`?`experiment`:p?.target.kind,h=s??m??`experiment`,g=(e.catalog.data?.options??[]).filter(e=>e.target.kind===h),_=p?.training?p.training.location===`cloud`?p.training.job.modelProjectId:p.training.modelId:null,v=p?.target.kind===h||h===`experiment`&&p?.target.kind===`dataset`?p:h===`model`&&_?g.find(e=>e.target.id===_&&e.target.location===p?.training?.location):null,y=v?JSON.stringify(v.target):``;v&&!g.some(e=>JSON.stringify(e.target)===y)&&g.unshift(v);let b=t||e.selecting,x=l??e.selectionError?.message??e.catalog.error?.message??e.catalog.data?.warning;(0,Q.useEffect)(()=>{if(!r)return;function e(e){d.current?.contains(e.target)||i(!1)}function t(e){e.key===`Escape`&&(i(!1),f.current?.focus())}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[r]);async function S(t){if(t===`new-experiment`)i(!1),o(!0);else{u(null);try{await e.select(t?Ki.parse(JSON.parse(t)):null),i(!1),f.current?.focus()}catch(e){u(e instanceof Error?e.message:`Training selection failed.`)}}}return(0,$.jsxs)(`div`,{ref:d,className:`chat-context-picker codex-model-reasoning${n===`top`?` open-up`:``}`,children:[(0,$.jsxs)(`button`,{ref:f,type:`button`,className:`composer-project-trigger chat-training-trigger${r?` active`:``}`,"aria-label":`Training`,"aria-haspopup":`dialog`,"aria-expanded":r,disabled:b,title:p?`${p.label}: ${p.detail}`:`Training`,onClick:()=>{c(null),i(e=>!e)},children:[(0,$.jsx)(`span`,{children:p?.target.kind===`dataset`?`Experiment draft · ${p.label}`:p?.model?.name??p?.label??`Training`}),(0,$.jsx)(Jt,{size:14})]}),r?(0,$.jsxs)(`div`,{className:`codex-model-menu chat-training-menu`,role:`dialog`,"aria-label":`Training context`,children:[(0,$.jsx)(q,{compact:!0,floating:!0,label:`Training type`,value:h,floatingMenuWidth:180,options:Object.entries(kl).map(([e,t])=>({value:e,label:t})),triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`Type`}),(0,$.jsx)(`span`,{className:`chat-training-menu-value`,children:kl[h]}),(0,$.jsx)(Yt,{size:14})]}),disabled:b,onChange:e=>c(e)}),(0,$.jsx)(q,{compact:!0,floating:!0,label:`${kl[h]} name`,value:y,floatingMenuWidth:340,floatingMenuMaxHeight:360,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:kl[h]}),(0,$.jsx)(`span`,{className:`chat-training-menu-value`,children:(v?.target.kind===`dataset`?`Draft · ${v.label}`:v?.label)??(e.catalog.isPending?`Loading…`:`None`)}),(0,$.jsx)(Yt,{size:14})]}),options:[{value:``,label:`None`},...h===`experiment`?[{value:`new-experiment`,label:`New experiment…`,separatorBefore:!0}]:[],...g.map(e=>({value:JSON.stringify(e.target),label:e.label,description:`${e.target.location===`cloud`?`OpenPond Managed`:`Local`} · ${e.detail}${g.filter(t=>t.label===e.label&&t.target.location===e.target.location).length>1?` · ${e.target.id.slice(-8)}`:``}`}))],disabled:b||e.catalog.isPending,onChange:e=>void S(e)}),x?(0,$.jsx)(Y,{error:x,children:e.catalog.error?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void e.catalog.refetch(),children:`Retry`}):null}):null]}):x?(0,$.jsx)(Y,{error:x}):null,a?(0,$.jsx)(Ol,{context:e,onClose:()=>o(!1)}):null]})}var jl=[{value:`model_judge`,label:`LLM judge`,request:`Create an LLM judge (model_judge) with an explicit rubric and passing and failing calibration examples. Ask for the judge model and a fixture-check spending limit if they are not already agreed.`},{value:`human`,label:`Human assessment`,request:`Create a human assessment (human) with a structured review form, explicit criteria, scale anchors and reviewer guidance. Keep human decisions separate from automatic evaluation scores; do not invent reviews or use pending reviews as training rewards.`},{value:`custom_verifier`,label:`Code grader`,request:`Create a code grader (custom_verifier) using an isolated JavaScript verifier. Include known-good, known-bad and boundary fixtures, and check them before reporting the grader as validated.`},{value:`python_correctness`,label:`Python correctness`,request:`Create a Python correctness grader using the supported Python correctness starter and private tests. Verify that the dataset contains admitted Python code and that a qualified isolated runtime is available. Missing code, tests or runtime evidence must remain unscorable.`}];function Ml({dataset:e,busy:t,onDraft:n}){function r(r){e&&!t&&n(`${r.request}\n\nDataset: ${e.name}, ID ${e.id}, revision ${e.revision}. Inspect its tasks and existing graders to determine the appropriate checks.\n\nPreserve the existing graders and retained experiment inputs. Save changes as a new dataset revision. Do not start an experiment or training run.`)}return(0,$.jsxs)(`div`,{className:`chat-grader-request`,children:[(0,$.jsx)(`div`,{className:`evaluation-dataset-choices chat-grader-type-choices`,role:`group`,"aria-label":`Grader type`,children:jl.map(n=>(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:t||!e,onClick:()=>r(n),children:n.label},n.value))}),(0,$.jsx)(`div`,{className:`training-dialog-actions`,children:(0,$.jsx)(`a`,{className:`training-text-button`,href:pn(mn(`graders`,null,{area:`console`})),children:`Manage graders`})})]})}function Nl({kind:e,resources:t,busy:n,onDraft:r}){let[i,a]=(0,Q.useState)(``);if(e===`rows`)return(0,$.jsx)(Pl,{resources:t});let o=t.focus.dataset;if(e===`grader`)return(0,$.jsx)(Ml,{dataset:o,busy:n||t.selecting,onDraft:r});let s={title:`New dataset`,placeholder:`What examples should it contain?`,button:`Chat`};function c(){r(`Create a new dataset: ${i.trim()}`)}let l=n||t.selecting||!i.trim();return(0,$.jsxs)(`div`,{className:`composer-resource-request`,onKeyDown:e=>{!e.nativeEvent.isComposing&&e.key===`Enter`&&e.target instanceof HTMLInputElement&&(e.preventDefault(),e.stopPropagation(),l||c())},children:[(0,$.jsx)(`div`,{className:`composer-experiment-setup-heading`,children:(0,$.jsx)(`strong`,{children:s.title})}),(0,$.jsx)(`input`,{autoFocus:!0,"aria-label":s.placeholder,placeholder:s.placeholder,value:i,onChange:e=>a(e.target.value),disabled:n}),(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Add to chat`,title:`Add to chat`,className:`composer-experiment-create`,onClick:c,disabled:l,children:[(0,$.jsx)(on,{size:13,"aria-hidden":!0}),` `,s.button]})]})}function Pl({resources:e}){let[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let t=new AbortController;return n(null),i(null),o(0),e.readDataset(t.signal).then(e=>{t.signal.aborted||n(e)}).catch(e=>{t.signal.aborted||i(e instanceof Error?e.message:`Could not load dataset rows.`)}),()=>t.abort()},[e.readDataset]);let s=t?.record.workspace.draft.tasks??[],c=Math.max(1,Math.ceil(s.length/5));return(0,$.jsxs)(`section`,{className:`composer-dataset-rows`,"aria-label":`Dataset rows`,children:[(0,$.jsxs)(`div`,{className:`composer-experiment-setup-heading`,children:[(0,$.jsx)(`strong`,{children:`Dataset rows`}),(0,$.jsx)(`span`,{children:t?`${s.length} examples · V${t.summary.revision}`:``}),c>1?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`button`,{type:`button`,disabled:a===0,onClick:()=>o(e=>e-1),"aria-label":`Previous rows`,children:`‹`}),(0,$.jsxs)(`span`,{children:[a+1,`/`,c]}),(0,$.jsx)(`button`,{type:`button`,disabled:a+1>=c,onClick:()=>o(e=>e+1),"aria-label":`Next rows`,children:`›`})]}):null]}),r?(0,$.jsx)(Y,{error:r}):t?(0,$.jsx)(`div`,{className:`composer-dataset-rows-scroll`,children:(0,$.jsxs)(`table`,{children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Input`})]})}),(0,$.jsxs)(`tbody`,{children:[s.slice(a*5,a*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.id}),(0,$.jsx)(`td`,{children:typeof e.input.prompt==`string`?e.input.prompt:typeof e.input.request==`string`?e.input.request:JSON.stringify(e.input)})]},e.id)),s.length?null:(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{colSpan:2,children:`No saved rows yet.`})})]})]})}):(0,$.jsx)(`p`,{role:`status`,children:`Loading rows…`})]})}function Fl({resources:e,busy:t,onClose:n,onAddGrader:r,onRows:i,createNew:a,setupOnly:o=!1}){let s=(0,Q.useRef)(null),c=e.focus.dataset,l=t||e.selecting,u=e.scope?.evaluationModel,d=e.scope?.executionLocation??`local`,f=e.models.filter(e=>d===`local`||e.providerId===`openpond`),p=f.some(e=>`${e.providerId}/${e.id}`===u);return(0,Q.useEffect)(()=>{s.current?.querySelector(`.dropdown-trigger:not(:disabled)`)?.focus()},[]),(0,$.jsxs)(`div`,{ref:s,className:`composer-experiment-setup`,role:`region`,"aria-label":a?`New experiment`:`Experiment configuration`,children:[(0,$.jsxs)(`div`,{className:`composer-experiment-setup-heading`,children:[(0,$.jsx)(`strong`,{children:a?`New experiment`:`Configuration`}),(0,$.jsx)(`span`,{children:c?`Uses ${e.graders.length} dataset grader${e.graders.length===1?``:`s`}`:`Choose a dataset above`})]}),(0,$.jsx)(q,{compact:!0,floating:!0,placement:`top`,label:`Run on`,value:d,options:[{value:`local`,label:`Local`},{value:`cloud`,label:`Hosted`,disabled:!!(c?.owner||c?.profileRef)}],onChange:t=>void e.selectDestination(t),disabled:l}),(0,$.jsx)(q,{compact:!0,floating:!0,placement:`top`,searchable:!0,label:`Evaluation model`,value:u??``,options:[{value:``,label:e.modelsLoading?`Loading models…`:`Choose evaluation model`,disabled:!0},...u&&!p?[{value:u,label:`${u} (unavailable)`,disabled:!0}]:[],...f.map(e=>({value:`${e.providerId}/${e.id}`,label:e.name??e.id,description:e.providerId})),{value:`refresh`,label:`Refresh models`,separatorBefore:!0}],onChange:t=>{t===`refresh`?e.refreshModels():e.selectModel(t)},disabled:l||e.modelsLoading}),i&&c&&!c.owner&&!c.profileRef?(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-secondary`,onClick:i,disabled:l,children:`Rows`}):null,o?null:e.graders.length?a?(0,$.jsx)(`button`,{type:`button`,className:`composer-experiment-create`,disabled:l||!c||!p,onClick:()=>{e.createScope(null).then(e=>{e&&n()})},children:`Create experiment`}):null:(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-secondary`,onClick:r,disabled:l||!c,children:`Create grader`}),e.modelsError?(0,$.jsx)(Y,{error:e.modelsError}):null]})}function Il(e){let{dataset:t,run:n,model:r}=e;if(!e.isExperiment)return`New experiment`;if(n&&/^(running|queued|pending|starting)$/i.test(n.state))return`View progress`;if(!t||t.taskCount===0||!e.graders||!r||!e.modelAvailable)return`Set up`;if(!n)return`Run`;let i=t.owner?.teamId===n.owner?.teamId&&t.owner?.actorId===n.owner?.actorId&&JSON.stringify(t.profileRef)===JSON.stringify(n.profileRef);return(e.executionLocation??`local`)===(n.location??`local`)&&i&&t.id===n.datasetId&&r===n.model&&(t.evaluationHash&&n.evaluationHash?t.evaluationHash===n.evaluationHash:t.revision===n.datasetRevision)?/^(completed|complete|succeeded)$/i.test(n.state)?`Improve`:`Retry`:`Run updated`}function Ll({resources:e,busy:t,onDraft:n}){let[r,i]=(0,Q.useState)(`experiment`),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(`Run`),d=(0,Q.useRef)(null),f=(0,Q.useId)(),{scope:p,focus:m}=e;if((0,Q.useEffect)(()=>{c(!1),o(!1)},[p?.id]),(0,Q.useEffect)(()=>{s&&r===`action`&&d.current?.focus()},[s,r,l]),!p)return null;let h=m.dataset,g=p.ordinal!==null,_=t||e.selecting,v=h?[h,...e.datasets.filter(e=>e.id!==h.id||e.revision!==h.revision)]:e.datasets,y=p.runs.at(-1),b=m.experiment??(y?e.experiments.find(e=>e.id===y.id)??y:null),x=p.evaluationModel,S=p.executionLocation??`local`,C=S===`cloud`?`on OpenPond hosted execution`:`locally`,w=e.models.some(e=>`${e.providerId}/${e.id}`===x&&(S===`local`||e.providerId===`openpond`))&&(S!==`cloud`||!h?.owner&&!h?.profileRef),T=e.graders.find(e=>e.id===p.selectedGraderId)??(e.graders.length===1?e.graders[0]:void 0),E=!!(h&&e.graders.length&&w),D=![`Run`,`Run updated`,`Repeat run`,`Retry`].includes(l)||E&&!b?.state.match(/^(running|queued|pending|starting)$/i),O=Il({isExperiment:g,dataset:h,graders:e.graders.length,model:x,modelAvailable:w,executionLocation:S,run:b});function k(e){i(e),o(!0),c(!0)}function A(e){u(e),k(`action`)}let j=e.models.find(e=>`${e.providerId}/${e.id}`===x),M=j?`${j.name??j.id} (${j.providerId})`:x??`the selected evaluation model`,N=`${e.graders.length} dataset grader${e.graders.length===1?``:`s`}`,P=h?`${h.name} V${h.revision}`:`this dataset`,F={"New experiment":`Create a new experiment draft for ${P}, keeping its current revision and graders. Do not run an evaluation, upload data, or start training.`,"Training readiness":`Is ${P} ready to train? Inspect its examples, splits, graders, source permissions, and supported training options. Explain what is missing without changing data or starting training.`,"Prepare training":`Prepare a hosted training plan on OpenPond for ${P}. Show me the model options, data requirements, plan, and cost first. Do not upload data or start training.`,Run:`Run ${P} ${C} against ${M}, using ${N}.`,"Run updated":`Run the updated configuration for ${P} ${C} against ${M}, using ${N}. Keep previous results for comparison.`,Retry:`Inspect why the previous run stopped, then retry ${P} ${C} against ${M} with its dataset graders if appropriate. Reconcile any uncertain submission first.`,"Repeat run":`Repeat ${P} ${C} against ${M} with its dataset graders as a new run. Preserve the previous results.`,Improve:`Improve experiment ${p.ordinal}: inspect its results, make a targeted change, validate it, and run a comparison ${C} against ${M} within the agreed budget.`,"View progress":`Check the progress of experiment ${p.ordinal}${b?` (run ${b.id})`:``}.`,Compare:`Compare experiment ${p.ordinal}${b?` (run ${b.id})`:``} with its earlier results.`,Diagnose:`Diagnose ${g?`experiment ${p.ordinal}`:P}: inspect the evidence and explain the cause and next step without changing it.`,"Improve dataset":`Improve ${P}: inspect its examples and results, fix relevant data or coverage issues, and evaluate the changes ${C} within the agreed budget.`,"Improve grader":`Improve ${T?.name??`the selected grader`} for ${P}: inspect its rules and failures, repair it, test good and bad answers without weakening the criteria, then run an experiment ${C} to check real outputs within the agreed budget.`,"Test grader":`Test ${T?.name??`the dataset graders`} on ${P} against known-good and known-bad examples.`},I=[{value:`New experiment`,label:`New experiment`,disabled:!h},{value:`Diagnose`,label:`Diagnose`,disabled:!h},...b?[{value:`Improve`,label:`Improve experiment`}]:[],{value:`Improve dataset`,label:`Improve dataset`,disabled:!h},{value:`Improve grader`,label:`Improve grader`,disabled:!T},{value:`Test grader`,label:T?`Test grader`:`Test graders`,disabled:!h||!e.graders.length},...!h?.owner&&!h?.profileRef?[{value:`Training readiness`,label:`Ready to train?`,disabled:!h,separatorBefore:!0},{value:`Prepare training`,label:`Prepare training`,disabled:!h}]:[],...b?[{value:`Compare`,label:`Compare results`,separatorBefore:!0},...O===`Improve`?[{value:`Repeat run`,label:`Repeat run`}]:[]]:[]];return(0,$.jsxs)(`div`,{className:`composer-resource-area ${s?`is-expanded`:``}`,children:[(0,$.jsxs)(`div`,{className:`composer-resource-bar`,"aria-label":g?`Current experiment`:`Current dataset`,children:[g?(0,$.jsx)(q,{compact:!0,floating:!0,placement:`top`,floatingMenuWidth:280,label:`Experiment scope`,value:p.id,className:`composer-resource-number`,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:p.ordinal}),(0,$.jsx)(Jt,{size:12})]}),tooltip:`${p.ordinal}: ${p.name}`,options:[...(m.scopeContext?.scopes??[]).map(e=>({value:e.id,label:`${e.ordinal} ${e.name}`})),{value:`new`,label:`New experiment`,icon:`plus`}],onChange:t=>{t===`new`?A(`New experiment`):e.selectScope(t)},disabled:_}):null,(0,$.jsx)(q,{compact:!0,floating:!0,searchable:!0,floatingMenuWidth:320,placement:`top`,label:`Dataset focus`,className:`composer-resource-dataset`,value:h?`${h.id}@${h.revision}`:``,tooltip:P,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`composer-resource-dataset-name`,children:h?.name??`Dataset`}),h?(0,$.jsxs)(`span`,{className:`composer-resource-version`,children:[`V`,h.revision]}):null,(0,$.jsx)(Jt,{size:12})]}),options:[{value:``,label:`Choose dataset`},...v.map(e=>({value:`${e.id}@${e.revision}`,label:`${e.name} V${e.revision}`})),{value:`create`,label:`New dataset…`,icon:`plus`}],onChange:t=>{if(t===`create`)return k(`dataset`);let n=t.lastIndexOf(`@`);e.select(`dataset`,n<0?t:t.slice(0,n),n<0?void 0:Number(t.slice(n+1)))},disabled:_}),(0,$.jsx)(q,{compact:!0,floating:!0,placement:`top`,floatingMenuWidth:280,label:`Grader focus`,className:`composer-resource-graders`,value:p.selectedGraderId??``,options:[{value:``,label:`All graders`,shortLabel:`Graders ${e.graders.length}`},...e.graders.map(e=>({value:e.id,label:e.name})),{value:`add`,label:`Create grader`,icon:`plus`,separatorBefore:!0}],onChange:t=>{t===`add`?k(`grader`):e.select(`grader`,t)},disabled:_||!h}),O!==`New experiment`&&O!==`Improve`?(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-primary`,disabled:_,onClick:()=>O===`Set up`?k(`experiment`):A(O),children:O}):null,(0,$.jsx)(q,{compact:!0,floating:!0,searchable:!0,placement:`top`,floatingMenuWidth:280,floatingMenuMaxHeight:440,label:`Chat actions`,tooltip:`Add a request to chat`,value:``,className:`composer-resource-chat-actions`,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(on,{size:13}),(0,$.jsx)(mr,{size:15})]}),options:[...I,...(p.training??[]).map((e,t)=>({value:`training:${Le(e)}`,label:`Check training ${t+1}`}))],onChange:e=>{if(!_){if(e.startsWith(`training:`)){let t=p.training?.find(t=>`training:${Le(t)}`===e);t&&n(`Check this training job and show its results and any model it produced.`,t)}else{let t=I.find(t=>t.value===e);if(!t||`disabled`in t&&t.disabled||!F[e])return;n(F[e])}c(!1)}},disabled:_}),(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-expand`,"aria-label":s?`Collapse resource controls`:`Expand resource controls`,"aria-expanded":s,"aria-controls":f,onClick:()=>{o(!0),s||i(`experiment`),c(e=>!e)},children:(0,$.jsx)(Jt,{size:15})})]}),(0,$.jsx)(`div`,{id:f,className:`composer-resource-expansion`,inert:!s,"aria-hidden":!s,children:(0,$.jsx)(`div`,{className:`composer-resource-expansion-inner`,children:a?r===`experiment`?(0,$.jsx)(Fl,{resources:e,busy:t,createNew:!g,onClose:()=>c(!1),onAddGrader:()=>k(`grader`),setupOnly:!0}):r===`action`?(0,$.jsxs)(`div`,{className:`composer-resource-request`,role:`region`,"aria-label":`${l} request preview`,children:[(0,$.jsxs)(`div`,{className:`composer-experiment-setup-heading`,children:[(0,$.jsx)(`strong`,{children:l}),(0,$.jsx)(`span`,{children:`Edit in chat before sending`})]}),(0,$.jsx)(`p`,{children:F[l]}),(0,$.jsxs)(`button`,{ref:d,type:`button`,"aria-label":`Add to chat`,title:`Add to chat`,className:`composer-experiment-create`,disabled:_||!D,onClick:()=>{n(F[l]),c(!1)},children:[(0,$.jsx)(on,{size:13,"aria-hidden":!0}),(0,$.jsx)(mr,{size:13,"aria-hidden":!0}),` Add to chat`]})]}):(0,$.jsx)(Nl,{kind:r,resources:e,busy:t,onDraft:e=>{n(e),c(!1)}},`${r}:${h?.id}:${h?.revision}`):null})}),e.error?(0,$.jsx)(Y,{error:e.error}):null]})}function Rl({context:e,sessionId:t,busy:n}){let[r,i]=(0,Q.useState)(null),a=e.selection;if(!a)return null;let o=a.training,s=a.model,c=n||e.selecting,l=o?JSON.stringify(a.target):``,u=(e.runs.data?.runs??[]).map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}));o&&!u.some(e=>e.value===l)&&u.unshift({value:l,label:a.label,description:a.detail});let d=(e.catalog.data?.options??[]).filter(e=>e.target.kind===`model`),f=d.find(e=>e.target.id===s?.id&&e.target.location===a.target.location)?.target??(s?{...a.target,kind:`model`,id:s.id}:null),p=f?JSON.stringify(f):``,m=d.map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}));f&&!m.some(e=>e.value===p)&&m.unshift({value:p,label:s?.name??a.label,description:a.detail});async function h(t){try{i(null),await e.select(Ki.parse(JSON.parse(t)))}catch(e){i(e instanceof Error?e.message:`Training selection failed.`)}}return(0,$.jsxs)(`div`,{className:`composer-resource-area`,children:[(0,$.jsxs)(`div`,{className:`composer-resource-bar`,"aria-label":`Current training`,children:[(0,$.jsx)(q,{compact:!0,floating:!0,searchable:!0,placement:`top`,floatingMenuWidth:320,label:`Model focus`,className:`composer-resource-dataset`,value:p,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`composer-resource-dataset-name`,children:s?.name??a.label}),(0,$.jsx)(Jt,{size:12})]}),options:m,onChange:e=>void h(e),disabled:c}),(0,$.jsx)(q,{compact:!0,floating:!0,placement:`top`,floatingMenuWidth:320,label:`Training run`,className:`composer-resource-graders`,value:l,options:u.length?u:[{value:``,label:e.runs.isPending?`Loading runs…`:`No runs`,disabled:!0}],onChange:e=>void h(e),disabled:c||e.runs.isPending}),(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-primary`,onClick:()=>window.dispatchEvent(new CustomEvent(Qc,{detail:{sessionId:t,scope:e.scope,targetKey:JSON.stringify(a.target)}})),children:`View progress`})]}),(0,$.jsx)(Y,{error:r??e.runs.error})]})}var zl=e=>JSON.stringify([e.kind,e.id,e.owner??null,e.profileRef??null]),Bl=(e,t)=>e.datasetId===t.id&&JSON.stringify(e.owner??null)===JSON.stringify(t.owner??null)&&JSON.stringify(e.profileRef??null)===JSON.stringify(t.profileRef??null),Vl=e=>/^(queued|running|pending|starting|cancelling)$/i.test(e);function Hl(e){return Ie.array().parse(e)}function Ul(e,t,n){let{scope:r,focus:i}=e;if(!r||!i.scopeContext||!i.dataset)return[];let a=i.dataset;if(t&&!Bl(t,a))throw Error(`This run belongs to a different Dataset.`);let o=t?.datasetRevision??a.revision,s=[{kind:`dataset`,id:a.id,revision:o,owner:a.owner,profileRef:a.profileRef},...t?[{kind:t.kind,id:t.id,revision:t.revision,datasetId:t.datasetId,datasetRevision:o,owner:t.owner,profileRef:t.profileRef}]:[],...!t||o===a.revision?e.graders.map(e=>({kind:e.kind,id:e.id,revision:e.revision,datasetId:e.datasetId,datasetRevision:e.datasetRevision,owner:e.owner,profileRef:e.profileRef})):[]];return qn.parse([{scopeId:r.id,selectionVersion:i.scopeContext.selectionVersion,evaluationModel:t?.model??r.evaluationModel,executionLocation:t?.location??r.executionLocation??`local`,resources:s,...n?{training:[Re(n)]}:{}}])}function Wl({context:e,resources:t,sessionId:n,busy:r}){let[i,a]=(0,Q.useState)(null),o=e.selection;if(!o)return null;if(o.model||o.training)return(0,$.jsx)(Rl,{context:e,sessionId:n,busy:r});let s=o.dataset??(o.resource?.kind===`dataset`?o.resource:null),c=o.resource?.kind===`experiment`?o.resource:null,l=t.scope;if(!(l&&s&&l.dataset&&zl(s)===zl(l.dataset)&&s.revision===l.dataset.revision&&(o.target.scopeId===l.id||o.target.kind===`dataset`||c&&l.runs.some(e=>zl(e)===zl(c)))))return null;async function u(t){a(null);try{return await e.select(t),!0}catch(e){return a(e instanceof Error?e.message:`Resource selection failed.`),!1}}let d={...t,focus:{...t.focus,dataset:s,experiment:c},graders:o.graders??t.graders,selecting:t.selecting||e.selecting,selectScope:e=>u({kind:`experiment`,id:e,scopeId:e,sessionId:n,location:`local`}),select:(n,r,i)=>{if(n===`grader`)return t.select(n,r,i);if(!r)return u(null);let o=e.catalog.data?.options.find(e=>e.target.kind===n&&e.target.id===r&&(i===void 0||e.target.revision===i))?.target,s=[...t.datasets,...t.experiments].find(e=>e.kind===n&&e.id===r&&(i===void 0||e.revision===i));return!o&&!s?(a(`This resource is no longer available. Choose it again from Training.`),Promise.resolve(!1)):u(o??{kind:n,id:r,revision:i,location:s.location??`local`})}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ll,{resources:d,busy:r,onDraft:(e,t)=>{_l({sessionId:n,text:e,contexts:Ul(d,c??void 0,t)})}}),(0,$.jsx)(Y,{error:i})]})}function Gl({surface:e,voiceInputChannelKey:t=``,taskSessionId:n,submissionScopeKey:r=`default`,prompt:i,onPromptChange:a,showToast:o,resourceDrafts:s,inputRef:c,composerDraftStore:l}){(0,Q.useEffect)(()=>{if(e!==`chat`||!t.startsWith(`main-composer:`))return;let l=e=>{let t=e.detail;if(t?.sessionId!==(n??null)||!t.text.trim())return;try{s.current.set(r,xl(s.current.get(r)??[],t.contexts))}catch{o(`Send or clear the current resource actions before adding more.`,`info`);return}let l=c.current?.getPrompt()??i,u=l.trim()?`${l}\n\n${t.text}`:t.text;a(u),requestAnimationFrame(()=>c.current?.focusAtPromptIndex(u.length))};return window.addEventListener(gl,l),()=>window.removeEventListener(gl,l)},[e,t,n,r,i,a,o,l])}function Kl(e,t){let n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\$([a-zA-Z][a-zA-Z0-9_-]*)?$/.exec(n);if(!r||typeof r.index!=`number`)return null;let i=r[0].lastIndexOf(`$`);return i<0?null:{end:n.length,query:(r[1]??``).toLowerCase(),start:r.index+i}}function ql(e){return`$${e.name}`}function Jl(e,t,n){let r=Math.max(0,Math.min(t.start,e.length)),i=Math.max(r,Math.min(t.end,e.length)),a=e.slice(0,r),o=e.slice(i),s=a&&!/\s$/.test(a)?` `:``,c=o&&/^\s/.test(o)?``:` `,l=`${s}${ql(n)}${c}`;return{cursor:a.length+l.length-(o?c.length:0),value:`${a}${l}${o}`}}function Yl(e,t,n){let r=t.trim().toLowerCase(),i=e.filter(e=>e.enabled&&e.validationStatus===`valid`).filter(e=>!r||[e.name,e.description,e.path].join(` `).toLowerCase().includes(r)).sort((e,t)=>e.name.localeCompare(t.name));return typeof n==`number`&&Number.isFinite(n)?i.slice(0,Math.max(0,n)):i}function Xl(e,t,n){let r=t.trim().replace(/\s+/g,` `),i=Zl(n,e.length);if(!r)return{value:e,cursorIndex:i};let a=e.slice(0,i),o=e.slice(i),s=a&&!/\s$/.test(a)?` `:``,c=o&&!/^\s/.test(o)?` `:``;return{value:`${a}${`${s}${r}${c}`}${o}`,cursorIndex:a.length+s.length+r.length+c.length}}function Zl(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Ql({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:n,originScopeKey:r,prompt:i,setOriginDraft:a,submitFromOrigin:o,transcript:s}){let c=Xl(i,s,e?i.length:n);return a(c.value),t===r?`drafted`:await o(c.value)?(a(``),`submitted`):`retained`}var $l=new Map,eu=new Map,tu=new Map;function nu(e){for(let t of eu.get(e)??[])t()}function ru(e){return $l.has(e)}function iu(e,t){let n=eu.get(e)??new Set;return n.add(t),eu.set(e,n),()=>{n.delete(t),n.size===0&&eu.delete(e)}}function au(e){$l.get(e)?.controller.abort()}function ou(e,t){let n=tu.get(e)??new Set;return n.add(t),tu.set(e,n),()=>{n.delete(t),n.size===0&&tu.delete(e)}}function su(e){let t=$l.get(e);if(t)return t.submitRequested=!0,!0;for(let t of tu.get(e)??[])if(t())return!0;return!1}function cu(e,t,n={}){au(e);let r=new AbortController,i={controller:r,promise:Promise.resolve(),submitRequested:n.submit??!1};return i.promise=Promise.resolve().then(()=>{if(!r.signal.aborted)return t(r.signal,()=>i.submitRequested)}).catch(e=>{if(!r.signal.aborted)throw e}).finally(()=>{$l.get(e)===i&&($l.delete(e),nu(e))}),$l.set(e,i),nu(e),i.promise}var lu=new Set([`task.inbox`,`task.input`,`task.wait`,`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`approval.requested`,`approval.resolved`]);function uu(e){try{let t=JSON.parse(sessionStorage.getItem(e)??`null`);return t&&typeof t.body==`string`&&typeof t.key==`string`&&(t.kind===`steer`||t.kind===`queued`)?t:null}catch{return null}}function du(e,t,n){let r=s(),i=xt(e),a=(0,Q.useMemo)(()=>[`task-inbox`,i,t],[i,t]),o=!!(e&&t),c=f({queryKey:a,enabled:o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>tr.taskInbox(e,t)}),[l,u]=(0,Q.useState)(null),[d,p]=(0,Q.useState)(null),m=`${i}:${t}`,h;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.sessionId===t&&lu.has(r.name)){h=r.id;break}}let g=(0,Q.useCallback)(async()=>{o&&await r.invalidateQueries({queryKey:a,exact:!0})},[o,r,a]);(0,Q.useEffect)(()=>{g()},[g,h]),(0,Q.useEffect)(()=>{let e=()=>{g()};return window.addEventListener(`openpond-runtime-connected`,e),()=>window.removeEventListener(`openpond-runtime-connected`,e)},[g]);async function _(e,t){if(!o)return!1;u({scope:m,id:e}),p(null);try{let e=await t();return await r.cancelQueries({queryKey:a,exact:!0}),r.setQueryData(a,t=>t&&{...t,inputs:[...t.inputs.filter(t=>t.id!==e.id),e].sort((e,t)=>e.sequence-t.sequence)}),g(),!0}catch(e){return p({scope:m,message:e instanceof Error?e.message:String(e)}),g(),!1}finally{u(t=>t?.scope===m&&t.id===e?null:t)}}async function v(n,r,i,a){if(!e||!t)return!1;let o=`openpond:task-input:${e.serverUrl}:${t}`,s=uu(o),l=s?.body===r&&s.kind===n&&JSON.stringify(s.request)===JSON.stringify(i)&&JSON.stringify(s.resourceContexts)===JSON.stringify(a),u=l?s:{body:r,kind:n,request:i,resourceContexts:a,key:crypto.randomUUID(),turnId:n===`steer`?c.data?.activeTurnId??null:null};if(n===`steer`&&(!u.turnId||!l&&!c.data?.acceptingInput))return p({scope:m,message:`This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it.`}),g(),!1;try{sessionStorage.setItem(o,JSON.stringify(u))}catch{}let d=await _(u.key,async()=>{let i;try{i=await(n===`steer`?tr.steerTurn(e,t,{prompt:r,expectedTurnId:u.turnId,idempotencyKey:u.key,resourceContexts:u.resourceContexts}):tr.queueTaskInput(e,t,u.request,u.key))}catch(e){if(e instanceof G&&e.status>=400&&e.status<500)try{sessionStorage.removeItem(o)}catch{}throw e}if(i.state===`rejected`||i.state===`cancelled`){try{sessionStorage.removeItem(o)}catch{}throw Error(i.error??`This input was cancelled. Review your text before sending again.`)}return i});if(d)try{uu(o)?.key===u.key&&sessionStorage.removeItem(o)}catch{}return d}return{enabled:o,snapshot:c.data??null,busyId:l?.scope===m?l.id:null,error:d?.scope===m?d.message:c.error?.message??null,steer:(e,t)=>v(`steer`,e,void 0,t),queue:e=>v(`queued`,e.prompt,e),mutate:(n,r)=>_(n.id,()=>tr.updateTaskInput(e,t,n.id,r)),refresh:g}}function fu(e,t,n){let r=new Map;for(let t of n){if(t.sessionId!==e||t.name!==`task.input`)continue;let n=Pn(t)?.taskMessage;if(!n)continue;let i=r.get(n.input.id);(!i||i.input.revision<=n.input.revision)&&r.set(n.input.id,{input:n.input,direction:n.direction,peer:n.peer.title})}for(let n of t?.sessionId===e?t.inputs:[]){if(n.senderKind===`runtime`&&!n.senderSessionId)continue;let e=r.get(n.id);e&&e.input.revision>n.revision||r.set(n.id,{input:n,direction:`received`,peer:e?.peer??(n.senderKind===`ponder`?`Ponder Pal`:n.senderKind===`user`?`You`:n.senderSessionId??`Another chat`)})}return[...r.values()].sort((e,t)=>t.input.createdAt.localeCompare(e.input.createdAt)||t.input.sequence-e.input.sequence)}function pu(e){return e.state===`rejected`||e.error?`Failed`:e.state===`cancelled`?`Cancelled`:e.state===`pending`?`Pending`:`Delivered`}function mu({inbox:e,sessionId:t,events:n}){let r=(0,Q.useRef)(null),i=(0,Q.useRef)(null),a=(0,Q.useId)(),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)({}),u=(0,Q.useMemo)(()=>fu(t,e.snapshot,n),[t,e.snapshot,n]),d=u.filter(e=>e.direction===`received`&&e.input.state===`pending`),f=u.slice(0,50);return(0,Q.useEffect)(()=>{if(!o)return;function e(){let e=i.current?.getBoundingClientRect();if(!e)return;let t=Math.min(280,window.innerWidth-24),n=e.top-20,r=window.innerHeight-e.bottom-20,a=n>=r;l({width:t,left:Math.max(12,Math.min(e.left,window.innerWidth-t-12)),top:a?`auto`:e.bottom+8,bottom:a?window.innerHeight-e.top+8:`auto`,maxHeight:Math.max(120,Math.min(480,a?n:r))})}return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[o]),(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{ref:i,type:`button`,className:`composer-inbox-trigger`,popoverTarget:a,"aria-label":`Chat inbox, ${d.length} pending ${d.length===1?`message`:`messages`}`,"aria-haspopup":`dialog`,"aria-expanded":o,"data-tooltip":`Chat inbox`,onClick:()=>{o||e.refresh()},children:[(0,$.jsx)(st,{size:16}),d.length>0?(0,$.jsx)(`span`,{className:`composer-inbox-count`,children:d.length}):null]}),(0,$.jsxs)(`div`,{ref:r,id:a,popover:`auto`,role:`dialog`,"aria-labelledby":`${a}-title`,className:`composer-inbox-popover`,style:c,onToggle:e=>s(e.newState===`open`),children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`h2`,{id:`${a}-title`,children:`Chat inbox`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Refresh inbox`,"data-tooltip":`Refresh inbox`,onClick:()=>void e.refresh(),children:(0,$.jsx)(sn,{size:15})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close inbox`,onClick:()=>{r.current?.hidePopover(),i.current?.focus()},children:(0,$.jsx)(un,{size:15})})]}),(0,$.jsx)(`div`,{className:`composer-inbox-scroll`,children:f.length?(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{scope:`col`,children:`Route`}),(0,$.jsx)(`th`,{scope:`col`,children:`Message`})]})}),(0,$.jsx)(`tbody`,{children:f.map(({input:e,direction:t,peer:n})=>(0,$.jsxs)(`tr`,{children:[(0,$.jsxs)(`td`,{children:[(0,$.jsx)(`span`,{className:`composer-inbox-sender`,children:t===`sent`?`This chat → ${n}`:`${n} → This chat`}),(0,$.jsx)(`time`,{dateTime:e.createdAt,children:new Date(e.createdAt).toLocaleString()}),(0,$.jsx)(`span`,{className:`composer-inbox-status`,children:pu(e)})]}),(0,$.jsxs)(`td`,{children:[(0,$.jsx)(`span`,{className:`composer-inbox-kind`,children:e.kind===`steer`?`Steering`:e.kind===`queued`?`Queued assignment`:e.kind===`followup`?`Follow-up`:e.kind===`result`?`Result`:`Message`}),(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:e.body}),(0,$.jsx)(`div`,{className:`composer-inbox-body`,children:e.body}),e.replyTo?(0,$.jsxs)(`small`,{children:[`Reply to `,e.replyTo]}):null,e.error?(0,$.jsx)(`p`,{className:`composer-inbox-body`,children:e.error}):null]})]})]},e.id))})]}):(0,$.jsx)(`div`,{className:`composer-inbox-empty`,role:`status`,children:e.snapshot||u.length?`No recent messages.`:e.error?`Use Refresh to try again.`:`Loading inbox…`})})]})]})}function hu(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function gu(e,t=120){let n=e.trim().replace(/\s+/g,` `);return n.length<=t?n:`${n.slice(0,Math.max(0,t-1)).trimEnd()}...`}function _u(e,t={}){let n=t.now??new Date().toISOString();return{...t.resourceContexts?{resourceContexts:structuredClone(t.resourceContexts)}:{},createdAt:n,id:t.id??hu(),prompt:e,updatedAt:n}}function vu(e,t){return e.filter(e=>e.id!==t)}function yu(e,t,n,r){let i=n?.trim();return e.flatMap(e=>e.id===t?i?[_u(i,{resourceContexts:r})]:[]:[e])}function bu(e,t,n){return n?vu(e,t):e}function xu(e,t,n=[]){return e[t]??n}function Su(e,t,n,r=[]){let i=xu(e,t,r),a=n(i);return Object.is(i,a)?e:{...e,[t]:a}}function Cu({prompt:e,sending:t=!1,disabled:n=!1,actionLabel:r=`Steer`,actionDisabledReason:i,onSend:a,onDelete:o,onEdit:s}){return(0,$.jsxs)(`div`,{className:`composer-steer-row ${t?`sending`:``}`,children:[(0,$.jsx)(`span`,{className:`composer-steer-row-icon`,"aria-hidden":`true`,children:(0,$.jsx)(sa,{size:13})}),(0,$.jsx)(`span`,{className:`composer-steer-row-text`,title:e,children:gu(e)}),(0,$.jsxs)(`button`,{type:`button`,className:`composer-steer-row-action primary`,disabled:n||t||!!i,title:i,"aria-label":`${r}: ${gu(e,60)}${i?`. ${i}`:``}`,onClick:a,children:[(0,$.jsx)(qt,{size:12}),(0,$.jsx)(`span`,{children:t?`Sending`:r})]}),(0,$.jsx)(`button`,{type:`button`,className:`composer-steer-row-icon-button`,disabled:n||t,"data-tooltip":`Delete queued message`,"aria-label":`Delete queued message`,onClick:o,children:(0,$.jsx)(K,{size:13})}),(0,$.jsx)(`button`,{type:`button`,className:`composer-steer-row-action`,disabled:n||t,"aria-label":`Edit: ${gu(e,60)}`,onClick:s,children:(0,$.jsx)(`span`,{children:`Edit`})})]})}function wu({inbox:e,onRestore:t,canRestore:n}){let r=e.snapshot,i=r?.inputs.filter(e=>e.senderKind===`user`&&e.kind===`queued`&&e.state===`pending`)??[];return!i.length&&!e.error?null:(0,$.jsxs)($.Fragment,{children:[e.error&&(0,$.jsx)(Y,{error:e.error}),i.length>0&&(0,$.jsx)(`div`,{className:`composer-steer-stack`,"aria-label":`Queued messages`,children:i.map(i=>{let a=r?.activeTurnId,o=!!i.turnId,s=o?`Starting`:a?`Steer`:r?.paused?`Resume`:`Send`,c=o?`This message is starting its turn.`:a&&!r?.acceptingInput?`This turn is no longer accepting steering. The message stays queued for the next turn.`:void 0;return(0,$.jsx)(Cu,{prompt:i.body,disabled:!!e.busyId||o,actionLabel:s,actionDisabledReason:c,onSend:()=>void e.mutate(i,a?{action:`steer`,expectedRevision:i.revision,expectedTurnId:a}:{action:`resume`,expectedRevision:i.revision}),onDelete:()=>void e.mutate(i,{action:`cancel`,expectedRevision:i.revision}),onEdit:()=>void Tu(e,i,t,n)},i.id)})})]})}async function Tu(e,t,n,r){let i=t.payload.metadata,a=qn.safeParse(i?.chatResourceContexts),o=a.success?a.data:[];(!r||r(o))&&await e.mutate(t,{action:`cancel`,expectedRevision:t.revision})&&n(t.body,o)}var Eu=new Set([`claude-code`,`opencode`,`grok-build`]);function Du({currentModelOptions:e,currentProvider:t,providerOptions:n,providerSettings:r}){return n.flatMap(n=>{if(n.value===`setup-provider`)return[];let i=n.value,a=i===t?e:ue(i,r);if(i===`openpond`){let e=new Set((r?.modelCaches.openpond?.models??[]).filter(e=>e.raw?.managedServing===!0).map(e=>e.id)),t=a.filter(t=>!e.has(t.value)),o=a.filter(t=>e.has(t.value));return[...t.length?[{key:i,provider:i,label:n.label,defaultModel:le(i,r),options:t}]:[],{key:`openpond-managed`,provider:i,label:`OpenPond Managed`,managed:!0,defaultModel:o[0]?.value??``,options:o}]}if(i===`custom-openai-compatible`){let e=r?.modelCaches[i]?.models??[],t=new Map;for(let r of a){let i=e.find(e=>e.id===r.value)?.raw?.connectionProvider,a=typeof i==`string`?i:n.label;t.set(a,[...t.get(a)??[],r])}return[...t].map(([e,t])=>({key:`${i}:${e}`,provider:i,label:e,defaultModel:t[0].value,options:t}))}return a.length||F(i)||Eu.has(i)?[{key:i,provider:i,label:n.label,defaultModel:le(i,r),options:a}]:[]})}function Ou(e){let t=Je(),n=t?.modelsByProvider?.[e.provider]??(t?.provider===e.provider?t.model:void 0),r=e.options.find(e=>e.value===n)??e.options.find(t=>t.value===e.defaultModel)??e.options[0];return!r&&!e.managed&&!(F(e.provider)||Eu.has(e.provider))?null:{provider:e.provider,model:r?.value??(e.managed?``:n??``)}}function ku({busy:e,placement:t,state:n,onChange:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(``),c=(0,Q.useRef)(null),l=(0,Q.useMemo)(()=>{let e=o.trim().toLowerCase();return e?n.options.filter(t=>`${t.label} ${t.detail}`.toLowerCase().includes(e)):n.options},[o,n.options]);return(0,Q.useEffect)(()=>{if(!i){s(``);return}function e(e){c.current?.contains(e.target)||a(!1)}function t(e){e.key===`Escape`&&a(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[i]),n.options.length<=1?null:(0,$.jsxs)(`div`,{className:`composer-profile-target ${t===`top`?`open-up`:``}`,ref:c,children:[(0,$.jsxs)(`button`,{type:`button`,className:`composer-profile-trigger ${i?`active`:``}`,disabled:e,"aria-label":`Profile`,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[(0,$.jsx)(`span`,{children:n.label}),(0,$.jsx)(Jt,{size:14})]}),i?(0,$.jsxs)(`div`,{className:`composer-project-menu`,role:`menu`,"aria-label":`Profile`,children:[(0,$.jsx)(`div`,{className:`composer-menu-search`,children:(0,$.jsx)(`input`,{autoFocus:!0,value:o,placeholder:`Search profiles`,onChange:e=>s(e.currentTarget.value)})}),(0,$.jsx)(`div`,{className:`composer-menu-items`,children:l.map(e=>{let t=e.value===n.value;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t,className:`composer-project-option ${t?`selected`:``}`,onClick:()=>{r(e.value),a(!1)},children:[(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.label}),(0,$.jsx)(`small`,{children:e.detail})]}),t?(0,$.jsx)(wr,{size:14}):null]},e.value)})})]}):null]})}function Au({busy:e,placement:t,state:n,onChange:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(``),u=(0,Q.useRef)(null),d=n.value===`none`?`Project`:n.label,f=n.options.find(e=>e.value===n.value)?.kind??`local`,p=(0,Q.useMemo)(()=>{let e=c.trim().toLowerCase();return e?n.options.filter(t=>[t.label,t.detail].filter(Boolean).some(t=>t.toLowerCase().includes(e))):n.options},[c,n.options]),m=p.filter(e=>e.kind===`local`||e.kind===`cloud`),h=p.filter(e=>e.kind===`action`),g=p.filter(e=>e.kind===`none`);(0,Q.useEffect)(()=>{if(!i){l(``),s(!1);return}function e(e){u.current?.contains(e.target)||a(!1)}function t(e){e.key===`Escape`&&(o?s(!1):a(!1))}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[o,i]);function _(t){let i=t.value===n.value,o=e||t.disabled,c=t.kind===`action`;return(0,$.jsxs)(`button`,{type:`button`,role:c?`menuitem`:`menuitemradio`,"aria-checked":c?void 0:i,className:`composer-project-option ${i?`selected`:``} ${t.kind}`,disabled:o,onClick:()=>{r(t.value),s(!1),a(!1)},children:[(0,$.jsx)(ju,{kind:t.kind,size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.label}),(0,$.jsx)(`small`,{children:t.detail})]}),i&&(0,$.jsx)(wr,{size:14})]},t.value)}return(0,$.jsxs)(`div`,{className:`composer-project-target ${t===`top`?`open-up`:``}`,ref:u,children:[(0,$.jsxs)(`button`,{type:`button`,className:`composer-project-trigger ${i?`active`:``} ${f}`,disabled:e,"aria-label":`Project`,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>{a(e=>!e),s(!1)},children:[(0,$.jsx)(ju,{kind:f,size:14}),(0,$.jsx)(`span`,{children:d}),(0,$.jsx)(Jt,{size:14})]}),i&&(0,$.jsxs)(`div`,{className:`composer-project-menu`,role:`menu`,"aria-label":`Project`,children:[(0,$.jsx)(`div`,{className:`composer-menu-search`,children:(0,$.jsx)(`input`,{autoFocus:!0,value:c,placeholder:`Search projects`,onChange:e=>l(e.target.value)})}),(0,$.jsx)(`div`,{className:`composer-menu-items`,children:p.length===0?(0,$.jsx)(`div`,{className:`composer-menu-empty`,children:`No projects found`}):m.map(_)}),h.length>0||g.length>0?(0,$.jsxs)(`div`,{className:`composer-project-actions`,children:[h.length>0?(0,$.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`composer-project-option action composer-project-new-trigger ${o?`selected`:``}`,"aria-haspopup":`menu`,"aria-expanded":o,onClick:()=>s(e=>!e),children:[(0,$.jsx)(on,{size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:`New`}),(0,$.jsx)(`small`,{children:`Create or add a project`})]}),(0,$.jsx)(Yt,{size:14})]}):null,g.map(_)]}):null]}),i&&o?(0,$.jsxs)(`div`,{className:`composer-project-new-menu`,role:`menu`,"aria-label":`New project`,children:[(0,$.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`composer-project-new-menu-back`,onClick:()=>s(!1),children:[(0,$.jsx)(Qn,{size:14}),(0,$.jsx)(`span`,{children:`New project`})]}),h.map(_)]}):null]})}function ju({kind:e,size:t}){return e===`cloud`?(0,$.jsx)(fr,{size:t}):e===`action`?(0,$.jsx)(on,{size:t}):(0,$.jsx)(kr,{size:t})}function Mu({busy:e,placement:t,state:n,onChange:r}){let[i,a]=(0,Q.useState)(!1),o=(0,Q.useRef)(null),s=n.value===`cloud`?`cloud`:n.value===`hybrid`?`hybrid`:`local`,c=`${n.label}: ${n.detail}`,l=n.uploadAction??null,u=l?Nu(l):null,d=l?l.disabled&&l.disabledReason?l.disabledReason:`${l.label}: ${u??l.detail}`:null,f=!!(l&&(e||n.busy||l.disabled));return(0,Q.useEffect)(()=>{if(!i)return;function e(e){o.current?.contains(e.target)||a(!1)}function t(e){e.key===`Escape`&&a(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[i]),(0,$.jsxs)(`div`,{className:`workspace-action-control ${t===`top`?`open-up`:``}`,ref:o,children:[(0,$.jsxs)(`button`,{type:`button`,className:`workspace-action-trigger ${s} ${i?`active`:``}`,disabled:e,"data-tooltip":c,"aria-label":`Working in`,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[(0,$.jsx)(Pu,{value:n.value,size:14}),(0,$.jsx)(`span`,{className:`workspace-target-trigger-label`,children:n.label}),(0,$.jsx)(Jt,{size:14})]}),l?(0,$.jsx)(`button`,{type:`button`,className:`workspace-upload-trigger ${l.value}`,disabled:f,"data-tooltip":d??void 0,"aria-label":l.label,onClick:()=>{r(l.value),a(!1)},children:(0,$.jsx)(Pu,{value:l.value,size:14})}):null,i&&(0,$.jsx)(`div`,{className:`workspace-target-menu`,role:`menu`,"aria-label":`Working in`,children:n.options.map(t=>{let i=t.value===n.value,o=e||n.busy||t.disabled,s=Nu(t)??t.detail,c=t.disabled&&t.disabledReason?t.disabledReason:`${t.label}: ${s}`;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":i,className:`workspace-target-option ${i?`selected`:``} ${t.value}`,disabled:o,"data-tooltip":c,onClick:()=>{r(t.value),a(!1)},children:[(0,$.jsx)(Pu,{value:t.value,size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.label}),(0,$.jsx)(`small`,{children:s})]}),i&&(0,$.jsx)(wr,{size:14})]},t.value)})})]})}function Nu(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function Pu({value:e,size:t}){return e===`cloud`?(0,$.jsx)(fr,{size:t}):e===`hybrid`?(0,$.jsxs)(`span`,{className:`workspace-target-hybrid-icon`,"aria-hidden":`true`,children:[(0,$.jsx)(kr,{className:`hybrid-folder`,size:t}),(0,$.jsx)(fr,{className:`hybrid-cloud`,size:Math.max(7,Math.round(t*.62))})]}):e===`upload_cloud`?(0,$.jsx)(Xt,{size:t}):(0,$.jsx)(kr,{size:t})}function Fu({disabled:e,model:t,modelGroups:n,placement:r,provider:i,providerSettings:a,reasoningEffort:o,showReasoning:s,onModelSelectionChange:c,onReasoningEffortChange:l}){let[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(`root`),m=(0,Q.useRef)(null),h=(i===`openpond`&&(!t||t.startsWith(`managed:`))?n.find(e=>e.managed):void 0)??n.find(e=>e.provider===i&&e.options.some(e=>e.value===t))??n.find(e=>e.provider===i),g=h?.options.find(e=>e.value===t),_=oe(i,t,a),v=ae(i,t,o,a),y=_.find(e=>e.value===v)??_[0],b=Iu(g?.label??t)||h?.label||i,x=s?`${b} ${y.shortLabel??y.label}`:b,S=s?`Model and reasoning`:`Model`;return(0,Q.useEffect)(()=>{if(!u){p(`root`);return}function e(e){m.current?.contains(e.target)||d(!1)}function t(e){e.key===`Escape`&&d(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[u]),(0,Q.useEffect)(()=>{!s&&f===`effort`&&p(`root`)},[f,s]),(0,$.jsxs)(`div`,{className:`codex-model-reasoning ${r===`top`?`open-up`:``}`,"data-tooltip":S,ref:m,children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-trigger ${u?`active`:``}`,disabled:e,"aria-label":S,"aria-haspopup":`menu`,"aria-expanded":u,onClick:()=>d(e=>!e),children:[(0,$.jsx)(`span`,{children:x}),(0,$.jsx)(Jt,{size:14})]}),u&&(0,$.jsx)(`div`,{className:`codex-model-menu`,role:`menu`,"aria-label":S,children:f===`root`?(0,$.jsxs)(`div`,{className:`codex-model-menu-root`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-menu-row`,role:`menuitem`,onClick:()=>p(`provider`),children:[(0,$.jsx)(`span`,{children:`Provider`}),(0,$.jsx)(`span`,{className:`codex-model-menu-value`,children:h?.label??i}),(0,$.jsx)(Yt,{size:14})]}),(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-menu-row`,role:`menuitem`,onClick:()=>p(`model`),children:[(0,$.jsx)(`span`,{children:`Model`}),(0,$.jsx)(`span`,{className:`codex-model-menu-value`,children:R(g?.label??t)||(h?.managed?`Choose model`:`Agent default`)}),(0,$.jsx)(Yt,{size:14})]}),s?(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-menu-row`,role:`menuitem`,onClick:()=>p(`effort`),children:[(0,$.jsx)(`span`,{children:`Effort`}),(0,$.jsx)(`span`,{className:`codex-model-menu-value`,children:y.shortLabel??y.label}),(0,$.jsx)(Yt,{size:14})]}):null]}):f===`provider`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-submenu-heading`,"aria-label":`Back to model settings — Provider`,onClick:()=>p(`root`),children:[(0,$.jsx)(Qn,{size:14}),(0,$.jsx)(`span`,{children:`Provider`})]}),(0,$.jsx)(`div`,{className:`codex-model-menu-divider`}),(0,$.jsx)(`div`,{className:`codex-model-menu-options`,children:n.filter(e=>!e.managed).map(e=>{let t=e.key===h?.key;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t,className:t?`selected`:``,onClick:()=>{let t=Ou(e);t&&(c(t.provider,t.model),p(`root`))},children:[(0,$.jsx)(`span`,{children:e.label}),t?(0,$.jsx)(wr,{size:14}):null]},e.key)})}),n.filter(e=>e.managed).map(e=>(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.key===h?.key,className:`codex-model-managed-provider`,onClick:()=>{let t=Ou(e);t&&(c(t.provider,t.model),p(`root`))},children:[(0,$.jsx)(`span`,{children:e.label}),e.key===h?.key?(0,$.jsx)(wr,{size:14}):null]},e.key))]}):f===`model`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-submenu-heading`,"aria-label":`Back to model settings — Model`,onClick:()=>p(`root`),children:[(0,$.jsx)(Qn,{size:14}),(0,$.jsx)(`span`,{children:`Model`})]}),(0,$.jsx)(`div`,{className:`codex-model-menu-divider`}),(0,$.jsxs)(`div`,{className:`codex-model-menu-options`,children:[(h?.options??[]).map(e=>{let n=e.value===t;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":n,className:n?`selected`:``,onClick:()=>{c(i,e.value),p(`root`)},children:[(0,$.jsx)(`span`,{children:R(e.label)}),n?(0,$.jsx)(wr,{size:14}):null]},e.value)}),h?.options.length?null:(0,$.jsx)(`div`,{className:`codex-model-menu-empty`,role:`status`,children:h?.managed?`No trained models in this workspace.`:`No models available. Connect or check this provider in Settings.`})]})]}):(0,$.jsxs)(`div`,{className:`codex-model-menu-effort`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-submenu-heading`,"aria-label":`Back to model settings — Effort`,onClick:()=>p(`root`),children:[(0,$.jsx)(Qn,{size:14}),(0,$.jsx)(`span`,{children:`Effort`})]}),(0,$.jsx)(`div`,{className:`codex-model-menu-divider`}),_.map(e=>(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.value===v,className:e.value===v?`selected`:``,onClick:()=>{l(e.value),p(`root`)},children:[(0,$.jsx)(`span`,{children:e.label}),e.value===v?(0,$.jsx)(wr,{size:14}):null]},e.value))]})})]})}function Iu(e){return R(e).replace(/^GPT-/,``).replace(/\s+Codex Spark$/,` Spark`).replace(/\s+Codex$/,` Codex`)}function Lu({detailsOpen:e,goalRuntime:t,objectiveId:n,subagentRuntime:r,onToggleDetails:i,connection:a,sessionId:o,running:s,onPause:c,onResume:l}){let[u,d]=(0,Q.useState)(null),[f,p]=(0,Q.useState)(null),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(null),v=(0,Q.useRef)(!1),y=(0,Q.useRef)(0),b=(0,Q.useRef)(null),x=JSON.stringify([t?.objective,t?.status,t?.tokensUsed,t?.tokenBudget]),S=Ye((g?.source===x?g.runtime:t)?.tone===`active`),C=g?.source===x?Xe(g.runtime,S):t,w=C??t,T=!!(a&&o);fn(m,{prefix:`Goal`}),(0,Q.useEffect)(()=>{if(!a||!o)return;let e=!1,t=y.current;return tr.getGoal(a,o).then(n=>{!e&&!v.current&&y.current===t&&_({source:x,runtime:n.goal?ot(n.goal,n.observedAt):null})}).catch(t=>{e||h(t)}),()=>{e=!0}},[a,o,x,s]);async function E(){if(a&&o&&!v.current){y.current++,v.current=!0,p(`load`),h(null);try{let e=await tr.getGoal(a,o),t=e.goal?ot(e.goal,e.observedAt):null;_({source:x,runtime:t}),t&&d({original:t.objective,draft:t.objective})}catch(e){h(e)}finally{v.current=!1,p(null)}}}function D(){d(null),b.current?.focus()}async function O(e){if(!a||!o||v.current||!w)return;let t=u?.draft.trim();if(e===`save`&&!t)return;let n=++y.current;v.current=!0,p(e),h(null);try{let r=await tr.patchGoal(a,o,{expectedObjective:e===`save`?u.original:w.objective,...e===`save`?{objective:t}:{status:e===`pause`?`paused`:`active`}}),i=ot(r.goal,r.observedAt);i&&_({source:x,runtime:i}),e===`save`&&D(),e===`pause`&&s&&await c(),e===`resume`&&!s&&l().catch(e=>(h(e),!1)).then(async e=>{if(e||y.current!==n)return;let t=await tr.patchGoal(a,o,{expectedObjective:w.objective,status:`paused`}),r=ot(t.goal,t.observedAt);r&&y.current===n&&_({source:x,runtime:r})}).catch(e=>h(e))}catch(e){h(e)}finally{v.current=!1,p(null)}}return!C||!w?null:(0,$.jsxs)(`section`,{className:`composer-goal-strip ${w.tone}`,"aria-label":`Goal`,"aria-busy":!!f,children:[(0,$.jsxs)(`div`,{className:`composer-goal-heading`,children:[(0,$.jsxs)(`button`,{ref:b,type:`button`,className:`composer-goal-toggle`,"aria-label":`${e?`Hide`:`Show`} goal details`,"aria-expanded":e||!!u,"aria-controls":n,onClick:()=>{u||i()},title:w.objective,children:[(0,$.jsx)(ua,{size:15,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`composer-goal-status`,children:w.actionLabel}),(0,$.jsx)(`span`,{className:`composer-goal-preview`,children:w.objective})]}),(0,$.jsx)(`span`,{className:`composer-goal-time`,title:w.tooltip,children:w.timeLabel}),T?(0,$.jsxs)(`div`,{className:`composer-goal-actions`,children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`Edit goal`,title:`Edit goal`,disabled:!!f||!!u,onClick:()=>void E(),children:(0,$.jsx)(la,{size:15})}),w.tone===`active`||w.tone===`paused`?(0,$.jsx)(`button`,{type:`button`,"aria-label":w.tone===`active`?`Pause goal`:`Resume goal`,title:w.tone===`active`?`Pause goal`:`Resume goal`,disabled:!!f||!!u,onClick:()=>void O(w.tone===`active`?`pause`:`resume`),children:w.tone===`active`?(0,$.jsx)(kt,{size:15}):(0,$.jsx)(an,{size:15})}):null]}):null,(0,$.jsx)(`button`,{type:`button`,className:`composer-goal-disclosure`,"aria-label":`Toggle goal details`,"aria-expanded":e||!!u,"aria-controls":n,disabled:!!u,onClick:i,children:(0,$.jsx)(Jt,{size:15})})]}),u||e?(0,$.jsxs)(`div`,{className:`composer-goal-objective`,id:n,children:[u?(0,$.jsxs)(`div`,{className:`composer-goal-editor`,children:[(0,$.jsx)(`label`,{htmlFor:`${n}-input`,children:`Goal objective`}),(0,$.jsx)(`textarea`,{id:`${n}-input`,autoFocus:!0,rows:3,maxLength:32e3,value:u.draft,disabled:!!f,onChange:e=>d({...u,draft:e.target.value}),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&!f&&(e.preventDefault(),D()),e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),O(`save`))}}),(0,$.jsxs)(`div`,{className:`composer-goal-editor-actions`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:!!f,onClick:D,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`composer-goal-save`,disabled:!!f||!u.draft.trim()||u.draft.trim()===u.original,onClick:()=>void O(`save`),children:f===`save`?`Saving…`:`Save goal`})]})]}):(0,$.jsx)(`p`,{children:w.objective}),(0,$.jsx)(`small`,{children:w.detail}),r?(0,$.jsx)(`span`,{className:`composer-goal-subagent-summary`,children:r.tooltip}):null]}):null]})}function Ru({drafts:e,sendingDraftId:t,onDeleteDraft:n,onEditDraft:r,onSteerDraft:i}){return e.length===0?null:(0,$.jsx)(`div`,{className:`composer-steer-stack`,"aria-label":`Steer drafts`,children:e.map(e=>(0,$.jsx)(Cu,{prompt:e.prompt,sending:t===e.id,onSend:()=>i(e.id),onDelete:()=>n(e.id),onEdit:()=>r(e)},e.id))})}var zu=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,Bu=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,Vu=new Set(`about.apps.collections.codespaces.contact.customer-stories.enterprise.events.explore.features.issues.login.marketplace.mobile.new.notifications.orgs.organizations.pricing.pulls.readme.search.settings.sponsors.team.topics.trending`.split(`.`)),Hu=new Set([`account`,`api`,`dashboard`,`docs`,`install.sh`,`login`,`logout`,`opchat`,`sandboxes`,`settings`]);function Uu(e){let t=e.toLowerCase().replace(/^www\./,``);return t===`github.com`?`github`:t===`openpond.ai`||t.endsWith(`.openpond.ai`)?`openpond`:null}function Wu(e){return e===`github`?Vu:Hu}function Gu(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;Ku(t);)t=t.slice(0,-1);return t}function Ku(e){let t=e.at(-1);if(!t||!`)]}`.includes(t))return!1;let n=t===`)`?`(`:t===`]`?`[`:`{`,r=0;for(let i of e)i===n&&(r+=1),i===t&&--r;return r<0}function qu(e){return e.replace(/\.git$/i,``)}function Ju(e){try{return decodeURIComponent(e)}catch{return e}}function Yu(e){return qu(Ju(e.trim()))}function Xu(e){let t=e.host.toLowerCase().replace(/^www\./,``),n=Uu(t);if(!n)return null;let r=Ju(e.owner?.trim()??``),i=Yu(e.repo??``);return!r||!i||Wu(n).has(r.toLowerCase())?null:{end:e.end,host:t,label:`${r}/${i}`,provider:n,repo:i,start:e.start,url:e.url,owner:r}}function Zu(e,t){let n=Gu(e);if(!n)return null;try{let e=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),r=e.pathname.split(`/`).filter(Boolean);return Xu({end:t+n.length,host:e.hostname,owner:r[0],repo:r[1],start:t,url:n})}catch{return null}}function Qu(e,t){let n=Gu(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;let i=r[1]?.trim()??``,a=(r[2]??``).split(`/`).filter(Boolean);return Xu({end:t+n.length,host:i,owner:a[0],repo:a[1],start:t,url:n})}function $u(e,t,n){let r=[];t.lastIndex=0;let i;for(;i=t.exec(e);){let e=n(i[0]??``,i.index);e&&r.push(e)}return r}function ed(e){if(!e)return[];let t=[...$u(e,zu,Zu),...$u(e,Bu,Qu)].sort((e,t)=>e.start-t.start||t.end-e.end),n=[];for(let e of t)n.some(t=>e.start<t.end&&e.end>t.start)||n.push(e);return n.sort((e,t)=>e.start-t.start)}var td=10,nd=340,rd=320,id=160,ad=56;function od(e,t=0){let n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function sd(e){if(!e)return;e.style.height=`auto`;let t=window.getComputedStyle(e),n=od(t.fontSize,16),r=od(t.lineHeight,n*1.45),i=od(t.paddingTop)+od(t.paddingBottom),a=od(t.borderTopWidth)+od(t.borderBottomWidth),o=od(t.minHeight,66),s=Math.max(o,Math.ceil(r*td+i+a)),c=Math.max(o,Math.min(e.scrollHeight,s));e.style.height=`${c}px`,e.style.overflowY=e.scrollHeight>s?`auto`:`hidden`}function cd(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.getComputedStyle(e),a=od(i.paddingLeft,14),o=od(i.paddingTop,15),s=Math.max(0,r.width-16),c=Math.min(nd,s),l=n.left-r.left+a-8;return{left:Math.max(8,Math.min(l,r.width-c-8)),top:Math.max(8,n.top-r.top+o+2),width:c}}function ld(e){let t=e.getBoundingClientRect(),n=Math.floor(t.top-ad);return{maxHeight:Math.max(id,Math.min(rd,n))}}function ud(e){let t=``,n=null,r=[e];for(;r.length;){let i=r.pop();if(i instanceof HTMLElement){if(i.matches(`[data-inline-token="true"]`)){n=t.length;continue}if(i.matches(`[data-inline-repo-link="true"]`)){t+=i.dataset.repoUrl??``;continue}if(i.matches(`[data-inline-connected-app-mention="true"]`)){t+=i.dataset.connectedMentionText??``;continue}if(i!==e&&(i.tagName===`DIV`||i.tagName===`P`)){let e=i.previousSibling;for(;e&&(e instanceof HTMLElement&&e.matches(`[data-inline-token="true"]`)||e.nodeType===Node.TEXT_NODE&&e.textContent===``);)e=e.previousSibling;e&&(t+=`
90
+ `)}if(i.tagName===`BR`){i.parentNode?.childNodes.length!==1&&(t+=`
91
+ `);continue}}if(i.nodeType===Node.TEXT_NODE)t+=i.textContent??``;else for(let e=i.childNodes.length-1;e>=0;e--)r.push(i.childNodes[e])}return{text:t,tokenPosition:n}}var dd=`[data-inline-token='true']`,fd=`[data-inline-repo-link='true']`,pd=`[data-inline-connected-app-mention='true']`;function md(e){return e instanceof HTMLElement&&e.matches(dd)}function hd(e){return e instanceof HTMLElement&&e.matches(fd)}function gd(e){return e instanceof HTMLElement&&e.matches(pd)}function _d(e,t){return Math.max(0,Math.min(e,t))}function vd(e,t){return e?_d(e.position,t.length):null}function yd(e,t,n,r=!1){let i=vd(t,n),a=_d(e,n.length);return i===null?a:a>i||r&&a===i?a+1:a}function bd(e,t,n){let r=vd(t,n);return _d(r===null?e:e>r?e-1:e,n.length)}var xd=ud;function Sd(e){let t=ud(e);return t.text.length+(t.tokenPosition===null?0:1)}function Cd(e,t,n){if(!t||t!==e&&!e.contains(t))return null;let r=document.createRange();return r.selectNodeContents(e),r.setEnd(t,n),Sd(r.cloneContents())}function wd(e){let t=window.getSelection();if(!t||t.rangeCount===0)return null;let n=Cd(e,t.anchorNode,t.anchorOffset),r=Cd(e,t.focusNode,t.focusOffset);return n===null||r===null?null:{anchor:n,focus:r}}function Td(e,t){let n=Math.max(0,t);function r(t){let n=t.parentNode;return n?{node:n,offset:Array.prototype.indexOf.call(n.childNodes,t)}:{node:e,offset:0}}function i(e){let t=r(e);return{node:t.node,offset:t.offset+1}}function a(e){if(md(e)||hd(e)||gd(e)){let t=Sd(e);return n<=0?r(e):n<=t?i(e):(n-=t,null)}if(e.nodeType===Node.TEXT_NODE){let t=e.textContent?.length??0;return n<=t?{node:e,offset:n}:(n-=t,null)}if(e instanceof HTMLBRElement)return null;for(let t of e.childNodes){let e=a(t);if(e)return e}return null}return a(e)??{node:e,offset:e.childNodes.length}}function Ed(e,t){let n=window.getSelection();if(!n)return;let r=Td(e,t.anchor),i=Td(e,t.focus);if(n.removeAllRanges(),typeof n.setBaseAndExtent==`function`){n.setBaseAndExtent(r.node,r.offset,i.node,i.offset);return}let a=document.createRange(),o=t.anchor<=t.focus,s=o?r:i,c=o?i:r;a.setStart(s.node,s.offset),a.setEnd(c.node,c.offset),n.addRange(a)}function Dd(e,t){Ed(e,{anchor:t,focus:t})}function Od(e){document.execCommand(`insertText`,!1,e)}function kd(e){return e===`plus`?`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>`:e===`bot`?`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg>`:e===`skill`?`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V5a2 2 0 0 1 2-2h5a3 3 0 0 1 3 3v15a3 3 0 0 0-3-3Z"></path><path d="M21 18a1 1 0 0 0 1-1V5a2 2 0 0 0-2-2h-5a3 3 0 0 0-3 3v15a3 3 0 0 1 3-3Z"></path></svg>`:`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg>`}function Ad(){return`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="composer-invocation-clear" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>`}function jd(e){let t=document.createElement(`span`);t.className=`composer-invocation-pill`,t.contentEditable=`false`,t.dataset.inlineToken=`true`;let n=document.createElement(`button`);n.type=`button`,n.className=`composer-invocation-remove`,n.setAttribute(`aria-label`,`Remove ${e.label}`),n.addEventListener(`mousedown`,e=>e.preventDefault()),n.addEventListener(`click`,t=>{t.preventDefault(),e.onRemove()});let r=document.createElement(`span`);r.className=`composer-invocation-icon`,r.setAttribute(`aria-hidden`,`true`),r.innerHTML=kd(e.icon),n.append(r),n.insertAdjacentHTML(`beforeend`,Ad());let i=document.createElement(`span`);return i.className=`composer-invocation-label`,i.textContent=e.label,t.append(n,i),t}function Md(e){return e.provider===`github`?r(`github`):a}function Nd(e){let t=document.createElement(`span`);t.className=`composer-repo-link ${e.provider}`,t.contentEditable=`false`,t.dataset.inlineRepoLink=`true`,t.dataset.repoUrl=e.url,t.dataset.repoProvider=e.provider,t.setAttribute(`aria-label`,`${e.provider===`github`?`GitHub`:`OpenPond`} repository ${e.label}`),t.title=e.url;let n=document.createElement(`img`);n.className=`composer-repo-link-icon`,n.src=Md(e),n.alt=``,n.draggable=!1;let r=document.createElement(`span`);return r.className=`composer-repo-link-label`,r.textContent=e.label,t.append(n,r),t}function Pd(e){return r(e)}function Fd(e){let t=document.createElement(`span`);t.className=`composer-connected-app-mention ${e.provider}`,t.contentEditable=`false`,t.dataset.inlineConnectedAppMention=`true`,t.dataset.connectedMentionText=e.text,t.dataset.connectedMentionProvider=e.provider,t.setAttribute(`aria-label`,`${e.label} connected app mention ${e.displayText}`),t.title=e.detail;let n=document.createElement(`img`);n.className=`composer-connected-app-mention-icon`,n.src=Pd(e.provider),n.alt=``,n.draggable=!1;let r=document.createElement(`span`);return r.className=`composer-connected-app-mention-label`,r.textContent=e.displayText,t.append(n,r),t}function Id(e,t){let n=ed(e);return t===null?n:n.filter(e=>t<=e.start||t>=e.end)}function Ld(e,t,n){let r=_n(e,t);return n===null?r:r.filter(e=>n<=e.start||n>=e.end)}function Rd(e,t,n){let r=[...Id(e,t).map(e=>({end:e.end,kind:`repo`,link:e,start:e.start})),...Ld(e,n,t).map(e=>({end:e.end,kind:`connected-app`,mention:e,start:e.start}))].sort((e,t)=>e.start-t.start||t.end-e.end),i=[],a=0;for(let e of r)e.start<a||(i.push(e),a=e.end);return i}function zd(e,t,n){return Rd(e,t,n).map(e=>e.kind===`repo`?`${e.start}:${e.end}:repo:${e.link.provider}:${e.link.label}:${e.link.url}`:`${e.start}:${e.end}:connected-app:${e.mention.provider}:${e.mention.text}:${e.mention.displayText}`).join(`|`)}function Bd(e,t,n,r){let i=vd(n,t),a=Rd(t,i,r),o=!1;function s(t){t&&e.append(document.createTextNode(t))}function c(r,a){!n||i===null||o||i<r||i>a?s(t.slice(r,a)):(s(t.slice(r,i)),e.append(jd(n)),o=!0,s(t.slice(i,a)))}e.replaceChildren();let l=0;for(let t of a)c(l,t.start),t.kind===`repo`?e.append(Nd(t.link)):e.append(Fd(t.mention)),l=t.end;c(l,t.length),n&&!o&&e.append(jd(n))}var Vd=(0,Q.forwardRef)(function({connectedAppMentions:e=[],ariaDescribedBy:t,disabled:n,onCursorChange:r,onKeyDown:i,onPasteFiles:a,onPasteTextAsAttachment:o,onPromptChange:s,onTokenPositionChange:c,placeholder:l,prompt:u,token:d},f){let p=(0,Q.useRef)(null),m=`${d?`${d.key}:${vd(d,u)??0}`:`none`}|${zd(u,vd(d,u),e)}`,h=(0,Q.useRef)(null),g=u.length===0&&!d;(0,Q.useImperativeHandle)(f,()=>({get element(){return p.current},getPrompt(){let e=p.current;return e?xd(e).text:u},focusAtPromptIndex(e,t){let n=p.current;if(!n)return;let r=yd(e,d,u,t?.afterToken);n.focus(),Dd(n,r),sd(n)},resize(){sd(p.current)}}),[u,d]),(0,Q.useLayoutEffect)(()=>{let t=p.current;if(!t)return;let n=h.current!==m;h.current=m;let r=xd(t);if(n||u===``||r.text!==u||r.tokenPosition!==vd(d,u)){let n=document.activeElement===t?wd(t):null;Bd(t,u,d,e),t.dataset.empty=u.length===0&&!d?`true`:`false`,n&&Ed(t,n)}sd(t)},[e,u,d,m]);function _(){let t=p.current;if(!t)return;let n=wd(t)?.focus??Sd(t),i=xd(t);t.querySelector(`div, p, br`)&&(Bd(t,i.text,d&&i.tokenPosition!==null?{...d,position:i.tokenPosition}:null,e),Dd(t,n));let a=bd(n,d,i.text);t.dataset.empty=i.text.length===0&&!d?`true`:`false`,c(i.tokenPosition),r(a),s(i.text,a)}function v(){_(),window.requestAnimationFrame(_)}function y(){let e=p.current;e&&r(bd(wd(e)?.focus??Sd(e),d,u))}return(0,$.jsx)(`div`,{ref:p,className:`composer-inline-input`,role:`textbox`,"aria-multiline":`true`,"aria-describedby":t,contentEditable:!n,suppressContentEditableWarning:!0,"data-empty":g?`true`:`false`,"data-placeholder":l,onBeforeInput:e=>{e.nativeEvent.inputType===`insertParagraph`&&(e.preventDefault(),Od(`
92
+ `),v())},onInput:e=>{e.nativeEvent.isComposing||_()},onCompositionEnd:_,onKeyDown:e=>{i(e)},onKeyUp:y,onMouseUp:y,onPaste:e=>{e.preventDefault();let t=Array.from(e.clipboardData.files);if(t.length>0&&a){a(t);return}let n=e.clipboardData.getData(`text/plain`);n&&(o?.(n)||(Od(n),v()))}})});function Hd(e){e.saving||(e.prompt.trim()?e.attachmentsCount>0?e.showInfo(`Task drafts currently save instructions only. Remove attachments before saving.`):e.hasSelectedInvocation?e.showInfo(`Finish or remove the selected command before saving this task draft.`):(e.setSaving(!0),e.onSave(e.prompt).then(t=>{t&&e.onSaved()}).finally(()=>e.setSaving(!1))):e.showInfo(`Add task instructions before saving a draft.`))}function Ud(e,t,n,r,i,a,o){return e===`Enter`&&(t||n)&&!r&&i===`work`&&a===`chat`&&o}function Wd(e){return e.surface===`team`?`Message team`:e.mode===`start`?e.experience===`chat`?`Ask anything`:`What should we work on? Ctrl Enter to save as draft`:`Ask for follow-up changes`}function Gd(e){let t=e.implementation?.type;return t===`openpond-agent`||t===`local-profile-agent`||t===`openpond-profile-action`&&(e.sourceActionId===`chat`||e.id===`chat`||e.id.endsWith(`.chat`))}function Kd(e){return e.kind===`command`?`command:${e.command.id}`:e.kind===`app-context`?`app-context:${e.app.id}`:e.kind===`skill`?`skill:${e.skill.name}`:`action:${e.action.id}`}function qd(e){return e.kind===`command`?`${e.command.command} ${e.command.label}`:e.kind===`app-context`?e.app.name:e.kind===`skill`?ql(e.skill):$e(e.action)}function Jd(e){return e.kind===`command`?mt(e.command):e.kind===`app-context`?`Planning context${e.app.description?`: ${e.app.description}`:e.app.gitRepo?`: ${e.app.gitRepo}`:``}`:e.kind===`skill`?e.skill.description||e.skill.path:e.action.description||it(e.action)}function Yd(e){return e.kind===`app`?`app:${e.app.id}`:e.kind===`connected-app`?`connected-app:${e.app.provider}`:e.kind===`team-member`?`team-member:${e.member.userId}`:e.kind===`skill`?`skill:${e.skill.name}`:`action:${e.action.id}`}function Xd(e){return e.kind===`app`?e.app.name:e.kind===`connected-app`?e.app.label:e.kind===`team-member`?e.member.name:e.kind===`skill`?ql(e.skill):ft(e.action)}function Zd(e){if(e.kind===`action`)return rt(e.action);if(e.kind===`connected-app`)return e.app.detail;if(e.kind===`team-member`)return e.member.handle?`@${e.member.handle}`:`Team member`;if(e.kind===`skill`)return e.skill.description||e.skill.path;let t=e.app.sandboxActionRegistry?.actions.map(e=>e.name)??[];return t.length>0?`Actions: ${t.slice(0,4).join(`, `)}${t.length>4?` +${t.length-4}`:``}`:e.app.sandboxManifestError?`Manifest registry unavailable`:e.app.description||e.app.gitRepo||e.app.id}function Qd(e){return e.kind===`files`?`files`:e.kind===`folder`?`folder`:e.kind===`slash`?`slash:${Kd(e.item)}`:`mention:${Yd(e.item)}`}function $d(e){return e.kind===`files`?`Files and folders`:e.kind===`folder`?`Local folder`:e.kind===`slash`?qd(e.item):Xd(e.item)}function ef(e){return e.kind===`files`?`Attach images, documents, or other files`:e.kind===`folder`?`Share a bounded folder as Work input`:e.kind===`slash`?Jd(e.item):Zd(e.item)}function tf(e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0)return!0;let r=`${$d(e)} ${ef(e)}`.toLowerCase();return n.every(e=>r.includes(e))}function nf(e,t){let n=t.trimStart(),r=n.startsWith(`/`)?`slash`:n.startsWith(`@`)?`mentions`:null,i=r?n.slice(1).trimStart():n,a=r?e.filter(e=>e.id===r||e.queryScope===r||e.queryScopes?.includes(r)):e;if(!i)return a;let o=a.map(e=>({...e,items:e.items.filter(e=>tf(e,i))})).filter(e=>e.items.length>0);return o.length>0?o:[{...(r?a[0]:null)??{id:`results`,label:`Results`},emptyLabel:r===`slash`?`No slash commands match`:r===`mentions`?`No mentions match`:`No commands match`,items:[]}]}function rf(e){if(e.kind===`files`||e.kind===`folder`)return(0,$.jsx)(rn,{size:14});if(e.kind===`slash`){let t=e.item;return t.kind===`command`?t.command.id===`agent`?(0,$.jsx)(Fr,{size:14}):t.command.id===`skill`?(0,$.jsx)(zr,{size:14}):(0,$.jsx)(Pt,{size:14}):t.kind===`app-context`?(0,$.jsx)($i,{size:14}):t.kind===`skill`?(0,$.jsx)(dr,{size:14}):Gd(t.action)?(0,$.jsx)(Fr,{size:14}):(0,$.jsx)(Pt,{size:14})}let t=e.item;return t.kind===`connected-app`?(0,$.jsx)(`img`,{alt:``,className:`composer-provider-mention-icon`,draggable:!1,src:r(t.app.provider)}):t.kind===`action`?Gd(t.action)?(0,$.jsx)(Fr,{size:14}):(0,$.jsx)(Pt,{size:14}):t.kind===`skill`?(0,$.jsx)(dr,{size:14}):(0,$.jsx)($i,{size:14})}function af(e){if(e.kind===`slash`&&e.item.kind===`app-context`||e.kind===`mention`&&e.item.kind===`app`)return e.item.app.id}function of({ariaLabel:e,className:t=``,id:n,menuIndex:r,menuRef:i,onSelect:a,onSelectIndex:o,sections:s,style:c,variant:l}){let u=(0,Q.useRef)(null),d=s.reduce((e,t)=>e+t.items.length,0);(0,Q.useEffect)(()=>{if(l===`add`&&r===0){let e=u.current?.closest(`.composer-command-menu`);e&&(e.scrollTop=0)}else u.current?.scrollIntoView({block:`nearest`})},[d,r,l]);let f=0;return(0,$.jsx)(`div`,{ref:i,id:n,className:`composer-project-menu composer-slash-menu ${t} composer-command-menu composer-command-menu-${l}`.trim(),role:l===`add`?`menu`:`listbox`,"aria-label":e,style:c,children:s.map(e=>{let t=f;return f+=e.items.length,(0,$.jsxs)(`div`,{className:`composer-command-section ${e.grid?`composer-command-section-grid`:``}`.trim(),role:`group`,"aria-label":e.label,children:[(0,$.jsx)(`div`,{className:`composer-command-section-title`,children:e.label}),e.items.length>0?e.items.map((e,n)=>{let i=t+n,s=i===r;return(0,$.jsxs)(`button`,{type:`button`,role:l===`add`?`menuitem`:`option`,ref:s?u:void 0,"aria-selected":l===`typed`?s:void 0,className:`composer-project-option ${s?`selected`:``} composer-command-option`,"data-app-context-id":af(e),onFocus:()=>o(i),onMouseEnter:()=>o(i),onMouseDown:e=>{e.preventDefault()},onClick:()=>a(e),children:[rf(e),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:$d(e)}),(0,$.jsx)(`small`,{children:ef(e)})]}),l===`typed`&&s?(0,$.jsx)(wr,{size:14}):(0,$.jsx)(`span`,{"aria-hidden":`true`})]},Qd(e))}):(0,$.jsx)(`div`,{className:`composer-menu-empty`,children:e.emptyLabel??`No items available`})]},e.id)})})}function sf({mentionIndex:e,items:t,onSelect:n,onSelectIndex:r,style:i}){return(0,$.jsx)(of,{ariaLabel:`Mentions`,className:`composer-mention-menu`,menuIndex:e,sections:[{emptyLabel:`No matching mentions`,id:`mentions`,items:t.map(e=>({kind:`mention`,item:e})),label:`@`}],style:i,variant:`typed`,onSelect:e=>{e.kind===`mention`&&n(e.item)},onSelectIndex:r})}function cf({running:e,sendDisabled:t,hasComposerInput:n,sendTooltip:r,stopIcon:i,stopLabel:a,voiceInputActive:o,onSend:s,onStop:c}){let l=e&&!n&&!o,u=l?a:r;return(0,$.jsx)(`button`,{type:`button`,className:`send-button ${l?`stop-button`:``}`.trim(),disabled:!l&&t&&!o,"data-tooltip":u,"aria-label":u,onClick:l?()=>void c():s,children:l?i===`pause`?(0,$.jsx)(kt,{size:15}):(0,$.jsx)(cn,{size:13,fill:`currentColor`}):(0,$.jsx)(Qi,{size:18})})}var lf=new WeakMap,uf=new WeakMap,df=3e4;function ff(e,t){return JSON.stringify([e,t?.binaryPath??null,t?.sourceHome??null,t?.enabled??!0,t?.acp??null])}function pf(e,t,n){return uf.get(e)?.get(ff(t,n))?.value??null}function mf(e,t,n,r){let i=uf.get(e);i||(i=new Map,uf.set(e,i)),i.set(ff(t,r),{value:n,refreshedAt:Date.now()})}function hf(e,t,n){let r=ff(t,n),i=uf.get(e)?.get(r);if(i&&Date.now()-i.refreshedAt<df)return{promise:Promise.resolve(i.value),release(){}};let a=lf.get(e);a||(a=new Map,lf.set(e,a));let o=a.get(r);if(!o){let i=new AbortController;o={controller:i,readers:0,promise:W(e,`/v1/providers/${t}/native-setup`,{method:`POST`,body:JSON.stringify({action:`capabilities`}),signal:i.signal})},a.set(r,o);let s=o,c=()=>{a.get(r)===s&&a.delete(r)};o.promise.then(o=>{a.get(r)===s&&!i.signal.aborted&&!o.error&&o.session&&mf(e,t,o,n),c()},c)}o.readers++;let s=o,c=!1;return{promise:s.promise,release(){c||(c=!0,s.readers--,s.readers===0&&a.get(r)===s&&(a.delete(r),s.controller.abort()))}}}function gf({connection:e,provider:t,providerSettings:n,disabled:r,placement:i=`top`,onSettings:a,onSetup:o}){let s=n?.providers[t],[c,l]=(0,Q.useState)(null),u=ff(t,s),d=e?pf(e,t,s):null,f=c?.connection===e&&c.provider===t&&c.instance===u?c.value:d,[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(!1),{recovery:_}=$n(e),v=p??f?.error;fn(v);let y=F(t)||[`opencode`,`grok-build`,`claude-code`].includes(t);if((0,Q.useEffect)(()=>{if(m(null),!e||!y)return;let n=hf(e,t,s),r=!0;return n.promise.then(n=>{r&&(n.error?m(n.error):(l({connection:e,provider:t,instance:u,value:n}),a({provider:t,settings:n.settings})))}).catch(e=>{r&&m(e.message)}),()=>{r=!1,n.release()}},[e,t,y,a,u,_]),!y||!e)return null;let b=s?.nativeMode??f?.session?.modes?.currentModeId??``;async function x(n){if(e){g(!0);try{let r=await W(e,`/v1/providers`,{method:`PATCH`,body:JSON.stringify({providers:{[t]:n}})});if(f){let n={...f,settings:r};mf(e,t,n,s),l({connection:e,provider:t,instance:u,value:n})}a({provider:t,settings:r}),m(null)}catch(e){m(e instanceof Error?e.message:`Could not save agent settings.`)}finally{g(!1)}}}return(0,$.jsxs)($.Fragment,{children:[s&&!s.enabled?(0,$.jsx)(`button`,{type:`button`,disabled:r||h,onClick:()=>void x({enabled:!0}),children:`Enable agent`}):null,f?.session?.modes?(0,$.jsx)(q,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(J,{size:14}),placement:i,label:t===`claude-code`?`Claude permissions`:`Agent mode`,disabled:r||h,value:t===`claude-code`&&b==="default"?`manual`:b,options:f.session.modes.availableModes.map(e=>({value:e.id,label:t===`claude-code`&&e.id===`manual`?`Ask`:e.name,...t===`claude-code`?{description:e.id===`plan`?`Inspect and plan before making changes.`:e.id===`bypassPermissions`?`Run tools and commands without permission prompts.`:`Ask before actions that require permission.`}:{}})),onChange:e=>void x({nativeMode:e})}):null,f?.session?.configOptions?.filter(e=>e.type===`select`&&e.category!==`model`&&e.category!==`mode`).map(e=>(0,$.jsxs)(`label`,{className:`composer-native-option`,children:[(0,$.jsx)(`span`,{children:e.name}),(0,$.jsx)(`select`,{title:`Default ${e.name.toLowerCase()} for this agent installation`,disabled:r||h,value:s?.nativeOptions?.[e.id]??e.currentValue,onChange:t=>void x({nativeOptions:{...s?.nativeOptions,[e.id]:t.target.value}}),children:e.options?.flatMap(e=>`options`in e?e.options:[e]).map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.name},e.value))})]},e.id)),v?(0,$.jsxs)(`span`,{role:`status`,title:`Open agent setup`,children:[`Agent needs attention`,o?(0,$.jsx)(`button`,{type:`button`,onClick:o,children:`Open setup`}):null]}):null]})}function _f(){return!!(navigator.mediaDevices&&typeof AudioContext<`u`)}async function vf(e={}){if(!_f())throw Error(`Voice recording is not available in this browser.`);let t=await navigator.mediaDevices.getUserMedia({audio:{autoGainControl:!0,channelCount:1,echoCancellation:!0,noiseSuppression:!0}}),n=new AudioContext,r=n.createMediaStreamSource(t),i=n.createScriptProcessor(4096,1,1),a=n.createGain();a.gain.value=0;let o={audioContext:n,chunks:[],processor:i,silentGain:a,source:r,stream:t,startedAt:performance.now(),stopped:!1,onAudioLevel:e.onAudioLevel};return i.onaudioprocess=e=>{if(o.stopped)return;let t=e.inputBuffer.getChannelData(0);o.chunks.push(new Float32Array(t)),o.onAudioLevel?.(yf(t))},r.connect(i),i.connect(a),a.connect(n.destination),{stop:()=>bf(o,!0),cancel:()=>bf(o,!1).then(()=>void 0)}}function yf(e){if(e.length===0)return 0;let t=0;for(let n of e)t+=n*n;let n=Math.sqrt(t/e.length);return Math.min(1,(n*5)**.6)}async function bf(e,t){if(e.stopped)return{blob:new Blob([],{type:`audio/wav`}),durationMs:0,sampleRate:e.audioContext.sampleRate};e.stopped=!0,e.processor.disconnect(),e.silentGain.disconnect(),e.source.disconnect();for(let t of e.stream.getTracks())t.stop();await e.audioContext.close().catch(()=>void 0);let n=Math.max(0,performance.now()-e.startedAt);if(!t)return{blob:new Blob([],{type:`audio/wav`}),durationMs:n,sampleRate:e.audioContext.sampleRate};let r=xf(e.chunks);if(r.length===0)throw Error(`No microphone audio was captured.`);return{blob:Sf(r,e.audioContext.sampleRate),durationMs:n,sampleRate:e.audioContext.sampleRate}}function xf(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Float32Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Sf(e,t){let n=e.length*2,r=new ArrayBuffer(44+n),i=new DataView(r);Cf(i,0,`RIFF`),i.setUint32(4,36+n,!0),Cf(i,8,`WAVE`),Cf(i,12,`fmt `),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,t,!0),i.setUint32(28,t*1*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),Cf(i,36,`data`),i.setUint32(40,n,!0);let a=44;for(let t of e){let e=Math.max(-1,Math.min(1,t));i.setInt16(a,e<0?e*32768:e*32767,!0),a+=2}return new Blob([r],{type:`audio/wav`})}function Cf(e,t,n){for(let r=0;r<n.length;r+=1)e.setUint8(t+r,n.charCodeAt(r))}var wf=96,Tf=Array.from({length:wf},()=>0);function Ef(){return[...Tf]}function Df(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function Of({levels:e}){let t=(0,Q.useMemo)(()=>e.length>=wf?e.slice(-96):[...Tf.slice(e.length),...e],[e]);return(0,$.jsx)(`span`,{className:`voice-recording-waveform`,role:`img`,"aria-label":`Live microphone level`,children:t.map((e,t)=>(0,$.jsx)(`span`,{className:`voice-recording-bar`,style:{"--voice-level":e},"aria-hidden":`true`},t))})}var kf=12e4,Af=`openpond.voice.setupNoticeAcknowledged`,jf=`Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.`;function Mf({connection:e,buttonClassName:t,wrapperClassName:n=``,disabled:r=!1,iconSize:i=16,language:a=`en`,onActiveChange:o,showToast:s,onTranscript:c,transcriptionChannelKey:l}){let u=(0,Q.useRef)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(e),p=(0,Q.useRef)(r),m=(0,Q.useRef)(`idle`),h=(0,Q.useRef)(!1),g=(0,Q.useRef)(Ff());ee(()=>{g.current=Ff()}),f.current=e,p.current=r;let[_,v]=(0,Q.useState)(`idle`),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(Ef),C=(0,Q.useCallback)(e=>iu(l,e),[l]),w=(0,Q.useCallback)(()=>ru(l),[l]),T=(0,Q.useSyncExternalStore)(C,w,w),E=T,D=_===`starting`,O=_===`recording`,k=O||T,A=D||k;m.current=_;let j=(0,Q.useCallback)(()=>{d.current!==null&&(window.clearTimeout(d.current),d.current=null)},[]),M=(0,Q.useCallback)(async()=>{j();let e=u.current;u.current=null,h.current=!1,v(`idle`),S(Ef()),e&&await e.cancel().catch(()=>void 0)},[j]),N=(0,Q.useCallback)(async(e,t,n)=>{let r=f.current;if(!r)throw Error(`Voice input is still connecting.`);let i=await Z.voiceTranscriptionStatus(r,{signal:t});if(!i.binaryPath)throw Error(i.installHint??`Install whisper.cpp to use dictation.`);let o=await Z.transcribeVoice(r,{audioBase64:await Nf(e.blob),durationMs:Math.round(e.durationMs),language:a,mimeType:`audio/wav`},{signal:t});t.aborted||Promise.resolve(c(o.text,{submit:n()})).catch(e=>{s(Pf(e),`error`)})},[a,c,s]),P=(0,Q.useCallback)(()=>{au(l),b(null),S(Ef())},[l]),F=(0,Q.useCallback)(async(e=!1)=>{j();let t=u.current;u.current=null,t&&(v(`idle`),b(null),S(Ef()),cu(l,async(e,n)=>{let r=await t.stop();e.aborted||await N(r,e,n)},{submit:e}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||s(Pf(e),`error`)}))},[j,s,N,l]),I=(0,Q.useCallback)(async()=>{if(!p.current){if(!f.current)b(`Voice input is still connecting.`);else if(!_f())b(`Voice recording is not available in this browser.`);else{b(null),v(`starting`);try{if(await window.openpond?.requestMicrophoneAccess?.()===!1)throw Error(`Microphone access is denied.`);let e=await vf({onAudioLevel:e=>{S(t=>Df(t,e))}});if(u.current=e,S(Ef()),v(`recording`),h.current){h.current=!1,F(!0);return}d.current=window.setTimeout(()=>{F(!1)},kf)}catch(e){b(Pf(e)),await M()}}}},[M,F]),te=(0,Q.useCallback)(()=>{g.current?I():s(jf,`info`,{actionLabel:`Continue`,onAction:()=>{g.current=!0,If(),I()}})},[I,s]);return(0,Q.useEffect)(()=>ou(l,()=>u.current?(F(!0),!0):m.current===`starting`&&(h.current=!0,!0)),[F,l]),(0,Q.useEffect)(()=>{o?.(A)},[A,o]),(0,Q.useEffect)(()=>()=>o?.(!1),[o]),(0,Q.useEffect)(()=>{if(!y||O||E)return;let e=window.setTimeout(()=>b(null),7e3);return()=>window.clearTimeout(e)},[E,y,O]),(0,Q.useEffect)(()=>()=>{M()},[M]),(0,$.jsxs)(`span`,{className:`voice-input-control ${n} ${D?`starting`:``} ${O?`recording`:``} ${T?`transcribing`:``}`.trim(),children:[k?(0,$.jsxs)(`span`,{className:`voice-recording-strip`,children:[(0,$.jsx)(`span`,{className:`sr-only`,role:`status`,children:T?`Transcribing audio`:`Recording voice`}),(0,$.jsx)(`button`,{type:`button`,className:`voice-recording-action cancel`,"aria-label":T?`Cancel transcription`:`Cancel dictation`,onClick:()=>{T?P():M()},children:(0,$.jsx)(un,{size:15})}),T?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`span`,{className:`voice-transcribing-label`,"aria-hidden":`true`,children:[`Transcribing`,(0,$.jsxs)(`span`,{className:`voice-transcribing-dots`,children:[(0,$.jsx)(`span`,{children:`.`}),(0,$.jsx)(`span`,{children:`.`}),(0,$.jsx)(`span`,{children:`.`})]})]}),(0,$.jsx)(`span`,{className:`voice-recording-action-spacer`,"aria-hidden":`true`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Of,{levels:x}),(0,$.jsx)(`button`,{type:`button`,className:`voice-recording-action stop`,"aria-label":`Stop and transcribe`,onClick:()=>void F(!1),children:(0,$.jsx)(cn,{size:10,fill:`currentColor`})})]})]}):(0,$.jsx)(`button`,{type:`button`,className:`voice-input-trigger ${t} ${D?`starting`:``}`.trim(),"aria-label":D?`Starting dictation`:`Dictate`,disabled:r||E||D,onClick:te,children:(0,$.jsx)(aa,{size:i})}),y&&!k?(0,$.jsx)(`span`,{className:`voice-input-status`,role:`status`,children:y}):null]})}async function Nf(e){let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768){let r=t.subarray(e,e+32768);n+=String.fromCharCode(...r)}return window.btoa(n)}function Pf(e){let t=e instanceof Error?e.message:String(e);return/NotAllowedError|Permission denied|denied/i.test(t)?`Microphone access is denied.`:/NotFoundError|Requested device not found/i.test(t)?`No microphone was found.`:t||`Voice input failed.`}function Ff(){if(typeof window>`u`)return!1;try{return I.getItem(Af)===`true`}catch{return!1}}function If(){if(typeof window<`u`)try{I.setItem(Af,`true`)}catch{}}var Lf=new Set([`codex`,`openai`,`xai`,`openrouter`,`deepseek`,`zai`,`moonshot`,`together`,`groq`,`custom-openai-compatible`,`setup-provider`]);function Rf({surface:e=`chat`,teamUseModel:t=!1,teamUseModelLocked:n=!1,onTeamUseModelChange:r,addFiles:i,addMenuId:a,addMenuOpen:o,addMenuRef:s,busy:c,codexPermissionMode:l,codexReasoningEffort:u,connection:d,contextStatusStyle:f,contextStatusTooltipId:p,contextWindowStatus:m,disabled:h,dropdownPlacement:g,fileInputRef:_,modelValue:v,modelOptions:y=[],hideModelControls:b=!1,trainingControl:x,inboxControl:S,openPondCommandAccessMode:C,showCommandAccess:w=!0,profileTarget:T,onCodexPermissionModeChange:E,onCodexReasoningEffortChange:D,onOpenPondCommandAccessModeChange:O,onProfileTargetChange:k,onModelChange:A,onOpenFilePicker:j,onProviderChange:M,onProviderSetupOpen:N,onSend:P,onStop:I,onToggleAddMenu:ee,onTranscript:te,voiceInputChannelKey:R,provider:z,providerSettings:ne,providerOptions:re,running:ae,sendDisabled:oe,hasComposerInput:B,sendTooltip:se,showToast:de,stopIcon:fe=`stop`,stopLabel:pe=`Stop response`}){let me=ff(z,ne?.providers[z]),[he,H]=(0,Q.useState)(null),ge=d?pf(d,z,ne?.providers[z]):null,_e=he?.connection===d&&he.provider===z&&he.instance===me?he.settings:ge?.settings??null,ve=(0,Q.useMemo)(()=>_e?ne?{...ne,providers:{...ne.providers,[z]:_e.providers[z]},statuses:{...ne.statuses,[z]:_e.statuses[z]},modelCaches:{...ne.modelCaches,[z]:_e.modelCaches[z]}}:_e:ne,[ne,_e,z]),ye=(0,Q.useCallback)(e=>{d&&H({connection:d,provider:e.provider,instance:me,settings:e.settings})},[d,me]),be=F(z)||[`claude-code`,`opencode`,`grok-build`].includes(z),xe=z===`openpond`?v:v||le(z,ve),[Se,Ce]=(0,Q.useState)(!1),we=L(z,xe,ve),Te=(0,Q.useMemo)(()=>Du({currentModelOptions:_e?ue(z,ve):y,currentProvider:z,providerOptions:re,providerSettings:ve}),[y,z,re,ve,_e]),Ee=(0,Q.useMemo)(()=>Te.filter(e=>Lf.has(e.provider)),[Te]),De=(e,t)=>{D(ie(e,t,ve)),e===z?A(t):M(e,t)};return e===`team`?(0,$.jsxs)(`div`,{className:`composer-primary-controls team-chat-composer-controls ${ae?`has-running-turn`:``}`.trim(),children:[(0,$.jsx)(`button`,{type:`button`,className:`composer-icon`,"aria-label":`Add photos and files`,disabled:h,onClick:j,children:(0,$.jsx)(on,{size:18})}),(0,$.jsx)(`input`,{ref:_,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{i(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}}),(0,$.jsxs)(`label`,{className:`team-chat-model-toggle`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:t,disabled:c||n,onChange:e=>r?.(e.currentTarget.checked)}),(0,$.jsx)(`span`,{children:`Use model`})]}),(0,$.jsx)(`div`,{className:`composer-spacer`}),t?(0,$.jsx)(Fu,{disabled:c,model:xe,modelGroups:Ee,placement:g,provider:z,providerSettings:ve,reasoningEffort:u,showReasoning:we,onModelSelectionChange:De,onReasoningEffortChange:D}):null,(0,$.jsx)(Mf,{buttonClassName:`composer-icon`,connection:d,disabled:h,iconSize:16,wrapperClassName:`composer-voice-input`,onActiveChange:Ce,showToast:de,onTranscript:te,transcriptionChannelKey:R}),(0,$.jsx)(cf,{running:ae,sendDisabled:oe||z===`openpond`&&!v,hasComposerInput:B,sendTooltip:se,stopIcon:fe,stopLabel:pe,voiceInputActive:Se,onSend:P,onStop:I})]}):(0,$.jsxs)(`div`,{className:`composer-primary-controls ${ae?`has-running-turn`:``}`.trim(),children:[(0,$.jsxs)(`div`,{className:`composer-add-control open-up`,ref:s,children:[(0,$.jsx)(`button`,{type:`button`,className:`composer-icon ${o?`active`:``}`,"aria-label":`Add to message`,"aria-haspopup":`menu`,"aria-expanded":o,"aria-controls":o?a:void 0,disabled:h,onMouseDown:e=>e.preventDefault(),onClick:ee,children:(0,$.jsx)(on,{size:18})}),(0,$.jsx)(`input`,{ref:_,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{i(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}})]}),!b&&be?(0,$.jsx)(gf,{connection:d,provider:z,providerSettings:ve,placement:g,onSettings:ye,onSetup:N,disabled:c||h}):null,w&&z===`codex`?(0,$.jsx)(q,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(J,{size:14}),placement:g,label:`Codex permissions`,tooltip:ce.find(e=>e.value===l)?.label,value:l,options:ce,disabled:c,onChange:e=>E(e)}):w&&!be?(0,$.jsx)(q,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(ln,{size:14}),placement:g,label:`Command access`,tooltip:V.find(e=>e.value===(C===`disabled`?`ask`:C))?.label,value:C===`disabled`?`ask`:C,options:V,disabled:c,onChange:e=>O(e)}):null,T&&k?(0,$.jsx)(ku,{busy:c,placement:g,state:T,onChange:k}):null,(0,$.jsx)(`div`,{className:`composer-spacer`}),!b&&(0,$.jsxs)(`span`,{className:`context-status-shell ${m.tone}`,style:f,children:[(0,$.jsx)(`span`,{className:`composer-status ${m.tone}`,role:m.maxTokens===null?`img`:`meter`,"aria-label":m.tooltip,"aria-describedby":p,"aria-valuemin":m.maxTokens===null?void 0:0,"aria-valuemax":m.maxTokens??void 0,"aria-valuenow":m.maxTokens===null?void 0:m.usedTokens,tabIndex:0}),(0,$.jsxs)(`span`,{className:`context-status-tooltip`,id:p,role:`tooltip`,children:[(0,$.jsx)(`span`,{className:`context-status-tooltip-title`,children:`Context window`}),(0,$.jsxs)(`span`,{className:`context-status-tooltip-main`,children:[(0,$.jsx)(`span`,{children:m.summary}),(0,$.jsx)(`span`,{children:m.tokensLabel})]}),m.maxTokens!==null&&(0,$.jsx)(`span`,{className:`context-status-tooltip-bar`,"aria-hidden":`true`,children:(0,$.jsx)(`span`,{})}),m.detail?(0,$.jsx)(`span`,{className:`context-status-tooltip-detail`,children:m.detail}):null]})]}),x,S,!b&&(0,$.jsx)(Fu,{disabled:c,model:xe,modelGroups:Te,placement:g,provider:z,providerSettings:ve,reasoningEffort:u,showReasoning:we,onModelSelectionChange:De,onReasoningEffortChange:D}),(0,$.jsx)(Mf,{buttonClassName:`composer-icon`,connection:d,disabled:h,iconSize:16,wrapperClassName:`composer-voice-input`,onActiveChange:Ce,showToast:de,onTranscript:te,transcriptionChannelKey:R}),(0,$.jsx)(cf,{running:ae,sendDisabled:oe||z===`openpond`&&!v,hasComposerInput:B,sendTooltip:se,stopIcon:fe,stopLabel:pe,voiceInputActive:Se,onSend:P,onStop:I})]})}function zf(e){return e.description||e.path}function Bf({items:e,onSelect:t,onSelectIndex:n,skillIndex:r,style:i}){let a=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{a.current?.scrollIntoView({block:`nearest`})},[e.length,r]),(0,$.jsx)(`div`,{className:`composer-project-menu composer-slash-menu composer-skill-menu`,role:`listbox`,"aria-label":`Available skills`,style:i,children:e.length>0?e.map((e,i)=>{let o=i===r;return(0,$.jsxs)(`button`,{type:`button`,className:`composer-project-option ${o?`selected`:``}`,ref:o?a:void 0,role:`option`,"aria-selected":o,onMouseEnter:()=>n(i),onMouseDown:n=>{n.preventDefault(),t(e)},children:[(0,$.jsx)(dr,{size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:ql(e)}),(0,$.jsx)(`small`,{children:zf(e)})]}),o?(0,$.jsx)(wr,{size:14}):(0,$.jsx)(`span`,{"aria-hidden":`true`})]},e.name)}):(0,$.jsx)(`div`,{className:`composer-menu-empty`,role:`option`,"aria-selected":`false`,children:`No matching skills`})})}function Vf({actionCatalogCount:e,actionIndex:t,items:n,onSelect:r,onSelectIndex:i,style:a}){return(0,$.jsx)(of,{ariaLabel:`OpenPond agents and actions`,menuIndex:t,sections:[{emptyLabel:e===0?`No matching commands or apps`:`No matching commands, apps, agents, or actions`,id:`slash`,items:n.map(e=>({kind:`slash`,item:e})),label:`/`}],style:a,variant:`typed`,onSelect:e=>{e.kind===`slash`&&r(e.item)},onSelectIndex:i})}function Hf({busy:e,initialDescription:t,open:n,onClose:r,onSubmit:i}){let[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(()=>t.trim()),l=a.trim(),u=s.trim(),d=e||!l||!u;if((0,Q.useEffect)(()=>{n&&(o(``),c(t.trim()))},[t,n]),(0,Q.useEffect)(()=>{if(!n||e)return;function t(e){e.key===`Escape`&&r()}return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,r,n]),!n)return null;async function f(){d||await i({title:l,description:u})&&(o(``),c(``))}return(0,$.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,onMouseDown:e?void 0:r,children:(0,$.jsxs)(`section`,{className:`git-dialog submit-issue-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Submit GitHub issue`,onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{e.key===`Enter`&&e.target instanceof HTMLInputElement&&(e.preventDefault(),f())},children:[(0,$.jsx)(`button`,{className:`git-dialog-close`,disabled:e,type:`button`,onClick:r,children:(0,$.jsx)(un,{size:16})}),(0,$.jsx)(`div`,{className:`git-dialog-icon`,children:(0,$.jsx)(vr,{size:18})}),(0,$.jsx)(`h2`,{children:`Submit issue`}),(0,$.jsxs)(`div`,{className:`git-dialog-row submit-issue-repo-row`,children:[(0,$.jsx)(`span`,{children:`Repository`}),(0,$.jsx)(`strong`,{children:ht})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Title`}),(0,$.jsx)(`input`,{autoFocus:!0,disabled:e,placeholder:`Short issue title`,value:a,onChange:e=>o(e.target.value)})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Description`}),(0,$.jsx)(`textarea`,{disabled:e,placeholder:`What happened, what you expected, and any useful context`,value:s,onChange:e=>c(e.target.value)})]}),(0,$.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,$.jsx)(`button`,{className:`git-dialog-secondary`,disabled:e,type:`button`,onClick:r,children:`Cancel`}),(0,$.jsx)(`button`,{className:`git-dialog-primary`,disabled:d,type:`button`,onClick:()=>void f(),children:`Submit issue`})]})]})})}function Uf(){let e=(0,Q.useRef)([]),t=(0,Q.useRef)([]),n=(0,Q.useRef)(!1),[r,i]=(0,Q.useState)([]),[a,o]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{e.current=r},[r]),(0,Q.useEffect)(()=>(n.current=!1,()=>{n.current=!0;for(let t of e.current)Wf(t);for(let e of t.current)Wf(e)}),[]);let s=(0,Q.useCallback)(t=>{if(t.length===0||n.current)return;let r=e.current,a=Math.max(0,ar.maxAttachments-r.length),s=[],c=0,l=0;for(let e of t){if(e.size>ar.maxAttachmentBytes){c+=1;continue}if(s.length>=a){l+=1;continue}let t=`webkitRelativePath`in e&&typeof e.webkitRelativePath==`string`&&e.webkitRelativePath.trim()?e.webkitRelativePath.trim():void 0;s.push({id:ye(),file:e,name:e.name||`Untitled file`,mediaType:e.type||`application/octet-stream`,sizeBytes:e.size,kind:_e(e),...t?{relativePath:t}:{},...e.type.startsWith(`image/`)?{previewUrl:URL.createObjectURL(e)}:{}})}if(s.length>0){let t=[...r,...s];e.current=t,i(t),o(null)}if(c>0||l>0){let e=[];c>0&&e.push(`${c} file${c===1?``:`s`} exceeded ${H(ar.maxAttachmentBytes)}`),l>0&&e.push(`maximum ${ar.maxAttachments} attachments`),o(e.join(`; `))}},[]),c=(0,Q.useCallback)(t=>{let n=e.current,r=n.find(e=>e.id===t);r&&Wf(r);let a=n.filter(e=>e.id!==t);e.current=a,i(a),a.length===0&&o(null)},[]),l=(0,Q.useCallback)(()=>{for(let t of e.current)Wf(t);e.current=[],i([]),o(null)},[]),u=(0,Q.useCallback)(()=>{let n=e.current;return n.length===0||(e.current=[],t.current=n,i([]),o(null)),n},[]);return{attachmentError:a,attachments:r,addFiles:s,clearAttachments:l,removeAttachment:c,settleStagedAttachments:(0,Q.useCallback)((r,a)=>{if(r.length===0)return;let o=new Set(r.map(e=>e.id));if(t.current=t.current.filter(e=>!o.has(e.id)),a===`restore`&&!n.current)i(t=>{let n=new Set(t.map(e=>e.id)),i=[...r.filter(e=>!n.has(e.id)),...t];return e.current=i,i});else for(let e of r)Wf(e)},[]),setAttachmentError:o,stageAttachmentsForSubmit:u}}function Wf(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function Gf({connection:e,sessionId:t,events:n,fallbackReason:r}){let i=(0,Q.useMemo)(()=>{for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.sessionId!==t||![`session.started`,`session.updated`,`session.title.updated`].includes(r.name))continue;let i=r.data,a=Xn.safeParse(i&&typeof i==`object`&&`session`in i?i.session:null);if(a.success)return{session:a.data,eventId:r.id}}return null},[n,t]),[a,o]=(0,Q.useState)(null),s=a?.connection===e&&a.session.id===t&&a.eventId===i?.eventId?a.session:i?.session??null;return{session:s,reason:s?typeof s.metadata?.nativeReadOnlyReason==`string`?s.metadata.nativeReadOnlyReason:null:r,acceptSession:t=>o({connection:e,eventId:i?.eventId,session:t})}}function Kf({connection:e,session:t,reason:n,onRechecked:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(null);fn(o);let c=(0,Q.useRef)(0);(0,Q.useEffect)(()=>(c.current++,a(!1),s(null),()=>{c.current++}),[e,t?.id]);let l=!t?.metadata?.nativeBranch&&t?.metadata?.nativeHistoryId;return(0,$.jsxs)(`div`,{className:`composer dock native-conversation-unavailable`,children:[(0,$.jsx)(`p`,{role:`status`,children:n}),e&&typeof l==`string`?(0,$.jsx)(`button`,{type:`button`,disabled:i,onClick:async()=>{let t=c.current;a(!0),s(null);try{let n=await W(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:l,retryWorkspace:!0})});t===c.current&&r(Xn.parse(n))}catch(e){t===c.current&&s(e instanceof Error?e.message:`Could not reconnect to this conversation.`)}finally{t===c.current&&a(!1)}},children:i?`Checking…`:`Check again`}):null]})}function qf(e,t){let n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\/([a-zA-Z0-9_-]*)$/.exec(n);if(!r||typeof r.index!=`number`)return null;let i=r[0].lastIndexOf(`/`);if(i<0)return null;let a=r.index+i;return{end:n.length,query:(r[1]??``).toLowerCase(),start:a}}function Jf(e,t,n=et){let r=e.slice(0,Math.max(0,Math.min(t,e.length))),i=/(?:^|\s)\/([a-z][a-z0-9_-]*)\s$/.exec(r);if(!i)return null;let a=n.find(e=>e.id===i[1]);if(!a)return null;let o=i[0].lastIndexOf(`/`);return o<0||typeof i.index!=`number`?null:{command:a,end:r.length,start:i.index+o}}function Yf(e,t=et){return tt({commands:t,prompt:`/${e}`})}function Xf(e,t){return e.length===0?[]:e.filter(e=>!t||[e.id,e.name??``,e.label??``,e.description??``,typeof e.implementation?.type==`string`?e.implementation.type:``].join(` `).toLowerCase().includes(t))}function Zf(e,t){return e.length===0?[]:e.filter(e=>!t||[e.id,e.name,e.description??``,e.gitRepo??``,gn(e)].join(` `).toLowerCase().includes(t)).slice(0,8)}function Qf({actionCatalog:e,connectedAppMentions:t,mentionApps:n,profileSkills:r,query:i,surface:a,teamMentionMembers:o}){let s=i.toLowerCase();if(a===`team`){let t=o.filter(e=>!s||[e.name,e.handle??``].map(vn).some(e=>e.includes(s))).map(e=>({kind:`team-member`,member:e}));return[...lt(e,s,e.length).map(e=>({kind:`action`,action:e})),...t]}let c=n.filter(e=>!s||[vn(e.id),vn(e.name),e.gitRepo?vn(e.gitRepo):``,gn(e)].some(e=>e.includes(s))).map(e=>({kind:`app`,app:e})),l=lt(e,s,e.length).map(e=>({kind:`action`,action:e})),u=Yl(r,s).map(e=>({kind:`skill`,skill:e})),d=Sn(t,s).map(e=>({kind:`connected-app`,app:e}));return[...l,...u,...c,...d]}function $f(e,t,n){let r=t?.trim();if(!r)return e;let i=Math.max(0,Math.min(n??0,e.length)),a=e.slice(0,i),o=e.slice(i);return`${a}${a&&!/\s$/.test(a)?` `:``}${r}${o&&!/^\s/.test(o)?` `:``}${o}`.replace(/\s+/g,` `).trim()}function ep(e){let t=vn($e(e)||e.name||e.id);return t?`@${t}`:null}function tp(e){let t=e.trim();if(!t.startsWith(`{`)||!t.endsWith(`}`))return e;try{let n=JSON.parse(t);if(!n||Array.isArray(n)||typeof n!=`object`)return e;let r=Object.entries(n).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>`${np(e)}: ${rp(e,t)}`);return r.length?r.join(` · `):e}catch{return e}}function np(e){let t=e.replace(/Id$/,``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replaceAll(`_`,` `).trim().toLowerCase();return t?`${t[0].toUpperCase()}${t.slice(1)}`:`Input`}function rp(e,t){if(Array.isArray(t))return t.map(t=>rp(e,t)).join(`, `);if(t&&typeof t==`object`)return Object.entries(t).map(([e,t])=>`${np(e)}: ${rp(e,t)}`).join(` · `);let n=String(t);return/Id$/.test(e)&&/^[a-z0-9_-]+$/i.test(n)?n.split(/[-_]+/).filter(Boolean).map(e=>`${e[0].toUpperCase()}${e.slice(1)}`).join(` `):n}function ip({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;let i=n?.trim(),a=i?.startsWith(`@`)?i:ep(e);return a?$f(tp(t),a,r):null}function ap({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}var op=new Set([`openpond-agent-authoring`,`openpond-skill-authoring`,`openpond-taskset-authoring`,`openpond-refiner-authoring`]);function sp({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:i,addMenuOpen:a,addMenuPanelRef:o,addMenuRef:s,attachmentCount:c,composerRef:l,createImproveActive:u,goalRuntimeActive:d,inputRef:f,inputShellRef:p,mentionQuery:m,prompt:h,selectedActionId:g,selectAddMenuItem:_,setActionIndex:v,setActionMenuDismissedPrompt:y,setAddMenuIndex:b,setAddMenuOpen:x,setAddMenuQuery:S,setMentionMenuDismissedPrompt:C,setMentionIndex:w,setSkillIndex:T,setSkillMenuDismissedPrompt:E,skillMatchCount:D,skillQuery:O,slashMatchCount:k,slashQuery:A,showActionMenu:j,showMentionMenu:M,showSkillMenu:N}){let[P,F]=(0,Q.useState)({}),[I,ee]=(0,Q.useState)({}),[te,L]=(0,Q.useState)({}),[R,z]=(0,Q.useState)({});return(0,Q.useEffect)(()=>{w(0)},[m]),(0,Q.useEffect)(()=>{T(0)},[D,O]),(0,Q.useEffect)(()=>{v(0)},[k,A]),(0,Q.useEffect)(()=>{let e=f.current?.element,t=e?.parentElement;if(!e||!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>f.current?.resize());return n.observe(t),()=>n.disconnect()},[]),(0,Q.useEffect)(()=>{if(!a)return;function c(r){let i=r.target,a=f.current?.element?.parentElement;!s.current?.contains(i)&&!o.current?.contains(i)&&!a?.contains(i)&&(x(!1),S(``),C(e),y(n),E(t))}function l(a){if(a.key===`Escape`)a.preventDefault(),x(!1),S(``),C(e),y(n),E(t);else if(i.length!==0){if(a.key===`ArrowDown`)a.preventDefault(),b(e=>(e+1)%i.length);else if(a.key===`ArrowUp`)a.preventDefault(),b(e=>(e-1+i.length)%i.length);else if(a.key===`Home`)a.preventDefault(),b(0);else if(a.key===`End`)a.preventDefault(),b(i.length-1);else if(a.key===`Enter`){a.preventDefault();let e=i[r]??i[0];e&&_(e)}}}return document.addEventListener(`pointerdown`,c),document.addEventListener(`keydown`,l),()=>{document.removeEventListener(`pointerdown`,c),document.removeEventListener(`keydown`,l)}},[e,t,n,r,i,a]),(0,Q.useLayoutEffect)(()=>{if(!a)return;let e=p.current;if(!e)return;let t=e;function n(){z(ld(t))}return n(),window.addEventListener(`resize`,n),window.addEventListener(`scroll`,n,!0),()=>{window.removeEventListener(`resize`,n),window.removeEventListener(`scroll`,n,!0)}},[a,c,u,d]),(0,Q.useLayoutEffect)(()=>{if(!j)return;let e=f.current?.element,t=l.current;if(!e||!t)return;let n=e,r=t;function i(){L(cd(n,r))}return i(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[c,u,d,h,g,j]),(0,Q.useLayoutEffect)(()=>{if(!N)return;let e=f.current?.element,t=l.current;if(!e||!t)return;let n=e,r=t;function i(){ee(cd(n,r))}return i(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[c,u,d,h,g,N]),(0,Q.useLayoutEffect)(()=>{if(!M)return;let e=f.current?.element,t=l.current;if(!e||!t)return;let n=e,r=t;function i(){F(cd(n,r))}return i(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[c,u,d,h,g,M]),{actionMenuStyle:te,addMenuStyle:R,mentionMenuStyle:P,skillMenuStyle:I}}var cp=(0,Q.lazy)(()=>o(()=>import(`./ComposerCreateImproveStrip-ChplO9YP.js`).then(e=>e.n).then(e=>({default:e.ComposerCreateImproveStrip})),__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]))),lp=et.find(e=>e.id===`submit-issue`),up=[],dp=[];function fp({experience:e=`development`,mode:t,surface:n=`chat`,teamUseModel:r=!1,teamUseModelLocked:i=!1,teamMentionMembers:a=[],onTeamUseModelChange:o,prompt:s,composeNotice:c=null,mentionApps:l=[],connectedAppMentions:u=[],profileSkills:d=[],selectedMentionAppId:f=null,contextWindowStatus:p,goalRuntime:m=null,subagentRuntime:h=null,createImproveRuntime:g=null,busy:_,readOnlyReason:v=null,running:y=_,taskSessionId:b=null,goalSessionId:x=b,taskEvents:S=dp,steerActiveResponses:C=!1,submissionScopeKey:w=`default`,composerDraftStore:T,getCurrentSubmissionScopeKey:E,voiceInputChannelKey:D=w,initialSteerDrafts:O=up,showProjectFooter:k=!0,hideModelControls:A=!1,autoFocus:j=!1,focusRequestId:M=0,attachmentRequest:N=null,connection:P,providerSettings:F=null,provider:I,model:ee,projectTarget:te,profileTarget:L=null,actionCatalog:R=[],requestedAction:ie=null,workspaceTarget:ae,codexPermissionMode:oe,codexReasoningEffort:B,openPondCommandAccessMode:V,onProviderChange:se,onProviderSetupOpen:ce,onProjectTargetChange:le,onProfileTargetChange:de,onWorkspaceTargetChange:fe,onModelChange:pe,onCodexPermissionModeChange:me,onCodexReasoningEffortChange:he,onOpenPondCommandAccessModeChange:H,onPromptChange:_e,onMentionAppSelect:ye,onSaveTaskDraft:xe,showToast:Se,onSubmit:Ce,onStop:we,onPauseGoal:Te}){let Ee=Gf({connection:P,sessionId:b??null,events:S,fallbackReason:v??null}),De=Ee.reason,Oe=(0,Q.useRef)(null),ke=(0,Q.useRef)(null),U=(0,Q.useRef)(null),Ae=C,je=du(P,b,S),Me=il(n===`chat`?P:null,b??null),Ne=Dl(n===`chat`&&!Me.selection?.model&&!Me.selection?.training?P:null,b??null),{resourceDrafts:Pe,onPromptChange:Fe,currentResourceContexts:Ie}=wl(w,_e,Ne,T);Gl({surface:n,voiceInputChannelKey:D,taskSessionId:b,submissionScopeKey:w,prompt:s,onPromptChange:Fe,showToast:Se,resourceDrafts:Pe,inputRef:U,composerDraftStore:T});let Le=(0,Q.useRef)(null),Re=(0,Q.useRef)(null),ze=(0,Q.useRef)(null),Be=(0,Q.useRef)(null),Ve=(0,Q.useRef)(0),He=ie&&R.some(e=>e.id===ie.actionId)?ie:null,Ue=(0,Q.useRef)(!1),We=(0,Q.useRef)(0),Ge=(0,Q.useRef)(He?.requestId??0),Ke=(0,Q.useRef)(new Set),W=(0,Q.useRef)(new Set),[G,Je]=(0,Q.useState)(s.length),Ye=(0,Q.useRef)(G);Ye.current=G;let[Xe,Ze]=(0,Q.useState)(0),[Qe,et]=(0,Q.useState)(0),[tt,rt]=(0,Q.useState)(0),[it,at]=(0,Q.useState)(0),[ot,st]=(0,Q.useState)(``),[lt,ut]=(0,Q.useState)(null),[dt,ft]=(0,Q.useState)(null),[mt,ht]=(0,Q.useState)(null),[gt,_t]=(0,Q.useState)(!1),[vt,yt]=(0,Q.useState)(!1),[bt,xt]=(0,Q.useState)(He?.actionId??null),[St,Ct]=(0,Q.useState)(null),[wt,Tt]=(0,Q.useState)(null),[Et,Dt]=(0,Q.useState)(null),[K,Ot]=(0,Q.useState)(null),[kt,At]=(0,Q.useState)(!1),[jt,Mt]=(0,Q.useState)(()=>({[w]:O})),[Nt,Pt]=(0,Q.useState)(null),[Ft,It]=(0,Q.useState)(!1),[Lt,Rt]=(0,Q.useState)(``),[zt,Bt]=(0,Q.useState)(!1),{attachmentError:Vt,attachments:Ht,addFiles:Ut,removeAttachment:Wt,settleStagedAttachments:Gt,setAttachmentError:Kt,stageAttachmentsForSubmit:qt}=Uf(),Jt=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{N&&Jt.current!==N.id&&(Jt.current=N.id,Ut([N.file]))},[Ut,N]);let Yt=(0,Q.useCallback)(e=>{let t=ge(e,Ht);return!t||Ht.length>=ar.maxAttachments||t.size>ar.maxAttachmentBytes?!1:(Ut([t]),!0)},[Ut,Ht]),Xt=Wd({experience:e,mode:t,surface:n}),Zt=e===`development`||e===`work`&&te.value!==`none`,Qt=ne(I,ee,F),$t=(0,Q.useId)(),en=(0,Q.useId)(),tn=(0,Q.useId)(),nn={"--context-fill":`${Math.round((p.percent??0)/100*360)}deg`,"--context-bar-fill":`${p.percent??0}%`},rn=(0,Q.useMemo)(()=>R.find(e=>e.id===bt)??null,[R,bt]),an=(0,Q.useMemo)(()=>ct(I,e),[e,I]),on=(0,Q.useMemo)(()=>Zt?d:d.filter(e=>!op.has(e.name)),[e,d]),sn=(0,Q.useMemo)(()=>an.find(e=>e.id===St)??null,[an,St]),cn=ip({action:rn,prompt:s,selectedActionMentionText:Et,selectedInvocationPosition:wt}),ln=ap({attachmentCount:Ht.length,prompt:s,selectedAction:rn,selectedCommand:sn}),un=(0,Q.useMemo)(()=>{let e=Math.max(0,Math.min(wt??0,s.length));return sn?{icon:sn.id===`agent`?`plus`:sn.id===`skill`?`skill`:`workflow`,key:`command:${sn.id}`,label:sn.id===`agent`?`Author Agent`:sn.id,position:e,onRemove:()=>{Ct(null),Tt(null),Dt(null)}}:rn?{icon:rn.implementation?.type===`openpond-agent`?`bot`:`workflow`,key:`action:${rn.id}`,label:$e(rn),position:e,onRemove:()=>{xt(null),Tt(null),Dt(null)}}:null},[s.length,rn,sn,wt]),dn=K===w,fn=dn||!ln,pn=dn?`Preparing files`:y?Ae?`Steer`:`Queue`:`Send`,mn=dn,hn=dn||Me.selecting,gn=vl({connection:n===`chat`?P:null,sessionId:b??null,events:S,prompt:s,selectionKey:JSON.stringify(Me.selection?.target??null),inputRef:U,blocked:_||y||dn||Me.selecting||Ht.length>0||!!(rn||sn)||xu(jt,w,O).length>0||!(!je.enabled||je.snapshot)||!!(je.snapshot?.activeTurnId||je.snapshot?.inputs.some(e=>e.state===`pending`))});function _n(e=w){if(De)return!1;let t=Ke.current;return!t.has(e)&&(t.add(e),!0)}function Sn(e){Ke.current.delete(e)}function wn(e){return Ke.current.has(e)}function Tn(){return wn(w)}function En(e){Ot(t=>t===e?null:t)}let Dn=(0,Q.useMemo)(()=>{let e=z(F,{enabledOnly:!0}).map(e=>({...e,description:void 0})),t=Zt?e:e.filter(e=>e.value!==`codex`),n=ae.value===`cloud`&&Zt?t.filter(e=>e.value===`openpond`):t,r=n.some(e=>e.value===I)?n:[{value:I,label:re(I,F),description:`Current`},...n],i={value:`setup-provider`,label:`New Model/Provider`,icon:`plus`,separatorBefore:!0};return[...r,i]},[I,F,Zt,ae.value]),On=(0,Q.useMemo)(()=>ue(I,F),[I,F]),kn=(0,Q.useMemo)(()=>yn(s,Math.min(G,s.length)),[G,s]),An=kn?`${s}:${kn.start}:${Math.min(G,s.length)}`:null,jn=(0,Q.useMemo)(()=>kn?Qf({actionCatalog:R,connectedAppMentions:u,mentionApps:l,profileSkills:on,query:kn.query,surface:n,teamMentionMembers:a}):[],[R,u,l,kn,on,n,a]),q=(0,Q.useMemo)(()=>n===`team`?[]:Qf({actionCatalog:R,connectedAppMentions:u,mentionApps:l,profileSkills:on,query:``,surface:n,teamMentionMembers:a}).filter(e=>e.kind!==`skill`),[R,u,l,on,n,a]),Mn=!!(!gt&&!mn&&kn&&An&&lt!==An&&jn.length>0),Nn=(0,Q.useMemo)(()=>Kl(s,Math.min(G,s.length)),[G,s]),Pn=Nn?`${s}:${Nn.start}:${Nn.end}`:null,Fn=(0,Q.useMemo)(()=>Nn?Yl(on,Nn.query):[],[Nn,on]),In=!(gt||mn||!Nn||!Pn||mt===Pn),J=(0,Q.useMemo)(()=>qf(s,Math.min(G,s.length)),[G,s]),Ln=J?`${s}:${J.start}:${J.end}`:null,Rn=(0,Q.useMemo)(()=>J?Xf(R,J.query):[],[R,J]),zn=(0,Q.useMemo)(()=>J&&n!==`team`?Zf(l,J.query):[],[J,l,n]),Bn=(0,Q.useMemo)(()=>J&&n!==`team`?Yf(J.query,an):[],[J,an,n]),Vn=(0,Q.useMemo)(()=>J&&n!==`team`?Yl(on,J.query):[],[J,on,n]),Hn=(0,Q.useMemo)(()=>[...Rn.map(e=>({kind:`action`,action:e})),...Vn.map(e=>({kind:`skill`,skill:e})),...Bn.map(e=>({kind:`command`,command:e})),...zn.map(e=>({kind:`app-context`,app:e}))],[Rn,zn,Bn,Vn]),Un=!(gt||mn||!J||!Ln||dt===Ln),Wn=(0,Q.useMemo)(()=>an.map(e=>({kind:`command`,command:e})),[an]),Gn=(0,Q.useMemo)(()=>[...Xf(R,``).map(e=>({kind:`action`,action:e})),...Zf(l,``).map(e=>({kind:`app-context`,app:e}))],[R,l]),Kn=(0,Q.useMemo)(()=>Yl(on,``).map(e=>({kind:`skill`,skill:e})),[on]),qn=(0,Q.useMemo)(()=>{let t=[{id:`add`,items:e===`work`?[{kind:`files`},{kind:`folder`}]:[{kind:`files`}],label:`Add`}];return Gn.length>0&&t.push({id:`slash`,items:Gn.map(e=>({kind:`slash`,item:e})),label:`Agents and actions`,queryScope:`slash`}),Kn.length>0&&t.push({id:`skills`,items:Kn.map(e=>({kind:`slash`,item:e})),label:`Skills`,queryScopes:[`slash`,`mentions`]}),t.push({id:`openpond`,items:Wn.map(e=>({kind:`slash`,item:e})),label:`OpenPond`,grid:!0,queryScope:`slash`}),t.push({emptyLabel:`No mentions available`,id:`mentions`,items:q.map(e=>({kind:`mention`,item:e})),label:`@`}),t},[q,Wn,Kn,Gn,e]),Jn=(0,Q.useMemo)(()=>nf(qn,ot),[ot,qn]),Yn=(0,Q.useMemo)(()=>Jn.flatMap(e=>e.items),[Jn]);(0,Q.useEffect)(()=>{gt&&at(e=>e<Yn.length?e:0)},[Yn.length,gt]);let Xn=!!m,Zn=Xn&&m?.tone===`active`,Qn=Zn?`Pause goal`:`Stop response`,$n=Zn?`pause`:`stop`,er=te.value!==`none`,tr=xu(jt,w,O),nr=Nt?.scopeKey===w?Nt.draftId:null;function X(e,t){Mt(n=>Su(n,e,t,e===w?O:[]))}(0,Q.useLayoutEffect)(()=>{U.current?.resize()},[Ht.length,Vt,g,m,s,bt,St,wt]),(0,Q.useEffect)(()=>{if(!j){Ue.current=!1;return}if(Ue.current||mn)return;let e=window.requestAnimationFrame(()=>{Ue.current=!0;let e=document.activeElement;e&&e!==document.body&&e!==document.documentElement||U.current?.focusAtPromptIndex(s.length)});return()=>window.cancelAnimationFrame(e)},[j,mn,s.length]),(0,Q.useEffect)(()=>{if(!M||We.current===M||mn)return;let e=window.requestAnimationFrame(()=>{U.current?.element?.isConnected&&(U.current.focusAtPromptIndex(s.length),We.current=M)});return()=>window.cancelAnimationFrame(e)},[M,mn,s.length]),(0,Q.useEffect)(()=>{m||At(!1)},[m]),(0,Q.useEffect)(()=>{bt&&!R.some(e=>e.id===bt)&&(xt(null),Tt(null))},[R,bt]),(0,Q.useEffect)(()=>{if(!ie||ie.requestId<=Ge.current)return;let e=R.find(e=>e.id===ie.actionId);e&&(Ge.current=ie.requestId,xt(e.id),Ct(null),Tt(0),Dt(null),Fe(``),Je(0),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[R,Fe,ie]),(0,Q.useEffect)(()=>{(rn||sn)&&Tt(e=>e===null?0:Math.max(0,Math.min(e,s.length)))},[s.length,rn,sn]),(0,Q.useEffect)(()=>{if(!f||!ye)return;let e=l.find(e=>e.id===f);(!e||!Cn(s,e))&&ye(null)},[l,ye,s,f]);let{actionMenuStyle:rr,addMenuStyle:ir,mentionMenuStyle:or,skillMenuStyle:sr}=sp({activeMentionKey:An,activeSkillKey:Pn,activeSlashKey:Ln,addMenuIndex:it,addMenuItems:Yn,addMenuOpen:gt,addMenuPanelRef:Be,addMenuRef:ze,attachmentCount:Ht.length,composerRef:Oe,createImproveActive:!!g,goalRuntimeActive:!!m,inputRef:U,inputShellRef:ke,mentionQuery:kn?.query,prompt:s,selectedActionId:bt,selectAddMenuItem:Mr,setActionIndex:rt,setActionMenuDismissedPrompt:ft,setAddMenuIndex:at,setAddMenuOpen:_t,setAddMenuQuery:st,setMentionMenuDismissedPrompt:ut,setMentionIndex:Ze,setSkillIndex:et,setSkillMenuDismissedPrompt:ht,skillMatchCount:Fn.length,skillQuery:Nn?.query,slashMatchCount:Hn.length,slashQuery:J?.query,showActionMenu:Un,showMentionMenu:Mn,showSkillMenu:In});function cr(){xt(null),Ct(null),Tt(null),Dt(null)}function lr(){cr(),Fe(``),Je(0)}function ur(e){Rt(e.trim()),It(!0)}function dr(){zt||(It(!1),cr())}async function fr(){return await(Zn&&Te?Te():we())}function pr(e,t){let n=Math.max(0,Math.min(G,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=s.slice(0,r),o=s.slice(i),c=a&&!/\s$/.test(a)?` `:``,l=o&&!/^\s/.test(o)?` `:``,u=`${c}${`${xn(e)} `}${l}`,d=`${a}${u}${o}`,f=a.length+u.length;return Fe(d),ye?.(e.id),Je(f),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(f)}),f}function mr(e){if(!kn)return;let t=Math.max(0,Math.min(G,s.length));pr(e,{start:kn.start,end:t})}function hr(e,t,n=null){let r=Math.max(0,Math.min(G,s.length)),i=t?Math.max(0,Math.min(t.start,s.length)):r,a=t?Math.max(i,Math.min(t.end,s.length)):i,o=`${s.slice(0,i)}${s.slice(a)}`;return xt(e.id),Ct(null),Tt(i),Dt(n?.startsWith(`@`)?n:null),ft(null),Fe(o),Je(i),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(i,{afterToken:!0})}),i}function gr(e){if(!kn)return;let t=Math.max(0,Math.min(G,s.length)),n=Math.max(0,Math.min(kn.start,s.length)),r=Math.max(n,Math.min(t,s.length));hr(e,{start:n,end:r},s.slice(n,r).trim())}function _r(e,t){let n=Math.max(0,Math.min(G,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=s.slice(0,r),o=s.slice(i),c=a&&!/\s$/.test(a)?` `:``,l=o&&!/^\s/.test(o)?` `:``,u=`${c}${`${bn(e)} `}${l}`,d=`${a}${u}${o}`,f=a.length+u.length;return Fe(d),Je(f),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(f)}),f}function vr(e){if(!kn)return;let t=Math.max(0,Math.min(G,s.length));_r(e,{start:kn.start,end:t})}function yr(e,t){let n=Math.max(0,Math.min(G,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=e.handle||vn(e.name),o=s.slice(0,r),c=s.slice(i),l=`${o&&!/\s$/.test(o)?` `:``}@${a} ${c&&!/^\s/.test(c)?` `:``}`,u=`${o}${l}${c}`,d=o.length+l.length;return Fe(u),Je(d),window.requestAnimationFrame(()=>U.current?.focusAtPromptIndex(d)),d}function br(e){if(e.kind===`team-member`){if(!kn)return;let t=Math.max(0,Math.min(G,s.length));yr(e.member,{start:kn.start,end:t})}else if(e.kind===`app`)mr(e.app);else if(e.kind===`connected-app`)vr(e.app);else if(e.kind===`skill`){if(!kn)return;let t=Math.max(0,Math.min(G,s.length));Er(e.skill,{start:kn.start,end:t})}else gr(e.action)}function xr(e){J&&(ft(null),pr(e,{start:J.start,end:J.end}))}function Sr(e){J&&hr(e,J)}function Cr(e,t){let n=Math.max(0,Math.min(G,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=`${s.slice(0,r)}${s.slice(i)}`;return Ct(e.id),xt(null),Tt(r),Dt(null),ft(null),Fe(a),Je(r),e.id===`submit-issue`&&ur(a),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(r,{afterToken:!0})}),r}function wr(e){J&&Cr(e,J)}function Tr(e){if(e.kind===`command`)wr(e.command);else if(e.kind===`app-context`)xr(e.app);else if(e.kind===`skill`){if(!J)return;Er(e.skill,J)}else Sr(e.action)}function Er(e,t){let n=Jl(s,t,e);return ht(null),ut(null),ft(null),Fe(n.value),Je(n.cursor),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(n.cursor)}),n.cursor}function Dr(e){Nn&&Er(e,Nn)}function Or(){Le.current?.click()}function kr(){Re.current?.click()}function Ar(e){Ve.current=e,st(``),at(0)}function jr(){let e=Math.max(0,Math.min(G,s.length)),t=Math.max(0,Math.min(Ve.current,s.length));return e>=t?{start:t,end:e}:{start:e,end:e}}function Mr(e){let t=jr();if(_t(!1),st(``),e.kind===`files`||e.kind===`folder`){if(t.start!==t.end){let e=`${s.slice(0,t.start)}${s.slice(t.end)}`;Fe(e),Je(t.start)}Ar(t.start),e.kind===`folder`?kr():Or()}else if(e.kind===`slash`){if(e.item.kind===`command`){Ar(Cr(e.item.command,t));return}if(e.item.kind===`app-context`){Ar(pr(e.item.app,t));return}if(e.item.kind===`skill`){Ar(Er(e.item.skill,t));return}Ar(hr(e.item.action,t))}else e.item.kind===`team-member`?Ar(yr(e.item.member,t)):e.item.kind===`app`?Ar(pr(e.item.app,t)):e.item.kind===`connected-app`?Ar(_r(e.item.app,t)):e.item.kind===`skill`?Ar(Er(e.item.skill,t)):Ar(hr(e.item.action,t))}let{stageCurrentSteerDraft:Nr,submitImmediateSteer:Pr}=Tl({running:y,scope:w,inbox:je,getPrompt:()=>U.current?.getPrompt()??s,getResourceContexts:Ie,hasFilesOrActions:!!(Ht.length||rn||sn),provider:I,model:ee,codexPermissionMode:oe,codexReasoningEffort:B,openPondCommandAccessMode:V,getCurrentSubmissionScopeKey:E,onSubmit:Ce,showToast:Se,begin:e=>!W.current.has(e)&&(W.current.add(e),!0),finish:e=>{W.current.delete(e)},clear:lr,setError:Kt,stageLocal:(e,t)=>{X(w,n=>[...n,_u(e,{resourceContexts:t})]),window.requestAnimationFrame(()=>U.current?.focusAtPromptIndex(0))}});async function Fr(e){let t=w;if(Nt?.scopeKey===t)return!1;let n=xu(jt,t,O).find(t=>t.id===e);if(!n)return!1;Pt({draftId:e,scopeKey:t}),Kt(null);try{let r=y,i=await Ce([],null,null,{preservePrompt:!0,promptOverride:n.prompt,turnMetadata:{...Sl(n.resourceContexts??[]),...r?{interactionKind:`steer`}:{}}});return X(t,t=>bu(t,e,i)),i}catch(e){return Kt(e instanceof Error?e.message:String(e)),!1}finally{Pt(n=>n?.scopeKey===t&&n.draftId===e?null:n)}}function Ir(e){nr!==e&&X(w,t=>vu(t,e))}function Z(e){nr!==e.id&&(Ht.length>0||bt||St?Se(`Finish the current composer before editing a queued message.`,`info`):(X(w,t=>yu(t,e.id,s,Ie())),Pe.current.set(w,e.resourceContexts??[]),Fe(e.prompt),Je(e.prompt.length),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(e.prompt.length)})))}async function Lr(e={}){if(Me.selecting)return!1;let t=w;if(!_n(t))return!1;_t(!1),Kt(null);let{contexts:n,focus:r}=Cl(Pe.current.get(t),Ie(),Me.selection),i=qt();try{Ot(i.length>0?t:null);let a;try{a=await Promise.all(i.map(ve))}finally{En(t)}let o=rn&&cn&&!s.trim()?cn:void 0,c=e.promptOverride??o,l=await Ce(a,rn,sn,cn||c||e.preservePrompt||n.length||Me.selection?{...cn?{displayPrompt:cn}:{},...c===void 0?{}:{promptOverride:c},...e.preservePrompt?{preservePrompt:!0}:{},turnMetadata:{...Sl(n),...r?{chatResourceFocus:r}:{}},...Me.selection?{sessionMetadata:{chatContextSelection:Me.selection.target}}:{},onSessionCreated:e=>Me.moveToSession(e.id)}:void 0);return l&&Pe.current.get(t)===n&&Pe.current.delete(t),Gt(i,l?`dispose`:`restore`),l&&!qe(rn)&&cr(),l}catch(e){return Gt(i,`restore`),Kt(e instanceof Error?e.message:String(e)),!1}finally{Sn(t),En(t)}}async function Rr(){if(y){Ae?await Pr():await Nr();return}if(Tn())return;let e=rn||sn?null:nt(s);sn?.id===`submit-issue`||e?.command===`submit-issue`?ur(e?.command===`submit-issue`?e.args:s):fn||await Lr()}function zr(){su(D)||Rr()}async function Br(e){if(Tn()||zt||Me.selecting)return!1;let t=w;if(!_n(t))return!1;Bt(!0),_t(!1),Kt(null);try{let t=await Ce([],null,lp,{displayPrompt:`/submit-issue ${e.title.trim()}`,promptOverride:pt(e)});return t&&(It(!1),cr()),t}catch(e){return Kt(e instanceof Error?e.message:String(e)),!1}finally{Sn(t),Bt(!1)}}async function Vr(e,t){let n=U.current?.getPrompt()??s,r=Math.max(0,Math.min(Ye.current,n.length)),i=Xl(n,e,t.submit?n.length:r),a=await Ql({appendToEnd:t.submit,currentScopeKey:E?.()??w,cursorIndex:r,originScopeKey:w,prompt:n,setOriginDraft:e=>Fe(e),submitFromOrigin:e=>Lr({preservePrompt:!0,promptOverride:e}),transcript:e});if(a===`retained`)Se(`The voice message couldn't be sent. It is saved in the original chat draft.`,`error`);else if(a===`submitted`)Se(`Voice message sent to the chat where recording started.`,`success`);else if(t.submit){if(y){Ae?await Pr(i.value):await Nr(i.value);return}await Lr({promptOverride:i.value})}else Je(i.cursorIndex),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(i.cursorIndex)})}return De?(0,$.jsx)(Kf,{connection:P,session:Ee.session,reason:De,onRechecked:Ee.acceptSession}):(0,$.jsxs)(`form`,{ref:Oe,className:`composer ${t} ${g?`has-create-runtime`:``} ${Xn?`has-goal-runtime`:``} ${Ht.length>0?`has-attachments`:``} ${rn||sn?`has-selected-action`:``} ${Vt?`has-attachment-error`:``} ${gt?`has-add-menu`:``}`,onSubmit:e=>{e.preventDefault(),Rr()},children:[Ee.session?.metadata?.nativeWorkspaceRecovered===!0?(0,$.jsx)(`p`,{className:`composer-workspace-notice`,role:`status`,title:Ee.session.cwd??void 0,children:`Using an app workspace because the original folder is unavailable.`}):null,(0,$.jsx)(`input`,{webkitdirectory:``,ref:Re,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{Ut(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}}),Mn&&(0,$.jsx)(sf,{items:jn,mentionIndex:Xe,onSelect:br,onSelectIndex:Ze,style:or}),In&&(0,$.jsx)(Bf,{items:Fn,onSelect:Dr,onSelectIndex:et,skillIndex:Qe,style:sr}),Un&&(0,$.jsx)(Vf,{actionCatalogCount:R.length,actionIndex:tt,items:Hn,onSelect:Tr,onSelectIndex:rt,style:rr}),(0,$.jsx)(Hf,{busy:zt,initialDescription:Lt,open:Ft,onClose:dr,onSubmit:Br}),t===`start`&&(k||n===`chat`)&&(0,$.jsxs)(`div`,{className:`composer-footer`,children:[k?(0,$.jsx)(Au,{busy:_||te.busy,placement:`top`,state:te,onChange:le}):null,L&&de?(0,$.jsx)(ku,{busy:_,placement:`top`,state:L,onChange:de}):null,er?(0,$.jsx)(Mu,{busy:_,placement:`top`,state:ae,onChange:fe}):null]}),g?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(cp,{runtime:g})}):null,je.enabled?(0,$.jsx)(wu,{inbox:je,canRestore:e=>{try{return xl(Pe.current.get(w)??[],e),!0}catch{return Se(`Send or clear the current resource actions before editing this queued message.`,`info`),!1}},onRestore:(e,t)=>{let n=!E||E()===w,r=n?U.current?.getPrompt()??s:s;Pe.current.set(w,xl(Pe.current.get(w)??[],t)),Fe(r.trim()?`${r}\n\n${e}`:e),n&&U.current?.focusAtPromptIndex(0)}}):(0,$.jsx)(Ru,{drafts:tr,sendingDraftId:nr,onDeleteDraft:Ir,onEditDraft:Z,onSteerDraft:e=>{Fr(e)}}),c?.tone===`warning`?(0,$.jsx)(Y,{error:c.message}):c?(0,$.jsx)(`div`,{className:`composer-notice info`,role:`status`,children:c.message}):null,n===`chat`?(0,$.jsx)(Wl,{context:Me,resources:Ne,sessionId:b??null,busy:_},`${b}:${JSON.stringify(Me.selection?.target)}`):null,(Xn||t!==`start`&&I===`codex`&&x)&&(0,$.jsx)(Lu,{connection:I===`codex`?P:null,sessionId:x??null,running:y,onPause:fr,onResume:()=>Ce([],null,null,{preservePrompt:!0,promptOverride:`Continue pursuing the current goal.`}),detailsOpen:kt,goalRuntime:m,objectiveId:tn,subagentRuntime:h,onToggleDetails:()=>At(e=>!e)},x??w),(0,$.jsxs)(`div`,{className:`composer-input-shell`,ref:ke,children:[gt&&n!==`team`&&(0,$.jsx)(of,{id:$t,ariaLabel:`Add to message`,className:`composer-add-command-menu`,menuIndex:it,menuRef:Be,sections:Jn,style:ir,variant:`add`,onSelect:Mr,onSelectIndex:at}),Ht.length>0&&(0,$.jsx)(`div`,{className:`composer-attachments`,"aria-label":`Selected attachments`,children:Ht.map(e=>(0,$.jsx)(be,{attachment:e,onRemove:()=>Wt(e.id)},e.id))}),Vt&&(0,$.jsx)(Y,{error:Vt}),(0,$.jsxs)(`div`,{className:`composer-textarea-frame`,onCompositionStartCapture:gn.onCompositionStart,onCompositionEndCapture:gn.onCompositionEnd,onClick:e=>{e.target===e.currentTarget&&U.current?.focusAtPromptIndex(G)},children:[(0,$.jsx)(yl,{next:gn}),(0,$.jsx)(Vd,{ref:U,connectedAppMentions:u,ariaDescribedBy:gn.suggestion?gn.descriptionId:void 0,disabled:mn,onCursorChange:Je,onKeyDown:t=>{gn.onKeyDown(t)||ml(t,gt)||hl(t,{open:Mn,matches:jn,index:Xe,setIndex:Ze,select:br,dismiss:()=>ut(An)})||hl(t,{open:In,matches:Fn,index:Qe,setIndex:et,select:Dr,dismiss:()=>ht(Pn??s)})||hl(t,{open:Un,matches:Hn,index:tt,setIndex:rt,select:Tr,dismiss:()=>ft(Ln??s)})||((rn||sn)&&t.key===`Backspace`&&G===(wt??0)?(t.preventDefault(),cr()):Ud(t.key,t.ctrlKey,t.metaKey,t.shiftKey,e,n,!!xe)?(t.preventDefault(),Hd({attachmentsCount:Ht.length,hasSelectedInvocation:!!(rn||sn),onSave:xe,onSaved:cr,prompt:s,saving:vt,setSaving:yt,showInfo:e=>Se(e,`info`)})):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),dn||Rr()))},onPasteFiles:Ut,onPasteTextAsAttachment:Yt,onPromptChange:(e,t)=>{if(gt){let n=Math.max(0,Math.min(Ve.current,e.length));t<n?(Ve.current=t,st(``)):st(e.slice(n,t))}let r=n===`team`?null:Jf(e,t,an);if(r){let n=`${e.slice(0,r.start)}${e.slice(r.end)}`,i=r.start;Fe(e),Je(t),window.requestAnimationFrame(()=>{Ct(r.command.id),xt(null),Tt(i),ft(null),Fe(n),Je(i),r.command.id===`submit-issue`&&ur(n),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(i,{afterToken:!0})})})}else Fe(e)},onTokenPositionChange:e=>{(rn||sn)&&(e===null?cr():Tt(e))},placeholder:gn.suggestion?``:Xt,prompt:s,token:un})]}),(0,$.jsx)(Rf,{inboxControl:n===`chat`&&je.enabled?(0,$.jsx)(mu,{inbox:je,sessionId:b,events:S},b):null,trainingControl:n===`chat`?(0,$.jsx)(Al,{context:Me,disabled:_,placement:`top`}):null,surface:n,teamUseModel:r,teamUseModelLocked:i,onTeamUseModelChange:o,addFiles:Ut,addMenuId:$t,addMenuOpen:gt,addMenuRef:ze,busy:_,codexPermissionMode:oe,codexReasoningEffort:B,connection:P,contextStatusStyle:nn,contextStatusTooltipId:en,contextWindowStatus:p,disabled:hn,dropdownPlacement:`top`,fileInputRef:Le,modelValue:Qt,modelOptions:On,hideModelControls:A,openPondCommandAccessMode:V,showCommandAccess:Zt,profileTarget:k?null:L,onCodexPermissionModeChange:me,onCodexReasoningEffortChange:he,onOpenPondCommandAccessModeChange:H,onProfileTargetChange:de,onModelChange:pe,onOpenFilePicker:Or,onProviderChange:se,onProviderSetupOpen:ce,onSend:zr,onStop:fr,onToggleAddMenu:()=>{let e=Math.max(0,Math.min(G,s.length));gt||(Ve.current=e,st(``),at(0),_t(!0)),window.requestAnimationFrame(()=>{U.current?.focusAtPromptIndex(e)})},onTranscript:Vr,voiceInputChannelKey:D,provider:I,providerSettings:F,providerOptions:Dn,running:y,sendDisabled:fn,hasComposerInput:ln,sendTooltip:pn,showToast:Se,stopIcon:$n,stopLabel:Qn})]})]})}var pp=(0,Q.memo)(function({draftStore:e,...t}){let n=hp(t.onProviderChange),r=hp(t.onProviderSetupOpen),i=hp(t.onProfileTargetChange),a=hp(t.onWorkspaceTargetChange),o=hp(t.onSubmit),s=hp(t.onStop),c=t.contextWindowStatus,l=(0,Q.useMemo)(()=>({...c}),[c.usedTokens,c.maxTokens,c.percent,c.summary,c.tokensLabel,c.detail,c.tooltip,c.tone]);return(0,$.jsx)(gp,{...t,draftStore:e,mentionApps:t.mentionApps?.length===0?mp:t.mentionApps,contextWindowStatus:l,onProviderChange:n,onProviderSetupOpen:r,onProfileTargetChange:i,onWorkspaceTargetChange:a,onSubmit:o,onStop:s})}),mp=[];function hp(e){let t=(0,Q.useRef)(e);(0,Q.useLayoutEffect)(()=>{t.current=e},[e]);let n=(0,Q.useCallback)((...e)=>t.current?.(...e),[]);return e&&n}var gp=(0,Q.memo)(function({draftStore:e,...t}){let n=Rr(e),r=e.getScopeKey(),i=(0,Q.useCallback)(t=>{e.setForScope(r,t)},[r,e]);return(0,$.jsx)(pr,{id:`composer`,children:(0,$.jsx)(fp,{...t,prompt:n,onPromptChange:i})})}),_p=new Set(`div span p pre code h1 h2 h3 h4 h5 h6 br hr strong em b i ul ol li table thead tbody tfoot tr th td img section article header footer main figure figcaption`.split(` `)),vp=new Set([`style`,`title`,`aria-label`,`alt`,`width`,`height`,`colspan`,`rowspan`]);function yp(e){let t=new DOMParser().parseFromString(e,`text/html`);for(let e of t.body.querySelectorAll(`*`))if(!_p.has(e.localName))e.remove();else for(let t=e.attributes.length-1;t>=0;t--){let n=e.attributes[t],r=e.localName===`img`&&n.name===`src`&&/^data:image\/(png|jpeg|gif|webp|avif);base64,/i.test(n.value);!vp.has(n.name)&&!r&&e.removeAttribute(n.name)}return`<!doctype html><html><head><meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; base-uri 'none'; form-action 'none'"><style>body{margin:8px;font:13px/1.5 system-ui;color-scheme:light dark;background:Canvas;color:CanvasText}img{max-width:100%;height:auto}</style></head><body>${t.body.innerHTML}</body></html>`}function bp({preview:e,label:t}){let n=/^\s*<[a-z][\w-]*\b[^>]*>/i.test(e),r=(0,Q.useMemo)(()=>n?yp(e):``,[n,e]);return n?(0,$.jsx)(`iframe`,{className:`native-question-preview`,title:`${t} preview`,sandbox:``,referrerPolicy:`no-referrer`,srcDoc:r}):(0,$.jsx)(`div`,{className:`native-question-preview`,children:(0,$.jsx)(Gt,{content:e})})}function xp({questions:e,answers:t,disabled:n,onChange:r}){return(0,$.jsx)(`div`,{className:`native-question-fields`,children:e.map(e=>(0,$.jsx)(Sp,{question:e,disabled:n,answer:t[e.question]??``,onChange:n=>r({...t,[e.question]:n})},e.question))})}function Sp({question:e,answer:t,disabled:n,onChange:r}){let i=(0,Q.useId)(),[a,o]=(0,Q.useState)([]),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(``),d=s?`Your answer`:a.map(t=>e.options[t].label).join(`, `)||`Choose an answer`;function f(t){if(t===`custom`){c(!0),r(l);return}let n=Number(t),i=e.multiSelect&&!s?a.includes(n)?a.filter(e=>e!==n):[...a,n]:[n];o(i),c(!1),r(i.map(t=>e.options[t].label).join(`, `))}return(0,$.jsxs)(`fieldset`,{disabled:n,children:[(0,$.jsxs)(`legend`,{children:[e.header?(0,$.jsx)(`small`,{children:e.header}):null,e.question]}),(0,$.jsx)(q,{label:e.question,disabled:n,floating:!0,floatingMenuWidth:380,value:s?`custom`:a.length===1?String(a[0]):`placeholder`,triggerContent:(0,$.jsx)(`span`,{children:d}),options:[{value:`placeholder`,label:`Choose an answer`,disabled:!0},...e.options.map((t,n)=>({value:String(n),label:`${e.multiSelect&&a.includes(n)&&!s?`✓ `:``}${t.label}`,description:t.description})),{value:`custom`,label:`Write your own answer`}],onChange:f}),e.multiSelect&&!s?(0,$.jsx)(`small`,{children:`Select one or more choices. Choose a selected item again to remove it.`}):null,s?(0,$.jsxs)(`label`,{className:`native-question-custom`,htmlFor:i,children:[`Your answer`,(0,$.jsx)(`textarea`,{id:i,maxLength:8e3,rows:3,value:t,onChange:e=>{u(e.target.value),r(e.target.value)}})]}):a.map(t=>{let n=e.options[t];return(0,$.jsxs)(`div`,{className:`native-question-selection`,children:[n.description?(0,$.jsx)(`p`,{children:n.description}):null,n.preview?(0,$.jsx)(bp,{preview:n.preview,label:n.label}):null]},t)})]})}function Cp({approval:e,onResolve:t}){let[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)({});if((0,Q.useEffect)(()=>{r(null),a({})},[e?.id]),!e||e.kind===`create_plan`)return null;let o=Tp(e.detail),s=typeof e.providerRequestId==`string`&&e.providerRequestId.startsWith(`native-agent:`),c=[],l=[],u=null;if(s)try{let t=JSON.parse(e.detail);c=t.options??[],l=t.questions??[],(t.toolCall?.toolName??t.toolCall?.title)===`ExitPlanMode`&&(u=typeof t.toolCall?.rawInput?.plan==`string`?t.toolCall?.rawInput.plan:``)}catch{}let d=s?c.some(e=>e.kind===`allow_always`):e.kind!==`subagent_patch_apply`,f=c.find(e=>e.kind===`allow_always`)?.name;async function p(a){if(e&&!n){r(a);try{await t(e.id,a,a===`accept`&&l.length?i:void 0)}catch{r(null)}}}return(0,$.jsx)(`div`,{"data-notification-approval":e.id,className:`approval-request-shell ${l.length||u!==null?`native-input-shell`:``}`,role:`status`,"aria-live":`polite`,children:(0,$.jsxs)(`section`,{className:`approval-request-card`,"aria-label":u===null?l.length?`Questions from agent`:`${wp(e.kind)} approval request`:`Plan review`,children:[(0,$.jsxs)(`div`,{className:`approval-request-copy`,children:[(0,$.jsx)(`div`,{className:`approval-request-header`,children:(0,$.jsx)(`span`,{children:u===null?l.length?`Input needed`:wp(e.kind):`Plan review`})}),!l.length&&u===null?(0,$.jsx)(`code`,{className:`approval-request-title`,title:e.title,children:e.title}):null,!l.length&&u===null&&o&&o!==e.title&&(0,$.jsxs)(`details`,{className:`approval-request-details`,children:[(0,$.jsx)(`summary`,{children:`Details`}),(0,$.jsx)(`pre`,{children:o})]}),u===null?null:(0,$.jsx)(`div`,{className:`native-plan-review`,children:u?(0,$.jsx)(Gt,{content:u}):(0,$.jsx)(`p`,{children:`Claude is ready to leave plan mode. Review the proposed plan in the conversation before continuing.`})}),l.length?(0,$.jsx)(xp,{questions:l,answers:i,disabled:!!n,onChange:a},e.id):null]}),(0,$.jsxs)(`div`,{className:`approval-request-actions`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`approval-action primary`,disabled:!!n||l.some(e=>!i[e.question]?.trim())||s&&!c.some(e=>e.kind===`allow_once`),onClick:()=>void p(`accept`),children:[(0,$.jsx)(wr,{size:14}),(0,$.jsx)(`span`,{children:n===`accept`?`Sending`:l.length?`Submit answers`:u===null?`Approve`:`Approve plan`})]}),d?(0,$.jsxs)(`button`,{type:`button`,className:`approval-action`,title:s?f:`Approve for the rest of this session`,disabled:!!n,onClick:()=>void p(`acceptForSession`),children:[(0,$.jsx)(ea,{size:14}),(0,$.jsx)(`span`,{children:n===`acceptForSession`?`Approving`:s?f:`Session`})]}):null,(0,$.jsxs)(`button`,{type:`button`,className:`approval-action muted`,disabled:!!n||s&&!c.some(e=>e.kind===`reject_once`),onClick:()=>void p(`decline`),children:[(0,$.jsx)(ta,{size:14}),(0,$.jsx)(`span`,{children:n===`decline`?`Sending`:l.length?`Skip questions`:u===null?`Deny`:`Keep planning`})]}),(0,$.jsx)(`button`,{type:`button`,className:`approval-action icon-only`,title:s?`Dismiss request`:`Cancel task`,"aria-label":s?`Dismiss request`:`Cancel task`,disabled:!!n,onClick:()=>void p(`cancel`),children:(0,$.jsx)(un,{size:15})})]})]})})}function wp(e){return e===`create_plan`?`Plan review`:e===`subagent_patch_apply`?`Subagent patch`:e===`file_change`||e===`legacy_patch`?`File change`:e===`permissions`?`Permissions`:e===`user_input`?`Input needed`:`Command`}function Tp(e){let t=e.trim();if(!t)return``;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}function Ep({resolution:e,onSelect:t,onClose:n}){let r=(0,Q.useRef)(null),i=(0,Q.useId)();return(0,Q.useEffect)(()=>{let e=r.current;return e?.showModal(),()=>e?.close()},[]),(0,$.jsxs)(`dialog`,{ref:r,className:`chat-file-resolution`,"aria-labelledby":i,onCancel:n,children:[(0,$.jsx)(`h2`,{id:i,children:`Choose a file`}),(0,$.jsxs)(`p`,{children:[`Matches for `,(0,$.jsx)(`strong`,{children:e.requestedPath}),` in this project's folders:`]}),e.truncated?(0,$.jsx)(`p`,{children:`The search reached its limit. More matches may exist.`}):null,(0,$.jsx)(`div`,{className:`chat-file-resolution-options`,children:e.candidates.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>t(e),children:e},e))}),(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:n,children:`Cancel`})]})}var Dp=/\.(?:m4v|mov|mp4|webm)$/i;function Op(e){return Dp.test(e.trim().split(/[?#]/,1)[0]??``)}function kp(e,t){let n=e.trim();if(!n||!Op(n))return null;if(/^file:\/\//i.test(n))try{n=decodeURIComponent(new URL(n).pathname)}catch{n=n.replace(/^file:\/\//i,``)}if(/^\//.test(n)||/^[A-Za-z]:[\\/]/.test(n))return n;let r=t?.trim().replace(/[\\/]+$/,``);return r?`${r}/${n.replace(/^\.\//,``)}`:null}function Ap({conversationKey:e,connection:t,handleOpenBrowserLink:n,activeWorkspaceAppId:r,rightSidebarUsesSandbox:i,rightSidebarSandboxId:a,onShowDiffPanel:s,showToast:c,workspaceRootPath:l,setOpenDiffFileRequest:u}){let[d,f]=(0,Q.useState)(null),p=(0,Q.useRef)(0),m=(0,Q.useRef)(0),h=(0,Q.useRef)(0),g=xt(t);(0,Q.useEffect)(()=>(p.current++,f(null),()=>{p.current++}),[g,r,e,a]),(0,Q.useEffect)(()=>(m.current++,()=>{m.current++}),[g,e]);let _=(0,Q.useCallback)(async(e,d)=>{if(/[\\/]$/.test(e)){let t=/^(?:[~/\\]|[A-Za-z]:)/.test(e)?e:l?`${l}/${e}`:e;Ft(t).then(e=>{e||c(`Open this folder in the desktop app on the machine where it was created.`,`error`)});return}let f=d?.local?null:d?.sandboxId??(i?a:null),p=f??(d?.local?Rt(e):r);if(jt(e)&&!d?.source&&t&&p){zt(t,p,e,f?`sandbox`:`local`).then(e=>n(e)).catch(e=>c(e instanceof Error?e.message:`Could not open HTML preview.`,`error`));return}let g=kp(e,l);if(g&&t){Z.signLocalVideoUrl(t,{path:g}).then(({url:e})=>n(e)).catch(e=>{c(e instanceof Error?e.message:`Could not open this video.`,`error`)});return}if(/\.pptx$/i.test(e)&&o(()=>import(`./WorkspacePresentationPreview-A28Poeca.js`),__vite__mapDeps([51,1,2,3,6,12,13,5,14,15,16,8,17,4,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,10,35,36,37,38,39,40,11,41,42,43,44,45,46,47,48,49,52,53,54])).catch(()=>{}),/\.docx$/i.test(e)&&(o(()=>import(`./FilePagePreview-CW4J_1u7.js`),__vite__mapDeps([55,1,2,3,6,12,13,5,14,15,16,8,17,4,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,10,35,36,37,38,39,40,11,41,42,43,44,45,46,47,48,49])).catch(()=>{}),o(()=>import(`./docx-preview-Blk_WGfs.js`),__vite__mapDeps([56,1,54])).catch(()=>{})),d?.sandboxId&&t){let n=m.current,r=++h.current;s(),u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:e,file:Bn(e),loading:!0});try{let i=await Vt(t,d.sandboxId,e);if(n!==m.current)return;let a=Sr(i.path)&&i.content?`data:image/${/\.jpe?g$/i.test(e)?`jpeg`:e.split(`.`).pop()};base64,${i.content}`:void 0;u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:i.path,file:i,imageUrl:a})}catch(t){n===m.current&&u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:e,file:Bn(e),error:t instanceof Error?t.message:`Could not open this file.`})}return}let _=Nt(e,{workspaceRootPath:l}),v=d?.local?e:_?.path??e,y=Rt(v);if((d?.local||!r&&!i)&&t&&y){let e=m.current,n=++h.current;s(),u({id:++h.current,loadId:n,sandboxId:null,path:v,file:Bn(v),loading:!0});try{let r=Sr(v)?await Z.signLocalImageUrl(t,{path:v}):null,i=r?Bn(v):await Z.workspaceFile(t,y,v);if(e!==m.current)return;u({id:++h.current,loadId:n,sandboxId:null,path:i.path,file:i,imageUrl:r?.url})}catch(t){e===m.current&&u({id:++h.current,loadId:n,sandboxId:null,path:v,file:Bn(v),error:t instanceof Error?t.message:`Could not open this file.`})}}else s(),u({id:++h.current,path:d?.source&&jt(e)?(_?.path??e).replace(/[?#].*$/,``):_?.path??e,source:d?.source})},[t,n,r,i,a,s,c,l,u]),v=(0,Q.useCallback)((e,a)=>{let o=++p.current;if(f(null),/^https?:\/\//i.test(e)){n(e);return}let s=!!Rt(e)&&(!i||!/^\/workspace(?:\/|$)/.test(e));if(a?.local||a?.sandboxId||s||!t||!r||i){_(e,s?{...a,local:!0}:a);return}let l=Nt(e)?.path??e,u=jt(l)?l.match(/[?#].*$/)?.[0]??``:``,d=u?l.slice(0,-u.length):l;Z.resolveWorkspaceFile(t,r,d).then(t=>{o===p.current&&(t.status===`resolved`?_(t.kind===`directory`?`${t.path}/`:`${t.path}${u}`,a):t.candidates.length?f({requestedPath:e,candidates:t.candidates.map(e=>`${e}${u}`),truncated:t.truncated,source:a?.source}):c(t.truncated?`The project search reached its limit. Open this file using its full path.`:`Could not find ${e} in this project's folders. Try its full path.`,`error`))}).catch(e=>{o===p.current&&c(e instanceof Error?e.message:`Could not locate this file.`,`error`)})},[t,r,i,_,n,c]);return{handleOpenFileInSidebar:v,fileResolution:d,dismissFileResolution:(0,Q.useCallback)(()=>f(null),[]),selectFileResolution:(0,Q.useCallback)(e=>{let t=d?.source;f(null),v(e,{source:t})},[d,v])}}function jp(e){let t=[];if(e.localWorkspaceId&&t.push({value:`local`,label:`Local`}),(e.sandboxSourceAvailable??!!e.sandboxWorkspaceId)&&t.push({value:`sandbox`,label:`Sandbox`}),t.length===0)return{source:null,options:t};let n=new Set(t.map(e=>e.value));if(e.override&&n.has(e.override))return{source:e.override,options:t};let r=e.workspaceTarget===`local`?`local`:`sandbox`;return n.has(r)?{source:r,options:t}:{source:t[0].value,options:t}}var Mp=new Set([`create`,`edit`,`help`,`list`]);function Np(e,t,n=null){return Pp(e)}function Pp(e){let t=e.trim();if(!t)return`/skill`;let[n=``]=t.split(/\s+/,1);return Mp.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function Fp(e){let t=e.session?.currentProfile??null,n=e.session?await e.patchSession(e.session.id,e.ref):null;try{return{selected:await e.selectProfile(e.ref),session:n}}catch(r){if(n)try{await e.patchSession(n.id,t)}catch{}throw r}}function Ip(e,t){if(!e||!t)return null;let n=new Set(e.sources.filter(e=>e.sessionId===t).map(e=>e.id));return n.size?e.creations.find(e=>e.request.sourceIds.some(e=>n.has(e)))??null:null}function Lp(e){let[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(0),p=(0,Q.useCallback)(async(t,n={})=>{if(!e){i(null),c(`OpenPond App server is not connected.`);return}let r=f.current+1;f.current=r,n.silent||o(!0),c(null);try{let n=await Z.getCreateImproveCandidateDiff(e,t.runId,t.candidateId),a=d.current;if(r!==f.current||a?.runId!==t.runId||a.candidateId!==t.candidateId)return;i(n)}catch(e){if(r!==f.current)return;c(e instanceof Error?e.message:String(e))}finally{r===f.current&&!n.silent&&o(!1)}},[e]),m=(0,Q.useCallback)(e=>{let t=d.current;e&&t?.runId===e.runId&&t.candidateId===e.candidateId||(d.current=e,n(e),u(null),e?(i(t=>t?.appId===Rp(e)?t:null),p(e)):(f.current+=1,i(null),c(null),o(!1)))},[p]),h=(0,Q.useCallback)(async(e={})=>{let t=d.current;t&&await p(t,e)},[p]),g=(0,Q.useCallback)(e=>{u({id:Date.now(),path:e})},[]);return(0,Q.useEffect)(()=>{e||m(null)},[m,e]),{selection:t,diff:r,loading:a,error:s,openFileRequest:l,activate:m,refresh:h,openFile:g}}function Rp(e){return`candidate:${e.runId}:${e.candidateId}`}function zp(e){let{activeModel:t,activeProvider:n,bootstrap:r,codexPermissionMode:i,codexReasoningEffort:a,connection:o,onOpenRightChatForSession:s,onPayload:c}=e,l=(0,Q.useCallback)(async e=>{if(!o||!r)throw Error(`OpenPond is still connecting.`);let i=r.profile;if(i.mode!==`local`||!i.repoPath)throw Error(`A local Git-backed Profile is required to change an Agent.`);let l=e.authoringModel??de(n,t,r.providers);if(!l)throw Error(`Choose a model before changing an Agent.`);let u=await Z.createSession(o,{provider:l.providerId,modelRef:l,systemKind:`openpond.lab`,hiddenFromDefaultSidebar:!0,title:`${e.operation===`create`?`New`:`Improve`} Agent · ${e.objective.slice(0,80)}`,cwd:i.repoPath,metadata:{source:e.operation===`create`?`lab_agent_create`:`lab_agent_improve`,profileId:i.activeProfile??`default`,targetAgentId:e.agentId??null}}),d=e.objective.trim();if(!d)throw Error(e.operation===`create`?`Describe what the Agent should do.`:`Describe what the Agent could do better.`);if(l.providerId===`codex`)throw Error(`Agent authoring uses OpenPond's bundled authoring skill. Choose a hosted model.`);let f=e.operation===`create`?`/agent create ${d}`:`/agent improve ${e.agentId??``} ${d}`,p=await Z.sendTurn(o,u.id,{prompt:f,model:l.modelId,modelRef:l,approvalPolicy:`never`,sandbox:`workspace-write`,codexPermissionMode:`default`,codexReasoningEffort:a});if(p.status===`failed`)throw Error(p.error??`OpenPond could not complete the Agent authoring turn.`);c(await Z.bootstrap(o)),s(u.id,u)},[t,n,r,i,a,o,s,c]);return{createAgentFromLab:(0,Q.useCallback)((e,t,n)=>l({objective:e,operation:`create`,authoringRunId:t,authoringModel:n}),[l]),improveAgentFromLab:(0,Q.useCallback)((e,t,n,r,i)=>l({agentId:e,agentName:n,objective:t,operation:`improve`,authoringRunId:r,authoringModel:i}),[l])}}var Bp=72,Vp=280,Hp=460;function Up(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=Bp}var Wp={canGoPrevious:!1,canGoNext:!1};function Gp(e){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&(e.matches(`.message-row.user`)||e.dataset.chatUserMessage===`true`))}function Kp({activeWorkspaceId:e,cloudProjects:t}){let n=t.find(t=>t.id===e),r=t.find(e=>e.organizationSlug||e.teamId),i=n??r??null;return{organizationSlug:i?.organizationSlug??null,teamId:i?.teamId??null}}function qp(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function Jp(e,t){return qp(e,t)+t.getBoundingClientRect().height}function Yp(e){return e.scrollTop+24}function Xp(e){return e.scrollTop+8}function Zp(e){let t=Yp(e),n=Xp(e),r=!1,i=!1;for(let a of Gp(e)){let o=qp(e,a);if(Jp(e,a)<n&&(r=!0),o>t+8&&(i=!0),r&&i)break}return{canGoPrevious:r,canGoNext:i}}function Qp(e,t){let n=Gp(e),r=Yp(e);if(t===`previous`){let t=Xp(e);for(let r=n.length-1;r>=0;--r){let i=n[r];if(Jp(e,i)<t)return i}return null}for(let t of n)if(qp(e,t)>r+8)return t;return null}function $p(e){return Math.min(Hp,Math.max(Vp,Math.abs(e)/5))}function em(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function tm(e){let t=yt({messages:e});return t?{run:t}:null}function nm(e){return e.command===`workflow`?[`Create a scheduled workflow attached to this chat.`,`Use the schedule_work tool after resolving the exact cadence, local date/time, and timezone from my request. Ask a concise clarification only if a required scheduling detail is genuinely missing.`,`Workflow request: ${e.args}`].join(`
93
+
94
+ `):e.command===`agent`?e.args?`/agent ${e.args}`:`/agent`:e.command===`skill`?e.args?`/skill ${e.args}`:`/skill`:e.args?`/${e.command} ${e.args}`:`/${e.command}`}function rm(e,t){return{surface:`chat`,workflowKind:`slash_command`,commandName:`/${e.command}`,commandSource:t}}function im(e){return e.command===`goal`||e.command===`agent`||e.command===`skill`||e.command===`workflow`||e.command===`sync-cloud`}function am(e){let t=e?.trim()??``;return/^[a-z0-9]{24}$/.test(t)?t:null}function om({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){let i=Pr(t),a=t.selectedTaskIndex+1;return(0,$.jsxs)(`section`,{className:`training-chat-handoff`,"aria-label":`Model chat`,children:[(0,$.jsxs)(`div`,{className:`training-chat-handoff-copy`,children:[(0,$.jsx)(`strong`,{children:i?`Generated Taskset question`:`Model chat`}),(0,$.jsx)(`span`,{children:t.tasksetName}),(0,$.jsx)(`small`,{children:i?`${sm(i.split)} · ${a} of ${t.tasks.length} · New chat per question`:`Ask the imported model directly`})]}),(0,$.jsxs)(`div`,{className:`training-chat-handoff-actions`,children:[i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`Previous generated question`,title:`Previous question`,disabled:e||t.selectedTaskIndex===0,onClick:()=>r(t.selectedTaskIndex-1),children:(0,$.jsx)(Qn,{size:14})}),(0,$.jsx)(`button`,{type:`button`,className:`training-chat-handoff-load`,disabled:e,onClick:()=>r(t.selectedTaskIndex),children:`Load question`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Next generated question`,title:`Next question`,disabled:e||t.selectedTaskIndex>=t.tasks.length-1,onClick:()=>r(t.selectedTaskIndex+1),children:(0,$.jsx)(Ot,{size:14})})]}):null,(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close generated question handoff`,title:`Close`,disabled:e,onClick:n,children:(0,$.jsx)(un,{size:14})})]})]})}function sm(e){return e===`frozen_eval`?`Frozen evaluation`:e===`validation`?`Validation`:`Training`}function cm({activeModel:e,activeProvider:t,busy:n,handoff:r,onDismiss:i,onSelectTask:a}){return!r||r.model.providerId!==t||r.model.modelId!==e?null:(0,$.jsx)(om,{busy:n,handoff:r,onDismiss:i,onSelectTask:a})}function lm({canGoNext:e,canGoPrevious:t,onJumpToLatest:n,onNext:r,onPrevious:i}){return(0,$.jsxs)(`div`,{className:`chat-scroll-controls`,"aria-label":`Message navigation`,children:[(0,$.jsx)(`button`,{type:`button`,className:`chat-scroll-control-button`,"data-tooltip":`Go to previous message`,"aria-label":`Go to previous message`,"aria-disabled":!t,onClick:i,children:(0,$.jsx)(Qn,{size:17})}),(0,$.jsx)(`button`,{type:`button`,className:`chat-scroll-control-button primary`,"data-tooltip":`Jump to latest`,"aria-label":`Jump to latest`,onClick:n,children:(0,$.jsx)(Zi,{size:18})}),(0,$.jsx)(`button`,{type:`button`,className:`chat-scroll-control-button`,"data-tooltip":`Go to next message`,"aria-label":`Go to next message`,"aria-disabled":!e,onClick:r,children:(0,$.jsx)(Ot,{size:17})})]})}function um({busy:e,onSync:t}){return(0,$.jsxs)(`button`,{type:`button`,className:`sync-local-button`,disabled:e,onClick:t,children:[(0,$.jsx)(ra,{size:15}),(0,$.jsx)(`span`,{children:e?`Syncing locally`:`Sync locally to work on this`})]})}function dm(e){return e.supportedView&&e.open&&!e.hasContentPanel}function fm(e,t){return e===`team`?`team-active`:e===`community`?`community-active`:e===`apps`||e===`get-started`||e===`labs`||e===`outputs`||e===`projects`||e===`scheduled`?`page-active`:t?`chat-active`:`chat-start`}function pm(e,t){if(!t.row.isConnected||t.row.parentElement!==e)return null;let n=Number.parseFloat(e.style.getPropertyValue(`--chat-sent-message-space`))||0,r=Number.parseFloat(getComputedStyle(e).paddingBottom)-n,i=e.lastElementChild,a=i?i.getBoundingClientRect().bottom-t.row.getBoundingClientRect().top+r:r,o=Math.max(0,e.clientHeight-96-a);return Math.abs(o-n)>.5&&e.style.setProperty(`--chat-sent-message-space`,`${o}px`),Math.max(0,qp(e,t.row)-96)}function mm(e,t,n){let r=e=>{e.deltaY<0?t():e.deltaY>0&&n?.()},i=null,a=e=>{i=e.touches[0]?.clientY??null},o=e=>{let r=e.touches[0]?.clientY??null;r!==null&&i!==null&&r>i?t():r!==null&&i!==null&&r<i&&n?.(),i=r},s=e=>{e.target?.closest?.(`input, textarea, select, [contenteditable='true']`)||([`ArrowUp`,`PageUp`,`Home`].includes(e.key)||e.key===` `&&e.shiftKey?t():([`ArrowDown`,`PageDown`,`End`].includes(e.key)||e.key===` `&&!e.shiftKey)&&n?.())},c=n=>{if(n.target!==e)return;let r=e.getBoundingClientRect().left+e.clientLeft+e.clientWidth;n.clientX>=r&&t()};return e.addEventListener(`openpond-visual-interaction`,t),e.addEventListener(`wheel`,r,{passive:!0}),e.addEventListener(`touchstart`,a,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!0}),e.addEventListener(`keydown`,s),e.addEventListener(`pointerdown`,c),()=>{e.removeEventListener(`openpond-visual-interaction`,t),e.removeEventListener(`wheel`,r),e.removeEventListener(`touchstart`,a),e.removeEventListener(`touchmove`,o),e.removeEventListener(`keydown`,s),e.removeEventListener(`pointerdown`,c)}}function hm(e){let t=e.getBoundingClientRect().top;for(let n of Array.from(e.children)){let e=n.getBoundingClientRect();if(!(e.bottom<=t))return{row:n,offset:e.top-t}}return null}function gm(e,t){if(t.row.parentElement!==e)return;let n=t.row.getBoundingClientRect().top-e.getBoundingClientRect().top;e.scrollTop+=n-t.offset}function _m(e){let{contentKey:t,threadElement:n=null,enabled:r=!0,onContentChange:i,threadRef:a}=e,o=(0,Q.useRef)(i),s=(0,Q.useRef)(null);o.current=i,(0,Q.useLayoutEffect)(()=>{let e=n??a.current;if(!r||!e||typeof window>`u`)return;let t=null,i=0,c=e.scrollHeight,l=(n=!0)=>{n&&(i=Math.max(i,4)),t===null&&(t=window.requestAnimationFrame(()=>{t=null,a.current===e&&o.current(e);let n=Math.abs(e.scrollHeight-c)>1;c=e.scrollHeight,--i,(i>0||n)&&l(!1)}))};s.current=()=>l();let u=typeof MutationObserver>`u`?null:new MutationObserver(()=>{p(),l()}),d=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>l()),f=new Set,p=()=>{if(!d)return;let t=new Set(Array.from(e.children).filter(e=>e instanceof HTMLElement));for(let e of f)t.has(e)||(d.unobserve(e),f.delete(e));for(let e of t)f.has(e)||(d.observe(e),f.add(e))};u?.observe(e,{childList:!0,characterData:!0,subtree:!0}),p();let m=()=>l();return e.addEventListener(`load`,m,!0),()=>{s.current=null,u?.disconnect(),d?.disconnect(),e.removeEventListener(`load`,m,!0),t!==null&&window.cancelAnimationFrame(t)}},[r,n,a]),(0,Q.useLayoutEffect)(()=>{r&&s.current?.()},[t,r])}function vm({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:i,onLoadMoreChatHistory:a,pendingApproval:o,showChatThread:s,showThinkingIndicator:c,turnRunning:l,view:u}){let d=(0,Q.useRef)(null),[f,p]=(0,Q.useState)(null),m=(0,Q.useCallback)(e=>{d.current=e,p(t=>t===e?t:e)},[]),h=(0,Q.useRef)(null),g=(0,Q.useRef)(!0),_=(0,Q.useRef)(null),v=(0,Q.useRef)(!1),y=(0,Q.useRef)(0),b=(0,Q.useRef)(null),x=(0,Q.useRef)(0),S=(0,Q.useRef)(0),C=(0,Q.useRef)(0),w=(0,Q.useRef)(null),T=(0,Q.useRef)(null),E=(0,Q.useRef)(null),D=(0,Q.useRef)(!1),[O,k]=(0,Q.useState)(0),A=(0,Q.useRef)(!1),j=(0,Q.useRef)(!1),M=(0,Q.useRef)(null),N=(0,Q.useRef)(null),P=(0,Q.useRef)(null),[F,I]=(0,Q.useState)(0),[ee,te]=(0,Q.useState)(null),[L,R]=(0,Q.useState)(!1),[z,ne]=(0,Q.useState)(132),[re,ie]=(0,Q.useState)(Wp),ae=(0,Q.useMemo)(()=>go(i,{showThinkingIndicator:c}),[i,c]),oe=(0,Q.useMemo)(()=>({"--chat-composer-reserve":`${z}px`}),[z]),B=i.at(-1),V=[ae.length,B?.id??``,B?.content?.length??0,B?.timestamp??``,JSON.stringify(B?.resources??[]),c?`thinking`:``].join(`:`),se=n,ce=e,le=u===`chat`&&s&&!!ce&&ee!==ce,ue=(0,Q.useCallback)(e=>{R(t=>t===e?t:e)},[]),de=(0,Q.useCallback)(e=>{ie(t=>t.canGoPrevious===e.canGoPrevious&&t.canGoNext===e.canGoNext?t:e)},[]),fe=(0,Q.useCallback)((e,t={})=>{let n=t.nearBottom??Up(e);ue(!n),de(Zp(e))},[ue,de]),pe=(0,Q.useCallback)(e=>{let t=A.current;A.current=!1,te(e),ue(!1),de(Wp),t&&I(e=>e+1)},[ue,de]),me=(0,Q.useCallback)(()=>{P.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(P.current),P.current=null)},[]),he=(0,Q.useCallback)((e,t,n)=>{me();let r=Math.max(0,e.scrollHeight-e.clientHeight),i=()=>{let n=typeof t==`function`?t():t;return Math.max(0,Math.min(n,Math.max(0,e.scrollHeight-e.clientHeight)))},a=Math.max(0,Math.min(i(),r)),o=e.scrollTop,s=a-o;if(typeof window>`u`||window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches===!0||Math.abs(s)<1){e.scrollTop=a,n?.();return}let c=$p(s),l=window.performance.now(),u=t=>{if(d.current!==e){P.current=null;return}let r=Math.min(1,(t-l)/c),a=i();e.scrollTop=o+(a-o)*em(r),r<1?P.current=window.requestAnimationFrame(u):(e.scrollTop=i(),P.current=null,n?.())};P.current=window.requestAnimationFrame(u)},[me]),H=(0,Q.useCallback)(()=>{j.current=!1,M.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(M.current),M.current=null)},[]),ge=(0,Q.useCallback)(()=>{N.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(N.current),N.current=null)},[]),_e=(0,Q.useCallback)(e=>{if(typeof window>`u`){e.scrollTop=e.scrollHeight;return}if(N.current!==null)return;let t=window.performance.now(),n=r=>{if(d.current!==e||!g.current){N.current=null;return}let i=Math.max(0,e.scrollHeight-e.clientHeight),a=i-e.scrollTop;if(Math.abs(a)<=1)e.scrollTop=i,N.current=null;else{if(a<0||a>240)e.scrollTop=i;else{let n=Math.max(.5,Math.min(3,(r-t)/(1e3/60))),i=1-.78**n;e.scrollTop+=Math.min(a,Math.max(1,Math.min(36*n,a*i)))}t=r,N.current=window.requestAnimationFrame(n)}};N.current=window.requestAnimationFrame(n)},[]),ve=(0,Q.useCallback)((e,t={})=>{if(ge(),e.scrollTop=e.scrollHeight,typeof window>`u`){t.finishInitial&&pe(t.conversationKey??null);return}H(),j.current=!0;let n=0,r=0,i=e.scrollHeight,a=t.settle?12:2,o=()=>{let e=d.current;if(!e){M.current=null,j.current=!1,t.finishInitial&&pe(t.conversationKey??null);return}e.scrollTop=e.scrollHeight;let s=e.scrollHeight-e.scrollTop-e.clientHeight,c=Math.abs(e.scrollHeight-i)<=1;i=e.scrollHeight,r=s<=1&&c?r+1:0,n+=1,n<a&&r<2?M.current=window.requestAnimationFrame(o):(M.current=null,j.current=!1,g.current=!0,ue(!1),de(Zp(e)),t.finishInitial&&pe(t.conversationKey??null))};M.current=window.requestAnimationFrame(o)},[H,ge,pe,ue,de]),ye=(0,Q.useCallback)(()=>{_.current=null,d.current?.style.removeProperty(`--chat-sent-message-space`);let e=d.current;e&&(H(),ge(),g.current=!0,ue(!1),he(e,()=>e.scrollHeight-e.clientHeight,()=>{d.current===e&&(e.scrollTop=e.scrollHeight,g.current=!0,ue(!1),de(Zp(e)))}))},[H,ge,ue,de,he]),be=(0,Q.useCallback)(e=>{_.current=null,e.style.removeProperty(`--chat-sent-message-space`),me(),g.current=!0,ve(e,{settle:!0}),fe(e,{nearBottom:!0})},[me,ve,fe]),xe=(0,Q.useCallback)(e=>{let t=d.current;if(!t)return;let n=Qp(t,e);n&&(H(),ge(),_.current&&(_.current.following=!1),he(t,()=>n.isConnected?Math.max(0,qp(t,n)-24):t.scrollTop,()=>{if(d.current!==t)return;let e=Up(t);g.current=e,fe(t,{nearBottom:e})}))},[H,ge,he,fe]),Se=(0,Q.useCallback)(async()=>{if(!se||!a||r||E.current)return;let e=d.current;if(!e)return;let t={anchor:hm(e),firstRowId:ae[0]?.id,settled:!1};T.current=t,g.current=!1,H(),ge(),me(),E.current=t,D.current=!1;try{let e=await a();E.current===t&&(D.current=!e),!e&&T.current===t&&(T.current=null)}catch{E.current===t&&(D.current=!0,T.current=null)}finally{t.settled=!0,E.current===t&&(E.current=null,k(e=>e+1))}},[se,r,a,ae,H,ge,me]),Ce=(0,Q.useCallback)(e=>{let t=T.current;t&&(t.anchor=hm(e));let n=Up(e),i=Math.abs(e.scrollHeight-S.current)>1||Math.abs(e.clientHeight-C.current)>1,a=e.scrollTop<x.current-1,o=e.scrollTop>x.current+1,s=n&&o&&(!i||e.scrollHeight-e.scrollTop-e.clientHeight<=1);if(x.current=e.scrollTop,S.current=e.scrollHeight,C.current=e.clientHeight,_.current)!_.current.following&&s?be(e):(g.current=!1,fe(e));else if(j.current){g.current=!0,ue(!1),de(Wp);return}else n&&(g.current||s)?(g.current=!0,fe(e,{nearBottom:!0})):a&&!i?(g.current=!1,ge(),fe(e,{nearBottom:!1})):g.current?(ue(!1),de(Zp(e))):fe(e,{nearBottom:n});!A.current&&e.scrollTop<=120&&se&&!r&&Se()},[se,ge,r,Se,be,ue,de,fe]),we=(0,Q.useCallback)(e=>{let t=_.current;if(t){let n=pm(e,t);n!==null&&t.following&&P.current===null&&(e.scrollTop=n),fe(e)}else g.current&&P.current===null&&!j.current&&_e(e)},[_e,fe]);return(0,Q.useEffect)(()=>{let e=f;if(!e)return;let t=null,n=()=>{t!==null&&window.cancelAnimationFrame(t),t=null},r=()=>{n(),_.current&&(_.current.following=!1),g.current=!1,x.current=e.scrollTop,S.current=e.scrollHeight,C.current=e.clientHeight,H(),ge(),me()},i=()=>{_.current&&r()},a=e=>{[`ArrowUp`,`ArrowDown`,`PageUp`,`PageDown`,`Home`,`End`,` `].includes(e.key)&&i()},o=()=>{n();let r=Up(e),i=w.current;t=window.requestAnimationFrame(()=>{t=null,d.current===e&&w.current===i&&(r||Up(e))&&(!g.current||_.current)&&be(e)})};e.addEventListener(`wheel`,i,{passive:!0}),e.addEventListener(`touchmove`,i,{passive:!0}),e.addEventListener(`pointerdown`,i),e.addEventListener(`keydown`,a);let s=mm(e,r,o);return()=>{n(),s(),e.removeEventListener(`wheel`,i),e.removeEventListener(`touchmove`,i),e.removeEventListener(`pointerdown`,i),e.removeEventListener(`keydown`,a)}},[f,H,ge,me,be]),(0,Q.useEffect)(()=>{if(!f||typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{_.current&&we(f)});return e.observe(f),()=>e.disconnect()},[f,we]),_m({contentKey:V,enabled:u===`chat`&&s,onContentChange:we,threadElement:f,threadRef:d}),(0,Q.useLayoutEffect)(()=>{if(u!==`chat`||!s||typeof window>`u`)return;let e=h.current;if(!e)return;let t=null,n=()=>{t=null;let n=Math.max(96,Math.ceil(e.getBoundingClientRect().height+20));ne(e=>e===n?e:n)},r=()=>{t===null&&(t=window.requestAnimationFrame(n))};r();let i=window.ResizeObserver===void 0?null:new window.ResizeObserver(r);return i?.observe(e),window.addEventListener(`resize`,r),()=>{t!==null&&window.cancelAnimationFrame(t),i?.disconnect(),window.removeEventListener(`resize`,r)}},[s,u]),(0,Q.useLayoutEffect)(()=>{let e=d.current;u===`chat`&&s&&e&&!A.current&&(_.current?we(e):g.current&&ve(e,{settle:!0}))},[z,we,ve,s,u]),(0,Q.useLayoutEffect)(()=>{_.current=null,v.current=!1,d.current?.style.removeProperty(`--chat-sent-message-space`),T.current=null,E.current=null,D.current=!1,A.current=!0,g.current=!0,x.current=0,S.current=0,C.current=0,ge(),me(),H(),te(null),ue(!1),de(Wp)},[H,me,ge,ce,ue,de]),(0,Q.useLayoutEffect)(()=>{if(t===0||t===y.current||u!==`chat`||!s)return;let e=d.current,n=e?Gp(e).at(-1):void 0;if(!e||!n||n===b.current)return;y.current=t,H(),ge();let r={row:n,following:!0};_.current=r,g.current=!1,pm(e,r),he(e,()=>pm(e,r)??e.scrollTop),pe(ce)},[t,ae,f,ce,u,s,H,ge,he,pe]),(0,Q.useLayoutEffect)(()=>{let e=d.current;b.current=e?Gp(e).at(-1)??null:null}),(0,Q.useLayoutEffect)(()=>{if(l){v.current=!0;return}let e=i.length-1;for(;e>=0&&i[e]?.role!==`user`;)e--;let t=i.slice(e+1).some(e=>e.role===`assistant`&&e.finalAnswer);if(!v.current&&!t)return;v.current=!1;let n=d.current,r=_.current;n&&r&&(_.current=null,n.style.removeProperty(`--chat-sent-message-space`),me(),g.current=r.following,r.following&&ve(n,{settle:!0}),fe(n))},[i,l,me,ve,fe]),(0,Q.useEffect)(()=>{let e=d.current;u!==`chat`||!e||A.current||!se||r||D.current||e.scrollTop<=120&&Se()},[se,r,F,O,ae.length,Se,u]),(0,Q.useLayoutEffect)(()=>{let e=T.current,t=d.current;e&&t&&!A.current&&(ae[0]?.id===e.firstRowId?e.settled&&!r&&(T.current=null):(T.current=null,e.anchor&&gm(t,e.anchor),fe(t)))},[ae,r,fe]),(0,Q.useLayoutEffect)(()=>{let e=d.current;if(u!==`chat`||!ce||!e){w.current=ce,g.current=!0,pe(ce);return}let t=w.current!==ce;if(w.current=ce,_.current){pe(ce);return}if(t||A.current){g.current=!0,ve(e,{conversationKey:ce,finishInitial:!0,settle:!0});return}let n=Up(e);g.current?(g.current=!0,ue(!1),de(Zp(e)),ve(e,{settle:!0})):fe(e,{nearBottom:n})},[ce,f,pe,o?.id,ve,ue,de,fe,u]),(0,Q.useEffect)(()=>()=>{H(),me(),ge()},[H,me,ge]),{chatColumnStyle:oe,chatThreadPreparingInitialScroll:le,chatThreadRef:m,composerStackRef:h,goToUserMessage:xe,handleChatScroll:Ce,jumpToLatestChatMessage:ye,showScrollToBottomButton:L,userMessageNavigation:re,chatTimelineRows:ae}}function ym(e){return e.state===`proposed`&&[`waiting_input`,`waiting_approval`,`cancelled`].includes(e.target.status)}function bm({items:e,busy:t,editingId:n,onEdit:r,onSend:i,onDismiss:a,onOpen:o}){return e.length?(0,$.jsx)(`section`,{className:`ponder-recommendations`,"aria-label":`Ponder recommendations`,children:e.map(e=>(0,$.jsxs)(`article`,{className:`ponder-recommendation`,"data-state":e.state,children:[(0,$.jsx)(`button`,{type:`button`,className:`ponder-recommendation-target`,onClick:()=>o(e.target.conversationId),children:e.target.title}),(0,$.jsx)(`p`,{children:e.summary}),e.submittedText||e.proposedText?(0,$.jsx)(`blockquote`,{children:e.submittedText??e.proposedText}):null,(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Why Ponder suggested this`}),e.evidence.map(e=>(0,$.jsx)(`p`,{children:e.excerpt},e.id))]}),[`proposed`,`failed`,`stale`,`submitting`].includes(e.state)?(0,$.jsxs)(`div`,{className:`ponder-recommendation-actions`,children:[e.state===`proposed`&&e.proposedText?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,disabled:!!t,onClick:()=>r(e),children:n===e.id?`Editing below`:`Edit`}),(0,$.jsx)(`button`,{type:`button`,disabled:!!t||ym(e),onClick:()=>i(e),children:t===e.id?`Sending…`:n===e.id?`Send edited message`:`Send`})]}):null,(e.state===`failed`||e.state===`submitting`)&&e.submittedText&&e.submissionRevision!==null?(0,$.jsx)(`button`,{type:`button`,disabled:!!t,onClick:()=>i(e),children:t===e.id?`Retrying…`:`Retry reviewed message`}):null,ym(e)?(0,$.jsx)(`small`,{role:`status`,children:`Resolve this task's wait or cancellation before sending a new message.`}):null,e.state===`submitting`?(0,$.jsx)(`small`,{role:`status`,children:`Awaiting task acknowledgment`}):(0,$.jsx)(`button`,{type:`button`,disabled:!!t,onClick:()=>a(e),children:`Dismiss`}),e.state===`stale`?(0,$.jsx)(`small`,{role:`status`,children:`Task changed — review its latest state`}):null]}):(0,$.jsx)(`small`,{role:`status`,children:e.state===`submitted`?`Message submitted to the task`:e.state===`stale`?`Task changed — review the latest task before sending`:e.state.replaceAll(`_`,` `)}),e.error?(0,$.jsx)(`p`,{role:`alert`,children:e.error}):null]},e.id))}):null}function xm(e,t){let[n,r]=(0,Q.useState)([]),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(null),c=(0,Q.useRef)({connection:e,bindingId:t});c.current={connection:e,bindingId:t};let l=(0,Q.useRef)(!1),u=(0,Q.useRef)(!0),d=(0,Q.useCallback)(async n=>{if(!t)return;let i=await W(e,`/v1/ponder/recommendations`,{signal:n});u.current&&!n?.aborted&&c.current.connection===e&&c.current.bindingId===t&&i.bindingId===t&&(r(i.items),a(null))},[e,t]);return(0,Q.useEffect)(()=>{if(u.current=!0,r([]),a(null),s(null),!t)return()=>{u.current=!1};let e=new AbortController,n=!1,i=async()=>{if(!n){n=!0;try{await d(e.signal)}catch(t){e.signal.aborted||a(t instanceof Error?t.message:`Unable to read recommendations.`)}finally{n=!1}}};i();let o=window.setInterval(()=>void i(),5e3);return()=>{u.current=!1,e.abort(),window.clearInterval(o)}},[t,d]),{items:n,error:i,busy:o,action:(0,Q.useCallback)(async(n,r,i)=>{if(l.current||!t)return!1;if(r===`send`&&ym(n))return a(`Resolve this task's wait or cancellation before sending a new message.`),!1;let o=r===`send`&&(n.state===`submitting`||n.state===`failed`);if(o&&(!n.submittedText||n.submissionRevision===null))return!1;let f=o?n.submissionRevision:n.revision,p=o?n.submittedText:i;l.current=!0,s(n.id);try{return await W(e,`/v1/ponder/recommendations/${encodeURIComponent(n.id)}/action`,{method:`POST`,body:JSON.stringify({action:r,expectedRevision:f,...p===void 0?{}:{message:p}})}),!u.current||c.current.connection!==e||c.current.bindingId!==t?!1:(await d(),u.current&&c.current.connection===e&&c.current.bindingId===t)}catch(n){return c.current.connection===e&&c.current.bindingId===t&&a(n instanceof Error?n.message:`Recommendation action failed.`),!1}finally{l.current=!1,c.current.connection===e&&c.current.bindingId===t&&s(null)}},[t,e,d]),refresh:d}}function Sm({connection:e,work:t,localWork:n,busy:r,onOpenWork:i,onOpenLocalWork:a,onOpenLocalOutput:o,onOpenOutput:s}){let[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(null),f=(0,Q.useRef)({connection:e,mounted:!0,inFlight:!1});f.current.connection!==e&&(f.current={connection:e,mounted:!0,inFlight:!1}),(0,Q.useEffect)(()=>{let e=f.current;return e.mounted=!0,l(null),d(null),()=>{e.mounted=!1}},[e]);let p=[...t.flatMap(e=>e.deliveries.filter(e=>e.status===`attention`&&e.attentionAt).map(t=>({task:e,delivery:t,kind:`hosted`}))),...n.flatMap(e=>e.deliveries.filter(e=>e.status===`attention`&&e.attentionAt).map(t=>({task:e,delivery:t,kind:`local`})))];async function m(t){let n=f.current;if(!t.attentionAt||n.inFlight)return;let r=()=>n.mounted&&f.current===n;n.inFlight=!0,l(t.inputId),d(null);try{await W(e,`/v1/ponder/results/retry`,{method:`POST`,body:JSON.stringify({inputId:t.inputId,attentionAt:t.attentionAt,priorTurnId:t.ponderTurnId})})}catch(e){r()&&d(e instanceof Error&&e.message===`hosted_work_model_not_available`?`The selected model is unavailable. Choose an available model, then retry.`:`The discussion could not be started. Refresh and try again.`)}finally{n.inFlight=!1,r()&&l(null)}}return p.length===0?null:(0,$.jsxs)(`section`,{"aria-label":`Saved results needing discussion`,"aria-live":`polite`,children:[p.map(e=>(0,$.jsxs)(`div`,{className:`ponder-desktop-attention`,children:[(0,$.jsxs)(`p`,{children:[`The result from`,` `,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.kind===`hosted`?i(e.task.conversationId):a(e.task),children:e.task.title}),` `,`is saved.`,e.delivery.attentionReason===`model_unavailable`?` The selected model was unavailable.`:e.delivery.attentionReason===`chat_cancelled`?` The discussion was cancelled.`:` The discussion failed.`]}),e.delivery.outputs.map(t=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.kind===`local`?o({...e.task,turnId:e.delivery.localTurnId},t.id):s(t.id),children:[t.title,` · Download`]},t.id)),(0,$.jsx)(`button`,{type:`button`,disabled:r||c!==null,onClick:()=>void m(e.delivery),children:c===e.delivery.inputId?`Starting discussion…`:`Retry discussion`})]},e.delivery.inputId)),u?(0,$.jsx)(Y,{error:u}):null]})}function Cm({message:e,connection:t,work:n,onOpenWork:r,onOpenOutput:i,onOpenLocalWork:a,onOpenLocalOutput:o,agentSources:s}){if(e.source===`ponder-recommendation`)return null;let c=e.metadata.ponderMessage,l=Ge.safeParse(e.metadata.ponderLocalMessage),u=l.success?l.data:null;if(!c&&!u&&e.role!==`user`&&e.role!==`assistant`)return null;let d=u?.body??c?.body??e.text;return!c&&!u&&e.role===`assistant`&&!d.trim()?null:(0,$.jsxs)(`div`,{className:`ponder-transcript-message ${u||c?`task-handoff`:``}`,"data-chat-user-message":e.role===`user`&&!u&&!c?`true`:void 0,children:[(0,$.jsx)(Rc,{showFooter:!1,connection:t,conversationLinks:n,onOpenSession:r,message:{id:e.id,role:u||c||e.role===`user`?`user`:`assistant`,content:d,timestamp:e.createdAt}}),u?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,children:[(0,$.jsx)(Yo,{timestamp:e.createdAt}),(0,$.jsxs)(`span`,{children:[u.direction===`sent`?`Sent to`:`Received from`,` `]}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>a(u),children:u.title}),(0,$.jsxs)(`span`,{children:[` `,`· Local task ·`,` `,u.status===`resolved`?`Delivered`:u.status===`included`?`Included in agent request`:u.status.replaceAll(`_`,` `)]})]}):null,c?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,children:[(0,$.jsx)(Yo,{timestamp:e.createdAt}),(0,$.jsxs)(`span`,{children:[c.direction===`sent`?`Sent to`:`Received from`,` `]}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>r(c.conversationId),children:c.title}),(0,$.jsxs)(`span`,{children:[` `,`·`,` `,c.status===`consumed`?`Delivered`:c.status.replaceAll(`_`,` `)]})]}):null,s,!u&&!c&&e.role===`assistant`?(0,$.jsx)(Jo,{content:d,timestamp:e.createdAt,kvCacheSummary:e.metadata.kvCacheSummary}):null,c?.outputFileIds.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),children:n.flatMap(e=>e.deliveries.flatMap(e=>e.outputs)).find(t=>t.id===e)?.title??`Saved file`},e)),u?.outputs.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>o(u,e.id),children:[e.title,` · Download`]},e.id))]})}function wm(e){let t=e.deliveries[0]?.outcome;if(t===`completed`)return`Completed`;if(t===`failed`)return`Failed`;if(t===`cancelled`)return`Stopped`;switch(e.status){case`ready`:return`Waiting to start on desktop`;case`dispatching`:return`Starting on desktop`;case`admitted`:return`Waiting for result`;case`completed`:return`Completed`;case`failed`:return`Failed to start`;case`cancelled`:return`Stopped`;case`expired`:return`Couldn’t start before the request expired`;case`attention`:return`Needs attention`;default:return`Checking task status`}}function Tm({items:e,workflow:t,sessions:n,onOpenTask:r}){let i=t?new Set([t.prerequisite.sessionId,t.successor.sessionId,t.workflow?.preparationSessionId]):null,a=[...new Map([...e].reverse().filter(e=>e.sessionId&&(!i||i.has(e.sessionId))).map(e=>[e.sessionId,e])).values()].reverse();if(!a.length)return null;let o=new Map(n.map(e=>[e.id,e]));return(0,$.jsxs)(`div`,{className:`assistant-sources ponder-agent-sources`,"aria-label":`Conversations started`,children:[(0,$.jsx)(`h3`,{children:`Conversations started`}),(0,$.jsx)(`div`,{className:`assistant-source-stack`,children:a.map(e=>{let t=o.get(e.sessionId);return(0,$.jsxs)(`button`,{type:`button`,className:`assistant-source-pill`,title:`${e.title} · ${wm(e)}`,"aria-label":`Open ${e.title}`,onClick:()=>r(e),children:[t?(0,$.jsx)(Gn,{session:t}):(0,$.jsx)(Fr,{size:14,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:e.title})]},e.sessionId)})})]})}async function Em(e,t,n,r){if(!t.turnId)throw Error(`This local result has no completed task turn.`);if(await Zo(e,t),!r())return;let i=await W(e,`/v1/ponder/desktop/outputs`,{method:`POST`,body:JSON.stringify({operationId:t.operationId,turnId:t.turnId,outputId:n})});if(!r())return;let a=Uint8Array.from(atob(i.contentsBase64),e=>e.charCodeAt(0)),o=URL.createObjectURL(new Blob([a],{type:i.contentType})),s=document.createElement(`a`);s.href=o,s.download=i.filename,document.body.append(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(o),3e4)}function Dm(e){if(e instanceof G&&(e.message===`public_api_route_not_found`||e.message===`product_route_not_found`))return`Ponder Pal is available in this app, but the connected OpenPond service has not been updated yet.`;let t=e instanceof Error?e.message:String(e);return/<(?:!doctype|html|head|body)\b/i.test(t)||/\b50[234]\b/.test(t)?`Ponder Pal is temporarily unavailable. Please try again.`:t.length>240?`Ponder Pal couldn’t complete this action. Please try again.`:t}function Om({connection:e,accountScopeKey:t,localSessions:n,composer:r,onOpenWork:i,onOpenLocalWork:a}){let[o,s]=(0,Q.useState)(null),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(0),[v,y]=(0,Q.useState)(null);fn(v?Dm(v):null);let b=Yn(e,!!o,t,!1),x=b.data?.items??[],S=b.data?.localItems??[],C=b.data?.localHandoffs??[],w=xm(e,o?.bindingId??null);fn(w.error?Dm(w.error):null),fn(c?.activeTurn?.status===`failed`?Dm(c.activeTurn.errorText??`Ponder couldn’t complete this request. Please try again.`):null);let[T,E]=(0,Q.useState)(null),D=T?w.items.find(e=>e.id===T.id):null,O=!(!T||D&&D.state===`proposed`&&D.revision===T.revision&&!ym(D)),k=(0,Q.useRef)(``),A=(0,Q.useRef)({connection:e,bindingId:o?.bindingId,destination:T?.id??`chat`,draft:u});A.current={connection:e,bindingId:o?.bindingId,destination:T?.id??`chat`,draft:u};let j=(0,Q.useRef)(!1),M=(0,Q.useRef)(!0);function N(){E(null),d(k.current)}function P(e){T||(k.current=u),E(e),d(e.proposedText??``)}async function F(e,t){let n=A.current,r=T?.id===e.id;await w.action(e,t,t===`send`?r?u:e.proposedText??void 0:void 0)&&r&&A.current.connection===n.connection&&A.current.bindingId===n.bindingId&&A.current.destination===n.destination&&(A.current.draft===n.draft?N():E(null))}(0,Q.useEffect)(()=>{M.current=!0;let t=!0;return s(null),l(null),y(null),d(``),k.current=``,h(!1),p(``),E(null),W(e,`/v1/ponder`,{method:`POST`,body:`{}`}).then(e=>{t&&(s(e),y(null))}).catch(e=>{t&&y(Dm(e))}),()=>{t=!1,M.current=!1}},[e]),(0,Q.useEffect)(()=>{if(!o)return;let t=!0,n=!1,r=async()=>{if(!n){n=!0;try{let n=await W(e,`/v1/ponder/conversations/${encodeURIComponent(o.conversationId)}`);t&&l(n)}catch(e){t&&y(Dm(e))}finally{n=!1}}};r();let i=window.setInterval(()=>void r(),3e3);return()=>{t=!1,window.clearInterval(i)}},[e,o]),(0,Q.useEffect)(()=>{b.error&&y(Dm(b.error))},[b.error]);async function I(t){let n=t.contentsBase64?Uint8Array.from(atob(t.contentsBase64),e=>e.charCodeAt(0)):t.text===void 0?null:new TextEncoder().encode(t.text);if(!n)throw Error(`Attachment ${t.name} has no content to upload.`);let r=await crypto.subtle.digest(`SHA-256`,n),i=btoa(String.fromCharCode(...new Uint8Array(r))),a=await W(e,`/v1/ponder/work-inputs`,{method:`POST`,body:JSON.stringify({name:t.name,contentType:t.mediaType,sizeBytes:n.byteLength,sha256Base64:i})}),o=await fetch(a.upload.url,{method:a.upload.method,headers:a.upload.headers,body:new Blob([n],{type:t.mediaType})});if(!o.ok)throw Error(`Attachment upload failed (${o.status})`);return W(e,`/v1/ponder/work-inputs/${encodeURIComponent(a.input.id)}/finalize`,{method:`POST`,body:`{}`})}async function ee(t=[],n){let r=(n?.promptOverride??u).trim();if(!o||!r||j.current)return!1;let i=A.current,a=()=>M.current&&A.current.connection===i.connection&&A.current.bindingId===i.bindingId&&A.current.destination===i.destination;j.current=!0,h(!0);try{if(T){if(O)throw Error(`Review the latest task state before sending this proposed message.`);if(t.length)throw Error(`Send task messages as text. Attachments can be sent in the task's own conversation.`);let e=await w.action(T,`send`,r);return a()?(e&&A.current.draft===i.draft&&N(),e):!1}let n=await Promise.all(t.map(I));if(!a())return!1;let s=await W(e,`/v1/ponder/conversations/${encodeURIComponent(o.conversationId)}/turns`,{method:`POST`,headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:r,attachments:n})});return a()?(l(e=>e?{...e,activeTurn:s}:{id:o.conversationId,messages:[],activeTurn:s}),_(e=>e+1),A.current.draft===i.draft&&d(``),y(null),!0):!1}catch(e){return a()&&y(Dm(e)),!1}finally{j.current=!1,h(!1)}}async function te(t,n){if(t.wait)try{await W(e,`/v1/ponder/turns/${encodeURIComponent(t.id)}/waits/${encodeURIComponent(t.wait.id)}/resolve`,{method:`POST`,body:JSON.stringify(n)}),p(``)}catch(e){y(Dm(e))}}async function L(t){try{await W(e,`/v1/ponder/turns/${encodeURIComponent(t.id)}/cancel`,{method:`POST`,body:`{}`})}catch(e){y(Dm(e))}}async function R(t){let n=window.open(`about:blank`,`_blank`);try{let r=await W(e,`/v1/ponder/work-outputs/${encodeURIComponent(t)}`);if(!r.downloadURL)throw Error(`This output is not available for download.`);n?n.location.replace(r.downloadURL):window.location.assign(r.downloadURL)}catch(e){n?.close(),y(Dm(e))}}async function z(t){if(!t.sessionId)return;let n=A.current,r=()=>M.current&&A.current.connection===n.connection&&A.current.bindingId===n.bindingId;try{if(await Zo(e,t),!r())return;a(t.sessionId)}catch(e){r()&&y(Dm(e))}}async function ne(t,n){let r=A.current,i=()=>M.current&&A.current.connection===r.connection&&A.current.bindingId===r.bindingId;try{await Em(e,t,n,i)}catch(e){i()&&y(Dm(e))}}let re=!!(c?.activeTurn&&[`queued`,`running`,`retry_scheduled`].includes(c.activeTurn.status)),ie=!!(c?.activeTurn&&[`queued`,`running`,`retry_scheduled`,`waiting_approval`,`waiting_input`].includes(c.activeTurn.status)),ae=c?.messages.reduce((e,t)=>t.role===`assistant`&&!t.metadata.ponderMessage&&!t.metadata.ponderLocalMessage&&t.text.trim()?t.id:e,void 0),oe=(0,$.jsx)(Tm,{items:S,workflow:C[0],sessions:n,onOpenTask:e=>void z(e)}),B=(0,Q.useMemo)(()=>(c?.messages??[]).map(e=>({id:e.id,role:e.role===`user`?`user`:`assistant`,content:e.text,timestamp:e.createdAt})),[c?.messages]),V=vm({browserConversationId:c?.id??null,chatSubmissionVersion:g,chatMessages:B,chatHistoryHasMore:!1,chatHistoryLoading:!1,pendingApproval:null,showChatThread:!0,showThinkingIndicator:re,turnRunning:ie,view:`chat`});return(0,$.jsxs)(`div`,{className:`chat-column`,"aria-label":`Ponder Pal`,style:V.chatColumnStyle,children:[(0,$.jsxs)(`section`,{className:`chat-thread`,"aria-label":`Conversation`,tabIndex:0,ref:V.chatThreadRef,onScroll:e=>V.handleChatScroll(e.currentTarget),children:[!c&&!v&&(0,$.jsx)(`article`,{className:`activity-group thinking-row`,role:`status`,children:(0,$.jsx)(vo,{running:!0,children:`Loading conversation…`})}),(0,$.jsx)(Sm,{connection:e,work:x,localWork:S,onOpenWork:i,onOpenLocalWork:e=>void z(e),onOpenLocalOutput:(e,t)=>void ne(e,t),onOpenOutput:e=>void R(e),busy:m||ie}),c?.messages.map(t=>(0,$.jsx)(Cm,{message:t,agentSources:t.id===ae?oe:void 0,connection:e,work:x,onOpenWork:i,onOpenOutput:e=>void R(e),onOpenLocalWork:e=>void z(e),onOpenLocalOutput:(e,t)=>void ne(e,t)},t.id)),(0,$.jsx)(bm,{items:w.items,busy:w.busy,editingId:T?.id??null,onEdit:P,onSend:e=>{F(e,`send`)},onDismiss:e=>{F(e,`dismiss`)},onOpen:i}),ae?null:oe,re&&(0,$.jsx)(Yc,{}),c?.activeTurn?.wait&&(0,$.jsxs)(`section`,{className:`ponder-desktop-attention`,children:[(0,$.jsx)(`strong`,{children:c.activeTurn.wait.title}),c.activeTurn.wait.kind===`approval`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>void te(c.activeTurn,{decision:`accepted`}),children:`Approve`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void te(c.activeTurn,{decision:`declined`}),children:`Decline`})]}):c.activeTurn.wait.options.length>0?c.activeTurn.wait.options.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>void te(c.activeTurn,{value:e}),children:e},e)):(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),te(c.activeTurn,{value:f})},children:[(0,$.jsx)(`input`,{"aria-label":`Response to Ponder Pal`,value:f,onChange:e=>p(e.target.value)}),(0,$.jsx)(`button`,{type:`submit`,disabled:!f.trim(),children:`Send response`})]})]}),c?.activeTurn?.outputs?.map(e=>e.downloadURL?(0,$.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,children:e.name},e.id):(0,$.jsx)(`button`,{type:`button`,onClick:()=>void R(e.id),children:e.name},e.id))]}),(0,$.jsxs)(`div`,{className:`composer-stack dock`,ref:V.composerStackRef,children:[V.showScrollToBottomButton&&!V.chatThreadPreparingInitialScroll&&(0,$.jsx)(lm,{canGoNext:V.userMessageNavigation.canGoNext,canGoPrevious:V.userMessageNavigation.canGoPrevious,onJumpToLatest:V.jumpToLatestChatMessage,onNext:()=>V.userMessageNavigation.canGoNext&&V.goToUserMessage(`next`),onPrevious:()=>V.userMessageNavigation.canGoPrevious&&V.goToUserMessage(`previous`)}),T?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,role:`status`,children:[(0,$.jsxs)(`span`,{children:[`Message to `,T.target.title,O?` — review the latest task state before sending`:``]}),(0,$.jsx)(`button`,{type:`button`,onClick:N,children:`Return to Ponder chat`})]}):null,(0,$.jsx)(fp,{...r,experience:`chat`,mode:`dock`,showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:u,onPromptChange:d,busy:m||O||!!w.busy||!o,running:re&&!T,submissionScopeKey:`ponder:${o?.conversationId??`loading`}:${T?.id??`chat`}`,voiceInputChannelKey:`ponder:${o?.conversationId??`loading`}`,onSubmit:(e,t,n,r)=>ee(e,r?.promptOverride?{promptOverride:r.promptOverride}:void 0),onStop:()=>c?.activeTurn?L(c.activeTurn):void 0})]})]})}function km({accountBaseUrl:e,onOpenBrowserLink:t,...n}){function r(r){if(!e)n.composer.showToast(`OpenPond account URL is unavailable for this Work task.`,`error`);else try{t(new URL(`/tasks/${encodeURIComponent(r)}`,e).toString(),{newTab:!0})}catch{n.composer.showToast(`OpenPond account URL is invalid for this Work task.`,`error`)}}return(0,$.jsx)(Om,{...n,onOpenWork:r})}function Am(e){return JSON.stringify({account:e?.account.activeProfile??null,baseUrl:e?.account.baseUrl??null,owner:e?.account.profile?.id??null,state:e?.account.state??null,teamId:e?.preferences.defaultTeamId??null})}function jm({expanded:e,terminalOpen:t,sideChatAvailable:n,onOpenFiles:r,onOpenReview:i,onOpenSideChat:a,onOpenTrainingDraft:o,trainingDraftAvailable:s,onResizeStart:c,onToggleExpanded:l,onToggleTerminal:u}){return(0,$.jsxs)(`aside`,{className:`workspace-diff-panel right-sidebar-home-panel ${e?`expanded`:``}`,"aria-label":`Right sidebar`,children:[e?null:(0,$.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize right sidebar`,onPointerDown:c}),(0,$.jsxs)(`div`,{className:`workspace-diff-topbar right-sidebar-home-topbar`,children:[(0,$.jsx)(`div`,{className:`workspace-diff-tabs`,role:`tablist`,"aria-label":`Right sidebar views`,children:(0,$.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab active`,role:`tab`,"aria-selected":!0,children:[(0,$.jsx)(Zn,{size:14}),(0,$.jsx)(`span`,{children:`Workspace`})]})}),(0,$.jsx)(`div`,{className:`workspace-diff-toolbar-actions`,children:(0,$.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:e?`Dock sidebar`:`Expand sidebar`,"aria-label":e?`Dock sidebar`:`Expand sidebar`,onClick:l,children:e?(0,$.jsx)(At,{size:14}):(0,$.jsx)(nn,{size:14})})})]}),(0,$.jsx)(`div`,{className:`right-sidebar-home-body`,children:(0,$.jsx)(Mm,{terminalOpen:t,sideChatAvailable:n,onOpenFiles:r,onOpenReview:i,onOpenSideChat:a,onOpenTrainingDraft:o,trainingDraftAvailable:s,onToggleTerminal:u})})]})}function Mm({terminalOpen:e,sideChatAvailable:t,onOpenFiles:n,onOpenFile:r,onOpenReview:i,onOpenExperiments:a,onOpenSideChat:o,onOpenTrainingDraft:s,trainingDraftAvailable:c,onToggleTerminal:l}){let u=[{id:`review`,label:`Review`,meta:`Diffs`,icon:wt,onSelect:i},{id:`files`,label:`Files`,meta:`Workspace`,icon:$t,onSelect:n},{id:`side-chat`,label:`Side chat`,meta:`Context`,icon:mr,onSelect:o,disabled:!t},{id:`training-draft`,label:`Task draft`,meta:`Training`,icon:_r,onSelect:s,disabled:!c},{id:`terminal`,label:e?`Hide terminal`:`Terminal`,meta:`Shell`,icon:ln,onSelect:l}];return a&&u.unshift({id:`experiments`,label:`Training`,meta:`Experiments and models`,icon:_r,onSelect:a}),r&&u.splice(a?3:2,0,{id:`open-file`,label:`Open file`,icon:$t,onSelect:r}),(0,$.jsx)(`div`,{className:`right-sidebar-home-actions`,role:`menu`,"aria-label":`Workspace actions`,children:u.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`right-sidebar-home-row`,role:`menuitem`,disabled:e.disabled,onClick:e.onSelect,children:[(0,$.jsx)(e.icon,{size:15}),(0,$.jsx)(`span`,{children:e.label}),e.meta?(0,$.jsx)(`span`,{className:`right-sidebar-home-chip`,children:e.meta}):null]},e.id))})}var Nm=[];function Pm(e){let t=window.openpond?.browser,[n,r]=(0,Q.useState)(()=>({conversationId:e,activeTabId:null,tabs:Nm}));(0,Q.useEffect)(()=>{if(r({conversationId:e,activeTabId:null,tabs:Nm}),!t)return;let n=!1;t.getState({conversationId:e}).then(e=>{n||r(e)});let i=t.onState(t=>{t.conversationId===e&&r(t)});return()=>{n=!0,i()}},[t,e]);let i=(0,Q.useMemo)(()=>n.tabs.find(e=>e.id===n.activeTabId)??null,[n.activeTabId,n.tabs]),a=(0,Q.useCallback)(async(n,r={})=>{if(!t)return!1;let i=wn(n,{explicitFile:r.explicitFile});return i?(r.newTab?await t.newTab({conversationId:e,url:i,explicitFile:r.explicitFile}):await t.open({conversationId:e,url:i,explicitFile:r.explicitFile}),!0):!1},[t,e]),o=i?{conversationId:e,tabId:i.id}:null;return{activeTab:i,available:!!t,bridge:t,state:n,back:()=>t&&o?t.back(o):Promise.resolve({ok:!1}),clearData:()=>t?t.clearData({conversationId:e}):Promise.resolve({ok:!1}),closeTab:n=>t?t.closeTab({conversationId:e,tabId:n}):Promise.resolve({ok:!1}),forward:()=>t&&o?t.forward(o):Promise.resolve({ok:!1}),newTab:n=>t?t.newTab({conversationId:e,url:n}):Promise.resolve({ok:!1}),open:a,openExternal:()=>t&&o?t.openExternal(o):Promise.resolve({ok:!1}),reload:()=>t&&o?t.reload(o):Promise.resolve({ok:!1}),snapshot:(n={})=>t?t.snapshot({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),moveCursor:n=>t?t.moveCursor({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),click:n=>t?t.click({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),typeText:n=>t?t.typeText({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),key:n=>t?t.key({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),scroll:n=>t?t.scroll({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),selectTab:n=>t?t.selectTab({conversationId:e,tabId:n}):Promise.resolve({ok:!1}),setBounds:n=>t?t.setBounds({conversationId:e,bounds:n}):Promise.resolve({ok:!1}),stop:()=>t&&o?t.stop(o):Promise.resolve({ok:!1})}}function Fm({activeTab:e,documentName:t,snapshotActions:n,available:r,onBack:i,onClearData:a,onForward:o,onNavigate:s,onOpenExternal:c,onReload:l,onStop:u}){let[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{f(t??e?.url??``)},[e?.url,t]);function h(e){e.preventDefault(),!t&&s(d)}return(0,$.jsxs)(`div`,{className:`browser-toolbar`,children:[(0,$.jsxs)(`div`,{className:`browser-nav-actions`,children:[(0,$.jsx)(`button`,{type:`button`,title:`Back`,"aria-label":`Back`,disabled:!e?.canGoBack,onClick:i,children:(0,$.jsx)(Qn,{size:15})}),(0,$.jsx)(`button`,{type:`button`,title:`Forward`,"aria-label":`Forward`,disabled:!e?.canGoForward,onClick:o,children:(0,$.jsx)(Ot,{size:15})}),(0,$.jsx)(`button`,{type:`button`,title:e?.loading?`Stop`:`Reload`,"aria-label":e?.loading?`Stop`:`Reload`,disabled:!e,onClick:e?.loading?u:l,children:e?.loading?(0,$.jsx)(cn,{size:13}):(0,$.jsx)(sn,{size:14})})]}),(0,$.jsx)(`form`,{className:`browser-address-form`,onSubmit:h,children:(0,$.jsx)(`input`,{"aria-label":`Browser address`,disabled:!r&&!t,readOnly:!!t,placeholder:`Search or enter address`,spellCheck:!1,value:d,onChange:e=>f(e.target.value)})}),(0,$.jsxs)(`div`,{className:`browser-panel-actions`,children:[n,(0,$.jsx)(`button`,{type:`button`,title:`Open external`,"aria-label":`Open external`,disabled:!e||!!t,onClick:c,children:(0,$.jsx)(Qt,{size:14})}),(0,$.jsxs)(`div`,{className:`browser-menu-anchor`,children:[(0,$.jsx)(`button`,{type:`button`,title:`Browser actions`,"aria-label":`Browser actions`,onClick:()=>m(e=>!e),children:(0,$.jsx)(On,{size:15})}),p&&(0,$.jsx)(`div`,{className:`browser-options-menu`,role:`menu`,children:(0,$.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),a()},children:`Clear Browser Data...`})})]})]})]})}function Im({conversationId:e,onOpenBrowser:t}){let n=Pm(e),r=dn();return(0,$.jsx)(Fm,{activeTab:null,available:n.available,onBack:()=>{},onForward:()=>{},onReload:()=>{},onStop:()=>{},onOpenExternal:()=>{},onClearData:()=>{window.confirm(`Clear browser data for this conversation? Tabs, cookies, cache, and local storage will be removed.`)&&n.clearData()},onNavigate:e=>{n.open(e,{explicitFile:!0}).then(e=>{e&&t()}).catch(e=>r?.(e instanceof Error?e.message:`Could not open browser.`,`error`))}})}var Lm=(0,Q.lazy)(()=>o(()=>import(`./FilePagePreview-CW4J_1u7.js`),__vite__mapDeps([55,1,2,3,6,12,13,5,14,15,16,8,17,4,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,10,35,36,37,38,39,40,11,41,42,43,44,45,46,47,48,49])));function Rm({path:e,connection:t,workspaceId:n,sandboxId:r,revision:i}){let a=(0,Q.useRef)(null),[o,s]=(0,Q.useState)(!1),c=Sr(e),l=Rt(e)||n,u=`${xt(t)}:${l}:${r??``}:${e}`,d=Dt(t,o&&c&&!r?l:null,e);(0,Q.useEffect)(()=>{let e=a.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(s(!0),t.disconnect())});return t.observe(e),()=>t.disconnect()},[]);let p=f({queryKey:[`file-thumbnail`,u,i],enabled:!(!o||!t||c&&!r||!l&&!r),queryFn:()=>r?Vt(t,r,e):Z.workspaceFile(t,l,e),staleTime:i?1/0:15e3,gcTime:6e4}).data,m=c&&r&&p?.contentEncoding===`base64`&&p.content?`data:image/${/\.jpe?g$/i.test(e)?`jpeg`:e.split(`.`).pop()?.toLowerCase()};base64,${p.content}`:null;return(0,$.jsx)(`span`,{ref:a,className:`workspace-file-thumbnail`,children:d||m?(0,$.jsx)(`img`,{alt:``,src:d||m,loading:`lazy`}):p?.content&&(rr(p)||/\.(?:docx|pdf)$/i.test(p.path))?(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(dr,{size:28}),children:(0,$.jsx)(Lm,{file:p})}):p?.content&&p.contentEncoding!==`base64`?(0,$.jsx)(`pre`,{children:p.content.slice(0,1200)}):(0,$.jsx)(dr,{size:28})})}function zm({chatMessages:e,connection:t,contextWindowStatus:n,expanded:r,runtimeEvents:i,sessionId:a,showToast:o,onResizeStart:s,onToggleExpanded:c,onUseOutput:l,onHandoffOutput:u,onReviseOutput:d,onAgentPackageInstalled:f}){let[p,m]=(0,Q.useState)(`outputs`),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)({}),C=(0,Q.useMemo)(()=>Hm(i),[i]),w=(0,Q.useMemo)(()=>Wm(C),[C]),T=(0,Q.useMemo)(()=>Bm(e),[e]),E=(0,Q.useMemo)(()=>Vm(e),[e]),D=(0,Q.useMemo)(()=>Km(e),[e]);(0,Q.useEffect)(()=>()=>{_?.objectUrl&&URL.revokeObjectURL(_.objectUrl)},[_?.objectUrl]);async function O(e){if(!t||!a||e.kind!==`file`)return null;g(Um(e));try{let n=await Z.workspaceTool(t,a,{action:`work_output_read`,source:`ui_button`,args:{outputId:e.id,revision:e.revision}});if(!n.ok)throw Error(n.output);let r=$m(n.data),i=typeof r.contentsBase64==`string`?r.contentsBase64:``;if(!i)throw Error(`The output did not include file data.`);return new File([Xm(i)],e.title,{type:e.contentType})}catch(e){return o(e instanceof Error?e.message:`Could not load the output.`,`error`),null}finally{g(null)}}async function k(e){let t=await O(e);if(!t)return;_?.objectUrl&&URL.revokeObjectURL(_.objectUrl);let n=e.kind===`file`&&(e.contentType.startsWith(`text/`)||e.contentType===`application/json`);b(``),v({output:e,file:t,text:n?await t.text():null,objectUrl:n?null:URL.createObjectURL(t)})}async function A(e){let t=await O(e);t&&(l(t),o(`Added the output to the task as input.`,`success`))}async function j(e,t){let n=t.kind===`file`?await O(t):null;(t.kind!==`file`||n)&&await u(e,t,n)}async function M(e){if(t&&a&&window.confirm(`Delete ${e.title} revision ${e.revision} from this device?`)){g(Um(e));try{let n=await Z.workspaceTool(t,a,{action:`work_output_delete`,source:`ui_button`,args:{outputId:e.id,revision:e.revision}});if(!n.ok)throw Error(n.output);_?.output.id===e.id&&v(null),o(`Work output deleted.`,`success`)}catch(e){o(e instanceof Error?e.message:`Could not delete the output.`,`error`)}finally{g(null)}}}async function N(e){if(!t||!a||!window.confirm(`Add ${e.title} version ${e.versionId} to your active Agents profile?`))return;let n=async n=>Z.workspaceTool(t,a,{action:`work_agent_package_install`,source:`ui_button`,args:{outputId:e.id,revision:e.revision,overwrite:n}});g(Um(e));try{let t;try{t=await n(!1)}catch(r){if(!(r instanceof Error?r.message:`Agent installation failed.`).includes(`already exists`)||!window.confirm(`${e.agentId} already exists. Replace its active checkout with this immutable version?`))throw r;t=await n(!0)}if(!t.ok)throw Error(t.output);await f?.(),o(`${e.title} was added to Agents. Its package remains available in this Work task.`,`success`)}catch(e){o(e instanceof Error?e.message:`Could not add the Agent package.`,`error`)}finally{g(null)}}return(0,$.jsxs)(`aside`,{className:`workspace-diff-panel work-sidebar-panel ${r?`expanded`:``}`,"aria-label":`Thread details`,children:[r?null:(0,$.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize Thread details`,onPointerDown:s}),(0,$.jsxs)(`div`,{className:`workspace-diff-topbar`,children:[(0,$.jsx)(`div`,{className:`workspace-diff-tabs`,role:`tablist`,"aria-label":`Thread details`,children:[[`outputs`,`Outputs`],[`activity`,`Activity`],[`context`,`Context`]].map(([e,t])=>(0,$.jsx)(`button`,{type:`button`,className:`workspace-diff-tab ${p===e?`active`:``}`,role:`tab`,"aria-selected":p===e,onClick:()=>m(e),children:t},e))}),(0,$.jsx)(`div`,{className:`workspace-diff-toolbar-actions`,children:(0,$.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:r?`Dock sidebar`:`Expand sidebar`,"aria-label":r?`Dock sidebar`:`Expand sidebar`,onClick:c,children:r?(0,$.jsx)(At,{size:14}):(0,$.jsx)(nn,{size:14})})})]}),(0,$.jsxs)(`div`,{className:`work-sidebar-body`,children:[p===`outputs`?_?(0,$.jsxs)(`div`,{className:`work-output-preview`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>{_.objectUrl&&URL.revokeObjectURL(_.objectUrl),v(null)},children:`Outputs`}),(0,$.jsxs)(`strong`,{children:[_.output.title,` · revision `,_.output.revision]})]}),_.text===null?_.output.kind===`file`&&_.output.contentType.startsWith(`image/`)&&_.objectUrl?(0,$.jsx)(`img`,{src:_.objectUrl,alt:_.output.title}):_.output.kind===`file`&&_.output.contentType===`application/pdf`&&_.objectUrl?(0,$.jsx)(`iframe`,{src:_.objectUrl,title:_.output.title}):_.output.kind===`file`&&_.output.contentType.startsWith(`audio/`)&&_.objectUrl?(0,$.jsx)(`audio`,{controls:!0,src:_.objectUrl}):_.output.kind===`file`&&_.output.contentType.startsWith(`video/`)&&_.objectUrl?(0,$.jsx)(`video`,{controls:!0,src:_.objectUrl}):(0,$.jsx)(`p`,{children:`This file type uses its native application for detailed review.`}):(0,$.jsx)(Gt,{content:_.text}),(0,$.jsxs)(`section`,{className:`work-output-annotation`,children:[(0,$.jsx)(`label`,{htmlFor:`work-output-revision-note`,children:`Revision note`}),(0,$.jsx)(`textarea`,{id:`work-output-revision-note`,value:y,onChange:e=>b(e.target.value),placeholder:`Describe the exact change to make in the next revision.`}),(0,$.jsx)(`button`,{type:`button`,disabled:!y.trim(),onClick:()=>{d(_.output,_.file,y.trim()),o(`Prepared revision ${_.output.revision+1}.`,`success`)},children:`Revise this version`})]})]}):w.length>0?(0,$.jsx)(`div`,{className:`work-output-list`,children:w.map(e=>{let t=e.revisions.find(t=>t.revision===x[e.id])??e.revisions[0];return(0,$.jsxs)(`article`,{className:`work-output-card`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(dr,{size:16}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.title}),e.revisions.length>1?(0,$.jsxs)(`label`,{className:`work-output-version`,children:[(0,$.jsx)(`span`,{children:`Version`}),(0,$.jsx)(`select`,{value:t.revision,onChange:t=>S(n=>({...n,[e.id]:Number(t.target.value)})),children:e.revisions.map(e=>(0,$.jsxs)(`option`,{value:e.revision,children:[`Revision `,e.revision]},Um(e)))})]}):(0,$.jsxs)(`small`,{children:[`Revision `,t.revision]}),(0,$.jsx)(`small`,{children:Jm(t)})]})]}),t.validation.length>0?(0,$.jsxs)(`div`,{className:`work-output-validation`,children:[(0,$.jsx)(Er,{size:13}),(0,$.jsxs)(`span`,{children:[t.validation.filter(e=>e.status===`passed`).length,` `,`checks passed`]})]}):null,(0,$.jsxs)(`div`,{className:`work-output-actions`,children:[t.kind===`file`&&t.location.kind===`local`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void Ft(Zm(t)),children:[(0,$.jsx)($t,{size:13}),`Reveal`]}),(0,$.jsx)(`button`,{type:`button`,onClick:async()=>{let e=await Tt(Zm(t),t.title);e.ok?o(`Saved a copy of the Work output.`,`success`):e.canceled||o(`Could not save a copy of the Work output.`,`error`)},children:`Save as`})]}):null,t.kind===`file`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,disabled:h===Um(t),onClick:()=>void k(t),children:`Preview`}),(0,$.jsxs)(`button`,{type:`button`,disabled:h===Um(t),onClick:()=>void A(t),children:[(0,$.jsx)(rn,{size:13}),`Use as input`]})]}):t.kind===`agent_package`?(0,$.jsx)(`button`,{type:`button`,disabled:h===Um(t),onClick:()=>void N(t),children:`Add to Agents`}):`url`in t&&t.url?(0,$.jsx)(`button`,{type:`button`,onClick:()=>window.open(t.url,`_blank`,`noopener,noreferrer`),children:`Open`}):null,t.kind===`file`&&t.location.kind===`local`?(0,$.jsxs)(`button`,{type:`button`,className:`danger`,disabled:h===Um(t),onClick:()=>void M(t),children:[(0,$.jsx)(K,{size:13}),`Delete`]}):null,(0,$.jsx)(`button`,{type:`button`,disabled:h===Um(t),onClick:()=>void j(`work`,t),children:`Continue in new thread`})]})]},e.id)})}):E.length>0?(0,$.jsx)(`div`,{className:`work-output-list`,children:E.map(e=>(0,$.jsxs)(`article`,{className:`work-output-card`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(dr,{size:16}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`small`,{children:Ym(e.sizeBytes)})]})]}),(0,$.jsx)(`div`,{className:`work-output-actions`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void Ft(e.path),children:[(0,$.jsx)($t,{size:13}),`Reveal`]})})]},e.path))}):(0,$.jsx)(qm,{icon:dr,title:`No saved outputs yet`,detail:`Finished files and connected results will appear here.`}):null,p===`activity`?T.length>0?(0,$.jsx)(`div`,{className:`work-activity-list`,children:T.map(e=>(0,$.jsxs)(`details`,{className:`work-activity-row ${e.state??``}`,children:[(0,$.jsxs)(`summary`,{children:[(0,$.jsx)(Nn,{size:14}),(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`small`,{children:e.state??`completed`})]}),(0,$.jsx)(`p`,{children:e.content}),e.detail?(0,$.jsx)(`pre`,{children:e.detail}):null]},e.id))}):(0,$.jsx)(qm,{icon:Nn,title:`No activity yet`,detail:`Commands, tool receipts, and checks appear while the thread runs.`}):null,p===`context`?(0,$.jsxs)(`div`,{className:`work-context`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{children:`Model context`}),(0,$.jsx)(`p`,{children:n.summary}),(0,$.jsx)(`small`,{children:n.tokensLabel})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{children:`Task inputs and sources`}),D.length>0?(0,$.jsx)(`ul`,{children:D.map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(rn,{size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`small`,{children:e.detail})]})]},e.key))}):(0,$.jsx)(`p`,{children:`No attached files or cited sources yet.`})]})]}):null]})]})}function Bm(e){return e.flatMap(e=>e.activities??[]).filter(e=>e.kind!==`reasoning`).reverse()}function Vm(e){let t=new Map;for(let n of e)for(let e of n.activities??[])for(let n of e.artifacts??[])n.path&&n.sizeBytes!==null&&(t.delete(n.path),t.set(n.path,{path:n.path,title:n.title,sizeBytes:n.sizeBytes}));return[...t.values()].reverse()}function Hm(e){let t=new Map,n=new Set;for(let r of e){let e=Gm(r.data);if(r.action===`work_output_delete`&&r.status===`completed`)for(let r of e){let e=Um(r);n.add(e),t.delete(e)}else if(r.action!==`work_output_read`)for(let r of e){let e=Um(r);n.has(e)||t.set(e,r)}}return[...t.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)||t.revision-e.revision)}function Um(e){return`${e.id}:${e.revision}`}function Wm(e){let t=new Map;for(let n of e){let e=t.get(n.id)??[];e.push(n),t.set(n.id,e)}return[...t.entries()].map(([e,t])=>({id:e,revisions:t.sort((e,t)=>t.revision-e.revision||t.createdAt.localeCompare(e.createdAt))})).sort((e,t)=>t.revisions[0].createdAt.localeCompare(e.revisions[0].createdAt))}function Gm(e,t=[],n=new Set,r=0){if(r>8||e==null)return t;let i=xe.safeParse(e);if(i.success){let e=`${i.data.id}:${i.data.revision}`;return n.has(e)||(n.add(e),t.push(i.data)),t}if(Array.isArray(e)){for(let i of e)Gm(i,t,n,r+1);return t}if(typeof e==`object`)for(let i of Object.values(e))Gm(i,t,n,r+1);return t}function Km(e){let t=new Map;for(let n of e){for(let e of n.attachments??[])t.set(`attachment:${e.id}`,{key:`attachment:${e.id}`,title:e.name,detail:`${e.mediaType} · ${Ym(e.sizeBytes)}`});for(let e of n.sources??[])t.set(`source:${e.id}`,{key:`source:${e.id}`,title:e.title,detail:e.sourceName??Qm(e.url)})}return[...t.values()]}function qm({icon:e,title:t,detail:n}){return(0,$.jsxs)(`div`,{className:`work-sidebar-empty`,children:[(0,$.jsx)(e,{size:22}),(0,$.jsx)(`strong`,{children:t}),(0,$.jsx)(`p`,{children:n})]})}function Jm(e){return e.kind===`deployment`?`Deployment`:e.kind===`source_change`?`Source change`:e.kind===`external_resource`?e.provider:e.kind===`agent_package`?`${e.actions.length} action${e.actions.length===1?``:`s`}`:e.location.kind===`local`?Ym(e.sizeBytes):e.location.kind===`managed`?`Managed file`:e.location.provider}function Ym(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1048576).toFixed(1)} MB`}function Xm(e){let t=window.atob(e),n=new ArrayBuffer(t.length),r=new Uint8Array(n);for(let e=0;e<t.length;e+=1)r[e]=t.charCodeAt(e);return n}function Zm(e){return e.kind===`file`&&e.location.kind===`local`?e.location.path:``}function Qm(e){try{return new URL(e).hostname||e}catch{return e}}function $m(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function eh({messages:e,events:t,actions:n,onOpenFile:r,connection:i,workspaceId:a,sandboxId:o,sessionId:s,conversationId:c,onOpenBrowser:l}){let u=(0,Q.useContext)(ko),d=xt(i),p=t.filter(e=>e.name===`visual.published`||e.name===`workspace_action_result`||e.name===`tool.completed`||e.name===`turn.completed`).at(-1)?.id??``,m=f({queryKey:[`thread-html-visuals`,d,s,p],enabled:!!(i&&s),queryFn:async()=>Fn.array().parse((await W(i,`/v1/sessions/${encodeURIComponent(s)}/visuals`)).visuals),staleTime:15e3,refetchInterval:5e3}),h=(0,Q.useMemo)(()=>{let t=new Map;for(let e of m.data??[])t.set(e.visualId,e);for(let n of e)if(n.visual){let e=t.get(n.visual.visualId);(!e||e.output.revision<n.visual.output.revision)&&t.set(n.visual.visualId,n.visual)}return[...t.values()]},[e,m.data]),g=(0,Q.useMemo)(()=>Hm(t),[t]),_=f({queryKey:[`thread-output-files`,d,s,p],placeholderData:(e,t)=>t?.queryKey[1]===d&&t.queryKey[2]===s?e:void 0,enabled:!!(i&&s),queryFn:async()=>(await Z.sessionFiles(i,s)).files,staleTime:15e3,refetchOnWindowFocus:!0,refetchInterval:5e3}),v=(0,Q.useMemo)(()=>{if(_.data)return _.data;let t=new Map(Vm(e).map(e=>[`${o??`local`}:${e.path}`,{...e,contentType:`application/octet-stream`,sandboxId:o??null}])),n=new Set;for(let e of g)n.has(e.id)||(n.add(e.id),e.kind===`file`&&e.location.kind===`local`&&t.set(`local:${e.location.path}`,{path:e.location.path,title:e.title,sizeBytes:e.sizeBytes,contentType:e.contentType,sandboxId:null}));return[...t.values()]},[e,g,o,_.data]);return(0,$.jsxs)(`div`,{className:`right-sidebar-new-tab`,children:[(0,$.jsx)(Im,{conversationId:c,onOpenBrowser:l}),(0,$.jsxs)(`div`,{className:`right-sidebar-overview`,children:[(0,$.jsxs)(`section`,{className:`right-sidebar-overview-files`,"aria-label":`Outputs`,children:[(0,$.jsx)(`h3`,{children:`Outputs`}),v.length||h.length?(0,$.jsxs)($.Fragment,{children:[h.map(e=>(0,$.jsxs)(`div`,{className:`activity-artifact`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`activity-artifact-name`,onClick:()=>u?.(e),"aria-label":`Open ${e.output.title} in browser panel`,children:[(0,$.jsx)(Kt,{size:14,"aria-hidden":!0}),(0,$.jsx)(`strong`,{children:e.output.title})]}),(0,$.jsxs)(`span`,{className:`activity-artifact-actions`,children:[`HTML`,e.output.revision>1?` · Revision ${e.output.revision}`:``]})]},e.publicationId)),v.map(e=>(0,$.jsx)(Gs,{artifact:e,onOpenFileInSidebar:t=>r(t,{sandboxId:e.sandboxId,local:!e.sandboxId}),preview:(0,$.jsx)(Rm,{revision:e.revision,path:e.path,connection:i,workspaceId:a,sandboxId:e.sandboxId})},`${e.sandboxId??`local`}:${e.path}`))]}):(0,$.jsx)(`p`,{className:`right-sidebar-output-empty`,children:`Outputs from this chat will appear here.`})]}),(0,$.jsxs)(`section`,{className:`right-sidebar-overview-tools`,"aria-label":`Tools`,children:[(0,$.jsx)(`h3`,{children:`Tools`}),n]})]})]})}function th({input:e,id:t}){let n=typeof e.prompt==`string`?e.prompt:typeof e.request==`string`?e.request:null,r=Object.fromEntries(Object.entries(e).filter(([e])=>e!==`prompt`&&e!==`request`)),i=Object.keys(r).length>0;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{tabIndex:0,"aria-label":`Input for ${t}`,children:i?JSON.stringify(r,null,2):n??JSON.stringify(e,null,2)}),i&&n?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Full prompt`}),(0,$.jsx)(`pre`,{children:n})]}):null]})}function nh({connection:e,dataset:t}){let[n,r]=(0,Q.useState)(0),i=f({queryKey:[`training-dataset-rows`,xt(e),zl(t),t.revision],staleTime:6e4,queryFn:async({signal:n})=>{let r=await X(e,`dataset`,{action:`read`,id:t.id,expectedRevision:t.revision},n);if(zl(r.summary)!==zl(t)||r.summary.revision!==t.revision)throw Error(`Dataset rows do not match the selected revision.`);return r}}),a=i.data?.record.workspace.draft.tasks??[],o=Math.max(1,Math.ceil(a.length/5)),s=Math.min(n,o-1);return(0,$.jsxs)(`section`,{className:`dataset-row-preview`,"aria-label":`Examples from ${t.name}, revision ${t.revision}`,children:[(0,$.jsx)(Y,{error:i.error?.message,children:i.error?(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void i.refetch(),children:`Retry rows`}):null}),(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Input`}),(0,$.jsx)(`th`,{children:`Split`})]})}),(0,$.jsx)(`tbody`,{children:a.slice(s*5,s*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.id}),(0,$.jsxs)(`td`,{children:[(0,$.jsx)(th,{input:e.input,id:e.id}),e.expectedOutput?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Expected output`}),(0,$.jsx)(`pre`,{children:JSON.stringify(e.expectedOutput,null,2)})]}):null]}),(0,$.jsx)(`td`,{children:e.split})]},e.id))})]})}),i.isPending?(0,$.jsx)(`p`,{role:`status`,children:`Loading examples…`}):!a.length&&!i.error?(0,$.jsx)(`p`,{children:`No saved examples.`}):null,o>1?(0,$.jsxs)(`div`,{className:`training-rollout-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:!s,onClick:()=>r(s-1),children:`Previous`}),(0,$.jsxs)(`span`,{children:[s*5+1,`–`,Math.min(a.length,(s+1)*5),` of `,a.length]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:s+1===o,onClick:()=>r(s+1),children:`Next`})]}):null]})}function rh({title:e,children:t,open:n=!1,onOpenChange:r}){return(0,$.jsxs)(`details`,{className:`training-workspace-section`,open:n,onToggle:e=>r?.(e.currentTarget.open),children:[(0,$.jsx)(`summary`,{children:e}),(0,$.jsx)(`div`,{className:`training-workspace-section-content`,children:t})]})}function ih({dataset:e,graders:t,model:n,connection:r}){let[i,a]=(0,Q.useState)(!1),o=n?[{role:`Training`,dataset:n.trainingDataset},{role:`Evaluation`,dataset:n.evaluationDataset}].filter(e=>e.dataset):[];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(rh,{title:`Dataset`,open:i,onOpenChange:a,children:[(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[n?(0,$.jsx)(`th`,{children:`Use`}):null,(0,$.jsx)(`th`,{children:`Dataset`}),(0,$.jsx)(`th`,{children:`Revision`}),n?null:(0,$.jsx)(`th`,{children:`Examples`})]})}),(0,$.jsx)(`tbody`,{children:n?o.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.role}),(0,$.jsx)(`td`,{children:e.dataset.name}),(0,$.jsx)(`td`,{children:e.dataset.revision})]},e.role)):e?(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.name}),(0,$.jsx)(`td`,{children:e.revision}),(0,$.jsx)(`td`,{children:e.taskCount??`—`})]}):null})]})}),i&&e&&r&&!n?(0,$.jsx)(nh,{connection:r,dataset:e},`${e.id}:${e.revision}`):null,n?(0,$.jsx)(`p`,{className:`chat-context-note`,children:`Model configuration. Each training run retains its own input snapshot.`}):null,!e&&!o.length?(0,$.jsx)(`p`,{children:`No dataset configured.`}):null]}),(0,$.jsx)(rh,{title:`Graders`,children:t.length?(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Grader`}),(0,$.jsx)(`th`,{children:`Type`}),(0,$.jsx)(`th`,{children:`Checks`})]})}),(0,$.jsx)(`tbody`,{children:t.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.name}),(0,$.jsx)(`td`,{children:e.graderType??`—`}),(0,$.jsx)(`td`,{children:e.checkState??e.state})]},e.id))})]})}):(0,$.jsx)(`p`,{children:n?`Inspect the model’s training dataset for its grader definitions.`:`No graders configured for this dataset revision.`})})]})}var ah=e(Un(),1),oh=e(xr(),1);ah.default.extend(oh.default);var sh=e=>(0,ah.default)(e).isValid()?(0,ah.default)(e).fromNow():`Unknown time`;function ch({status:e,iconOnly:t=!1}){let n=e.toLowerCase(),r=[`completed`,`passed`,`ready`,`published`,`scored`].includes(n),i=[`failed`,`error`,`rejected`].includes(n),a=[`queued`,`running`,`cancelling`,`checking`,`pending`].includes(n),o=r?wr:i?un:a?tn:da;return(0,$.jsxs)(`span`,{title:e.replaceAll(`_`,` `),"aria-label":e.replaceAll(`_`,` `),className:`evaluation-status evaluation-status-${r?`success`:i?`error`:a?`progress`:`neutral`}`,children:[(0,$.jsx)(o,{size:13,"aria-hidden":`true`}),t?null:e.replaceAll(`_`,` `)]})}function lh({name:e,onOpen:t}){let n=R(se(e));return t?(0,$.jsx)(`button`,{type:`button`,title:n,className:`evaluation-model`,onClick:e=>{e.stopPropagation(),t()},children:n}):(0,$.jsx)(`span`,{title:n,className:`evaluation-model`,children:n})}function uh({value:e}){let t=(0,Q.useRef)(null),n=(0,Q.useId)(),[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),l=r||a;(0,Q.useEffect)(()=>{if(!l)return;let e=()=>{let e=t.current?.getBoundingClientRect();if(!e)return;let n=Math.min(360,window.innerWidth-24);c({left:Math.max(12,Math.min(e.left,window.innerWidth-n-12)),top:window.innerHeight-e.bottom<80?Math.max(12,e.top-72):e.bottom+8})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[l]);let u=e?(0,ah.default)(e):null;if(!u?.isValid())return(0,$.jsx)(`span`,{children:`Unknown`});let d=`${u.format(`MMM D, YYYY h:mm:ss A Z`)} (${Intl.DateTimeFormat().resolvedOptions().timeZone})`;return(0,$.jsxs)(`span`,{ref:t,className:`evaluation-time`,tabIndex:0,"aria-label":d,"aria-describedby":l?n:void 0,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onFocus:()=>o(!0),onBlur:()=>o(!1),onKeyDown:e=>{e.key===`Escape`&&(i(!1),o(!1))},children:[(0,$.jsx)(`time`,{dateTime:u.toISOString(),children:u.fromNow()}),l&&s?(0,Ws.createPortal)((0,$.jsx)(`span`,{id:n,className:`evaluation-time-tooltip`,role:`tooltip`,style:s,children:d}),document.body):null]})}function dh({title:e,children:t}){return(0,$.jsxs)(`section`,{className:`evaluation-card`,children:[(0,$.jsx)(`h3`,{children:e}),t]})}var fh=new Map([[`Grade`,`Rollouts`],[`Save checkpoint`,`Update adapter`]]);function ph({nodes:e,live:t,loopLabel:n=`Training groups`,inference:r,groupLabel:i,policyLabel:a}){let o=e.filter(t=>!fh.has(t.label)||!e.some(e=>e.label===fh.get(t.label))),s=o.filter(e=>!e.inLoop&&o.indexOf(e)<o.findIndex(e=>e.inLoop)),c=o.filter(e=>e.inLoop),l=o.filter(e=>!e.inLoop&&!s.includes(e)),u=t&&e.some(e=>e.inLoop&&e.state===`active`),d=n=>{let i=e.find(e=>fh.get(e.label)===n.label);return(0,$.jsxs)(`li`,{className:`sidebar-run-cluster ${i?`has-branch`:``}`,children:[i?(0,$.jsxs)(`div`,{className:`sidebar-run-branch`,children:[(0,$.jsx)(mh,{node:{...i,compute:`cpu`},live:t}),(0,$.jsx)(Qi,{className:`sidebar-run-branch-arrow`,size:14,"aria-hidden":!0})]}):null,(0,$.jsx)(mh,{node:n,live:t}),n.label===`Prepare`&&r?(0,$.jsxs)(`div`,{className:`sidebar-run-worker`,children:[(0,$.jsx)(Qi,{size:14,"aria-hidden":!0}),(0,$.jsx)(mh,{node:{...r,compute:`gpu`},live:t})]}):null]},n.label)};return(0,$.jsxs)(`div`,{className:`run-flow sidebar-run-flow ${t?`live`:``}`,"aria-label":`Run stages`,children:[(0,$.jsxs)(`div`,{className:`run-flow-compute-legend`,"aria-label":`Compute colors`,children:[(0,$.jsx)(`span`,{className:`compute-gpu`,children:`GPU`}),(0,$.jsx)(`span`,{className:`compute-cpu`,children:`CPU`})]}),s.length?(0,$.jsx)(`ol`,{className:`sidebar-run-path`,children:s.map(d)}):null,c.length?(0,$.jsxs)($.Fragment,{children:[s.length?(0,$.jsx)(Zi,{className:`sidebar-run-next`,size:16,"aria-hidden":!0}):null,(0,$.jsxs)(`section`,{className:`sidebar-run-loop ${u?`active`:``}`,"aria-label":n,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`span`,{children:n}),a?(0,$.jsx)(`span`,{children:a}):null]}),(0,$.jsx)(`ol`,{className:`sidebar-run-path`,children:c.map(d)}),(0,$.jsxs)(`div`,{className:`sidebar-run-return`,children:[(0,$.jsx)(Vn,{size:13,"aria-hidden":!0}),(0,$.jsx)(`span`,{children:i??`Repeat for each group`})]})]})]}):null,l.length?(0,$.jsxs)($.Fragment,{children:[s.length||c.length?(0,$.jsx)(Zi,{className:`sidebar-run-next`,size:16,"aria-hidden":!0}):null,(0,$.jsx)(`ol`,{className:`sidebar-run-path sidebar-run-final`,children:l.map(d)})]}):null]})}function mh({node:e,live:t}){let n=e.compute??([`Baseline evaluation`,`Rollouts`,`Update adapter`,`Activate policy`,`Evaluate`].includes(e.label)?`gpu`:void 0),r=t&&e.state===`active`,i=e.progress===void 0?void 0:Math.round(Math.min(1,Math.max(0,e.progress))*100);return(0,$.jsxs)(`div`,{className:`sidebar-run-card ${e.state} ${n?`compute-${n}`:``}`,"aria-current":r?`step`:void 0,children:[(0,$.jsxs)(`div`,{className:`sidebar-run-card-heading`,children:[(0,$.jsx)(`strong`,{children:e.label}),e.state===`done`?(0,$.jsx)(wr,{size:13,"aria-label":`Recorded`}):n?(0,$.jsx)(`span`,{children:n.toUpperCase()}):null]}),(0,$.jsx)(`span`,{className:`sidebar-run-status`,children:e.status}),e.detail?(0,$.jsx)(`span`,{className:`sidebar-run-detail`,children:e.detail}):null,e.error?(0,$.jsxs)(`details`,{className:`sidebar-run-error`,children:[(0,$.jsx)(`summary`,{children:`Recorded failure`}),(0,$.jsx)(`p`,{children:e.error})]}):null,r||i!==void 0?(0,$.jsx)(`div`,{className:`sidebar-run-progress ${r&&i===void 0?`indeterminate`:``}`,role:i===void 0?void 0:`progressbar`,"aria-label":`${e.label} progress`,"aria-valuemin":i===void 0?void 0:0,"aria-valuemax":i===void 0?void 0:100,"aria-valuenow":i,children:(0,$.jsx)(`span`,{style:i===void 0?void 0:{width:`${i}%`}})}):null]})}function hh(e){return(0,$.jsx)(ph,{...e})}var gh=[{label:`Prepare`,state:`pending`,status:`Not started`},{label:`Rollouts`,compute:`gpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Grade`,compute:`cpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Update adapter`,compute:`gpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Save checkpoint`,compute:`cpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Activate policy`,compute:`gpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Evaluate`,compute:`gpu`,state:`pending`,status:`Not started`},{label:`Finish`,state:`pending`,status:`Not started`}];function _h(){return(0,$.jsx)(hh,{nodes:gh,live:!1,loopLabel:`Training groups`,inference:{label:`GPU worker`,compute:`gpu`,state:`pending`,status:`Not allocated`}})}function vh({path:e}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`path`,{d:e,className:`run-flow-stream`}),[0,.6].map(t=>(0,$.jsx)(`circle`,{r:2.5,className:`run-flow-packet`,children:(0,$.jsx)(`animateMotion`,{dur:`1.2s`,begin:`-${t}s`,repeatCount:`indefinite`,path:e})},t))]})}function yh({node:e,x:t,y:n,width:r,animated:i}){let a=(0,Q.useId)().replace(/[^\w-]/g,``),o=r-28,s=e.state===`active`,c=e=>e.length>Math.floor((r-24)/6)?`${e.slice(0,Math.floor((r-24)/6)-1)}…`:e,l=e.compute??([`Grade`,`Save checkpoint`].includes(e.label)?`cpu`:[`Baseline evaluation`,`Rollouts`,`Update adapter`,`Activate policy`,`Evaluate`].includes(e.label)?`gpu`:void 0);return(0,$.jsxs)(`g`,{className:`run-flow-node ${e.state} ${l?`compute-${l}`:``}`,"aria-current":s?`step`:void 0,children:[(0,$.jsxs)(`title`,{children:[e.label,`: `,e.status,l?` (${l.toUpperCase()})`:``,e.detail?` — ${e.detail}`:``,e.error?` — ${e.error}`:``]}),s&&i?(0,$.jsx)(`rect`,{className:`run-flow-halo`,x:t-4,y:n-4,width:r+8,height:80,rx:14}):null,(0,$.jsx)(`rect`,{className:`run-flow-box`,x:t,y:n,width:r,height:72,rx:10}),e.state===`done`?(0,$.jsx)(`path`,{className:`run-flow-check`,d:`M${t+r-17} ${n+11} l2.5 2.5 l5 -5`}):null,(0,$.jsx)(`text`,{className:`run-flow-label`,x:t+12,y:n+20,children:c(e.label)}),(0,$.jsx)(`text`,{className:`run-flow-status`,x:t+12,y:n+37,children:c(e.status)}),e.detail?(0,$.jsx)(`text`,{className:`run-flow-detail`,x:t+12,y:n+53,children:c(e.detail)}):null,s||e.progress!==void 0?(0,$.jsxs)(`g`,{clipPath:`url(#${a})`,children:[(0,$.jsx)(`clipPath`,{id:a,children:(0,$.jsx)(`rect`,{x:t+14,y:n+64,width:o,height:2,rx:1})}),(0,$.jsx)(`rect`,{className:`run-flow-track`,x:t+14,y:n+64,width:o,height:2}),e.progress===void 0?null:(0,$.jsx)(`rect`,{className:`run-flow-fill`,x:t+14,y:n+64,width:o*Math.min(1,Math.max(0,e.progress)),height:2}),s&&i?(0,$.jsx)(`rect`,{className:`run-flow-shimmer`,x:t+14,y:n+64,width:o/3,height:2,children:(0,$.jsx)(`animate`,{attributeName:`x`,from:t+14-o/3,to:t+14+o,dur:`1.4s`,repeatCount:`indefinite`})}):null]}):null]})}function bh({nodes:e,inference:t,live:n,loopLabel:r,groupLabel:i,policyLabel:a}){let o=(0,Q.useId)().replace(/[^\w-]/g,``),s=8,c=e.map((e,t)=>{let n=[`Grade`,`Save checkpoint`].includes(e.label);return!n&&t&&(s+=176),{x:s,y:n?40:140}}),l=s+140+8,u=e.flatMap((e,t)=>e.inLoop?[t]:[]),d=u[0],f=u.at(-1),p=n&&u.some(t=>e[t]?.state===`active`),m=e.slice(1).map((e,t)=>{let r=c[t],i=c[t+1];return{id:`stage-${t}`,path:r.x===i.x?`M${r.x+70} ${r.y} V${i.y+72}`:`M${r.x+140} ${r.y+36} H${r.x+140+18} V${i.y+36} H${i.x}`,active:n&&e.state===`active`}});return t&&c[0]&&m.push({id:`gpu-prepare`,path:`M${c[0].x+70} 236 V212`,active:n&&t.state===`active`&&e[0]?.state===`active`}),d!==void 0&&f!==void 0&&p&&m.push({id:`loop`,path:`M${c[f].x+70} 212 V228 H${c[d].x+70} V212`,active:!0}),(0,$.jsxs)(`div`,{className:`console-run-flow`,"aria-label":`Training rollout flow`,children:[(0,$.jsxs)(`div`,{className:`run-flow-compute-legend`,"aria-label":`Compute colors`,children:[(0,$.jsx)(`span`,{className:`compute-gpu`,children:`GPU`}),(0,$.jsx)(`span`,{className:`compute-cpu`,children:`CPU`})]}),(0,$.jsxs)(`svg`,{className:`run-flow-diagram`,viewBox:`0 0 ${l} 320`,style:{minWidth:l*.75,maxWidth:l*1.35},role:`img`,"aria-label":e.map(e=>`${e.label}: ${e.status}`).join(`. `),children:[(0,$.jsx)(`defs`,{children:(0,$.jsx)(`marker`,{id:o,viewBox:`0 0 8 8`,refX:`6`,refY:`4`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,$.jsx)(`path`,{d:`M1 1 L7 4 L1 7`,className:`run-flow-arrow`})})}),d!==void 0&&f!==void 0?(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`rect`,{className:`run-flow-loop ${p?`live`:``}`,x:c[d].x-20,y:4,width:c[f].x-c[d].x+140+40,height:228,rx:14}),(0,$.jsx)(`text`,{className:`run-flow-caption`,x:c[d].x-6,y:22,children:r}),(0,$.jsx)(`text`,{className:`run-flow-caption`,x:c[f].x+140+6,y:22,textAnchor:`end`,children:a})]}):null,m.map(e=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{className:`run-flow-wire`,d:e.path,markerEnd:`url(#${o})`}),e.active?(0,$.jsx)(vh,{path:e.path}):null]},e.id)),e.map((e,t)=>(0,$.jsx)(yh,{node:e,...c[t],width:140,animated:n},e.label)),t?(0,$.jsx)(yh,{node:{...t,compute:`gpu`},x:c[0]?.x??8,y:236,width:140,animated:n}):null]}),e.some(e=>e.error)?(0,$.jsxs)(`details`,{className:`sidebar-run-error`,children:[(0,$.jsx)(`summary`,{children:`Recorded stage failures`}),e.filter(e=>e.error).map(e=>(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:e.label}),`: `,e.error]},e.label))]}):null,(0,$.jsx)(`span`,{className:`training-muted`,children:i})]})}function xh({run:e,view:t,loading:n,error:r,onRefresh:i}){let a=Vl(e.state),o=t?.cases??[],s=e.taskCount??o.length,c=o.filter(e=>e.output!==null).length,l=o.filter(e=>e.score!==null).length,u=o.filter(e=>![`pending`,`running`].includes(e.status)).length,d=o.filter(e=>e.status===`failed`),f=d.filter(e=>e.output===null),p=o.filter(e=>e.status===`cancelled`).length,m=/^failed$/i.test(e.state),h=e=>e.length?e.slice(0,3).map(e=>`${e.taskId}: ${e.error??e.status}`).join(`
95
+ `)+(e.length>3?`\n${e.length-3} more failures in the retained results.`:``):void 0,g=a&&!o.some(e=>e.status!==`pending`),_=a&&!g&&c<s,v=a&&!g&&!_&&l<s,y=[{label:`Prepare`,state:g?`active`:o.length?`done`:`pending`,status:g?`Starting`:o.length?`Recorded`:`Waiting`},{label:`Rollouts`,state:f.length?`failed`:_?`active`:s>0&&c===s?`done`:a?`pending`:`missing`,status:f.length?`Error recorded`:_?`Generating answers`:`Model outputs`,error:h(f),detail:`${c}/${s} generated`,progress:s?c/s:0},{label:`Grade`,state:v?`active`:s>0&&l===s?`done`:a?`pending`:`missing`,status:v?`Scoring`:`Dataset graders`,detail:`${l}/${s} graded`,progress:s?l/s:0},{label:`Results`,state:m?`failed`:!a&&e.state===`completed`?`done`:a&&u===s?`active`:a?`pending`:`missing`,status:a?`Waiting for evidence`:m?`Failed`:e.state,error:m?h(d)??`The run ended with a failure. Inspect its retained cases and logs.`:void 0,detail:(e.score==null?`Score unavailable`:`Mean score ${e.score.toFixed(3)}`)+(m&&o.length?` · ${d.length} execution failure${d.length===1?``:`s`} · ${p} cancelled`:``)}];return(0,$.jsxs)(`section`,{className:`dataset-workspace-run`,"aria-label":`Selected experiment progress`,children:[(0,$.jsx)(hh,{nodes:y,live:a&&!r}),r?(0,$.jsx)(Y,{error:r.message,children:(0,$.jsx)(`button`,{className:`training-text-button`,onClick:i,children:`Retry`})}):n?(0,$.jsx)(`p`,{role:`status`,children:`Loading retained run evidence…`}):null]})}function Sh({connection:e,run:t,view:n}){let r=n?.cases??[],i=r.filter(e=>e.score!==null).length;return r.length?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`dataset-workspace-attempts`,"aria-label":`Rollout attempts`,children:r.map((e,t)=>(0,$.jsx)(`span`,{className:`dataset-workspace-attempt ${e.status===`running`?`active`:e.error?`failed`:e.score===null?`pending`:`scored`}`,style:e.score===null?void 0:{opacity:.35+.65*Math.max(0,Math.min(1,e.score))},title:`${e.taskId}: ${e.error??(e.score===null?e.status:`score ${e.score}`)}`,"aria-label":`Case ${t+1}: ${e.taskId}, ${e.score===null?e.status:`score ${e.score}`}`},e.id))}),i?(0,$.jsxs)(`details`,{className:`dataset-workspace-charts`,children:[(0,$.jsx)(`summary`,{children:`Score chart`}),(0,$.jsx)(Ur,{series:[{id:`evaluation.score`,label:`Case score`,xLabel:`Case`,bounds:r.every(e=>e.score===null||e.score>=0&&e.score<=1)?[0,1]:void 0,points:r.flatMap((e,t)=>e.score===null?[]:[{step:t+1,value:e.score}])}]})]}):null,(0,$.jsxs)(`details`,{className:`dataset-workspace-cases`,children:[(0,$.jsx)(`summary`,{children:`Answers and grader scores`}),(0,$.jsx)(`p`,{children:`Each row shows the model’s answer to one dataset task and the score given by its graders.`}),(0,$.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Status`}),(0,$.jsx)(`th`,{children:`Score`})]})}),(0,$.jsx)(`tbody`,{children:r.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsxs)(`td`,{children:[e.taskId,e.output===null?null:(0,$.jsxs)(`details`,{className:`dataset-workspace-example-answer`,children:[(0,$.jsx)(`summary`,{children:`Model answer`}),(0,$.jsx)(`pre`,{children:e.output})]})]}),(0,$.jsxs)(`td`,{children:[(0,$.jsx)(ch,{status:e.status}),e.error?(0,$.jsx)(`small`,{children:e.error}):null]}),(0,$.jsx)(`td`,{className:`evaluation-numeric`,children:e.score?.toFixed(3)??`—`})]},e.id))})]})})]}),(0,$.jsx)(Ch,{connection:e,run:t,cases:r},zl(t))]}):null}function Ch({connection:e,run:t,cases:n}){let[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(n[0]?.id??``),s=t.location===`local`&&!t.owner&&!t.profileRef,c=Gr({queryKey:[`dataset-workspace-logs`,xt(e),zl(t),a],enabled:r&&s&&!!a,initialPageParam:void 0,getNextPageParam:e=>e.trace.nextCursor??void 0,queryFn:async({signal:n,pageParam:r})=>zi.parse(await X(e,`experiment`,{action:`case`,payload:{id:t.id,receiptId:a,limit:100,...r?{afterSequence:r}:{}}},n)),refetchInterval:Vl(t.state)?2e3:!1});return(0,$.jsxs)(`details`,{className:`dataset-workspace-logs`,onToggle:e=>i(e.currentTarget.open),children:[(0,$.jsx)(`summary`,{children:`Logs`}),s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(q,{compact:!0,floating:!0,label:`Log case`,value:a,options:n.map(e=>({value:e.id,label:e.taskId})),onChange:o}),c.error?(0,$.jsx)(Y,{error:c.error.message}):c.isPending?(0,$.jsx)(`p`,{role:`status`,children:`Loading case trace…`}):(0,$.jsx)(`ol`,{children:c.data?.pages.flatMap(e=>e.trace.items).map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:e.type.replaceAll(/[._]/g,` `)}),(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Details`}),(0,$.jsx)(`pre`,{children:JSON.stringify(e.payload,null,2)})]})]},e.sequence))}),c.hasNextPage?(0,$.jsx)(`button`,{className:`training-button secondary`,disabled:c.isFetchingNextPage,onClick:()=>void c.fetchNextPage(),children:`More logs`}):null]}):(0,$.jsx)(`ol`,{children:n.map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:e.taskId}),(0,$.jsx)(`span`,{children:e.error??e.status}),e.output?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Output`}),(0,$.jsx)(`pre`,{children:e.output})]}):null]},e.id))})]})}function wh(e){let t=new Map;for(let n of e){let e=n.data,r=n.type===`rollout_metric`?[[`rollout.reward`,`Rollout reward`,e.reward??e.rewardMean]]:typeof e.metricId==`string`?[[e.metricId,e.metricId.replaceAll(/[._]/g,` `),e.value]]:[];for(let[i,a,o]of r){if(typeof o!=`number`||!Number.isFinite(o))continue;let r=typeof e.step==`number`?e.step:typeof e.rolloutGroupIndex==`number`?e.rolloutGroupIndex+1:n.sequence,s=t.get(i)??{id:i,label:a,xLabel:`Recorded step`,points:[]};s.points.push({step:r,value:o}),t.set(i,s)}}return[...t.values()]}function Th({groups:e}){let[t,n]=(0,Q.useState)(!1),[r,i]=(0,Q.useState)(0),a=e.reduce((e,t)=>e+t.attempts.length,0);if(!a)return null;let o=Math.ceil(a/100)-1,s=Math.min(r,o),c=t?e.flatMap(e=>e.attempts.map(t=>({group:e.index,...t}))).slice(s*100,(s+1)*100):[];return(0,$.jsxs)(`details`,{className:`training-rollout-attempts`,onToggle:e=>n(e.currentTarget.open),children:[(0,$.jsxs)(`summary`,{children:[`Recorded attempts · `,a]}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Group / slot`}),(0,$.jsx)(`th`,{children:`Attempt`}),(0,$.jsx)(`th`,{children:`State`}),(0,$.jsx)(`th`,{children:`Reward`})]})}),(0,$.jsx)(`tbody`,{children:c.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsxs)(`td`,{children:[e.group+1,` / `,e.slot+1]}),(0,$.jsx)(`td`,{children:e.attempt}),(0,$.jsx)(`td`,{children:e.state.replaceAll(`_`,` `)}),(0,$.jsx)(`td`,{children:e.reward===null?`—`:e.reward.toFixed(3)})]},e.id))})]})}),o>0?(0,$.jsxs)(`div`,{className:`training-rollout-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:!s,onClick:()=>i(s-1),children:`Previous`}),(0,$.jsxs)(`span`,{"aria-live":`polite`,children:[s*100+1,`–`,Math.min(a,(s+1)*100),` of `,a]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:s===o,onClick:()=>i(s+1),children:`Next`})]}):null]}):null]})}function Eh({evidence:e}){let t=e.groups.flatMap(e=>e.attempts.flatMap(e=>e.reward===null?[]:[e.reward])),n=Math.min(...t),r=Math.max(...t);return(0,$.jsxs)(`div`,{className:`training-rollout-groups`,"aria-label":`Attempts by rollout group`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`span`,{children:`Attempts by rollout group`}),(0,$.jsx)(`div`,{className:`training-rollout-legend`,children:[[`scored`,`Scored`],[`active`,`Running`],[`failed`,`Failed`],[``,`Planned`]].map(([e,t])=>(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`i`,{className:`training-rollout-cell ${e}`,"aria-hidden":!0}),t]},t))})]}),(0,$.jsx)(`ol`,{children:e.groups.map(t=>{let i=new Set(t.attempts.map(e=>e.slot)),a=Array.from({length:Math.min(1e3,t.plannedSlots)},(e,t)=>t).filter(e=>!i.has(e));return(0,$.jsxs)(`li`,{children:[(0,$.jsxs)(`span`,{children:[`Group `,t.index+1]}),(0,$.jsxs)(`div`,{children:[t.attempts.map(i=>{let a=i.state.endsWith(`failed`)||[`cancelled`,`expired`,`timed_out`].includes(i.state),o=e.live&&[`running`,`leased`,`scoring`].includes(i.state),s=`Group ${t.index+1}, slot ${i.slot+1}, attempt ${i.attempt}: ${i.state}${i.reward===null?``:`, reward ${i.reward.toFixed(3)}`}`;return(0,$.jsx)(`span`,{role:`img`,title:s,"aria-label":s,className:`training-rollout-cell ${a?`failed`:o?`active`:i.reward===null?``:`scored`}`,style:i.reward===null?void 0:{opacity:r>n?.35+.65*(i.reward-n)/(r-n):.8}},i.id)}),a.map(e=>(0,$.jsx)(`span`,{role:`img`,"aria-label":`Group ${t.index+1}, slot ${e+1}: planned`,className:`training-rollout-cell`},`pending-${e}`))]}),(0,$.jsx)(`span`,{children:t.meanReward===null?t.state:`avg ${t.meanReward.toFixed(3)}`})]},t.index)})}),(0,$.jsx)(Th,{groups:e.groups}),e.groupCount>e.groups.length?(0,$.jsxs)(`p`,{children:[`Showing `,e.groups.length,` of `,e.groupCount,` rollout groups.`]}):null]})}var Dh=b({job:Ne,events:h(Fe),outputs:Be,flow:Gi.nullable(),flowError:w().nullable()}),Oh=new Set([`completed`,`succeeded`,`failed`,`cancelled`,`budget_exhausted`]);function kh({connection:e,teamId:t,projectId:n,jobId:r,onOpenRun:i,compact:a=!1}){let o=JSON.stringify([e.serverUrl,e.token,t,n,r]),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{let i=new AbortController,a;async function s(){try{let l=Dh.parse(await W(e,`/v1/training/hosted-jobs/${encodeURIComponent(r)}?teamId=${encodeURIComponent(t)}`,{signal:i.signal}));if(l.job.id!==r||l.job.teamId!==t||l.job.modelProjectId!==n)throw Error(`Run does not belong to this Model Project.`);if(i.signal.aborted)return;c({scope:o,detail:l}),u(null),(!Oh.has(l.job.state)||l.flowError)&&(a=setTimeout(s,5e3))}catch(e){if(i.signal.aborted)return;u({scope:o,message:e instanceof Error?e.message:`Run progress is unavailable.`}),a=setTimeout(s,1e4)}}return s(),()=>{i.abort(),clearTimeout(a)}},[o,e.serverUrl,e.token,t,n,r]);let d=s?.scope===o?s.detail:null,f=l?.scope===o?l.message:null,p=d?.job,m=p?.executionMode===`qualification`,h=p?.rolloutProgress,g=[...d?.events??[]].reverse().find(e=>e.type===`rollout_metric`&&typeof e.data.rolloutGroupIndex==`number`)?.data.rolloutGroupIndex,_=d?.events.at(-1),v=a?hh:bh,y=d?.flow?.nodes.find(e=>e.state===`active`)?.label??(d?.flow&&!d.flow.live?Ut(d.flow.state):p?Ut(p.phase):`Loading run progress…`);return(0,$.jsxs)(`section`,{className:`model-journey ${a?`compact`:``}`,"aria-label":`Training run stages`,children:[(0,$.jsxs)(`div`,{className:`model-journey-heading`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`model-journey-eyebrow`,children:m?`Qualification run`:`Training journey`}),(0,$.jsx)(`h3`,{children:y})]}),(0,$.jsx)(`button`,{className:`training-button secondary`,onClick:i,type:`button`,children:`View run`})]}),d?.flow?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(v,{nodes:d.flow.nodes,inference:d.flow.inference,live:d.flow.live&&!f,loopLabel:m?`Rollout + grading`:`Training loop`,groupLabel:`group ${d.flow.groupsCompleted} of ${d.flow.groupsTarget}`,policyLabel:`policy v${d.flow.policyVersion}`}),(0,$.jsx)(Eh,{evidence:{...d.flow,live:d.flow.live&&!f}})]}):d?.flowError?(0,$.jsx)(Y,{error:d.flowError}):null,(0,$.jsxs)(`div`,{className:`model-journey-facts`,"aria-live":`polite`,children:[(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:h?`${h.groupsCompleted} / ${h.groupsTarget}`:`—`}),` groups complete`,typeof g==`number`?` · latest recorded group ${g+1}`:``]}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:h?.optimizerUpdatesApplied??`—`}),` weight updates`]}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:h?.optimizerUpdatesSkipped??`—`}),` updates skipped`]}),(0,$.jsx)(`span`,{children:p?Ut(p.state):`Connecting`})]}),(0,$.jsx)(Y,{error:f}),(0,$.jsx)(`p`,{className:`model-journey-note`,children:f?d?`Showing last received evidence.`:`No run evidence received yet.`:p?.terminalReason??_?.message??`Stages update from recorded run events and artifacts.`}),p?(0,$.jsxs)(`p`,{className:`model-journey-time`,children:[`Updated `,Ht(p.updatedAt),` · Stages reflect recorded evidence, not estimated progress.`]}):null,a&&d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ur,{series:wh(d.events)}),(0,$.jsxs)(`details`,{className:`dataset-workspace-logs`,children:[(0,$.jsx)(`summary`,{children:`Training logs`}),(0,$.jsx)(`ol`,{children:d.flow?d.flow.logs.map((e,t)=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`time`,{children:Ht(e.at)}),(0,$.jsx)(`strong`,{children:e.source}),(0,$.jsx)(`span`,{children:e.message})]},`${e.id}:${t}`)):d.events.slice(-100).map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`time`,{children:Ht(e.createdAt)}),(0,$.jsx)(`span`,{children:e.message??Ut(e.type)})]},e.id))})]})]}):null]})}function Ah(e,t=[]){let n=t.filter(e=>e.split===`train`),r=new Map(n.map(e=>[e.id,e])),i=new Map,a=new Set,o=new Map,s=new Set;for(let t of e){if(t.type!==`metric`)continue;let e=t.payload;if(e.metricKind===`rollout_trajectory`){let a=Fh(e.rolloutGroupId)??`group-0`,o=i.get(a),s=Ph(e.rolloutGroupIndex)??o?.groupIndex??i.size,c=Fh(e.taskId),l=(c?r.get(c):null)??(n.length?n[s%n.length]??null:null),u=Lh(l?.metadata),d={id:t.id,rolloutIndex:Ph(e.rolloutIndex),workerSlot:Ph(e.workerSlot),attempt:Ph(e.attempt)??1,policyVersion:Ph(e.policyVersion),reward:Nh(e.reward),rewardEligible:e.rewardEligible===!0,terminalClass:Fh(e.terminalClass),failure:Fh(e.failureCode)??Fh(e.failureClass),inputTokens:Ph(e.inputTokens)??0,outputTokens:Ph(e.outputTokens)??0,components:jh(e)};i.set(a,{id:a,groupIndex:s,taskId:c??l?.id??o?.taskId??null,taskLabel:zh(l)??o?.taskLabel??null,taskFamily:Fh(e.taskFamily)??Fh(e.scenarioFamily)??l?.clusterKey??Fh(u.scenarioFamily)??o?.taskFamily??null,policyVersion:Ph(e.policyVersion)??o?.policyVersion??null,trajectories:[...o?.trajectories??[],d]})}else if(e.metricKind===`optimizer_disposition`){let t=Fh(e.rolloutGroupId);if(!t)continue;let n=Fh(e.optimizerDisposition)??Fh(e.disposition)??Fh(e.remotePhase);n?.includes(`skipped`)&&a.add(t),n===`applied`&&o.set(t,Ph(e.step))}else if(e.metricKind===`policy_optimization`){let t=Ph(e.step),n=Fh(e.rolloutGroupId);t!==null&&s.add(t),n&&o.set(n,t)}}return[...i.values()].sort((e,t)=>e.groupIndex-t.groupIndex).map(e=>{let t=e.trajectories.flatMap(e=>e.rewardEligible&&e.reward!==null?[e.reward]:[]),n=o.get(e.id),r=n===void 0?null:n;if(r===null&&!a.has(e.id)){let t=e.groupIndex+1;s.has(t)&&(r=t)}return{...e,optimizerDisposition:a.has(e.id)?`skipped`:r===null?`pending`:`applied`,optimizerStep:r,mean:Mh(t),minimum:t.length?Math.min(...t):null,maximum:t.length?Math.max(...t):null}})}function jh(e){let t=[e.rewardComponents,e.rubricComponents,e.components].find(Ih);return t?Object.entries(t).flatMap(([e,t])=>{if(typeof t==`number`&&Number.isFinite(t))return[{id:e,label:Rh(e),score:t,passed:null,feedback:null}];if(!Ih(t))return[];let n=[t.score,t.reward,t.value,t.rewardContribution].map(Nh).find(e=>e!==null);return n===void 0?[]:[{id:e,label:Fh(t.label)??Fh(t.name)??Rh(e),score:n,passed:typeof t.passed==`boolean`?t.passed:null,feedback:Fh(t.feedback)}]}):[]}function Mh(e){return e.length?e.reduce((e,t)=>e+t,0)/e.length:null}function Nh(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Ph(e){let t=Nh(e);return t!==null&&Number.isInteger(t)?t:null}function Fh(e){return typeof e==`string`&&e.trim()?e.trim():null}function Ih(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Lh(e){return Ih(e)?e:{}}function Rh(e){return e.replaceAll(/[._-]+/g,` `).replace(/^./,e=>e.toUpperCase())}function zh(e){if(!e)return null;let t=Lh(e.input),n=[t.title,t.name,t.prompt,t.instruction,t.question,t.query].find(e=>typeof e==`string`&&!!e.trim());if(!n)return null;let r=n.trim().split(/\n\s*\n/,1)[0].replaceAll(/\s+/g,` `);return r.length>110?`${r.slice(0,107).trimEnd()}…`:r}var Bh=new Set([`optimizer.reward`,`rollout.reward`]),Vh=[{key:`meanReward`,id:`optimizer.reward`,label:`Mean reward`},{key:`meanReturn`,id:`optimizer.return`,label:`Mean return`},{key:`learningRate`,id:`optimizer.learning_rate`,label:`Learning rate`,format:`scientific`},{key:`policyLoss`,id:`optimizer.policy_loss`,label:`Policy loss`},{key:`valueLoss`,id:`optimizer.value_loss`,label:`Value loss`},{key:`gradientNorm`,id:`optimizer.gradient_norm`,label:`Gradient norm`},{key:`kl`,id:`optimizer.kl`,label:`Policy update KL`},{key:`behaviorPolicyKlPreUpdate`,id:`optimizer.behavior_policy_kl`,label:`Behavior-policy KL (pre-update)`},{key:`entropy`,id:`optimizer.entropy`,label:`Entropy`},{key:`policyClipFraction`,id:`optimizer.policy_clip_fraction`,label:`Post-update clip fraction`,format:`percent`},{key:`behaviorPolicyClipFractionPreUpdate`,id:`optimizer.behavior_policy_clip_fraction`,label:`Behavior-policy clip fraction (pre-update)`,format:`percent`},{key:`valueClipFraction`,id:`optimizer.value_clip_fraction`,label:`Value clip fraction`,format:`percent`},{key:`explainedVariance`,id:`optimizer.explained_variance`,label:`Explained variance`}],Hh=[{key:`loss`,id:`optimizer.loss`,label:`Loss`},{key:`reward`,id:`optimizer.reward`,label:`Reward`},{key:`policyLoss`,id:`optimizer.policy_loss`,label:`Policy loss`},{key:`advantageLoss`,id:`optimizer.advantage_loss`,label:`Advantage loss`},{key:`learningRate`,id:`optimizer.learning_rate`,label:`Learning rate`,format:`scientific`},{key:`gradientNorm`,id:`optimizer.gradient_norm`,label:`Gradient norm`},{key:`meanTokenAccuracy`,id:`train.token_accuracy`,label:`Token accuracy`,format:`percent`},{key:`preferenceAccuracy`,id:`train.preference_accuracy`,label:`Preference accuracy`,format:`percent`},{key:`preferenceMargin`,id:`train.preference_margin`,label:`Preference margin`},{key:`chosenReward`,id:`train.chosen_reward`,label:`Chosen reward`},{key:`rejectedReward`,id:`train.rejected_reward`,label:`Rejected reward`},{key:`entropy`,id:`optimizer.entropy`,label:`Entropy`}];function Uh({detail:e,loading:t,error:n,taskset:r=null}){fn(n,{prefix:`Training metrics`});let i=(0,Q.useMemo)(()=>e?Ah(e.events,r?.tasks):[],[e,r]),a=(0,Q.useMemo)(()=>e?Gh(Kh(e),i):[],[e,i]);if(n&&!e)return(0,$.jsx)(`div`,{className:`training-run-placeholder`,children:`Training metrics are unavailable.`});if(!e&&!t)return(0,$.jsx)(`div`,{className:`training-run-placeholder`,children:`Select a training run to inspect its metrics.`});let o=e?[`queued`,`starting`,`running`,`reconciling`].includes(e.job.status):!1;return(0,$.jsx)(Ur,{live:o,loading:t&&!e,series:a})}function Wh(e){let t=e.flatMap((e,t)=>e.mean===null?[]:[{step:t+1,value:e.mean}]);return t.length?{id:`optimizer.reward`,label:`Mean reward`,points:t,xLabel:`rollout group`}:null}function Gh(e,t){let n=Wh(t);return n?[n,...e.filter(e=>!Bh.has(e.id))]:e}function Kh(e){let t=eg(e.job.metadata.rolloutProgress),n=Zh(e.job.metadata.optimizerUpdatesObserved)??Zh(t.optimizerUpdatesApplied),r=$h(e)===`grpo`&&n!==null?Math.max(0,n):null,i=Yh(e.stepMetrics).filter(e=>r===null||e.step<=r),a=[...Jh(Yh(e.policyMetrics),Vh),...Jh(i,Hh),...Xh(e.events)],o=new Map;for(let e of a){let t=o.get(e.id);(!t||e.points.length>t.points.length)&&o.set(e.id,e)}let s=[`optimizer.reward`,`rollout.reward`,`optimizer.kl`,`optimizer.loss`,`optimizer.learning_rate`];return[...o.values()].sort((e,t)=>qh(e.id,s)-qh(t.id,s)||e.label.localeCompare(t.label))}function qh(e,t){let n=t.indexOf(e);return n<0?999:n}function Jh(e,t){return t.flatMap(t=>{let n=e.flatMap(e=>{let n=e[t.key];return typeof n==`number`&&Number.isFinite(n)?[{step:e.step,value:n}]:[]});return n.length?[{id:t.id,label:t.label,points:n,format:t.format}]:[]})}function Yh(e){let t=new Map;for(let n of e)t.set(n.step,n);return[...t.values()].sort((e,t)=>e.step-t.step)}function Xh(e){let t=new Map,n=new Map,r=(e,r,i,a)=>{t.set(e,[...t.get(e)??[],{step:i,value:a}]),n.set(e,r)},i=new Map;for(let t of e)if(t.type===`metric`){if(t.payload.metricKind===`managed_telemetry`){let e=typeof t.payload.metricId==`string`?t.payload.metricId:null,n=Zh(t.payload.value),i=Zh(t.payload.step)??t.sequence;e&&n!==null&&r(e,Qh(e),i,n)}if(t.payload.metricKind===`rollout_trajectory`){let e=Zh(t.payload.rolloutIndex)??t.sequence,n=Zh(t.payload.reward);n!==null&&r(`rollout.reward`,`Rollout reward`,e,n);let a=typeof t.payload.rolloutGroupId==`string`?t.payload.rolloutGroupId:`group-0`,o=t.payload.rewardEligible===!1||typeof t.payload.failureClass==`string`||typeof t.payload.failureCode==`string`;i.set(a,[...i.get(a)??[],{reward:n,eligible:t.payload.rewardEligible===!0,resolved:n!==null||o,attempt:Zh(t.payload.attempt)??1,input:Zh(t.payload.inputTokens)??0,output:Zh(t.payload.outputTokens)??0}])}}return[...i.values()].forEach((e,t)=>{let n=e.filter(e=>e.resolved);if(!n.length)return;let i=n.flatMap(e=>e.eligible&&e.reward!==null?[e.reward]:[]),a=i.length?i.reduce((e,t)=>e+t,0)/i.length:0,o=i.length?i.reduce((e,t)=>e+(t-a)**2,0)/i.length:0,s=i.length?Math.max(...i):0;r(`attempt.valid_rate`,`Valid attempt rate`,t,i.length/n.length),r(`attempt.failure_count`,`Attempt failures`,t,n.length-i.length),r(`attempt.retry_count`,`Attempt retries`,t,n.reduce((e,t)=>e+Math.max(0,t.attempt-1),0)),r(`reward.variance`,`Reward variance`,t,o),r(`reward.best`,`Best reward`,t,s),r(`tokens.input`,`Input tokens`,t,e.reduce((e,t)=>e+t.input,0)),r(`tokens.output`,`Output tokens`,t,e.reduce((e,t)=>e+t.output,0))}),[...t].map(([e,t])=>({id:e,label:n.get(e)??Qh(e),points:t,format:e.endsWith(`rate`)||e.includes(`fraction`)?`percent`:`number`}))}function Zh(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Qh(e){return e.replaceAll(/[._]/g,` `).replace(/^./,e=>e.toUpperCase())}function $h(e){let t=e.job.metadata.trainingMethod;if(typeof t==`string`)return t;let n=eg(e.job.metadata.sourceSnapshot);return typeof n.method==`string`?n.method:null}function eg(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function tg({connection:e,sessionId:t,resources:n,onRequest:r}){let i=n.focus.dataset,a=n.focus.scopeContext&&i?[...new Map(Pe(n.focus.scopeContext).filter(e=>e.id===n.scope?.id&&e.dataset&&zl(e.dataset)===zl(i)).flatMap(e=>e.training??[]).map(e=>[Le(e),e])).values()]:[],o=il(e,t),[s,c]=(0,Q.useState)(null),l=a.find(e=>Le(e)===n.scope?.selectedTrainingKey)??a.find(e=>e.location===`cloud`?![`completed`,`failed`,`cancelled`,`budget_exhausted`].includes(e.job.state):e.executionState===`running`)??a.at(-1);async function u(e){let t=a.find(t=>Le(t)===e);if(t){c(null);try{await o.select({kind:`training`,id:t.jobId,location:t.location,...t.location===`cloud`?{teamId:t.owner.teamId,apiOrigin:t.apiOrigin}:{}})}catch(e){c(e instanceof Error?e.message:`Run selection failed.`)}}}return(0,$.jsxs)(`section`,{className:`dataset-workspace-section`,"aria-label":`Dataset training`,children:[(0,$.jsxs)(`header`,{className:`dataset-workspace-section-heading`,children:[(0,$.jsxs)(`div`,{className:`dataset-workspace-title`,children:[(0,$.jsx)(`h2`,{children:a.length?`Training runs`:`Planned stages`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary icon-only`,"aria-label":`New training`,title:`New training`,onClick:()=>r(`New training`),children:(0,$.jsx)(on,{size:15})})]}),l?(0,$.jsx)(ch,{status:l.location===`cloud`?l.job.state:l.executionState}):null]}),(0,$.jsx)(Y,{error:s}),a.length?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(q,{compact:!0,floating:!0,label:`Training run`,value:l?Le(l):``,disabled:o.selecting,options:a.map(e=>({value:Le(e),label:e.location===`cloud`?`Hosted run ${e.jobId.slice(-8)}`:e.modelId,description:e.location===`cloud`?e.job.state:e.executionState})),onChange:e=>void u(e)}),l?.location===`cloud`?(0,$.jsx)(kh,{compact:!0,connection:e,teamId:l.owner.teamId,projectId:l.job.modelProjectId,jobId:l.jobId,onOpenRun:()=>r(`Check training`,void 0,l)},Le(l)):l?(0,$.jsx)(ng,{connection:e,training:l},Le(l)):null]}):(0,$.jsx)(`div`,{"aria-label":`Planned training stages`,children:(0,$.jsx)(_h,{})})]})}function ng({connection:e,training:t}){let n=f({queryKey:[`dataset-workspace-training`,xt(e),Le(t)],queryFn:async()=>{let n=zn.parse(await Z.trainingRunDetail(e,t.jobId));if(n.job.id!==t.jobId)throw Error(`Training evidence does not match the attached job.`);return n},refetchInterval:e=>[`queued`,`starting`,`running`,`reconciling`,`cancelling`].includes(e.state.data?.job.status??t.executionState)?3e3:!1}),r=n.data,i=!!(r&&[`queued`,`starting`,`running`,`reconciling`].includes(r.job.status)&&!n.error);if(!r)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Y,{error:n.error?.message}),(0,$.jsx)(`p`,{role:`status`,children:`Loading training evidence…`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void n.refetch(),children:`Refresh`})]});let a=r.managedEvidence?.progress.committedOptimizerSteps??r.job.metadata.optimizerUpdatesObserved,o=typeof a==`number`&&a>0,s=r.events.some(e=>e.type===`metric`&&e.payload.metricKind===`rollout_trajectory`),c=r.job.status===`succeeded`,l=r.events.filter(e=>e.type===`metric`&&e.payload.metricKind===`rollout_trajectory`&&typeof e.payload.reward==`number`&&Number.isFinite(e.payload.reward)).length,u=r.events.some(e=>e.type===`checkpoint`)||!!r.managedEvidence?.checkpoint?.sha256,d=!!r.evaluation||!!r.managedEvidence?.evaluations.some(e=>e.kind===`candidate`),p=i?`pending`:`missing`,m=s||o||u||d;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(lh,{name:t.modelId}),(0,$.jsx)(Y,{error:n.error?.message}),(0,$.jsx)(hh,{live:i,loopLabel:`Training loop`,nodes:[{label:`Prepare`,state:m?`done`:i?`active`:p,status:m?`Recorded`:r.job.startedAt?`Worker started`:`Waiting`},{label:`Rollouts`,state:s?`done`:p,status:s?`Recorded`:`Waiting for attempts`,inLoop:!0},{label:`Grade`,compute:`cpu`,state:l?`done`:p,status:l?`Recorded`:`No recorded grades`,detail:l?`${l} graded attempts`:void 0,inLoop:!0},{label:`Update adapter`,state:o?`done`:p,status:o?`Recorded`:`No recorded updates`,detail:o?`${a} updates`:void 0,inLoop:!0},{label:`Save checkpoint`,compute:`cpu`,state:u?`done`:p,status:u?`Recorded`:`No saved checkpoint recorded`,inLoop:!0},{label:`Evaluate`,state:d?`done`:p,status:d?`Recorded`:`No candidate evaluation recorded`},{label:`Finish`,state:c?`done`:r.job.status===`failed`?`failed`:p,status:r.job.status,error:r.job.error??void 0}]}),(0,$.jsx)(Ur,{series:Kh(r)}),(0,$.jsxs)(`details`,{className:`dataset-workspace-logs`,children:[(0,$.jsx)(`summary`,{children:`Training events`}),(0,$.jsx)(`ol`,{children:r.events.slice(-100).map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`time`,{children:new Date(e.timestamp).toLocaleTimeString()}),(0,$.jsx)(`span`,{children:typeof e.payload.message==`string`?e.payload.message:e.type})]},e.id))})]})]})}function rg(e){return e===`small`||e===`small_experiment`}function ig(e){return{maxSteps:1,trainingExamples:e===`grpo`?1:e===`sft`?4:2,rolloutGroupSize:4,rolloutConcurrency:1}}function ag(e,t,n){if(!rg(e))return n;let r=ig(t);return{maxSteps:r.maxSteps,rolloutGroupSize:r.rolloutGroupSize,rolloutConcurrency:r.rolloutConcurrency}}function og(e){let t=ig(`grpo`);return{...e,dataset:{...e.dataset,maxExamples:t.trainingExamples},rollout:{...e.rollout,groupSize:t.rolloutGroupSize,concurrency:t.rolloutConcurrency},optimizer:{...e.optimizer,maxSteps:t.maxSteps,iterations:2,gradientAccumulationSteps:t.rolloutGroupSize},resourceLimits:{...e.resourceLimits,maxRollouts:t.rolloutGroupSize},policyOptimization:null}}function sg(e){return[{id:`standard`,label:`Full run`,description:`Pre-fill the full training configuration, then adjust its limits.`},{id:e===`grpo`||e===`ppo`?`small_experiment`:`small`,label:`Smoke`,description:e===`grpo`?`Start with 1 prompt, 4 rollouts, 1 group, and 2 optimizer iterations.`:`Start with a small training batch and 1 optimizer step.`},{id:`custom`,label:`Custom`,description:`Choose prompts, rollouts, groups, and optimizer iterations.`}]}function cg(e,t,n){if(!rg(e))return null;let r=ig(t);return n.maxSteps>r.maxSteps||n.trainingExamples>r.trainingExamples||(t===`grpo`||t===`ppo`)&&(n.rolloutGroupSize>r.rolloutGroupSize||n.rolloutConcurrency>r.rolloutConcurrency||(n.optimizerIterations??2)>2||(n.maximumRollouts??4)>4)?`These settings exceed the training smoke test limits. Reduce them or select Custom.`:null}function lg({method:e,methods:t,onMethodChange:n,value:r,onChange:i,disabled:a,recommendedAvailable:o=!0,sizing:s,onSizingChange:c}){let l=sg(e).filter(e=>o||e.id!==`standard`),u=rg(r)?l.find(e=>rg(e.id)).id:r;return(0,$.jsxs)(`div`,{className:`model-build-field training-run-configuration`,children:[(0,$.jsx)(`span`,{children:`Run configuration`}),(0,$.jsx)(q,{floating:!0,label:`Run configuration`,value:u,options:l.map(e=>({value:e.id,label:e.label})),onChange:e=>i(e),disabled:a}),s&&c?(0,$.jsxs)(`div`,{className:`training-run-quantities`,children:[[[`prompts`,`Prompts`,`Training prompts`,1,1e5],[`rollouts`,`Rollouts`,`Rollouts per prompt`,2,16],[`groups`,`Groups`,`Rollout groups`,1,1e5],[`iterations`,`Iterations`,`Optimizer iterations`,e===`grpo`?2:1,e===`grpo`?16:100],[`concurrency`,`Concurrent`,`Concurrent rollouts`,1,s.rollouts]].map(([e,t,n,r,i])=>(0,$.jsxs)(`label`,{title:n,children:[(0,$.jsx)(`span`,{children:t}),(0,$.jsx)(`input`,{"aria-label":n,type:`number`,min:r,max:i,step:1,value:Number.isFinite(s[e])?s[e]:``,disabled:a,onChange:t=>c({...s,[e]:t.target.valueAsNumber||r})})]},e)),(0,$.jsxs)(`div`,{className:`training-run-method`,children:[(0,$.jsx)(`span`,{children:`Method`}),(0,$.jsx)(q,{compact:!0,floating:!0,floatingMenuWidth:140,label:`Training method`,value:e??``,options:(t??(e?[e]:[])).map(e=>({value:e,label:e.toUpperCase()})),disabled:a||!n||!t?.length,onChange:e=>n?.(e)})]})]}):null]})}function ug({connection:e,resources:t,onAddToChat:n,initialPreset:r}){let[i,a]=(0,Q.useState)({prompts:rg(r)?1:Math.max(1,t.focus.dataset?.taskCount??1),rollouts:4,groups:rg(r)?1:Math.max(1,t.focus.dataset?.taskCount??1),iterations:2,concurrency:1}),[o,s]=(0,Q.useState)(r),[c,l]=(0,Q.useState)(`grpo`),[u,d]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),h=f({queryKey:[`dataset-training-catalog`,xt(e)],queryFn:async()=>vi.parse(await Z.portableTrainingCatalog(e))}),g=(h.data?.targets??[]).find(e=>e.destinationId===`openpond_managed`),_=(h.data?.models??[]).filter(e=>e.compatibilities.some(e=>e.targetId===g?.id&&e.methods.includes(c)&&e.state!==`unsupported`)),v=_.find(e=>e.selectionKey===u),y=(g?.methods??[]).filter(e=>[`sft`,`dpo`,`grpo`,`ppo`].includes(e));(0,Q.useEffect)(()=>{if(h.data&&y.length&&!y.includes(c)){let e=y[0];l(e),s(t=>rg(t)?e===`grpo`||e===`ppo`?`small_experiment`:`small`:t),d(``)}},[h.data,c]);let b=g?.approvalPolicy?.minimumSpendUsd??.01,x=g?.approvalPolicy?.maximumSpendUsd,S=Number(p),C=!!(g?.available&&g.methods.includes(c)&&v&&p.trim()&&Number.isFinite(S)&&S>=b&&(x===void 0||S<=x)),w=t.focus.dataset,T=`Use ${i.prompts} training prompts, ${i.rollouts} rollouts per prompt, ${i.groups} rollout groups, ${i.iterations} optimizer iterations per group, and concurrency ${i.concurrency}. Retain held-out evaluation, tools, grading, checkpoint export, and the existing token/context limits.`,E=Object.values(i).every(e=>Number.isInteger(e)&&e>0)&&i.prompts<=1e5&&i.groups<=1e5&&i.iterations>=(c===`grpo`?2:1)&&i.iterations<=(c===`grpo`?16:100)&&i.rollouts>=2&&i.rollouts<=16&&Number.isInteger(i.concurrency)&&i.concurrency>=1&&i.concurrency<=16&&i.rollouts%i.concurrency===0,D=!!(w&&g?.available&&v&&E),O=`using ${c.toUpperCase()} for ${w?.name}, revision ${w?.revision}, using ${v?.modelId} on OpenPond Managed`;return(0,$.jsxs)(`div`,{className:`dataset-training-plan`,children:[h.error?(0,$.jsx)(Y,{error:h.error.message,children:(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void h.refetch(),children:`Retry`})}):null,(0,$.jsx)(lg,{method:c,methods:y.length?y:[`grpo`],onMethodChange:e=>{l(e),s(rg(o)?e===`grpo`||e===`ppo`?`small_experiment`:`small`:o),d(``)},value:o,sizing:i,onSizingChange:a,onChange:e=>{s(e),e!==`custom`&&a({prompts:rg(e)?1:Math.max(1,w?.taskCount??1),rollouts:4,groups:rg(e)?1:Math.max(1,w?.taskCount??1),iterations:2,concurrency:1})}}),(0,$.jsx)(`span`,{className:`dataset-training-field-label`,children:`Starting model`}),(0,$.jsx)(q,{floating:!0,searchable:!0,label:`Training model`,value:v?.selectionKey??``,options:[{value:``,label:h.isPending?`Loading models…`:`Choose training model`,disabled:!0},..._.map(e=>({value:e.selectionKey,label:e.label,description:e.reason??e.modelId}))],onChange:d,disabled:h.isPending}),(0,$.jsxs)(`label`,{children:[`Maximum spend (USD)`,(0,$.jsxs)(`div`,{className:`training-spend-estimate`,children:[(0,$.jsx)(`input`,{"data-autofocus":!0,type:`number`,min:b,max:x,step:`0.01`,"aria-label":`Maximum training spend`,value:p,onChange:e=>m(e.target.value)}),(0,$.jsx)(`button`,{type:`button`,disabled:!D,onClick:()=>n(`Review the training cost ${O}. ${T} Keep this review attached to the selected experiment and inspect the pinned examples, splits, graders, and recipe before estimating. ${C?`Use $${S.toFixed(2)} as the maximum spend.`:`Ask me to choose a hard spend cap before any submission.`} Show the current provider estimate or exact quote when supported, its assumptions, what is included, and any separately billed preparation, evaluation, idle, or serving costs. If an estimate is unavailable, explain why and the next step. Do not upload data, start training, or allocate serving capacity.`),children:`Review cost in chat`})]})]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!D||!C,onClick:()=>n(`Prepare a training plan ${O}, with a maximum spend of $${S.toFixed(2)}. ${T} Keep it attached to the selected experiment. Inspect its examples, splits, graders, and data permissions; show the recipe, required changes, and cost for review. Do not upload data or start training.`),children:`Prepare in chat`})]})}function dg({dialog:e,connection:t,resources:n,onClose:r,onAddToChat:i}){let[a,o]=(0,Q.useState)(e.text??``);return(0,$.jsxs)(hn,{ariaLabel:e.title,className:`training-dialog dataset-workspace-dialog`,onClose:r,children:[(0,$.jsxs)(`header`,{className:`training-dialog-header`,children:[(0,$.jsx)(`h2`,{children:e.title}),(0,$.jsx)(`button`,{className:`training-icon-button`,type:`button`,"aria-label":`Close dialog`,onClick:r,children:(0,$.jsx)(un,{size:18})})]}),e.title===`Add grader`?(0,$.jsx)(Nl,{kind:`grader`,resources:n,busy:!1,onDraft:i}):e.title===`New training`?(0,$.jsx)(ug,{connection:t,resources:n,onAddToChat:i,initialPreset:`standard`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{children:`Review the request, then add it to chat.`}),(0,$.jsx)(`textarea`,{"data-autofocus":!0,"aria-label":`Chat request`,rows:6,value:a,onChange:e=>o(e.target.value)}),(0,$.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:r,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!a.trim(),onClick:()=>i(a),children:`Add to chat`})]})]})]})}function fg(e,t,n,r){let i=xt(e),a=s(),o=Gr({queryKey:[`dataset-workspace-runs`,i,t?zl(t):null],enabled:!(!e||!t||t.owner||t.profileRef),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,queryFn:async({signal:t,pageParam:n})=>{let r=await X(e,`experiment`,{action:`list`,payload:{limit:100,...n?{afterId:n}:{}}},t);if(n&&r.nextCursor===n)throw Error(`Experiment history did not advance to its next page.`);return{...r,summaries:Hl(r.summaries)}},refetchInterval:e=>e.state.data?.pages.some(e=>e.summaries.some(e=>t&&Bl(e,t)&&Vl(e.state)))?2e3:1e4});(0,Q.useEffect)(()=>{o.hasNextPage&&!o.isFetchingNextPage&&!o.isFetchNextPageError&&o.fetchNextPage()},[o.hasNextPage,o.isFetchingNextPage,o.isFetchNextPageError,o.fetchNextPage]);let c=r.filter(e=>[`workspace_action_result`,`turn.completed`].includes(e.name)).at(-1)?.id;(0,Q.useEffect)(()=>{c&&a.invalidateQueries({queryKey:[`dataset-workspace-runs`,i]})},[c,i,a]);let l=new Map(o.data?.pages.flatMap(e=>e.items?.map(e=>[e.id,Date.parse(e.createdAt)])??[])??[]);return{rows:t?[...new Map([...n,...o.data?.pages.flatMap(e=>e.summaries)??[]].filter(e=>Bl(e,t)).map(e=>[zl(e),e])).values()].sort((e,t)=>Number(Vl(t.state))-Number(Vl(e.state))||(l.get(t.id)??0)-(l.get(e.id)??0)):[],history:o}}function pg({connection:e,sessionId:t,resources:n,events:r,selectedExperiment:i,experimentName:a}){let o=n.focus.dataset,s=o?zl(o):``,[c,l]=(0,Q.useState)(null),u=fg(i===void 0?e:null,o,n.experiments,r),d=n.scope,f=d?.ordinal!==null&&d?.ordinal!==void 0,p=f?u.rows.filter(e=>d.runs.some(t=>zl(t)===zl(e))):u.rows,m=f&&!d.runs.length?d:null,h=i===void 0?m?null:p.find(e=>e.id===d?.selectedRunId)??p.find(e=>Vl(e.state))??p[0]??(f?d.runs.at(-1)??null:null):i,g=mg(e,h),_=g.data?.summary??h;(0,Q.useEffect)(()=>{l(null)},[s,d?.id]);let v=d?.ordinal,y=a??i?.name??(i===null?`Experiment draft`:v?`Experiment ${v}`:`Experiment`),b=o?`${o.name}, revision ${o.revision}`:`the selected Dataset`;function x(e,t,r){if([`Add grader`,`New training`].includes(e)){l({title:e});return}let i=t?`${o?.name}, revision ${t.datasetRevision}, run ${t.id}`:b,a=e===`Check graders`?`Test the graders for ${b} against their saved fixtures and known-good and known-bad answers. Report missing coverage and failures separately from model evaluation scores. Do not change the dataset, graders, or start training.`:e===`Diagnose`?`Diagnose ${i}. Inspect its retained results and failures, explain the cause and the next useful step without changing it.`:e===`Improve`?`Improve ${i}. Inspect its retained results, make a targeted change, validate it, and evaluate a comparison within the agreed budget. Preserve the original run and its inputs.`:e===`Run experiment`?`Run an experiment on ${b} with its Dataset graders${n.scope?.evaluationModel?` against ${n.scope.evaluationModel}`:``}. Use the selected execution destination and agreed budget; ask for any missing model or spending limit before starting.`:`Check this training job and show its progress, results, and any model it produced.`;l({title:e,text:a,run:t,training:r})}function S(e){_l({sessionId:t,text:e,contexts:Ul(n,c?.run,c?.training)}),l(null)}return(0,$.jsxs)(`div`,{className:`dataset-workspace`,"aria-label":`Experiment workspace`,children:[(0,$.jsxs)(`header`,{className:`dataset-workspace-section-heading`,children:[(0,$.jsx)(`div`,{className:`dataset-workspace-title`,children:(0,$.jsx)(`h2`,{children:y})}),(0,$.jsxs)(`div`,{className:`dataset-workspace-actions dataset-workspace-header-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:!o,onClick:()=>x(`Run experiment`),children:`Evaluate`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary dataset-action`,disabled:!o||!_,onClick:()=>x(`Diagnose`,_??void 0),children:`Diagnose`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary dataset-action`,disabled:!o||!_||Vl(_.state),onClick:()=>x(`Improve`,_??void 0),children:`Improve`}),(0,$.jsxs)(`button`,{type:`button`,className:`training-button secondary dataset-action`,disabled:!o,onClick:()=>x(`Add grader`),children:[(0,$.jsx)(on,{size:13}),` Add grader`]})]})]}),n.error?(0,$.jsx)(Y,{error:n.error}):null,o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{className:`dataset-workspace-context`,children:[(0,$.jsx)(`span`,{children:`Dataset:`}),` `,o.name,` · revision `,o.revision]}),_?(0,$.jsx)(xh,{run:_,view:g.data?.view,loading:g.isPending,error:g.error,onRefresh:()=>void g.refetch()},`progress:${zl(_)}`):(0,$.jsx)(`p`,{children:`Evaluate this experiment, or configure a training run below.`}),u.history.error?(0,$.jsx)(Y,{error:u.history.error.message,children:(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void u.history.refetch(),children:`Retry`})}):null,(0,$.jsx)(ih,{connection:e,dataset:o,graders:n.graders}),_?(0,$.jsx)(rh,{title:`Results`,children:(0,$.jsx)(Sh,{connection:e,run:_,view:g.data?.view},`evidence:${zl(_)}`)}):null,(0,$.jsx)(rh,{title:`Training`,children:(0,$.jsx)(tg,{connection:e,sessionId:t,resources:n,onRequest:x})})]}):(0,$.jsx)(`p`,{children:`Choose an experiment, or create one from a dataset.`}),c?(0,$.jsx)(dg,{dialog:c,connection:e,resources:n,onClose:()=>l(null),onAddToChat:S},c.title):null]})}function mg(e,t){return f({queryKey:[`dataset-workspace-run`,xt(e),t?zl(t):null],enabled:!!t,queryFn:async({signal:n})=>{let r=await X(e,`experiment`,{action:`result`,payload:{id:t.id}},n),i=Ie.parse(r.summary),a=ze.parse(r.view);if(zl(i)!==zl(t)||i.datasetId!==t.datasetId||i.datasetRevision!==t.datasetRevision)throw Error(`Run evidence changed its Dataset pin.`);return{summary:i,view:a}},refetchInterval:e=>Vl(e.state.data?.summary.state??t?.state??``)?2e3:!1})}function hg({connection:e,sessionId:t,events:n}){let r=il(e,t),i=Dl(r.selection?.resource?e:null,t),[a,o]=(0,Q.useState)(null),s=r.selection,c=s?.training,l=s?.resource?.kind===`experiment`?s.resource:null,u=l?i.focus.experiment:i.focus.dataset,d=!!(s?.resource&&u&&zl(s.resource)===zl(u)&&s.resource.revision===u.revision),{select:f}=r,p=r.runs.data?.runs[0],m=c?JSON.stringify(s.target):``,h=(r.runs.data?.runs??[]).map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}));c&&!h.some(e=>e.value===m)&&h.unshift({value:m,label:`${(c.location===`cloud`?c.job.createdAt:c.updatedAt).slice(0,16).replace(`T`,` `)} UTC`,description:c.location===`cloud`?c.job.state:c.executionState}),(0,Q.useEffect)(()=>{s?.target.kind===`model`&&p&&f(p.target).catch(e=>o(e instanceof Error?e.message:`Run selection failed.`))},[s?.target.kind,s?.target.id,p,f]);async function g(e){try{o(null),await f(JSON.parse(e))}catch(e){o(String(e))}}let _=s?.resource?{...i,focus:{...i.focus,dataset:s.dataset??(s.resource.kind===`dataset`?s.resource:null),experiment:l},scope:d&&l||s.target.scopeId===i.scope?.id?i.scope:null,graders:s.graders??[]}:i;return(0,$.jsxs)(`div`,{className:`chat-experiment-tool`,children:[(0,$.jsx)(`header`,{className:`chat-experiment-tool-header`,children:(0,$.jsx)(Al,{context:r})}),(0,$.jsx)(Y,{error:a}),s?.model?(0,$.jsxs)(`div`,{className:`chat-experiment-tool-content`,children:[(0,$.jsxs)(`dl`,{className:`training-context-facts`,children:[(0,$.jsx)(`dt`,{children:`Base model`}),(0,$.jsx)(`dd`,{children:s.model.baseModel??`—`})]}),(0,$.jsx)(q,{floating:!0,label:`Training run`,value:m,disabled:r.runs.isPending||r.selecting,options:[...h.length?[]:[{value:``,label:r.runs.isFetching?`Loading training runs…`:r.runs.error?`Choose training run`:`No training runs`,disabled:!0}],...h],onChange:e=>void g(e)}),(0,$.jsx)(Y,{error:r.runs.error,children:r.runs.error?(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void r.runs.refetch(),children:`Retry training history`}):null}),c?c.location===`cloud`?(0,$.jsx)(kh,{compact:!0,connection:e,teamId:c.owner.teamId,projectId:c.job.modelProjectId,jobId:c.jobId,onOpenRun:()=>window.location.assign(pn(mn(`runs`,null,{area:`console`,resourceId:`hosted-run:${c.jobId}`})))}):(0,$.jsx)(ng,{connection:e,training:c}):(0,$.jsx)(_h,{}),(0,$.jsx)(ih,{connection:e,dataset:s.dataset,graders:s.graders??[],model:s.model}),(0,$.jsx)(rh,{title:`Experiments`,children:(0,$.jsx)(q,{floating:!0,label:`Experiment`,value:``,options:[{value:``,label:`Experiment`,disabled:!0},...(r.catalog.data?.options??[]).filter(e=>e.target.kind===`experiment`).map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}))],onChange:e=>void g(e)})})]}):s?.resource?(0,$.jsx)(pg,{connection:e,sessionId:t,resources:_,events:n,selectedExperiment:l,experimentName:s.target.kind===`dataset`?`Experiment draft`:s.label},JSON.stringify(s.target)):(0,$.jsx)(`div`,{className:`chat-experiment-tool-content`,children:(0,$.jsx)(`p`,{children:`Choose an experiment or model in Training. Start a new experiment there to choose its dataset.`})})]})}function gg(e){return e.connection?(0,$.jsx)(hg,{connection:e.connection,sessionId:e.sessionId??null,events:e.events}):(0,$.jsx)(`p`,{children:`Connect to OpenPond to browse experiments.`})}function _g({activeTabId:e,tabs:t,onCloseTab:n,onNewTab:r,onSelectTab:i}){return(0,$.jsxs)(`div`,{className:`browser-tabs`,role:`tablist`,"aria-label":`Browser tabs`,children:[t.length?null:(0,$.jsxs)(`div`,{className:`browser-tab active`,children:[(0,$.jsx)(Or,{size:13,"aria-hidden":!0}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-main`,role:`tab`,"aria-selected":!0,children:`New tab`})]}),(0,$.jsx)(vg,{activeTabId:e,tabs:t,onSelectTab:i,onCloseTab:n}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-add`,title:`New tab`,"aria-label":`New tab`,onClick:r,children:(0,$.jsx)(on,{size:14})})]})}function vg({activeTabId:e,tabs:t,onCloseTab:n,onSelectTab:r}){return(0,$.jsx)($.Fragment,{children:t.map(t=>(0,$.jsxs)(`div`,{className:`browser-tab ${t.id===e?`active`:``}`,children:[(0,$.jsx)(`span`,{className:`browser-tab-favicon`,"aria-hidden":`true`,children:t.faviconUrl?(0,$.jsx)(`img`,{alt:``,referrerPolicy:`no-referrer`,src:t.faviconUrl}):(0,$.jsx)(Or,{size:13})}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-main`,role:`tab`,"aria-selected":t.id===e,title:t.url,onClick:()=>r(t.id),children:yg(t)}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-close`,title:`Close tab`,"aria-label":`Close tab`,onClick:()=>n(t.id),children:(0,$.jsx)(un,{size:12})})]},t.id))})}function yg(e){if(!e.url||e.url===`about:blank`)return`New tab`;if(e.title?.trim())return e.title.trim();try{return new URL(e.url).host||e.url}catch{return e.url||`New tab`}}var bg=(0,Q.lazy)(()=>o(()=>import(`./WorkspaceDiffPanel-D_iyg2D4.js`).then(e=>e.n).then(e=>({default:e.WorkspaceDiffPanel})),__vite__mapDeps([57,1,2,3,13,5,16,15,14,8,17,4,32,6,9,7,10,11,12,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,58,59,60,52]))),xg=(0,Q.lazy)(()=>o(()=>import(`./AppTerminalPanel-RjFlF-a4.js`).then(e=>({default:e.AppTerminalPanel})),__vite__mapDeps([61,1,2,3]))),Sg=(0,Q.lazy)(()=>o(()=>import(`./RightSidebarHomePanel-CxDYSyyx.js`).then(e=>({default:e.RightSidebarHomePanel})),[]));(0,Q.lazy)(()=>o(()=>import(`./WorkSidebarPanel-Ds-eTQLs.js`).then(e=>({default:e.WorkSidebarPanel})),[]));var Cg=(0,Q.lazy)(()=>o(()=>import(`./CollaborationTabs-DrKJmJZK.js`).then(e=>({default:e.CollaborationTabs})),__vite__mapDeps([62,2,1,3,6,12,13,5,14,15,16,8,17,4,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,10,35,36,37,38,39,40,11,41,42,43,44,45,46,47,48,49,63]))),wg=(0,Q.lazy)(()=>o(()=>import(`./AppsView-ttlr9ckQ.js`).then(e=>({default:e.AppsView})),__vite__mapDeps([64,1,2,3,13,5,17,15,14,19,8,6,34,9,35,65,7,10,11,12,16,4,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,60,66,67,68,69]))),Tg=(0,Q.lazy)(()=>o(()=>import(`./GetStartedView-CaBk_mX6.js`).then(e=>({default:e.GetStartedView})),__vite__mapDeps([70,1,2,3,16,5,15,14,8,6,7,9,10,11,12,13,17,4,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,71]))),Eg=(0,Q.lazy)(()=>o(()=>import(`./LabsRoute-B61l1b8P.js`).then(e=>({default:e.LabsRoute})),__vite__mapDeps([72,1,2,3,13,5,14,17,15,18,19,21,22,23,24,25,73,8,32,6,7,9,10,11,12,16,4,20,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,74,59,0,50,75]))),Dg=(0,Q.lazy)(()=>o(()=>import(`./ScheduledWorkPage-Dh47iH11.js`).then(e=>({default:e.ScheduledWorkPage})),__vite__mapDeps([76,1,2,3,16,5,15,14,8,77,6,7,9,10,11,12,13,17,4,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,78,79,80,50,60,81]))),Og=(0,Q.lazy)(()=>o(()=>import(`./OutputsPage-CeGq_F1S.js`).then(e=>({default:e.OutputsPage})),__vite__mapDeps([82,1,2,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,79,58,80]))),kg=(0,Q.lazy)(()=>o(()=>import(`./ProjectsPage-2TMZoEPB.js`).then(e=>({default:e.ProjectsPage})),__vite__mapDeps([83,1,2,3,17,15,5,14,6,74,9,35,12,13,16,8,4,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,10,36,37,38,39,40,11,41,42,43,44,45,46,47,48,49,84]))),Ag=(0,Q.lazy)(()=>o(()=>import(`./LabSkillSidebar-HibUEEko.js`).then(e=>({default:e.LabSkillSidebar})),__vite__mapDeps([85,1,2,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,80,86]))),jg=(0,Q.lazy)(()=>o(()=>import(`./BrowserSidebar-Cp2l0kg0.js`).then(e=>({default:e.BrowserSidebar})),__vite__mapDeps([87,1,2,3,6,9,7,8,10,11,12,13,5,14,15,16,17,4,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]))),Mg=(0,Q.lazy)(()=>o(()=>import(`./RightChatPanelStack-B3mBViGC.js`).then(e=>({default:e.RightChatPanelStack})),__vite__mapDeps([88,1,2,3,27,16,5,15,14,8,17,9,28,29,30,4,31,6,58,38,11,12,13,18,19,20,21,22,23,24,25,26,32,33,34,10,35,36,37,39,40,41,42,43,44,45,46,47,48,49,89]))),Ng=(0,Q.lazy)(()=>o(()=>import(`./NativeSkillSidebar-DCdMbSfe.js`).then(e=>({default:e.NativeSkillSidebar})),__vite__mapDeps([90,2,1,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,91]))),Pg=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-CN17AsgA.js`).then(e=>({default:e.TeamChatView})),__vite__mapDeps([92,1,2,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,93]))),Fg=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-CN17AsgA.js`).then(e=>({default:e.TeamChatProView})),__vite__mapDeps([92,1,2,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,93]))),Ig=(0,Q.lazy)(()=>o(()=>import(`./CommunityView-BzpIq1lD.js`).then(e=>({default:e.CommunityView})),__vite__mapDeps([94,1,2,3,77,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,78,79,80,95,96,97]))),Lg=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-CN17AsgA.js`).then(e=>({default:e.TeamAiThreadPanel})),__vite__mapDeps([92,1,2,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,93]))),Rg=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-CN17AsgA.js`).then(e=>({default:e.TeamAgentConversationPanel})),__vite__mapDeps([92,1,2,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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,93]))),zg=(0,Q.lazy)(()=>o(()=>import(`./TrainingDraftPanel-BhhZPPuY.js`).then(e=>({default:e.TrainingDraftPanel})),__vite__mapDeps([98,2,1,3,6,7,8,9,10,11,12,13,5,14,15,16,17,4,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]))),Bg=(0,Q.lazy)(()=>o(()=>import(`./MainChatThread-egKi0gLk.js`).then(e=>({default:e.MainChatThread})),__vite__mapDeps([99,1,2,3,13,5,14,73,19,21,25,18,23,24,8,42,12,15,16,17,4,20,22,26,27,9,28,29,30,31,32,6,33,34,10,35,36,37,38,39,40,11,41,43,44,45,46,47,48,49,89]))),Vg=(0,Q.lazy)(()=>o(()=>import(`./TrainingCreationPanel-DJKzaNFj.js`).then(e=>({default:e.TrainingCreationPanel})),__vite__mapDeps([100,1,2,3,6,36,9,11,12,13,5,14,15,16,8,17,4,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,10,35,37,38,39,40,41,42,43,44,45,46,47,48,49])));function Hg({ponderMode:e=null,onPonderModeChange:t,experience:n,view:r,teamChat:i,community:a,bootstrap:o,runtimeEvents:s,chatMessages:c,pendingUserMessage:l,contextWindowStatus:u,goalRuntime:d,subagentRuntime:f,selectedSessionId:p,composerDraftStore:m,mainComposerFocusRequestId:h,labCloseDetailRequestId:g,labCloseDetailKind:_,sideChatTrainingLaunchRequest:v,onSideChatTrainingLaunchHandled:y,mentionApps:b,connectedAppMentions:x,profileSkills:S,selectedMentionAppId:C,busy:w,turnRunning:T,activeProvider:E,activeModel:D,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,pendingApproval:j,activeWorkspaceAppId:M,activeWorkspaceId:N,activeWorkspaceKind:P,projectTarget:F,actionCatalog:I,workspaceTarget:ee,connection:L,workspaceName:R,workspaceState:z,workspaceDiff:ne,workspaceBusy:re,diffBusy:ie,forceChatThread:ae=!1,diffPanelOpen:oe,diffPanelExpanded:B,rightPanelMode:V,rightPanelTabRequest:se,rightChatPanels:ce,runtimeEventStore:le,nativeSkillSidebar:ue,extensionSkillSidebar:de,workspaceDiffPanelViewState:fe,sidebarFileOpenRequest:pe,sidebarFileBookmarks:me,onSetSidebarFileStatus:he,browserConversationId:H,terminalScope:ge,terminalTabs:_e,terminalCwd:ve,pendingTerminalCommand:ye,terminalOpen:be,onToggleTerminal:xe,onWorkspaceDiffPanelViewStateChange:Se,training:Ce,trainingSessions:we,trainingChatHandoff:Te,trainingDetailTasksetId:Ee,onTrainingDetailTasksetIdChange:De,onTrainingChatTaskSelect:Oe,onTrainingChatHandoffDismiss:ke,onOpenSession:U,cloudProjects:Ae,projects:je,projectsAccountBaseUrl:Me,projectsTeamName:Ne,projectTaskCounts:Pe,onNewCloudProject:Fe,onNewLocalProject:Ie,onNewProjectTask:Le,onToggleProjectPinned:Re,onUploadLocalProject:ze,chatHistoryHasMore:Be=!1,chatHistoryLoading:Ve=!1,onDiffPanelResizeStart:He,canSyncWorkspace:Ue,startMessage:We,onPayload:Ge,onError:Ke,setView:W,onOpenProfileSettings:G,onOpenProviderSettings:qe,onOpenTrainingSettings:Je,onOpenDatasetStorageSettings:Ye,changeDraftProvider:Xe,changeProjectTarget:$e,changeWorkspaceTarget:et,setDraftProvider:tt,setDraftModel:rt,onBeginNewChatWithModel:it,changeCodexPermissionMode:ot,changeCodexReasoningEffort:st,changeOpenPondCommandAccessMode:ct,resolveApproval:lt,answerCreateImproveQuestion:ft,approveCreateImproveRun:pt,applyCreateImproveCandidate:mt,cancelCreateImproveRun:ht,openCreateImprovePullRequest:yt,pauseCreateImproveRun:xt,reconcileCreateImprovePullRequest:St,rejectCreateImproveCandidate:wt,resumeCreateImproveRun:Tt,reviseCreateImproveRun:Et,setMentionedAppId:Dt,showToast:K,onSaveTaskDraft:Ot,sendPrompt:kt,stopTurn:At,syncWorkspaceLocally:Mt,refreshWorkspaceDiff:Nt,onToggleDiffPanelExpanded:Pt,onShowDiffPanel:Ft,onShowFilePreview:It,onShowBrowserPanel:Lt,onShowTrainingDraftPanel:Rt,onShowFilesPanel:zt,onShowExperimentsPanel:Vt,onShowRightChatPanel:Ht,onAddRightChat:Ut,onOpenRightChatForSession:Wt,onLabDetailOpenChange:Gt,evaluationSidebarActive:Kt,onEvaluationSidebarControl:qt,scheduledDetailOpen:Jt,onScheduledDetailOpenChange:Yt,onTerminalTabsChange:Xt,onCloseRightChatPanel:Zt,onCloseNativeSkillSidebar:Qt,onActivateRightChatPanel:$t,onRightChatModelChange:en,onRightChatPromptChange:tn,onRightChatScrollStateChange:nn,onRightChatProviderChange:rn,onSubmitRightChat:an,onStopRightChat:on,onCloseTerminal:sn,onLoadMoreChatHistory:cn}){let ln=Pm(H),[un]=(0,Q.useState)(()=>new cl),dn=(0,Q.useRef)(null),fn=p&&!An(p)?p:null,pn=fl(le,fn),mn=(0,Q.useMemo)(()=>fn?Nr(s,pn.events):s,[fn,pn.events,s]),hn=(0,Q.useMemo)(()=>fn?vt(un.project(mn),l):c,[un,fn,l,mn,c]),[gn,_n]=(0,Q.useState)(null),[vn,yn]=(0,Q.useState)(0),bn=(0,Q.useRef)(``),xn=(0,Q.useCallback)(()=>bn.current,[]),[Sn,Cn]=(0,Q.useState)(null),wn=ol(H),[Tn,En]=(0,Q.useState)(null),[On,kn]=(0,Q.useState)(null),[jn,q]=(0,Q.useState)(null),[Mn,Nn]=(0,Q.useState)(null),[Pn,Fn]=(0,Q.useState)(null),[In,J]=(0,Q.useState)(null),[Ln,Y]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{Cn(null)},[H]);let Rn=(0,Q.useMemo)(()=>o?.sessions.find(e=>e.id===p)??null,[o?.sessions,p]),zn=Rn?.currentProfile??o?.profileLibrary?.lastUsed??null,Bn=Am(o),Vn=al({connection:L,sessionId:p,accountScope:Bn,active:r===`chat`,onOpen:Vt}),Hn=yr(o?.profileLibrary??{lastUsed:null,profiles:[]},zn)??o?.profile??null,Un=(0,Q.useMemo)(()=>hr(Hn,o?.extensionCatalog),[o?.extensionCatalog,Hn]),Wn=(0,Q.useMemo)(()=>_t(Hn),[Hn]),Gn=(0,Q.useCallback)(async(e,t=p)=>{if(!L||!o)return;let n=jr(o.profileLibrary??{lastUsed:null,profiles:[]},e);if(n)try{let e=await Fp({ref:n,session:t&&!An(t)?o.sessions.find(e=>e.id===t)??null:null,selectProfile:e=>Z.profileSelect(L,e),patchSession:(e,t)=>Z.patchSession(L,e,{currentProfile:t})}),r=o.sessions;e.session&&(r=r.map(t=>t.id===e.session.id?e.session:t)),Ge({...o,profile:e.selected.profile,profileLibrary:e.selected.library,sessions:r})}catch(e){let t=e instanceof Error?e.message:String(e);Ke(t),K(t,`error`)}},[o,L,Ke,Ge,p,K]);(0,Q.useEffect)(()=>{if(!cr(pe,H))return;let{file:e,id:t}=pe;if(Cn({id:t,path:e.path}),!L)return;let n=!1;return(e.workspaceKind===`local`?Z.workspaceFile(L,e.workspaceId,e.path).then(e=>e.content??``):Z.sandboxDownloadFile(L,e.workspaceId,e.path).then(e=>{if(e.file.isBinary)throw Error(`Binary files cannot be attached to chat.`);return e.contents})).then(r=>{if(n)return;let i=e.path.split(`/`).at(-1)??e.path;_n({id:t,file:new File([r],i,{type:Ug(e)})})}).catch(e=>{n||K(e instanceof Error?e.message:String(e),`error`)}),()=>{n=!0}},[H,L,K,pe]);let Kn=n===`development`||n===`work`&&F.value!==`none`,qn=(0,Q.useMemo)(()=>{if(!Kn)return[];let e=new Map(I.filter(e=>!gt(e)).map(e=>[e.id,e]));for(let t of Wn)e.set(t.id,t);for(let t of Ln)e.set(t.id,t);return[...e.values()]},[I,n,Kn,Ln,Wn]),Jn=Lp(L),Yn=(0,Q.useCallback)(e=>{e?Jn.activate({runId:e.run.id,candidateId:e.candidate.id,title:e.run.objective,fileRootPath:e.fileRootPath,initialPath:e.initialPath}):Jn.activate(null)},[Jn.activate]),Xn=(0,Q.useCallback)(()=>{Jn.selection?.initialPath&&Jn.openFile(Jn.selection.initialPath),Ft()},[Jn.openFile,Jn.selection?.initialPath,Ft]),Zn=(0,Q.useCallback)(e=>{kn(e),e&&Ft()},[Ft]),Qn=(0,Q.useCallback)(()=>{kn(null),B&&Pt()},[B,Pt]);(0,Q.useEffect)(()=>{r!==`labs`&&kn(null)},[r]);let $n=(0,Q.useCallback)((e,t)=>{let n=Date.now(),r=I.find(t=>t.id===e)??null;m.set(``),Dt(null),W(`chat`);let i=r=>{if(!(r.find(t=>t.id===e)??null))return!1;let i=r.map(n=>n.id===e?{...n,label:t}:n);return Y(i),window.requestAnimationFrame(()=>{J({actionId:e,requestId:Math.max(Date.now(),n+1)})}),!0};L?Z.profileCurrent(L).then(t=>{let n=t.actionCatalog.map(e=>Qe(e));!i(n)&&r?i([r]):n.some(t=>t.id===e)||K(`This Agent is ready, but its default chat action is unavailable.`,`error`)}).catch(e=>{r||K(e instanceof Error?e.message:String(e),`error`)}):r?i([r]):K(`The Agent action catalog is still loading. Try Use again.`,`error`)},[I,m,L,Dt,W,K]),er=(0,Q.useCallback)((e,t)=>{m.set(e),Dt(null),t&&Xe(t),W(`chat`)},[Xe,m,Dt,W]),nr=(0,Q.useMemo)(()=>te(o?.preferences),[o?.preferences]),rr=nr.training,{createAgentFromLab:ir,improveAgentFromLab:ar}=zp({activeModel:D,activeProvider:E,bootstrap:o,codexPermissionMode:O,codexReasoningEffort:k,connection:L,onOpenRightChatForSession:Wt,onPayload:Ge}),sr=(0,Q.useMemo)(()=>{let e=Ce.payload?.tasksets??[];return e.some(e=>e.id===Mn)?Mn:e[0]?.id??null},[Mn,Ce.payload?.tasksets]),lr=r===`labs`&&sr?`profiles/${o?.profile.activeProfile??`default`}/tasksets/${sr}`:null,ur=(0,Q.useMemo)(()=>{if(r!==`labs`||!sr||!Ce.payload)return null;let e=Ce.payload.tasksets.find(e=>e.id===sr);if(!e)return null;let t=Ce.payload.plans.filter(t=>t.tasksetId===e.id),n=new Set(t.map(e=>e.id)),i=Ce.payload.jobs.filter(e=>n.has(e.planId)).sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),a=i.find(e=>e.id===Pn)??i[0]??null;return{taskset:e,plan:a?t.find(e=>e.id===a.planId)??null:t.sort((e,t)=>t.createdAt.localeCompare(e.createdAt))[0]??null,job:a,lineage:a?Ce.payload.models.find(e=>e.jobId===a.id)??null:null,artifacts:a?Ce.payload.artifacts.filter(e=>e.jobId===a.id):[]}},[sr,Pn,Ce.payload,r]),dr=(0,Q.useMemo)(()=>Ip(Ce.payload,p),[p,Ce.payload]),fr=(0,Q.useMemo)(()=>tm(hn),[hn]),pr=!!d||!!fr||!!f,mr=r===`labs`&&!!Jn.selection,gr=r===`labs`&&oe&&V===`changes`&&!!On,_r=(r===`chat`||r===`labs`)&&!!(M||Sn?.file),vr=r===`chat`&&oe&&V===`chat`&&ce.length===0,br=Dn(P)?N??am(R):null,xr=r===`chat`&&!!br,Sr=br,Cr=!!Sr||ee.value===`cloud`||ee.value===`hybrid`,wr=(0,Q.useMemo)(()=>jp({workspaceTarget:ee.value,localWorkspaceId:M,sandboxSourceAvailable:Cr,sandboxWorkspaceId:Sr,override:Tn}),[M,Cr,Sr,Tn,ee.value]),Tr=wr.source,Er=Tr===`sandbox`,Dr=(0,Q.useMemo)(()=>Tr&&wr.options.length>1?{value:Tr,options:wr.options,onChange:En}:null,[Tr,wr.options]);(0,Q.useEffect)(()=>{En(null)},[M,H,Sr,ee.value]);let Or=!gr&&(mr||r===`chat`||_r||xr)&&oe&&(V===`changes`||V===`home`&&r===`chat`||V===`goal`&&pr||vr),kr=r===`chat`&&oe&&V===`browser`,Ar=(r===`chat`||r===`labs`)&&oe&&V===`chat`&&ce.length>0,Mr=r===`chat`&&oe&&V===`training`,Pr=r===`chat`&&oe&&!!ue,Fr=r===`chat`&&oe&&!!de,Ir=r===`team`&&oe&&V===`chat`&&!!i.aiThread,Lr=r===`team`&&oe&&V===`chat`&&!!i.agentConversation,Rr=dm({supportedView:r===`chat`&&Kn||r===`labs`,open:oe,hasContentPanel:Or||gr||kr||Ar||Mr||Pr||Ir||Lr}),zr=!Kt&&(Or||gr||kr||Ar||Mr||Pr||Ir||Lr||Rr),Br=zr&&V!==`chat`&&B,Vr=o?.account.baseUrl??o?.account.activeProfile?.baseUrl??null,Hr=Kp({activeWorkspaceId:N,cloudProjects:Ae}),Ur=r===`chat`&&T&&!j&&_o(hn),Wr=ae||hn.length>0||Ur,Gr=p??`draft:${r}:${P??`none`}:${N??M??`none`}`;bn.current=Gr;let Kr=(0,$.jsx)(cm,{activeModel:D,activeProvider:E,busy:T,handoff:Te,onDismiss:ke,onSelectTask:Oe}),qr=(0,Q.useMemo)(()=>({onAnswerQuestion:ft,onApprove:pt,onApplyCandidate:mt,onCancel:ht,onOpenPullRequest:yt,onPause:xt,onReconcilePullRequest:St,onRejectCandidate:wt,onResume:Tt,onRevise:Et}),[ft,pt,mt,ht,yt,xt,St,wt,Tt,Et]),Jr=(0,Q.useMemo)(()=>fr?{...fr,...qr}:null,[qr,fr]),Yr=fm(r,Wr),Xr=(0,Q.useCallback)(async(e=[],t=null,r=null,i={})=>{let a=i.promptOverride??m.getSnapshot(),s=()=>{i.preservePrompt||(m.set(``),Dt(null))};if(!t){let t=r?{command:r.id,args:a.trim()}:nt(a);if(t){if(!dt({id:t.command},n))return K(`/${t.command} isn't available in ${n}.`,`info`),!1;if(t.command===`train`)return e.length>0?(K(`/train uses the selected chat; add other chats from Models.`,`error`),!1):p?(s(),q({id:Date.now(),objective:t.args.trim()||null,initialSessionIds:[p]}),W(`labs`),!0):(s(),q({id:Date.now(),objective:t.args.trim()||null,initialSessionIds:[]}),W(`labs`),!0);if(!t.args&&t.command!==`skill`&&t.command!==`sync-cloud`)return K(`Add instructions after /${t.command}.`,`info`),!1;if(e.length>0)return K(`/${t.command} tasks do not accept attachments yet. Add file context in the task thread.`,`error`),!1;if(t.command===`submit-issue`)return at(x)?(yn(e=>e+1),kt([],null,ut(t.args),{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:rm(t,r?`composer_selection`:`prompt_parse`)})):(K(`Connect the GitHub app before using /submit-issue.`,`error`),!1);if(im(t)){let e=t.command===`skill`?Np(t.args,E,o?.profile.sourcePath??null):nm(t);return yn(e=>e+1),kt([],null,e,{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:rm(t,r?`composer_selection`:`prompt_parse`)})}return yn(e=>e+1),kt([],null,nm(t),{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:rm(t,r?`composer_selection`:`prompt_parse`)})}}return yn(e=>e+1),kt(e,t,i.promptOverride,{clearPrompt:i.preservePrompt?()=>void 0:void 0,displayPrompt:i.displayPrompt,turnMetadata:i.turnMetadata,sessionMetadata:i.sessionMetadata,onSessionCreated:i.onSessionCreated})},[D,E,P,o?.profile,x,m,n,kt,p,Dt,W,K,Ce,r]),Zr=(0,Q.useCallback)(e=>{Te&&e!==Te.model.modelId&&ke(),Ze(E,e),tt(E),rt(e)},[E,ke,rt,tt,Te]),Qr=(0,Q.useCallback)((e,t)=>{Te&&e!==Te.model.providerId&&ke(),Xe(e,t)},[Xe,ke,Te]),{chatColumnStyle:$r,chatThreadPreparingInitialScroll:ei,chatThreadRef:ti,chatTimelineRows:ni,composerStackRef:ri,goToUserMessage:ii,handleChatScroll:ai,jumpToLatestChatMessage:oi,showScrollToBottomButton:si,userMessageNavigation:ci}=vm({browserConversationId:H,chatSubmissionVersion:vn,chatHistoryHasMore:Be,chatHistoryLoading:Ve,chatMessages:hn,onLoadMoreChatHistory:cn,pendingApproval:j,showChatThread:Wr,showThinkingIndicator:Ur,turnRunning:T,view:r}),li=(0,Q.useCallback)((e,t)=>{bt({conversationId:H,href:e,explicitFile:t?.explicitFile,newTab:t?.newTab}).then(e=>{e&&window.openpond?.browser&&(wn.showBrowser(),Lt())}).catch(e=>K(e instanceof Error?e.message:`Could not open browser.`,`error`))},[H,wn.showBrowser,Lt,K]),ui=Bt({projectTargetDetail:F.detail,projectTargetValue:F.value,workspaceRepoPath:z?.repoPath,workspaceTargetValue:ee.value}),{handleOpenFileInSidebar:di,fileResolution:fi,dismissFileResolution:pi,selectFileResolution:mi}=Ap({conversationKey:H,connection:L,handleOpenBrowserLink:li,activeWorkspaceAppId:M,rightSidebarUsesSandbox:Er,rightSidebarSandboxId:Sr,onShowDiffPanel:It,showToast:K,workspaceRootPath:ui,setOpenDiffFileRequest:Cn}),hi=(0,Q.useCallback)(async e=>{if(!L||!e.filePreview&&!e.imagePreview)K(`File content is not available for this attachment.`,`error`);else try{let t=e.name.trim().replace(/[\\/]+/g,`-`)||`attachment.txt`,n=`Attachments/${e.id.replace(/[^a-zA-Z0-9._-]+/g,`-`)||`file`}/${t}`,r={path:n,status:``,additions:0,deletions:0,patch:``,content:null},i,a;if(e.filePreview){let n=await Z.chatAttachmentFile(L,e.filePreview);r.content=n.content,jt(t)&&(a=await Ct(L,t,n.content))}else e.imagePreview&&(i=(await Z.signChatAttachmentImageUrl(L,e.imagePreview)).url);a?li(a):It(),Cn({id:Date.now(),path:n,source:!!a,file:r,...i?{imageUrl:i}:{}})}catch(e){K(e instanceof Error?e.message:`Could not open this attachment.`,`error`)}},[L,li,It,K]),gi=re&&!!M&&!z;(0,Q.useEffect)(()=>{let e=mn.filter(e=>e.sessionId===p&&e.source===`server`&&e.name===`workspace_action_result`).at(-1),t=e?`${p}:${e.id}`:null;if(!dn.current||dn.current.sessionId!==p){dn.current={sessionId:p,eventId:t};return}if(t===dn.current.eventId)return;dn.current={sessionId:p,eventId:t};let n=e?.data;r===`chat`&&n?.chatResourcePresentation!==`context`&&n?.chatResource?.kind===`experiment`&&Vl(n.chatResource.state??``)&&Vt()},[mn,p,r,Vt]);let _i=Jn.selection?`candidate:${Jn.selection.runId}:${Jn.selection.candidateId}`:null,vi=r===`chat`?(e,t)=>(0,$.jsx)(t===-1?gg:eh,{conversationId:H,onOpenBrowser:Lt,sessionId:p,connection:L,workspaceId:M,sandboxId:Er?Sr:null,messages:hn,events:mn,onOpenFile:di,actions:(0,$.jsx)(Mm,{terminalOpen:be,sideChatAvailable:!0,onOpenFile:e,onOpenFiles:zt,onOpenExperiments:Vt,onOpenReview:Ft,onOpenSideChat:Ut,onOpenTrainingDraft:Rt,trainingDraftAvailable:!!p,onToggleTerminal:xe})}):null,yi=(0,Q.useMemo)(()=>V===`home`&&r===`chat`?{id:-1,tab:`outputs`,overview:`new`}:se,[r,V,se]),bi=Or?(0,$.jsx)(bg,{appId:mr?_i:Er?null:M,workspaceId:mr?_i:Er?Sr:M,workspaceKind:mr?`local_project`:Er?null:`local_project`,connection:L,runtimeEvents:mn,diff:mr?Jn.diff:Er?null:ne,fileRootPath:mr?Jn.selection?.fileRootPath??null:Er?null:lr,filesWithPreview:mr,editorPreferences:o?.preferences.editor??null,loading:mr?Jn.loading:Er?re:ie||gi,openFileRequest:mr?Jn.openFileRequest:V===`home`?null:Sn,sidebarFileBookmarks:me,sidebarFileSourceSessionId:p,onSetSidebarFileStatus:he,readOnly:mr,sideChatTabs:ce.map(e=>({id:e.id,title:e.title,running:e.running})),sourceSwitcher:mr?null:Dr,tabRequest:yi,additionalTabs:r===`chat`?(0,$.jsx)(vg,{tabs:ln.state.tabs,activeTabId:null,onSelectTab:e=>{ln.selectTab(e),wn.showBrowser(),Lt()},onCloseTab:e=>void ln.closeTab(e)}):void 0,renderOutputs:vi??void 0,outputsLabel:Vn,viewState:fe,workspaceName:mr?Jn.selection?.title??`Change`:Er?R??`Sandbox`:R,workspaceInitialized:mr?!0:Er?!!Sr:!!z?.initialized,workspaceError:mr?Jn.error:Er?null:z?.error??ne?.error??null,expanded:B,onResizeStart:He,onRefresh:e=>void(mr?Jn.refresh(e):Nt(e)),onToggleExpanded:Pt,onOpenBrowser:Lt,onOpenBrowserUrl:li,onViewStateChange:Se,onCloseSideChat:Zt,onOpenSideChat:r===`chat`?Ut:void 0,onSelectSideChat:e=>{$t(e),Ht()},goalDetails:{active:V===`goal`,createRuntime:Jr,goalRuntime:d,subagentRuntime:f},sandboxFileSource:Er?{sandboxId:Sr,emptyMessage:`No sandbox filesystem yet.`}:null,trainingSummary:ur}):null,xi=(0,Q.useCallback)(e=>{wn.open(e),Lt()},[wn.open,Lt]),Si=(0,Q.useCallback)(async(e,t,n)=>{if(!L||e.sessionId!==p)throw Error(`Open the originating conversation to select this resource.`);let r=await X(L,`dataset`,{action:`context`,payload:{sessionId:e.sessionId}}),i=await X(L,`dataset`,{action:`set_focus`,payload:{sessionId:e.sessionId,kind:t.kind,id:t.id,...t.revision?{revision:t.revision}:{},operationId:n,visualPublicationId:e.publicationId,expectedSelectionVersion:r.focus.scopeContext?.selectionVersion}}),a=t.kind===`dataset`?i.dataset:i.experiment;if(!a)throw Error(`Selected resource is unavailable.`);let o=`Selected ${t.kind}: ${a.name}${t.kind===`dataset`?` V${a.revision}`:``}.`;return await tr.queueTaskInput(L,e.sessionId,or.parse({prompt:o,metadata:{chatExperimentScopeId:i.scopeContext?.activeScopeId,chatExperimentSelectionVersion:i.scopeContext?.selectionVersion,chatResourceFocus:{dataset:i.dataset,experiment:i.experiment},resourceSelection:{kind:t.kind,id:a.id,revision:a.revision,visualPublicationId:e.publicationId}}}),n),window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:e.sessionId}})),o},[L,p]),Ci=kr?(0,$.jsx)(jg,{conversationId:H,connection:L,visualTabs:wn,expanded:B,onResizeStart:He}):null,wi=Ir?(0,Q.createElement)(Lg,{...i,key:i.aiThread?.conversationId,onResizeStart:He}):null,Ti=Lr?(0,Q.createElement)(Rg,{...i,key:i.agentConversation?.run.id,onResizeStart:He}):null,Ei=Ar?(0,$.jsx)(Mg,{panels:ce,runtimeEventStore:le,actionCatalog:qn,createImproveActions:qr,contextCompaction:nr.contextCompaction,steerActiveResponses:nr.steerActiveResponses,busy:w,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,connection:L,connectedAppMentions:x,mentionApps:b,codexPersonalSkills:o?.codexPersonalSkills??[],profileSkills:S,profileLibrary:o?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:o?.extensionCatalog??null,projectTarget:F,providerSettings:o?.providers??null,accountBaseUrl:Vr,billingOrganizationSlug:Hr.organizationSlug,billingTeamId:Hr.teamId,showToast:K,workspaceTarget:ee,onAddChat:Ut,onActivatePanel:$t,onClosePanel:Zt,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:ct,onModelChange:en,onOpenAttachmentInSidebar:hi,onOpenFileInSidebar:di,onOpenProfileSettings:G,onOpenSession:U,onOpenPonder:()=>t?.(`clean`),onProviderChange:rn,onProviderSetupOpen:qe,onPromptChange:tn,onProfileTargetChange:(e,t)=>void Gn(t,e),onScrollStateChange:nn,onProjectTargetChange:$e,onResolveApproval:lt,onResizeStart:He,onSelectFiles:zt,onShowBrowserPanel:Lt,onStop:on,onSubmit:an,onWorkspaceTargetChange:e=>void et(e)}):null,Di=Ti??wi??Ei??(Pr&&ue?(0,$.jsx)(Ng,{expanded:B,skill:ue,onClose:Qt,onResizeStart:He,onToggleExpanded:Pt}):null)??(Fr&&de?(0,$.jsx)(Ag,{connection:L,expanded:B,selection:de,onClose:Qt,onResizeStart:He,onToggleExpanded:Pt}):null)??(gr&&On?(0,$.jsx)(Ag,{connection:L,expanded:B,selection:On,onClose:Qn,onResizeStart:He,onToggleExpanded:Pt}):null)??bi??Ci??(Mr?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(zg,{training:Ce,sessionId:p,expanded:B,onOpenTraining:()=>W(`labs`),onResizeStart:He,onToggleExpanded:Pt})}):null)??(Rr?(0,$.jsx)(Sg,{expanded:B,terminalOpen:be,sideChatAvailable:r===`chat`||r===`labs`,onOpenFiles:zt,onOpenReview:Ft,onOpenSideChat:Ut,onOpenTrainingDraft:Rt,trainingDraftAvailable:!!p,onResizeStart:He,onToggleExpanded:Pt,onToggleTerminal:xe}):null),Oi=(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(xg,{open:be,connection:L,scope:ge,tabs:_e,onTabsChange:Xt,cwd:ve,appId:M,workspaceName:R,queuedCommand:ye,onClose:sn})});return(0,$.jsx)(Zc.Provider,{value:Bn,children:(0,$.jsx)(ko.Provider,{value:xi,children:(0,$.jsx)(Ao.Provider,{value:Si,children:(0,$.jsxs)(`main`,{tabIndex:-1,"data-thread-session":r===`chat`&&!e?p??void 0:void 0,className:`main-pane ${Yr} ${be?`terminal-open`:``} ${zr?`diff-open`:``} ${Br?`diff-expanded`:``}`,children:[fi?(0,$.jsx)(Ep,{resolution:fi,onClose:pi,onSelect:mi}):null,r===`team`||r===`community`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Cg,{onSelect:W,view:r})}):null,r===`chat`&&e&&L&&o?.account.activeProfile?(0,$.jsx)(km,{accountScopeKey:Bn,connection:L,presentation:e,localSessions:we,composer:{contextWindowStatus:u,providerSettings:o.providers??null,provider:E,model:D,projectTarget:F,workspaceTarget:ee,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,onProviderChange:Qr,onProviderSetupOpen:qe,onProjectTargetChange:$e,onWorkspaceTargetChange:e=>{et(e)},onModelChange:Zr,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:ct,showToast:K},accountBaseUrl:Me,onOpenBrowserLink:li,onOpenLocalWork:U},Bn):r===`apps`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(wg,{payload:o,onPayload:Ge,account:o?.account??null,connection:L,defaultTeamId:o?.preferences.defaultTeamId??null,onToast:K})}):r===`team`?(0,$.jsxs)(Q.Suspense,{fallback:null,children:[i.teamId?(0,$.jsx)(Pg,{...i}):(0,$.jsx)(Fg,{}),zr?Di:null]}):r===`community`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Ig,{...a})}):r===`get-started`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Tg,{})}):r===`scheduled`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Dg,{connection:L,selectedProfileKey:zn?JSON.stringify(zn):null,onOpenSession:U,detailOpen:Jt,detailExpanded:B,onDetailOpenChange:Yt,onDetailResizeStart:He,onToggleDetailExpanded:Pt},Bn)}):r===`outputs`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Og,{connection:L,onViewChat:U})}):r===`projects`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(kg,{accountBaseUrl:Me,connection:L,onNewCloudProject:Fe,onNewLocalProject:Ie,onNewTask:Le,onTogglePinned:Re,onUploadLocalProject:ze,projects:je,taskCountByProjectId:Pe,teamName:Ne},Bn)}):r===`labs`?Br?(0,$.jsx)(Q.Suspense,{fallback:null,children:Di}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Eg,{account:o?.account??null,closeDetailRequestId:g,closeDetailKind:_,onNewModel:(e,t,n)=>{q({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:e,learnedPreferenceReward:t,initialModelId:n})},onUseAgent:$n,onCreateAgent:ir,onImproveAgent:ar,onDetailOpenChange:Gt,onEvaluationSidebarControl:qt,onSkillSelectionChange:Zn,onOpenRunConversation:Wt,onAnswerQuestion:ft,onApplyCandidate:mt,onApprove:pt,onCancel:ht,candidateReview:{diff:Jn.diff,error:Jn.error,loading:Jn.loading},onCandidateReviewChange:Yn,onOpenPullRequest:yt,onOpenCandidateFiles:Xn,onPause:xt,onReconcilePullRequest:St,onRejectCandidate:wt,onResume:Tt,onRevise:Et,profileView:{payload:o,connection:L,onPayload:Ge,onError:Ke,onToast:K,onSkillCommand:er},training:{training:Ce,sessions:we,localProjects:o?.localProjects??[],connection:L,defaultModel:{providerId:E,modelId:D},onError:Ke,onToast:K,onSettingsPreferences:e=>{o&&Ge({...o,preferences:e.preferences})},onOpenTrainingSettings:Je,onOpenProviderSettings:qe,onOpenDatasetStorageSettings:Ye,onOpenChat:U,onChatWithModel:it,onOpenTasksetFiles:zt,launchRequest:v??jn,onLaunchHandled:e=>{v?.id===e?y(e):q(t=>t?.id===e?null:t)},preferences:rr,settingsPreferences:nr,providerSettings:o?.providers??null,reasoningEffort:k,selectedTasksetId:sr,onSelectedTasksetIdChange:Nn,onSelectedTrainingJobIdChange:Fn,detailTasksetId:Ee,onDetailTasksetIdChange:De}})}),Oi,zr?(0,$.jsx)(Q.Suspense,{fallback:null,children:Di}):null]}):Br?(0,$.jsx)(Q.Suspense,{fallback:null,children:Di}):Wr?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`chat-column ${j?`has-approval`:``}`,style:$r,children:[(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Bg,{formalReviewTeamId:nr.defaultTeamId??null,formalReviewActorId:o?.account.profile?.id??null,formalReviewScopeKey:Bn,onFormalReviewOpen:()=>W(`labs`),accountBaseUrl:Vr,activeWorkspaceAppId:M,billingOrganizationSlug:Hr.organizationSlug,billingTeamId:Hr.teamId,connection:L,conversationKey:H??`draft`,creation:dr,onOpenBrowserLink:li,onOpenAttachmentInSidebar:hi,onOpenFileInSidebar:di,onOpenProfileSettings:G,onResolveUserQuestion:async(e,t)=>{let n=t.action===`answer`?t.text:`Dismiss this question`;if(!await kt([],null,n,{displayPrompt:n,turnMetadata:{userQuestionResolution:t}}))throw Error(`The question response could not be sent.`)},onOpenSession:U,onOpenPonder:()=>t?.(`clean`),onScroll:e=>ai(e.currentTarget),rows:ni,sessionId:H,turnRunning:T,userAttachmentDisplay:E===`codex`?`compact`:`full`,threadRef:ti,workspaceRootPath:ui})}),(0,$.jsxs)(`div`,{className:`composer-stack dock ${j?`has-approval`:``}`,ref:ri,children:[dr?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Vg,{compact:!0,creation:dr,training:Ce,onOpenTraining:()=>W(`labs`)})}):null,Kr,(0,$.jsx)(Cp,{approval:j,onResolve:lt}),si&&!ei?(0,$.jsx)(lm,{canGoNext:ci.canGoNext,canGoPrevious:ci.canGoPrevious,onJumpToLatest:oi,onNext:()=>{ci.canGoNext&&ii(`next`)},onPrevious:()=>{ci.canGoPrevious&&ii(`previous`)}}):null,(0,$.jsx)(pp,{experience:n,readOnlyReason:typeof Rn?.metadata?.nativeReadOnlyReason==`string`?Rn.metadata.nativeReadOnlyReason:null,draftStore:m,attachmentRequest:gn,mode:`dock`,focusRequestId:h,mentionApps:Kn?b:[],connectedAppMentions:x,profileSkills:E===`codex`?o?.codexPersonalSkills??[]:Un,selectedMentionAppId:C,contextWindowStatus:u,goalRuntime:d,subagentRuntime:f,createImproveRuntime:Kn?Jr:null,busy:T,running:T,steerActiveResponses:nr.steerActiveResponses,taskSessionId:fn,goalSessionId:p,taskEvents:mn,submissionScopeKey:Gr,composerDraftStore:m,getCurrentSubmissionScopeKey:xn,voiceInputChannelKey:`main-composer:${Gr}`,showProjectFooter:!0,connection:L,providerSettings:o?.providers??null,provider:E,model:D,projectTarget:F,profileTarget:null,actionCatalog:qn,requestedAction:In,workspaceTarget:ee,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,onProviderChange:Qr,onProviderSetupOpen:qe,onProjectTargetChange:$e,onProfileTargetChange:e=>void Gn(e),onWorkspaceTargetChange:e=>void et(e),onModelChange:Zr,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:ct,onMentionAppSelect:Dt,onSaveTaskDraft:Ot,showToast:K,onSubmit:Xr,onStop:At})]})]}),Oi,(0,$.jsx)(Q.Suspense,{fallback:null,children:Di})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`section`,{className:`start-panel`,children:[(0,$.jsxs)(`div`,{className:`start-welcome`,children:[(0,$.jsx)(`h1`,{children:We}),Ue&&(0,$.jsx)(um,{busy:re,onSync:()=>void Mt()})]}),(0,$.jsxs)(`div`,{className:`composer-stack start`,children:[Kr,(0,$.jsx)(Cp,{approval:j,onResolve:lt}),(0,$.jsx)(pp,{experience:n,draftStore:m,attachmentRequest:gn,mode:`start`,autoFocus:!0,focusRequestId:h,mentionApps:Kn?b:[],connectedAppMentions:x,profileSkills:E===`codex`?o?.codexPersonalSkills??[]:Un,selectedMentionAppId:C,contextWindowStatus:u,goalRuntime:d,subagentRuntime:f,createImproveRuntime:Kn?Jr:null,busy:T,running:T,steerActiveResponses:nr.steerActiveResponses,taskSessionId:fn,goalSessionId:p,taskEvents:mn,submissionScopeKey:Gr,composerDraftStore:m,getCurrentSubmissionScopeKey:xn,voiceInputChannelKey:`main-composer:${Gr}`,connection:L,providerSettings:o?.providers??null,provider:E,model:D,showProjectFooter:!0,projectTarget:F,profileTarget:null,actionCatalog:qn,requestedAction:In,workspaceTarget:ee,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,onProviderChange:Qr,onProviderSetupOpen:qe,onProjectTargetChange:$e,onProfileTargetChange:e=>void Gn(e),onWorkspaceTargetChange:e=>void et(e),onModelChange:Zr,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:ct,onMentionAppSelect:Dt,onSaveTaskDraft:Ot,showToast:K,onSubmit:Xr,onStop:At})]})]}),Oi,(0,$.jsx)(Q.Suspense,{fallback:null,children:Di})]})]})})})})}function Ug(e){let t=e.path.toLowerCase();return t.endsWith(`.md`)||t.endsWith(`.mdx`)?`text/markdown`:t.endsWith(`.json`)?`application/json`:t.endsWith(`.yaml`)||t.endsWith(`.yml`)?`application/yaml`:`text/plain`}export{Bi as $,fl as A,Mo as B,jm as C,hf as D,fp as E,Io as F,lo as G,go as H,Fo as I,ra as J,co as K,zo as L,Rc as M,Hg as MainPane,Yc as N,mf as O,Po as P,Ui as Q,Ro as R,Mm as S,Cp as T,ho as U,vo as V,_o as W,Gi as X,Qi as Y,zi as Z,Vm as _,sg as a,Di as at,Fm as b,og as c,Gr as ct,dh as d,Ei as et,lh as f,zm as g,sh as h,ag as i,Ni as it,cl as j,Vd as k,Uh as l,uh as m,lg as n,ji as nt,cg as o,Vi as ot,ch as p,sa as q,rg as r,Li as rt,ig as s,Qr as st,_g as t,Mi as tt,kh as u,Bm as v,_m as w,Pm as x,Hm as y,Lo as z};