openpond 0.2.70 → 0.2.71

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 (349) hide show
  1. package/dist/app-server.js +1 -1
  2. package/dist/chunks/{acp-QTA6IU6W.js → acp-VWPJ2EL4.js} +1 -1
  3. package/dist/chunks/{acp-agent-N77HPAYQ.js → acp-agent-OZHZMQ6R.js} +1 -1
  4. package/dist/chunks/{actions-command-BZQCUDMD.js → actions-command-AXGXBU75.js} +1 -1
  5. package/dist/chunks/{app-layer-YQQNLIXA.js → app-layer-OHPIYEOJ.js} +1 -1
  6. package/dist/chunks/{app-server-evaluations-RRLYWLPK.js → app-server-evaluations-Y5UEF2Y7.js} +1 -1
  7. package/dist/chunks/{app-server-harness-services-XXM336NU.js → app-server-harness-services-GUHAIIPS.js} +1 -1
  8. package/dist/chunks/{app-server-runtime-B7AMBGQZ.js → app-server-runtime-CH5STRJP.js} +1 -1
  9. package/dist/chunks/{apps-WG7WY5CB.js → apps-DNLT6P4J.js} +1 -1
  10. package/dist/chunks/{chunk-MOXIGLN2.js → chunk-23YW5PAQ.js} +1 -1
  11. package/dist/chunks/{chunk-ZDEIVUUI.js → chunk-27OJ2OLP.js} +1 -1
  12. package/dist/chunks/{chunk-NSSZ2ZIU.js → chunk-2EAZB2MW.js} +1 -1
  13. package/dist/chunks/{chunk-DRLP7GIU.js → chunk-2GEZ3ZY7.js} +1 -1
  14. package/dist/chunks/{chunk-PAYFJHPO.js → chunk-2PVW2XFF.js} +1 -1
  15. package/dist/chunks/{chunk-Y2WNZWT2.js → chunk-2Q6FTL4C.js} +1 -1
  16. package/dist/chunks/{chunk-KP2MYTP5.js → chunk-2QHB5P2K.js} +1 -1
  17. package/dist/chunks/{chunk-FNGZ4UDZ.js → chunk-33UVQ7DU.js} +1 -1
  18. package/dist/chunks/{chunk-M4ZHFDRJ.js → chunk-3JVZ7OCQ.js} +1 -1
  19. package/dist/chunks/{chunk-4BUM6JEC.js → chunk-3JYPUOK4.js} +1 -1
  20. package/dist/chunks/{chunk-DXJC3QW7.js → chunk-3VT2PPKW.js} +1 -1
  21. package/dist/chunks/{chunk-Z33RVGP6.js → chunk-5LKEVB2P.js} +1 -1
  22. package/dist/chunks/{chunk-P4QM63L3.js → chunk-5ZBDHIIE.js} +1 -1
  23. package/dist/chunks/{chunk-WD4KAKEX.js → chunk-64EDQ7UV.js} +1 -1
  24. package/dist/chunks/{chunk-OL3L3U36.js → chunk-6BTX66SV.js} +1 -1
  25. package/dist/chunks/{chunk-KU4TPDPH.js → chunk-6LAGMWJE.js} +1 -1
  26. package/dist/chunks/{chunk-65FJWWXG.js → chunk-6YR5IYHH.js} +1 -1
  27. package/dist/chunks/{chunk-AUO5DCEU.js → chunk-73COPJ32.js} +1 -1
  28. package/dist/chunks/{chunk-KDER7R45.js → chunk-7PDF2UX2.js} +1 -1
  29. package/dist/chunks/{chunk-SO4GMSNP.js → chunk-7SOHV5BH.js} +1 -1
  30. package/dist/chunks/{chunk-XOPHFUUY.js → chunk-ASMQTMQB.js} +1 -1
  31. package/dist/chunks/{chunk-ESYPMD7Q.js → chunk-AT3ZYNX4.js} +1 -1
  32. package/dist/chunks/{chunk-NMMHXYDJ.js → chunk-AVEHWUML.js} +1 -1
  33. package/dist/chunks/{chunk-M4A7G4S5.js → chunk-B7SCVTE6.js} +1 -1
  34. package/dist/chunks/{chunk-DKOVZ6R2.js → chunk-BQNU4HZW.js} +1 -1
  35. package/dist/chunks/{chunk-UANH7U3Y.js → chunk-BTEBZYK3.js} +1 -1
  36. package/dist/chunks/{chunk-BU6MW65V.js → chunk-BYVE4TMU.js} +1 -1
  37. package/dist/chunks/{chunk-PNPV2LDE.js → chunk-BZS2PA4O.js} +1 -1
  38. package/dist/chunks/{chunk-AFYYIJ6K.js → chunk-C7NQPICU.js} +1 -1
  39. package/dist/chunks/{chunk-K7KBFM2T.js → chunk-CBD554GZ.js} +1 -1
  40. package/dist/chunks/{chunk-GYYJ47GX.js → chunk-CWE2N3JI.js} +1 -1
  41. package/dist/chunks/{chunk-ZYLLPRPU.js → chunk-CX4T7I47.js} +1 -1
  42. package/dist/chunks/{chunk-AQUZCWM3.js → chunk-D2V2Y3FB.js} +1 -1
  43. package/dist/chunks/{chunk-2PXKSAG6.js → chunk-DLOJG7LP.js} +1 -1
  44. package/dist/chunks/{chunk-5G7BQAUA.js → chunk-DNNWMOMG.js} +1 -1
  45. package/dist/chunks/{chunk-BGMAWETL.js → chunk-DNRC6TPJ.js} +1 -1
  46. package/dist/chunks/{chunk-5FSPDSAO.js → chunk-DUR32LJG.js} +1 -1
  47. package/dist/chunks/{chunk-JZKTBYNB.js → chunk-E57PUTV2.js} +1 -1
  48. package/dist/chunks/{chunk-OUJ63LMU.js → chunk-ER2VONWQ.js} +1 -1
  49. package/dist/chunks/{chunk-TAXCMCYZ.js → chunk-ESOIZG2G.js} +4 -4
  50. package/dist/chunks/{chunk-CCZ276IA.js → chunk-F2EUZG2W.js} +1 -1
  51. package/dist/chunks/{chunk-VJR2GNRY.js → chunk-FVMTQSVW.js} +1 -1
  52. package/dist/chunks/{chunk-YI6ME6PU.js → chunk-GG6PM7TB.js} +1 -1
  53. package/dist/chunks/{chunk-DDOIPTOM.js → chunk-GMA365GI.js} +1 -1
  54. package/dist/chunks/{chunk-JVMSN7LH.js → chunk-GR4MJJCE.js} +1 -1
  55. package/dist/chunks/{chunk-FHDH4OUA.js → chunk-GUWNSMGH.js} +1 -1
  56. package/dist/chunks/{chunk-AFH462DO.js → chunk-HT6ILPD6.js} +1 -1
  57. package/dist/chunks/{chunk-3Z4VM2LF.js → chunk-HUMNLSCV.js} +1 -1
  58. package/dist/chunks/{chunk-XYZV3FKD.js → chunk-I6KTJ3GH.js} +1 -1
  59. package/dist/chunks/{chunk-WZ35ICTE.js → chunk-IFMWAOBR.js} +1 -1
  60. package/dist/chunks/{chunk-R2FYCJL6.js → chunk-IJJ7FYZE.js} +1 -1
  61. package/dist/chunks/{chunk-XHACK2KR.js → chunk-IUYGQO2K.js} +1 -1
  62. package/dist/chunks/{chunk-55YD4UTW.js → chunk-IV2HEX3I.js} +1 -1
  63. package/dist/chunks/{chunk-U7X5ZLAL.js → chunk-JCHLDNCX.js} +1 -1
  64. package/dist/chunks/{chunk-7PKDJHT6.js → chunk-JH4RACOB.js} +1 -1
  65. package/dist/chunks/{chunk-65WRWLUD.js → chunk-JVEIK4RH.js} +1 -1
  66. package/dist/chunks/{chunk-PPF6EBTQ.js → chunk-K3WM4NEC.js} +1 -1
  67. package/dist/chunks/{chunk-EGP6DF34.js → chunk-KASHK2U5.js} +2 -2
  68. package/dist/chunks/{chunk-7OFD6TFD.js → chunk-LMLGEOKV.js} +1 -1
  69. package/dist/chunks/{chunk-QUNQM2E3.js → chunk-MPEK4ZNY.js} +1 -1
  70. package/dist/chunks/{chunk-SDHG6CKU.js → chunk-NDNSLCPE.js} +1 -1
  71. package/dist/chunks/chunk-NK2L5HA2.js +2 -0
  72. package/dist/chunks/{chunk-WCNPGKST.js → chunk-O4YHISU2.js} +1 -1
  73. package/dist/chunks/{chunk-RCQYEHHD.js → chunk-O5ZOW474.js} +1 -1
  74. package/dist/chunks/{chunk-OXQ2WFIH.js → chunk-OEAKX5TS.js} +1 -1
  75. package/dist/chunks/{chunk-54755JYM.js → chunk-OFV26C2U.js} +2 -2
  76. package/dist/chunks/{chunk-IO5DZUKL.js → chunk-OI4DAZ4U.js} +1 -1
  77. package/dist/chunks/{chunk-Q73RKX7I.js → chunk-OIIE5GUK.js} +1 -1
  78. package/dist/chunks/{chunk-CUB6PWAJ.js → chunk-OKPV6MBX.js} +6 -6
  79. package/dist/chunks/{chunk-N5EAVX4G.js → chunk-OOKHHOIU.js} +1 -1
  80. package/dist/chunks/{chunk-MIFVX5PK.js → chunk-OQ4RWCYI.js} +1 -1
  81. package/dist/chunks/{chunk-EWH64WRR.js → chunk-OTG77H7U.js} +1 -1
  82. package/dist/chunks/{chunk-7OKZCJHS.js → chunk-OXRN2257.js} +1 -1
  83. package/dist/chunks/{chunk-JVNKSU27.js → chunk-PJJSQ4ZI.js} +1 -1
  84. package/dist/chunks/{chunk-7TM25J6S.js → chunk-PXQZOVSV.js} +2 -2
  85. package/dist/chunks/{chunk-YAA7F5LI.js → chunk-QKGNAYSC.js} +1 -1
  86. package/dist/chunks/{chunk-67U7PAMU.js → chunk-QN4CFJQC.js} +1 -1
  87. package/dist/chunks/{chunk-HES4VP3D.js → chunk-RJY4EI46.js} +1 -1
  88. package/dist/chunks/{chunk-E2JB5OCO.js → chunk-RP4DPUN2.js} +1 -1
  89. package/dist/chunks/{chunk-QLGP2OAQ.js → chunk-SNBFWBJI.js} +1 -1
  90. package/dist/chunks/{chunk-ZK3ET5EP.js → chunk-SRJTQS2D.js} +3 -3
  91. package/dist/chunks/{chunk-XY7HFXLH.js → chunk-SVLVIYH2.js} +1 -1
  92. package/dist/chunks/{chunk-7NCM6GBN.js → chunk-TOWY6Y23.js} +1 -1
  93. package/dist/chunks/{chunk-VWWKWYSQ.js → chunk-TWLPZHH7.js} +1 -1
  94. package/dist/chunks/{chunk-Y4I6CFZJ.js → chunk-UGDBMRCT.js} +1 -1
  95. package/dist/chunks/{chunk-JQOVC35K.js → chunk-UKTPX2EE.js} +1 -1
  96. package/dist/chunks/{chunk-CO23RRN7.js → chunk-UMRQKE3W.js} +1 -1
  97. package/dist/chunks/{chunk-B66QCXH2.js → chunk-USKCFST5.js} +1 -1
  98. package/dist/chunks/{chunk-3A2Y7UK3.js → chunk-USTDWGR4.js} +1 -1
  99. package/dist/chunks/{chunk-CIZI6Z7D.js → chunk-VMW23TIZ.js} +1 -1
  100. package/dist/chunks/{chunk-Y4E5AAI7.js → chunk-VND53FAU.js} +1 -1
  101. package/dist/chunks/{chunk-4G3GTEVS.js → chunk-VSQPWLAG.js} +1 -1
  102. package/dist/chunks/{chunk-KCLMA2IH.js → chunk-VV4K5YPD.js} +1 -1
  103. package/dist/chunks/{chunk-7RJOCGQ6.js → chunk-WAUFXZ5B.js} +1 -1
  104. package/dist/chunks/{chunk-HG2YFMVU.js → chunk-WXG3G2O6.js} +1 -1
  105. package/dist/chunks/{chunk-PACLKDTN.js → chunk-XBAB3HMA.js} +1 -1
  106. package/dist/chunks/chunk-XJU47QS2.js +2 -0
  107. package/dist/chunks/{chunk-WGQ3FMRF.js → chunk-XKDOPNQ5.js} +1 -1
  108. package/dist/chunks/{chunk-EYTTZ5H4.js → chunk-XLZMSD5K.js} +1 -1
  109. package/dist/chunks/{chunk-Q7FBVLLB.js → chunk-XNPTLJ5Z.js} +1 -1
  110. package/dist/chunks/{chunk-ZIQJDTQB.js → chunk-XTT3K3TR.js} +1 -1
  111. package/dist/chunks/{chunk-Q7P34B2O.js → chunk-YFHQRDNQ.js} +1 -1
  112. package/dist/chunks/{chunk-UGFSAG4U.js → chunk-YG3HITOU.js} +1 -1
  113. package/dist/chunks/{chunk-DWF3FCY4.js → chunk-Z5R4OSGC.js} +1 -1
  114. package/dist/chunks/{chunk-JT5YQ52I.js → chunk-Z6HWSTEP.js} +1 -1
  115. package/dist/chunks/{chunk-4PUOWSDE.js → chunk-ZEOYNUHL.js} +1 -1
  116. package/dist/chunks/{chunk-6C6ZCYTL.js → chunk-ZG3DBXQG.js} +1 -1
  117. package/dist/chunks/{chunk-4KTGYHCE.js → chunk-ZMRP2A7K.js} +1 -1
  118. package/dist/chunks/cli-5JARGJOD.js +2 -0
  119. package/dist/chunks/{command-5AXJMFYC.js → command-AI3SMEAH.js} +3 -3
  120. package/dist/chunks/{configuration-command-5LUNWPOL.js → configuration-command-NPA46ZOT.js} +1 -1
  121. package/dist/chunks/{connected-app-executor-DHXZE4X3.js → connected-app-executor-DLC23O43.js} +1 -1
  122. package/dist/chunks/{connected-evidence-NWMPICKJ.js → connected-evidence-TVORI55Q.js} +1 -1
  123. package/dist/chunks/{connected-starting-assets-NRVXIKQ2.js → connected-starting-assets-WGGBWH4K.js} +1 -1
  124. package/dist/chunks/{continual-UCKQ2QLH.js → continual-UHQI2EQD.js} +1 -1
  125. package/dist/chunks/{core-commands-ZPBX35M2.js → core-commands-QNZUBKOC.js} +1 -1
  126. package/dist/chunks/{dataset-preparation-authoring-UUYFWWCT.js → dataset-preparation-authoring-OBMJLGA4.js} +1 -1
  127. package/dist/chunks/{datasets-6K3ZANIV.js → datasets-USJLJOEQ.js} +1 -1
  128. package/dist/chunks/{desktop-test-57INNJ76.js → desktop-test-IYHAOR47.js} +1 -1
  129. package/dist/chunks/{dist-2MKJC6HN.js → dist-C5XFRP53.js} +1 -1
  130. package/dist/chunks/{evaluation-coordination-B7CN4R2D.js → evaluation-coordination-UJENK4WQ.js} +1 -1
  131. package/dist/chunks/{experiment-improvements-G357VLDB.js → experiment-improvements-6GJMKIER.js} +1 -1
  132. package/dist/chunks/{experiments-BHQO26LJ.js → experiments-FZHILSC6.js} +1 -1
  133. package/dist/chunks/{experiments-signal-BI6NKETB.js → experiments-signal-E32CWBS4.js} +1 -1
  134. package/dist/chunks/{help-UQN5RUPA.js → help-32DLAPJR.js} +1 -1
  135. package/dist/chunks/host-profile-evaluation-tools-QAV2UGSB.js +2 -0
  136. package/dist/chunks/{host-profile-external-dataset-KSEPXY2S.js → host-profile-external-dataset-C6ZPMTX6.js} +1 -1
  137. package/dist/chunks/{hosted-app-server-composition-WDDO6F23.js → hosted-app-server-composition-5DVBKNV3.js} +1 -1
  138. package/dist/chunks/{hosted-experiment-improvement-VVYXQ65K.js → hosted-experiment-improvement-YQ24C54D.js} +1 -1
  139. package/dist/chunks/hosted-harness-runtime-KLIORGWV.js +2 -0
  140. package/dist/chunks/{hosted-profile-candidate-PTGQLPZO.js → hosted-profile-candidate-RCWFLOVJ.js} +1 -1
  141. package/dist/chunks/{hosted-profile-compiler-FS5R6CHJ.js → hosted-profile-compiler-UDG4BCEW.js} +1 -1
  142. package/dist/chunks/{hosted-profile-evaluation-control-UUEZEMXU.js → hosted-profile-evaluation-control-4R3L4FTK.js} +1 -1
  143. package/dist/chunks/{hosted-profile-evaluation-inspection-4F7OEF4T.js → hosted-profile-evaluation-inspection-NA4SSY7N.js} +1 -1
  144. package/dist/chunks/{hosted-profile-evaluation-preparation-LIJJZDHQ.js → hosted-profile-evaluation-preparation-B4BW6JTB.js} +1 -1
  145. package/dist/chunks/{hosted-tasksets-KCLNMPG5.js → hosted-tasksets-IUK3VWSL.js} +1 -1
  146. package/dist/chunks/{human-review-PX6DBIFT.js → human-review-D6QCZLYN.js} +1 -1
  147. package/dist/chunks/{import-2HEYPHPW.js → import-UCG75PN5.js} +1 -1
  148. package/dist/chunks/{learning-Y3UKNUGE.js → learning-3XDYMYBE.js} +1 -1
  149. package/dist/chunks/{learning-LSXBL5DB.js → learning-OR4CYV4B.js} +1 -1
  150. package/dist/chunks/local-harness-improvement-runtime-GZBMBZB2.js +2 -0
  151. package/dist/chunks/local-harness-taskset-review-YVP2ZQJG.js +2 -0
  152. package/dist/chunks/{model-projects-6YWVD2TS.js → model-projects-POZRHXTF.js} +1 -1
  153. package/dist/chunks/{opchat-66BCRKEZ.js → opchat-APJUUTT7.js} +1 -1
  154. package/dist/chunks/{opchat-bounded-chat-KQWXZVFN.js → opchat-bounded-chat-PBUSUAY2.js} +1 -1
  155. package/dist/chunks/{organizations-IOYWDOCC.js → organizations-WK6EZ6L3.js} +1 -1
  156. package/dist/chunks/{profile-YH6G3ZTD.js → profile-BQMS7ALQ.js} +1 -1
  157. package/dist/chunks/{project-action-payload-53OH6WDH.js → project-action-payload-CGV77JSA.js} +1 -1
  158. package/dist/chunks/{project-agent-RYVMKW2F.js → project-agent-XVFYTEUQ.js} +1 -1
  159. package/dist/chunks/{published-experiment-source-SDXUVPE7.js → published-experiment-source-2CYFIRBL.js} +1 -1
  160. package/dist/chunks/{refiner-profile-service-56VYLZQJ.js → refiner-profile-service-OLJHA4DI.js} +1 -1
  161. package/dist/chunks/{runtime-ISLJIGWC.js → runtime-32KYSVZR.js} +1 -1
  162. package/dist/chunks/{sandbox-command-DI45NRTV.js → sandbox-command-OY3VZXGG.js} +1 -1
  163. package/dist/chunks/{sandbox-template-T42MDUSR.js → sandbox-template-YOOSJ4FK.js} +1 -1
  164. package/dist/chunks/saved-work-L4KNWLZB.js +2 -0
  165. package/dist/chunks/{setup-D6TY2GWV.js → setup-EU6CMRXQ.js} +1 -1
  166. package/dist/chunks/{src-LF5X4RNQ.js → src-3DJR7OAH.js} +1 -1
  167. package/dist/chunks/{src-7RN7BF4W.js → src-HYOTHMRX.js} +111 -113
  168. package/dist/chunks/{standalone-experiment-turn-owner-TW5MTWIO.js → standalone-experiment-turn-owner-UYPA6XHW.js} +1 -1
  169. package/dist/chunks/{store-chat-resources-IRHBW2EC.js → store-chat-resources-HISLEZZM.js} +1 -1
  170. package/dist/chunks/{store-continual-support-reviews-3KK42L4I.js → store-continual-support-reviews-ORWHS57V.js} +1 -1
  171. package/dist/chunks/{store-conversation-serving-IVURK52V.js → store-conversation-serving-5UGYKEGJ.js} +1 -1
  172. package/dist/chunks/{store-create-improve-UTCLBXF2.js → store-create-improve-APLPTVYQ.js} +1 -1
  173. package/dist/chunks/{store-datasets-4AQOVAQY.js → store-datasets-HDW6IYBL.js} +1 -1
  174. package/dist/chunks/{store-evaluation-results-PK2P3IMH.js → store-evaluation-results-KB2UDCF3.js} +1 -1
  175. package/dist/chunks/{store-harness-workspaces-YEXB4IRV.js → store-harness-workspaces-TKX5PZWP.js} +1 -1
  176. package/dist/chunks/{store-human-review-O4BVHP25.js → store-human-review-IURNTX3C.js} +1 -1
  177. package/dist/chunks/{store-learned-preference-migration-validation-44SVX6YB.js → store-learned-preference-migration-validation-TH2LKQWV.js} +1 -1
  178. package/dist/chunks/{store-learning-SIUQIY5C.js → store-learning-WLUW2PWE.js} +1 -1
  179. package/dist/chunks/{store-learning-credentials-BUHR7SN6.js → store-learning-credentials-FDKCEDHK.js} +1 -1
  180. package/dist/chunks/{store-local-experiments-BHVTKPPE.js → store-local-experiments-M4V5RLHJ.js} +1 -1
  181. package/dist/chunks/{store-model-batch-review-RVAYUVK2.js → store-model-batch-review-DDZLWVTG.js} +1 -1
  182. package/dist/chunks/{store-model-configuration-AYFGMC5D.js → store-model-configuration-ATOFA5OH.js} +1 -1
  183. package/dist/chunks/{store-model-project-preparation-5DEIS7TB.js → store-model-project-preparation-ZRSCQEQR.js} +1 -1
  184. package/dist/chunks/{store-modification-recordings-LCPK6K2T.js → store-modification-recordings-YJIDUPVJ.js} +1 -1
  185. package/dist/chunks/{store-preference-comparison-5YVIQNVB.js → store-preference-comparison-JKURBESE.js} +1 -1
  186. package/dist/chunks/{store-task-inbox-L6IQTY26.js → store-task-inbox-L53OT6ZC.js} +1 -1
  187. package/dist/chunks/{store-task-inventory-QWS2C656.js → store-task-inventory-R2JJGAHW.js} +1 -1
  188. package/dist/chunks/{store-taskset-drafts-EAOOY6CR.js → store-taskset-drafts-FPNJPFPO.js} +1 -1
  189. package/dist/chunks/{store-training-FYXZU2FE.js → store-training-DIBW7OMP.js} +1 -1
  190. package/dist/chunks/{store-training-jobs-3N3VKPIY.js → store-training-jobs-K7I4SXWW.js} +1 -1
  191. package/dist/chunks/{store-training-models-VOFVGPZR.js → store-training-models-LCSB37YY.js} +1 -1
  192. package/dist/chunks/{taskset-HNDIGYQG.js → taskset-XI5SJBJL.js} +1 -1
  193. package/dist/chunks/{taskset-packages-WMG5DUBN.js → taskset-packages-FUQWNTSB.js} +1 -1
  194. package/dist/chunks/{taskset-packages-T6B6HYKZ.js → taskset-packages-GM6IUOTY.js} +1 -1
  195. package/dist/chunks/{teams-bot-Z5CZLWE4.js → teams-bot-CYC5TR64.js} +1 -1
  196. package/dist/chunks/{tool-learning-ZQ6NSJ5K.js → tool-learning-52QZIJIR.js} +1 -1
  197. package/dist/chunks/{training-JTYQA7GA.js → training-GDLLLXSV.js} +1 -1
  198. package/dist/chunks/training-RL7UUBER.js +2 -0
  199. package/dist/chunks/training-UJ62NOJJ.js +2 -0
  200. package/dist/chunks/{training-hosted-36SZFS4U.js → training-hosted-V5CHG3M3.js} +1 -1
  201. package/dist/chunks/{training-hosted-alphaedit-HSMRDJTD.js → training-hosted-alphaedit-R5PVATV4.js} +1 -1
  202. package/dist/chunks/{training-hosted-decision-7JALOU6O.js → training-hosted-decision-WNK5DE3M.js} +1 -1
  203. package/dist/chunks/{training-hosted-engram-SXO75MFG.js → training-hosted-engram-ZQDOKXAV.js} +1 -1
  204. package/dist/chunks/{training-hosted-learning-E2N32YU5.js → training-hosted-learning-UEBGSSNC.js} +1 -1
  205. package/dist/chunks/{training-hosted-modification-comparison-TXFDJFTG.js → training-hosted-modification-comparison-KKI5CKOH.js} +1 -1
  206. package/dist/chunks/{training-hosted-neuron-training-J42WK4EH.js → training-hosted-neuron-training-CFWEDRSR.js} +1 -1
  207. package/dist/chunks/{training-hosted-serving-report-BAEABGJH.js → training-hosted-serving-report-N4NF5AVW.js} +1 -1
  208. package/dist/chunks/{training-hosted-steering-T556BUBG.js → training-hosted-steering-4MDUQ2YV.js} +1 -1
  209. package/dist/chunks/{training-model-start-P3PXDWNT.js → training-model-start-NOA6TYQK.js} +1 -1
  210. package/dist/cli.js +1 -1
  211. package/dist/index.js +1 -1
  212. package/dist/skills/manifest.json +3 -3
  213. package/dist/skills/openpond-cli/references/experiments-and-training.md +19 -0
  214. package/dist/web/assets/App-L7RV4D0A.js +54 -0
  215. package/dist/web/assets/{AppDialog-x1HU1uLv.js → AppDialog-B2V84J7f.js} +1 -1
  216. package/dist/web/assets/{AppTerminalPanel-CNIKmqKc.js → AppTerminalPanel-DfYpUDKT.js} +2 -2
  217. package/dist/web/assets/{AppToastContext-DNWd43HS.js → AppToastContext-DuiPouLz.js} +1 -1
  218. package/dist/web/assets/{AppsView-BvOD83Z1.js → AppsView-B20RHDCy.js} +1 -1
  219. package/dist/web/assets/{AttachmentTypeIcon-BLdDr3JZ.js → AttachmentTypeIcon-l-GRNxaz.js} +1 -1
  220. package/dist/web/assets/{BrowserSidebar-Ar0FlFKg.js → BrowserSidebar-Ce0ToS2O.js} +1 -1
  221. package/dist/web/assets/{CartesianChart-tS7f1HZv.js → CartesianChart-CtfMRAfp.js} +1 -1
  222. package/dist/web/assets/{ChatTimelineEntry-z7_kur3h.js → ChatTimelineEntry-DzcucW20.js} +1 -1
  223. package/dist/web/assets/{CollaborationTabs-CaiFEKrv.js → CollaborationTabs-BpmKjNAC.js} +1 -1
  224. package/dist/web/assets/{CommandMenu-BpubEqaA.js → CommandMenu-JXsoxijv.js} +1 -1
  225. package/dist/web/assets/{CommunityView-TGR4s99l.js → CommunityView-ggdn8pcH.js} +1 -1
  226. package/dist/web/assets/{ComposerAttachments-DPWCjKXz.js → ComposerAttachments-BMmALUs_.js} +1 -1
  227. package/dist/web/assets/{ComposerCreateImproveStrip-Drji01_6.js → ComposerCreateImproveStrip-DcM1bkfu.js} +1 -1
  228. package/dist/web/assets/{ConversationImportsSettings-B_oW0cz7.js → ConversationImportsSettings-BKNeARHI.js} +1 -1
  229. package/dist/web/assets/{DatasetReviewImport-Dr3unJSY.js → DatasetReviewImport-DyFOE0Q0.js} +1 -1
  230. package/dist/web/assets/{ExperimentTrainingDataWorkspace-DObvpJAw.js → ExperimentTrainingDataWorkspace-CfOyoMrq.js} +2 -2
  231. package/dist/web/assets/{FilePagePreview-9kkXbARN.js → FilePagePreview-B7bWObJN.js} +2 -2
  232. package/dist/web/assets/{GetStartedView-Dv2b_SlH.js → GetStartedView-BYbFl93M.js} +1 -1
  233. package/dist/web/assets/{GettingStartedDialog-sPaPMc61.js → GettingStartedDialog-UgreDozV.js} +1 -1
  234. package/dist/web/assets/{HostedModelLearningReview-BlwhGxS6.js → HostedModelLearningReview-C_kng2U_.js} +1 -1
  235. package/dist/web/assets/{HostedModelLearningSettings-B5ahk3je.js → HostedModelLearningSettings-aesD_ifF.js} +1 -1
  236. package/dist/web/assets/{HtmlVisual-rGsClq0p.js → HtmlVisual-nvl1x-jh.js} +1 -1
  237. package/dist/web/assets/{LabModelVersionDetailPage-Da7AwZWV.js → LabModelVersionDetailPage-DrdoNvI-.js} +1 -1
  238. package/dist/web/assets/{LabModelWorkspace-DTeYViWH.js → LabModelWorkspace-CHlhzG3q.js} +1 -1
  239. package/dist/web/assets/{LabSkillSidebar-BieHbNl6.js → LabSkillSidebar-CqHeZzoj.js} +1 -1
  240. package/dist/web/assets/{LabsRoute-D3XqPB0-.js → LabsRoute-DzEbPpMK.js} +4 -4
  241. package/dist/web/assets/{LearningBatchesPage-CCBuf2u4.js → LearningBatchesPage-A2dFQW2j.js} +1 -1
  242. package/dist/web/assets/{MainChatThread-B6BQJfcq.js → MainChatThread-BSvKu4e5.js} +2 -2
  243. package/dist/web/assets/{MainPane-D3fQou29.js → MainPane-DiWIAxMj.js} +6 -6
  244. package/dist/web/assets/{ModelProjectPageHeader-BZn9Lu_J.js → ModelProjectPageHeader-lu6iRXHK.js} +1 -1
  245. package/dist/web/assets/{NativeSetupTerminal-Bglqab_g.js → NativeSetupTerminal-kZ-nFPE8.js} +2 -2
  246. package/dist/web/assets/{NativeSkillSidebar-pUGRdnV_.js → NativeSkillSidebar-DkkD1uH2.js} +1 -1
  247. package/dist/web/assets/{NewProjectDialog-BpHN38MA.js → NewProjectDialog-Dg8dMEpc.js} +1 -1
  248. package/dist/web/assets/{OutputsPage-LunDCQ6w.js → OutputsPage-Dz190U9t.js} +1 -1
  249. package/dist/web/assets/{PageChrome-DThEcWAx.js → PageChrome-Bncv-ps0.js} +1 -1
  250. package/dist/web/assets/{ProjectsPage-vct_TQgL.js → ProjectsPage-DVkYvLtd.js} +1 -1
  251. package/dist/web/assets/{RightChatPanelStack-CgFK7DY0.js → RightChatPanelStack-CP4leenI.js} +1 -1
  252. package/dist/web/assets/RightSidebarHomePanel-C0etQXpt.js +1 -0
  253. package/dist/web/assets/{ScheduledWorkPage-mmaZfybl.js → ScheduledWorkPage-DI0mgt82.js} +1 -1
  254. package/dist/web/assets/{SettingsView-CJfeRsWR.js → SettingsView-cCtkr089.js} +3 -3
  255. package/dist/web/assets/{TasksetDraftEditorPrimitives-CuimAfkv.js → TasksetDraftEditorPrimitives-DCQTuswJ.js} +1 -1
  256. package/dist/web/assets/{TeamChatView-BcK0lF1b.js → TeamChatView-BBEomfQ7.js} +1 -1
  257. package/dist/web/assets/{TerminalOverlay-0pzEvy-C.js → TerminalOverlay-Dj5NUDMp.js} +1 -1
  258. package/dist/web/assets/{TrainingCreationPanel-CcyzFz7l.js → TrainingCreationPanel-Ds4PLfsd.js} +1 -1
  259. package/dist/web/assets/{TrainingDraftPanel-DSLZXdLz.js → TrainingDraftPanel-BAuh_BF3.js} +1 -1
  260. package/dist/web/assets/{UsageSettingsSection-BT9pcnCn.js → UsageSettingsSection-DbzeatcW.js} +1 -1
  261. package/dist/web/assets/WorkSidebarPanel-BaNuXoZc.js +1 -0
  262. package/dist/web/assets/{WorkspaceDiffPanel-Bbz5qrVA.js → WorkspaceDiffPanel-xk-ve1MO.js} +3 -3
  263. package/dist/web/assets/{WorkspaceEnvironmentMenu-6hXpvMTl.js → WorkspaceEnvironmentMenu-D8GSuoYz.js} +1 -1
  264. package/dist/web/assets/{WorkspaceFileLocation-BijVemBl.js → WorkspaceFileLocation-Dl8M2ZKN.js} +1 -1
  265. package/dist/web/assets/{WorkspaceGitDialogs-BOO0E5i9.js → WorkspaceGitDialogs-9BhLjYx4.js} +1 -1
  266. package/dist/web/assets/{WorkspaceMonacoEditor-B_YzK7Do.js → WorkspaceMonacoEditor-DYPuC7pj.js} +3 -3
  267. package/dist/web/assets/{WorkspacePdfPreview-CFti1fvu.js → WorkspacePdfPreview-B7BI9tLR.js} +2 -2
  268. package/dist/web/assets/{WorkspacePresentationPreview-DPAhNaV6.js → WorkspacePresentationPreview-sP7JUT7m.js} +1 -1
  269. package/dist/web/assets/{bot-BE2rL_qv.js → bot-D7M8ZtE6.js} +1 -1
  270. package/dist/web/assets/{chat-resources-Beh5lB36.js → chat-resources-DhKAnljP.js} +1 -1
  271. package/dist/web/assets/chevron-down-BAEcJitl.js +1 -0
  272. package/dist/web/assets/chevron-right-3G9s2cQ9.js +1 -0
  273. package/dist/web/assets/chevron-up-DTYF52H1.js +1 -0
  274. package/dist/web/assets/{chunk-C3TS766N-j1MK0e3c.js → chunk-C3TS766N-DENE60SE.js} +1 -1
  275. package/dist/web/assets/{client-choice-storage-CQ0CNkzG.js → client-choice-storage-DYZsrVr9.js} +1 -1
  276. package/dist/web/assets/{client-BnJhN-14.js → client-gy7zrd7a.js} +1 -1
  277. package/dist/web/assets/{cloud-upload-DFjZE4O4.js → cloud-upload-De-XSMUr.js} +1 -1
  278. package/dist/web/assets/{copy-CGrLUtw5.js → copy-DEK20zbZ.js} +1 -1
  279. package/dist/web/assets/{cssMode-DvRw2fUx.js → cssMode-Dau-Fhqf.js} +1 -1
  280. package/dist/web/assets/{external-link-3ZnEFUXd.js → external-link-DwDry0Fb.js} +1 -1
  281. package/dist/web/assets/{folder-open-i9n8450i.js → folder-open-DOb4AjV6.js} +1 -1
  282. package/dist/web/assets/{folder-plus-cu8Md_ej.js → folder-plus-BAouDaXv.js} +1 -1
  283. package/dist/web/assets/{git-commit-horizontal-CwckmC09.js → git-commit-horizontal-DZbHXcai.js} +1 -1
  284. package/dist/web/assets/{htmlMode-8VF4Ovtw.js → htmlMode-DlNEe6hu.js} +1 -1
  285. package/dist/web/assets/{icons-4yRSxBZj.js → icons-OQhKVrDc.js} +1 -1
  286. package/dist/web/assets/{image-D-umhyyK.js → image-BkYJDChH.js} +1 -1
  287. package/dist/web/assets/{index-DiVhx1GM.js → index-M_h2Ok4V.js} +2 -2
  288. package/dist/web/assets/{info-Dq2RsPDJ.js → info-Mj5lp4Ic.js} +1 -1
  289. package/dist/web/assets/{jsonMode-CvCYQHkB.js → jsonMode-CyOEyonV.js} +1 -1
  290. package/dist/web/assets/loader-circle-DXVtGvuV.js +1 -0
  291. package/dist/web/assets/{lspLanguageFeatures-CjufNNFF.js → lspLanguageFeatures-DAYPzatg.js} +1 -1
  292. package/dist/web/assets/{maximize-2-CKY8dua6.js → maximize-2-BwFXSX6b.js} +1 -1
  293. package/dist/web/assets/{message-square-CVDgKlKX.js → message-square-C2nqfNLn.js} +1 -1
  294. package/dist/web/assets/{monaco.contribution-BYAgjZbj.js → monaco.contribution-BZcNCJER.js} +2 -2
  295. package/dist/web/assets/{monaco.contribution-BYY3-y9l.js → monaco.contribution-BZkfRhss.js} +2 -2
  296. package/dist/web/assets/{monaco.contribution-Bh0CKj9i.js → monaco.contribution-D7_X8TXe.js} +2 -2
  297. package/dist/web/assets/{monaco.contribution-PjJ1258q.js → monaco.contribution-KyLdVay7.js} +2 -2
  298. package/dist/web/assets/{monitor-UYe42gew.js → monitor-B0Qj5Wea.js} +1 -1
  299. package/dist/web/assets/{paperclip-DrlSVUoz.js → paperclip-CmrRruxi.js} +1 -1
  300. package/dist/web/assets/{pdf-BMhday2W.js → pdf-BM-9_48p.js} +1 -1
  301. package/dist/web/assets/play-CkACZ6Zo.js +1 -0
  302. package/dist/web/assets/plus-CB258e62.js +1 -0
  303. package/dist/web/assets/{presentation-DcZKqH7w.js → presentation-BYxhoSIo.js} +1 -1
  304. package/dist/web/assets/{python-CiA01i07.js → python-B3Mj03I5.js} +1 -1
  305. package/dist/web/assets/{refresh-cw-00D-GDnF.js → refresh-cw-CwEmO71D.js} +1 -1
  306. package/dist/web/assets/{save-CXe7bqR7.js → save-S--FOuce.js} +1 -1
  307. package/dist/web/assets/{settings-lists-B5J40WM6.js → settings-lists-ChqDppMP.js} +1 -1
  308. package/dist/web/assets/square-BmPfHjGU.js +1 -0
  309. package/dist/web/assets/{square-terminal-DxC7TTds.js → square-terminal-CawpQtCi.js} +1 -1
  310. package/dist/web/assets/{submit-issue-command-Dq3TqJLV.js → submit-issue-command-CFitxxmO.js} +1 -1
  311. package/dist/web/assets/{toggleHighContrast-BH3Jckfo.js → toggleHighContrast-D-cMCvXx.js} +1 -1
  312. package/dist/web/assets/training-CzbWtx75.js +1 -0
  313. package/dist/web/assets/{training-model-data-B6IZ3x-t.js → training-model-data-G-D64935.js} +1 -1
  314. package/dist/web/assets/{tsMode-DXkj4bqC.js → tsMode-9kzS1ijG.js} +1 -1
  315. package/dist/web/assets/{upload-B3KRHVHl.js → upload-CtYsSYrM.js} +1 -1
  316. package/dist/web/assets/{useAccountSettings-BGRkTRrp.js → useAccountSettings-DYYa6puz.js} +1 -1
  317. package/dist/web/assets/{useAgentInventory-D_1AlAZJ.js → useAgentInventory-c5B_Tszj.js} +1 -1
  318. package/dist/web/assets/{useChatContextSelection-hoMSuUSE.js → useChatContextSelection-DOISZpTz.js} +1 -1
  319. package/dist/web/assets/{useLocalAgentSchedules-DxTER7Ow.js → useLocalAgentSchedules-QJ8RsMKm.js} +1 -1
  320. package/dist/web/assets/{useQuery-DkPec_9x.js → useQuery-DuTGOe2b.js} +1 -1
  321. package/dist/web/assets/{wifi-off-CMzpvbWl.js → wifi-off-BOfP4Vmg.js} +1 -1
  322. package/dist/web/assets/{workers-ziY_bTv2.js → workers-BwGpyrdj.js} +1 -1
  323. package/dist/web/assets/x-5_iy6IDd.js +1 -0
  324. package/dist/web/assets/{yaml-mSvqVSko.js → yaml-BU4IWV_7.js} +1 -1
  325. package/dist/web/index.html +1 -1
  326. package/docs/command-reference.md +1 -0
  327. package/package.json +1 -1
  328. package/dist/chunks/chunk-6D3FI2XT.js +0 -2
  329. package/dist/chunks/chunk-VEBW7NKD.js +0 -2
  330. package/dist/chunks/cli-ALEEFAJ7.js +0 -2
  331. package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +0 -2
  332. package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +0 -2
  333. package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +0 -2
  334. package/dist/chunks/local-harness-taskset-review-E5GN5LTR.js +0 -2
  335. package/dist/chunks/saved-work-54I5ZJTC.js +0 -2
  336. package/dist/chunks/training-5NT2YB2L.js +0 -2
  337. package/dist/chunks/training-UY6KRG4M.js +0 -2
  338. package/dist/web/assets/App-CXhxya9x.js +0 -54
  339. package/dist/web/assets/RightSidebarHomePanel-BJmzUcmy.js +0 -1
  340. package/dist/web/assets/WorkSidebarPanel-CP-nHAsJ.js +0 -1
  341. package/dist/web/assets/chevron-down-Bn8yph2O.js +0 -1
  342. package/dist/web/assets/chevron-right-BU-jUmb2.js +0 -1
  343. package/dist/web/assets/chevron-up-DacwuDJZ.js +0 -1
  344. package/dist/web/assets/loader-circle-DBl6qqtR.js +0 -1
  345. package/dist/web/assets/play-DIqZnaNf.js +0 -1
  346. package/dist/web/assets/plus-CFNxAPMK.js +0 -1
  347. package/dist/web/assets/square-DJEaBefe.js +0 -1
  348. package/dist/web/assets/training-DWfghwfZ.js +0 -1
  349. package/dist/web/assets/x-omjwMPbJ.js +0 -1
@@ -1,54 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CommandMenu-BpubEqaA.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-DiVhx1GM.js","assets/index-g7UqJhnX.css","assets/app-models-BUdzQbXo.js","assets/settings-BC-bzgk6.js","assets/schemas-Brv9Vmnk.js","assets/common-BWVSBnpX.js","assets/model-display-zPvC4L2B.js","assets/icons-4yRSxBZj.js","assets/message-square-CVDgKlKX.js","assets/CommandMenu-CiQVR7W9.css","assets/SettingsView-CJfeRsWR.js","assets/client-choice-storage-CQ0CNkzG.js","assets/api-client-DJRVOFzS.js","assets/WorkspaceDiffPanel-Bbz5qrVA.js","assets/useQuery-DkPec_9x.js","assets/create-pipeline-DsZzNkt9.js","assets/query-scope-BRpcgljO.js","assets/training-model-data-B6IZ3x-t.js","assets/copy-CGrLUtw5.js","assets/x-omjwMPbJ.js","assets/chevron-up-DacwuDJZ.js","assets/folder-open-i9n8450i.js","assets/info-Dq2RsPDJ.js","assets/loader-circle-DBl6qqtR.js","assets/maximize-2-CKY8dua6.js","assets/plus-CFNxAPMK.js","assets/refresh-cw-00D-GDnF.js","assets/save-CXe7bqR7.js","assets/AppToastContext-DNWd43HS.js","assets/WorkspaceFileLocation-BijVemBl.js","assets/chevron-right-BU-jUmb2.js","assets/ponder-desktop-Ca-9KggQ.js","assets/wifi-off-CMzpvbWl.js","assets/bot-BE2rL_qv.js","assets/chevron-down-Bn8yph2O.js","assets/cloud-upload-DFjZE4O4.js","assets/external-link-3ZnEFUXd.js","assets/folder-plus-cu8Md_ej.js","assets/git-commit-horizontal-CwckmC09.js","assets/settings-lists-B5J40WM6.js","assets/NativeSetupTerminal-Bglqab_g.js","assets/AppDialog-x1HU1uLv.js","assets/PageChrome-DThEcWAx.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/settings-lists-CBaz4cGG.css","assets/play-DIqZnaNf.js","assets/organization-types-PP-yuR2J.js","assets/useAccountSettings-BGRkTRrp.js","assets/useLocalAgentSchedules-DxTER7Ow.js","assets/SettingsView-Cc0376pY.css","assets/settings-forms-DLe1dTYN.css","assets/NewProjectDialog-BpHN38MA.js","assets/monitor-UYe42gew.js","assets/WorkspaceGitDialogs-BOO0E5i9.js","assets/upload-B3KRHVHl.js","assets/WorkspaceEnvironmentMenu-6hXpvMTl.js","assets/square-DJEaBefe.js","assets/square-terminal-DxC7TTds.js","assets/ui-theme.generated-D-mc26qt.js","assets/WorkspaceEnvironmentMenu-Cp0fstH2.css","assets/MainPane-D3fQou29.js","assets/useChatContextSelection-hoMSuUSE.js","assets/training-DWfghwfZ.js","assets/chunk-H3JZ3P5T-DolwEJXo.js","assets/chunk-GS5HEE4M-C0RLeIsy.js","assets/chunk-GCUWJUUM-Dy6oUNJ6.js","assets/reward-checks-DJJZYgf8.js","assets/chunk-Q4RGCEOI-Cr-dg4Nk.js","assets/chat-resources-Beh5lB36.js","assets/profile-ref-D8lxL7dW.js","assets/requests-DmeUYik4.js","assets/ComposerAttachments-DPWCjKXz.js","assets/AttachmentTypeIcon-BLdDr3JZ.js","assets/presentation-DcZKqH7w.js","assets/image-D-umhyyK.js","assets/work-outputs-D_8TovAK.js","assets/chunk-C3TS766N-j1MK0e3c.js","assets/intake-contracts-B8JZKYwb.js","assets/LabModelWorkspace-DTeYViWH.js","assets/CartesianChart-tS7f1HZv.js","assets/ModelProjectPageHeader-BZn9Lu_J.js","assets/LabModelWorkspace-DOrgCk9Z.css","assets/submit-issue-command-Dq3TqJLV.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-PVPCrsDJ.js","assets/browser-url-LACq2Ngu.js","assets/paperclip-DrlSVUoz.js","assets/MainPane-BZlNLfTM.css","assets/GettingStartedDialog-sPaPMc61.js","assets/GettingStartedDialog-EsH-8Diz.css","assets/TerminalOverlay-0pzEvy-C.js","assets/TerminalOverlay-DoUFGstN.css"])))=>i.map(i=>d[i]);
2
- import{i as e,t}from"./rolldown-runtime-Dd_uD5pT.js";import{c as n,g as r,h as i,m as a,n as o,p as s,s as c,t as l}from"./index-DiVhx1GM.js";import{C as u,D as d,E as f,M as p,N as m,P as h,S as g,T as _,_ as v,b as y,f as b,g as x,h as S,k as C,t as w,v as T,w as E,x as D,y as ee}from"./useQuery-DkPec_9x.js";import{E as O,S as k,T as A,a as j,c as te,d as M,g as N,h as ne,i as P,l as re,m as F,n as ie,o as I,p as L,r as R,s as z,v as B,x as ae}from"./schemas-Brv9Vmnk.js";import{c as V,d as H,i as U,l as oe,o as W,s as G}from"./common-BWVSBnpX.js";import{A as se,D as ce,d as le,l as ue,o as de,r as fe,s as pe,t as me,u as he,w as ge,x as _e}from"./settings-BC-bzgk6.js";import{a as ve,n as ye,o as be,r as xe,t as Se}from"./client-choice-storage-CQ0CNkzG.js";import{a as Ce,n as we,r as Te,t as Ee}from"./requests-DmeUYik4.js";import{t as De}from"./create-pipeline-DsZzNkt9.js";import{t as Oe}from"./profile-ref-D8lxL7dW.js";import{B as ke,H as Ae,R as je,St as Me,Tt as Ne,Y as K,Z as Pe,bt as Fe,c as Ie,d as Le,ft as Re,h as ze,i as Be,mt as Ve,nt as He,o as Ue,ot as We,s as Ge,st as Ke,v as qe,vt as Je,xt as Ye,yt as Xe,z as Ze}from"./chunk-H3JZ3P5T-DolwEJXo.js";import{t as Qe}from"./work-outputs-D_8TovAK.js";import{g as $e,i as et,r as tt,v as nt}from"./chunk-GS5HEE4M-C0RLeIsy.js";import{a as rt,i as it,n as at,o as ot,r as st,s as ct,t as lt}from"./intake-contracts-B8JZKYwb.js";import{Fn as ut,Pn as dt,Q as ft}from"./training-DWfghwfZ.js";import{B as pt,C as mt,D as ht,O as gt,S as _t,T as vt,U as yt,X as bt,_ as xt,a as St,b as Ct,c as wt,d as Tt,dt as Et,f as Dt,h as Ot,i as kt,k as At,l as jt,lt as Mt,n as Nt,r as Pt,s as Ft,st as It,t as Lt,u as Rt,v as zt,y as Bt}from"./chunk-GCUWJUUM-Dy6oUNJ6.js";import{n as Vt}from"./chunk-Q4RGCEOI-Cr-dg4Nk.js";import{n as Ht,t as Ut}from"./ponder-desktop-Ca-9KggQ.js";import{c as Wt,n as Gt}from"./chat-resources-Beh5lB36.js";import{A as Kt,C as qt,D as Jt,E as Yt,M as Xt,O as Zt,S as Qt,T as $t,_ as en,b as tn,f as nn,h as rn,j as an,l as on,m as sn,p as cn,u as ln,w as un,x as dn,y as fn}from"./app-models-BUdzQbXo.js";import{a as pn,c as mn,d as hn,i as gn,l as _n,n as q,r as vn,u as yn}from"./api-client-DJRVOFzS.js";import{C as bn,E as xn,F as Sn,I as Cn,L as wn,M as Tn,N as En,O as Dn,P as On,T as kn,b as An,d as jn,h as Mn,i as Nn,j as Pn,k as Fn,n as In,o as Ln,u as Rn,v as zn,x as Bn,y as Vn}from"./submit-issue-command-Dq3TqJLV.js";import{a as Hn,c as Un,i as Wn,l as Gn,n as Kn,o as qn,r as Jn,s as Yn,t as Xn,u as Zn}from"./browser-sidebar-links-PVPCrsDJ.js";import{t as Qn}from"./query-scope-BRpcgljO.js";import{t as $n}from"./icons-4yRSxBZj.js";import{t as er}from"./bot-BE2rL_qv.js";import{t as tr}from"./chevron-down-Bn8yph2O.js";import{t as nr}from"./chevron-right-BU-jUmb2.js";import{t as rr}from"./copy-CGrLUtw5.js";import{t as ir}from"./external-link-3ZnEFUXd.js";import{t as ar}from"./loader-circle-DBl6qqtR.js";import{t as or}from"./maximize-2-CKY8dua6.js";import{t as sr}from"./message-square-CVDgKlKX.js";import{t as cr}from"./plus-CFNxAPMK.js";import{t as lr}from"./refresh-cw-00D-GDnF.js";import{t as ur}from"./square-terminal-DxC7TTds.js";import{t as dr}from"./x-omjwMPbJ.js";import{a as fr,i as pr,n as mr,r as hr,t as gr}from"./AppToastContext-DNWd43HS.js";import{t as _r}from"./NativeSetupTerminal-Bglqab_g.js";import{a as vr,i as yr,t as br}from"./PageChrome-DThEcWAx.js";import{t as xr}from"./AppDialog-x1HU1uLv.js";import{a as Sr,i as Cr,o as wr,r as Tr,s as Er,t as Dr}from"./organization-types-PP-yuR2J.js";import{a as Or,d as kr,f as Ar,n as jr,u as Mr}from"./connected-app-mentions-D3wRZLwI.js";import{t as Nr}from"./ui-theme.generated-D-mc26qt.js";var Pr=class extends S{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Fr(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=x({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),T.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Fr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Ir=class extends y{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new Pr({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Lr(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Lr(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Lr(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Lr(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){T.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>E(t,e))}findAll(e={}){return this.getAll().filter(t=>E(e,t))}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return T.batch(()=>Promise.all(e.map(e=>e.continue().catch(f))))}};function Lr(e){return e.options.scope?.id}var Rr=class extends y{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??u(r,t),a=this.get(i);return a||(a=new b({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){T.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>_(e,t)):t}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){T.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){T.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},zr=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Rr,this.#t=e.mutationCache||new Ir,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=ee.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=v.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(C(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=D(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return T.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;T.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return T.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=T.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(f).catch(f)}invalidateQueries(e,t={}){return T.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=T.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(f)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(f)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(C(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(C(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(f).catch(f)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(f).catch(f)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return v.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(g(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{d(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(g(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{d(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=u(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===p&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function Br(e){return e}function Vr(){return new zr({defaultOptions:{queries:{staleTime:6e4,gcTime:9e5,retry:1,refetchOnWindowFocus:!1}}})}var Hr=F({id:B().trim().min(1).max(80),label:B().trim().min(1).max(160),description:B().trim().max(500).nullable().optional().default(null)}),Ur=F({id:B().trim().min(1),sessionId:B().trim().min(1),turnId:B().trim().min(1),toolCallId:B().trim().min(1),question:B().trim().min(1).max(2e3),reason:B().trim().max(1e3).nullable().optional().default(null),options:j(Hr).max(5).default([]),allowFreeform:I().default(!0),status:R([`pending`,`answered`,`dismissed`]),answer:F({optionId:B().trim().min(1).nullable(),text:B().max(4e3)}).nullable(),createdAt:B(),answeredAt:B().nullable()}),Wr=F({questionId:B().trim().min(1),action:R([`answer`,`dismiss`]),optionId:B().trim().min(1).nullable().optional().default(null),text:B().trim().max(4e3).optional().default(``)}),Gr=`https://openpond.ai`,Kr=[`slack`,`google`,`github`,`turnkey`,`x`,`microsoft_teams`,`mcp`],qr={slack:[ai(`slack.channel.bind`,`Bind channels`,`Bind Slack channels or threads to OpenPond profiles.`,`setup`,!1),ai(`slack.message.ingest`,`Ingest messages`,`Ingest Slack channel or thread activity into OpenPond context.`,`setup`,!1)],microsoft_teams:[ai(`microsoft_teams.channel.bind`,`Bind channels`,`Bind Teams channels or chats to OpenPond profiles.`,`setup`,!1),ai(`microsoft_teams.message.ingest`,`Ingest messages`,`Ingest Teams channel or chat activity into OpenPond context.`,`setup`,!1)],google:[ai(`google.drive.file.read`,`Read Drive files`,`Find and read Google Drive files.`,`read`,!0),ai(`google.drive.file.write`,`Write Drive files`,`Create or update approved Google Drive files.`,`write`,!0),ai(`google.docs.read`,`Read Docs`,`Read Google Docs content and structure.`,`read`,!0),ai(`google.docs.write`,`Edit Docs`,`Apply approved Google Docs edits.`,`write`,!0),ai(`google.comments.read`,`Read comments`,`Read Google file comments.`,`read`,!0),ai(`google.comments.write`,`Write comments`,`Create or resolve approved Google comments.`,`write`,!0)],github:[ai(`github.repo.read`,`Read repositories`,`Read repository metadata and file context.`,`read`,!0),ai(`github.issue.read`,`Read issues`,`Read GitHub issues and comments.`,`read`,!0),ai(`github.issue.write`,`Update issues`,`Create or update approved GitHub issue content.`,`write`,!0),ai(`github.pull_request.read`,`Read pull requests`,`Read pull request metadata, diffs, checks, and reviews.`,`read`,!0),ai(`github.pull_request.write`,`Update pull requests`,`Create approved comments or pull request updates.`,`write`,!0)],turnkey:[ai(`turnkey.wallets.read`,`Read Agent Wallet`,`Read the connected OpenPond Agent Wallet address and metadata.`,`read`,!0),ai(`turnkey.balances.read`,`Read wallet balances`,`Read balances for the connected OpenPond Agent Wallet.`,`read`,!0),ai(`turnkey.activities.read`,`Read wallet activity`,`Read recent Turnkey activity for the connected OpenPond Agent Wallet.`,`read`,!0)],x:[ai(`x.profile.read`,`Read profile`,`Read the connected X profile.`,`read`,!0),ai(`x.search.read`,`Search X`,`Search public X posts when granted.`,`read`,!0),ai(`x.mentions.read`,`Read mentions`,`Read mentions for the connected X account.`,`read`,!0),ai(`x.post.write`,`Post`,`Create approved X posts.`,`write`,!0),ai(`x.reply.write`,`Reply`,`Create approved X replies.`,`write`,!0)],mcp:[ai(`mcp.tool.discover`,`Discover tools`,`Discover team-scoped MCP tools.`,`tooling`,!1),ai(`mcp.tool.call`,`Call tools`,`Call approved MCP tools through the team endpoint.`,`tooling`,!1)]},Jr={slack:[],microsoft_teams:[],google:[si(`google.drive.search`,`search`,`Search Drive`,`Search Google Drive files by grounded query.`,[`google.drive.file.read`]),si(`google.drive.read_file`,`read`,`Read Drive file`,`Read Drive file metadata or exported content by stable ref.`,[`google.drive.file.read`],{requiredKeys:[`ref`]}),si(`google.docs.read`,`read`,`Read Google Doc`,`Read Google Docs content and structure by stable ref.`,[`google.docs.read`],{requiredKeys:[`ref`]}),si(`google.comments.read`,`read`,`Read comments`,`Read comments for a grounded Google file ref.`,[`google.comments.read`],{requiredKeys:[`ref`]}),si(`google.docs.update`,`write`,`Update Google Doc`,`Apply an explicitly approved Google Docs edit and return readback verification.`,[`google.docs.write`],{requiredKeys:[`ref`,`patch`]}),si(`google.comments.create`,`write`,`Create comment`,`Create an explicitly approved Google file comment and return readback verification.`,[`google.comments.write`],{requiredKeys:[`ref`,`body`]}),si(`google.comments.resolve`,`write`,`Resolve comment`,`Resolve an explicitly approved Google comment and return readback verification.`,[`google.comments.write`],{requiredKeys:[`ref`,`commentId`]})],github:[si(`github.repo.search`,`search`,`Search repositories`,`Search accessible repositories by owner, name, or topic.`,[`github.repo.read`]),si(`github.issue.search`,`search`,`Search issues`,`Search accessible GitHub issues.`,[`github.issue.read`]),si(`github.pull_request.search`,`search`,`Search pull requests`,`Search accessible GitHub pull requests.`,[`github.pull_request.read`]),si(`github.repo.read`,`read`,`Read repository`,`Read grounded repository metadata or file context.`,[`github.repo.read`],{requiredKeys:[`ref`]}),si(`github.issue.read`,`read`,`Read issue`,`Read a grounded GitHub issue and comments.`,[`github.issue.read`],{requiredKeys:[`ref`]}),si(`github.pull_request.read`,`read`,`Read pull request`,`Read a grounded pull request, checks, reviews, or diff summary.`,[`github.pull_request.read`],{requiredKeys:[`ref`]}),si(`github.issue.create`,`write`,`Create issue`,`Create an explicitly approved GitHub issue and return readback verification.`,[`github.issue.write`],{requiredKeys:[`repo`,`title`,`body`]}),si(`github.issue.comment`,`write`,`Comment on issue`,`Create an explicitly approved GitHub issue comment and return readback verification.`,[`github.issue.write`],{requiredKeys:[`ref`,`body`]}),si(`github.issue.update`,`write`,`Update issue`,`Apply an explicitly approved issue metadata/content update and return readback verification.`,[`github.issue.write`],{requiredKeys:[`ref`]}),si(`github.pull_request.comment`,`write`,`Comment on pull request`,`Create an explicitly approved pull request comment and return readback verification.`,[`github.pull_request.write`],{requiredKeys:[`ref`,`body`]}),si(`github.pull_request.update`,`write`,`Update pull request`,`Apply an explicitly approved pull request metadata update and return readback verification.`,[`github.pull_request.write`],{requiredKeys:[`ref`]})],turnkey:[si(`turnkey.wallets.read`,`read`,`Read Agent Wallet`,`Read the address and metadata for the connected OpenPond Agent Wallet.`,[`turnkey.wallets.read`]),si(`turnkey.balances.read`,`read`,`Read wallet balances`,`Read supported-network balances for the connected OpenPond Agent Wallet.`,[`turnkey.balances.read`]),si(`turnkey.activities.read`,`read`,`Read wallet activity`,`Read recent Turnkey activity for the connected OpenPond Agent Wallet.`,[`turnkey.activities.read`])],x:[si(`x.profile.read`,`read`,`Read profile`,`Read the connected X account profile.`,[`x.profile.read`]),si(`x.post.read`,`read`,`Read post`,`Read a public X post by stable ref, status URL, or post id.`,[`x.search.read`],{requiredKeys:[`ref`]}),si(`x.search.posts`,`search`,`Search recent posts`,`Search public X posts from the X recent-search window by grounded query.`,[`x.search.read`]),si(`x.mentions.search`,`search`,`Search mentions`,`Search mentions for the connected X account.`,[`x.mentions.read`]),si(`x.mention.read`,`read`,`Read mention`,`Read a grounded mention or post ref.`,[`x.mentions.read`],{requiredKeys:[`ref`]}),si(`x.post.create`,`write`,`Create post`,`Create an explicitly approved X post and return readback verification.`,[`x.post.write`],{requiredKeys:[`text`]}),si(`x.reply.create`,`write`,`Create reply`,`Create an explicitly approved X reply and return readback verification.`,[`x.reply.write`],{requiredKeys:[`inReplyToRef`,`text`]})],mcp:[]},Yr={google:[`# Google Connected App`,``,`Use Google only through server-provided connected app tools. Never ask for or infer OAuth tokens.`,`Before reading or editing, identify the exact Drive file, Doc, Sheet, Slide, or comment thread. If the target is ambiguous, ask a short clarification or search first.`,`Use only declared Google operation ids: google.drive.search, google.drive.read_file, google.docs.read, google.comments.read, google.docs.update, google.comments.create, google.comments.resolve.`,`For writes, require explicit user intent, summarize the planned change, and verify the target identity before applying updates.`,`After a write, read back the changed object or relevant range and report the result with the provider file name or stable reference.`,`Prefer narrow reads over broad Drive scans. Do not expose private file ids unless the tool result already presents them as stable refs.`].join(`
3
- `),github:[`# GitHub Connected App`,``,`Use GitHub only through server-provided connected app tools. Repository, issue, and pull request identity must be grounded before action.`,`Use only declared GitHub operation ids: github.repo.search, github.issue.search, github.pull_request.search, github.repo.read, github.issue.read, github.pull_request.read, github.issue.create, github.issue.comment, github.issue.update, github.pull_request.comment, github.pull_request.update.`,`For reads, name the owner/repo and issue or pull request number when available. If several targets match, ask or inspect before proceeding.`,`For writes, require explicit user intent and avoid destructive repository changes. Create issues only when the user clearly asks to submit or file a new issue. Prefer comments, labels, or metadata updates unless a stronger operation is clearly requested.`,`Do not claim CI, review, branch, or PR state changed until a tool result confirms it.`,`Keep local workspace git operations separate from connected GitHub operations unless the user explicitly asks to bridge them.`].join(`
4
- `),turnkey:[`# Turnkey Agent Wallet Connected App`,``,`Use Turnkey only through server-provided connected app tools. Never ask for, expose, or infer API keys, P-256 credentials, wallet private keys, or lease material.`,`Use only declared Turnkey read operation ids: turnkey.wallets.read, turnkey.balances.read, and turnkey.activities.read.`,`Turnkey connected-app access is read-only. Do not claim that a transaction was created, signed, approved, rejected, or sent.`,`Use turnkey.wallets.read for the Agent Wallet address and metadata, turnkey.balances.read for supported-network balances, and turnkey.activities.read for recent Turnkey activity.`,`Report the wallet address and network with balance results, and distinguish an empty balance from a failed provider read.`].join(`
5
- `),x:[`# X Connected App`,``,`Use X only through server-provided connected app tools. Distinguish profile, recent search, mention, post, and reply operations.`,`Use only declared X operation ids: x.profile.read, x.post.read, x.search.posts, x.mentions.search, x.mention.read, x.post.create, x.reply.create.`,`For x.com, twitter.com, or stable status URLs, first parse the status/post id and read the post with connected_app_read using operation x.post.read and ref set to the original URL, stable ref, or id. Do not open a browser before trying the X connector.`,`Use x.search.posts for discovery, related public posts, replies, quote-post searches, and conversation scans. It uses X API recent search, so report zero-result searches as zero recent public posts returned by X.`,`For conversation or reply collection, dedupe by returned post id/ref. Do not repeat the same search call unless the result exposes a usable cursor or next token; if pagination is unavailable, state that coverage is limited to returned recent-search results.`,`Reads can summarize recent public posts, connected-account profile details, and mentions when the capability is available.`,`Writes require explicit user intent for the exact post or reply. Do not publish drafts, jokes, endorsements, or replies unless the user clearly approves the content.`,`Before posting or replying, preserve account identity, quote the proposed content in summary form, and respect provider limits and policy boundaries.`,`After a write, verify the returned post or reply ref before reporting success.`].join(`
6
- `),microsoft_teams:[`# Microsoft Teams Connected App`,``,`Microsoft Teams is currently an ingestion/native binding surface only. Do not expose Teams OAuth reads, replies, file operations, or sandbox leases.`,`Native Teams setup can bind chats or channels to OpenPond profiles and ingest activity into OpenPond context.`,`If the user asks for Teams actions beyond ingestion or binding status, explain that the connector is not available yet rather than inventing tool access.`].join(`
7
- `),slack:[`# Slack Connected App`,``,`Slack is currently an ingestion/native binding surface only. Do not expose Slack OAuth reads, replies, file operations, or sandbox leases.`,`Native Slack setup can bind channels or threads to OpenPond profiles and ingest activity into OpenPond context.`,`If the user asks for Slack actions beyond ingestion or binding status, explain that the connector is not available yet rather than inventing tool access.`].join(`
8
- `),mcp:[`# OpenPond MCP Connected App`,``,`Use OpenPond MCP only through server-provided tool discovery and call paths. Do not invent MCP tools or endpoints.`,`Treat MCP as team-scoped tooling, not an OAuth connector. Tool availability must come from server-confirmed discovery results.`,`Before calling an MCP tool, match the requested operation to the tool name, description, input schema, and allowed team context.`,`For writes or side effects, require explicit user intent and report only confirmed tool results.`].join(`
9
- `)},Xr=Kr.map(e=>{let t=fi(e),n=Yr[e];return{...t,provider:e,body:n,sourceHash:`connected-app-skill:${e}:${yi(n)}`,charCount:n.length}}),Zr=[oi({id:`slack`,providerFamily:`slack`,setupSurface:`native_bot`,statusSource:`native_binding`,label:`Slack`,shortLabel:`Slack`,kind:`native`,category:`Chat`,description:`Bind Slack channels or threads for ingestion into OpenPond profiles.`,icon:`/connected-apps/slack.svg`,installLabel:`Continue to Slack details`}),oi({id:`google`,providerFamily:`google`,setupSurface:`oauth_connector`,statusSource:`integration_connection`,label:`Google`,shortLabel:`Google`,kind:`oauth`,category:`Productivity`,description:`Docs, Drive files, and comments for sandbox workflows.`,icon:`/connected-apps/google.svg`,installLabel:`Continue to Google details`}),oi({id:`github`,providerFamily:`github`,setupSurface:`oauth_connector`,statusSource:`integration_connection`,label:`GitHub`,shortLabel:`GitHub`,kind:`oauth`,category:`Developer tools`,description:`Access repositories, issues, and pull requests.`,icon:`/connected-apps/github.svg`,installLabel:`Continue to GitHub details`}),oi({id:`x`,providerFamily:`x`,setupSurface:`oauth_connector`,statusSource:`integration_connection`,label:`X`,shortLabel:`X`,kind:`oauth`,category:`Productivity`,description:`User profile, mentions, and approved reply access.`,icon:`/connected-apps/x.svg`,installLabel:`Continue to X details`}),oi({id:`turnkey`,providerFamily:`turnkey`,setupSurface:`wallet_connector`,statusSource:`integration_connection`,label:`Turnkey Agent Wallet`,shortLabel:`Turnkey`,kind:`wallet`,category:`Wallet`,description:`Read your OpenPond Agent Wallet address, balances, and activity through policy-bound Turnkey access.`,icon:`/connected-apps/turnkey.svg`,installLabel:`Manage OpenPond wallet`}),oi({id:`microsoft_teams`,providerFamily:`microsoft_teams`,setupSurface:`native_bot`,statusSource:`native_binding`,label:`Teams`,shortLabel:`Teams`,kind:`native`,category:`Chat`,description:`Bind Teams chats or channels for ingestion into OpenPond profiles.`,icon:`/connected-apps/microsoft.svg`,installLabel:`Continue to Teams details`}),oi({id:`mcp`,providerFamily:`mcp`,setupSurface:`mcp_endpoint`,statusSource:`mcp_endpoint`,label:`OpenPond MCP`,shortLabel:`MCP`,kind:`mcp`,category:`Tools`,description:`Expose workspace tools through a team-scoped MCP endpoint.`,icon:`/connected-apps/openpond-mcp.svg`,installLabel:`Open MCP settings`})],Qr=Kr.map(e=>{let t=Zr.filter(t=>t.providerFamily===e),n=t[0];return{id:e,label:li(e),shortLabel:n.shortLabel,category:n.category,icon:n.icon,description:n.description,setupSurfaces:t,capabilities:qr[e],skills:di(e),tools:pi(e),operations:Jr[e],leasePolicy:mi(e)}});function $r(e){let t=ni(e);return t?Zr.find(e=>e.id===t)??null:null}function ei(e){let t=ri(e);return t?Qr.find(e=>e.id===t)??null:null}function ti(e){let t=$r(e.appId),n=ci(e.baseUrl),r=t?.kind===`mcp`?`/sandboxes/mcp`:`/sandboxes/apps`,i=new URL(r,n);t?.kind!==`mcp`&&i.searchParams.set(`app`,t?.deepLinkAppId??e.appId);let a=e.teamId?.trim();return a&&i.searchParams.set(`teamId`,a),i.toString()}function ni(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,`_`);return t?t===`teams`||t===`microsoft`?`microsoft_teams`:Zr.some(e=>e.id===t)?t:null:null}function ri(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,`_`);return t?t===`teams`||t===`microsoft`?`microsoft_teams`:Kr.includes(t)?t:$r(t)?.providerFamily??null:null}function ii(e={}){let t=gi(e.connections??[]);return Zr.map(e=>{let n=ei(e.providerFamily),r=e.statusSource===`integration_connection`?t.filter(t=>t.provider===e.providerFamily):[],i=r.some(e=>e.status===`active`),a=_i(e,i);return{...e,providerLabel:n.label,setupSurfaceLabel:ui(e.setupSurface),status:a,statusLabel:vi(e,a,r),connections:r,connected:i,capabilities:hi(e,n.capabilities),capabilityLabels:hi(e,n.capabilities).map(e=>e.label),leasePolicy:n.leasePolicy}})}function ai(e,t,n,r,i){return{id:e,label:t,description:n,access:r,leaseable:i}}function oi(e){return e}function si(e,t,n,r,i,a){return{id:e,operation:t,label:n,description:r,capabilityIds:i,...a?{input:a}:{},requiresReadback:t===`write`,requiresRuntimeLease:!1}}function ci(e){let t=e?.trim();if(!t)return Gr;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?Gr:(e.pathname=`/`,e.search=``,e.hash=``,e.toString())}catch{return Gr}}function li(e){return e===`microsoft_teams`?`Microsoft Teams`:e===`mcp`?`OpenPond MCP`:e===`x`?`X`:e[0].toUpperCase()+e.slice(1)}function ui(e){return e===`native_bot`?`Native app`:e===`oauth_connector`?`OAuth connector`:e===`wallet_connector`?`Wallet connector`:`MCP endpoint`}function di(e){return[fi(e)]}function fi(e){return{name:`${e}-connected-app`,description:`Use ${li(e)} safely through connected app tools.`,path:`integration_skills/${e}.md`}}function pi(e){if(e===`mcp`)return[];let t=qr[e],n=Jr[e],r=t.filter(e=>e.access===`read`).map(e=>e.id),i=t.filter(e=>e.access===`write`).map(e=>e.id),a=[];return n.some(e=>e.operation===`search`)&&a.push({name:`connected_app_search`,description:`Search ${li(e)} through a server-owned connected app connector.`,capabilityIds:r,write:!1}),n.some(e=>e.operation===`read`)&&a.push({name:`connected_app_read`,description:`Read a grounded ${li(e)} object through a server-owned connected app connector.`,capabilityIds:r,write:!1}),i.length>0&&n.some(e=>e.operation===`write`)&&a.push({name:`connected_app_write`,description:`Perform an explicitly approved ${li(e)} write through a server-owned connected app connector.`,capabilityIds:i,write:!0}),a}function mi(e){let t=qr[e].filter(e=>e.leaseable).map(e=>e.id),n=e!==`mcp`&&t.length>0;return{leaseable:n,defaultTtlSeconds:n?e===`turnkey`?300:3600:null,allowedCapabilityIds:t,requiresProxy:n}}function hi(e,t){return e.setupSurface===`native_bot`?t.filter(e=>e.access===`setup`):e.setupSurface===`mcp_endpoint`?t:t.filter(e=>e.access!==`setup`)}function gi(e){return e.flatMap(e=>{let t=ri(e.provider);return t?[{id:e.id??null,teamId:e.teamId?.trim()||null,provider:t,accountLabel:e.providerAccountName??null,workspaceLabel:e.providerWorkspaceName??null,scopes:Array.isArray(e.scopes)?e.scopes:[],capabilities:Array.isArray(e.capabilities)?e.capabilities:[],status:e.status?.trim().toLowerCase()||`active`}]:[]})}function _i(e,t){return e.statusSource===`integration_connection`?t?`connected`:`disconnected`:`setup_available`}function vi(e,t,n){if(t===`connected`){let e=n.filter(e=>e.status===`active`).length;return e>1?`${e} connected`:`Connected`}return t===`disconnected`?`Not connected`:e.statusSource===`native_binding`?`Bot setup`:`Configure`}function yi(e){let t=5381;for(let n=0;n<e.length;n+=1)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}var bi=`local_path:`;function xi(e){return`${bi}${e.trim()}`}F({appId:B(),source:R([`openpond`,`github`,`local_git`,`local_folder`,`unknown`]),workspacePath:B(),repoPath:B(),initialized:I(),remoteUrl:B().nullable(),expectedRemoteUrl:B().nullable(),currentBranch:B().nullable(),headCommit:B().nullable().optional().default(null),upstreamBranch:B().nullable().optional().default(null),ahead:L().int().nonnegative().optional().default(0),behind:L().int().nonnegative().optional().default(0),diverged:I().optional().default(!1),linkedSourceHeadCommit:B().nullable().optional().default(null),aheadOfLinkedSource:L().int().nonnegative().optional().default(0),behindLinkedSource:L().int().nonnegative().optional().default(0),divergedFromLinkedSource:I().optional().default(!1),linkedSourceComparisonError:B().nullable().optional().default(null),lastFetchAt:B().nullable().optional().default(null),defaultBranch:B().nullable(),branches:j(B()),dirty:I(),changedFilesCount:L(),untrackedFilesCount:L(),error:B().nullable(),updatedAt:B()});var Si=F({path:B(),status:B(),additions:L(),deletions:L(),patch:B(),content:B().nullable().optional().default(null),contentType:B().optional(),contentEncoding:R([`base64`]).optional(),readVersion:B().nullable().optional(),readStamp:B().optional()}),Ci=F({appId:B(),repoPath:B(),initialized:I(),dirty:I(),filesChanged:L(),additions:L(),deletions:L(),repoFiles:j(B()).optional().default([]),files:j(Si),error:B().nullable(),updatedAt:B()});F({branch:B().trim().min(1).max(160)}),F({path:B().trim().min(1),content:B()});var wi=F({line:L().int().nonnegative(),character:L().int().nonnegative()}),Ti=F({start:wi,end:wi}),Ei=F({path:B(),range:Ti,severity:R([`error`,`warning`,`info`,`hint`]),message:B(),source:B().nullable().optional().default(null),code:B().nullable().optional().default(null)}),Di=F({id:B(),root:B(),status:R([`connected`,`unavailable`,`error`]),message:B().nullable().optional().default(null)});F({path:B().trim().min(1),content:B().optional(),waitForDiagnostics:I().optional().default(!0)}),F({appId:B(),path:B(),diagnostics:j(Ei),servers:j(Di),updatedAt:B()});var Oi=F({operation:R([`hover`,`definition`,`references`,`documentSymbol`]),path:B().trim().min(1),content:B().optional(),line:L().int().nonnegative().optional(),character:L().int().nonnegative().optional()});F({appId:B(),operation:Oi.shape.operation,path:B(),results:k(),servers:j(Di),updatedAt:B()});var ki=F({pinned:I().optional(),archived:I().optional(),order:L().optional()});N(B(),ki);var Ai=F({path:B().min(1),title:B().min(1),contentType:B().min(1),sizeBytes:L().nonnegative().nullable(),sandboxId:B().nullable(),revision:B().optional(),updatedAt:B().optional()});F({files:j(Ai)}),F({failedTurnId:B().min(1),confirmedActiveTurnId:B().min(1).optional()}).strict();var ji=te(`state`,[F({state:M(`resumed`)}),F({state:M(`active`),activeTurnId:B()}),F({state:M(`external`),threadId:B()}),F({state:M(`superseded`)})]),Mi=[{name:`openpond-cli`,description:`Use the OpenPond CLI for datasets, graders, experiments, model training, repos, deployments, and tools.`,path:`skills/openpond-cli/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/experiments-and-training.md`,`references/compact-resource-tables.md`,`references/diagnose-and-improve.md`]},{name:`openpond-taskset-authoring`,description:`Create, organize, review, improve, or test OpenPond Tasksets and source data; inspect coverage, data quality, graders, and failed evals.`,path:`skills/openpond-taskset-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/task-design.md`,`references/graders-and-rewards.md`,`references/method-selection.md`,`references/privacy-and-provenance.md`,`references/benchmarking.md`,`references/data-quality.md`,`references/failure-diagnosis.md`]},{name:`openpond-skill-authoring`,description:`Create, copy, adapt, review, or update OpenPond Profile skill packages from slash commands or ordinary authoring requests.`,path:`skills/openpond-skill-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/skill-package-layout.md`,`references/copying-and-adaptation.md`,`references/validation-and-repair.md`,`scripts/validate-skill.mjs`]},{name:`openpond-agent-authoring`,description:`Create, improve, review, or repair source-backed OpenPond Profile Agents and Agent SDK projects.`,path:`skills/openpond-agent-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/profile-layout.md`,`references/action-and-chat-design.md`,`references/integrations-and-setup.md`,`references/validation-and-repair.md`]},{name:`openpond-refiner-authoring`,description:`Inspect, extend, validate, activate, or roll back the OpenPond Refiner Review Profile without changing the Refiner Core.`,path:`skills/openpond-refiner-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/review-profile.md`,`references/core-boundary.md`,`references/validation-and-activation.md`]}],Ni=F({name:B(),description:B(),relativePath:B(),sourcePath:B(),charCount:L().int().nonnegative(),sourceHash:B(),resourceFiles:j(B()),validationStatus:R([`valid`,`error`]),validationMessages:j(B())}),Pi=F({id:B(),source:M(`github`),owner:B(),repo:B(),repositoryUrl:B().url(),requestedRef:B(),resolvedCommit:B(),sourcePath:B(),readmePath:B().nullable(),installedAt:B(),updatedAt:B(),packageHash:B(),skills:j(Ni),validationStatus:R([`valid`,`error`]),validationMessages:j(B())});Pi.omit({installedAt:!0,updatedAt:!0,sourcePath:!0}).extend({sourcePath:P()}),F({rootPath:B(),registryPath:B(),extensions:j(Pi),error:B().nullable()}),F({source:B().trim().min(1),ref:B().trim().min(1).optional()});var Fi=N(B(),k());F({userId:B(),role:R([`owner`,`admin`,`member`]),name:B(),handle:B().nullable(),image:B().nullable()});var Ii=F({userId:B(),role:R([`owner`,`admin`,`member`]),name:B(),handle:B().nullable(),image:B().nullable(),lastReadSequence:L().int().nonnegative()}),Li=F({id:B(),messageId:B(),refType:R([`hosted_ai_thread`,`goal`,`openpond_session`,`project`,`agent_run`,`message_reply`]),refId:B(),preview:Fi,createdAt:B()}),Ri=F({id:B(),messageId:B().nullable(),clientAttachmentId:B(),kind:M(`image`),name:B(),mediaType:R([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]),sizeBytes:L().int().positive(),status:R([`pending`,`ready`,`failed`]),createdAt:B(),readyAt:B().nullable()});F({attachment:Ri,uploadUrl:B().url().nullable(),uploadHeaders:N(B(),B()),expiresAt:B().nullable()}),F({url:B().url(),expiresAt:B()});var zi=F({id:B(),threadId:B(),teamId:B(),clientRequestId:B().nullable(),authorType:R([`user`,`agent`,`system`]),authorUserId:B().nullable(),authorAgentId:B().nullable(),sequence:L().int().nonnegative(),kind:R([`text`,`system`,`command_result`]),body:B(),metadata:Fi,editedAt:B().nullable(),deletedAt:B().nullable(),createdAt:B(),refs:j(Li),attachments:j(Ri)}),Bi=F({id:B(),teamId:B(),kind:R([`general`,`dm`,`group`,`channel`]),title:B().nullable(),createdByUserId:B(),lastMessageId:B().nullable(),lastMessageSequence:L().int().nonnegative(),lastMessageAt:B(),createdAt:B(),updatedAt:B(),unreadCount:L().int().nonnegative(),pinnedAt:B().nullable(),mutedAt:B().nullable(),archivedAt:B().nullable(),participants:j(Ii),lastMessage:zi.nullable()});F({thread:Bi,messages:j(zi),hasMoreBefore:I()}),F({threadId:B(),mutedAt:B().nullable()});var Vi=R([`pending`,`running`,`completed`,`failed`,`interrupted`,`cancelled`]),Hi=F({id:B(),conversationId:B(),threadId:B(),teamId:B(),requestedByUserId:B(),executorUserId:B().nullable(),providerId:B(),modelId:B(),clientRequestId:B(),baseMessageSequence:L().int().nonnegative(),status:Vi,partialBody:B().nullable(),userMessageId:B(),assistantMessageId:B().nullable(),errorCode:B().nullable(),cancelledByUserId:B().nullable(),leaseExpiresAt:B().nullable(),heartbeatAt:B().nullable(),createdAt:B(),updatedAt:B()}),Ui=F({id:B(),conversationId:B(),sequence:L().int().nonnegative(),role:R([`user`,`assistant`,`system`,`action`]),body:B(),createdByUserId:B().nullable(),createdAt:B()});F({conversationId:B(),parentThreadId:B(),parentMessageId:B(),teamId:B(),title:B().nullable(),providerId:B().nullable(),modelId:B(),createdByUserId:B(),messages:j(Ui),turns:j(Hi),activeTurn:Hi.nullable(),createdAt:B(),updatedAt:B()});var Wi=F({id:L().int().nonnegative(),teamId:B(),threadId:B(),conversationId:B().nullable(),type:R([`thread.created`,`message.created`,`message.updated`,`message.deleted`,`read.updated`,`ai_thread.created`,`ai_turn.updated`]),payload:Fi,createdAt:B()});F({events:j(Wi),cursor:L().int().nonnegative(),hasMore:I()}),F({httpUrl:B().min(1),realtimeUrl:B().min(1),region:B().min(1),token:B().min(1),expiresAt:B().min(1),teamId:B().min(1),userId:B().min(1)});var Gi=N(B(),k()),Ki=B().nullable(),qi=R([`draft`,`published`,`archived`]),Ji=R([`owner`,`admin`,`member`]),Yi=R([`active`,`left`]),Xi=R([`mentions`,`all`,`none`]),Zi=R([`public_preview`,`members`]),Qi=R([`members`,`admins`]),$i=F({canPreview:I(),canJoin:I(),canLeave:I(),canRead:I(),canPost:I(),canUpload:I(),canMention:I(),canManage:I(),requiresRulesAcceptance:I(),currentRulesVersionId:B().nullable()}),ea=F({id:B(),communityId:B(),version:L().int().positive(),title:B(),requiresReacceptance:I(),publishedAt:B()}),ta=ea.extend({bodyMarkdown:B(),contentHash:B()}),na=F({role:Ji,status:Yi,notificationMode:Xi}),ra=F({id:B(),communityId:B(),userId:B(),role:Ji,status:Yi,notificationMode:Xi,joinedAt:B(),leftAt:Ki,createdAt:B(),updatedAt:B()}),ia=F({id:B(),slug:B(),displayName:B(),description:B(),imageUrl:B().nullable(),status:qi,visibility:R([`public`,`private`]),joinPolicy:R([`open`,`closed`]),historyVisibility:Zi,featuredAt:Ki,publishedAt:Ki,archivedAt:Ki,memberCount:L().int().nonnegative(),membership:na.nullable(),capabilities:$i,currentRules:ea.nullable()});F({items:j(ia),nextCursor:B().nullable()});var aa=F({lastReadSequence:L().int().nonnegative(),lastReadAt:Ki.optional(),mutedAt:Ki,pinnedAt:Ki}),oa=F({id:B(),communityId:B(),chatThreadId:B().nullable(),slug:B(),displayName:B(),topic:B(),position:L().int().nonnegative(),visibility:Zi,postingPolicy:Qi,isDefault:I(),archivedAt:Ki,lastMessageSequence:L().int().nonnegative(),unreadCount:L().int().nonnegative(),readState:aa.nullable()});ia.omit({currentRules:!0}).extend({currentRules:ta.nullable(),channels:j(oa),previewMessageLimit:L().int().positive()});var sa=F({id:B(),messageId:B(),refType:R([`hosted_ai_thread`,`goal`,`openpond_session`,`project`,`agent_run`,`message_reply`]),refId:B(),preview:Gi,createdAt:B()}),ca=F({id:B(),messageId:B().nullable(),clientAttachmentId:B(),kind:M(`image`),name:B(),mediaType:R([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]),sizeBytes:L().int().positive(),status:R([`pending`,`ready`,`failed`]),createdAt:B(),readyAt:Ki});F({attachment:ca,uploadUrl:B().url().nullable(),uploadHeaders:N(B(),B()),expiresAt:Ki}),F({url:B().url(),expiresAt:B()});var la=F({id:B(),threadId:B(),teamId:P(),clientRequestId:B().nullable(),authorType:R([`user`,`agent`,`system`]),authorUserId:B().nullable(),authorAgentId:B().nullable(),sequence:L().int().nonnegative(),kind:R([`text`,`system`,`command_result`]),body:B(),metadata:Gi,editedAt:Ki,deletedAt:Ki,createdAt:B(),refs:j(sa),attachments:j(ca)});F({messages:j(la),hasMoreBefore:I(),channelId:B(),readState:aa.omit({lastReadAt:!0}).nullable(),preview:I()});var ua=F({userId:B(),handle:B().nullable(),name:B().nullable(),role:Ji});F({items:j(ua),nextCursor:B().nullable()});var da=F({id:L().int().nonnegative(),communityId:B(),channelId:B(),threadId:B(),type:R([`thread.created`,`message.created`,`message.updated`,`message.deleted`,`read.updated`]),payload:Gi,createdAt:B()});F({events:j(da),cursor:L().int().nonnegative(),hasMore:I()}),F({httpUrl:B().min(1),realtimeUrl:B().min(1),region:B().min(1),token:B().min(1),expiresAt:B().min(1),communityId:B().min(1),userId:B().min(1),channel:B().min(1)}),F({membership:ra,channels:j(oa)}),F({channels:j(oa)});function fa(e){let t=[],n=[],r=``,i=!1,a=!1,o=()=>{n.push(r),r=``,a=!1},s=()=>{if(o(),n.some(e=>e.length)&&t.push(n),n=[],t.length>lt.records+1)throw Error(`CSV exceeds the 1,000-record limit.`)};for(let t=0;t<e.length;t++){let n=e[t];if(i)n===`"`&&e[t+1]===`"`?(r+=`"`,t++):n===`"`?(i=!1,a=!0):r+=n;else if(n===`,`)o();else if(n===`
10
- `||n===`\r`)n===`\r`&&e[t+1]===`
11
- `&&t++,s();else if(n===`"`&&!r&&!a)i=!0;else{if(a||n===`"`)throw Error(`CSV has an invalid quoted field.`);r+=n}}if(i)throw Error(`CSV has an unterminated quoted field.`);(r||n.length||a)&&s();let c=t.shift()?.map(e=>e.trim().replace(/^\uFEFF/u,``));if(!c?.includes(`instruction`))throw Error(`CSV requires an instruction column.`);let l=new Set([`instruction`,`context`,`reference`,`labels`,`id`,`familyKey`,`split`]);if(c.some(e=>!l.has(e))||new Set(c).size!==c.length)throw Error(`CSV has duplicate or unsupported columns. Use instruction, context, reference, labels, id, familyKey and split.`);return t.map((e,t)=>{if(e.length!==c.length)throw Error(`CSV record ${t+2} has a different number of columns from its header.`);return Object.fromEntries(c.map((t,n)=>[t,e[n]]).filter(([,e])=>e!==``))})}function pa(e){try{return new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0}).decode(e)}catch{throw Error(`Import files must contain valid UTF-8 text. Binary attachments are not supported by this import format.`)}}function ma(e){return e.startsWith(``)?e.slice(1):e}var ha=F({role:B().min(1),content:re().nullable().optional()}).catchall(re()),ga=F({id:B().min(1),messages:j(ha).min(1).max(lt.messages),lineage_session_ids:j(B()).optional(),parent_session_id:B().nullable().optional()}).catchall(re());function _a(e){let t=ga.parse(e),n=t.lineage_session_ids?.[0]??t.parent_session_id??t.id,{messages:r,segments:i,...a}=t;return Sa(`hermes`,t.id,n,t.messages,{sourceHash:H(e),metadata:{session:a},warnings:[`Imported session context and tools need review before this can become an executable task.`]})}var va=F({traceSchema:M(`openclaw-trajectory`),schemaVersion:M(1),traceId:B().min(1),sessionId:B().min(1),leafId:B().nullable(),eventCount:L().int().nonnegative(),warnings:j(ze).optional()}).catchall(re()),ya=F({traceSchema:M(`openclaw-trajectory`),schemaVersion:M(1),traceId:B(),sessionId:B(),seq:L().int().nonnegative(),type:B(),ts:B()}).catchall(re()),ba=F({header:ze.nullable(),leafId:B().nullable(),entries:j(F({id:B().min(1),type:B().min(1),parentId:B().nullable().optional(),message:ha.optional()}).catchall(re())).max(lt.messages)}).strict();function xa(e){let t=t=>{let n=e.find(e=>e.path===t);if(!n)throw Error(`OpenClaw bundle is missing ${t}.`);return ma(n.text)},n=va.parse(JSON.parse(t(`manifest.json`))),r=ba.parse(JSON.parse(t(`session-branch.json`)));if(r.leafId!==n.leafId)throw Error(`OpenClaw manifest and session branch identify different leaves.`);let i=t(`events.jsonl`).split(/\r?\n/u).filter(e=>e.trim()).map(e=>ya.parse(JSON.parse(e)));if(i.length!==n.eventCount||i.some(e=>e.traceId!==n.traceId||e.sessionId!==n.sessionId))throw Error(`OpenClaw events do not match the manifest identity or count.`);if(r.header&&r.header.id!==n.sessionId)throw Error(`OpenClaw session header does not match the manifest.`);let a=new Set;for(let[e,t]of r.entries.entries()){if(a.has(t.id))throw Error(`OpenClaw branch contains duplicate entry IDs.`);if(e&&t.parentId!==r.entries[e-1].id)throw Error(`OpenClaw branch is incomplete or out of order.`);a.add(t.id)}if(r.entries.length&&r.entries.at(-1).id!==r.leafId)throw Error(`OpenClaw branch does not reach its declared leaf.`);let o=r.entries.filter(e=>e.type===`message`&&e.message).map(e=>({...e.message,entryId:e.id,timestamp:typeof e.timestamp==`string`?e.timestamp:typeof e.message.timestamp==`number`?new Date(e.message.timestamp).toISOString():null}));return Sa(`openclaw`,n.sessionId,n.sessionId,o,{sourceHash:H(e),metadata:{manifest:n,sourceFiles:e.map(e=>e.path)},warnings:[`Imported trajectory context and tools need review before this can become an executable task.`,...(n.warnings??[]).map(e=>typeof e.message==`string`?e.message.slice(0,2e3):`The source exporter reported incomplete context.`)]})}function Sa(e,t,n,r,i){let a=r.flatMap((e,t)=>e.role===`user`?[t]:[]);if(!a.length)throw Error(`This history contains no user request. Supply a session with its request context.`);let o=0;return a.map((s,c)=>{let l=a[c+1]??r.length,u=r.slice(s+1,l),d=u.filter(e=>e.role===`assistant`).at(-1),f=r[s],p=f.entryId??f.message_id??f.id??H({start:s,request:f}),m={id:ct(e,[t,p]),familyKey:ct(e,n),split:`train`,kind:`attempt`,input:{request:f.content??null,messages:r.slice(0,s+1)},observedOutput:d?{response:d.content??null,messages:u}:null,expected:null,sourceId:`${e}:${t}:${String(p)}`,sourceHash:i.sourceHash,occurredAt:ot(d?.timestamp??f.timestamp),metadata:i.metadata,warnings:[...i.warnings,...d?[]:[`No assistant response was recorded for this request.`]],needsContext:!0};if(Ne(m),o+=new TextEncoder().encode(JSON.stringify(m)).length,o>lt.bytes)throw Error(`Expanded history exceeds the 5 MiB preview limit. Export a smaller session selection.`);return rt.parse(m)})}var Ca=F({instruction:B().trim().min(1).max(1e5),context:ae([B(),ze]).optional(),reference:ae([B(),ze]).optional(),labels:ae([B(),j(B()),ze]).optional(),id:B().min(1).max(200).optional(),familyKey:B().min(1).max(200).optional(),split:Re.optional()}).strict(),wa=F({input:ze,observedOutput:ze.nullable().optional(),expectedOutput:ze.nullable().optional(),id:B().min(1).max(200).optional(),familyKey:B().min(1).max(200).optional(),split:Re.optional(),occurredAt:B().datetime().optional(),labels:ze.optional()}).strict();function Ta(e){let t=st.parse(e.format),n=j(at).min(1).max(lt.files).parse(e.files);if(n.reduce((e,t)=>e+new TextEncoder().encode(t.text).length,0)>lt.bytes)throw Error(`Import exceeds the 5 MiB size limit.`);if(n.some(e=>e.path.startsWith(`/`)||e.path.includes(`\\`)||e.path.split(`/`).some(e=>!e||e===`.`||e===`..`))||new Set(n.map(e=>e.path)).size!==n.length)throw Error(`Import contains an unsafe or duplicate file path.`);let r=[],i=[],a=new Map,o=new Map,s=0;function c(e,t,n){try{let e=n();if(r.length+e.length>lt.records)throw Error(`Import exceeds the 1,000-record limit.`);let t=new Map(a),i=new Map(o),c=0;for(let n of e){Ne(n);let e=H(n),r=t.get(n.id);if(r&&r!==e)throw Error(`The same record identity has different content in this upload.`);r||(c+=new TextEncoder().encode(JSON.stringify(n)).length),t.set(n.id,e);for(let e of[`family:${n.familyKey}`,`input:${H(n.input)}`]){if(i.has(e)&&i.get(e)!==n.split)throw Error(`The same task family or request occurs in different splits.`);i.set(e,n.split)}}if(s+c>lt.bytes*2)throw Error(`Expanded import exceeds the 10 MiB preview limit. Select fewer source files.`);for(let t of e)a.has(t.id)||r.push(t),a.set(t.id,H(t));for(let[e,t]of i)o.set(e,t);s+=c}catch(n){i.push({file:e,row:t,message:n instanceof A?`Unsupported record fields or values (${n.issues.slice(0,3).map(e=>e.path.join(`.`)||`record`).join(`, `)}).`:n instanceof SyntaxError?`Invalid JSON.`:n instanceof Error?n.message:`Invalid import record.`})}}if(t===`openclaw`)c(`manifest.json`,null,()=>xa(n));else for(let e of n){let n=ma(e.text);if(t===`jsonl`||t===`hermes`){for(let[r,a]of n.split(/\r?\n/u).entries())if(a.trim()){if(i.length>=lt.records)break;c(e.path,r+1,()=>t===`hermes`?_a(JSON.parse(a)):[Ea(JSON.parse(a))])}}else{let r;try{let e=t===`csv`?fa(n):JSON.parse(n);r=Array.isArray(e)?e:[e]}catch(t){c(e.path,null,()=>{throw t});continue}if(r.length>lt.records){c(e.path,null,()=>{throw Error(`Import exceeds the 1,000-record limit.`)});continue}r.forEach((n,r)=>c(e.path,r+(t===`csv`?2:1),()=>[Ea(n)]))}}return it.parse({schemaVersion:`openpond.taskIntakePreview.v1`,format:t,contentHash:H({format:t,files:n}),records:r,issues:i.slice(0,1e3)})}function Ea(e){let t=ae([Ca,wa]).parse(e),n=`instruction`in t,r=n?{instruction:t.instruction,...t.context===void 0?{}:{context:t.context}}:t.input,i=n?t.reference===void 0?null:typeof t.reference==`string`?{text:t.reference}:t.reference:t.expectedOutput??null,a=n?null:t.observedOutput??null,o=t.familyKey??ct(`family`,r),s=t.id??ct(`task`,{input:r,expected:i,observedOutput:a});return rt.parse({id:s,familyKey:o,split:t.split??`train`,kind:a?`attempt`:`task`,input:r,expected:i,observedOutput:a,sourceId:s,sourceHash:H(e),occurredAt:n?null:ot(t.occurredAt),metadata:t.labels===void 0?{}:{importedLabels:t.labels,labelOrigin:`unverified_import`},warnings:[],needsContext:!1})}var Da=F({schemaVersion:M(`openpond.humanResultView.v1`),executionId:B().min(1),executionHash:B().regex(/^[a-f0-9]{64}$/),selection:j(Me).max(1e4),coverage:F({pending:L().int().nonnegative(),submitted:L().int().nonnegative(),accepted:L().int().nonnegative(),rejected:L().int().nonnegative(),cancelled:L().int().nonnegative()}).strict(),results:j(F({review:Me,decision:Me.nullable(),attemptIds:j(B().min(1)).min(1).max(2),mode:R([`individual`,`pairwise`]),origin:R([`hosted_retained`,`recorded_evidence`,`owner_attested_local`,`native_local`]),status:R([`pending`,`submitted`,`accepted`,`rejected`,`cancelled`]),grader:Me,answers:j(Ve).max(100)}).strict()).max(1e4)}).strict().extend({contentHash:B().regex(/^[a-f0-9]{64}$/)}).strict(),Oa=B().regex(/^[a-f0-9]{64}$/),ka=B().min(1).max(240),Aa={feedbackKey:ka,criterionId:ka},ja=te(`kind`,[F({...Aa,kind:M(`normalized_score`),minimum:L().finite(),maximum:L().finite(),passThreshold:L().min(0).max(1).optional()}).strict(),F({...Aa,kind:M(`boolean`)}).strict(),F({...Aa,kind:M(`category`)}).strict(),F({...Aa,kind:M(`preference_score`),tieScore:L().min(0).max(1).nullable()}).strict()]),Ma=F({execution:U,resultHash:Oa,reviews:j(F({review:Me,decision:Me}).strict()).min(1).max(1e4)}).strict(),Na=F({rules:j(ja).min(1).max(100),baseline:Ma,candidate:Ma}).strict().superRefine((e,t)=>{new Set(e.rules.map(e=>e.feedbackKey)).size!==e.rules.length&&t.addIssue({code:`custom`,message:`Select each Human feedback key once.`})}),Pa=F({manifest:je,result:Ze}).strict(),Fa=F({id:ka,manifestHash:Oa,resultHash:Oa}).strict(),Ia=F({schemaVersion:M(`openpond.humanComparisonProjection.v1`),teamId:ka,projectId:ka,selections:Na,original:F({baseline:Fa,candidate:Fa}).strict(),humanResults:F({baseline:Da,candidate:Da}).strict(),baseline:Pa,candidate:Pa}).strict().extend({contentHash:Oa}).strict();function La(e){throw new He(e,409)}function Ra(e,t){let n=Ia.parse(e),{contentHash:r,...i}=n;r!==H(i)&&La(`human_comparison_projection_invalid`);for(let e of[`baseline`,`candidate`]){let r=Ae(n[e]),i=r.manifest.lineage,a=i?.humanProjection,o=n.original[e],s=n.selections[e];(!i||!a||a.originalManifest.id!==o.id||a.originalManifest.contentHash!==o.manifestHash||a.selectionHash!==H(s)||a.rulesHash!==H(n.selections.rules)||H(i.execution)!==H(s.execution)||r.manifest.teamId!==n.teamId||n.humanResults[e].contentHash!==s.resultHash)&&La(`human_comparison_projection_lineage_changed`);let{contentHash:c,...l}=n.humanResults[e];if((H(l)!==c||l.executionId!==s.execution.id||l.executionHash!==s.execution.contentHash||H(l.selection)!==H(s.reviews.map(e=>e.review)))&&La(`human_comparison_human_result_changed`),t){let n=Ae(t[e]);(n.manifest.lineage?.humanProjection||n.manifest.id!==o.id||n.manifest.contentHash!==o.manifestHash||n.result.contentHash!==o.resultHash||H(n.manifest.lineage?.execution)!==H(s.execution))&&La(`human_comparison_original_changed`)}}return n}var J=e(r(),1),za=i(),Y=a(),Ba=B().trim().min(1).max(240),Va=B().trim().min(1).max(5e3),Ha=R([`no_training`,`prompting`,`retrieval`,`sft`,`preference`,`grpo_rft`,`sdft_opsd`,`sdpo`,`agentic_rl`]),Ua=F({id:Ba,taskIndex:L().int().nonnegative(),label:Bt,output:N(B(),k()),infrastructureError:B().trim().min(1).max(1e4).nullable(),expectedPassed:I(),expectedRewardEligible:I(),metadata:N(B(),k()).default({})}),Wa=F({schemaVersion:M(`openpond.capabilityDiagnosis.v1`),summary:B().trim().min(1).max(1e4),stableBehavior:j(Va).max(100).default([]),changingKnowledge:j(Va).max(100).default([]),requiredContext:j(Va).max(100).default([]),requiredTools:j(Ba).max(100).default([]),intervention:Ha,trainingEligible:I(),rationale:j(Va).min(1).max(100),confidence:L().min(0).max(1)}),Ga=F({id:Ba,sourceId:Ba,sourceTurnId:Ba.nullable(),split:gt,origin:R([`extracted`,`corrected`,`synthetic`,`expert_authored`]),inputPrompt:B().trim().min(1).max(1e5),expectedOutputText:B().trim().min(1).max(2e5).nullable(),rationale:Va}),Ka=F({schemaVersion:M(`openpond.taskDesignProposal.v1`),id:Ba,name:B().trim().min(1).max(500),objective:B().trim().min(1).max(2e4),diagnosis:Wa.default({schemaVersion:`openpond.capabilityDiagnosis.v1`,summary:`Reproduce the selected approved behavior.`,stableBehavior:[],changingKnowledge:[],requiredContext:[],requiredTools:[],intervention:`sft`,trainingEligible:!0,rationale:[`The selected examples were supplied as demonstrations.`],confidence:.5}),taskKind:vt.shape.taskKind,sourceIds:j(Ba).min(1).max(1e5),assumptions:j(Va).max(1e3),successCriteria:j(Va).min(1).max(1e3),proposedGraders:j(Ct).max(1e3).default([]),graderFixtures:j(Ua).max(1e5).default([]),generatedFiles:j(kt).max(1e3).default([]),proposedExamples:j(Ga).max(1e5).default([]),proposedMethod:jt.shape.recommendedMethod,trainingPath:Dt.nullable().default(null),policy:mt,warnings:j(B().trim().min(1)).default([]),createdAt:B().trim().min(1)}),qa=B().min(1).max(240),Ja=B().regex(/^[a-f0-9]{64}$/),Ya=j(F({source:ht,excerpts:j(F({role:R([`user`,`assistant`]),text:B().max(2e5),turnId:qa}).strict()).max(200)}).strict()).min(1).max(20);te(`action`,[F({action:M(`messages`),id:qa,evidence:Ya,instruction:B().max(2097152),buildSpecification:Pt,currentProposal:Ka.nullable().default(null)}).strict(),F({action:M(`validate`),evidence:Ya,content:B().max(2097152)}).strict()]),F({messages:j(F({role:R([`system`,`user`]),content:B()}).strict()).min(1).max(20),skillHash:Ja}).strict(),F({proposal:Ka,skillHash:Ja}).strict();var Xa=Ft.shape.id,Za=L().int().positive(),Qa=B().regex(/^[a-f0-9]{64}$/),$a={teamId:Xa,modelId:Xa};F({schemaVersion:M(`openpond.tasksetDraftCreate.v1`),operationId:Xa,modelId:Xa,expectedModelRevision:Za,name:Ft.shape.name}).strict(),F({schemaVersion:M(`openpond.tasksetDraftSourceDescriptor.v1`),...$a,expectedModelRevision:Za,sourcePackageHash:Qa}).strict(),F({schemaVersion:M(`openpond.tasksetDraftReadback.v1`),...$a,draft:Ft,workspaceHash:Qa,projectEtag:Qa}).strict().refine(e=>e.draft.profileId===e.teamId&&e.draft.modelScope?.modelId===e.modelId,`The hosted draft must belong to its declared workspace and Model.`);var eo=F({id:Xa,revision:Za,name:Ft.shape.name,status:wt,updatedAt:Ft.shape.updatedAt,sourceTasksetRef:qe.nullable()}).strict();F({schemaVersion:M(`openpond.tasksetDraftList.v1`),...$a,drafts:j(eo).max(100),nextCursor:B().min(1).max(2e3).nullable()}).strict(),F({expectedDraftRevision:Za,draft:Ft}).strict(),F({expectedDraftRevision:Za,expectedModelRevision:Za}).strict();var to=F({expectedDraftRevision:Za,expectedWorkspaceHash:Qa}).strict();F({schemaVersion:M(`openpond.tasksetDraftValidation.v1`),...$a,draftId:Xa,draftRevision:Za,workspaceHash:Qa,valid:I(),issues:j(F({code:B().min(1),severity:R([`warning`,`error`]),message:B(),path:B().nullable()}).strict()),packageHash:Qa.nullable(),tasksetRef:qe.nullable()}).strict().refine(e=>e.valid?e.packageHash!==null&&e.tasksetRef!==null&&e.issues.every(e=>e.severity!==`error`):e.packageHash===null&&e.tasksetRef===null&&e.issues.some(e=>e.severity===`error`),`Validation must retain either a compiled package or publication errors.`),to.extend({operationId:Xa,expectedPackageHash:Qa,expectedTasksetRef:qe}).strict(),F({schemaVersion:M(`openpond.tasksetDraftFileList.v1`),...$a,draftId:Xa,draftRevision:Za,files:j(Mt).max(10020)}).strict(),F({schemaVersion:M(`openpond.tasksetDraftFileReadback.v1`),...$a,draftId:Xa,draftRevision:Za,file:Et}).strict(),F({schemaVersion:M(`openpond.tasksetDraftDeletion.v1`),...$a,draftId:Xa,revision:Za,deleted:M(!0)}).strict(),Ft.shape.id,L().int().positive();var no=B().trim().min(1).max(500),ro=F({projectId:no.optional(),tasksetId:no.optional(),draftId:no.optional(),taskId:no.optional(),query:B().trim().max(1e3).default(``),split:R([`train`,`validation`,`test`,`frozen_eval`]).optional(),after:B().min(1).max(2e3).optional(),limit:L().int().min(1).max(100).default(30)}).strict(),io=F({id:no,method:R([`code`,`judge`,`human`]),required:I()}),ao=F({tasksetId:no,tasksetName:B(),tasksetRevision:L().int().positive(),tasksetHash:B(),taskId:no,ordinal:L().int().nonnegative(),title:B(),description:B(),split:B(),scoring:j(io),configuration:R([`configured`,`needs_reward`,`needs_checks`]),draftId:no.nullable().default(null),modelId:no.nullable().default(null)}),oo=F({items:j(ao).max(100),nextCursor:B().nullable()});function so(e,t){if(Ta({format:e.format,files:t}).contentHash!==e.contentHash)throw Error(`The source files differ from the import preview.`);let n=`private/intake/${e.contentHash}`,r=t.map((e,t)=>({file:e,path:`${n}/${String(t).padStart(4,`0`)}.txt`})),i={schemaVersion:`openpond.taskIntakeSources.v1`,format:e.format,previewHash:e.contentHash,files:r.map(({file:e,path:t})=>({originalPath:e.path,retainedPath:t}))};return[...r.map(({file:e,path:t})=>Vt(t,new TextEncoder().encode(e.text))),Vt(`${n}/manifest.json`,new TextEncoder().encode(JSON.stringify(i)))]}function co(e,t,n){let r=it.parse(t);if(!n.length||new Set(n).size!==n.length)throw Error(`Select unique task records to import.`);let i=[...e.tasks];for(let e of n){let t=r.records.find(t=>t.id===e);if(!t||t.kind!==`task`||t.needsContext)throw Error(`Recorded attempts and incomplete histories must be imported into Labeling for review.`);let n=St.parse({schemaVersion:`openpond.taskData.v1`,id:t.id,clusterKey:t.familyKey,split:t.split,input:t.input,expectedOutput:t.expected,privilegedContextRef:null,metadata:{intake:{format:r.format,uploadHash:r.contentHash,sourceId:t.sourceId,sourceHash:t.sourceHash,metadata:t.metadata}}}),a=i.find(e=>e.id===n.id);if(a&&Le(a)!==Le(n))throw Error(`Task ${n.id} already exists with different content. Import will not replace saved edits.`);a||i.push(n)}let a=new Map;for(let e of i)for(let t of[`family:${e.clusterKey}`,`input:${Le(e.input)}`]){if(a.has(t)&&a.get(t)!==e.split)throw Error(`The imported task family or request already occurs in another split.`);a.set(t,e.split)}return Ft.parse({...e,tasks:i})}var lo=F({id:Ge,purpose:B().trim().min(1).max(500),audience:R([`orchestrator`,`environment`,`privileged_scorer`,`trainer`,`infrastructure`]),required:I(),ttlSeconds:L().int().positive().max(86400),scopes:j(B().trim().min(1).max(500)).max(100).default([])}).strict(),uo=F({declarationId:Ge,leaseRef:B().trim().min(8).max(1e3),audience:lo.shape.audience,expiresAt:Ie}).strict(),fo=F({adapterId:Ge,placement:R([`local`,`remote`,`colocated`,`provider_native`]),capabilityReceipt:Ue,runtimeVersion:B().trim().min(1).max(200),dataPlane:F({provider:Ge,dataPlaneId:Ge,cellId:Ge,runnerPoolId:Ge,runtimeImageDigest:B().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:Ue}).strict().nullable()}).strict(),po=F({adapterId:Ge,kind:R([`local`,`ssh`,`managed`,`custom`]),deviceOrPool:B().trim().min(1).max(1e3),capabilityReceipt:Ue,provider:Ge.nullable()}).strict(),mo=F({adapterId:Ge,workerVersion:B().trim().min(1).max(200),workerImageDigest:B().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:B().trim().min(1).max(500),capabilityReceipt:Ue}).strict(),ho=F({schemaVersion:M(`openpond.harnessRunManifest.v1`),executionMode:M(`qualification`).optional(),qualificationSamples:L().int().min(1).max(32).optional(),id:Ge,harnessRelease:Be,datasetRelease:Be,evidenceSets:j(Be).max(1e4),model:F({source:B().trim().min(1).max(200),revision:B().trim().min(1).max(500),artifactHash:Ue.nullable(),tokenizerRevision:B().trim().min(1).max(500),chatTemplateHash:Ue}).strict(),recipe:F({method:B().trim().min(1).max(100),version:B().trim().min(1).max(200),configHash:Ue}).strict(),runtimeTarget:fo,computeTarget:po,engine:mo,resolvedBundleHash:Ue,secretLeaseRefs:j(uo).max(1e3),approval:F({approvalHash:Ue,approvedAt:Ie,maximumSpendUsd:L().nonnegative().nullable()}).strict(),createdAt:Ie}).strict().extend({contentHash:Ue}).strict();F({schemaVersion:M(`openpond.resolvedTrainingBundle.v1`),executionMode:M(`qualification`).optional(),qualificationSamples:L().int().min(1).max(32).optional(),projection:M(`trainer`),harnessRelease:Be,datasetRelease:Be,evidenceSetRelease:Be.nullable(),files:j(F({path:B().trim().min(1).max(2e3),sha256:Ue,sizeBytes:L().int().nonnegative()}).strict()).max(1e5)}).strict().extend({contentHash:Ue}).strict();var go=F({name:M(`adamw`).default(`adamw`),weightDecay:L().nonnegative().max(1).default(0),beta1:L().positive().lt(1).default(.9),beta2:L().positive().lt(1).default(.999),epsilon:L().positive().max(.01).default(1e-8)}).strict().default({name:`adamw`,weightDecay:0,beta1:.9,beta2:.999,epsilon:1e-8}),_o=B().trim().min(1).max(240),vo=B().trim().min(1),yo=B().trim().min(8).max(256),bo=N(B(),k()).default({}),xo=_o.nullable(),So=R([`slash_train`,`session_menu`,`bulk_selection`,`training_page`,`task_candidate`]),Co=R([`defaults`,`customize`]),wo=R([`automated`,`manual`]);F({schemaVersion:M(`openpond.trainingSourceEstimate.v1`),sessionId:_o,messageCount:L().int().nonnegative(),estimatedTokens:L().int().nonnegative(),textBytes:L().int().nonnegative()}),F({query:B().max(500).default(``),offset:L().int().nonnegative().default(0),limit:L().int().min(1).max(100).default(20),candidates:j(F({sessionId:_o,title:B().trim().min(1).max(500),updatedAt:vo})).max(500).default([])});var To=F({sessionId:_o,title:B().trim().min(1).max(500),updatedAt:vo,snippet:B().max(2e3).nullable()});F({schemaVersion:M(`openpond.trainingChatSearchResult.v1`),query:B(),offset:L().int().nonnegative(),limit:L().int().positive(),total:L().int().nonnegative(),hasMore:I(),indexedChats:L().int().nonnegative(),totalChats:L().int().nonnegative(),indexing:I(),entries:j(To)});var Eo=R([`policy_failure`,`grader_failure`,`environment_failure`,`infrastructure_failure`,`timeout`,`cancelled`]),Do=F({graderId:_o.nullable(),path:B().trim().min(1).max(1e3),language:R([`javascript`,`typescript`,`python`,`json`,`text`]),content:B().max(2e6),sha256:yo,declaredSha256:yo.nullable(),integrity:R([`verified`,`unverified`,`mismatch`])}),Oo=F({protocolVersion:B().trim().min(1).max(200),module:B().trim().min(1).max(1e3),moduleSha256:yo,command:j(B().max(2e3)).max(100),cwd:B().trim().min(1).max(4e3),maxTurns:L().int().positive().max(100)});F({schemaVersion:M(`openpond.tasksetGraderDetails.v1`),taskset:oe,sourceTasksetId:_o,graders:j(Ct).max(1e3),runtime:Oo.nullable(),sources:j(Do).max(1e3),unavailableReason:B().max(2e3).nullable()});var ko=F({schemaVersion:M(`openpond.taskAttempt.v1`),id:_o,tasksetId:_o,taskId:_o,split:gt,attempt:L().int().nonnegative(),seed:L().int(),modelRef:ce.nullable(),startedAt:vo,completedAt:vo,output:N(B(),k()),runtimeEventRefs:j(_o).max(1e4).default([]),artifactRefs:j(_o).max(1e4).default([]),privilegedOutcomeRef:xo,infrastructureError:B().trim().min(1).max(1e4).nullable(),costUsd:L().nonnegative().nullable(),latencyMs:L().int().nonnegative(),userInterventions:L().int().nonnegative().default(0),metadata:bo}),Ao=F({schemaVersion:M(`openpond.taskAttemptArtifact.v1`),id:_o,tasksetId:_o,taskId:_o,attemptId:_o,kind:R([`raw_model_response`,`runtime_trace`,`environment_state`,`grader_evidence`,`output_artifact`]),path:B().trim().min(1).max(4e3),mediaType:B().trim().min(1).max(200).nullable().optional(),sha256:yo,sizeBytes:L().int().nonnegative(),createdAt:vo,metadata:bo}),jo=F({graderId:_o,graderVersion:B().trim().min(1).max(100),score:L().min(0).max(1).nullable(),passed:I(),hardGate:I(),rewardEligible:I(),feedback:B().trim().max(2e4).nullable(),evidenceRefs:j(_o).max(1e4).default([]),judge:ce.nullable().optional().default(null),calibrationStatus:R([`not_applicable`,`pending`,`passed`,`failed`])}),Mo=F({schemaVersion:M(`openpond.gradeResult.v1`),id:_o,attemptId:_o,graderSetHash:yo,score:L().min(0).max(1).nullable(),passed:I(),components:j(jo).min(1).max(1e3),failureClass:Eo.nullable(),feedback:j(B().trim().min(1).max(2e4)).max(1e3).default([]),rewardEligible:I(),rewardComposition:K.optional(),createdAt:vo});R([`stable_hash_top_n`,`rft_easy_curriculum_v1`]);var No=F({schemaVersion:M(`openpond.graderAuditReport.v1`),id:_o,tasksetId:_o,tasksetHash:yo,fixtureRefs:j(_o).min(1).max(1e5),gradeRefs:j(_o).min(1).max(1e5),passed:I(),hackingChecksPassed:I(),leakageChecksPassed:I(),infrastructureSafetyPassed:I(),failures:j(F({fixtureId:_o,label:Bt,gradeId:_o,reason:B().trim().min(1).max(5e3)})).max(1e5),createdAt:vo});function Po(e,t=`New model`){let n=e?.trim().split(/\s+/).filter(Boolean)??[];return n.length===0?t:n.slice(0,5).join(` `)}var Fo=F({schemaVersion:M(`openpond.baseModelPreference.v1`),modelId:_o,revision:B().trim().min(1).max(256).nullable(),tokenizerRevision:B().trim().min(1).max(256).nullable(),chatTemplateHash:B().trim().min(8).max(256).nullable(),modelAssetId:xo,source:R([`managed`,`local`,`builtin`])}),Io=F({schemaVersion:M(`openpond.taskCreationRequest.v1`),id:_o,profileId:_o,surface:So,mode:Co,entryMode:wo.default(`manual`),resourceIntent:R([`workproduct`,`dataset`]).default(`workproduct`),buildIntent:Nt.default(`demonstrations`),buildSpecification:Pt.nullable().default(null),objective:B().trim().min(1).max(2e4).nullable(),methodHint:R([`sft`,`dpo`,`grpo`,`ppo`]).nullable().default(null),preferredBaseModelId:_o.nullable().default(null),preferredBaseModel:Fo.nullable().default(null),sourceIds:j(_o).max(1e5),candidateId:xo,analysisModel:ce.nullable(),analysisReasoningEffort:fe.nullable().default(null),createImproveRunId:xo.default(null),targetIntent:F({kind:R([`agent`,`skill`,`extension`,`model`,`configuration`]).nullable(),id:xo,displayName:B().trim().min(1).max(500).nullable(),operation:R([`create`,`improve`])}).default({kind:`model`,id:null,displayName:null,operation:`create`}),disclosure:F({status:R([`not_required`,`pending`,`approved`,`declined`]),content:M(`raw_excerpts`),sourceIds:j(_o).max(1e5),providerModel:ce.nullable(),approvalId:xo,approvedAt:vo.nullable()}).default({status:`not_required`,content:`raw_excerpts`,sourceIds:[],providerModel:null,approvalId:null,approvedAt:null}),createdAt:vo}),Lo=F({schemaVersion:M(`openpond.taskCreationSnapshot.v1`),id:_o,request:Io,state:R([`planning`,`awaiting_disclosure_approval`,`awaiting_questions`,`recommendation_ready`,`awaiting_materialization_approval`,`materializing`,`validating`,`ready`,`blocked`,`failed`,`cancelled`]),proposal:Ka.nullable(),materializedTasksetId:xo,disclosureApprovalId:xo,materializationApprovalId:xo,blockingQuestions:j(F({id:_o,kind:R([`objective`,`consent`,`success_signal`,`privacy_licensing`,`interpretation`]),prompt:B().trim().min(1).max(5e3),answer:B().trim().min(1).max(2e4).nullable()})).default([]),transcript:j(F({id:_o,role:R([`user`,`assistant`,`system`,`tool`]),text:B().max(1e5),createdAt:vo})).max(1e4).default([]),repairHistory:j(Lt).max(1e3).default([]),blockedReason:B().trim().min(1).max(1e4).nullable(),createdAt:vo,updatedAt:vo});F({schemaVersion:M(`openpond.taskCreationTranscript.v1`),creationId:_o,profileId:_o,messages:Lo.shape.transcript,updatedAt:vo});var Ro=F({id:B().min(1),revision:L().int().positive(),scope:Ht,title:B().min(1),state:R([`waiting`,`ready`,`dispatching`,`admitted`,`completed`,`failed`,`cancelled`,`blocked`,`attention`]),reason:B().nullable(),cancellationRequested:I(),waitingForDesktop:I(),prerequisite:F({sessionId:B().min(1).nullable(),title:B().min(1),turnId:B().nullable()}).strict(),successor:F({operationId:B().min(1),sessionId:B().nullable(),providerId:B().min(1),modelId:B().nullable(),workspaceLabel:B().min(1)}).strict(),workflow:F({kind:M(`review`),preparationSessionId:B().nullable(),preparationState:B(),sourceReady:I(),preparationCleanupPending:I()}).strict().optional(),successCriteria:B().min(1),canEdit:I(),canCancel:I()}).strict(),zo=B().trim().min(1).max(240),Bo=B().trim().min(1),Vo=B().trim().min(8).max(256),Ho=N(B(),k()).default({}),Uo=R([`created`,`inspecting`,`awaiting_source_review`,`awaiting_mapping`,`awaiting_materialization_approval`,`materializing`,`validating`,`ready`,`cancelling`,`cancelled`,`failed`]),Wo=F({schemaVersion:M(`openpond.huggingFaceDatasetLocator.v1`),repositoryId:B().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:B().url().max(2e3),requestedRevision:B().trim().min(1).max(256).nullable()}),Go=F({path:B().trim().min(1).max(1e3),logicalType:B().trim().min(1).max(500),nullable:I(),sampleValues:j(k()).max(5)}),Ko=F({configuration:B().trim().min(1).max(500),split:B().trim().min(1).max(500),rowCount:L().int().nonnegative().nullable(),sizeBytes:L().int().nonnegative().nullable()}),qo=F({schemaVersion:M(`openpond.huggingFaceDatasetInspection.v1`),id:zo,locator:Wo,resolvedRevision:B().trim().min(7).max(256),title:B().trim().min(1).max(500),description:B().max(2e4).nullable(),declaredLicense:B().trim().min(1).max(500).nullable(),gated:I(),private:I(),configurations:j(B().trim().min(1).max(500)).min(1).max(1e3),splits:j(Ko).min(1).max(1e4),columns:j(Go).min(1).max(1e4),previewRows:j(N(B(),k())).max(25),sourceFiles:j(F({path:B().trim().min(1).max(2e3),configuration:B().trim().min(1).max(500),split:B().trim().min(1).max(500),revision:B().trim().min(7).max(256),sizeBytes:L().int().nonnegative().nullable(),contentHash:Vo.nullable()})).max(1e5),inspectedAt:Bo,metadata:Ho}),Jo=R([`row_id`,`cluster_id`,`prompt`,`messages`,`demonstration`,`chosen`,`rejected`,`expected_output`,`privileged_context`,`reward`,`feedback`,`tag`,`metadata`]),Yo=F({sourcePath:B().trim().min(1).max(1e3),target:Jo,transform:R([`identity`,`string`,`json`,`messages`,`numeric`,`math_final_answer`]),policy:R([`visible`,`privileged`,`metadata`]),required:I()}),Xo=F({schemaVersion:M(`openpond.datasetImportMapping.v1`),sourceSchemaHash:Vo,configuration:B().trim().min(1).max(500),upstreamSplits:j(B().trim().min(1).max(500)).min(1).max(1e3),preset:R([`prompt_only`,`prompt_completion`,`messages`,`preference`,`prompt_expected_answer`,`prompt_privileged_solution`,`prompt_feedback`]),bindings:j(Yo).min(1).max(1e4),nullPolicy:R([`reject`,`drop`,`preserve`]),invalidRowPolicy:R([`reject_import`,`drop_with_receipt`]),splitPolicy:F({seed:L().int(),assignments:N(B(),zt),validationPercent:L().min(0).max(100),frozenEvalPercent:L().min(0).max(100)}),importerVersion:B().trim().min(1).max(200),mappingHash:Vo}),Zo=F({phase:R([`idle`,`metadata`,`download`,`mapping`,`parquet_write`,`verification`,`publish`]),completedBytes:L().int().nonnegative(),totalBytes:L().int().nonnegative().nullable(),completedRows:L().int().nonnegative(),totalRows:L().int().nonnegative().nullable(),message:B().trim().min(1).max(2e3).nullable()}),Qo=F({schemaVersion:M(`openpond.datasetImportJob.v1`),id:zo,profileId:zo,sourceKind:R([`huggingface`,`uploaded_file`]),status:Uo,locator:Wo.nullable(),inspection:qo.nullable(),mapping:Xo.nullable(),progress:Zo,targetStorageRoot:B().trim().min(1).max(4e3).nullable(),tasksetId:zo.nullable(),tasksetRevision:L().int().positive().nullable(),artifactId:zo.nullable(),error:B().trim().min(1).max(2e4).nullable(),cancellationRequested:I(),createdAt:Bo,updatedAt:Bo,completedAt:Bo.nullable(),metadata:Ho});F({profileId:zo,url:B().trim().min(1).max(2e3)}),F({name:B().trim().min(1).max(500),objective:B().trim().min(1).max(2e4),mapping:Xo,targetStorageRoot:B().trim().min(1).max(4e3).nullable(),licenseApproved:I().default(!1)});var $o=B().trim().min(1).max(240),es=B().trim().min(1),ts=N(B(),k()).default({}),ns=R([`nominated`,`needs_review`,`approved_for_creation`,`creating`,`needs_task_review`,`baselining`,`ready_for_export`,`rejected`,`dismissed`,`retired`,`blocked`]),rs=F({id:$o,kind:R([`repeated_success`,`accepted_correction`,`agent_action_recurrence`,`outcome_linked_change`,`frontier_cost`,`expert_label`,`runtime_feedback`]),sourceRefIds:j($o).min(1).max(1e4),occurredAt:es,signature:B().trim().min(1).max(2e3),summary:B().trim().min(1).max(5e3),confidence:L().min(0).max(1),consented:I(),metadata:ts}),is=F({frequency:L().min(0).max(1),businessValue:L().min(0).max(1),frontierCost:L().min(0).max(1),signalQuality:L().min(0).max(1),verifiability:L().min(0).max(1),repeatability:L().min(0).max(1),privacyRisk:L().min(0).max(1),overall:L().min(0).max(1)}),as=F({tactic:Ha,eligible:I(),reasons:j(B().trim().min(1).max(5e3)).min(1).max(100),blockers:j(B().trim().min(1).max(5e3)).max(100).default([]),requiredSignals:j(B().trim().min(1).max(500)).max(100).default([]),generatedBy:R([`decision_table`,`baseline_reassessment`])}),os=F({schemaVersion:M(`openpond.taskCandidate.v1`),id:$o,profileId:$o,status:ns,fingerprint:B().trim().min(1).max(512),title:B().trim().min(1).max(500),summary:B().trim().min(1).max(1e4),workflowSignature:B().trim().min(1).max(2e3),evidence:j(rs).min(1).max(1e5),scorecard:is,recommendation:as,mergedIntoId:$o.nullable(),createdAt:es,updatedAt:es,metadata:ts}),ss=F({schemaVersion:M(`openpond.taskMinerConfig.v1`),enabled:I().default(!1),localOnly:I().default(!0),observationWindowDays:L().int().min(1).max(365).default(30),minimumRecurrence:L().int().min(2).max(100).default(3),clustering:M(`hybrid_deterministic_first`).default(`hybrid_deterministic_first`),consentRequired:I().default(!0)});F({items:j(os),generatedAt:es,config:ss}),F({status:ns.optional(),mergeIntoId:$o.nullable().optional()}),F({profileId:$o,sourceIds:j($o).max(1e5).default([]),sessionIds:j($o).max(1e5).default([]),config:ss.optional()});var cs=F({schemaVersion:M(`openpond.taskMinerRun.v1`),id:$o,profileId:$o,status:R([`queued`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`]),config:ss,sourceIds:j($o).max(1e5),sessionIds:j($o).max(1e5).default([]),progress:F({stage:R([`queued`,`ingesting`,`preparing`,`clustering`,`persisting`,`complete`]),processedSources:L().int().nonnegative(),totalSources:L().int().nonnegative(),candidatesFound:L().int().nonnegative(),skippedSources:L().int().nonnegative().default(0)}),candidateIds:j($o).max(1e5),cancelRequested:I(),error:B().trim().min(1).max(2e4).nullable(),createdAt:es,startedAt:es.nullable(),completedAt:es.nullable(),updatedAt:es});function ls(e){let t;return new ie({type:`object`,get shape(){return t??=e()}})}var us=B().trim().min(1).max(200),ds=F({operationId:us,execution:Be,executionKind:M(`recorded_evidence`).optional(),graders:j(Pe).min(1).max(100),maximumCostUsd:L().finite().min(1e-6).max(1e4),mappings:j(F({graderId:us,fields:tt}).strict()).max(100).optional()}).strict().superRefine((e,t)=>{new Set(e.graders.map(e=>e.id)).size!==e.graders.length&&t.addIssue({code:`custom`,path:[`graders`],message:`Select each grader once.`}),e.mappings&&(new Set(e.mappings.map(e=>e.graderId)).size!==e.mappings.length||e.mappings.some(t=>!e.graders.some(e=>e.id===t.graderId)))&&t.addIssue({code:`custom`,path:[`mappings`],message:`Map each selected grader at most once.`})});F({schemaVersion:M(`openpond.experimentScoringPass.v1`),id:us,teamId:us,revision:L().int().positive(),request:ds,graders:j(et).min(1).max(100),status:R([`queued`,`running`,`cancelling`,`completed`,`failed`,`cancelled`]),totalCount:L().int().min(1).max(1e4),counts:F({pending:L().int().nonnegative(),running:L().int().nonnegative(),scored:L().int().nonnegative(),unavailable:L().int().nonnegative(),failed:L().int().nonnegative(),cancelled:L().int().nonnegative()}).strict(),resultAvailable:I(),createdAt:O(),startedAt:O().nullable(),completedAt:O().nullable(),error:F({code:us,message:B().max(2e3)}).strict().nullable()}).strict().extend({contentHash:B().regex(/^[a-f0-9]{64}$/)});var fs=F({sourcePass:Be,graders:ds.shape.graders,mappings:ds.shape.mappings,maximumCostUsd:L().finite().positive().max(1e4)}).strict(),ps=F({externalDatasetBinding:We,scoring:fs.optional(),modelId:B().min(1).max(300),maximumCostUsd:L().finite().positive().max(1e4)}).strict(),ms=F({source:R([`local`,`github`,`openpond_git`]),repositoryId:B().trim().min(1),profileId:B().trim().min(1)}).strict(),hs=B().min(1).max(240),gs=B().regex(/^[a-f0-9]{64}$/),_s=F({schemaVersion:M(`openpond.experimentImprovement.v1`),id:hs,operationId:hs,requestHash:gs,actorId:hs,teamId:hs,projectId:hs.nullable(),ownerWorkspaceId:hs,ownerRevision:L().int().nonnegative(),ownerSourceRevision:B().min(1).max(500),baseRelease:Be,profileRef:ms,baseProfileSourceRevision:B().min(1).max(500),evidence:F({manifest:je,result:Ze}).strict(),component:F({kind:R([`skill`,`workflow`,`agent`,`instruction`]),path:B().min(1).max(2e3),workflowId:hs.optional()}).strict(),mode:R([`manual`,`llm_assisted`]),status:R([`draft`,`authoring_queued`,`authoring`,`frozen`,`testing`,`ready_for_review`,`adopting`,`accepted`,`rolled_back`,`declined`,`failed`,`cancelled`]),revision:L().int().positive(),limits:F({maximumCostUsd:L().finite().positive(),maximumAuthoringSteps:L().int().min(1).max(500),maximumDurationMs:L().int().min(1e3).max(864e5)}).strict(),authoringSteps:L().int().nonnegative().max(500),work:F({sessionId:hs,turnId:hs,revision:L().int().positive(),startedAt:B().datetime()}).strict().nullable(),frozen:F({release:Be,sourceRevision:B().min(1).max(500),profileSourceRevision:B().min(1).max(500),authoringHash:gs,partitionHash:gs,executableSourceHash:gs,protectedClosureHash:gs,candidateRevision:L().int().positive(),diff:j(F({path:B(),before:gs.nullable(),after:gs.nullable()}).strict()).max(1e4)}).strict().nullable(),test:F({recipe:ps,recipeHash:B().regex(/^[a-f0-9]{64}$/),baselineOperationId:B(),candidateOperationId:B(),cancelRequestedAt:B().datetime().nullable(),dispatching:F({kind:R([`baseline`,`candidate`]),token:hs,pid:L().int().positive(),processStart:B().nullable(),startedAt:B().datetime()}).strict().nullable()}).strict().nullable(),comparison:F({baseline:F({manifest:je,result:Ze}).strict(),candidate:F({manifest:je,result:Ze}).strict(),frozenHash:gs,humanProjection:Ia.optional()}).strict().nullable(),adoptionIntent:F({operationId:hs,expectedOwnerRevision:L().int().nonnegative(),frozenHash:gs,humanProjection:Ia.optional()}).strict().nullable(),acceptance:Be.nullable(),rollback:Be.nullable(),error:B().max(2e3).nullable(),createdAt:B().datetime(),updatedAt:B().datetime(),contentHash:gs}).strict();function vs(e){let t=_s.parse(e),{contentHash:n,...r}=t;if(Le(r)!==n)throw Error(`Improvement state integrity failed.`);if(Ae(t.evidence),t.evidence.manifest.teamId!==t.teamId||t.evidence.result.status!==`completed`||!t.evidence.result.cases.some(e=>e.status===`completed`))throw Error(`Improvement requires usable completed owner evidence.`);if(t.test&&(Le(t.test.recipe)!==t.test.recipeHash||Ke(t.test.recipe.externalDatasetBinding).profileId!==t.profileRef.profileId))throw Error(`The test recipe changed its exact selected Profile.`);if(t.comparison?.humanProjection){let e=Ra(t.comparison.humanProjection);if(e.teamId!==t.teamId||e.projectId!==t.projectId||Le(e.baseline)!==Le(t.comparison.baseline)||Le(e.candidate)!==Le(t.comparison.candidate))throw Error(`Human comparison projection differs from its exact owner evidence.`)}if(t.comparison&&(Ae(t.comparison.baseline),Ae(t.comparison.candidate),!t.frozen||t.comparison.frozenHash!==Le(t.frozen)||!ke(t.comparison.baseline,t.comparison.candidate).comparable))throw Error(`Improvement comparison is not bound to a comparable frozen candidate.`);if(t.status===`ready_for_review`&&(!t.frozen||!t.comparison))throw Error(`Improvement is missing qualification.`);if(t.status===`adopting`&&(!t.adoptionIntent||!t.frozen||t.adoptionIntent.frozenHash!==Le(t.frozen)))throw Error(`Improvement adoption intent is not bound to its tested revision.`);if(t.status===`accepted`&&(!t.acceptance||!t.comparison||!t.frozen))throw Error(`Improvement acceptance is missing its exact qualification receipt.`);if(t.status===`rolled_back`&&(!t.acceptance||!t.rollback))throw Error(`Profile rollback is missing its durable owner receipt.`);return t}var ys=F({states:j(_s).max(50),nextCursor:hs.nullable()}).strict(),bs=F({operationId:hs,ownerWorkspaceId:hs,expectedOwnerRevision:L().int().nonnegative(),baseRelease:Be,profileRef:ms,profileSourceRevision:B().min(1).max(500),projectId:hs.nullable(),evidence:Be,component:_s.shape.component,mode:_s.shape.mode,limits:_s.shape.limits}).strict(),xs=te(`operation`,[F({operation:M(`list`),limit:L().int().min(1).max(50).default(30),cursor:hs.optional()}).strict(),F({operation:M(`options`),evidence:Be}).strict(),F({operation:M(`start`),request:bs}).strict(),F({operation:R([`read`,`humanComparisonOptions`]),id:hs}).strict(),F({operation:M(`instructions`),id:hs}).strict(),F({operation:M(`edit`),id:hs,revision:L().int().positive(),expectedFileHash:gs,text:B().max(25e4)}).strict(),F({operation:M(`mode`),id:hs,revision:L().int().positive(),mode:R([`manual`,`llm_assisted`])}).strict(),F({operation:M(`author`),id:hs,revision:L().int().positive(),modelId:hs,prompt:B().min(1).max(2e4)}).strict(),F({operation:R([`freeze`,`finishAuthoring`,`useCandidate`,`discard`,`cancel`,`rollback`]),id:hs,revision:L().int().positive()}).strict(),F({operation:M(`test`),id:hs,revision:L().int().positive(),recipe:ps}).strict(),F({operation:M(`compare`),id:hs,revision:L().int().positive(),baseline:Be,candidate:Be,humanSelections:Na.optional()}).strict()]),Ss=F({teamId:hs,evidence:Be,scoring:fs.optional(),profiles:j(F({id:gs,name:B(),profileRef:ms,ownerWorkspaceId:hs,ownerRevision:L().int().nonnegative(),baseRelease:Be,profileSourceRevision:B(),components:j(F({kind:R([`skill`,`instruction`,`agent`,`workflow`]),path:B(),agentId:B().optional(),workflowId:B().optional(),label:B(),binding:We}).strict()).max(500)}).strict()).max(100)}).strict(),Cs=F({candidateId:hs,actorId:hs,teamId:hs,projectId:hs.nullable(),candidateRevision:L().int().positive(),recipeHash:gs,baseline:F({manifest:je,result:Ze}).strict(),candidate:F({manifest:je,result:Ze}).strict(),contentHash:gs}).strict();function ws(e){let t=Cs.parse(e),{contentHash:n,...r}=t;if(Le(r)!==n)throw Error(`Accepted Human discovery integrity failed.`);for(let e of[t.baseline,t.candidate])if(Ae(e),e.manifest.teamId!==t.teamId||e.manifest.lineage?.humanProjection)throw Error(`Discovery must retain original owner evidence.`);return t}var Ts=B().trim().min(1).max(240),Es=B().regex(/^[a-f0-9]{64}$/),Ds=F({schemaVersion:M(`openpond.advancedRefinerEvaluation.v1`),operationId:Ts,actorId:Ts,teamId:Ts,projectId:Ts.nullable(),mode:R([`review_quality`,`downstream_adaptation`]),profileRef:F({source:R([`local`,`github`,`openpond_git`]),repositoryId:Ts,profileId:Ts}).strict(),sourceRevision:B().min(1).max(500),baselineRelease:Be,refinerRelease:Be,evidence:Be,externalDatasetBinding:We,adaptationDatasetBinding:We,privateClosureHash:Es,adaptationTaskIds:j(Ts).min(1).max(1e4),holdoutTaskIds:j(Ts).min(1).max(1e4),adaptationSplit:R([`train`,`validation`,`test`,`frozen_eval`]),holdoutSplit:R([`train`,`validation`,`test`,`frozen_eval`]),environmentPolicy:te(`kind`,[F({kind:M(`resettable`),environmentHash:Es}).strict(),F({kind:M(`frozen_observations`),environmentHash:Es}).strict()]),maximumCostUsd:L().finite().positive().max(1e4),maximumDurationMs:L().int().min(1e3).max(864e5),maximumModelSteps:L().int().min(1).max(1e3),contentHash:Es}).strict();function Os(e){let t=Ds.parse(e),{contentHash:n,...r}=t;if(Le(r)!==n)throw Error(`Advanced Refiner evaluation admission changed.`);let i=Ke(t.externalDatasetBinding);if(i.profileId!==t.profileRef.profileId||i.protectedProfileClosureHash!==t.privateClosureHash)throw Error(`Advanced evaluation changed its Profile or protected evaluator closure.`);if(t.adaptationSplit===t.holdoutSplit||new Set([...t.adaptationTaskIds,...t.holdoutTaskIds]).size!==t.adaptationTaskIds.length+t.holdoutTaskIds.length)throw Error(`Adaptation and private holdout must be disjoint ordered cases.`);let a=Ke(t.adaptationDatasetBinding);if(a.profileId!==i.profileId||a.packageHash!==i.packageHash||Le(a.dataset)!==Le(i.dataset)||Le(a.target)!==Le(i.target)||a.protectedProfileClosureHash!==i.protectedProfileClosureHash)throw Error(`This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target.`);if(a.split!==t.adaptationSplit||i.split!==t.holdoutSplit)throw Error(`Advanced split policies differ from their exact admitted recipes.`);let o=new Set(i.population.map(e=>e.taskId)),s=new Set(a.population.map(e=>e.taskId));if(t.holdoutTaskIds.some(e=>!o.has(e))||t.adaptationTaskIds.some(e=>!s.has(e)))throw Error(`Advanced evaluation selected cases outside its exact Dataset recipe.`);return t}var ks=F({pin:Ds,modelId:Ts,profileId:Ts,model:It,seed:L().int(),reasoningEffort:R([`none`,`off`,`low`,`medium`,`high`,`xhigh`,`max`]).nullable()}).strict(),As=te(`operation`,[F({operation:M(`start`),request:ks}).strict(),F({operation:R([`read`,`cancel`,`resume`]),id:Ts}).strict(),F({operation:M(`list`)}).strict()]),js=F({taskId:Ts,sourceCaseHash:Es,reviewSessionId:Ts,reviewTurnId:Ts,inputHarness:Be,trigger:Be,decision:R([`no_action`,`route_deterministically`,`queue_refiner`]),outcome:Be.nullable(),proposal:Be.nullable(),validations:j(Be).max(100),grade:F({id:Ts,contentHash:Es,score:L().min(0).max(1).nullable(),passed:I(),failureClass:B().nullable()}).strict(),resetComplete:I()}).strict(),Ms=F({schemaVersion:M(`openpond.advancedRefinerReviewReceipt.v1`),id:Ts,runId:Ts,pinHash:Es,ownerActorId:Ts,teamId:Ts,privateClosureHash:Es,refinerRelease:Be,cases:j(js).min(1).max(1e4),reviewScore:L().min(0).max(1).nullable(),completedCases:L().int().nonnegative(),noActionCases:L().int().nonnegative(),routedCases:L().int().nonnegative(),proposalCases:L().int().nonnegative(),costUsd:L().finite().nonnegative().nullable(),cleanupComplete:I(),createdAt:B().datetime(),contentHash:Es}).strict(),Ns=Ss.shape.profiles.element,Ps=Ss.extend({profiles:j(Ns.extend({components:j(Ns.shape.components.element.extend({adaptationSplits:j(F({split:R([`train`,`validation`,`test`,`frozen_eval`]),taskIds:j(Ts)})),environmentHash:Es,resettable:I(),reviewQuality:I()}))})),refinerReleases:j(Be),activeRefiner:Be.nullable(),models:j(F({id:Ts,profileId:Ts,name:B(),location:R([`local`,`hosted`])}))}),Fs=F({operation:M(`prepare`),evidence:Be,profileOptionId:Ts,componentLabel:Ts,mode:R([`review_quality`,`downstream_adaptation`]),adaptationSplit:R([`train`,`validation`,`test`,`frozen_eval`]),operationId:Ts,refinerRelease:Be,maximumCostUsd:L().positive(),maximumDurationMs:L().int().positive(),maximumModelSteps:L().int().positive()}).strict();ae([As,Fs,F({operation:M(`options`),evidence:Be}).strict()]);var Is=F({modelRequests:L().int().nonnegative(),knownSpendUsd:L().nonnegative(),totalSpendUsd:L().nonnegative().nullable(),heldUsd:L().nonnegative(),uncertainRequests:L().int().nonnegative()}).strict(),Ls=G.nullable(),Rs=L().int().nonnegative(),zs=B().regex(/^[a-f0-9]{40}$/),Bs=F({name:B().trim().min(1).max(160),startedAt:V,completedAt:V,durationMs:L().nonnegative(),clock:R([`monotonic`,`provider`,`wall`]),outcome:R([`succeeded`,`failed`,`cancelled`])}).strict(),Vs=F({schemaVersion:M(`openpond.correlatedTelemetryReceipt.v1`),stage:R([`training`,`evaluation`,`deployment`,`inference`]),correlation:F({modelRunId:Ls,modelVersionId:Ls,policyVersion:Rs.nullable(),taskId:Ls,rolloutGroupId:Ls,providerResourceId:Ls,deploymentId:Ls,inferenceRequestId:Ls}).strict(),spans:j(Bs).max(1e4),usage:F({promptTokens:Rs.nullable(),generatedTokens:Rs.nullable(),gpuSeconds:L().nonnegative().nullable(),workerActiveSeconds:L().nonnegative().nullable(),optimizerSteps:Rs.nullable(),rolloutGroups:Rs.nullable(),successfulTrajectories:Rs.nullable(),failedTrajectories:Rs.nullable(),peakGpuMemoryBytes:Rs.nullable(),peakGpuUtilizationPercent:L().min(0).max(100).nullable()}).strict(),resource:F({provider:G,resourceIds:j(G).max(1e3),gpuType:B().trim().min(1).max(300).nullable(),gpuCount:Rs.nullable(),baseProfileId:Ls,baseRepository:B().trim().min(1).max(512).nullable(),baseRevision:zs.nullable(),adapterContentHash:W.nullable()}).strict(),cost:F({currency:M(`USD`),providerReportedUsd:L().nonnegative().nullable(),quotedHourlyUsd:L().nonnegative().nullable(),estimatedUsd:L().nonnegative().nullable(),methodologyVersion:B().trim().min(1).max(160),pricingInputs:N(B().trim().min(1).max(160),L().finite()),unitEstimates:N(B().trim().min(1).max(160),L().nonnegative())}).strict(),recordedAt:V,contentHash:W}).strict(),Hs=B().trim().min(1).max(240),Us=B().regex(/^[a-f0-9]{64}$/),Ws=B().datetime({offset:!0}),Gs=F({id:Hs,contentHash:Us}).strict(),Ks=Gs.extend({revision:L().int().positive()}).strict(),qs=F({providerId:Hs,modelId:B().trim().min(1).max(300)}).strict(),Js=R([`correction`,`sibling_verification`,`cumulative_known`,`development`,`retained`,`frozen_final`,`training_eligible`]),Ys=F({taskId:Hs,taskContentHash:Us,panelRole:Js,passLabel:Hs.nullable(),optimizerEligible:I(),criticalInvariantIds:j(Hs).max(100).default([])}).strict().superRefine((e,t)=>{e.optimizerEligible!==(e.panelRole===`correction`)&&t.addIssue({code:`custom`,path:[`optimizerEligible`],message:`Only correction cases may be optimizer eligible.`})}),Xs=F({schemaVersion:M(`openpond.continualBenchIssuePacket.v1`),id:Hs,revision:L().int().positive(),contentHash:Us,familyId:Hs,familyLabel:B().trim().min(1).max(500),severity:R([`low`,`medium`,`high`,`critical`]),cases:j(Ys).min(2).max(1e4),duplicateEvidence:Gs,leakageEvidence:Gs,priorExposureEvidence:Gs,observedAt:Ws,reviewedAt:Ws,queuedAt:Ws.nullable(),runAt:Ws.nullable(),createdBy:Hs,createdAt:Ws}).strict().superRefine((e,t)=>{e.cases.some(e=>e.panelRole===`correction`)||t.addIssue({code:`custom`,path:[`cases`],message:`An issue packet requires a correction case.`}),e.cases.some(e=>e.panelRole===`sibling_verification`)||t.addIssue({code:`custom`,path:[`cases`],message:`An issue packet requires a sibling-verification case.`}),new Set(e.cases.map(e=>e.taskId)).size!==e.cases.length&&t.addIssue({code:`custom`,path:[`cases`],message:`Issue-packet task ids must be unique.`})}),Zs=F({id:Hs,role:Js,passLabel:Hs.nullable(),taskset:Ks,familyIds:j(Hs).min(1).max(1e5),taskCount:L().int().positive().max(1e6),sealedAt:Ws}).strict().superRefine((e,t)=>{let n=e.role===`correction`||e.role===`sibling_verification`||e.role===`cumulative_known`;n!==(e.passLabel!==null)&&t.addIssue({code:`custom`,path:[`passLabel`],message:n?`This panel role requires a pass label.`:`This panel role is series-wide and cannot carry a pass label.`})}),Qs=te(`kind`,[F({kind:M(`base_model`),id:Hs,revision:B().trim().min(1).max(500),contentHash:Us}).strict(),F({kind:M(`model_version`),id:Hs,contentHash:Us}).strict(),F({kind:M(`external_reference`),id:Hs,model:qs,providerRevision:B().trim().min(1).max(500),contentHash:Us}).strict()]),$s=F({scheduleEntryId:Hs,ordinal:L().int().nonnegative(),label:Hs,role:R([`seed`,`daily_residual`,`rank_candidate`,`weekly_rollup`,`full_refresh`]),parentRule:R([`base_model`,`previous_release`,`seed_release`,`accepted_daily_head`,`accepted_seed`]),trainableRank:L().int().positive().max(1024),correctionPanelIds:j(Hs).min(1).max(1e3),optimizerGroupsPerTask:L().int().positive().max(1e3),trajectoriesPerGroup:L().int().min(4).max(1e3)}).strict(),ec=F({revision:L().int().positive(),requireAllAttemptsTerminal:M(!0),criticalCorrectionPassRate:L().min(0).max(1),siblingPassRate:L().min(0).max(1),behavioralRetentionRate:L().min(0).max(1),maximumRetainedRegressionPoints:L().min(0).max(100),blockCriticalPriorRegression:I(),authorizedClaims:j(R([`systems_complete`,`correction_absorbed`,`issue_generalized`,`continually_current`,`frontier_pareto_result`])).min(1).max(5)}).strict(),tc=F({schemaVersion:M(`openpond.continualBenchmarkProtocol.v1`),id:Hs,revision:L().int().positive(),contentHash:Us,ownerId:Hs,createdAt:Ws,sealedAt:Ws,creationReceipt:Gs,predecessorSeries:F({id:Hs,revision:L().int().positive(),contentHash:Us}).strict().nullable(),scenarioPack:Gs,issueFamilyLedger:Gs,issuePacketRelease:Gs,panels:j(Zs).min(6).max(1e4),grader:Gs,judge:F({release:Gs,rubricRelease:Gs,calibrationRelease:Gs,model:qs}).strict().nullable(),policies:F({base:Qs,master:Qs.nullable(),externalReferences:j(Qs).min(1).max(20)}).strict(),invariants:F({systemPromptHash:Us,toolSchema:Gs,application:Gs,harness:Gs,runtime:Gs,workerImage:Gs,autoRefiner:F({enabled:I(),release:Gs.nullable()}).strict()}).strict(),schedule:j($s).min(1).max(1e3),evaluation:F({seeds:j(L().int()).min(3).max(100),repetitions:L().int().min(3).max(20),powerRule:Gs,pairedBootstrapSamples:L().int().min(1e3).max(1e6),confidenceLevel:M(.95)}).strict(),resources:F({maximumTrainingGpuSeconds:L().int().positive(),maximumEvaluationGpuSeconds:L().int().positive(),maximumProviderSpendUsd:L().positive(),maximumTotalSpendUsd:L().positive(),maximumConcurrentGroups:L().int().positive().max(1e3)}).strict(),currencyThresholds:ec}).strict().superRefine((e,t)=>{let n=e.panels.map(e=>e.id);new Set(n).size!==n.length&&t.addIssue({code:`custom`,path:[`panels`],message:`Protocol panel ids must be unique.`});for(let n of[`development`,`retained`,`frozen_final`,`training_eligible`])e.panels.filter(e=>e.role===n).length!==1&&t.addIssue({code:`custom`,path:[`panels`],message:`A protocol requires exactly one ${n} panel.`});[...e.schedule].sort((e,t)=>e.ordinal-t.ordinal).some((e,t)=>e.ordinal!==t)&&t.addIssue({code:`custom`,path:[`schedule`],message:`Protocol schedule ordinals must be contiguous from zero.`});let r=new Set(n);e.schedule.some(e=>e.correctionPanelIds.some(e=>!r.has(e)))&&t.addIssue({code:`custom`,path:[`schedule`],message:`Every scheduled correction panel must belong to the protocol.`})}),nc=R([`draft`,`active`,`completed`,`archived`]),rc=R([`draft`,`ready`,`queued`,`running`,`candidate`,`accepted`,`rejected`,`no_signal`,`failed`,`cancelled`]),ic=R([`seed`,`daily_residual`,`rank_candidate`,`weekly_rollup`,`full_refresh`]),ac=R([`base_model`,`previous_release`,`seed_release`,`accepted_daily_head`,`accepted_seed`]),oc=R([`seed_taskset`,`nightly_selection`,`daily_cohort_union`,`eligible_task_pool`]),sc=R([`live_client`,`evaluation_attempt`,`replay_evidence`,`manual`]),cc=F({id:G,ordinal:L().int().nonnegative(),label:B().trim().min(1).max(100),role:ic,parentRule:ac,taskSource:oc,trainableRank:L().int().positive().max(1024),minimumTasks:L().int().nonnegative().max(1e5),maximumTasks:L().int().positive().max(1e5)}).strict().superRefine((e,t)=>{e.minimumTasks>e.maximumTasks&&t.addIssue({code:`custom`,path:[`minimumTasks`],message:`The minimum task count cannot exceed the maximum task count.`});let{parentRules:n,taskSource:r}={seed:{parentRules:[`base_model`],taskSource:`seed_taskset`},daily_residual:{parentRules:[`previous_release`,`accepted_daily_head`],taskSource:`nightly_selection`},rank_candidate:{parentRules:[`seed_release`],taskSource:`eligible_task_pool`},weekly_rollup:{parentRules:[`seed_release`,`accepted_seed`],taskSource:`daily_cohort_union`},full_refresh:{parentRules:[`base_model`],taskSource:`eligible_task_pool`}}[e.role];n.includes(e.parentRule)||t.addIssue({code:`custom`,path:[`parentRule`],message:`${e.role} requires parent rule ${n.join(` or `)}.`}),e.taskSource!==r&&t.addIssue({code:`custom`,path:[`taskSource`],message:`${e.role} requires task source ${r}.`}),e.ordinal===0&&e.role!==`seed`&&t.addIssue({code:`custom`,path:[`role`],message:`The first series entry must be the seed.`})}),lc=F({id:G,version:L().int().positive(),requireCheckpoint:I(),requireAppliedOptimizerUpdate:I(),minimumCurrentCohortMeanImprovement:L().finite(),maximumRetainedMeanRegression:L().finite().nonnegative(),blockCriticalInvariantRegression:I(),automaticDailyAdvancement:I()}).strict(),uc=F({schemaVersion:M(`openpond.modelComparisonSeries.v1`),id:G,profileId:G,modelProjectId:G,name:B().trim().min(1).max(500),objective:B().trim().min(1).max(2e4),status:nc,revision:L().int().positive(),productionBinding:F({role:M(`chat_manual`),roleTargetId:G}).strict(),baseModel:F({id:G,revision:B().trim().min(1).max(256)}).strict(),seedTaskset:oe,eligibleTaskPool:oe,evaluationTasksets:F({development:oe,retained:oe,frozenFinal:oe}).strict(),grader:U,benchmarkProtocol:tc.nullable().default(null),automaticEvaluation:F({enabled:I()}).strict().default({enabled:!1}),residualProfile:F({profileId:G,serializedEnvelopeRank:L().int().positive().max(1024),maximumEnabledRank:L().int().positive().max(1024),topology:M(`uniform_block_masked`)}).strict(),schedule:j(cc).min(1).max(1e3),scheduleSealedAt:V.nullable(),advancementPolicy:lc,executionPolicy:F({startWhenReady:M(!1)}).strict(),acceptedSeedEntryId:G.nullable(),acceptedDailyHeadEntryId:G.nullable(),promotedBindingId:G.nullable(),createdBy:G,createdAt:V,updatedAt:V}).strict().superRefine((e,t)=>{[...e.schedule].sort((e,t)=>e.ordinal-t.ordinal).some((e,t)=>e.ordinal!==t)&&t.addIssue({code:`custom`,path:[`schedule`],message:`Schedule ordinals must be unique and contiguous from zero.`}),(new Set(e.schedule.map(e=>e.id)).size!==e.schedule.length||new Set(e.schedule.map(e=>e.label)).size!==e.schedule.length)&&t.addIssue({code:`custom`,path:[`schedule`],message:`Schedule ids and labels must be unique.`}),e.residualProfile.maximumEnabledRank>e.residualProfile.serializedEnvelopeRank&&t.addIssue({code:`custom`,path:[`residualProfile`],message:`Maximum enabled rank cannot exceed the serialized envelope.`});let n=Object.values(e.evaluationTasksets);new Set(n.map(e=>`${e.id}:${e.revision}:${e.contentHash}`)).size!==n.length&&t.addIssue({code:`custom`,path:[`evaluationTasksets`],message:`Development, retained, and frozen-final cohorts require distinct immutable Taskset releases.`});let r=e.schedule.find(e=>e.role===`seed`);if(!r||e.schedule.filter(e=>e.role===`seed`).length!==1){t.addIssue({code:`custom`,path:[`schedule`],message:`A series requires exactly one seed entry.`});return}let i=e.schedule.filter(e=>e.role===`rank_candidate`);i.length===1&&t.addIssue({code:`custom`,path:[`schedule`],message:`A causal rank comparison requires at least two rank candidates.`}),new Set(i.map(e=>e.trainableRank)).size!==i.length&&t.addIssue({code:`custom`,path:[`schedule`],message:`Causal rank candidates must use distinct trainable ranks.`}),[r.trainableRank+e.schedule.filter(e=>e.role===`daily_residual`).reduce((e,t)=>e+t.trainableRank,0),...e.schedule.filter(e=>e.role===`weekly_rollup`).map(e=>r.trainableRank+e.trainableRank),...e.schedule.filter(e=>e.role===`rank_candidate`).map(e=>r.trainableRank+e.trainableRank),...e.schedule.filter(e=>e.role===`full_refresh`).map(e=>e.trainableRank)].some(t=>t>e.residualProfile.maximumEnabledRank)&&t.addIssue({code:`custom`,path:[`schedule`],message:`A declared branch exceeds the maximum enabled rank.`})}),dc=F({source:sc,taskIds:j(G).min(1).max(1e5),observedFrom:V,observedTo:V,reviewedAt:V,reviewedBy:G,sourceTaskset:oe}).strict(),fc=dc.extend({derivedFamilyKeys:j(G).min(1).max(1e5),familyDerivation:F({algorithm:G,sourceTasksetHash:W}).strict(),selectionHash:W}).strict(),pc=te(`kind`,[F({kind:M(`base_model`),id:G,revision:B().trim().min(1).max(256)}).strict(),F({kind:M(`model_version`),id:G,contentHash:W}).strict()]),mc=F({id:G,branchOrdinal:L().int().nonnegative(),rank:L().int().positive().max(1024),offsetStart:L().int().nonnegative(),offsetEnd:L().int().positive(),optimizationRole:R([`frozen`,`trainable`]),artifactLineageId:G.nullable()}).strict().superRefine((e,t)=>{e.offsetEnd-e.offsetStart!==e.rank&&t.addIssue({code:`custom`,path:[`offsetEnd`],message:`Block offsets must span exactly the declared rank.`})}),hc=F({disposition:R([`advance`,`hold`,`no_signal`]),policy:F({id:G,version:L().int().positive()}).strict(),reasonCodes:j(G).min(1).max(100),summary:B().trim().min(1).max(5e3),decidedBy:G,decidedAt:V}).strict(),gc=F({evaluationRunId:G,modelVersionId:G,taskset:oe,grader:U,cohortRole:R([`current`,`correction`,`sibling_verification`,`cumulative_known`,`development`,`retained`,`prior_disclosed`,`frozen_final`]),panelId:G.nullable().default(null),protocol:F({id:G,revision:L().int().positive(),contentHash:W}).strict().nullable().default(null)}).strict(),_c=F({attemptOrdinal:L().int().positive(),trainingPlanId:G.nullable(),modelRunId:G.nullable(),terminalStatus:R([`failed`,`cancelled`]),queuedAt:V.nullable(),startedAt:V.nullable(),completedAt:V}).strict(),vc=F({seriesId:G,entryId:G,scheduleEntryId:G,ordinal:L().int().nonnegative(),releaseHash:W}).strict(),yc=F({schemaVersion:M(`openpond.modelComparisonSeriesEntry.v1`),id:G,seriesId:G,profileId:G,modelProjectId:G,scheduleEntryId:G,releaseHash:W,ordinal:L().int().nonnegative(),label:B().trim().min(1).max(100),role:ic,branch:R([`daily`,`rank_candidate`,`weekly_rollup`,`full_refresh`]),status:rc,parent:pc,taskset:oe,sourceTasksets:j(oe).min(1).max(1e3),taskSelection:fc.nullable(),trainableRank:L().int().positive().max(1024),serializedEnvelopeRank:L().int().positive().max(1024),enabledCumulativeRank:L().int().positive().max(1024),trainableBlockId:G,residualBlocks:j(mc).min(1).max(1024),attemptOrdinal:L().int().positive().default(1),priorRunAttempts:j(_c).max(100).default([]),trainingPlanId:G.nullable(),modelRunId:G.nullable(),modelVersionId:G.nullable(),evaluations:j(gc).max(1e5),decision:hc.nullable(),promotionBindingId:G.nullable(),queuedAt:V.nullable(),startedAt:V.nullable(),completedAt:V.nullable(),createdAt:V,updatedAt:V}).strict().superRefine((e,t)=>{let n=[...e.residualBlocks].sort((e,t)=>e.offsetStart-t.offsetStart);n.some((e,t)=>e.offsetStart!==(t===0?0:n[t-1].offsetEnd))&&t.addIssue({code:`custom`,path:[`residualBlocks`],message:`Residual block offsets must be contiguous from zero.`});let r=n.at(-1)?.offsetEnd??0;(r!==e.enabledCumulativeRank||r>e.serializedEnvelopeRank)&&t.addIssue({code:`custom`,path:[`enabledCumulativeRank`],message:`Enabled rank must match the block inventory and fit the envelope.`});let i=e.residualBlocks.filter(e=>e.optimizationRole===`trainable`);(i.length!==1||i[0]?.id!==e.trainableBlockId||i[0]?.rank!==e.trainableRank)&&t.addIssue({code:`custom`,path:[`trainableBlockId`],message:`Exactly one block must be trainable during the Run and match trainableRank.`});let a=e.priorRunAttempts.map(e=>e.attemptOrdinal);(e.priorRunAttempts.length!==e.attemptOrdinal-1||a.some((e,t)=>e!==t+1))&&t.addIssue({code:`custom`,path:[`priorRunAttempts`],message:`Prior Run attempts must be a contiguous history before the active attempt.`})});F({seriesId:G,scheduleEntryId:G,taskSelection:dc.nullable(),expectedSeriesRevision:L().int().positive()}).strict();var bc=R([`base_reference`,`lora_adapter`]),xc=F({baseModel:F({source:M(`huggingface`),repoId:G,revision:B().regex(/^[a-f0-9]{40}$/),configHash:W,tokenizerHash:W,licenseId:G,gated:I()}).strict(),processor:F({repository:G,revision:B().regex(/^[a-f0-9]{40}$/),configHash:W}).strict()}).strict().superRefine((e,t)=>{(e.baseModel.repoId!==e.processor.repository||e.baseModel.revision!==e.processor.revision)&&t.addIssue({code:`custom`,path:[`processor`],message:`Reward Model processor must match the pinned scorer base model.`})}),Sc=F({schemaVersion:M(`openpond.modelVersion.v1`),id:G,modelId:G,profileId:G,version:L().int().nonnegative(),kind:bc,status:R([`available`,`failed`]),baseModel:Fo,taskset:oe,comparisonSeriesEntry:vc.nullable().optional(),evaluationTasksetRef:oe.nullable().optional(),releaseGraph:F({resolvedBundleHash:W,profileRelease:oe,harnessRelease:U,agentRelease:U.nullable(),grader:F({id:G,contentHash:W}).strict()}).strict(),artifactLineageId:G.nullable(),adapterStatus:R([`not_trained`,`trained`]),createdAt:V,contentHash:W}).strict().superRefine((e,t)=>{e.kind===`base_reference`&&(e.version!==0||e.adapterStatus!==`not_trained`||e.artifactLineageId!==null)&&t.addIssue({code:`custom`,message:`A base-reference Model Version must be version 0 without adapter lineage.`}),e.kind===`lora_adapter`&&(e.version===0||e.adapterStatus!==`trained`||!e.artifactLineageId)&&t.addIssue({code:`custom`,message:`A LoRA Model Version must be version 1+ with adapter lineage.`})}),Cc=F({schemaVersion:M(`openpond.rewardModelVersion.v1`),id:G,modelId:G,profileId:G,version:L().int().positive(),role:M(`reward`),status:R([`available`,`failed`]),scope:R([`synthetic_smoke`,`human_preference`]),baseModel:Fo,runtime:xc.nullable().default(null),taskset:oe,preferenceDatasetRelease:U,releaseGraph:F({resolvedBundleHash:W,profileRelease:oe,harnessRelease:U,grader:F({id:G,contentHash:W}).strict()}).strict(),artifacts:F({checkpoint:U.extend({objectRef:B().regex(/^r2:\/\/[A-Za-z0-9._/-]+$/),files:j(F({path:B().trim().min(1).max(512),sizeBytes:L().int().positive(),sha256:W}).strict()).min(4).max(128)}).strict(),adapter:U,scalarHead:U,bucketHead:U.nullable(),processorRelease:U}).strict(),qualificationReport:U.nullable(),createdAt:V,contentHash:W}).strict(),wc=F({schemaVersion:M(`openpond.rewardModelRunReceipt.v1`),provider:G,providerRunId:G,resolvedBundleHash:W,finalCheckpoint:U.extend({objectRef:B().regex(/^r2:\/\/[A-Za-z0-9._/-]+$/)}).strict(),adapter:U,scalarHead:U,bucketHead:U.nullable(),processorRelease:U,optimizerEvidence:U,managedExecutionReceipt:U.nullable().default(null),parameterDeltaHash:W,cleanup:F({computeReleased:I(),providerTerminalObserved:I()}).strict(),contentHash:W}).strict(),Tc=ne(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return e;let t=e;if(t.tasksetRelease!==void 0)return e;let n=t.taskset;if(!n||typeof n!=`object`||Array.isArray(n))return e;let r=n;return typeof r.id!=`string`||typeof r.contentHash!=`string`?e:{...t,tasksetRelease:{id:r.id,contentHash:r.contentHash}}},F({schemaVersion:M(`openpond.rewardModelRun.v1`),id:G,rewardModelId:G,rewardModelVersionId:G.nullable(),profileId:G,role:M(`reward`),scope:R([`synthetic_smoke`,`human_preference`]),status:R([`prepared`,`running`,`succeeded`,`failed`,`cancelled`]),taskset:oe,tasksetRelease:U,preferenceDatasetRelease:U,recipeRelease:U,destinationId:G,quote:F({maximumSpendUsd:L().positive(),hourlyCostUsd:L().nonnegative().nullable()}).strict(),managedRunId:G.nullable(),progress:F({completedSteps:L().int().nonnegative(),totalSteps:L().int().positive(),latestLoss:L().finite().nullable()}).strict(),receipt:wc.nullable(),qualificationReport:U.nullable(),accruedSpendUsd:L().nonnegative().nullable(),failureOwner:R([`authoring`,`admission`,`provider`,`runner`,`artifact`,`qualification`,`cleanup`]).nullable(),failure:B().trim().min(1).max(5e3).nullable(),startedAt:V,completedAt:V.nullable(),updatedAt:V}).strict()).superRefine((e,t)=>{e.status===`succeeded`&&!e.receipt&&t.addIssue({code:`custom`,message:`A successful Reward Model Run requires a canonical receipt.`}),e.status!==`succeeded`&&e.rewardModelVersionId!==null&&t.addIssue({code:`custom`,message:`Only a successful Reward Model Run can publish a Reward Model Version.`})}),Ec=F({schemaVersion:M(`openpond.modelRunReceipt.v1`),provider:G,providerRunId:G,assignmentHash:W,resultHash:W,transcriptHash:W,traceHash:W.nullable(),resolvedBundleHash:W,artifactPath:B().trim().min(1).max(2e3),cleanup:F({computeReleased:I(),tunnelClosed:I()}).strict(),telemetry:Vs.nullable().default(null),contentHash:W}).strict(),Dc=F({inputTokens:L().int().nonnegative(),outputTokens:L().int().nonnegative(),totalTokens:L().int().nonnegative(),costUsd:L().nonnegative().nullable()}).strict(),Oc=B().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),kc=F({phase:R([`baseline`,`adaptation`,`candidate_adaptation`,`candidate`]),taskId:G,attemptId:G,sessionId:G.nullable(),turnId:G.nullable(),passed:I(),score:L().min(0).max(1).nullable(),failureClass:Eo.nullable(),inputTokens:L().int().nonnegative(),outputTokens:L().int().nonnegative(),totalTokens:L().int().nonnegative(),latencyMs:L().int().nonnegative(),costUsd:L().nonnegative().nullable(),startedAt:V}).strict(),Ac=F({targetTaskCount:L().int().nonnegative(),comparedTaskCount:L().int().nonnegative(),passedTaskCount:L().int().nonnegative(),failedTaskCount:L().int().nonnegative(),lowerTaskCount:L().int().nonnegative(),higherTaskCount:L().int().nonnegative(),unchangedTaskCount:L().int().nonnegative()}).strict(),jc=F({target:M(`all_tasks_lower`),targetTaskCount:L().int().nonnegative(),comparedTaskCount:L().int().nonnegative(),passedTaskCount:L().int().nonnegative(),failedTaskCount:L().int().nonnegative(),lowerTaskCount:L().int().nonnegative(),higherTaskCount:L().int().nonnegative(),unchangedTaskCount:L().int().nonnegative(),baselineTokens:L().int().nonnegative(),refinedTokens:L().int().nonnegative(),tokenDelta:L().int(),tokenDeltaPercent:L().finite().nullable(),complete:I(),passed:I(),cohorts:F({adaptation:Ac,heldOut:Ac}).strict()}).strict(),Mc=F({baseline:Dc,adaptation:Dc,candidateAdaptation:Dc,candidate:Dc,refiner:Dc,grader:Dc}).strict(),Nc=F({usage:Mc,observedSpendUsd:L().nonnegative(),attempts:j(kc).max(1e4)}).strict(),Pc=F({id:G,contentHash:W,artifactPath:B().trim().min(1).max(2e3)}).strict(),Fc=F({schemaVersion:M(`openpond.modelEvaluationReceipt.v1`),benchmarkId:G,resultManifest:F({id:G,contentHash:W,artifactPath:B().trim().min(1).max(2e3)}).strict(),stages:F({baseline:U,adaptation:U,refiner:U,candidateAdaptation:U,candidate:U,comparison:U}).strict(),usage:Mc,quality:F({baselinePassRate:L().min(0).max(1),candidatePassRate:L().min(0).max(1),adaptationBaselinePassRate:L().min(0).max(1),adaptationCandidatePassRate:L().min(0).max(1),adaptationCandidatePassed:I(),heldOutCandidatePassed:I(),passed:I()}).strict(),foregroundTokenDelta:L().int(),foregroundTokenDeltaPercent:L().finite().nullable(),taskEfficiency:jc.optional(),efficiency:F({grossForegroundTokenSavings:L().int(),overheadTokens:L().int().nonnegative(),firstPassNetTokenSavings:L().int(),breakEvenReuseCount:L().int().nonnegative().nullable(),amortizedTokenSavings:L().int(),amortizedReuseCount:L().int().positive()}).strict(),budget:F({maximumSpendUsd:L().nonnegative(),observedSpendUsd:L().nonnegative(),enforced:I()}).strict(),evidenceSnapshot:U,lineage:F({adaptationEvidenceHash:W,refinerInputHash:W,refinerOutcomeHash:W,validationHash:W,applyReceiptHash:W,candidateRelease:U,valid:I()}).strict(),invalidReasons:j(B().trim().min(1).max(2e3)).max(100),attempts:j(kc).max(1e4).default([]),terminalClassification:R([`improved`,`no_improvement`,`regressed`,`inconclusive`,`cancelled`,`infrastructure_failure`]),profileGit:F({ref:B().trim().min(1).max(2e3),commit:Oc,baseCommit:Oc}).strict().nullable(),contentHash:W}).strict(),Ic=F({schemaVersion:M(`openpond.modelEvaluationStopReceipt.v1`),benchmarkId:G,terminalClassification:M(`inconclusive`),stopReason:R([`candidate_harness_unchanged`,`candidate_lineage_invalid`]),reason:B().trim().min(1).max(5e3),stoppedAfter:M(`refiner`),baselineHarness:U,candidateHarness:U,refiner:F({id:G,contentHash:W,outcomeCount:L().int().nonnegative()}).strict(),usage:Mc,budget:F({maximumSpendUsd:L().nonnegative(),observedSpendUsd:L().nonnegative(),enforced:I()}).strict(),evidenceSnapshot:U,attempts:j(kc).max(1e4),contentHash:W}).strict(),Lc=F({level:M(.95),lower:L().finite(),upper:L().finite()}).strict().superRefine((e,t)=>{e.lower>e.upper&&t.addIssue({code:`custom`,message:`A confidence interval's lower bound cannot exceed its upper bound.`})}),Rc=F({schemaVersion:M(`openpond.modelComparisonBenchmarkReceipt.v1`),benchmarkId:M(`model-comparison`),target:F({kind:R([`base_model`,`model_version`,`external_reference`]),label:B().trim().min(1).max(300),modelVersionId:G.nullable(),model:ce.nullable()}).strict(),taskset:oe,grader:U,sampling:F({seeds:j(L().int()).min(1).max(100),repetitions:L().int().positive().max(20)}).strict(),deterministic:F({attemptedTaskCount:L().int().nonnegative(),completedTaskCount:L().int().nonnegative(),passedTaskCount:L().int().nonnegative(),failedTaskCount:L().int().nonnegative(),meanScore:L().finite().nullable(),passRate:L().min(0).max(1).nullable(),passRateCi95:Lc.nullable()}).strict(),judge:F({judgeModel:ce,judgeRelease:U,rubricRelease:U,calibrationRelease:U,score:L().min(0).max(100),scoreCi95:Lc,comparisonCount:L().int().positive(),wins:L().int().nonnegative(),ties:L().int().nonnegative(),losses:L().int().nonnegative(),referenceLabel:B().trim().min(1).max(300)}).strict().superRefine((e,t)=>{e.wins+e.ties+e.losses!==e.comparisonCount&&t.addIssue({code:`custom`,message:`Judge win, tie, and loss counts must equal comparisonCount.`})}).nullable(),attempts:j(F({attemptId:G.nullable().default(null),taskId:G,seed:L().int(),repetition:L().int().nonnegative(),status:R([`succeeded`,`failed`]),deterministicScore:L().finite().nullable(),passed:I().nullable(),judgeScore:L().min(0).max(100).nullable(),judgePreference:R([`win`,`tie`,`loss`]).nullable(),transcriptHash:W.nullable(),traceHash:W.nullable(),transcriptArtifact:F({artifactPath:B().trim().min(1).max(2e3),jsonPointer:B().trim().min(1).max(1e3)}).strict().nullable().default(null),traceArtifact:F({artifactPath:B().trim().min(1).max(2e3),jsonPointer:B().trim().min(1).max(1e3)}).strict().nullable().default(null),latencyMs:L().int().nonnegative().nullable().default(null),failureClass:Eo.nullable()}).strict()).max(1e5),usage:F({policy:Dc.nullable(),judge:Dc.nullable(),observedSpendUsd:L().nonnegative().nullable(),evaluationGpuSeconds:L().nonnegative().nullable().default(null)}).strict(),managedServing:F({jobId:G,terminalState:R([`completed`,`cancelled`,`failed`,`budget_exhausted`]),sourcePolicyVersion:L().int().nonnegative(),sourceAdapterSha256:W.nullable(),servedPolicyVersion:L().int().nonnegative().nullable(),servedAdapterSha256:W.nullable(),accruedSpendUsd:L().nonnegative(),cleanupAttestationHash:W,resourceCount:L().int().nonnegative(),activeResourceCount:M(0)}).strict().nullable().default(null),evidenceSnapshot:F({id:G,contentHash:W,artifactPath:B().trim().min(1).max(2e3)}).strict(),completedAt:V,contentHash:W}).strict().superRefine((e,t)=>{let n=e.deterministic;n.completedTaskCount>n.attemptedTaskCount&&t.addIssue({code:`custom`,message:`Completed task count cannot exceed attempted task count.`}),n.passedTaskCount+n.failedTaskCount!==n.completedTaskCount&&t.addIssue({code:`custom`,message:`Passed and failed task counts must equal completed task count.`}),n.completedTaskCount===0!=(n.meanScore===null)&&t.addIssue({code:`custom`,message:`Deterministic mean score is available exactly when tasks completed.`}),n.completedTaskCount===0!=(n.passRate===null)&&t.addIssue({code:`custom`,message:`Deterministic pass rate is available exactly when tasks completed.`})}),zc=F({advancedEvaluation:Ds.optional(),benchmarkId:M(`harness-refiner`),model:ce,upstreamModel:F({providerId:G,modelId:B().trim().min(1).max(300),revision:B().trim().min(1).max(300),pricing:F({version:B().trim().min(1).max(300),source:B().trim().min(1).max(300),effectiveAt:V,inputUsdPerMillionTokens:L().nonnegative(),cachedInputUsdPerMillionTokens:L().nonnegative(),outputUsdPerMillionTokens:L().nonnegative()}).strict().optional()}).strict(),reasoningEffort:B().trim().min(1).max(100).nullable(),seeds:j(L().int()).min(1).max(100),repetitions:L().int().positive().max(20),maximumSpendUsd:L().nonnegative(),attemptPlan:j(F({stage:R([`baseline`,`adaptation`,`candidate_adaptation`,`candidate`]),split:B().trim().min(1).max(100),taskIds:j(G).min(1).max(1e5),attemptCount:L().int().positive()}).strict()).length(4)}).strict(),Bc=F({benchmarkId:M(`model-comparison`),target:F({kind:R([`base_model`,`model_version`,`external_reference`]),label:B().trim().min(1).max(300),modelVersionId:G.nullable(),model:ce.nullable()}).strict(),grader:U,judge:F({model:ce,release:U,rubricRelease:U,calibrationRelease:U,referenceLabel:B().trim().min(1).max(300)}).strict().nullable(),seeds:j(L().int()).min(1).max(100),repetitions:L().int().positive().max(20),maximumSpendUsd:L().nonnegative(),series:F({id:G,protocol:F({id:G,revision:L().int().positive(),contentHash:W}).strict()}).strict().nullable().default(null),panel:F({id:G,role:R([`correction`,`sibling_verification`,`cumulative_known`,`development`,`retained`,`frozen_final`]),passLabel:G.nullable()}).strict().nullable().default(null),comparisonPair:F({entryId:G,parent:pc,candidateModelVersionId:G}).strict().nullable().default(null),attemptPlan:j(F({stage:M(`comparison`),split:B().trim().min(1).max(100),taskIds:j(G).min(1).max(1e5),attemptCount:L().int().positive()}).strict()).length(1)}).strict(),Vc=ae([zc,Bc]),Hc=F({schemaVersion:M(`openpond.modelRun.v1`),id:G,modelId:G,modelVersionId:G.nullable(),profileId:G,kind:R([`rollout_smoke`,`training`,`evaluation`]),status:R([`prepared`,`running`,`succeeded`,`failed`,`cancelled`]),method:R([`sft`,`dpo`,`grpo`,`ppo`,`sdft`,`opd`,`opsd`,`sdpo`]).nullable(),destinationId:G.nullable(),taskset:oe,comparisonSeriesEntry:vc.nullable().optional(),evaluationTasksetRef:oe.nullable().optional(),harnessRelease:U.nullable().optional(),quote:F({maximumSpendUsd:L().nonnegative(),hourlyCostUsd:L().nonnegative().nullable()}).strict().nullable(),evaluation:Vc.nullable().default(null),evaluationProgress:F({stage:R([`baseline`,`adaptation`,`refiner`,`candidate_adaptation`,`candidate`,`comparison`]),completedAttempts:L().int().nonnegative(),totalAttempts:L().int().positive(),accounting:Nc.nullable().default(null),advancedAccounting:Is.optional(),evidenceSnapshot:Pc.nullable().default(null)}).strict().nullable().default(null),reward:F({raw:L(),components:N(B(),L())}).strict().nullable(),receipt:ae([Ec,Fc,Ic,Rc,Ms]).nullable(),adapterArtifactLineageId:G.nullable(),failure:B().trim().min(1).max(5e3).nullable(),startedAt:V,completedAt:V.nullable(),updatedAt:V}).strict().superRefine((e,t)=>{e.status===`succeeded`&&!e.receipt&&t.addIssue({code:`custom`,message:`A successful Model Run requires a canonical receipt.`}),e.kind===`evaluation`&&(e.method!==null||e.destinationId!==null||!e.evaluation||e.adapterArtifactLineageId!==null)&&t.addIssue({code:`custom`,message:`An evaluation Model Run requires evaluation configuration and cannot claim training method, destination, or adapter lineage.`}),e.kind===`evaluation`&&e.receipt&&e.receipt.schemaVersion!==`openpond.modelEvaluationReceipt.v1`&&e.receipt.schemaVersion!==`openpond.modelEvaluationStopReceipt.v1`&&e.receipt.schemaVersion!==`openpond.modelComparisonBenchmarkReceipt.v1`&&e.receipt.schemaVersion!==`openpond.advancedRefinerReviewReceipt.v1`&&t.addIssue({code:`custom`,message:`An evaluation Model Run requires an evaluation receipt.`}),e.kind!==`evaluation`&&(e.method===null||e.destinationId===null||e.quote===null)&&t.addIssue({code:`custom`,message:`A training or rollout Model Run requires method, destination, and quote.`}),e.kind===`rollout_smoke`&&e.adapterArtifactLineageId!==null&&t.addIssue({code:`custom`,message:`A rollout smoke cannot claim adapter artifacts.`})});function Uc(e){let t=new Map;for(let n of e.attempts){let e=`${n.phase}\u0000${n.taskId}`,r=t.get(e);(!r||n.startedAt>r.startedAt||n.startedAt===r.startedAt&&n.attemptId>r.attemptId)&&t.set(e,n)}let n=[...t.values()],r=[[`adaptation`,`adaptation`,`candidate_adaptation`],[`held_out`,`baseline`,`candidate`]].flatMap(([e,t,r])=>{let i=new Map(n.filter(e=>e.phase===r).map(e=>[e.taskId,e]));return n.filter(e=>e.phase===t).flatMap(t=>{let n=i.get(t.taskId);return n?[{cohort:e,taskId:t.taskId,baseline:t,refined:n,tokenDelta:n.totalTokens-t.totalTokens}]:[]})}),i=new Set(n.filter(e=>e.phase===`baseline`||e.phase===`adaptation`).map(e=>e.taskId)).size,a=e.targetTaskCount??i;if(!Number.isInteger(a)||a<0)throw Error(`Benchmark task-efficiency target must be a non-negative integer.`);let o={adaptation:new Set(n.filter(e=>e.phase===`adaptation`).map(e=>e.taskId)).size,held_out:new Set(n.filter(e=>e.phase===`baseline`).map(e=>e.taskId)).size},s=(e,t)=>({targetTaskCount:t,comparedTaskCount:e.length,passedTaskCount:e.filter(e=>e.tokenDelta<0).length,failedTaskCount:e.filter(e=>e.tokenDelta>=0).length,lowerTaskCount:e.filter(e=>e.tokenDelta<0).length,higherTaskCount:e.filter(e=>e.tokenDelta>0).length,unchangedTaskCount:e.filter(e=>e.tokenDelta===0).length}),c=s(r,a),l=r.reduce((e,t)=>e+t.baseline.totalTokens,0),u=r.reduce((e,t)=>e+t.refined.totalTokens,0),d=u-l,f=r.length===a;return{summary:jc.parse({target:`all_tasks_lower`,...c,baselineTokens:l,refinedTokens:u,tokenDelta:d,tokenDeltaPercent:l>0?d/l*100:null,complete:f,passed:f&&c.passedTaskCount===a,cohorts:{adaptation:s(r.filter(e=>e.cohort===`adaptation`),o.adaptation),heldOut:s(r.filter(e=>e.cohort===`held_out`),o.held_out)}}),pairs:r}}var Wc=R([`measuring`,`up_to_date`,`needs_attention`]),Gc=R([`fixed`,`retained`,`regressed`,`unresolved`,`unavailable`]),Kc=F({evaluationRunId:G,attemptKey:G,artifactPath:B().trim().min(1).max(2e3),jsonPointer:B().trim().min(1).max(1e3),transcriptHash:W.nullable(),traceHash:W.nullable()}).strict(),qc=F({level:M(.95),lower:L().finite(),upper:L().finite()}).strict(),Jc=F({panelId:G,panelRole:Js,passLabel:G.nullable(),taskset:oe,attempted:L().int().nonnegative(),available:L().int().nonnegative(),passed:L().int().nonnegative(),strictSuccess:L().min(0).max(1).nullable(),strictSuccessCi95:qc.nullable(),judgeScore:L().min(0).max(100).nullable(),judgeScoreCi95:qc.nullable()}).strict(),Yc=F({schemaVersion:M(`openpond.modelCurrencySnapshot.v1`),id:G,contentHash:W,seriesId:G,protocol:F({id:G,revision:L().int().positive(),contentHash:W}).strict(),entryId:G,passLabel:G,parent:te(`kind`,[F({kind:M(`base_model`),id:G,revision:B().trim().min(1).max(500)}).strict(),F({kind:M(`model_version`),id:G,contentHash:W}).strict()]),candidate:F({kind:M(`model_version`),id:G,contentHash:W}).strict(),sources:F({evaluationRunIds:j(G).max(1e5),attemptIds:j(G).max(1e6),tasksets:j(oe).max(1e4),grader:U,judge:U.nullable(),calibration:U.nullable()}).strict(),matches:j(F({key:G,panelId:G,panelRole:Js,taskId:G,issueFamilyId:G,seed:L().int(),repetition:L().int().nonnegative(),classification:Gc,parentPassed:I().nullable(),candidatePassed:I().nullable(),parentAttempt:Kc.nullable(),candidateAttempt:Kc.nullable()}).strict()).max(1e6),taskIds:F({fixed:j(G).max(1e6),retained:j(G).max(1e6),regressed:j(G).max(1e6),unresolved:j(G).max(1e6),unavailable:j(G).max(1e6)}).strict(),panels:j(Jc).max(1e4),metrics:F({knownIssueCoverage:L().min(0).max(1).nullable(),issueFamilyGeneralization:L().min(0).max(1).nullable(),behavioralRetention:L().min(0).max(1).nullable(),currentAcquisitionDelta:L().finite().nullable(),retainedDeltaPoints:L().finite().nullable(),frontierStrictDelta:L().finite().nullable(),pairedPValue:L().min(0).max(1).nullable(),wins:L().int().nonnegative(),ties:L().int().nonnegative(),losses:L().int().nonnegative()}).strict(),statistics:F({matchedAttemptCount:L().int().nonnegative(),strictDelta:L().finite().nullable(),strictDeltaCi95:qc.nullable(),exactPairedBinaryPValue:L().min(0).max(1).nullable(),pairedBootstrapSamples:L().int().positive()}).strict(),criteria:F({allRequiredAttemptsTerminal:I(),criticalCorrectionPassRate:L().min(0).max(1).nullable(),siblingPassRate:L().min(0).max(1).nullable(),behavioralRetentionRate:L().min(0).max(1).nullable(),retainedRegressionPoints:L().finite().nullable(),criticalPriorRegressionCount:L().int().nonnegative(),thresholdRelease:U}).strict(),efficiency:F({inputTokens:L().int().nonnegative(),outputTokens:L().int().nonnegative(),totalTokens:L().int().nonnegative(),costUsd:L().nonnegative().nullable(),latencyMs:L().int().nonnegative(),tokensPerSuccess:L().nonnegative().nullable(),throughputPerHour:L().nonnegative().nullable(),gpuSeconds:L().nonnegative().nullable()}).strict(),invariants:F({systemPromptHash:W,toolSchema:U,application:U,harness:U,runtime:U,grader:U,autoRefinerEnabled:I()}).strict(),evidenceState:Wc,evidenceReasons:j(G).max(100),projectedAt:V}).strict(),Xc=te(`kind`,[F({kind:M(`base_model`),id:G,revision:B().trim().min(1).max(500),label:B().trim().min(1).max(300)}).strict(),F({kind:M(`model_version`),id:G,label:B().trim().min(1).max(300)}).strict(),F({kind:M(`captured_model`),id:G,label:B().trim().min(1).max(300)}).strict()]),Zc=ae([F({source:M(`evaluation_run`).default(`evaluation_run`),evaluationRunId:G,attemptId:G,modelLabel:B().trim().min(1).max(300).nullable().default(null),modelVersionId:G.nullable().default(null),reward:L().finite().nullable(),components:N(B(),L().finite()).default({})}).strict(),F({source:M(`imported_response`),modelLabel:B().trim().min(1).max(300),modelVersionId:G.nullable().default(null),response:k().refine(e=>e!==void 0,`An imported model response is required.`),reward:L().finite().nullable().default(null),components:N(B(),L().finite()).default({})}).strict()]),Qc=ae([F({taskId:G,target:Xc,attempt:Zc}).strict(),F({taskId:G,target:R([`base`,`current`]).default(`current`),attempt:Zc}).strict(),F({taskId:G,target:R([`base`,`current`]).default(`current`),evaluationRunId:G,attemptId:G,reward:L().finite().nullable(),components:N(B(),L().finite()).default({})}).strict().transform(({taskId:e,target:t,...n})=>({taskId:e,target:t,attempt:{source:`evaluation_run`,modelLabel:null,modelVersionId:null,...n}}))]);F({schemaVersion:M(`openpond.continualLearningDailyBatchManifest.v1`),id:G,seriesId:G,scheduleEntryId:G,dayOrdinal:L().int().positive().max(1e4),sourceTaskset:oe,taskIds:j(G).min(1).max(1e3),observedAttempts:j(Qc).max(1e3).default([]),sourceFileName:B().trim().min(1).max(500).nullable().default(null),availableAt:V}).strict().superRefine((e,t)=>{new Set(e.taskIds).size!==e.taskIds.length&&t.addIssue({code:`custom`,path:[`taskIds`],message:`A daily batch cannot repeat a task.`}),new Set(e.observedAttempts.map(e=>`${e.taskId}:${nl(e.target)}`)).size!==e.observedAttempts.length&&t.addIssue({code:`custom`,path:[`observedAttempts`],message:`An intake batch cannot repeat a task and Policy target pair.`});let n=new Set(e.taskIds);e.observedAttempts.some(e=>!n.has(e.taskId))&&t.addIssue({code:`custom`,path:[`observedAttempts`],message:`Observed attempts must belong to tasks in the daily batch.`})});var $c=F({schemaVersion:M(`openpond.continualLearningDailyBatch.v1`),id:G,seriesId:G,scheduleEntryId:G,dayOrdinal:L().int().positive().max(1e4),label:B().trim().min(1).max(100),runMode:R([`automatic`,`manual`]).optional(),source:R([`json_upload`,`sealed_fixture`]),sourceFileName:B().trim().min(1).max(500).nullable(),sourceTaskset:oe,tasks:j(F({taskId:G,taskContentHash:W,familyKey:G,disposition:R([`include`,`defer`,`exclude`]).nullable(),oracleReview:R([`pending`,`confirmed`,`needs_correction`]),note:B().trim().max(2e3),observedAttempt:Zc.nullable(),baselineAttempt:Zc.nullable().default(null),responses:j(F({target:Xc,attempt:Zc}).strict()).max(100).default([]),stagedAt:V.nullable().default(null),queuedEntry:vc.nullable().default(null)}).strict()).min(1).max(1e3),intakeEvaluation:F({status:R([`awaiting`,`running`,`ready`,`failed`]),requestedTargets:j(R([`base`,`current`])).max(2).default([`base`,`current`]),requestedPolicies:j(Xc).max(100).default([]),runs:j(F({target:Xc,runId:G}).strict()).max(100).default([]),baselineRunId:G.nullable(),currentRunId:G.nullable(),currentPolicy:te(`kind`,[F({kind:M(`base_model`),id:G}).strict(),F({kind:M(`model_version`),id:G}).strict()]).nullable(),failure:B().trim().min(1).max(2e3).nullable()}).strict().default({status:`awaiting`,requestedTargets:[`base`,`current`],requestedPolicies:[],runs:[],baselineRunId:null,currentRunId:null,currentPolicy:null,failure:null}),status:R([`pending`,`reviewed`,`queued`]),queuedEntry:vc.nullable(),reviewedBy:G.nullable(),reviewedAt:V.nullable(),availableAt:V,revision:L().int().positive(),createdAt:V,updatedAt:V}).strict().superRefine((e,t)=>{new Set(e.tasks.map(e=>e.taskId)).size!==e.tasks.length&&t.addIssue({code:`custom`,path:[`tasks`],message:`A daily batch cannot repeat a task.`});for(let[n,r]of e.tasks.entries()){let e=r.responses.map(e=>tl(e.target));new Set(e).size!==e.length&&t.addIssue({code:`custom`,path:[`tasks`,n,`responses`],message:`A task cannot repeat a model response target.`})}let n=e.tasks.every(e=>e.disposition!==null&&e.oracleReview!==`pending`&&(e.oracleReview!==`needs_correction`||e.note.length>0));e.status!==`pending`&&!n&&t.addIssue({code:`custom`,path:[`tasks`],message:`Every task requires a decision and oracle review before the day completes.`}),e.status===`queued`!=(e.queuedEntry!==null)&&t.addIssue({code:`custom`,path:[`queuedEntry`],message:`Only a queued day carries an exact series-entry reference.`}),e.status===`pending`&&(e.reviewedAt!==null||e.reviewedBy!==null)&&t.addIssue({code:`custom`,path:[`reviewedAt`],message:`A pending day cannot carry reviewer completion identity.`}),e.status!==`pending`&&(e.reviewedAt===null||e.reviewedBy===null)&&t.addIssue({code:`custom`,path:[`reviewedAt`],message:`Reviewed identity is required after a day review completes.`})}),el=F({schemaVersion:M(`openpond.continualBenchIssueReview.v1`),id:G,seriesId:G,scheduleEntryId:G,passLabel:G,packet:Xs,splitManifest:F({id:G,contentHash:W}).strict(),decisions:j(F({taskId:G,disposition:R([`include`,`defer`,`exclude`]).nullable(),note:B().trim().max(2e3)}).strict()).min(2).max(1e4),status:R([`pending`,`reviewed`,`queued`]),queuedEntry:vc.nullable(),reviewedBy:G.nullable(),reviewedAt:V.nullable(),revision:L().int().positive(),createdAt:V,updatedAt:V}).strict().superRefine((e,t)=>{let n=[...e.packet.cases.map(e=>e.taskId)].sort(),r=[...e.decisions.map(e=>e.taskId)].sort();JSON.stringify(n)!==JSON.stringify(r)&&t.addIssue({code:`custom`,path:[`decisions`],message:`Review decisions must cover the exact issue-packet cases.`});let i=e.decisions.every(e=>e.disposition!==null&&e.note.length>0);e.status!==`pending`&&!i&&t.addIssue({code:`custom`,path:[`decisions`],message:`Every case requires a disposition and note before review completes.`}),e.status===`queued`!=(e.queuedEntry!==null)&&t.addIssue({code:`custom`,path:[`queuedEntry`],message:`Only a queued review carries an exact series-entry reference.`})}).readonly();function tl(e){return`${e.kind}:${e.id}`}function nl(e){return typeof e==`string`?e:tl(e)}var rl=B().trim().min(1).max(240),il=B().trim().min(8).max(256),al=R([`grpo`,`dapo`,`gspo-token`]),ol=F({id:rl,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),chatTemplateHash:il}),sl=F({maxRollouts:L().int().positive().max(1e6),maxEnvironmentExecutions:L().int().positive().max(1e6),maxInputTokens:L().int().positive(),maxOutputTokens:L().int().positive(),maxOptimizerSteps:L().int().positive().max(1e6),wallTimeMs:L().int().positive(),maximumCostUsd:L().nonnegative().nullable()}),cl=F({method:M(`grpo`),groupSize:L().int().min(2).max(128),normalization:M(`group_standardized`),advantageEpsilon:L().positive().max(.01).default(1e-8),loss:al,clipRange:L().positive().max(1).default(.2),iterations:L().int().min(2).max(16).default(2),microbatchSize:L().int().positive().max(128).default(1),gradientAccumulationSteps:L().int().positive().max(128).default(1),adamw:go}),ll=F({method:M(`ppo`),valueModel:ol,gamma:L().min(0).max(1),gaeLambda:L().min(0).max(1),policyClip:L().positive().max(1),valueClip:L().positive().max(10),valueLossCoefficient:L().nonnegative().max(10),ppoEpochs:L().int().positive().max(100),minibatchSize:L().int().positive().max(1e5)}),ul=te(`method`,[cl,ll]),dl=F({rewardModelVersion:F({id:rl,contentHash:il}).strict(),qualificationReport:F({id:rl,contentHash:il}).strict().nullable().default(null),evaluationReferences:j(F({id:rl,contentHash:il}).strict()).max(1e3).default([]),checkpoint:F({id:rl,contentHash:il,objectRef:B().regex(/^r2:\/\/[A-Za-z0-9._/-]+$/),files:j(F({path:B().trim().min(1).max(512),sizeBytes:L().int().positive(),sha256:il}).strict()).min(4).max(128)}).strict(),runtime:xc,processorRelease:F({id:rl,contentHash:il}).strict(),rewardComposerRelease:F({id:rl,contentHash:il}).strict(),executionReceipt:F({id:rl,contentHash:il}).strict()}).strict(),fl=F({schemaVersion:M(`openpond.policyOptimization.v1`),policyModel:ol,referenceModel:ol,dataset:F({tasksetId:rl,tasksetHash:il,split:M(`train`),selectionStrategy:R([`stable_hash_top_n`,`rft_easy_curriculum_v1`]),selectionSeed:L().int(),maxExamples:L().int().positive().max(1e5)}),sampler:F({temperature:L().min(0).max(2),topP:L().min(0).max(1),maxOutputTokens:L().int().positive().max(32768),maxTurns:L().int().positive().max(1e3),concurrency:L().int().positive().max(1e3)}),environment:F({id:rl,version:B().trim().min(1).max(256),toolContractHash:il}),reward:F({graderId:rl,graderHash:il,learnedPreference:dl.nullable().default(null)}),kl:F({coefficient:L().nonnegative().nullable(),referenceConstraint:M(`fixed_reference`)}),budgets:sl,checkpointEverySteps:L().int().positive(),seed:L().int(),evaluationSplit:M(`frozen_eval`),optimizer:ul}),X=B().trim().min(1).max(240),pl=B().trim().min(1),ml=B().trim().min(8).max(256),hl=N(B(),k()).default({}),gl=F({schemaVersion:M(`openpond.localModelChatConfiguration.v1`).default(`openpond.localModelChatConfiguration.v1`),profile:R([`efficient`,`full_harness`,`custom`]).default(`efficient`),systemPromptMode:R([`lean`,`full_harness`,`custom`]).default(`lean`),customSystemPrompt:B().max(2e4).nullable().default(null),contextWindowTokens:L().int().min(128).max(32768).default(1024),maxOutputTokens:L().int().min(1).max(512).default(64),temperature:L().min(0).max(2).default(0),repetitionPenalty:L().min(.5).max(2).default(1.1),noRepeatNgramSize:L().int().min(0).max(10).default(3),compaction:R([`off`,`when_needed`]).default(`when_needed`),keepWarmSeconds:L().int().min(0).max(3600).default(300),updatedAt:pl.nullable().default(null)}),_l=gl.parse({}),vl=F({schemaVersion:M(`openpond.managedAdapterServingProjection.v1`),teamId:X.nullable().default(null),source:M(`sandbox_managed_rl`),sourceRef:X,canonicalArtifactId:X.nullable(),canonicalModelName:B().trim().min(1).max(256).nullable().default(null),canonicalArtifactState:R([`imported_unvalidated`,`evaluating`,`promotable`,`rejected`,`deleted`]).nullable(),canonicalDeploymentId:X.nullable(),canonicalDeploymentState:R([`requested`,`deploying`,`ready`,`degraded`,`deleting`,`deleted`,`failed`]).nullable(),state:R([`pending`,`imported`,`ready`,`failed`]),customerBindingAllowed:I().default(!1),artifactContentHash:ml.nullable().default(null),baseProfileId:X.nullable().default(null),publishedAt:pl.nullable(),lastSyncedAt:pl,lastError:B().trim().min(1).max(5e3).nullable()});function yl(e){let t=e.managedServing;return!!(t?.source===`sandbox_managed_rl`&&t.canonicalArtifactState===`promotable`&&t.customerBindingAllowed)}function bl(e){return e.state===`ready`&&e.canonicalArtifactState===`promotable`&&e.canonicalDeploymentState===`ready`&&e.customerBindingAllowed&&!!e.teamId&&!!e.canonicalArtifactId&&!!e.canonicalDeploymentId}function xl(e){if(e.promotable&&e.frozenEvaluationArtifactId)return{kind:`source_frozen_evaluation`,evaluationArtifactId:e.frozenEvaluationArtifactId,canonicalArtifactId:null,canonicalDeploymentId:null};let t=e.managedServing;return t?.source===`sandbox_managed_rl`&&bl(t)&&t.canonicalArtifactId&&t.canonicalDeploymentId?{kind:`sandbox_customer_binding`,evaluationArtifactId:null,canonicalArtifactId:t.canonicalArtifactId,canonicalDeploymentId:t.canonicalDeploymentId}:null}function Sl(e){let t=e.managedServing;return t?bl(t)&&t.canonicalArtifactId&&t.canonicalDeploymentId?{kind:`sandbox_serving`,canonicalArtifactId:t.canonicalArtifactId,canonicalDeploymentId:t.canonicalDeploymentId}:null:{kind:`source_artifact`,canonicalArtifactId:null,canonicalDeploymentId:null}}var Cl=`openpond.crossSystemOperations.v1`,wl=`1.0.0`,Tl=`openpond.crossSystemTools.v1`,El=[`search_crm`,`query_billing`,`search_support`,`run_python`],Dl=R([`train`,`validation`,`frozen_eval`]),Ol=R([`easy`,`medium`,`hard`]),kl=R([`renewal_risk_v2`]);R([`renewal_exposure`,`collections_prioritization`,`invoice_reconciliation`,`sla_escalation`,`contract_billing_mismatch`]),F({seed:L().int().nonnegative(),split:Dl,difficulty:Ol,scenarioProfile:kl.optional()});var Al={anyOf:[{type:`string`,minLength:1,maxLength:256},{type:`null`}],default:null},jl={type:`integer`,minimum:1,maximum:50,default:25},Ml=[{name:`search_crm`,description:`Search synthetic CRM accounts and contacts. Results are scoped, projected, paginated, and budgeted.`,parameters:{type:`object`,additionalProperties:!1,required:[`query`,`fields`,`cursor`,`limit`],properties:{query:{type:`string`,minLength:1,maxLength:500},fields:{type:`array`,minItems:1,maxItems:12,uniqueItems:!0,items:{type:`string`,enum:[`account_id`,`name`,`aliases`,`contact_ids`,`contract_value_usd_cents`,`renewal_date`,`tier`,`active_contract_id`,`contract_term_months`]}},cursor:Al,limit:jl}}},{name:`query_billing`,description:`Query synthetic invoices and payments for explicit account IDs and a bounded date range.`,parameters:{type:`object`,additionalProperties:!1,required:[`account_ids`,`date_range`,`status`,`cursor`,`limit`],properties:{account_ids:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{type:`string`,minLength:1,maxLength:100}},date_range:{type:`object`,additionalProperties:!1,required:[`from`,`to`],properties:{from:{type:`string`,format:`date`},to:{type:`string`,format:`date`}}},status:{type:`array`,minItems:1,maxItems:6,uniqueItems:!0,items:{type:`string`,enum:[`open`,`overdue`,`paid`,`disputed`,`scheduled`,`void`]}},cursor:Al,limit:jl}}},{name:`search_support`,description:`Search synthetic support cases for explicit account IDs, severity, and state filters.`,parameters:{type:`object`,additionalProperties:!1,required:[`account_ids`,`severity`,`state`,`cursor`,`limit`],properties:{account_ids:{type:`array`,minItems:1,maxItems:50,uniqueItems:!0,items:{type:`string`,minLength:1,maxLength:100}},severity:{type:`array`,minItems:1,maxItems:4,uniqueItems:!0,items:{type:`string`,enum:[`P1`,`P2`,`P3`,`P4`]}},state:{type:`array`,minItems:1,maxItems:5,uniqueItems:!0,items:{type:`string`,enum:[`new`,`investigating`,`waiting_customer`,`resolved`,`closed`]}},cursor:Al,limit:jl}}},{name:`run_python`,description:`Run standard-library-only Python in the persistent synthetic attempt sandbox with strict limits and no network.`,parameters:{type:`object`,additionalProperties:!1,required:[`code`],properties:{code:{type:`string`,minLength:1,maxLength:1e4}}}}],Nl=Yl({schemaVersion:Tl,tools:Ml}),Pl=[`Use only the four registered synthetic Cross-System Operations tools. Contract ${Nl}.`,`Treat every filter as exact. An overdue-only query_billing call returns invoice rows; payment rows are included only when paid is requested.`,`For cross-system joins, retrieve the bounded projected rows and use run_python for date filtering, set intersection, and arithmetic before answering.`,`Finish with ANSWER: JSON.`].join(` `);function Fl(e=`auto`){return[Pl,`LOCAL TOOL PROTOCOL (strict):`,`Use only the registered functions below. Never invent, rename, or call any other tool.`,`For one tool call, output exactly one JSON object and no prose:`,`{"type":"tool_call","name":"registered_name","arguments":{}}`,`Tool results arrive as exactly one JSON object:`,`{"type":"tool_result","name":"registered_name","ok":true,"result":{},"error":null}`,`After one tool result, either call one registered tool again or answer normally. A JSON final may use {"type":"final","content":"..."}.`,`Tool choice: ${JSON.stringify(e)}. Maximum tool turns: 15.`,`Registered tool signatures: ${Ml.map(Il).join(`; `)}`].join(`
12
- `)}Fl();function Il(e){let t=Rl(e.parameters),n=Rl(t.properties),r=Bl(t.required),i=Object.fromEntries(r.map(e=>[e,Ll(n[e])]));return`${e.name}(${JSON.stringify(i)})`}function Ll(e){let t=Rl(e),n=zl(t.anyOf);if(n.length)return n.map(Ll).join(`|`);let r=zl(t.enum);if(r.length)return r.join(`|`);if(t.type===`array`)return[Ll(t.items)];if(t.type===`object`){let e=Rl(t.properties),n=Bl(t.required);return Object.fromEntries(n.map(t=>[t,Ll(e[t])]))}return typeof t.type==`string`?t.type:`unknown`}function Rl(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function zl(e){return Array.isArray(e)?e:[]}function Bl(e){return zl(e).filter(e=>typeof e==`string`)}var Vl=R(El),Hl=te(`kind`,[F({kind:M(`model`),turn:L().int().nonnegative(),content:B().max(1e5)}),F({kind:M(`tool_call`),turn:L().int().nonnegative(),callId:B().trim().min(1).max(240),name:Vl,arguments:N(B(),k())}),F({kind:M(`tool_result`),turn:L().int().nonnegative(),callId:B().trim().min(1).max(240),name:Vl,ok:I(),result:k(),rows:L().int().nonnegative(),bytes:L().int().nonnegative(),durationMs:L().int().nonnegative(),error:B().trim().min(1).max(2e4).nullable()}),F({kind:M(`final`),turn:L().int().nonnegative(),content:B().max(1e5)})]),Ul=F({schemaVersion:M(Cl),id:B().trim().min(1).max(240),worldId:B().trim().min(1).max(240),taskId:B().trim().min(1).max(240),toolContractHash:M(Nl),modelRef:F({providerId:B().trim().min(1),modelId:B().trim().min(1)}).nullable(),status:R([`completed`,`budget_exhausted`,`cancelled`,`infrastructure_failure`]),steps:j(Hl).max(1e3),startedAt:B().trim().min(1),completedAt:B().trim().min(1),infrastructureError:B().trim().min(1).max(2e4).nullable(),metadata:N(B(),k()).default({})}),Wl=F({schemaVersion:M(Cl),trajectoryId:B().trim().min(1).max(240),outcome:R([`correct`,`incorrect`,`parse_failure`,`budget_exhausted`,`tool_schema_violation`,`infrastructure_failure`,`cancelled`]),reward:L().min(0).max(1.15).nullable(),rewardEligible:I(),exactAnswer:I(),components:F({exactAnswer:L().min(0).max(1),efficiency:L().min(0).max(.1),conciseOutput:L().min(0).max(.05)}),metrics:F({toolCalls:L().int().nonnegative(),rowsRead:L().int().nonnegative(),bytesRead:L().int().nonnegative(),consecutiveRetrievalCalls:L().int().nonnegative(),wallTimeMs:L().int().nonnegative(),parseFailures:L().int().nonnegative(),budgetExhausted:I()}),parsedAnswer:k().nullable(),feedback:j(B().trim().min(1).max(5e3)).max(100)}),Gl=F({id:B().trim().min(1).max(240),type:M(`function`),function:F({name:Vl,arguments:B().max(2e4)})}),Kl=F({role:R([`system`,`user`,`assistant`,`tool`]),content:B().max(2e5).nullable(),tool_call_id:B().trim().min(1).max(240).optional(),tool_calls:j(Gl).max(4).optional()});F({schemaVersion:M(Cl),id:B().trim().min(1).max(240),taskId:B().trim().min(1).max(240),worldId:B().trim().min(1).max(240),trajectoryId:B().trim().min(1).max(240),toolContractHash:M(Nl),approval:F({status:M(`approved`),approvedBy:B().trim().min(1).max(240),approvedAt:B().trim().min(1)}),messages:j(Kl).min(3).max(1e3)});var ql=F({tasksetTaskId:B().trim().min(1).max(240),environmentTaskId:B().trim().min(1).max(240),family:R([`renewal_exposure`,`collections_prioritization`,`invoice_reconciliation`,`sla_escalation`,`contract_billing_mismatch`]),prompt:B().trim().min(1).max(1e5),finalAnswer:B().trim().min(1).max(2e5),trajectoryId:B().trim().min(1).max(240),trajectoryHash:B().trim().min(8).max(256),toolNames:j(Vl).min(1).max(100),toolCallCount:L().int().positive(),messageCount:L().int().min(3),reward:L().min(0).max(1.15),messages:j(Kl).min(3).max(1e3)}),Jl=F({status:M(`approved`),approvedBy:B().trim().min(1).max(240),approvedAt:B().trim().min(1),previewHash:B().trim().min(8).max(256),trajectoryCount:L().int().positive()});F({schemaVersion:M(`openpond.crossSystemExpertBootstrapPreview.v1`),tasksetId:B().trim().min(1).max(240),tasksetHash:B().trim().min(8).max(256),tasksetRevision:L().int().positive(),previewHash:B().trim().min(8).max(256),toolContractHash:M(Nl),status:R([`ready_for_review`,`approved`]),approval:Jl.nullable(),tasks:j(ql).min(1).max(100)});function Yl(e){let t=Xl(e),n=2166136261,r=2654435769;for(let e=0;e<t.length;e+=1){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,2246822507)}return`${Tl}:${Zl(n)}${Zl(r)}`}function Xl(e){return Array.isArray(e)?`[${e.map(Xl).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${Xl(t)}`).join(`,`)}}`:JSON.stringify(e)}function Zl(e){return(e>>>0).toString(16).padStart(8,`0`)}var Ql=F({schemaVersion:M(`openpond.singleTurnPolicyTrajectory.v1`),id:X,taskId:X,status:R([`completed`,`infrastructure_failure`]),promptHash:ml,responseText:B().max(2e6),infrastructureError:B().trim().min(1).max(1e4).nullable(),startedAt:pl,completedAt:pl,metadata:hl}),$l=F({schemaVersion:M(`openpond.ppoTrajectory.v1`),id:X,taskId:X,policyModelId:X,referenceModelId:X,valueModelId:X,steps:j(F({index:L().int().nonnegative(),observationHash:ml,actionTokenIds:j(L().int().nonnegative()).min(1),terminated:I(),truncated:I(),reward:L(),policyLogProbability:L(),referenceLogProbability:L(),valuePrediction:L(),return:L(),advantage:L(),mask:L().min(0).max(1)})).min(1).max(1e5),createdAt:pl}),eu=F({schemaVersion:M(`openpond.exactAnswerVerifierResult.v1`),outcome:R([`correct`,`incorrect`,`parse_failure`,`infrastructure_failure`]),graderSetHash:ml,score:L().min(0).max(1).nullable(),passed:I(),rewardEligible:I(),expectedAnswerHash:ml,extractedAnswer:B().max(2e4).nullable(),feedback:j(B().trim().min(1).max(2e4)).max(1e3)}),tu=F({schemaVersion:M(`openpond.rolloutTrajectoryReceipt.v1`),id:X,jobId:X,planId:X,tasksetId:X,tasksetHash:ml,taskId:X,split:M(`train`),correlationId:X,provider:X,providerTrace:F({invocationId:X,experimentId:X,rolloutId:X,runId:X,rowId:X}),optimizerMethod:R([`grpo`,`ppo`]).default(`grpo`),evidenceLevels:F({requested:R([`trajectory`,`aggregate`,`provider_reported`]),observed:R([`trajectory`,`aggregate`,`provider_reported`]),providerReported:R([`trajectory`,`aggregate`,`provider_reported`])}).default({requested:`trajectory`,observed:`trajectory`,providerReported:`provider_reported`}),budgetUsage:F({rollouts:L().int().nonnegative(),environmentExecutions:L().int().nonnegative(),inputTokens:L().int().nonnegative(),outputTokens:L().int().nonnegative(),optimizerSteps:L().int().nonnegative(),costUsd:L().nonnegative()}).default({rollouts:0,environmentExecutions:0,inputTokens:0,outputTokens:0,optimizerSteps:0,costUsd:0}),environment:F({id:X,version:B().trim().min(1).max(256),worldId:X,worldHash:ml,toolContractHash:ml}),policy:F({modelId:X,checkpointId:X.nullable(),completionParametersHash:ml}),status:R([`received`,`running`,`succeeded`,`failed`]),failureClass:R([`policy_failure`,`parse_failure`,`tool_schema_violation`,`budget_exhausted`,`cancelled`,`environment_failure`,`infrastructure_failure`]).nullable(),reward:F({eligible:I(),raw:L().min(0).max(1.15).nullable(),normalized:L().min(0).max(1).nullable(),components:N(B(),L())}),trajectory:ae([Ul,Ql,$l]).nullable(),verifier:ae([Wl,eu]).nullable(),providerStatus:N(B(),k()).default({}),receivedAt:pl,startedAt:pl.nullable(),completedAt:pl.nullable(),updatedAt:pl}),nu=`dataset-exact-answer`,ru=`dataset-exact-answer-v1`,iu=`no-tools-v1`,au=R([`sft`,`dpo`,`grpo`,`ppo`,`sdft`,`opd`,`opsd`,`sdpo`]),ou=R([`lora`,`full`]),su=R([`openpond_managed`]);ls(()=>({id:X,input:N(B(),k()),expectedOutput:N(B(),k()),tags:j(X).max(100).default([])})),ls(()=>({id:X,prompt:B().min(1).max(5e5),chosen:B().min(1).max(5e5),rejected:B().min(1).max(5e5),sourceRefs:j(X).min(1).max(1e4)})),ls(()=>({id:X,input:N(B(),k()),tags:j(X).max(100).default([])})),ls(()=>({schemaVersion:M(`openpond.rewardModelRecipe.v1`),method:M(`reward_model`),parameterization:M(`lora_with_scalar_head`),runScope:R([`synthetic_smoke`,`human_preference`]),baseModel:F({id:X,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),processorRevision:B().trim().min(1).max(256),chatTemplateHash:ml}).strict(),tasksetRelease:U,preferenceDatasetRelease:U,processorRelease:U,input:F({kind:M(`structured_text`),serialization:R([`scenario_input_and_candidate_json_v1`,`visible_agent_trajectory_v1`]),maxCharacters:L().int().positive().max(5e5)}).strict().default({kind:`structured_text`,serialization:`scenario_input_and_candidate_json_v1`,maxCharacters:32e3}),lora:F({rank:L().int().positive().max(256),alpha:L().positive().max(1024),dropout:L().min(0).max(1),targetModules:j(X).min(1).max(100)}).strict(),heads:F({scalar:M(`pooled_hidden_state_linear`),bucket:R([`none`,`three_class`]).default(`three_class`)}).strict(),loss:F({ranking:M(`bradley_terry`),rankingWeight:L().positive(),bucketWeight:L().nonnegative(),tieWeight:L().nonnegative()}).strict(),optimizer:F({learningRate:L().positive(),maxSteps:L().int().positive().max(1e5),batchSize:L().int().positive().max(1e4),gradientAccumulationSteps:L().int().positive().max(1e4),seed:L().int(),checkpointEverySteps:L().int().positive().max(1e5)}).strict(),resourceLimits:F({wallTimeMs:L().int().positive().max(864e5),maxExamples:L().int().positive().max(1e5),maxInputCharacters:L().int().positive().max(5e5).default(32e3),maxImagePixels:L().int().positive().max(1e8).optional(),maximumSpendUsd:L().nonnegative().max(1e5)}).strict()})).superRefine((e,t)=>{e.runScope===`synthetic_smoke`&&(e.optimizer.maxSteps>100||e.resourceLimits.maximumSpendUsd>10)&&t.addIssue({code:`custom`,path:[`resourceLimits`],message:`Synthetic-smoke Reward Model runs are limited to 100 steps and USD 10.`})});var cu=ls(()=>({schemaVersion:M(`openpond.rftRecipe.v1`),method:M(`grpo`),parameterization:M(`lora`),baseModel:F({id:X,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),chatTemplateHash:ml}),dataset:F({trainSplit:M(`train`),validationSplit:R([`validation`,`frozen_eval`]),maxPromptTokens:L().int().positive().max(32768),maxExamples:L().int().positive().max(1e5).default(1e3),selectionStrategy:R([`stable_hash_top_n`,`rft_easy_curriculum_v1`]).default(`stable_hash_top_n`)}),lora:F({rank:L().int().positive().max(256)}),rollout:F({groupSize:L().int().min(2).max(64),concurrency:L().int().positive().max(32),maxTurns:L().int().positive().max(100),maxOutputTokens:L().int().positive().max(8192),temperature:L().min(0).max(2),topP:L().positive().max(1),seed:L().int()}),optimizer:F({learningRate:L().positive(),maxSteps:L().int().positive().max(1e5),clipRange:L().positive().max(1).default(.2),iterations:L().int().min(2).max(16).default(2),microbatchSize:L().int().positive().max(64).default(1),gradientAccumulationSteps:L().int().positive().max(64).default(1),advantageEpsilon:L().positive().max(.01).default(1e-8),adamw:go}),loss:F({method:al.default(`grpo`),klBeta:L().min(0).nullable().default(null)}).default({method:`grpo`,klBeta:null}),reward:F({graderId:X,graderHash:ml,environmentId:X,environmentVersion:B().trim().min(1).max(256),toolContractHash:ml,learnedPreference:dl.nullable().optional()}),resourceLimits:F({wallTimeMs:L().int().positive().max(864e5),maxGpuSeconds:L().int().positive().max(21600).optional(),warmupDeadlineSeconds:L().int().positive().max(3600).optional(),maxRollouts:L().int().positive().max(1e5),maxPayloadBytes:L().int().positive().max(10485760)}),policyOptimization:fl.nullable().default(null),continuation:F({schemaVersion:M(`openpond.crossJobContinuationRequest.v1`),parentArtifact:U,sourceArtifact:F({jobId:X,artifactId:X,checkpointId:X,contentHash:ml}).strict(),optimizerMode:R([`continue`,`reset`]),adapterMode:R([`residual_append`,`shared`,`sequential_merge`]).optional()}).strict().optional()})),lu=ls(()=>({schemaVersion:M(`openpond.dpoRecipe.v1`),method:M(`dpo`),parameterization:M(`lora`),policyModel:ol,referenceModel:ol,dataset:F({trainSplit:M(`train`),validationSplit:R([`validation`,`frozen_eval`]),maxPairs:L().int().positive().max(1e5),maxPromptTokens:L().int().positive().max(32768),maxCompletionTokens:L().int().positive().max(32768),selectionStrategy:M(`stable_hash_top_n`),selectionSeed:L().int()}),lora:F({rank:L().int().positive().max(256),alpha:L().positive().max(1024),dropout:L().min(0).max(1),targetModules:j(X).min(1).max(100)}),loss:F({variant:M(`sigmoid`),beta:L().positive().max(10),labelSmoothing:L().min(0).max(.5).default(0)}),optimizer:F({learningRate:L().positive(),epochs:L().positive().max(100),maxSteps:L().int().positive().max(1e6),batchSize:L().int().positive().max(1e4),gradientAccumulationSteps:L().int().positive().max(1e4),seed:L().int()}),referenceLogprobs:F({cacheSchemaVersion:M(`openpond.dpoReferenceLogprobs.v1`),cacheKey:ml,invalidationHash:ml}),resourceLimits:F({cpuThreads:L().int().positive().max(256),memoryBytes:L().int().positive(),wallTimeMs:L().int().positive()})})),uu=ls(()=>({schemaVersion:M(`openpond.ppoRecipe.v1`),method:M(`ppo`),parameterization:M(`lora`),policyOptimization:fl.extend({optimizer:ll}),lora:F({rank:L().int().positive().max(256),alpha:L().positive().max(1024),dropout:L().min(0).max(1),targetModules:j(X).min(1).max(100)}),valueHead:F({initialization:M(`policy_hidden_state_linear`),optimizerLearningRate:L().positive(),artifactName:M(`value_head.safetensors`)}),policyLearningRate:L().positive(),resume:F({checkpointId:X.nullable(),policyHash:ml,referenceHash:ml,valueModelHash:ml,optimizerStateHash:ml.nullable()}),resourceLimits:F({cpuThreads:L().int().positive().max(256),memoryBytes:L().int().positive(),wallTimeMs:L().int().positive()})})),du=ls(()=>({schemaVersion:M(`openpond.unsupportedRecipe.v1`),method:au.exclude([`sft`,`dpo`,`grpo`,`ppo`]),parameterization:ou,unsupportedReason:B().trim().min(1).max(5e3)})),fu=ae([$e,lu,cu,uu,du]),pu=ls(()=>({schemaVersion:M(`openpond.trainingDestinationCapabilities.v1`),destinationId:su,available:I(),methods:j(au),parameterizations:j(ou),modelAllowlist:j(X).default([]),maxDatasetBytes:L().int().nonnegative().nullable(),environmentPlacements:j(R([`none`,`local`,`remote`,`colocated`,`provider_native`])),nonProduction:I(),unavailableReason:B().trim().min(1).max(5e3).nullable(),checkedAt:pl})),mu=ls(()=>({destinationId:su,available:I(),methods:j(au),parameterizations:j(ou),nonProduction:I(),unavailableReason:B().trim().min(1).max(5e3).nullable()})),hu=ls(()=>({schemaVersion:M(`openpond.baseModelCandidate.v1`),selectionKey:X,label:B().trim().min(1).max(500),sourceLabel:B().trim().min(1).max(500),preference:Fo,available:I(),nonProduction:I(),unavailableReason:B().trim().min(1).max(5e3).nullable(),methods:j(au),executionOptions:j(mu).min(1)})),gu=ls(()=>({code:X,severity:R([`warning`,`error`]),path:B().trim().max(2e3).nullable(),message:B().trim().min(1).max(5e3)})),_u=ls(()=>({schemaVersion:M(`openpond.trainingCompatibility.v1`),compatible:I(),destinationId:su,tasksetId:X,recipeMethod:au,issues:j(gu),checkedAt:pl})),vu=ae([Tt,R([`destination_unavailable`,`destination_method_unsupported`,`destination_model_unsupported`,`destination_parameterization_unsupported`,`experimental_destination`])]);ls(()=>({method:au,state:R([`recommended`,`compatible`,`needs_dataset_work`,`destination_unavailable`,`experimental_destination`]),reasonCodes:j(vu).default([]),reasons:j(B().trim().min(1).max(5e3)).default([]),destinationId:su.nullable().default(null)})),R([`small`,`standard`,`custom`,`small_experiment`]);var yu=yt,bu=ls(()=>({schemaVersion:M(`openpond.trainingPlan.v1`),id:X,modelId:X,tasksetId:X,tasksetHash:ml,comparisonSeriesEntry:vc.nullable().optional(),evaluationTasksetRef:oe.nullable().optional(),harnessRelease:U.nullable().optional(),modelImprovementQualification:U.nullable().optional(),destinationId:su,recipe:fu,environmentPlacement:R([`none`,`local`,`remote`,`colocated`,`provider_native`]),compatibility:_u,dataPolicy:F({exportApproved:I(),approvedSourceIds:j(X),retentionDays:L().int().nonnegative().nullable(),region:B().trim().min(1).max(200).nullable()}),estimatedCostUsd:L().nonnegative().nullable(),createdAt:pl,contentHash:ml})),xu=ls(()=>({path:B().trim().min(1).max(2e3),sha256:ml,sizeBytes:L().int().nonnegative(),role:R([`manifest`,`task_data`,`grader`,`environment`,`recipe`,`policy`,`provenance`])})),Su=ls(()=>({schemaVersion:M(`openpond.trainingBundle.v1`),id:X,planId:X,tasksetId:X,tasksetHash:ml,recipeHash:ml,files:j(xu).min(1).max(1e6),totalSizeBytes:L().int().nonnegative(),sourceIds:j(X),excludedSourceIds:j(X),containsRawChats:M(!1),containsSecrets:M(!1),containsHiddenGraderAssets:M(!1),createdAt:pl,contentHash:ml}));ls(()=>({schemaVersion:M(`openpond.trainingBundleExport.v1`),manifest:Su,files:j(F({path:B().trim().min(1).max(2e3),sha256:ml,sizeBytes:L().int().nonnegative(),encoding:M(`base64`),content:B()})).min(1),contentHash:ml})),ls(()=>({schemaVersion:M(`openpond.trainingPreparedStart.v1`),plan:bu,bundle:Su,approvalActor:X.nullable(),preparedAt:pl})),ls(()=>({schemaVersion:M(`openpond.trainingApproval.v1`),evaluationTasksetRef:oe.nullable().optional(),id:X,planId:X,bundleHash:ml,harnessRelease:U.nullable().optional(),modelImprovementQualification:U.nullable().optional(),destinationId:su,modelId:X,method:au,parameterization:ou,maximumCostUsd:L().nonnegative().nullable(),approvedBy:X,approvedAt:pl})),ls(()=>({schemaVersion:M(`openpond.trainingJobSourceSnapshot.v1`),evaluationTasksetRef:oe.nullable().optional(),modelProjectId:X,sourceProjectRevision:L().int().positive(),profileId:X,taskset:F({id:X,revision:L().int().positive(),contentHash:ml}).strict(),tasksetRelease:U,harnessRelease:U,baseModel:Fo,method:au})).strict();var Cu=R([`queued`,`starting`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`,`reconciling`]),wu=ls(()=>({schemaVersion:M(`openpond.trainingJob.v1`),id:X,planId:X,bundleHash:ml,approvalId:X,destinationId:su,status:Cu,nonProduction:I(),workerPid:L().int().positive().nullable(),startedAt:pl.nullable(),completedAt:pl.nullable(),error:B().trim().min(1).max(2e4).nullable(),createdAt:pl,updatedAt:pl,metadata:hl})),Tu=ls(()=>({schemaVersion:M(`openpond.trainingJobEvent.v1`),id:X,jobId:X,sequence:L().int().nonnegative(),type:R([`queued`,`start`,`progress`,`metric`,`checkpoint`,`cancel`,`complete`,`failure`,`reconcile`]),timestamp:pl,payload:hl})),Eu=ls(()=>({schemaVersion:M(`openpond.sftStepMetric.v1`),step:L().int().nonnegative(),maxSteps:L().int().positive(),timestamp:pl,epoch:L().nonnegative().nullable(),loss:L().nullable(),learningRate:L().nonnegative().nullable(),gradientNorm:L().nonnegative().nullable(),entropy:L().nonnegative().nullable(),meanTokenAccuracy:L().min(0).max(1).nullable(),preferenceAccuracy:L().min(0).max(1).nullable().default(null),preferenceMargin:L().nullable().default(null),chosenReward:L().nullable().default(null),rejectedReward:L().nullable().default(null),chosenLogProbability:L().nullable().default(null),rejectedLogProbability:L().nullable().default(null),reward:L().nullable().default(null),policyLoss:L().nullable().default(null),advantageLoss:L().nullable().default(null),inputTokensSeen:L().int().nonnegative().nullable(),memoryBytes:L().int().nonnegative().nullable(),elapsedSeconds:L().nonnegative().nullable()})),Du=ls(()=>({schemaVersion:M(`openpond.policyOptimizationMetric.v1`),method:R([`grpo`,`ppo`]),step:L().int().nonnegative(),timestamp:pl,learningRate:L().nonnegative().nullable().default(null),policyLoss:L().nullable(),valueLoss:L().nullable(),gradientNorm:L().nonnegative().nullable().default(null),meanReward:L().nullable(),meanReturn:L().nullable(),kl:L().nullable(),behaviorPolicyKlPreUpdate:L().nonnegative().nullable().default(null),entropy:L().nullable(),policyClipFraction:L().min(0).max(1).nullable(),behaviorPolicyClipFractionPreUpdate:L().min(0).max(1).nullable().default(null),valueClipFraction:L().min(0).max(1).nullable(),explainedVariance:L().nullable(),rolloutLearnerLag:L().int().nonnegative().nullable(),inputTokens:L().int().nonnegative(),outputTokens:L().int().nonnegative(),environmentExecutions:L().int().nonnegative(),trajectoryCount:L().int().nonnegative().nullable().default(null),costUsd:L().nonnegative().nullable()})),Ou=ls(()=>({schemaVersion:M(`openpond.managedTrainingRunEvidence.v2`),provider:X,providerRunId:X,state:X,progress:F({targetOptimizerSteps:L().int().nonnegative(),committedOptimizerSteps:L().int().nonnegative(),skippedOptimizerSteps:L().int().nonnegative()}),reward:F({finalMean:L().nullable(),variance:L().nonnegative().nullable(),minimum:L().nullable(),maximum:L().nullable(),distinctValueCount:L().int().nonnegative(),noSignalGroupCount:L().int().nonnegative(),trajectoryCount:L().int().nonnegative(),eligibleTrajectoryCount:L().int().nonnegative()}),usage:F({inputTokens:L().int().nonnegative(),outputTokens:L().int().nonnegative(),environmentExecutions:L().int().nonnegative()}),resource:F({provider:X,gpuType:B().trim().min(1).max(300).nullable(),gpuCount:L().int().nonnegative().nullable(),hourlyCostUsd:L().nonnegative().nullable(),durationSeconds:L().nonnegative().nullable(),gpuSeconds:L().nonnegative().nullable()}),cost:F({totalUsd:L().nonnegative().nullable()}),checkpoint:F({id:X,policyVersion:L().int().nonnegative(),sha256:ml.nullable(),sizeBytes:L().int().nonnegative().nullable()}).nullable(),movement:F({adapterDeltaNorm:L().nonnegative().nullable()}),evaluations:j(F({reference:F({id:X,contentHash:ml}).nullable().optional(),kind:R([`baseline`,`candidate`]),policyVersion:L().int().nonnegative(),taskCount:L().int().nonnegative().nullable().optional(),targetTaskCount:L().int().nonnegative().nullable().optional(),score:L().nullable(),threshold:L().nullable(),passed:I().nullable()})),canonicalPublication:F({state:X.nullable(),artifactId:X.nullable()}),syncedAt:pl})),ku=ls(()=>({count:L().int().nonnegative(),scoredCount:L().int().nonnegative(),meanScore:L().min(0).max(1).nullable(),passedCount:L().int().nonnegative(),passRate:L().min(0).max(1).nullable()})),Au=ls(()=>({status:R([`scored`,`unavailable`]),score:L().min(0).max(1).nullable(),passed:I(),rewardEligible:I(),failureClass:R([`policy_failure`,`grader_failure`,`environment_failure`,`infrastructure_failure`,`timeout`,`cancelled`]).nullable(),feedback:j(B().trim().min(1).max(2e4)).max(1e3),components:j(F({graderId:X,score:L().min(0).max(1).nullable(),passed:I(),feedback:B().trim().max(2e4).nullable()})).max(1e3)})),ju=ls(()=>({taskId:X,input:N(B(),k()),baseOutput:N(B(),k()).nullable(),trainedOutput:N(B(),k()).nullable(),baseGrade:Au.nullable(),trainedGrade:Au.nullable()})),Mu=ls(()=>({schemaVersion:M(`openpond.trainingEvaluationSummary.v1`),jobId:X,tasksetId:X,base:ku,trained:ku,meanScoreDelta:L().min(-1).max(1).nullable(),examples:j(ju).max(1e6)})),Nu=ls(()=>({schemaVersion:M(`openpond.trainingRunDetail.v1`),job:wu,events:j(Tu),stepMetrics:j(Eu),policyMetrics:j(Du).default([]),managedEvidence:Ou.nullable().default(null),evaluation:Mu.nullable(),generatedAt:pl})),Pu=ls(()=>({schemaVersion:M(`openpond.trainingArtifact.v1`),id:X,jobId:X,kind:R([`adapter`,`checkpoint`,`metrics`,`log`,`manifest`,`evaluation`]),path:B().trim().min(1).max(4e3),sha256:ml,sizeBytes:L().int().nonnegative(),baseModelId:X.nullable(),baseModelRevision:B().trim().min(1).max(256).nullable(),tokenizerRevision:B().trim().min(1).max(256).nullable(),chatTemplateHash:ml.nullable(),nonProduction:I(),createdAt:pl,metadata:hl})),Fu=ls(()=>({schemaVersion:M(`openpond.modelArtifactLineage.v1`),id:X,modelId:X,artifactId:X,jobId:X,tasksetId:X,tasksetHash:ml,graderHash:ml,planHash:ml,bundleHash:ml,recipeHash:ml,workerVersion:B().trim().min(1).max(256),trainerVersion:B().trim().min(1).max(256),importedAt:pl,frozenEvaluationArtifactId:X.nullable(),promotable:I(),pinned:I().default(!1),status:R([`imported`,`rejected`]).default(`imported`),rejectedAt:pl.nullable().default(null),rejectionReason:B().trim().min(1).max(5e3).nullable().default(null),chatConfiguration:gl.default(_l),managedServing:vl.nullable().default(null)})),Iu=R([`chat_manual`,`agent`,`extension`,`authoring_optimizer`]),Lu=ls(()=>({schemaVersion:M(`openpond.modelBinding.v1`),id:X,profileId:X,role:Iu,roleTargetId:X,modelArtifactLineageId:X,tasksetId:X,evaluationArtifactId:X.nullable(),status:R([`active`,`rolled_back`]),priorBindingId:X.nullable(),rollbackTargetBindingId:X.nullable(),promotedBy:X,promotedAt:pl,rolledBackAt:pl.nullable(),metadata:hl}));ls(()=>({schemaVersion:M(`openpond.trainingActivity.v1`),profileId:X,active:I(),activeCounts:F({jobs:L().int().nonnegative(),creations:L().int().nonnegative(),minerRuns:L().int().nonnegative(),datasetImports:L().int().nonnegative()}),revision:ml,generatedAt:pl})),ls(()=>({schemaVersion:M(`openpond.tasksetOperationalState.v1`),tasksetId:X,attempts:j(ko),artifacts:j(Ao),grades:j(Mo),evaluationResults:j(nt).default([]),generatedAt:pl}));var Ru=ls(()=>({schemaVersion:M(`openpond.trainingState.v1`),profileId:X,sources:j(At),creations:j(Lo),tasksetDrafts:j(Ft).default([]),tasksets:j(Rt),benchmarkRuns:j(z()).default([]),benchmarkComparisons:j(z()).default([]),datasetImports:j(Qo).default([]),datasetArtifacts:j(xt).default([]),graderAuditReports:j(No),evaluationResults:j(z()).default([]),candidates:j(os),minerConfig:ss,minerRuns:j(cs).default([]),modelProjects:j(yu).default([]),modelVersions:j(Sc).default([]),modelRuns:j(Hc).default([]),comparisonSeries:j(uc).default([]),comparisonSeriesEntries:j(yc).default([]),modelCurrencySnapshots:j(Yc).default([]),continualBenchIssueReviews:j(el).default([]),continualLearningDailyBatches:j($c).default([]),rewardModelVersions:j(Cc).default([]),rewardModelRuns:j(Tc).default([]),modelTasksets:j(Rt).default([]),plans:j(bu),bundles:j(Su),jobs:j(wu),artifacts:j(Pu),models:j(Fu),rolloutReceipts:j(tu).default([]),modelBindings:j(Lu).default([]),destinations:j(pu),baseModelCandidates:j(hu).default([]),activityRevision:ml.optional(),generatedAt:pl})),zu=32e3,Bu=R([`steer`,`message`,`followup`,`queued`,`result`]),Vu=R([`pending`,`included`,`resolved`,`cancelled`,`rejected`]),Hu=F({id:B().min(1),sequence:L().int().nonnegative(),sessionId:B().min(1),senderSessionId:B().min(1).nullable(),senderKind:R([`user`,`task`,`runtime`,`ponder`]),kind:Bu,body:B().trim().min(1).max(zu),payload:N(B(),k()).default({}),idempotencyKey:B().min(1).max(200),replyTo:B().min(1).nullable(),expectedTurnId:B().min(1).nullable(),turnId:B().min(1).nullable(),requestIds:j(B()),state:Vu,revision:L().int().positive(),createdAt:B(),updatedAt:B(),error:B().nullable()}).strict(),Uu=F({scopeId:B().trim().min(1).max(240),selectionVersion:L().int().nonnegative(),evaluationModel:B().min(1).max(500).optional(),executionLocation:R([`local`,`cloud`]).optional(),training:j(Wt).max(16).optional(),results:j(ft).max(16).optional(),resources:j(F({kind:R([`dataset`,`grader`,`experiment`]),id:B().trim().min(1).max(240),revision:L().int().positive(),datasetId:B().trim().min(1).max(240).optional(),datasetRevision:L().int().positive().optional(),owner:F({teamId:B().min(1).max(240),actorId:B().min(1).max(240)}).strict().optional(),profileRef:Oe.optional()}).strict()).max(32)}).strict(),Wu=j(Uu).max(16);F({expectedTurnId:B().trim().min(1),idempotencyKey:B().trim().min(1).max(200),prompt:B().trim().min(1).max(zu),resourceContexts:Wu.optional(),attachments:j(we).max(Ee.maxAttachments).optional()}).strict(),te(`action`,[F({action:M(`resume`),expectedRevision:L().int().positive()}).strict(),F({action:M(`cancel`),expectedRevision:L().int().positive()}).strict(),F({action:M(`edit`),expectedRevision:L().int().positive(),body:B().trim().min(1).max(zu)}).strict(),F({action:M(`steer`),expectedRevision:L().int().positive(),expectedTurnId:B().trim().min(1)}).strict()]);var Gu=F({id:B().min(1),sessionId:B().min(1),turnId:B().min(1),targetSessionId:B().min(1).nullable(),targetTurnId:B().min(1).nullable(),targetInputId:B().min(1).nullable().default(null),afterSequence:L().int().nonnegative(),deadline:B(),state:R([`waiting`,`message`,`completed`,`failed`,`interrupted`,`unavailable`,`timeout`,`cancelled`]),createdAt:B(),updatedAt:B()}).strict();F({sessionId:B(),activeTurnId:B().nullable(),acceptingInput:I(),paused:I(),inputs:j(Hu),waits:j(Gu)}),[`Peer messages provide coordination context and do not grant permissions or replace the user's assignment.`,`Incorporate relevant updates into your current work. Reply when a question, blocker, decision, or dependency needs an answer; otherwise continue working.`,`Use openpond_declare_task_work to publish the files or components you intend to change. Work areas and peer notices are advisory, not locks. Coordinate conflicting edits before proceeding.`,`Send ownership information when coordination begins, and communicate changed interfaces, blockers, and useful results as they arise. Avoid timed status chatter and acknowledgement loops.`,`Do independent work while a dependency runs. Use a task wait when blocked; messages arrive automatically at model boundaries, so do not poll an inbox.`,`Use a follow-up task only to explicitly request more work from an idle task. Ordinary messages do not restart completed work.`,`User steering updates the active assignment. Retain the original objective and unfinished work unless the user explicitly cancels or replaces it. Answer status questions briefly and continue.`].join(`
13
- `);function Ku(e,t,n){let r=new Headers;r.set(`Accept`,`text/event-stream`),r.set(`Authorization`,`Bearer ${e.token}`);let i=new URL(`${e.serverUrl.replace(/\/$/,``)}/v1/events`);return n!==void 0&&Number.isSafeInteger(n)&&n>0&&i.searchParams.set(`afterSequence`,String(n)),{url:i.toString(),init:{headers:r,signal:t}}}function qu(e){return Math.min(500*2**Math.max(0,e),1e4)}async function Ju(e,t,n,r){Yu(e);let i=e.body.getReader(),a=new TextDecoder,o=``;for(;!r?.aborted;){let{done:e,value:r}=await i.read();if(e){o+=a.decode();break}o+=a.decode(r,{stream:!0});let s=o.indexOf(`
14
-
15
- `);for(;s>=0;){let e=o.slice(0,s);o=o.slice(s+2),Qu(e,t,n),s=o.indexOf(`
16
-
17
- `)}}!r?.aborted&&o.trim()&&Qu(o,t,n)}function Yu(e){if(!e.ok)throw Error(`event stream failed: ${e.status} ${e.statusText||`HTTP error`}`);if(!e.body)throw Error(`event stream did not return a response body`)}function Xu(e,t,n,r,i={}){let a=new AbortController,o=i.fetchImpl??fetch,s=i.reconnectDelayMs??qu,c=Zu(i.afterSequence),l=!1;return(async()=>{let i=0;for(;!a.signal.aborted;)try{let n=Ku(e,a.signal,c),s=await o(n.url,n.init);if(Yu(s),l=!0,i=0,await Ju(s,e=>{let n=Zu(e.sequence);n>0&&n<=c||(n>0&&(c=n),t(e))},r,a.signal),l=!1,a.signal.aborted)break;throw Error(`event stream ended`)}catch(e){if(l=!1,a.signal.aborted)break;n(e),await $u(s(i),a.signal),i+=1}})().catch(()=>void 0),{close(){a.abort()},isOpen(){return l}}}function Zu(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0?e:0}function Qu(e,t,n){let r=`message`,i=[];for(let t of e.split(`
18
- `))t.startsWith(`:`)||(t.startsWith(`event: `)&&(r=t.slice(7).trim()),t.startsWith(`data: `)&&i.push(t.slice(6)));if(r===`ready`)n?.();else if(r===`runtime`&&i.length!==0)try{t(JSON.parse(i.join(`
19
- `)))}catch{}}async function $u(e,t){e<=0||t.aborted||await new Promise(n=>{let r=globalThis.setTimeout(n,e);t.addEventListener(`abort`,()=>{globalThis.clearTimeout(r),n()},{once:!0})})}var ed=5e3,td=class{entries=new Map;order=[];capacity=3;sync(e,t){let n=new Set(e.map(e=>e.id));for(let e of this.entries.values())n.has(e.toast.id)||this.dismiss(e.toast.id,t);for(let t of e){let e=this.entries.get(t.id);e?e.toast=t:this.entries.set(t.id,{toast:t,phase:`entering`,parked:!0,remaining:ed,entered:!1,deadline:null,paused:!1})}this.order=[...e.map(e=>e.id),...this.order.filter(e=>!n.has(e)&&this.entries.has(e))],this.reflow(t)}setCapacity(e,t){this.capacity=Math.max(1,Math.min(3,e)),this.reflow(t)}pause(e,t,n){let r=this.entries.get(e);r&&r.paused!==t&&(t&&this.stopClock(r,n),r.paused=t,this.reflow(n))}dismiss(e,t){let n=this.entries.get(e);n&&n.phase!==`exiting`&&(n.parked?this.entries.delete(e):(n.phase=`exiting`,n.deadline=t+160,n.paused=!1))}tick(e){let t=[];for(let[n,r]of this.entries){let i=r.toast.kind===`attention`?12e4:6e4;r.parked&&e>=r.toast.createdAt+i?(this.entries.delete(n),t.push(n)):r.deadline===null||e<r.deadline||(r.phase===`exiting`?this.entries.delete(n):r.phase===`entering`?(r.phase=`visible`,r.entered=!0,r.deadline=null):(t.push(n),this.dismiss(n,e)))}return this.reflow(e),t}snapshot(){return this.order.flatMap(e=>{let t=this.entries.get(e);return t?[{toast:t.toast,phase:t.phase,parked:t.parked}]:[]})}nextDeadline(){let e=[...this.entries.values()].flatMap(e=>e.deadline===null?e.parked?[e.toast.createdAt+(e.toast.kind===`attention`?12e4:6e4)]:[]:[e.deadline]);return e.length?Math.min(...e):null}stopClock(e,t){e.phase===`visible`&&e.deadline!==null&&(e.remaining=Math.max(0,e.deadline-t)),e.deadline=null}reflow(e){let t=this.order.flatMap(e=>{let t=this.entries.get(e);return t&&t.phase!==`exiting`?[t]:[]}),n=-1;for(let e=t.length-1;e>=0;e--)if(t[e].paused&&!t[e].parked){n=e;break}let r=Math.max(0,n-this.capacity+1),i=new Set(t.slice(r,r+this.capacity).map(e=>e.toast.id));for(let n of t){let t=!i.has(n.toast.id);t&&!n.parked&&this.stopClock(n,e),n.parked=t,!(t||n.paused||n.deadline!==null)&&(n.entered?(n.phase=`visible`,n.deadline=e+n.remaining):(n.phase=`entering`,n.deadline=e+300))}}};function nd(e,t,n){let r=(0,J.useRef)({scope:n,lifecycle:new td}),[i,a]=(0,J.useState)([]),[o,s]=(0,J.useState)(0),c=(0,J.useRef)(t);c.current=t;let l=(0,J.useRef)(n);l.current=n,(0,J.useEffect)(()=>{if(r.current.scope!==n){r.current={scope:n,lifecycle:new td},d.current=3,a([]);return}let t=r.current.lifecycle;t.sync(e,Date.now());for(let e of t.tick(Date.now()))c.current(e);a(t.snapshot());let i=t.nextDeadline();if(i===null)return;let o=window.setTimeout(()=>s(e=>e+1),Math.max(0,i-Date.now()));return()=>window.clearTimeout(o)},[e,o,n]);let u=(0,J.useCallback)((e,t)=>{r.current.lifecycle.pause(e,t,Date.now()),s(e=>e+1)},[]),d=(0,J.useRef)(3),f=(0,J.useCallback)(e=>{d.current!==e&&(d.current=e,r.current.lifecycle.setCapacity(e,Date.now()),s(e=>e+1))},[]),p=(0,J.useCallback)(()=>l.current===n,[n]);return{cards:r.current.scope===n?i:[],onDismiss:t,onPause:u,onCapacity:f,isCurrent:p}}function rd(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function id(e){return e.replace(/\s+/g,` `).trim().slice(0,120)}function ad(e,t){let n=t.eventsBySessionId.get(e)??[],r=new Map;for(let t of n){let n=rd(t.data);if(t.name===`user_question.asked`){let t=Ur.safeParse(n?.question);if(t.success&&t.data.sessionId===e&&t.data.status===`pending`){let n=t.data;r.set(n.id,{key:`question:${n.id}`,title:`Question for you`,preview:n.question,target:{sessionId:e,questionId:n.id,turnId:n.turnId}})}}if(t.name===`user_question.answered`||t.name===`user_question.dismissed`){let e=Wr.safeParse(n?.resolution);e.success&&r.delete(e.data.questionId)}}let i=[...r.values()];for(let n of t.pendingApprovalsBySessionId.get(e)??[])i.push({key:`approval:${n.id}`,title:n.kind===`user_input`?`Input needed`:`Approval needed`,target:{sessionId:e,approvalId:n.id}});let a=Un(n);if(a){if(a.state===`awaiting_questions`)for(let t of a.questions.filter(e=>e.status===`pending`))i.push({key:`run:${a.id}:question:${t.id}`,title:`Question for you`,preview:t.prompt,target:{sessionId:e,runId:a.id,questionId:t.id}});else[`awaiting_plan_approval`,`awaiting_promotion`].includes(a.state)&&!i.some(e=>e.key.startsWith(`approval:`))&&i.push({key:`run:${a.id}:${a.state}`,title:`Approval needed`,target:{sessionId:e,runId:a.id}})}return i}function od(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(t.includes(r.name))return r}}function sd(e){let t=rd(e.metadata);return!e.archived&&!e.systemKind&&!e.id.startsWith(`codex-history:`)&&t?.readOnly!==!0&&t?.nativeReadOnly!==!0&&!(t?.nativeHistoryProjection&&(!e.nativeAgent||t.nativeBranch))}function cd(e,t,n){let r=n.eventsBySessionId.get(e.id)??[],i=od(r,[`turn.completed`,`turn.failed`,`turn.interrupted`]);if(!i||i.id!==t.id||i.name!==`turn.completed`)return!0;let a=od(r,[`turn.started`]);if(a?.turnId&&t.turnId&&a.turnId!==t.turnId||Tn(r)||Fn(e.metadata))return!0;let o=Pn(r);if(o&&![`done`].includes(o.tone)||(n.latestSubagentRuntimeBySessionId.get(e.id)?.activeCount??0)>0)return!0;let s=new Map;for(let t of r){if(t.name!==`task.input`)continue;let n=Hu.safeParse(rd(t.data)?.input);n.success&&n.data.sessionId===e.id&&s.set(n.data.id,n.data.state)}return[...s.values()].some(e=>e===`pending`||e===`included`)}var ld=class{seenEvents=new Set;seenRequests=new Set;completions=new Map;cursor;initialized=!1;attentionSessions=new Set;constructor(e){this.cursor=e}ingest(e,t){for(let n of e)this.seenEvents.has(n.id)||n.sequence!==void 0&&n.sequence<=this.cursor||(this.seenEvents.add(n.id),n.sessionId&&([`user_question.asked`,`approval.requested`,`create_improve.updated`].includes(n.name)&&this.attentionSessions.add(n.sessionId),n.name===`turn.completed`?this.completions.set(n.sessionId,{event:n,readyAt:t+600}):[`turn.started`,`turn.failed`,`turn.interrupted`,`user_question.asked`,`approval.requested`].includes(n.name)&&this.completions.delete(n.sessionId)));for(let t of e)t.sequence!==void 0&&(this.cursor=Math.max(this.cursor,t.sequence));this.seenEvents.size>1e4&&(this.seenEvents=new Set([...this.seenEvents].slice(-5e3)))}reconcile(e){let t=[],n=new Set,r=null;for(let i of e.sessions){if(!sd(i)){this.completions.delete(i.id);continue}let a=this.attentionSessions.has(i.id);this.attentionSessions.delete(i.id);let o=ad(i.id,e.indexes),s=`thread-attention:${i.id}`;if(o.length){this.completions.delete(i.id),n.add(s);let r=(!this.initialized||a)&&o.some(e=>!this.seenRequests.has(e.key));for(let e of o)this.seenRequests.add(e.key);if(!e.visibleSessionIds.has(i.id)){let e=o[0];t.push({key:o.map(e=>e.key).join(`|`),groupKey:s,title:o.length>1?`${e.title} (${o.length})`:e.title,message:i.title,detail:e.preview?id(e.preview):void 0,target:e.target,kind:`attention`,updateOnly:!r})}}let c=this.completions.get(i.id);if(!c)continue;let l=od(e.indexes.eventsBySessionId.get(i.id)??[],[`turn.started`]);l?.turnId&&c.event.turnId&&l.turnId!==c.event.turnId?this.completions.delete(i.id):e.now<c.readyAt?r=r===null?c.readyAt:Math.min(r,c.readyAt):cd(i,c.event,e.indexes)||(this.completions.delete(i.id),!e.visibleSessionIds.has(i.id)&&t.push({key:`completed:${i.id}:${c.event.turnId??c.event.id}`,groupKey:`thread-completion:${i.id}`,title:`Finished`,message:i.title,kind:`completion`,target:{sessionId:i.id,turnId:c.event.turnId}}))}return this.initialized=!0,this.seenRequests.size>1e4&&(this.seenRequests=new Set([...this.seenRequests].slice(-5e3))),{notifications:t,activeAttentionGroups:n,nextDeadline:r}}};function ud(e){let t=(0,J.useRef)(e);t.current=e;let n=(0,J.useRef)(null),r=(0,J.useRef)(new Set),[i,a]=(0,J.useState)(0),[o,s]=(0,J.useState)([]),[c,l]=(0,J.useState)(()=>document.hasFocus()&&document.visibilityState!==`hidden`);(0,J.useEffect)(()=>{let e=()=>{let e=document.querySelector(`dialog[open], [role="dialog"][aria-modal="true"]`)?[]:[...document.querySelectorAll(`.main-pane[data-thread-session], .right-chat-pane[data-thread-session]`)].filter(e=>e.getClientRects().length>0&&!e.closest(`[inert]`)).map(e=>e.dataset.threadSession).sort();s(t=>t.join(`\0`)===e.join(`\0`)?t:e)},t=new MutationObserver(e);return t.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-thread-session`,`open`,`aria-modal`,`inert`]}),e(),()=>t.disconnect()},[]),(0,J.useEffect)(()=>{let e=()=>l(document.hasFocus()&&document.visibilityState!==`hidden`);return window.addEventListener(`focus`,e),window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,e),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,e)}},[]),(0,J.useEffect)(()=>(e.dispatch({type:`clearToasts`}),r.current.clear(),n.current=null,e.store.subscribeLive(r=>{let i=t.current;i.scope===e.scope&&i.afterSequence!==null&&(n.current||={scope:i.scope,projector:new ld(i.afterSequence)},n.current.projector.ingest(r,Date.now()),a(e=>e+1))})),[e.scope,e.store,e.dispatch]),(0,J.useEffect)(()=>{if(e.afterSequence===null)return;(!n.current||n.current.scope!==e.scope)&&(n.current={scope:e.scope,projector:new ld(e.afterSequence)});let i=c?new Set(o.filter(t=>e.visibleSessionIds.has(t))):new Set,s=n.current.projector.reconcile({sessions:e.sessions,indexes:e.indexes,visibleSessionIds:i,now:Date.now()});for(let n of r.current){let r=n.slice(17);(!s.activeAttentionGroups.has(n)||i.has(r))&&t.current.toasts.some(e=>e.groupKey===n)&&e.dispatch({type:`clearToastGroup`,groupKey:n})}r.current=s.activeAttentionGroups;for(let n of s.notifications){let r=t.current.toasts.find(e=>e.groupKey===n.groupKey);if(n.updateOnly&&!r||r?.dedupeKey===n.key)continue;let i=e.scope;e.showToast(n.message,n.kind===`completion`?`success`:`info`,{title:n.title,detail:n.detail,kind:n.kind,groupKey:n.groupKey,dedupeKey:n.key,actionLabel:`Open thread`,onAction:async()=>t.current.scope===i&&t.current.openThread(n.target,()=>t.current.scope===i)})}if(s.nextDeadline===null)return;let l=window.setTimeout(()=>a(e=>e+1),Math.max(0,s.nextDeadline-Date.now()));return()=>window.clearTimeout(l)},[e.scope,e.afterSequence,e.indexes,e.sessions,e.visibleSessionIds,e.showToast,e.dispatch,c,o,i])}var dd=`openpond-thread-notification-reveal`;function fd(e){window.dispatchEvent(new CustomEvent(dd,{detail:e}))}function pd(e){let t=(0,J.useRef)(e);t.current=e,(0,J.useEffect)(()=>{let n=null,r=r=>{n?.();let i=r.detail,a=e=>i.approvalId?e.dataset.notificationApproval===i.approvalId:i.runId?e.dataset.notificationRun===i.runId:i.questionId?e.dataset.notificationQuestion===i.questionId:e.dataset.notificationTurn===i.turnId&&e.dataset.notificationFinal===`true`,o=0,s=()=>{if(t.current!==e){n?.();return}let r=document.querySelector(`.main-pane[data-thread-session="${CSS.escape(i.sessionId)}"]`);if(!r)return;let s=[...r.querySelectorAll(`[data-notification-approval], [data-notification-question], [data-notification-turn], [data-notification-run]`)].find(a);s&&(n?.(),o=requestAnimationFrame(()=>{s.scrollIntoView({block:`center`,behavior:`instant`});let e=s.querySelector(`button:not(:disabled), input:not(:disabled), textarea:not(:disabled)`);e?e.focus({preventScroll:!0}):(s.tabIndex=-1,s.focus({preventScroll:!0}))}))},c=new MutationObserver(s);c.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-thread-session`]});let l=window.setTimeout(()=>{n?.(),document.querySelector(`.main-pane[data-thread-session="${CSS.escape(i.sessionId)}"]`)?.focus({preventScroll:!0})},1e4);n=()=>{c.disconnect(),window.clearTimeout(l),cancelAnimationFrame(o)},s()};return window.addEventListener(dd,r),()=>{n?.(),window.removeEventListener(dd,r)}},[e])}var md=new Set([`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`approval.requested`,`approval.resolved`,`task.input`,`task.wait`]);function hd(e){let t={};for(let n of e)n.sessionId&&md.has(n.name)&&(Date.parse(n.timestamp)>Date.parse(t[n.sessionId]??``)||!t[n.sessionId]&&Number.isFinite(Date.parse(n.timestamp)))&&(t[n.sessionId]=n.timestamp);return t}function gd(e,t){let n=typeof e.metadata?.sidebarActivityAt==`string`?e.metadata.sidebarActivityAt:null;return Math.max(Date.parse(t[e.id]??``)||0,Date.parse(n??e.createdAt)||0)}function _d(e,t,n=new Date){let r=e=>`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`,i=new Date(n);i.setDate(n.getDate()-1);let a=[];for(let o of e){let{time:e,running:s}=t(o),c=new Date(e),l=s?`running`:r(c),u=a.at(-1);u?.key!==l&&(u={key:l,label:s||l===r(n)?null:l===r(i)?`Yesterday`:c.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...c.getFullYear()===n.getFullYear()?{}:{year:`numeric`}}),entries:[]},a.push(u)),u.entries.push(o)}return a}function*vd(e){for(let t of e.values())yield*t}function yd(e,t,n){let r=(0,J.useRef)(n);r.current=n,(0,J.useEffect)(()=>{if(!e||!t)return;let n=!1,i=!1,a=null,o=new Set,s=new Map,c=e=>`openpond:ponder-notification-delivery:${t}:${e}`;async function l(t){if(!n&&a)try{let i=await q(e,`/v1/ponder/notifications`);if(n||i.bindingId!==a||!i.items.some(e=>e.id===t)||(await q(e,`/v1/ponder/notifications/${encodeURIComponent(t)}/read`,{method:`POST`,body:`{}`}),n))return;window.focus(),r.current?.()}catch{}}let u=window.openpond?.onPonderNotification?.(e=>{l(e.id)});async function d(){if(!(n||i)){i=!0;try{let[t,r]=await Promise.all([q(e,`/v1/ponder/settings`),q(e,`/v1/ponder/notifications`)]);if(n||t.bindingId!==r.bindingId)return;if(a!==r.bindingId){a=r.bindingId,o.clear();try{let e=JSON.parse(localStorage.getItem(c(a))??`[]`);if(Array.isArray(e))for(let t of e)typeof t==`string`&&o.add(t)}catch{}}let i=new Set(r.items.filter(e=>!e.readAt).map(e=>e.id));for(let[e,t]of s)i.has(e)||(t.close(),s.delete(e));if(localStorage.getItem(`openpond:ponder-notifications`)!==`on`||t.settings.notifications===`off`)return;for(let e of r.items){if(n||e.readAt||o.has(e.id))continue;let t={id:e.id,title:e.title.slice(0,160),body:e.body.slice(0,500),ponder:!0},r=!1;if(window.openpond?.notify)r=await window.openpond.notify(t);else if(`Notification`in window&&Notification.permission===`granted`){let n=new Notification(t.title,{body:t.body,tag:t.id});n.onclick=()=>{n.close(),l(e.id)},s.set(e.id,n),r=!0}if(n)return;r&&o.add(e.id)}for(;o.size>500;)o.delete(o.values().next().value);try{localStorage.setItem(c(a),JSON.stringify([...o]))}catch{}}catch{}finally{i=!1}}}d();let f=window.setInterval(()=>void d(),1e4),p=()=>{d()};return window.addEventListener(`ponder-settings-changed`,p),()=>{n=!0,window.clearInterval(f),u?.(),window.removeEventListener(`ponder-settings-changed`,p);for(let e of s.values())e.close()}},[e,t])}var bd={teamInvitations:e=>q(e,`/v1/team-invitations`),decideTeamInvitation:(e,t,n)=>q(e,`/v1/team-invitations/${t}`,{method:`POST`,body:JSON.stringify({token:n})}),organizations:e=>q(e,`/v1/organizations`),createOrganization:(e,t)=>q(e,`/v1/organizations`,{method:`POST`,body:JSON.stringify(t)}),updateOrganization:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),organizationMembers:(e,t)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/members`),upsertOrganizationMember:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/members`,{method:`POST`,body:JSON.stringify(n)}),organizationMcpServer:(e,t)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server`),generateOrganizationMcpServer:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server`,{method:`POST`,body:JSON.stringify(n)}),setOrganizationMcpServerStatus:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server/${n}`,{method:`POST`})},xd={recoverCodex:async(e,t,n)=>ji.parse(await q(e,`/v1/sessions/${encodeURIComponent(t)}/codex-recovery`,{method:`POST`,body:JSON.stringify(n)})),getGoal:(e,t)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/goal`),patchGoal:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/goal`,{method:`PATCH`,body:JSON.stringify(n)}),taskInbox:(e,t)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/inbox`),steerTurn:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/turns/steer`,{method:`POST`,body:JSON.stringify(n)}),queueTaskInput:(e,t,n,r)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/inbox`,{method:`POST`,body:JSON.stringify({input:n,idempotencyKey:r})}),updateTaskInput:(e,t,n,r)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/inbox/${encodeURIComponent(n)}`,{method:`PATCH`,body:JSON.stringify(r)}),sendTurn:(e,t,n)=>q(e,`/v1/sessions/${t}/turns`,{method:`POST`,body:JSON.stringify(n)}),runSessionCommand:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/commands`,{method:`POST`,body:JSON.stringify(n)}),recordPreflightTurnFailure:(e,t,n)=>q(e,`/v1/sessions/${t}/preflight-turns/failure`,{method:`POST`,body:JSON.stringify(n)}),listCreateImproveRuns:(e,t={})=>q(e,`/v1/create-improve-runs?${Sd(t).toString()}`),getCreateImproveRun:(e,t)=>q(e,`/v1/create-improve-runs/${encodeURIComponent(t)}`),getCreateImproveCandidateDiff:(e,t,n)=>q(e,`/v1/create-improve-runs/${encodeURIComponent(t)}/candidates/${encodeURIComponent(n)}/diff`),applyCreateImproveAction:(e,t,n)=>q(e,`/v1/create-improve-runs/${encodeURIComponent(t)}/actions`,{method:`POST`,body:JSON.stringify(n)}),interruptTurn:(e,t,n)=>q(e,`/v1/sessions/${t}/turns/interrupt`,{method:`POST`,body:JSON.stringify({reason:n})}),compactSession:(e,t,n={reason:`manual`})=>q(e,`/v1/sessions/${t}/compact`,{method:`POST`,body:JSON.stringify(n)}),workspaceTool:(e,t,n)=>q(e,`/v1/sessions/${t}/workspace-tools`,{method:`POST`,body:JSON.stringify(n)}),ensureCloudWorkspaceReady:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/workspace/ensure-ready`,{method:`POST`,body:JSON.stringify(n)})};function Sd(e){let t=new URLSearchParams;return e.profileId&&t.set(`profileId`,e.profileId),e.conversationId&&t.set(`conversationId`,e.conversationId),e.targetKind&&t.set(`targetKind`,e.targetKind),e.targetId&&t.set(`targetId`,e.targetId),e.limit&&t.set(`limit`,String(e.limit)),t}var Cd={sandboxFiles:(e,t,n={})=>{let r=new URLSearchParams({list:`1`});return n.path&&r.set(`path`,n.path),n.recursive!==void 0&&r.set(`recursive`,String(n.recursive)),n.maxEntries!==void 0&&r.set(`maxEntries`,String(n.maxEntries)),q(e,`/v1/sandboxes/${encodeURIComponent(t)}/files?${r.toString()}`)},sandboxUploadFile:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/files`,{method:`POST`,body:JSON.stringify(n)}),preserveSandboxSource:(e,t,n={})=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/preserve-source`,{method:`POST`,body:JSON.stringify(n)}),sandboxDownloadFile:async(e,t,n,r={})=>{let i=new URLSearchParams({path:n});r.offsetBytes!==void 0&&i.set(`offsetBytes`,String(r.offsetBytes)),r.maxBytes!==void 0&&i.set(`maxBytes`,String(r.maxBytes));let a=await q(e,`/v1/sandboxes/${encodeURIComponent(t)}/files?${i.toString()}`);return{...a,contents:a.file.isBinary?``:vn(a.file.contentsBase64)}}},wd={sandboxGitStatus:(e,t)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/git/status`),sandboxGitDiff:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/git/diff`,{method:`POST`,body:JSON.stringify(n)})},Td={connectedAppStatus:(e,t={})=>{let n=pn(t);return n.set(`status`,t.status??`all`),q(e,`/v1/connected-apps/status${n.size>0?`?${n.toString()}`:``}`)},integrationConnections:(e,t={})=>{let n=pn(t);return t.status&&n.set(`status`,t.status),q(e,`/v1/integrations/connections${n.size>0?`?${n.toString()}`:``}`)},sandboxIntegrationLeases:(e,t)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`),attachSandboxIntegrationConnection:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`,{method:`POST`,body:JSON.stringify(n)}),removeSandboxIntegrationLease:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`,{method:`DELETE`,body:JSON.stringify({leaseId:n})})},Ed={listSandboxProjects:(e,t)=>{let n=new URLSearchParams({teamId:t.teamId});return q(e,`/v1/sandbox-projects?${n.toString()}`)},getSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}?${r.toString()}`)},getSandboxProjectWorkspace:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/workspace?${r.toString()}`)},upsertSandboxProject:(e,t)=>q(e,`/v1/sandbox-projects`,{method:`POST`,body:JSON.stringify(t)}),syncSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/sync?${r.toString()}`,{method:`POST`})},uploadSandboxProjectSource:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId}),{teamId:i,...a}=n;return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/source?${r.toString()}`,{method:`POST`,body:JSON.stringify(a)})},archiveSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}?${r.toString()}`,{method:`DELETE`})},listSandboxAgents:(e,t)=>{let n=new URLSearchParams({teamId:t.teamId});return q(e,`/v1/sandbox-agents?${n.toString()}`)},upsertSandboxAgent:(e,t)=>q(e,`/v1/sandbox-agents`,{method:`POST`,body:JSON.stringify(t)}),runSandboxAgent:(e,t,n)=>q(e,`/v1/sandbox-agents/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify(n)}),runProfileAction:(e,t)=>q(e,`/v1/profile/run`,{method:`POST`,body:JSON.stringify(t)})},Dd={sandbox:(e,t)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}`)},Od={...Td,...Ed,...Dd,...wd,...Cd},kd={communities:(e,t)=>{let n=new URLSearchParams;return t&&n.set(`cursor`,t),q(e,`/v1/communities${n.size?`?${n}`:``}`)},communityPreview:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/preview`),communityRules:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/rules/current`),joinCommunity:(e,t,n)=>q(e,`/v1/communities/${encodeURIComponent(t)}/join`,{method:`POST`,body:JSON.stringify({acceptedRulesVersionId:n})}),acceptCommunityRules:(e,t,n)=>q(e,`/v1/communities/${encodeURIComponent(t)}/rules/accept`,{method:`POST`,body:JSON.stringify({acceptedRulesVersionId:n})}),leaveCommunity:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/leave`,{method:`POST`,body:`{}`}),communityChannels:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels`),communityMessages:(e,t,n,r={})=>{let i=new URLSearchParams;return r.beforeSequence!=null&&i.set(`beforeSequence`,String(r.beforeSequence)),r.limit!=null&&i.set(`limit`,String(r.limit)),q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages${i.size?`?${i}`:``}`)},sendCommunityMessage:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages`,{method:`POST`,body:JSON.stringify(r)}),editCommunityMessage:(e,t,n,r,i)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages/${encodeURIComponent(r)}`,{method:`PATCH`,body:JSON.stringify({body:i})}),deleteCommunityMessage:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages/${encodeURIComponent(r)}`,{method:`DELETE`,body:`{}`}),markCommunityRead:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/read`,{method:`POST`,body:JSON.stringify({sequence:r})}),setCommunityChannelMuted:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/mute`,{method:`POST`,body:JSON.stringify({muted:r})}),searchCommunityMembers:(e,t,n={})=>{let r=new URLSearchParams;return n.query&&r.set(`query`,n.query),n.cursor&&r.set(`cursor`,n.cursor),n.limit!=null&&r.set(`limit`,String(n.limit)),q(e,`/v1/communities/${encodeURIComponent(t)}/members/search${r.size?`?${r}`:``}`)},updateCommunityNotifications:(e,t,n)=>q(e,`/v1/communities/${encodeURIComponent(t)}/notifications`,{method:`POST`,body:JSON.stringify({mode:n})}),communityEvents:(e,t,n={})=>{let r=new URLSearchParams;return n.after!=null&&r.set(`after`,String(n.after)),n.limit!=null&&r.set(`limit`,String(n.limit)),q(e,`/v1/communities/${encodeURIComponent(t)}/events${r.size?`?${r}`:``}`)},communityRealtimeSession:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/realtime-session`),uploadCommunityAttachment:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/attachments/upload`,{method:`POST`,body:JSON.stringify({attachment:r})}),communityAttachmentDownload:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/attachments/${encodeURIComponent(r)}/download`)},Ad=`openpond-app-server-url`,jd=`openpond-app-token`,Md=750;function Nd(){return window.location.protocol!==`http:`&&window.location.protocol!==`https:`?null:window.location.origin&&window.location.origin!==`null`?window.location.origin:null}function Pd(e){let t=e.getItem(Ad)?.trim(),n=e.getItem(jd)?.trim();return t&&n?{serverUrl:t,token:n}:null}function Fd(e){if(!e)return null;try{let t=`__openpond_storage_probe__`;return e.setItem(t,`1`),e.removeItem(t),e}catch{return null}}function Id(e,t){e.setItem(Ad,t.serverUrl),e.setItem(jd,t.token)}function Ld(){let e=window.__OPENPOND_WEB_CONNECTION__,t=e?.serverUrl?.trim(),n=e?.token?.trim();return t&&n?{serverUrl:t,token:n}:null}function Rd(){let e=window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash;if(!e)return null;let t=new URLSearchParams(e),n=t.get(`openpondToken`)?.trim(),r=t.get(`openpondServerUrl`)?.trim()||Nd();return!r||!n?null:{serverUrl:r,token:n}}function zd(){window.location.hash&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`)}function Bd(e,t){t&&(e.some(e=>e.serverUrl===t.serverUrl&&e.token===t.token)||e.push(t))}function Vd(){let e=[],t=Fd(window.sessionStorage),n=Fd(window.localStorage),r=Nd(),i=t?.getItem(jd)??n?.getItem(jd);return Bd(e,null),Bd(e,r&&i?{serverUrl:r,token:i.trim()}:null),Bd(e,t?Pd(t):null),Bd(e,n?Pd(n):null),e}async function Hd(e){let t=new AbortController,n=window.setTimeout(()=>t.abort(),Md);try{let n=await fetch(`${e}/health`,{signal:t.signal}),r=await n.json().catch(()=>null);return n.ok&&r?.server===`openpond-app-server`}catch{return!1}finally{window.clearTimeout(n)}}async function Ud(){if(window.openpond)return window.openpond.getConnection();let e=Fd(window.sessionStorage),t=Fd(window.localStorage),n=Rd();if(n&&await Hd(n.serverUrl))return t&&Id(t,n),e&&Id(e,n),zd(),{...n,platform:navigator.platform};let r=Ld();if(r&&await Hd(r.serverUrl))return t&&Id(t,r),e&&Id(e,r),{...r,platform:navigator.platform};let i=Vd();for(let n of i)if(await Hd(n.serverUrl))return t&&Id(t,n),e&&Id(e,n),{...n,platform:navigator.platform};throw Error("No reachable OpenPond app server. Start `openpond ui` again and open the full printed URL.")}var Z={...kd,bootstrap:(e,t)=>q(e,`/v1/bootstrap?refreshCodex=1`,{signal:t}),accountScopeSnapshot:e=>q(e,`/v1/bootstrap?ensureProfile=0`),localProjectActions:(e,t)=>q(e,`/v1/projects/${encodeURIComponent(t)}/actions`),extensionCatalog:e=>q(e,`/v1/extensions`),extensionPreview:(e,t)=>q(e,`/v1/extensions/preview`,{method:`POST`,body:JSON.stringify(t)}),extensionAdd:(e,t)=>q(e,`/v1/extensions`,{method:`POST`,body:JSON.stringify(t)}),extensionUpdate:(e,t,n={})=>q(e,`/v1/extensions/github/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repo)}/update`,{method:`POST`,body:JSON.stringify(n)}),extensionUpdateAll:e=>q(e,`/v1/extensions/update-all`,{method:`POST`}),extensionRemove:(e,t)=>q(e,`/v1/extensions/github/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repo)}`,{method:`DELETE`}),skillSourceFile:(e,t,n,r)=>q(e,`/v1/skills/${t}/${encodeURIComponent(n)}/source?path=${encodeURIComponent(r)}`),teamChatMembers:(e,t,n)=>q(e,`/v1/team-chat/members?teamId=${encodeURIComponent(t)}`,{signal:n}),teamChatAgents:(e,t)=>q(e,`/v1/team-chat/agents?teamId=${encodeURIComponent(t)}`),teamChatThreads:(e,t)=>q(e,`/v1/team-chat/threads?teamId=${encodeURIComponent(t)}`),teamChatRealtimeSession:(e,t)=>q(e,`/v1/team-chat/realtime-session?teamId=${encodeURIComponent(t)}`),teamChatEvents:(e,t,n={})=>{let r=new URLSearchParams({teamId:t});return n.after!=null&&r.set(`after`,String(n.after)),n.limit!=null&&r.set(`limit`,String(n.limit)),q(e,`/v1/team-chat/events?${r.toString()}`)},teamChatGeneral:(e,t)=>q(e,`/v1/team-chat/threads/general`,{method:`POST`,body:JSON.stringify({teamId:t})}),teamChatDm:(e,t,n)=>q(e,`/v1/team-chat/threads/dm`,{method:`POST`,body:JSON.stringify({teamId:t,otherUserId:n})}),teamChatThread:(e,t,n,r={})=>{let i=new URLSearchParams({teamId:t});return r.beforeSequence!=null&&i.set(`beforeSequence`,String(r.beforeSequence)),r.limit!=null&&i.set(`limit`,String(r.limit)),q(e,`/v1/team-chat/threads/${encodeURIComponent(n)}?${i.toString()}`)},uploadTeamChatAttachment:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/attachments/upload`,{method:`POST`,body:JSON.stringify(n)}),teamChatAttachmentDownload:(e,t,n)=>q(e,`/v1/team-chat/attachments/${encodeURIComponent(n)}/download?teamId=${encodeURIComponent(t)}`),sendTeamChatMessage:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages`,{method:`POST`,body:JSON.stringify(n)}),createTeamChatAgentRun:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/agent-runs`,{method:`POST`,body:JSON.stringify(n)}),teamChatAgentConversation:(e,t,n)=>q(e,`/v1/team-chat/agent-runs/${encodeURIComponent(n)}?teamId=${encodeURIComponent(t)}`),editTeamChatMessage:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages/${encodeURIComponent(n)}`,{method:`PATCH`,body:JSON.stringify(r)}),deleteTeamChatMessage:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages/${encodeURIComponent(n)}`,{method:`DELETE`,body:JSON.stringify({teamId:r})}),markTeamChatRead:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/read`,{method:`POST`,body:JSON.stringify({teamId:n,sequence:r})}),setTeamChatThreadMuted:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/mute`,{method:`POST`,body:JSON.stringify({teamId:n,muted:r})}),createTeamChatAiThread:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/ai-threads`,{method:`POST`,body:JSON.stringify(n)}),teamChatAiThread:(e,t,n)=>q(e,`/v1/team-chat/ai-threads/${encodeURIComponent(n)}?teamId=${encodeURIComponent(t)}`),sendTeamChatAiTurn:(e,t,n)=>q(e,`/v1/team-chat/ai-threads/${encodeURIComponent(t)}/turns`,{method:`POST`,body:JSON.stringify(n)}),executeTeamChatAiTurn:(e,t,n)=>q(e,`/v1/team-chat/ai-turns/${encodeURIComponent(t)}/execute`,{method:`POST`,body:JSON.stringify({teamId:n})}),cancelTeamChatAiTurnExecution:(e,t,n)=>q(e,`/v1/team-chat/ai-turns/${encodeURIComponent(t)}/execute/cancel`,{method:`POST`,body:JSON.stringify({teamId:n})}),usage:(e,t={})=>{let n=Wd(t),r=n.size?`?${n.toString()}`:``;return q(e,`/v1/usage${r}`)},usageRecords:(e,t={})=>{let n=Wd(t);t.sessionId&&n.set(`sessionId`,t.sessionId),t.turnId&&n.set(`turnId`,t.turnId),t.limit!==void 0&&n.set(`limit`,String(t.limit));let r=n.size?`?${n.toString()}`:``;return q(e,`/v1/usage/records${r}`)},usageTurnCache:(e,t)=>q(e,`/v1/usage/turn-cache?sessionId=${encodeURIComponent(t)}`),runtimeEventsPage:(e,t={})=>{let n=new URLSearchParams;t.sessionId&&n.set(`sessionId`,t.sessionId),t.afterSequence!==void 0&&n.set(`afterSequence`,String(t.afterSequence)),t.beforeSequence!==void 0&&t.beforeSequence!==null&&n.set(`beforeSequence`,String(t.beforeSequence)),t.limit!==void 0&&n.set(`limit`,String(t.limit));let r=n.size?`?${n.toString()}`:``;return q(e,`/v1/events/page${r}`)},sessionFiles:(e,t)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/files`),workOutputs:e=>q(e,`/v1/work/outputs`),harnessHistory:e=>q(e,`/v1/harness`),refinerHistory:e=>q(e,`/v1/refiner`),updateRefinerProfile:(e,t)=>q(e,`/v1/refiner/update`,{method:`POST`,body:JSON.stringify(t)}),activateRefinerRelease:(e,t)=>q(e,`/v1/refiner/activate`,{method:`POST`,body:JSON.stringify(t)}),rollbackRefinerRelease:(e,t)=>q(e,`/v1/refiner/rollback`,{method:`POST`,body:JSON.stringify(t)}),updateHarnessBackgroundReview:(e,t)=>q(e,`/v1/harness/background-review`,{method:`POST`,body:JSON.stringify(t)}),reviewHarnessEvaluation:(e,t)=>q(e,`/v1/harness/evaluation-review`,{method:`POST`,body:JSON.stringify(t)}),updateHarnessEvaluationReviewSchedule:(e,t)=>q(e,`/v1/harness/evaluation-review/settings`,{method:`POST`,body:JSON.stringify(t)}),harnessReleaseDiff:(e,t)=>q(e,`/v1/harness/diff`,{method:`POST`,body:JSON.stringify(t)}),rollbackHarness:(e,t)=>q(e,`/v1/harness/rollback`,{method:`POST`,body:JSON.stringify(t)}),reviewHarnessProposal:(e,t)=>q(e,`/v1/harness/review`,{method:`POST`,body:JSON.stringify(t)}),runSubagentLifecycleAction:(e,t,n)=>q(e,`/v1/subagents/${encodeURIComponent(t)}/lifecycle`,{method:`POST`,body:JSON.stringify(n)}),trainingState:(e,t,n)=>q(e,`/v1/training?profileId=${encodeURIComponent(t)}`,{signal:n}),trainingActivity:(e,t,n)=>q(e,`/v1/training/activity?profileId=${encodeURIComponent(t)}`,{signal:n}),portableTrainingCatalog:(e,t=``,n)=>{let r=new URLSearchParams;return t.trim()&&r.set(`query`,t.trim()),n&&r.set(`method`,n),q(e,`/v1/training/catalog${r.size?`?${r.toString()}`:``}`)},datasetCatalog:(e,t)=>q(e,`/v1/training/datasets?profileId=${encodeURIComponent(t)}`),trainingRunDetail:(e,t,n={})=>q(e,`/v1/training/jobs/${encodeURIComponent(t)}/detail?evaluation=${n.includeEvaluation===!1?`false`:`true`}&refresh=${n.refresh===!1?`false`:`true`}`,{signal:n.signal}),candidateReview:(e,t,n=!1,r=`models`)=>q(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision?refresh=${n}`),recordCandidateReview:(e,t,n,r=`models`)=>q(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision`,{method:`POST`,body:JSON.stringify(n)}),candidateReviewHistory:(e,t,n,r=`models`)=>q(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision-history?decisionId=${encodeURIComponent(n.id)}&decisionHash=${n.contentHash}`),trainingEvaluationTasks:async(e,t,n,r)=>{let i=new URLSearchParams({limit:`25`});return r&&i.set(`cursor`,r),q(e,`/v1/training/jobs/${encodeURIComponent(t)}/evaluations/${encodeURIComponent(n.id)}/tasks?${i}`)},trainingRequest:(e,t,n,r=`POST`)=>q(e,`/v1/training${t}`,{method:r,body:r===`GET`||r===`DELETE`?void 0:JSON.stringify(n)}),datasetStorageState:e=>q(e,`/v1/settings/dataset-storage`),updateDatasetStorage:(e,t)=>q(e,`/v1/settings/dataset-storage`,{method:`PATCH`,body:JSON.stringify({datasetStorePath:t})}),hostedSavedWork:e=>q(e,`/v1/saved-work`),createHostedSavedWork:(e,t)=>q(e,`/v1/saved-work`,{method:`POST`,body:JSON.stringify(t)}),updateHostedSavedWork:(e,t,n)=>q(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),deleteHostedSavedWork:(e,t)=>q(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}`,{method:`DELETE`}),runHostedSavedWork:(e,t,n)=>q(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify({clientRequestId:n})}),chatWorkflows:(e,t)=>{let n=t?`?sessionId=${encodeURIComponent(t)}`:``;return q(e,`/v1/chat-workflows${n}`)},createChatWorkflow:(e,t)=>q(e,`/v1/chat-workflows`,{method:`POST`,body:JSON.stringify(t)}),updateChatWorkflow:(e,t,n)=>q(e,`/v1/chat-workflows/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),deleteChatWorkflow:(e,t)=>q(e,`/v1/chat-workflows/${encodeURIComponent(t)}`,{method:`DELETE`}),runChatWorkflow:(e,t)=>q(e,`/v1/chat-workflows/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify({})}),localAgentSchedules:(e,t={})=>{let n=new URLSearchParams;t.localProjectId&&n.set(`localProjectId`,t.localProjectId);let r=n.size?`?${n.toString()}`:``;return q(e,`/v1/local-agent-schedules${r}`)},syncLocalAgentSchedules:e=>q(e,`/v1/local-agent-schedules/sync`,{method:`POST`,body:JSON.stringify({})}),patchLocalAgentSchedule:(e,t,n)=>q(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),runLocalAgentSchedule:(e,t,n={})=>q(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify(n)}),localAgentScheduleRuns:(e,t,n={})=>{let r=new URLSearchParams;n.limit!==void 0&&r.set(`limit`,String(n.limit));let i=r.size?`?${r.toString()}`:``;return q(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}/runs${i}`)},refreshOpenPondAccounts:e=>q(e,`/v1/openpond/accounts/refresh`,{method:`POST`,body:JSON.stringify({})}),refreshOpenPondAccount:e=>q(e,`/v1/openpond/account?refresh=1`),loadMoreOpenPondApps:(e,t)=>q(e,`/v1/openpond/apps/more?offset=${encodeURIComponent(String(t.offset))}&limit=${encodeURIComponent(String(t.limit))}`),switchOpenPondAccount:(e,t)=>q(e,`/v1/openpond/accounts/switch`,{method:`POST`,body:JSON.stringify(t)}),removeOpenPondAccount:(e,t)=>q(e,`/v1/openpond/accounts`,{method:`DELETE`,body:JSON.stringify(t)}),signOutOpenPondAccount:e=>q(e,`/v1/openpond/accounts/logout`,{method:`POST`,body:JSON.stringify({})}),saveOpenPondAccount:(e,t)=>q(e,`/v1/openpond/accounts/login`,{method:`POST`,body:JSON.stringify(t)}),updateOpenPondAccountConfig:(e,t)=>q(e,`/v1/openpond/accounts/config`,{method:`PATCH`,body:JSON.stringify(t)}),savePreferences:(e,t)=>q(e,`/v1/preferences`,{method:`PATCH`,body:JSON.stringify(t)}),saveProviderSettings:(e,t)=>q(e,`/v1/providers`,{method:`PATCH`,body:JSON.stringify(t)}),providerSettings:e=>q(e,`/v1/providers`),loadProviderModels:(e,t,n={})=>{let r=new URLSearchParams;n.query?.trim()&&r.set(`query`,n.query.trim()),n.limit&&r.set(`limit`,String(n.limit));let i=r.size?`?${r.toString()}`:``;return q(e,`/v1/providers/${encodeURIComponent(t)}/models${i}`)},refreshProviderModels:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/models`,{method:`POST`,body:JSON.stringify(n)}),saveProviderCredential:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/credential`,{method:`PUT`,body:JSON.stringify(n)}),deleteProviderCredential:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/credential`,{method:`DELETE`,body:JSON.stringify(n)}),startOpenAiSubscriptionAuth:(e,t)=>q(e,`/v1/providers/openai/subscription-auth`,{method:`POST`,body:JSON.stringify(t)}),validateProviderCredential:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/validate`,{method:`POST`,body:JSON.stringify(n)}),savePersonalization:(e,t)=>q(e,`/v1/personalization`,{method:`PATCH`,body:JSON.stringify(t)}),recordClientDiagnostic:(e,t)=>q(e,`/v1/diagnostics/client`,{method:`POST`,body:JSON.stringify(t)}),profileCurrent:e=>q(e,`/v1/profile`),profileCatalog:e=>q(e,`/v1/profile/catalog`),profileWorkflows:e=>q(e,`/v1/profile/workflows`),profileEvaluations:e=>q(e,`/v1/profile/evaluations`),profileEvaluationDiscovery:(e,t,n)=>q(e,`/v1/profile/evaluations/discover`,{method:`POST`,body:JSON.stringify({profileRef:t}),signal:n}),profileEvaluationPrepare:(e,t)=>q(e,`/v1/profile/evaluations/prepare`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationRun:(e,t)=>q(e,`/v1/profile/evaluations/run`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationRunSuite:(e,t)=>q(e,`/v1/profile/evaluations/run-suite`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationCompare:(e,t)=>q(e,`/v1/profile/evaluations/compare`,{method:`POST`,body:JSON.stringify({id:`comparison-${crypto.randomUUID()}`,runIds:t})}),profileEvaluationSaveReport:(e,t,n)=>q(e,`/v1/profile/evaluations/reports`,{method:`POST`,body:JSON.stringify({id:`report-${crypto.randomUUID()}`,evidenceKind:t,evidenceId:n})}),profileSelect:(e,t)=>q(e,`/v1/profile/select`,{method:`POST`,body:JSON.stringify({ref:t})}),profileRemove:(e,t)=>q(e,`/v1/profile/remove`,{method:`POST`,body:JSON.stringify({ref:t})}),profilePublicationPreview:(e,t)=>q(e,`/v1/profile/publication/preview`,{method:`POST`,body:JSON.stringify(t)}),profilePublicationPublish:(e,t)=>q(e,`/v1/profile/publication/publish`,{method:`POST`,body:JSON.stringify(t)}),profileInstall:(e,t)=>q(e,`/v1/profile/install`,{method:`POST`,body:JSON.stringify(t)}),profileUpdate:(e,t)=>q(e,`/v1/profile/update`,{method:`POST`,body:JSON.stringify({ref:t})}),profileInit:(e,t)=>q(e,`/v1/profile/init`,{method:`POST`,body:JSON.stringify(t)}),profileLoad:(e,t)=>q(e,`/v1/profile/load`,{method:`POST`,body:JSON.stringify(t)}),profileCheck:(e,t)=>q(e,`/v1/profile/check`,{method:`POST`,body:JSON.stringify(t)}),profileAgentRename:(e,t,n)=>q(e,`/v1/profile/agents/${encodeURIComponent(t)}/name`,{method:`PATCH`,body:JSON.stringify(n)}),profileCommit:(e,t)=>q(e,`/v1/profile/commit`,{method:`POST`,body:JSON.stringify(t)}),profilePush:(e,t)=>q(e,`/v1/profile/push`,{method:`POST`,body:JSON.stringify(t)}),workspaceLspSettingsStatus:e=>q(e,`/v1/lsp/settings-status`),workspaceLspRuntimeStatus:e=>q(e,`/v1/lsp/status`),restartWorkspaceLsp:e=>q(e,`/v1/lsp/restart`,{method:`POST`}),remoteAccess:e=>q(e,`/v1/remote-access`),enableRemoteAccess:e=>q(e,`/v1/remote-access/enable`,{method:`POST`}),disableRemoteAccess:e=>q(e,`/v1/remote-access/disable`,{method:`POST`}),voiceTranscriptionStatus:(e,t={})=>q(e,`/v1/audio/transcriptions/status`,{signal:t.signal}),transcribeVoice:(e,t,n={})=>q(e,`/v1/audio/transcriptions`,{method:`POST`,body:JSON.stringify(t),signal:n.signal}),createSession:(e,t)=>q(e,`/v1/sessions`,{method:`POST`,body:JSON.stringify(t)}),patchSession:(e,t,n)=>q(e,`/v1/sessions/${t}`,{method:`PATCH`,body:JSON.stringify(n)}),codexHistoryThread:(e,t,n={})=>{let r=new URLSearchParams;n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.tail&&r.set(`tail`,`1`);let i=r.size?`?${r.toString()}`:``;return q(e,`/v1/codex-history/${encodeURIComponent(t)}${i}`)},codexHistoryThreadIncremental:(e,t,n={})=>{let r=new URLSearchParams({incremental:`1`});return n.afterEventId&&r.set(`afterEventId`,n.afterEventId),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.revision&&r.set(`revision`,n.revision),n.tail&&r.set(`tail`,`1`),q(e,`/v1/codex-history/${encodeURIComponent(t)}?${r.toString()}`)},sendCodexHistoryTurn:(e,t,n)=>q(e,`/v1/codex-history/${encodeURIComponent(t)}/turns`,{method:`POST`,body:JSON.stringify(n)}),interruptCodexHistoryTurn:(e,t)=>q(e,`/v1/codex-history/${encodeURIComponent(t)}/turns/interrupt`,{method:`POST`}),patchSidebarAppPreference:(e,t,n)=>q(e,`/v1/sidebar/apps/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),reorderSidebarApps:(e,t)=>q(e,`/v1/sidebar/apps/reorder`,{method:`POST`,body:JSON.stringify(t)}),sidebarFiles:e=>q(e,`/v1/sidebar/files`),patchSidebarFile:(e,t)=>q(e,`/v1/sidebar/files`,{method:`PATCH`,body:JSON.stringify(t)}),workspaceStatus:(e,t,n=!1,r={})=>q(e,`/v1/workspaces/${encodeURIComponent(t)}${n?`?ensure=1`:``}`,{signal:r.signal}),createWorkspaceBranch:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/branches`,{method:`POST`,body:JSON.stringify(n)}),checkoutWorkspaceBranch:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/branch`,{method:`PATCH`,body:JSON.stringify(n)}),workspaceDiff:(e,t,n={})=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/diff`,{signal:n.signal}),resolveWorkspaceFile:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/resolve-file?path=${encodeURIComponent(n)}`),workspaceFileVersion:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/file-version?path=${encodeURIComponent(n)}`),workspaceFile:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}`),saveWorkspaceFile:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/file`,{method:`PATCH`,body:JSON.stringify(n)}),signWorkspaceImageUrl:(e,t)=>q(e,`/v1/assets/workspace-image-url`,{method:`POST`,body:JSON.stringify(t)}),signLocalImageUrl:(e,t)=>q(e,`/v1/assets/local-image-url`,{method:`POST`,body:JSON.stringify(t)}),signLocalVideoUrl:(e,t)=>q(e,`/v1/assets/local-video-url`,{method:`POST`,body:JSON.stringify(t)}),signChatAttachmentImageUrl:(e,t)=>q(e,`/v1/assets/chat-attachment-image-url`,{method:`POST`,body:JSON.stringify(t)}),chatAttachmentFile:(e,t)=>q(e,`/v1/assets/chat-attachment-file`,{method:`POST`,body:JSON.stringify(t)}),workspaceLspTouch:(e,t,n,r={})=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/lsp/touch`,{method:`POST`,body:JSON.stringify(n),signal:r.signal}),workspaceLspAction:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/lsp/action`,{method:`POST`,body:JSON.stringify(n)}),workspaceTemplateConfig:(e,t)=>q(e,`/v1/openpond/apps/${encodeURIComponent(t)}/template-config`),...bd,...Od,createLocalProject:(e,t)=>q(e,`/v1/projects`,{method:`POST`,body:JSON.stringify(t)}),updateLocalProjectAgentSetup:(e,t,n)=>q(e,`/v1/projects/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),uploadLocalProjectCloudSource:(e,t,n)=>q(e,`/v1/projects/${encodeURIComponent(t)}/cloud-source`,{method:`POST`,body:JSON.stringify(n)}),previewLocalProjectCloudSource:(e,t,n={})=>{let r=new URLSearchParams;n.branch?.trim()&&r.set(`branch`,n.branch.trim());let i=r.toString()?`?${r.toString()}`:``;return q(e,`/v1/projects/${encodeURIComponent(t)}/cloud-source/preview${i}`)},deleteLocalProject:(e,t)=>q(e,`/v1/projects/${encodeURIComponent(t)}`,{method:`DELETE`}),gitAvailability:e=>q(e,`/v1/system/git`),installMacOSCommandLineTools:e=>q(e,`/v1/system/git/install-command-line-tools`,{method:`POST`,body:JSON.stringify({})}),...xd,resolveApproval:(e,t,n)=>q(e,`/v1/approvals/${t}`,{method:`POST`,body:JSON.stringify(n)})};function Wd(e){let t=new URLSearchParams;return e.range&&t.set(`range`,e.range),e.visibility&&t.set(`visibility`,e.visibility),e.status&&t.set(`status`,e.status),e.provider&&t.set(`provider`,e.provider),e.model&&t.set(`model`,e.model),t}var Gd=$n(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Kd=$n(`archive-restore`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]),qd=$n(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),Jd=$n(`bookmark`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z`,key:`1fy3hk`}]]),Yd=$n(`bookmark-x`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z`,key:`169p4p`}],[`path`,{d:`m14.5 7.5-5 5`,key:`3lb6iw`}],[`path`,{d:`m9.5 7.5 5 5`,key:`ko136h`}]]),Xd=$n(`book-open-text`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M16 12h2`,key:`7q9ll5`}],[`path`,{d:`M16 8h2`,key:`msurwy`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}],[`path`,{d:`M6 12h2`,key:`32wvfc`}],[`path`,{d:`M6 8h2`,key:`30oboj`}]]),Zd=$n(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),Qd=$n(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),$d=$n(`chart-column-stacked`,[[`path`,{d:`M11 13H7`,key:`t0o9gq`}],[`path`,{d:`M19 9h-4`,key:`rera1j`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`,key:`q8uenq`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`,key:`sr5ea`}]]),ef=$n(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),tf=$n(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),nf=$n(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),rf=$n(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),af=$n(`credit-card`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]),of=$n(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),sf=$n(`file-output`,[[`path`,{d:`M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127`,key:`wfxp4w`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 11-3 3`,key:`1dgrs4`}],[`path`,{d:`m5 17-3-3h10`,key:`1mvvaf`}]]),cf=$n(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),lf=$n(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),uf=$n(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),df=$n(`git-branch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),ff=$n(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),pf=$n(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),mf=$n(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),hf=$n(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),gf=$n(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),_f=$n(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),vf=$n(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),yf=$n(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),bf=$n(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),xf=$n(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),Sf=$n(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Cf=$n(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),wf=$n(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Tf=$n(`shapes`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),Ef=$n(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),Df=$n(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),Of=$n(`user-round`,[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]]),kf=$n(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Af=$n(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),jf=$n(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);function Mf({error:e,prefix:t,children:n}){return hr(e,{prefix:t}),e?n??null:null}function Nf(){let[e,t]=(0,J.useState)(null);return(0,J.useEffect)(()=>{let e=window.openpond?.updates;if(!e)return;let n=!0,r=e=>{n&&t(t=>!t||e.revision>t.revision?e:t)},i=e.onState(r);return e.getState().then(r).catch(()=>void 0),()=>{n=!1,i()}},[]),e}function Pf(e){let t=Nf(),[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(null),o=window.openpond?.updates,s=n!==null||t?.status===`checking`||t?.status===`downloading`||t?.status===`restarting`,c=i?.revision===t?.revision?i?.message:t?.error;async function l(n){if(!s&&o&&t){r(n),a(null);try{if(n===`restart`){if(!window.dispatchEvent(new Event(`openpond:before-update`,{cancelable:!0})))throw Error(`Could not save your drafts. Save them before restarting to update.`);await o.restartAndInstall({hasRunningWork:e})}else n===`check`?await o.check():await o.download()}catch(e){a({revision:t.revision,message:e instanceof Error?e.message:`The update could not start. Try again.`})}finally{r(null)}}}return{state:t,busy:s,pendingAction:n,error:c,run:l}}function Ff({hasRunningWork:e}){let{state:t,busy:n,error:r,run:i}=Pf(e),a=window.openpond?.updates,o=t?.status===`error`&&t.retry===`check`;if(!t||!t.version&&!o||t.status===`unsupported`||!a)return null;let s=t.status===`ready`||t.status===`restarting`||t.retry===`restart`,c=o?`Retry update check`:s?`Restart to update`:`Update`,l=r??(t.status===`checking`?`Checking for updates…`:n?s?`Restarting OpenPond…`:`Downloading OpenPond ${t.version}${t.progress===null?``:` (${t.progress}%)`}…`:s?`OpenPond ${t.version} is ready. It will be applied when you restart.`:`Download OpenPond ${t.version}`);return(0,Y.jsxs)(`div`,{className:`sidebar-update-control`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-update-pill`,title:l,"aria-label":n?l:`${c}${t.version?` (${t.version})`:``}`,"aria-busy":n,disabled:n,onClick:()=>void i(s?`restart`:t.retry===`check`?`check`:`download`),children:[(0,Y.jsx)(`span`,{className:`sidebar-update-icon${n?` sidebar-update-spinner`:``}`,"aria-hidden":`true`,children:n?(0,Y.jsx)(ar,{size:14}):s||o?(0,Y.jsx)(lr,{size:14}):(0,Y.jsx)(of,{size:14})}),(0,Y.jsx)(`span`,{children:c})]}),(0,Y.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:t.status===`ready`?`OpenPond ${t.version} is ready to install. Restart to update.`:``}),r?(0,Y.jsx)(Mf,{error:r}):null]})}function If(e,t,n,r){return q(e,t===`dataset`?`/v1/local-datasets`:`/v1/chat-experiments`,{method:`POST`,body:JSON.stringify(n),signal:r})}function Lf(e){let[t,n]=(0,J.useState)({resources:[],links:[]});return(0,J.useEffect)(()=>{if(n({resources:[],links:[]}),!e)return;let t=new AbortController,r,i=async()=>{try{let r=await If(e,`dataset`,{action:`resource_index`},t.signal);t.signal.aborted||n(r)}catch{}t.signal.aborted||(r=setTimeout(()=>void i(),15e3))};return i(),()=>{t.abort(),clearTimeout(r)}},[e]),{trainingSessionIds:(0,J.useMemo)(()=>new Set(t.links.map(e=>e.sessionId)),[t.links])}}var Rf=$n(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),zf=$n(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Bf=$n(`panels-top-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 21V9`,key:`1oto5p`}]]);function Vf({value:e,options:t,disabled:n,compact:r,className:i,icon:a,triggerContent:o,placement:s=`bottom`,label:c,tooltip:l,searchable:u=!1,floating:d=!1,floatingMenuWidth:f,floatingMenuMaxHeight:p=320,openOnHover:m=!1,onChange:h}){let[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(``),b=(0,J.useRef)(null),x=(0,J.useRef)(null),S=(0,J.useRef)(!1),C=(0,J.useRef)(null);function w(){C.current!==null&&clearTimeout(C.current),C.current=null}function T(){w(),S.current=!1,_(!1)}(0,J.useEffect)(()=>()=>{C.current!==null&&clearTimeout(C.current)},[]);let[E,D]=(0,J.useState)();(0,J.useLayoutEffect)(()=>{if(!g||!d&&s!==`right`)return;function e(){let e=b.current?.getBoundingClientRect();if(!e)return;if(s===`right`){let t=Math.min(f??240,window.innerWidth-24),n=Math.min(p,window.innerHeight-24),r=Math.min(b.current?.querySelector(`[role="menu"]`)?.getBoundingClientRect().height??n,n),i=e.right+12+t<=window.innerWidth-12?e.right+12:Math.max(12,e.left-t-12);D({position:`fixed`,left:i,top:Math.max(12,Math.min(e.top,window.innerHeight-r-12)),width:t,minWidth:0,maxWidth:`calc(100vw - 24px)`,right:`auto`,bottom:`auto`,maxHeight:n,overflowY:`auto`,zIndex:1e3});return}let t=window.innerHeight-e.bottom-12,n=e.top-12,r=t<180&&n>t,i=Math.min(f??e.width,window.innerWidth-24);D({position:`fixed`,left:Math.max(12,Math.min(e.left,window.innerWidth-i-12)),width:i,minWidth:0,maxWidth:`calc(100vw - 24px)`,right:`auto`,top:r?`auto`:e.bottom+5,bottom:r?window.innerHeight-e.top+5:`auto`,maxHeight:Math.max(80,Math.min(p,r?n-5:t-5)),overflowY:`auto`,zIndex:1e3})}return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[g,d,f,p,s]),(0,J.useLayoutEffect)(()=>{if(g&&s===`right`){let e=b.current?.querySelector(`[role="menu"]`);(e?.querySelector(`[aria-checked="true"]:not(:disabled)`)??e?.querySelector(`[role="menuitemradio"]:not(:disabled)`))?.focus()}},[g,s]);let ee=t.find(t=>t.value===e)??t[0],O=v.trim().toLowerCase(),k=O?t.filter(e=>[e.label,e.shortLabel,e.description].some(e=>e?.toLowerCase().includes(O))):t;return(0,J.useEffect)(()=>{if(!g){y(``);return}function e(e){b.current?.contains(e.target)||T()}function t(e){if(e.key===`Escape`){let e=b.current?.contains(document.activeElement);T(),e&&x.current?.focus()}}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[g]),(0,Y.jsxs)(`div`,{className:`dropdown-select ${i??``} ${r?`compact`:``} ${s===`top`?`open-up`:``}`,onKeyDown:e=>{if(s===`right`){if(g&&(e.key===`Escape`||e.key===`ArrowLeft`))e.preventDefault(),e.stopPropagation(),T(),x.current?.focus();else if(!g&&e.key===`ArrowRight`)e.preventDefault(),_(!0);else if(g&&[`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=Array.from(b.current?.querySelectorAll(`[role="menuitemradio"]:not(:disabled)`)??[]),n=t.indexOf(document.activeElement);t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length]?.focus()}}},"data-tooltip":l,ref:b,onPointerEnter:m?e=>{n||e.pointerType===`touch`||(w(),g||(S.current=!0,_(!0)))}:void 0,onPointerLeave:m?()=>{S.current&&(w(),C.current=setTimeout(()=>{b.current?.contains(document.activeElement)||T()},180))}:void 0,children:[(0,Y.jsx)(`button`,{type:`button`,ref:x,className:`dropdown-trigger ${g?`active`:``}`,disabled:n,"aria-label":c,"aria-haspopup":`menu`,"aria-expanded":g,onClick:()=>{w(),S.current?(S.current=!1,_(!0)):g?T():_(!0)},children:o??(0,Y.jsxs)(Y.Fragment,{children:[a,(0,Y.jsx)(`span`,{title:ee?.label,children:ee?.shortLabel??ee?.label??e}),s===`right`?(0,Y.jsx)(nr,{size:14}):(0,Y.jsx)(tr,{size:14})]})}),g&&(0,Y.jsxs)(`div`,{className:`dropdown-menu`,role:`menu`,style:d||s===`right`?E:void 0,children:[u?(0,Y.jsxs)(`label`,{className:`dropdown-search`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`span`,{className:`sr-only`,children:[`Search `,c]}),(0,Y.jsx)(`input`,{autoFocus:!0,placeholder:`Search ${c.toLowerCase()}`,value:v,onChange:e=>y(e.target.value)})]}):null,k.map(t=>(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t.value===e,title:t.label,disabled:t.disabled,className:[t.value===e?`selected`:``,t.separatorBefore?`separator-before`:``,t.icon?`with-icon`:``].filter(Boolean).join(` `),onClick:()=>{t.disabled||(h(t.value),y(``),T())},children:[(0,Y.jsxs)(`span`,{children:[t.icon===`plus`?(0,Y.jsx)(cr,{size:13}):null,(0,Y.jsx)(`span`,{children:t.label})]}),t.description&&(0,Y.jsx)(`small`,{children:t.description})]},t.value)),k.length?null:(0,Y.jsx)(`div`,{className:`dropdown-empty`,children:`No matches`})]})]})}var Hf=[`get-started`,`home`,`inbox`,`models`,`datasets`,`graders`,`experiments`,`tasks`,`tasksets`,`labeling`,`rewards`,`evaluations`,`runs`,`versions`,`serving`],Uf={"get-started":`Get started`,home:`Home`,inbox:`Inbox`,models:`Models`,datasets:`Datasets`,graders:`Graders`,experiments:`Experiments`,tasks:`Tasks`,tasksets:`Tasksets`,labeling:`Labeling`,rewards:`Rewards`,evaluations:`Runs`,runs:`Training`,versions:`Versions`,serving:`Inference`},Wf={experiments:[`drafts`],tasks:[`drafts`],tasksets:[`drafts`,`formats`,`batches`],rewards:[`scorers`,`combined`],evaluations:[`results`,`review`,`comparisons`],runs:[`series`,`new`]},Gf={datasets:[`tasks`,`experiments`,`graders`,`versions`],graders:[`overview`,`checks`,`usage`,`versions`],experiments:[`tasks`,`graders`,`versions`,`diagnostics`,`overview`,`cases`,`compare`,`configuration`],tasksets:[`overview`,`tasks`,`reward`,`attempts`,`releases`],rewards:[`definition`,`usage`,`evidence`],evaluations:[`overview`,`comparison`,`activity`],runs:[`diagnostics`,`details`,`metrics`,`evaluation`,`rollouts`,`activity`,`artifacts`],versions:[`overview`,`metrics`,`evaluation`,`rollouts`,`activity`,`artifacts`]};function Kf(e=`models`,t=null,n={}){return e===`evaluations`&&n.collection===`review`?Kf(`labeling`,t,{...n,collection:`default`}):{page:e,modelId:[`get-started`,`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(e)?null:t,collection:e===`evaluations`?`results`:`default`,resourceId:null,detailTab:null,query:``,after:null,...n}}function qf(e){let t=e.pathname.split(`/`).filter(Boolean);if(t[0]!==`models`&&t[0]!==`console`)return null;let n;try{n=t.slice(1).map(decodeURIComponent)}catch{return null}if(n.some(e=>!e.trim()||e.length>2e3||e.includes(`\0`)))return null;let r=n[0]&&!Hf.includes(n[0])?n.shift():null;if(r&&(r.length>500||[`projects`,`scorers`].includes(r)))return null;n[0]===`runs`&&n[1]===`evaluations`&&n.splice(0,2,`evaluations`,`results`),n[0]===`runs`&&n[1]===`comparisons`&&n.splice(0,2,`evaluations`,`comparisons`);let i=n.shift(),a=i??`models`;if(!Hf.includes(a)||i===`models`||r&&a===`get-started`)return null;let o=a===`evaluations`?`results`:`default`;if(Wf[a]?.includes(n[0]))o=n.shift();else if(a===`evaluations`&&n.length)return null;if(a===`experiments`&&n[0]===`history`)return null;let s=n.shift()??null,c=n.shift()??null;if(n.length||c&&!s||(a===`models`||a===`get-started`||a===`home`)&&s)return null;if(o===`drafts`||o===`new`){if(!s||c)return null}else if(o!==`series`){if([`review`,`formats`,`batches`,`comparisons`,`scorers`,`combined`].includes(o)){if(c)return null}else if(c&&!Gf[a]?.includes(c))return null}if(a===`serving`&&c)return null;let l=new URLSearchParams(e.search??``);if([...l.keys()].some(e=>![`model`,`q`,`after`,`source`,`project`,`pass`,`dataset`,`revision`,`hash`,`sort`,`location`,`kind`,`review_source`,`review_snapshot`,`review_boundary`,`review_revision`].includes(e))||[...l.keys()].some(e=>l.getAll(e).length!==1))return null;let u=[`review_source`,`review_snapshot`,`review_boundary`,`review_revision`],d=u.some(e=>l.has(e));if(d&&(a!==`datasets`||s||l.get(`location`)===`local`||u.some(e=>!l.get(e))||[l.get(`review_source`),l.get(`review_boundary`)].some(e=>!e.trim()||e.length>500||e.includes(`\0`))||[l.get(`review_snapshot`),l.get(`review_revision`)].some(e=>!/^[a-f0-9]{64}$/.test(e))))return null;let f=d?{id:l.get(`review_source`),snapshotHash:l.get(`review_snapshot`),boundaryId:l.get(`review_boundary`),boundaryRevisionHash:l.get(`review_revision`)}:void 0,p=l.get(`sort`);if(p!==null&&(a!==`datasets`||![`id`,`name`,`updated`].includes(p)))return null;let m=l.has(`revision`)?Number(l.get(`revision`)):void 0,h=l.get(`hash`)??void 0,g=[`datasets`,`graders`].includes(a);if((m!==void 0||h!==void 0)&&(!s||!g||!Number.isSafeInteger(m)||m<=0||!/^[a-f0-9]{64}$/.test(h??``)))return null;let _=l.get(`source`);if(_!==null&&(a!==`labeling`&&(a!==`evaluations`||o!==`review`)||!_.trim()||_.length>500)||l.has(`dataset`)&&(a!==`datasets`||!s||l.get(`dataset`)!==`release`))return null;let v=[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(a),y=a===`runs`&&!!(s?.startsWith(`hosted-run:`)||s?.startsWith(`hosted-policy:`)),b=l.get(`location`);if(b!==null&&(!v||![`local`,`hosted`].includes(b)))return null;let x=l.get(`kind`);if(x!==null&&(a!==`experiments`||!s||b===`local`||x!==`recorded_evidence`)||t[0]===`console`&&!v&&a!==`runs`&&a!==`serving`)return null;let S=l.get(`project`)===`all`?null:l.get(`project`),C=l.get(`pass`);if([S,C].some(e=>e!==null&&(!e.trim()||e.length>240))||!v&&!y&&(S||C)||a!==`experiments`&&C||(v||y)&&r||C&&!s)return null;let w=l.get(`model`);if(v&&w!==null||r&&w&&r!==w)return null;let T=r??w;if(a===`get-started`&&l.size!==0)return null;let E=l.get(`q`)??``,D=l.get(`after`);return T!==null&&(!T.trim()||T.length>500)||E.length>1e3||D!==null&&(!D.trim()||D.length>2e3)?null:Kf(a,T,{...f?{reviewSource:f}:{},collection:o,resourceId:s,detailTab:c,query:E,after:D,...x?{executionKind:`recorded_evidence`}:{},...b?{executionLocation:b}:{},...p?{sort:p}:{},...m===void 0?{}:{revision:m,contentHash:h},...l.get(`dataset`)===`release`?{datasetKind:`release`}:{},...t[0]===`console`?{area:`console`}:{},...v||y?{...l.has(`project`)?{projectId:S}:{},...l.has(`pass`)?{passId:C}:{}}:{},..._===null?{}:{sourceId:_}})}function Jf(e){let t=[e.area===`console`?`/console`:`/models`];if(e.modelId&&t.push(encodeURIComponent(e.modelId)),e.page===`evaluations`&&e.collection===`review`)return Jf(Kf(`labeling`,e.modelId,{collection:`default`,resourceId:e.resourceId,sourceId:e.sourceId,query:e.query,after:e.after}));e.page===`evaluations`?t.push(`runs`,e.collection===`comparisons`?`comparisons`:`evaluations`):(e.page!==`models`&&t.push(e.page),e.collection!=="default"&&t.push(e.collection)),e.resourceId&&t.push(encodeURIComponent(e.resourceId)),e.resourceId&&e.detailTab&&t.push(encodeURIComponent(e.detailTab));let n=new URLSearchParams;return e.page===`datasets`&&!e.resourceId&&e.reviewSource&&(n.set(`review_source`,e.reviewSource.id),n.set(`review_snapshot`,e.reviewSource.snapshotHash),n.set(`review_boundary`,e.reviewSource.boundaryId),n.set(`review_revision`,e.reviewSource.boundaryRevisionHash)),e.executionLocation&&n.set(`location`,e.executionLocation),e.projectId?n.set(`project`,e.projectId):e.projectId===null&&[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(e.page)&&n.set(`project`,`all`),e.page===`datasets`&&e.resourceId&&e.datasetKind===`release`&&n.set(`dataset`,`release`),e.page===`datasets`&&e.sort&&n.set(`sort`,e.sort),e.revision!==void 0&&e.contentHash&&e.resourceId&&[`datasets`,`graders`].includes(e.page)&&(n.set(`revision`,String(e.revision)),n.set(`hash`,e.contentHash)),e.passId&&n.set(`pass`,e.passId),e.page===`experiments`&&e.resourceId&&e.executionKind&&n.set(`kind`,e.executionKind),e.query&&n.set(`q`,e.query),e.after&&n.set(`after`,e.after),(e.page===`labeling`||e.page===`evaluations`&&e.collection===`review`)&&e.sourceId&&n.set(`source`,e.sourceId),`${t.join(`/`)}${n.size?`?${n}`:``}`}function Yf(e,t){return Kf(e.page,t,{...e.area?{area:e.area}:{},...[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(e.page)&&e.projectId!==void 0?{projectId:e.projectId}:{},collection:e.collection===`new`||e.collection===`drafts`?`default`:e.collection})}function Xf(e,t,n=null){return{...e,resourceId:t,detailTab:n,after:null,...t===e.resourceId?{}:{revision:void 0,contentHash:void 0}}}function Zf(e){let t=qf(e);if(!t?.resourceId||t.detailTab!==`diagnostics`||![`experiments`,`runs`].includes(t.page))return``;let n=e.hash?.replace(/^#/,``)??``;if(!n||n.length>2e3)return``;let r=new URLSearchParams(n);if([...r.keys()].some(e=>![`diagnostic-task`,`diagnostic-attempt`,`event`].includes(e)||r.getAll(e).length!==1||!r.get(e)||r.get(e).length>500))return``;let i=r.get(`diagnostic-attempt`);return i&&!/^[1-9]\d{0,8}$/.test(i)?``:`#${r}`}var Qf=new Set,$f=new Set,ep=new Set([`appearance`,`account`,`notifications`,`harness`,`harness-refiner`,`harness-continuous-review`,`harness-contents`,`harness-releases`,`profile`,`skills`,`configuration`,`context`,`training`,`subagents`,`editor`,`providers`,`conversation-imports`,`dataset-storage`,`remote`,`usage`,`personalization`,`diagnostics`]),tp={apps:`/apps`,outputs:`/outputs`,projects:`/projects`,scheduled:`/workflows`,"get-started":`/get-started`,team:`/team`,community:`/community`},np=!1,rp=``,ip=null,ap=null,op=``,sp=0,cp=null,lp=!1,up=null,dp=!1;function fp(e){let t=qf(e);if(t)return{kind:`models`,route:t};let n=e.pathname.split(`/`).filter(Boolean);if(n[0]===`models`||n[0]===`console`)return{kind:`models_unavailable`,pathname:e.pathname,search:e.search??``};if(n[0]===`settings`&&n.length===2&&ep.has(n[1])){let t=hp(new URLSearchParams(e.search??``).get(`returnTo`));return{kind:`settings`,section:n[1],...t?{returnTo:t}:{}}}if(n[0]===`chat`&&n.length<=2)try{return{kind:`chat`,sessionId:n[1]&&n[1]!==`new`?decodeURIComponent(n[1]):null}}catch{return null}let r=Object.keys(tp).find(t=>tp[t]===e.pathname);return r?{kind:`view`,view:r}:null}function pp(e){if(e.kind===`models`)return Jf(e.route);if(e.kind===`models_unavailable`)return`${e.pathname}${e.search}`;if(e.kind===`settings`){let t=hp(e.returnTo??null);return`/settings/${e.section}${t?`?${new URLSearchParams({returnTo:t})}`:``}`}return e.kind===`chat`?e.sessionId?`/chat/${encodeURIComponent(e.sessionId)}`:`/chat/new`:tp[e.view]}function mp(e){let t=e?.kind===`settings`?hp(e.returnTo??null):null;if(t){let e=qf(new URL(t,`https://local.openpond.invalid`));if(e)return{kind:`models`,route:e}}return{kind:`chat`,sessionId:null}}function hp(e){if(!e||e.length>6e3||![`/models`,`/console`].some(t=>e.startsWith(t))||e.startsWith(`//`))return null;let t=new URL(e,`https://local.openpond.invalid`);if(t.origin!==`https://local.openpond.invalid`||t.hash)return null;let n=qf(t);return n?Jf(n):null}function gp(){return`${window.location.pathname}${window.location.search}${Zf(window.location)}`}function _p(){if(typeof window>`u`)return;let e=np?op:gp();e!==rp&&(rp=e,ip=fp(new URL(e,window.location.origin)),ap=ip?.kind===`models`?ip.route:null)}function vp(){rp=``,_p();for(let e of $f)e()}async function yp(e){if(dp)return!1;dp=!0;try{for(let t of[...Qf].reverse())if(!await t(e))return!1;return!0}finally{dp=!1}}function bp(e){return{...window.history.state,openpondNavigationIndex:e}}async function xp(){let e=gp(),t=typeof window.history.state?.openpondNavigationIndex==`number`?window.history.state.openpondNavigationIndex:sp-1;if(cp&&t===sp){let e=cp;cp=null,e();return}if(up===t||Qf.size===0){up=null,op=e,sp=t,window.history.replaceState(bp(sp),``,e),vp();return}if(t===sp)return;if(lp||dp){cp??=()=>void 0,window.history.go(sp-t);return}lp=!0;let n=t-sp;try{await new Promise(e=>{cp=e,window.history.go(-n)}),await yp(e)&&(up=t,window.history.go(n))}finally{lp=!1}}function Sp(){if(np||typeof window>`u`)return;let e=fp(window.location);op=e?`${pp(e)}${Zf(window.location)}`:gp(),sp=typeof window.history.state?.openpondNavigationIndex==`number`?window.history.state.openpondNavigationIndex:0,window.history.replaceState(bp(sp),``,op),window.addEventListener(`popstate`,xp),np=!0}function Cp(e){return $f.add(e),Sp(),()=>{$f.delete(e)}}function wp(e){return Qf.add(e),Sp(),()=>{Qf.delete(e)}}async function Tp(e){!lp&&await yp(gp())&&e()}function Ep(){return(0,J.useSyncExternalStore)(Cp,()=>(_p(),ap),()=>null)}function Dp(){return(0,J.useSyncExternalStore)(Cp,()=>(_p(),ip),()=>null)}async function Op(e,t=`push`,n=()=>!0){if(typeof window>`u`||!n()||(Sp(),lp))return!1;if(e.kind===`settings`&&!e.returnTo){let t=fp(window.location),n=t?.kind===`models`?Jf(t.route):t?.kind===`settings`?t.returnTo:void 0;n&&(e={...e,returnTo:n})}let r=pp(e);return gp()===r?!0:!await yp(r)||!n()?!1:(t===`push`&&sp++,window.history[t===`replace`?`replaceState`:`pushState`](bp(sp),``,r),op=r,vp(),!0)}function kp(e,t=`push`){return Op({kind:`models`,route:e},t)}function Ap({beginNewChat:e}){return(0,Y.jsx)(`button`,{className:`sidebar-icon`,type:`button`,"aria-label":`New thread`,"data-tooltip":`New thread`,"data-tooltip-placement":`bottom`,onClick:async()=>{await Op({kind:`chat`,sessionId:null})&&e(null)},children:(0,Y.jsx)(Df,{size:16})})}function jp({productArea:e=`chat`,setSectionMenuOpen:t,setSelectedAppId:n,setSelectedProjectId:r,setSelectedSessionId:i,setView:a,view:o,modelProjects:s=[],modelTrainingActivityByProjectId:c={}}){let l=Ep(),u=l?.modelId??null,d=l?.page??`models`;function f(){n(null),r(null),i(null),t(null)}async function p(t){await kp(Kf(t,[`home`,`inbox`,`datasets`,`graders`,`experiments`,`runs`].includes(t)?null:u,{...e===`console`?{area:`console`}:{},...[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(t)&&l?.projectId!==void 0?{projectId:l.projectId}:{}}))&&(f(),a(`labs`))}async function m(e){await kp(Yf(l??Kf(),e||null))&&(f(),a(`labs`))}async function h(e){await Op({kind:`view`,view:e})&&(f(),a(e))}let g=u?c[u]??null:null;return(0,Y.jsxs)(`nav`,{className:`sidebar-nav`,"aria-label":`Primary`,children:[e===`chat`?null:(0,Y.jsxs)(Y.Fragment,{children:[[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(d)?null:(0,Y.jsxs)(`div`,{className:`sidebar-model-project-picker`,children:[(0,Y.jsx)(`span`,{className:`sidebar-nav-group-label`,children:`Model`}),(0,Y.jsx)(Vf,{label:`Model`,searchable:s.length>8,value:u??``,options:[{value:``,label:`All models`},...u&&!s.some(e=>e.id===u)?[{value:u,label:`Unavailable model`,disabled:!0}]:[],...s.map(e=>({value:e.id,label:e.name}))],onChange:e=>void m(e)})]}),Hf.filter(t=>e===`console`?[`home`,`inbox`,`datasets`,`graders`,`experiments`,`runs`,`serving`].includes(t):t!==`home`&&t!==`tasksets`&&t!==`evaluations`).map(e=>{let t={"get-started":Zd,home:Rf,inbox:kf,models:Gd,datasets:Zd,graders:Ef,experiments:tf,tasks:Zd,tasksets:Zd,labeling:tf,rewards:Ef,evaluations:tf,runs:$d,versions:df,serving:rf}[e];return(0,Y.jsxs)(`button`,{className:`nav-command ${o===`labs`&&(d===e||e===`runs`&&d===`evaluations`)?`active`:``}`,"aria-current":o===`labs`&&(d===e||e===`runs`&&d===`evaluations`)?`page`:void 0,type:`button`,onClick:()=>void p(e),children:[(0,Y.jsx)(t,{size:16}),(0,Y.jsx)(`span`,{children:Uf[e]}),e===`runs`&&g?(0,Y.jsx)(`span`,{className:`sidebar-running-dot`,"aria-label":g.label}):null]},e)})]}),e===`chat`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`scheduled`?`active`:``}`,"aria-label":`Workflows`,type:`button`,onClick:()=>{h(`scheduled`)},children:[(0,Y.jsx)(Qd,{size:18}),(0,Y.jsx)(`span`,{children:`Workflows`})]}),(0,Y.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`outputs`?`active`:``}`,"aria-label":`Outputs`,type:`button`,onClick:()=>{h(`outputs`)},children:[(0,Y.jsx)(sf,{size:18}),(0,Y.jsx)(`span`,{children:`Outputs`})]}),(0,Y.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`apps`?`active`:``}`,"aria-label":`Apps`,type:`button`,onClick:()=>{h(`apps`)},children:[(0,Y.jsx)(Tf,{size:18}),(0,Y.jsx)(`span`,{children:`Apps`})]}),(0,Y.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`projects`?`active`:``}`,"aria-label":`Projects`,type:`button`,onClick:()=>{h(`projects`)},children:[(0,Y.jsx)(uf,{size:18}),(0,Y.jsx)(`span`,{children:`Projects`})]})]}):null]})}function Mp(e,t,n,r=!0){return w({queryKey:[`ponder-work`,Qn(e),n],enabled:!!(e&&t),staleTime:2e3,refetchInterval:r?3e3:!1,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:async()=>{let[t,n]=await Promise.all([q(e,`/v1/ponder/work`),q(e,`/v1/ponder/desktop`)]);return{...t,localHandoffs:Ro.array().parse(t.localHandoffs),ownerScope:n.ownerScope}}})}function Np(e,t){return Math.min(Math.max(e,15)+10,t)}function Pp(e,t){let n=Math.max(15,Math.min(e,t));if(n<=15)return 15;let r=Math.ceil((n-15)/10);return Math.max(15,15+(r-1)*10)}function Fp(e,t){if(!e)return t?.path??`Use files on this machine`;if(e.error)return`status unavailable`;if(!e.initialized)return`not checked out`;let n=[e.currentBranch??t?.branch??e.defaultBranch??`no branch`],r=Rp(e),i=t?.linkedCloudSourceKnown===!1&&!!e.headCommit;return r?n.push(r):i?n.push(`upload required`):e.diverged?(e.ahead>0&&n.push(Bp(`ahead`,e.ahead)),e.behind>0&&n.push(Bp(`behind`,e.behind)),n.push(`diverged`)):(e.ahead>0&&n.push(Bp(`ahead`,e.ahead)),e.behind>0&&n.push(Bp(`behind`,e.behind))),e.changedFilesCount>0?n.push(`${e.changedFilesCount} changed`):e.dirty&&n.push(`dirty`),e.untrackedFilesCount>0&&n.push(`${e.untrackedFilesCount} untracked`),n.length===1&&n.push(`synced`),n.join(` / `)}function Ip(e,t,n,r={}){let i=e?.linkedSandboxProject??null;if(!i?.projectId&&!t)return`upload required`;if(i?.projectId&&r.cloudLinkTrusted===!1)return`uploaded to a different account`;let a=i?.defaultBranch??t?.defaultBranch??`main`,o=i?.manifestHash??null,s=e?.sandboxTemplate?.manifestHash??null,c=i?.syncedAt??t?.syncedAt??null,l=!!(o&&s&&o!==s),u=!!(i?.projectId&&n?.headCommit&&!i.lastUploadedCommit),d=zp(n);return d?`${a} / ${d}`:u?`${a} / upload required`:`${a} / ${l||!c?`needs sync`:`setup ready`}`}function Lp(e,t,n={}){if(!e)return`select a local project`;if(e.linkedSandboxProject?.projectId&&n.cloudLinkTrusted===!1)return`sync to this account`;if(!t)return e.linkedSandboxProject?`sync source to cloud`:`push local source to cloud`;if(t.error)return`repo status unavailable`;if(!t.initialized)return`local repo unavailable`;let r=[],i=t.aheadOfLinkedSource>0?t.aheadOfLinkedSource:t.ahead;return e.linkedSandboxProject?.projectId||r.push(`upload required`),e.linkedSandboxProject?.projectId&&t.headCommit&&!e.linkedSandboxProject.lastUploadedCommit&&r.push(`upload required`),i>0&&r.push(Vp(i)),t.linkedSourceHeadCommit&&t.headCommit&&t.linkedSourceHeadCommit!==t.headCommit&&t.linkedSourceComparisonError&&i===0&&r.push(`source changed`),t.changedFilesCount>0&&r.push(`${t.changedFilesCount} changed file${t.changedFilesCount===1?``:`s`}`),t.untrackedFilesCount>0&&r.push(`${t.untrackedFilesCount} untracked skipped`),r.length>0?r.join(` / `):`nothing to upload`}function Rp(e){return e.linkedSourceHeadCommit?e.divergedFromLinkedSource?`diverged`:e.aheadOfLinkedSource>0?Bp(`local ahead`,e.aheadOfLinkedSource):e.behindLinkedSource>0?Bp(`cloud ahead`,e.behindLinkedSource):e.linkedSourceComparisonError&&e.headCommit&&e.linkedSourceHeadCommit!==e.headCommit?`sync unknown`:null:null}function zp(e){return e?.linkedSourceHeadCommit?e.dirty?`local dirty files not in cloud`:e.divergedFromLinkedSource?`diverged from local`:e.aheadOfLinkedSource>0?Bp(`cloud behind local`,e.aheadOfLinkedSource):e.behindLinkedSource>0?Bp(`cloud ahead local`,e.behindLinkedSource):e.linkedSourceComparisonError&&e.headCommit&&e.linkedSourceHeadCommit!==e.headCommit?`source check unavailable`:`synced`:null}function Bp(e,t){return`${e} by ${Vp(t)}`}function Vp(e){return`${e} commit${e===1?``:`s`}`}function Hp({size:e=14,className:t}){return(0,Y.jsxs)(`svg`,{className:[`lucide lucide-cloud-upload`,t??``].filter(Boolean).join(` `),xmlns:`http://www.w3.org/2000/svg`,width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M12 13v8`}),(0,Y.jsx)(`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}),(0,Y.jsx)(`path`,{d:`m8 17 4-4 4 4`})]})}function Up({kind:e,linkedCloud:t=!1,open:n=!1,className:r,baseSize:i=15}){let a=e===`cloud`?`cloud`:n?`folder-open`:`folder`;return(0,Y.jsx)(`span`,{className:[`project-kind-icon`,e,t?`linked-cloud`:``,r??``].filter(Boolean).join(` `),"aria-hidden":`true`,children:(0,Y.jsxs)(`svg`,{className:`lucide lucide-${a} project-kind-icon-svg`,xmlns:`http://www.w3.org/2000/svg`,width:i,height:i,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[e===`cloud`?(0,Y.jsx)(Kp,{}):n?(0,Y.jsx)(Gp,{}):(0,Y.jsx)(Wp,{}),t&&e===`local`?(0,Y.jsx)(qp,{}):null]})})}function Wp(){return(0,Y.jsx)(`path`,{className:`project-kind-icon-base`,d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`})}function Gp(){return(0,Y.jsx)(`path`,{className:`project-kind-icon-base`,d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`})}function Kp(){return(0,Y.jsx)(`path`,{className:`project-kind-icon-base`,d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`})}function qp(){return(0,Y.jsxs)(`g`,{className:`project-kind-icon-cloud-badge`,children:[(0,Y.jsx)(`circle`,{cx:`18`,cy:`17`,r:`5`}),(0,Y.jsx)(`path`,{d:`M20.4 18.6h-4.2a2.2 2.2 0 1 1 2.08-2.9h.88a1.45 1.45 0 1 1 1.24 2.9Z`})]})}function Jp({title:e,pinned:t,savedForLater:n,archived:r,onRename:i,onTogglePin:a,onToggleSaveForLater:o,onDockRight:s,onArchive:c}){let l=(0,J.useRef)(null),u=(0,J.useRef)(null),[d,f]=(0,J.useState)(null),p=[...i?[{label:`Rename`,Icon:Df,action:i}]:[],{label:t?`Unpin`:`Pin`,Icon:t?bf:yf,action:a},...o?[{label:n?`Return to active`:`Save for later`,Icon:n?Yd:Jd,action:o}]:[],...s?[{label:`Open in right panel`,Icon:vf,action:s}]:[],{label:r?`Reopen`:`Mark done`,Icon:r?Kd:ef,action:c}];function m(e=!1){f(null),e&&l.current?.focus()}return(0,J.useEffect)(()=>{if(!d)return;u.current?.querySelector(`button`)?.focus();let e=e=>{!u.current?.contains(e.target)&&!l.current?.contains(e.target)&&f(null)},t=()=>f(null);return document.addEventListener(`pointerdown`,e),window.addEventListener(`resize`,t),()=>{document.removeEventListener(`pointerdown`,e),window.removeEventListener(`resize`,t)}},[d]),(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`sidebar-row-actions sidebar-task-menu-trigger${d?` is-open`:``}`,children:(0,Y.jsx)(`button`,{ref:l,type:`button`,className:`sidebar-row-action`,"aria-label":`More actions for task ${e}`,"aria-haspopup":`menu`,"aria-expanded":!!d,draggable:!1,onDoubleClick:e=>e.stopPropagation(),onClick:e=>{if(e.stopPropagation(),d){m(!0);return}let t=e.currentTarget.getBoundingClientRect();f({left:Math.max(8,Math.min(t.right-192,window.innerWidth-200)),top:Math.max(8,Math.min(t.bottom+4,window.innerHeight-(p.length*32+17)))})},children:(0,Y.jsx)(gf,{size:16})})}),d&&(0,za.createPortal)((0,Y.jsx)(`div`,{ref:u,role:`menu`,"aria-label":`Actions for ${e}`,className:`sidebar-task-menu`,style:d,onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||m()},onKeyDown:e=>{e.stopPropagation();let t=Array.from(e.currentTarget.querySelectorAll(`button`)),n=t.indexOf(document.activeElement);e.key===`Escape`&&(e.preventDefault(),m(!0)),[`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&(e.preventDefault(),t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length]?.focus())},children:p.map(({label:e,Icon:t,action:n},r)=>(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,className:r===p.length-1?`task-menu-done`:void 0,onClick:()=>{m(!0),n()},children:[(0,Y.jsx)(t,{size:15}),e]},e))}),document.body)]})}function Yp({session:e,onSave:t,onClose:n}){let[r,i]=(0,J.useState)(e.title),a=(0,J.useRef)(null);(0,J.useEffect)(()=>{let e=a.current;e&&(e.focus(),e.select())},[]),(0,J.useEffect)(()=>{function e(e){e.key===`Escape`&&n()}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n]);function o(){let e=r.trim();e&&(t(e),n())}function s(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),o())}return(0,Y.jsx)(`div`,{className:`git-dialog-backdrop rename-chat-backdrop`,role:`presentation`,onMouseDown:n,children:(0,Y.jsxs)(`section`,{className:`git-dialog rename-chat-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`rename-chat-title`,onMouseDown:e=>e.stopPropagation(),children:[(0,Y.jsx)(`h2`,{id:`rename-chat-title`,children:`Rename chat`}),(0,Y.jsx)(`textarea`,{ref:a,className:`rename-chat-input`,value:r,rows:1,maxLength:200,onChange:e=>i(e.target.value),onKeyDown:s,"aria-label":`Chat title`}),(0,Y.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:n,children:`Cancel`}),(0,Y.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,autoFocus:!0,onClick:o,disabled:!r.trim(),children:`Save`})]})]})})}var Xp=`taskDraft`;function Zp(e){if(e?.experience!==`work`)return null;let t=e.metadata?.[Xp];if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t.prompt;return typeof n==`string`&&n.trim()?n:null}function Qp(e){return Zp(e)!==null}function $p(e){return(e.split(/\r?\n/u).map(e=>e.trim()).find(Boolean)||`Task draft`).slice(0,64)}function em(e,t,n=new Date().toISOString()){let r={version:1,prompt:t,savedAt:n};return{...e??{},[Xp]:r}}function tm(e){let t={...e??{}};return delete t[Xp],t}var nm=24;function rm({title:e}){let t=(0,J.useRef)(e),[n,r]=(0,J.useState)(e);return(0,J.useEffect)(()=>{let n=t.current;if(t.current=e,!e){r(``);return}if(n||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){r(e);return}let i=Array.from(e),a=0;r(``);let o=window.setInterval(()=>{a+=1,r(i.slice(0,a).join(``)),a>=i.length&&window.clearInterval(o)},nm);return()=>window.clearInterval(o)},[e]),(0,Y.jsx)(`span`,{className:`sidebar-task-title-text`,"aria-label":e||`New task`,children:n||`New task`})}var im={codex:`Codex`,"claude-code":`Claude Code`,opencode:`OpenCode`,"grok-build":`Grok Build`};function am({session:e}){let t=im[e.provider],n=t??(se(e.provider)?typeof e.metadata?.acpAgentName==`string`?e.metadata.acpAgentName:`ACP agent`:e.provider===`openpond`?`OpenPond Chat`:e.provider);return(0,Y.jsx)(`span`,{className:`conversation-source-icon`,role:`img`,"aria-label":n,title:n,children:t?(0,Y.jsx)(`img`,{src:`/agent-sources/${e.provider}.svg`,alt:``}):e.provider===`openpond`?(0,Y.jsx)(`img`,{src:c,alt:``}):se(e.provider)?(0,Y.jsx)(er,{size:15,"aria-hidden":`true`}):e.metadata?.nativeSource?(0,Y.jsx)(jf,{size:15,"aria-hidden":`true`}):e.provider===`openai`?(0,Y.jsx)(er,{size:15,"aria-hidden":`true`}):(0,Y.jsx)(sr,{size:15,"aria-hidden":`true`})})}var om=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),sm=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_relativeTime=r()})(e,(function(){return function(e,t,n){e||={};var r=t.prototype,i={future:`in %s`,past:`%s ago`,s:`a few seconds`,m:`a minute`,mm:`%d minutes`,h:`an hour`,hh:`%d hours`,d:`a day`,dd:`%d days`,M:`a month`,MM:`%d months`,y:`a year`,yy:`%d years`};function a(e,t,n,i){return r.fromToBase(e,t,n,i)}n.en.relativeTime=i,r.fromToBase=function(t,r,a,o,s){for(var c,l,u,d=a.$locale().relativeTime||i,f=e.thresholds||[{l:`s`,r:44,d:`second`},{l:`m`,r:89},{l:`mm`,r:44,d:`minute`},{l:`h`,r:89},{l:`hh`,r:21,d:`hour`},{l:`d`,r:35},{l:`dd`,r:25,d:`day`},{l:`M`,r:45},{l:`MM`,r:10,d:`month`},{l:`y`,r:17},{l:`yy`,d:`year`}],p=f.length,m=0;m<p;m+=1){var h=f[m];h.d&&(c=o?n(t).diff(a,h.d,!0):a.diff(t,h.d,!0));var g=(e.rounding||Math.round)(Math.abs(c));if(u=c>0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))})),cm=e(om(),1),lm=e(sm(),1);cm.default.extend(lm.default);var um=Date.now(),dm,fm=new Set,pm=()=>um;function mm(e){return fm.add(e),dm||=(um=Date.now(),setInterval(()=>{um=Date.now();for(let e of fm)e()},3e4)),()=>{fm.delete(e),fm.size===0&&(clearInterval(dm),dm=void 0)}}function hm({value:e,className:t}){let n=(0,J.useSyncExternalStore)(mm,pm,pm),r=e==null?null:(0,cm.default)(e);return r?.isValid()?(0,Y.jsx)(`time`,{className:t,dateTime:r.toISOString(),title:`Last activity ${r.format(`MMM D, YYYY h:mm A`)}`,children:r.from(n)}):null}var gm=2650,_m=304,vm=260;function ym(){return{animationDelay:`${-(Date.now()%gm)}ms`}}function bm(e){let t=e.currentTarget,n=t.firstElementChild;if(!(n instanceof HTMLElement))return;let r=Math.max(0,n.scrollWidth-t.clientWidth),i=r>2;t.dataset.overflowing=String(i),t.style.setProperty(`--sidebar-title-ticker-distance`,`${-r}px`),t.style.setProperty(`--sidebar-title-ticker-duration`,`${Math.min(6.5,Math.max(2.8,r/42+2.4))}s`)}function xm({label:e,actions:t,actionsVisible:n=!1,className:r,titleAccessory:i,children:a,collapsed:o=!1,titleActive:s=!1,onTitleClick:c,onToggleCollapsed:l}){return(0,Y.jsxs)(`section`,{className:[`sidebar-section`,r,n?`actions-visible`:``].filter(Boolean).join(` `),children:[(0,Y.jsxs)(`div`,{className:`section-header`,children:[(0,Y.jsxs)(`div`,{className:`section-title-row`,children:[c?(0,Y.jsxs)(`div`,{className:`section-title-combo`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`section-title-link${s?` active`:``}`,onClick:c,children:(0,Y.jsx)(`span`,{children:e})}),l&&(0,Y.jsx)(`button`,{type:`button`,className:`section-chevron-button`,"aria-label":`${o?`Expand`:`Collapse`} ${e}`,"aria-expanded":!o,onClick:l,children:o?(0,Y.jsx)(nr,{size:13}):(0,Y.jsx)(tr,{size:13})})]}):l?(0,Y.jsxs)(`button`,{type:`button`,className:`section-title-button`,"aria-label":`${o?`Expand`:`Collapse`} ${e}`,"aria-expanded":!o,onClick:l,children:[(0,Y.jsx)(`span`,{children:e}),o?(0,Y.jsx)(nr,{size:13}):(0,Y.jsx)(tr,{size:13})]}):(0,Y.jsx)(`span`,{children:e}),i]}),t&&(0,Y.jsx)(`div`,{className:`section-actions`,children:t})]}),!o&&(0,Y.jsx)(`div`,{className:`sidebar-section-body`,children:a})]})}function Sm({children:e,expanded:t=!1,onClick:n}){return(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-show-more`,onClick:n,children:e??(t?`Show less`:`Show more`)})}function Cm({session:e,selected:t,icon:n,archived:r=!1,nested:i=!1,dragging:a,placeholder:o,running:s,goalRuntime:c,subagentRuntime:l,terminalIndicator:u,projectLabel:d,inbox:f=!1,activityAt:p,ariaDescribedBy:m,childSessionCount:h=0,childSessionsExpanded:g=!1,onSelect:_,onToggleChildSessions:v,onTogglePin:y,onToggleSaveForLater:b,onDockRight:x,onArchive:S,onDragStart:C,onDragEnd:w,onDragOver:T,onDrop:E,onRename:D}){let[ee,O]=(0,J.useState)(!1),k=c?.status===`queued`,A=c?.tone===`active`&&!k,j=(l?.activeCount??0)>0,te=h>0&&!!v,M=j||A||!k&&(s??e.status===`active`),N=j&&l?l.label:A&&c?Tm(c):`Running`,ne=[`sidebar-task-row`,Qp(e)?`is-draft`:``,M?`has-running-dot`:``,f?`sidebar-inbox-row`:``].filter(Boolean).join(` `),P=(0,J.useMemo)(ym,[]),re=(0,Y.jsx)(Jp,{title:e.title,pinned:!!e.pinned,savedForLater:!!e.savedForLater,archived:r,onRename:D?()=>O(!0):void 0,onTogglePin:y,onToggleSaveForLater:b,onDockRight:x,onArchive:S}),F=(0,Y.jsxs)(Hm,{selected:t,dataSessionId:e.id,dragging:a,nested:i,placeholder:o,className:ne||void 0,ariaExpanded:te?g:void 0,ariaDescribedBy:m,onSelect:_,onDragStart:C,onDragEnd:w,onDragOver:T,onDrop:E,onDoubleClick:D?()=>O(!0):void 0,children:[(0,Y.jsx)(`span`,{className:`sidebar-source-slot`,children:n??(0,Y.jsx)(am,{session:e})}),(0,Y.jsxs)(`span`,{className:`sidebar-title-slot`,children:[te?(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-child-toggle`,"data-tooltip":g?`Hide subagent conversations`:`Show subagent conversations`,"aria-label":`${g?`Hide`:`Show`} ${h} subagent ${h===1?`conversation`:`conversations`}`,"aria-expanded":g,onClick:e=>{e.stopPropagation(),v?.()},children:g?(0,Y.jsx)(tr,{size:13}):(0,Y.jsx)(nr,{size:13})}):null,(0,Y.jsxs)(`span`,{className:`row-label-shell`,title:e.title,children:[(0,Y.jsx)(`span`,{className:`sidebar-session-title-line`,children:(0,Y.jsx)(`span`,{className:`row-label sidebar-task-title`,"data-overflowing":`false`,onPointerEnter:bm,children:(0,Y.jsx)(rm,{title:e.title})})}),f?(0,Y.jsxs)(`span`,{className:`sidebar-inbox-project`,children:[d?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`sidebar-inbox-project-name`,children:d}),(0,Y.jsx)(`span`,{"aria-hidden":`true`,children:`|`})]}):null,(0,Y.jsx)(hm,{value:p??e.createdAt})]}):null]})]}),(0,Y.jsxs)(`div`,{className:`row-meta`,children:[(0,Y.jsxs)(`span`,{className:`row-meta-status`,children:[u?(0,Y.jsx)(Dm,{indicator:u}):null,M?(0,Y.jsx)(`span`,{className:`sidebar-running-dot${j?` subagent`:A?` goal`:``}`,style:P,"aria-label":N}):null]}),re,e.pinned?(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-thread-pin`,"aria-label":`Unpin thread: ${e.title}`,title:`Unpin thread`,onClick:e=>{e.stopPropagation(),y()},children:(0,Y.jsx)(yf,{size:16,"aria-hidden":`true`})}):null,f?(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-inbox-done`,"aria-label":`${r?`Reopen`:`Mark done`}: ${e.title}`,title:r?`Reopen`:`Mark done (does not stop running work)`,onClick:e=>{e.stopPropagation(),S()},children:r?(0,Y.jsx)(Sf,{size:19}):(0,Y.jsx)(ef,{size:21})}):null]})]});return(0,Y.jsxs)(Y.Fragment,{children:[F,ee&&D?(0,Y.jsx)(Yp,{session:e,onSave:t=>D(e,t),onClose:()=>O(!1)}):null]})}function wm({file:e,selected:t=!1,placeholder:n,onSelect:r,onTogglePin:i,onToggleSaveForLater:a,onDragStart:o,onDragEnd:s,onDragOver:c,onDrop:l}){let u=e.path.split(`/`).at(-1)??e.path,d=`${e.workspaceName} · ${e.path}`;return(0,Y.jsxs)(Hm,{selected:t,placeholder:n,className:`sidebar-file-row actions-2${e.available?``:` unavailable`}`,onSelect:r,onDragStart:o,onDragEnd:s,onDragOver:c,onDrop:l,children:[e.available?(0,Y.jsx)(cf,{size:15}):(0,Y.jsx)(nf,{size:15}),(0,Y.jsx)(`span`,{className:`row-label-shell`,title:d,children:(0,Y.jsx)(`span`,{className:`row-label`,children:u})}),(0,Y.jsx)(`div`,{className:`row-meta`,children:(0,Y.jsxs)(`div`,{className:`sidebar-row-actions`,children:[(0,Y.jsx)(Um,{label:e.status===`pinned`?`Unpin file`:`Pin file`,onClick:i,children:e.status===`pinned`?(0,Y.jsx)(bf,{size:13}):(0,Y.jsx)(yf,{size:13})}),(0,Y.jsx)(Um,{label:e.status===`saved_for_later`?`Remove from Save for later`:`Save file for later`,onClick:a,children:e.status===`saved_for_later`?(0,Y.jsx)(Yd,{size:13}):(0,Y.jsx)(Jd,{size:13})})]})})]})}function Tm(e){return e.actionLabel}function Em({kind:e=`local`,project:t,pinned:n=!1,selected:r,expanded:i=!1,disclosure:a=!0,workspaceState:o,cloudLinkTrusted:s=!0,cloudLinkWarning:c=null,placeholder:l,terminalIndicator:u,onSelect:d,onNewChat:f,onMoveToCloud:p,onWorkspaceTargetSelect:m,onTogglePin:h,onRemove:g,onDragStart:_,onDragEnd:v,onDragOver:y,onDrop:b}){let[x,S]=(0,J.useState)(!1),C=(0,J.useRef)(null),[w,T]=(0,J.useState)({}),E=!!p||!!g,D=e===`local`&&s!==!1&&!!t.linkedSandboxProject?.projectId,ee=(0,J.useCallback)(()=>{if(typeof window>`u`)return;let e=C.current?.getBoundingClientRect();if(!e)return;let t=Math.max(12,window.innerWidth-_m-12),n=Math.max(12,window.innerHeight-vm),r=Math.max(12,Math.min(e.right+10,t)),i=Math.max(12,Math.min(e.top-4,n)),a={"--sidebar-project-locations-left":`${Math.round(r)}px`,"--sidebar-project-locations-top":`${Math.round(i)}px`};T(e=>e[`--sidebar-project-locations-left`]===a[`--sidebar-project-locations-left`]&&e[`--sidebar-project-locations-top`]===a[`--sidebar-project-locations-top`]?e:a)},[]),O=(0,J.useCallback)(()=>{ee(),d()},[d,ee]);function k(){S(!1)}return(0,Y.jsxs)(`div`,{ref:C,className:[`sidebar-project-row-shell`,x?`project-menu-open`:``].filter(Boolean).join(` `),onFocusCapture:ee,onPointerEnter:ee,children:[(0,Y.jsxs)(Hm,{selected:r,placeholder:l,className:[`sidebar-project-row`,x?`project-menu-open`:``].filter(Boolean).join(` `),ariaExpanded:a?i:void 0,onSelect:O,onDragStart:_,onDragEnd:v,onDragOver:y,onDrop:b,children:[(0,Y.jsx)(Up,{kind:e,linkedCloud:D,open:e===`local`&&i,className:`sidebar-row-icon`,baseSize:15}),(0,Y.jsx)(`span`,{className:`row-label-shell`,children:(0,Y.jsxs)(`span`,{className:`sidebar-project-title-line`,children:[(0,Y.jsx)(`span`,{className:`row-label`,children:t.name}),(0,Y.jsxs)(`span`,{className:`sidebar-row-updated-at`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,children:`| `}),(0,Y.jsx)(hm,{value:t.updatedAt})]}),a?(0,Y.jsx)(`span`,{className:`sidebar-project-caret`,"aria-hidden":`true`,children:i?(0,Y.jsx)(tr,{size:13}):(0,Y.jsx)(nr,{size:13})}):null]})}),(0,Y.jsxs)(`div`,{className:`row-meta`,children:[(0,Y.jsx)(`span`,{className:`row-meta-status`,children:u?(0,Y.jsx)(Dm,{indicator:u}):null}),(0,Y.jsxs)(`div`,{className:`sidebar-row-actions`,children:[(0,Y.jsx)(Um,{label:n?`Unpin project`:`Pin project`,onClick:h,children:n?(0,Y.jsx)(bf,{size:13}):(0,Y.jsx)(yf,{size:13})}),E&&(0,Y.jsx)(Bm,{open:x,onToggleOpen:()=>S(e=>!e)}),(0,Y.jsx)(Um,{label:`New thread`,onClick:f,children:(0,Y.jsx)(Df,{size:13})})]})]})]}),(0,Y.jsx)(Om,{kind:e,project:t,workspaceState:o,cloudLinkTrusted:s,cloudLinkWarning:c,onWorkspaceTargetSelect:m,style:w}),x&&(0,Y.jsx)(Vm,{onClose:k,onMoveToCloud:p?()=>{k(),p()}:void 0,onRemove:()=>{k(),g()}})]})}function Dm({indicator:e}){return(0,Y.jsx)(`span`,{className:`sidebar-terminal-indicator ${e.status}`,"data-tooltip":e.label,"aria-label":e.label,title:e.label,children:(0,Y.jsx)(ur,{size:13})})}function Om({kind:e,project:t,workspaceState:n,cloudLinkTrusted:r,cloudLinkWarning:i,onWorkspaceTargetSelect:a,style:o}){let s=jm(e,t,n,r,i);return(0,Y.jsxs)(`aside`,{className:`sidebar-project-locations-popover`,"aria-label":`${t.name} status`,style:o,children:[(0,Y.jsx)(`div`,{className:`sidebar-project-locations-title`,children:t.name}),(0,Y.jsx)(`div`,{className:`sidebar-project-location-list`,children:s.map(e=>{let t=[`sidebar-project-location-row`,e.tone??``,e.actionTarget?`clickable`:``].filter(Boolean).join(` `),n=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:[`sidebar-project-location-icon`,e.key].filter(Boolean).join(` `),"aria-hidden":`true`,children:e.icon}),(0,Y.jsx)(`span`,{className:`sidebar-project-location-copy`,children:(0,Y.jsx)(km,{value:e.value})})]});return e.actionTarget?(0,Y.jsx)(`button`,{type:`button`,className:t,"data-workspace-target":e.actionTarget,disabled:e.disabled||!a,title:e.disabledReason??void 0,onClick:t=>{t.stopPropagation(),!e.disabled&&a?.(e.actionTarget)},children:n},e.key):(0,Y.jsx)(`div`,{className:t,children:n},e.key)})})]})}function km({value:e}){let t=Am(e);return(0,Y.jsxs)(`span`,{className:`sidebar-project-location-value`,"aria-label":e,children:[t.branch?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`sidebar-project-location-branch`,children:t.branch}),(0,Y.jsx)(`span`,{className:`sidebar-project-location-separator`,"aria-hidden":`true`,children:`/`})]}):null,(0,Y.jsx)(`span`,{className:`sidebar-project-location-status`,children:t.status})]})}function Am(e){let t=e.indexOf(` / `);return t===-1?{branch:null,status:e}:{branch:e.slice(0,t),status:e.slice(t+3)}}function jm(e,t,n,r=!0,i=null){return e===`cloud`?Nm(t):Mm(t,n,r,i)}function Mm(e,t,n=!0,r=null){let i=Pm(e,t,n),a=Fm(t),o=Lm(e,n),s=n===!1&&r;return[{key:`local`,value:i,tone:a?`attention`:`local`,icon:e.source===`git`?(0,Y.jsx)(uf,{size:13}):(0,Y.jsx)(lf,{size:13}),actionTarget:`local`},{key:`cloud`,value:s||(o?Rm(e,t,n):`not in cloud`),tone:s?`attention`:`cloud`,icon:(0,Y.jsx)(rf,{size:13}),actionTarget:o?`cloud`:`upload_cloud`}]}function Nm(e){return[{key:`cloud`,value:zm(e),tone:e.syncedAt?`cloud`:`attention`,icon:(0,Y.jsx)(rf,{size:13}),actionTarget:`cloud`}]}function Pm(e,t,n){let r=Im(e,t);return t?t.error?`${r} / status unavailable`:t.initialized?Fp(t,{branch:e.linkedSandboxProject?.defaultBranch??null,linkedCloudSourceKnown:e.linkedSandboxProject?.projectId&&n?!!e.linkedSandboxProject.lastUploadedCommit||!t.headCommit:!0}):`${r} / not checked out`:`${r} / available`}function Fm(e){return!!(e?.dirty||(e?.changedFilesCount??0)>0||(e?.untrackedFilesCount??0)>0)}function Im(e,t){return t?.currentBranch??t?.defaultBranch??e.linkedSandboxProject?.defaultBranch??`local`}function Lm(e,t=!0){return!!(t&&e.linkedSandboxProject?.projectId||e.linkedOpenPondApp?.appId)}function Rm(e,t,n){return Ip(e,null,t,{cloudLinkTrusted:n})}function zm(e){return`${e.defaultBranch??`main`} / ${e.syncedAt?`setup ready`:`needs setup`}`}function Bm({open:e,onToggleOpen:t}){return(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-row-action ${e?`active`:``}`,"data-tooltip":`More project actions`,"aria-label":`More project actions`,"aria-haspopup":`menu`,"aria-expanded":e,onClick:e=>{e.stopPropagation(),t()},children:(0,Y.jsx)(gf,{size:13})})}function Vm({onClose:e,onMoveToCloud:t,onRemove:n}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-project-menu-backdrop`,"aria-label":`Close project actions`,onClick:t=>{t.stopPropagation(),e()}}),(0,Y.jsxs)(`div`,{className:`section-menu-popover sidebar-project-row-popover`,role:`menu`,children:[t&&(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),t()},children:[(0,Y.jsx)(Hp,{size:13}),(0,Y.jsx)(`span`,{children:`Move to Cloud`})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),n()},children:[(0,Y.jsx)(dr,{size:13}),(0,Y.jsx)(`span`,{children:`Remove from Projects`})]})]})]})}function Hm({children:e,className:t,dataSessionId:n,dragging:r,iconless:i=!1,nested:a=!1,placeholder:o=!1,selected:s,ariaExpanded:c,ariaDescribedBy:l,onSelect:u,onDragStart:d,onDragEnd:f,onDragOver:p,onDrop:m,onDoubleClick:h}){let g=!!d;return(0,Y.jsx)(`div`,{className:[`sidebar-row`,t??``,s?`selected`:``,r?`dragging`:``,i?`iconless`:``,a?`nested`:``,o?`placeholder`:``].filter(Boolean).join(` `),draggable:g,"data-session-id":n,role:`button`,tabIndex:0,"aria-expanded":c,"aria-describedby":l,onClick:u,onDoubleClick:h,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},onDragStart:d,onDragEnd:f,onDragEnter:e=>{p&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,p(e))},onDragOver:e=>{p&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,p(e))},onDrop:e=>{m&&(e.preventDefault(),m(e))},children:e})}function Um({children:e,label:t,onClick:n}){return(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-row-action`,"data-tooltip":t,"aria-label":t,onClick:e=>{e.stopPropagation(),n()},children:e})}function Wm({rows:e,count:t,setCount:n,selectedSessionId:r,emptyLabel:i,renderSession:a,renderWorkflow:o}){let s=(0,J.useMemo)(()=>e.filter((e,n)=>n<Math.max(15,t)||(e.kind===`session`?e.session.id===r:e.workflow.members.some(e=>e.id===r))),[e,t,r]),c=(0,J.useMemo)(()=>_d(s,e=>e),[s]);return(0,Y.jsxs)(`section`,{className:`sidebar-thread-inbox`,"aria-label":`Thread inbox`,children:[c.map(e=>(0,Y.jsxs)(`div`,{children:[e.label?(0,Y.jsx)(`h3`,{className:`sidebar-inbox-date`,children:e.label}):null,e.entries.map(e=>(0,Y.jsx)(`div`,{children:e.kind===`workflow`?o(e.workflow):a(e.session)},e.id))]},e.key)),e.length===0&&i?(0,Y.jsx)(`div`,{className:`empty-row`,children:i}):null,e.length>15?(0,Y.jsxs)(`div`,{className:`sidebar-pagination-controls`,"aria-label":`Showing ${s.length} of ${e.length} threads`,children:[t<e.length?(0,Y.jsx)(Sm,{onClick:()=>n(Np(t,e.length)),children:`Show more`}):null,t>15?(0,Y.jsx)(Sm,{onClick:()=>n(Pp(t,e.length)),children:`Show less`}):null]}):null]})}function Gm({members:e,currentUserId:t,teamName:n,onOpenDm:r}){if(!e.length)return null;let i=[...e].sort((e,n)=>Number(e.userId===t)-Number(n.userId===t)||e.name.localeCompare(n.name)||e.userId.localeCompare(n.userId)),a=Math.max(0,e.length-3);return(0,Y.jsx)(Vf,{className:`sidebar-team-avatars`,compact:!0,floating:!0,floatingMenuWidth:240,floatingMenuMaxHeight:228,openOnHover:!0,label:`${n} team members`,value:``,triggerContent:(0,Y.jsxs)(`span`,{className:`sidebar-team-avatar-stack`,"aria-hidden":`true`,children:[i.slice(0,3).map(e=>(0,Y.jsx)(Km,{member:e},e.userId)),a>0?(0,Y.jsxs)(`span`,{className:`sidebar-team-avatar-more`,children:[`+`,a]}):null]}),options:i.map(e=>({value:e.userId,label:e.userId===t?`${e.name} (you)`:e.name,description:e.userId===t?`You`:e.handle?`@${e.handle.replace(/^@/,``)} · Message`:`Message`,disabled:e.userId===t})),onChange:n=>{n!==t&&e.some(e=>e.userId===n)&&r(n)}})}function Km({member:e}){let[t,n]=(0,J.useState)(null),r=(e.name.trim()||e.handle||`?`).split(/\s+/).slice(0,2).map(e=>Array.from(e)[0]?.toUpperCase()??``).join(``);return(0,Y.jsx)(`span`,{className:`sidebar-team-avatar`,children:e.image&&e.image!==t?(0,Y.jsx)(`img`,{src:e.image,alt:``,onError:()=>n(e.image)}):r})}function qm({children:e,expanded:t,groupKey:n,kind:r,label:i,onToggle:a,onNewTask:o,onOpenProject:s,onRemoveProject:c,project:l,actions:u}){let d=`sidebar-task-group-${n.replace(/[^a-zA-Z0-9_-]/g,`-`)}`,f=r===`draft`?cf:sr,[p,m]=(0,J.useState)(!1),h=!!(o||s||c);return(0,Y.jsxs)(`section`,{className:`sidebar-task-project-group`,children:[(0,Y.jsxs)(`div`,{className:`sidebar-task-project-group-header-shell${p?` menu-open`:``}`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-task-project-group-header`,"aria-controls":d,"aria-expanded":t,onClick:()=>{m(!1),a()},children:[l?(0,Y.jsx)(Up,{kind:l.kind,linkedCloud:!!(l.kind===`local`&&l.project.linkedSandboxProject?.projectId),open:l.kind===`local`&&t,className:`sidebar-task-project-group-icon`,baseSize:14}):(0,Y.jsx)(f,{className:`sidebar-task-project-group-icon`,size:14,"aria-hidden":`true`}),(0,Y.jsx)(`span`,{className:`sidebar-task-project-group-name`,children:i}),(0,Y.jsx)(`span`,{className:`sidebar-task-project-group-caret`,"aria-hidden":`true`,children:t?(0,Y.jsx)(tr,{size:13}):(0,Y.jsx)(nr,{size:13})})]}),u?(0,Y.jsx)(`div`,{className:`sidebar-task-project-group-actions`,children:u}):null,!u&&l&&h?(0,Y.jsxs)(`div`,{className:`sidebar-task-project-group-actions`,children:[s||c?(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-row-action${p?` active`:``}`,"data-tooltip":`More project actions`,"aria-label":`More project actions`,"aria-expanded":p,"aria-haspopup":`menu`,onClick:()=>m(e=>!e),children:(0,Y.jsx)(gf,{size:13})}):null,o?(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-row-action`,"data-tooltip":`New thread`,"aria-label":`New thread`,onClick:o,children:(0,Y.jsx)(Df,{size:13})}):null]}):null,p?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-task-project-group-menu-backdrop`,"aria-label":`Close project actions`,onClick:()=>m(!1)}),(0,Y.jsxs)(`div`,{className:`section-menu-popover sidebar-task-project-group-menu`,role:`menu`,children:[s?(0,Y.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),s()},children:(0,Y.jsx)(`span`,{children:`Open project`})}):null,c?(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),c()},children:[(0,Y.jsx)(dr,{size:13}),(0,Y.jsx)(`span`,{children:`Remove from Projects`})]}):null]})]}):null]}),t?(0,Y.jsx)(`div`,{id:d,className:`sidebar-task-project-group-content`,children:e}):null]})}function Jm({groups:e,renderSession:t,toggleSessionPinned:n,archiveSession:r,restoreSession:i}){let a=()=>{try{return new Set(JSON.parse(ye.getItem(`openpond.sidebar.workflow-collapse.v1`)??`[]`))}catch{return new Set}},[o,s]=(0,J.useState)(a);return be(()=>s(a())),e.map(({group:e,members:a,sessions:c,pinned:l,archived:u})=>{let d=!o.has(e.id);return(0,Y.jsx)(`div`,{className:`sidebar-workflow-group${l?` is-pinned`:``}`,children:(0,Y.jsx)(qm,{groupKey:e.id,kind:`projectless`,label:e.title,expanded:d,actions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-thread-pin sidebar-workflow-pin`,"aria-label":`${l?`Unpin`:`Pin`} group: ${e.title}`,"aria-pressed":l,title:l?`Unpin group`:`Pin group`,onClick:()=>{for(let e of a)(e.pinned===l||!l&&(e.savedForLater||e.archived))&&n(e,!l)},children:(0,Y.jsx)(yf,{size:16,"aria-hidden":`true`})}),(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-inbox-done`,"aria-label":`${u?`Reopen`:`Mark done`} group: ${e.title}`,title:u?`Reopen group`:`Mark group done (does not stop running work)`,onClick:()=>{for(let e of a)u?i(e):e.archived||r(e)},children:u?(0,Y.jsx)(Sf,{size:19}):(0,Y.jsx)(ef,{size:21})})]}),onToggle:()=>{let t=new Set(o);d?t.add(e.id):t.delete(e.id),s(t),ye.setItem(`openpond.sidebar.workflow-collapse.v1`,JSON.stringify([...t].slice(-200)))},children:c.map(e=>t(e))})},e.id)})}function Ym(e){let t=Zm(e.metadata?.trainingTasksetId)??Zm(e.metadata?.tasksetId);return t?{id:t,name:Zm(e.metadata?.trainingTasksetName)??Zm(e.metadata?.tasksetName)??Xm(t)}:null}function Xm(e){let t=e.replace(/[-_][a-f0-9]{8,}$/i,``).replace(/^(?:benchmark[-_])?taskset[-_]/i,``).replace(/^benchmark[-_]/i,``).split(/[-_]+/).filter(Boolean);return t.length===0?`Taskset`:t.map(e=>/^[A-Z0-9]{2,}$/.test(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}function Zm(e){return typeof e==`string`&&e.trim()?e.trim():null}var Qm=`codex_history_`;function $m(e){return!!e?.startsWith(Qm)}function eh(e){let t=[],n=new Set;for(let r of e)for(let e of[r.workspacePath,r.path]){let i=ah(e);if(!i)continue;let a=`${r.id}:${i}`;n.has(a)||(n.add(a),t.push({projectId:r.id,path:i}))}return t.sort((e,t)=>t.path.length-e.path.length)}function th(e,t,n,r=new Set){if(e.localProjectId&&t.has(e.localProjectId))return e.localProjectId;if(e.workspaceKind===`local_project`&&e.workspaceId&&t.has(e.workspaceId))return e.workspaceId;if(e.metadata?.workspaceTarget===`hybrid`&&e.cwd){let t=rh(e.cwd,n);if(t)return t}if(e.cloudProjectId&&r.has(e.cloudProjectId))return e.cloudProjectId;if(!e.cwd||e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`||!ih(e))return null;let i=ah(e.cwd);if(!i)return null;for(let e of n)if(oh(i,e.path))return e.projectId;return null}function nh(e,t,n,r=new Set){if(e.localProjectId&&t.has(e.localProjectId))return Yt(`local`,e.localProjectId);if(e.workspaceKind===`local_project`&&e.workspaceId&&t.has(e.workspaceId))return Yt(`local`,e.workspaceId);if(e.metadata?.workspaceTarget===`hybrid`&&e.cwd){let t=rh(e.cwd,n);if(t)return Yt(`local`,t)}if(e.cloudProjectId&&r.has(e.cloudProjectId))return Yt(`cloud`,e.cloudProjectId);if(!e.cwd||e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`||!ih(e))return null;let i=ah(e.cwd);if(!i)return null;for(let e of n)if(oh(i,e.path))return Yt(`local`,e.projectId);return null}function rh(e,t){let n=ah(e);if(!n)return null;for(let e of t)if(oh(n,e.path))return e.projectId;return null}function ih(e){return e.workspaceKind===`local_project`||e.provider===`codex`||$m(e.id)}function ah(e){let t=e?.trim();if(!t)return null;let n=t.replace(/^file:\/\/+/i,`/`).replace(/\\/g,`/`).replace(/\/+/g,`/`);return/^[a-z]:/i.test(n)&&(n=n[0].toUpperCase()+n.slice(1)),n=n.replace(/\/+$/g,``),n||`/`}function oh(e,t){let n=sh(e),r=sh(t);return n===r||n.startsWith(`${r}/`)}function sh(e){return/^[A-Z]:\//.test(e)?e.toLowerCase():e}var ch=[{value:`active`,label:`Active`},{value:`in_progress`,label:`In progress`},{value:`pinned`,label:`Pinned`},{value:`saved_for_later`,label:`Save for later`},{value:`tasksets`,label:`Tasksets`},{value:`done`,label:`Done`},{value:`all`,label:`All`}],lh=[{value:`recent`,label:`Recent first`},{value:`manual`,label:`Manual order`}];function uh(e){let t=[];if(e.filter===`done`)t.push(...e.doneSessions.filter(e=>!Ym(e)));else if(e.filter===`all`)t.push(...e.activeSessions.filter(e=>!Ym(e)),...e.doneSessions.filter(e=>!Ym(e)));else if(e.filter===`tasksets`)t.push(...e.activeSessions.filter(t=>fh(t,e.selectedTasksetId)),...e.doneSessions.filter(t=>fh(t,e.selectedTasksetId)));else for(let n of e.activeSessions)Ym(n)||(e.filter===`active`?n.savedForLater||t.push(n):e.filter===`in_progress`?!n.savedForLater&&e.inProgressSessionIds.has(n.id)&&t.push(n):e.filter===`pinned`?n.pinned&&!n.savedForLater&&t.push(n):e.filter===`saved_for_later`&&n.savedForLater&&t.push(n));let n=t.filter(t=>dh(t,{inProgressSessionIds:e.inProgressSessionIds,onlyRunningTasks:e.onlyRunningTasks,showCodexChats:e.showCodexChats})),r=e.previewSessionIds?new Map(e.previewSessionIds.map((e,t)=>[e,t])):null;return e.sort===`recent`?n.sort((e,t)=>hh(e,t,r)):n.sort((e,t)=>{let n=r?.get(e.id),i=r?.get(t.id);if(n!==void 0||i!==void 0){if(n===void 0)return 1;if(i===void 0)return-1;if(n!==i)return n-i}return e.order===t.order?hh(e,t):e.order-t.order})}function dh(e,t){return t.showCodexChats===!1&&(e.provider===`codex`||$m(e.id))?!1:!t.onlyRunningTasks||t.inProgressSessionIds.has(e.id)}function fh(e,t){let n=Ym(e);return!(!n||t&&n.id!==t)}function ph(e,t){switch(e){case`active`:return`No active ${t}`;case`in_progress`:return`No work in progress`;case`pinned`:return`No pinned ${t}`;case`saved_for_later`:return`Nothing saved for later`;case`tasksets`:return`No Taskset chats yet`;case`done`:return`No done ${t}`;case`all`:return`No ${t}`}}function mh(e,t,n){let r=new Set(t),i=0;return e.map(e=>{if(!r.has(e))return e;let t=n[i];return i+=1,t??e})}function hh(e,t,n=null){let r=gh(e),i=gh(t);if(r!==i)return r?-1:1;if(r&&i){let r=n?.get(e.id),i=n?.get(t.id);if(r!==void 0||i!==void 0){if(r===void 0)return 1;if(i===void 0)return-1;if(r!==i)return r-i}if(e.order!==t.order)return e.order-t.order}let a=Date.parse(t.updatedAt)-Date.parse(e.updatedAt);return a===0?e.title.localeCompare(t.title):a}function gh(e){return e.pinned&&!e.savedForLater&&!e.archived}function _h(e,t,n){let r=new Map(t.map(e=>[e.id,e])),i=new Set(n.map(e=>e.id));return e.flatMap(e=>{let t=[...new Set([e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId])].flatMap(e=>e&&r.has(e)?[r.get(e)]:[]),n=t.filter(e=>!e.archived&&!e.hiddenFromDefaultSidebar),a=n.length>0&&n.every(gh),o=t.filter(e=>i.has(e.id)&&(a||!gh(e)));return o.length?[{group:e,members:t,sessions:o,pinned:a,archived:t.every(e=>e.archived)}]:[]})}function vh(e,t,n,r,i){let a=[...new Map(e.map(e=>[e.id,e])).values()].filter(e=>!n.has(e.id)&&!gh(e)).map(e=>({kind:`session`,id:`session:${e.id}`,session:e,time:gd(e,r),running:i.has(e.id)}));for(let e of t)e.pinned||a.push({kind:`workflow`,id:`workflow:${e.group.id}`,workflow:e,time:Math.max(...e.members.map(e=>gd(e,r))),running:e.members.some(e=>i.has(e.id))});return a.sort((e,t)=>Number(t.running)-Number(e.running)||t.time-e.time||e.id.localeCompare(t.id))}var yh={showCodexChats:!0,onlyRunningTasks:!1},bh=`openpond.sidebar-task-visibility.v1`;function xh(e=Ch()){try{let t=e?.getItem(bh);if(!t)return yh;let n=JSON.parse(t);return{showCodexChats:typeof n.showCodexChats==`boolean`?n.showCodexChats:yh.showCodexChats,onlyRunningTasks:typeof n.onlyRunningTasks==`boolean`?n.onlyRunningTasks:yh.onlyRunningTasks}}catch{return yh}}function Sh(e,t=Ch()){try{t?.setItem(bh,JSON.stringify(e))}catch{}}function Ch(){return typeof window>`u`?null:ye}function wh(e){return`${e.kind}:${e.id}`}function Th(e,t){return!!(e&&t&&e.kind===t.kind&&e.id===t.id)}function Eh(e){return{kind:`session`,id:e}}function Dh(e){return{kind:`project`,id:e}}function Oh(e){return{kind:`draft`,id:e}}function kh(e){return e.selectedSessionId?Eh(e.selectedSessionId):e.selectedProjectId?Dh(e.selectedProjectId):Oh(e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`)}function Ah(e){if(!e.previousScope||e.previousScope.kind!==`draft`||e.activeScope.kind!==`session`||Th(e.previousScope,e.activeScope))return[...e.tabs];let t=e.now??Date.now();return e.tabs.map(n=>Th(n.scope,e.previousScope)?{...n,scope:e.activeScope,updatedAt:t}:n)}function jh(e,t){return e.filter(e=>Th(e.scope,t))}function Mh(e,t){return!!(e&&Th(e.scope,t))}function Nh(e){let t={};for(let n of e){let e=wh(n.scope),r=t[e]??{scope:n.scope,tabCount:0,runningCount:0,failedCount:0,lastExitCode:null,status:`none`};r.tabCount+=1,n.commandStatus===`running`&&(r.runningCount+=1),(n.commandStatus===`failed`||n.status===`error`)&&(r.failedCount+=1),n.lastExitCode!==null&&(r.lastExitCode=n.lastExitCode),r.status=Fh(r.status,n.status,n.commandStatus),t[e]=r}return t}function Ph(e){return!e||e.status===`none`||e.tabCount===0?null:e.status===`running`?{status:`running`,label:`Terminal running`}:e.status===`failed`?{status:`failed`,label:`Terminal last command failed`}:e.status===`success`?{status:`success`,label:`Terminal last command succeeded`}:e.status===`idle`?{status:`idle`,label:`Terminal idle`}:{status:`unknown`,label:`Terminal open`}}function Fh(e,t,n){return n===`running`?`running`:e===`running`?e:n===`failed`||t===`error`?`failed`:e===`failed`?e:n===`success`?e===`none`||e===`unknown`||e===`idle`?`success`:e:n===`idle`?e===`none`||e===`unknown`?`idle`:e:e===`none`?`unknown`:e}function Ih({filter:e,activityOrder:t=!1,groupByProject:n,noun:r,onFilterChange:i,onGroupByProjectChange:a,onOnlyRunningTasksChange:o,onShowCodexChatsChange:s,onTasksetChange:c,onSortChange:l,onlyRunningTasks:u,openMenu:d,setOpenMenu:f,showCodexChats:p,sort:m,selectedTasksetId:h,tasksets:g}){let _=(0,J.useRef)(null),[v,y]=(0,J.useState)(!1),b=g.find(e=>e.id===h)?.name??ch.find(t=>t.value===e)?.label??`Active`,x=d===`tasks-filter`;return(0,J.useEffect)(()=>{if(!x)return;function e(e){_.current?.contains(e.target)||f(null)}return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[x,f]),(0,Y.jsx)(`div`,{className:`sidebar-task-list-controls`,ref:_,children:(0,Y.jsxs)(`div`,{className:`section-menu`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`section-icon ${x?`active`:``}`,"aria-label":`Filter ${r}: ${b}`,"data-tooltip":x?void 0:`Filter ${r}: ${b}`,"data-tooltip-placement":`bottom`,"aria-haspopup":`menu`,"aria-expanded":x,onClick:()=>f(e=>e===`tasks-filter`?null:`tasks-filter`),children:(0,Y.jsx)(hf,{size:14})}),x?(0,Y.jsxs)(`div`,{className:`section-menu-popover`,role:`menu`,"aria-label":`Filter ${r}`,children:[ch.map(t=>(0,Y.jsxs)(J.Fragment,{children:[t.value===`tasksets`?(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-expanded":v,onClick:()=>y(e=>!e),children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:v?(0,Y.jsx)(tr,{size:13}):(0,Y.jsx)(nr,{size:13})}),(0,Y.jsx)(`span`,{children:t.label})]}):(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e===t.value,onClick:()=>{i(t.value),f(null)},children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===t.value?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsx)(`span`,{children:t.label})]}),t.value===`tasksets`&&v?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{className:`section-menu-taskset-option`,type:`button`,role:`menuitemradio`,"aria-checked":e===`tasksets`&&!h,onClick:()=>{c(null),f(null)},children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===`tasksets`&&!h?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsx)(`span`,{children:`All Tasksets`})]}),g.map(t=>(0,Y.jsxs)(`button`,{className:`section-menu-taskset-option`,type:`button`,role:`menuitemradio`,"aria-checked":e===`tasksets`&&h===t.id,onClick:()=>{c(t.id),f(null)},children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===`tasksets`&&h===t.id?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsx)(`span`,{children:t.name}),(0,Y.jsx)(`span`,{className:`section-menu-option-count`,"aria-hidden":`true`,children:t.chatCount})]},t.id))]}):null]},t.value)),(0,Y.jsx)(`div`,{className:`section-menu-separator`,role:`separator`}),(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":p,onClick:()=>s(!p),children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:p?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsx)(`span`,{children:`Show Codex chats, including pinned`})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":u,onClick:()=>o(!u),children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:u?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsxs)(`span`,{children:[`Only running `,r,`, including pinned`]})]}),r===`tasks`&&!t?(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":n,onClick:()=>a(!n),children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:n?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsx)(`span`,{children:`Group by project`})]}):null,t?null:lh.map(e=>(0,Y.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":m===e.value,onClick:()=>{l(e.value),f(null)},children:[(0,Y.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:m===e.value?(0,Y.jsx)(ef,{size:13}):null}),(0,Y.jsx)(`span`,{children:e.label})]},e.value))]}):null]})})}function Lh({onAddProject:e,onViewProjects:t}){let[n,r]=(0,J.useState)(!1),i=(0,J.useRef)(null),a=(0,J.useRef)(null);return(0,J.useEffect)(()=>{if(!n)return;i.current?.querySelector(`[role="menuitem"]`)?.focus();let e=e=>{i.current?.contains(e.target)||r(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[n]),(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`section-menu`,ref:i,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),r(!1),a.current?.focus())},children:[(0,Y.jsx)(`button`,{ref:a,type:`button`,className:`section-icon${n?` active`:``}`,"aria-label":`Project options`,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(e=>!e),children:(0,Y.jsx)(gf,{size:14})}),n?(0,Y.jsxs)(`div`,{className:`section-menu-popover`,role:`menu`,"aria-label":`Project options`,children:[(0,Y.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r(!1),t()},children:`View all projects`}),(0,Y.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r(!1),e()},children:`Add project`})]}):null]}),(0,Y.jsx)(`button`,{type:`button`,className:`section-icon`,onClick:e,"aria-label":`Add project`,title:`Add project`,children:`+`})]})}var Rh=240,zh=36;function Bh(e,t,n=!1){let r=Math.max(12,t.width-Rh-12),i=Math.max(12,t.height-zh-(n?22:0)-12);return{"--sidebar-task-detail-left":`${Math.round(Math.max(12,Math.min(e.right+10,r)))}px`,"--sidebar-task-detail-top":`${Math.round(Math.max(12,Math.min(e.top-4,i)))}px`}}function Vh({detail:e,onClose:t}){if((0,J.useEffect)(()=>{if(!e||typeof window>`u`)return;let n=e=>{e.key===`Escape`&&t()},r=!1,i=window.requestAnimationFrame(()=>{window.addEventListener(`scroll`,t,!0),r=!0});return window.addEventListener(`keydown`,n),()=>{window.cancelAnimationFrame(i),window.removeEventListener(`keydown`,n),r&&window.removeEventListener(`scroll`,t,!0)}},[e,t]),!e)return null;let n=new Date(e.updatedAt),r=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(n);return(0,Y.jsxs)(`aside`,{id:e.descriptionId,className:`sidebar-task-detail-popover`,style:e.style,role:`tooltip`,"aria-label":`Last updated for ${e.title}`,children:[(0,Y.jsx)(`time`,{dateTime:e.updatedAt,children:r}),e.folderName?(0,Y.jsxs)(`div`,{className:`sidebar-task-detail-folder`,children:[(0,Y.jsx)(lf,{size:13,"aria-hidden":`true`}),(0,Y.jsx)(`span`,{children:e.folderName})]}):null]})}function Hh({platform:e}){return!Wh()||Uh(e)?null:(0,Y.jsxs)(`div`,{className:`window-controls`,"aria-label":`Window controls`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`window-control minimize`,title:`Minimize`,onClick:()=>void Gh(`minimize`),children:(0,Y.jsx)(tr,{size:14})}),(0,Y.jsx)(`button`,{type:`button`,className:`window-control maximize`,title:`Maximize`,onClick:()=>void Gh(`toggleMaximize`),children:(0,Y.jsx)(or,{size:12})}),(0,Y.jsx)(`button`,{type:`button`,className:`window-control close`,title:`Close`,onClick:()=>void Gh(`close`),children:(0,Y.jsx)(dr,{size:13})})]})}function Uh(e){let t=e?.toLowerCase()??``;return t===`darwin`||t.includes(`mac`)}function Wh(){if(typeof window>`u`)return!1;let e=window.openpond;return!!(e?.minimizeWindow||e?.toggleMaximizeWindow||e?.closeWindow)}async function Gh(e){let t=window.openpond;t&&(e===`minimize`?await t.minimizeWindow?.():e===`toggleMaximize`?await t.toggleMaximizeWindow?.():await t.closeWindow?.())!==!1||(e===`toggleMaximize`&&document.fullscreenEnabled?document.fullscreenElement?await document.exitFullscreen():await document.documentElement.requestFullscreen():e===`close`?window.close():console.warn(`Window controls require the Electron desktop shell.`))}var Kh={},qh=new Set,Jh=new Map,Yh=new Map;function Xh(){let e=ye.getItem(`openpond.sidebar.presentation.v1`);return e===`inbox`||e===`grouped`?e:Wh()?`inbox`:`grouped`}function Zh(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e.key);i?i.sessions.push(r):n.set(e.key,{...e,sessions:[r]})}return[...n.values()]}function Qh({activeSessions:e,beginNewChat:t,account:n,teamChatEnabled:r,teamChatOrganization:i,selectedTeamId:a,teamMembers:o,currentUserId:s,openTeamDm:l,onOpenPonder:u,workflowGroups:d=[],workflowSessions:f=[],trainingSessionIds:p=qh,activityTimes:m={},onSelectSession:h,archiveSession:g,archivedSessions:_,chatRowsVisibleCount:v,childSessionRowsByParentId:y={},cloudProjectRows:b,beginProjectChat:x,onAddProject:S,commitTaskDrop:C,commitTaskPreviewDrop:w,dockSessionRight:T,goalRuntimeBySessionId:E=Jh,localProjectRows:D,openSidebarFile:ee,pinnedRows:O,previewTaskDrop:k,previewPinnedDrop:A,projectRows:j,renameSession:te,restoreSession:M,runningSessionIds:N,sectionMenuOpen:ne,selectedProjectId:P,selectedSessionId:re,setChatRowsVisibleCount:F,setSectionMenuOpen:ie,setSelectedAppId:I,setSelectedProjectId:L,setSelectedSessionId:R,setView:z,sidebarProjectIdBySessionId:B,startTaskDrag:ae,startPinnedDrag:V,subagentRuntimeBySessionId:H=Yh,taskDragSessionId:U,taskPreviewSessionIds:oe,terminalSummaries:W=Kh,toggleSessionPinned:G,toggleSessionSavedForLater:se,view:ce,clearTaskDrag:le,removeProject:ue,toggleProjectPinned:de,setSidebarFileStatus:fe,commitPinnedDrop:pe,commitPinnedPreviewDrop:me,clearSidebarDrag:he,dragItem:ge}){let[_e,ve]=(0,J.useState)(Xh);be(()=>ve(Xh()));let xe=_e===`inbox`,[Se,Ce]=(0,J.useState)(`active`),[we,Te]=(0,J.useState)(`recent`),[Ee,De]=(0,J.useState)(!0),[Oe,ke]=(0,J.useState)(!1),[Ae,je]=(0,J.useState)(!1),[Me,Ne]=(0,J.useState)(xh);be(()=>Ne(xh()));let{onlyRunningTasks:K,showCodexChats:Pe}=Me,[Fe,Ie]=(0,J.useState)(null),[Le,Re]=(0,J.useState)(()=>new Set),[ze,Be]=(0,J.useState)(()=>new Map),[Ve,He]=(0,J.useState)(null);(0,J.useEffect)(()=>{P&&ke(!1)},[P]);let Ue=`threads`,We=j??[...D,...b],Ge=(0,J.useMemo)(()=>new Map(We.map(e=>[e.id,e.project.name])),[We]),Ke=(0,J.useMemo)(()=>new Map(We.map(e=>[e.id,e])),[We]),qe=(0,J.useMemo)(()=>{let t=new Set(N);for(let n of[...e,...Object.values(y).flat()]){let e=E.get(n.id),r=H.get(n.id);(e?.tone===`active`&&e.status!==`queued`||(r?.activeCount??0)>0||ft(n.id)?.status===`running`)&&t.add(n.id)}return t},[e,y,E,N,H,W]),Je=(0,J.useMemo)(()=>uh({activeSessions:e,doneSessions:_,filter:`all`,inProgressSessionIds:qe,sort:`manual`}),[e,_,qe]),Ye=(0,J.useMemo)(()=>uh({activeSessions:e,doneSessions:_,filter:Se,inProgressSessionIds:qe,onlyRunningTasks:K,selectedTasksetId:Fe,previewSessionIds:oe,showCodexChats:Pe,sort:we}),[e,_,qe,K,Fe,Pe,Se,oe,we]),Xe=(0,J.useMemo)(()=>{let t=new Map;for(let n of[...e,..._]){if(!dh(n,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe}))continue;let e=Ym(n);if(!e)continue;let r=t.get(e.id);r?r.chatCount+=1:t.set(e.id,{...e,chatCount:1})}return[...t.values()].sort((e,t)=>e.name.localeCompare(t.name))},[e,_,qe,K,Pe]),Ze=[],Qe=_h(Ze,f,uh({activeSessions:f.filter(e=>!e.archived&&!e.hiddenFromDefaultSidebar),doneSessions:f.filter(e=>e.archived&&!e.hiddenFromDefaultSidebar),filter:Se,inProgressSessionIds:qe,onlyRunningTasks:K,selectedTasksetId:Fe,showCodexChats:Pe,sort:we})),$e=_h(Ze,f,f.filter(e=>!e.hiddenFromDefaultSidebar&&gh(e)&&dh(e,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe}))).filter(e=>e.pinned),et=new Set($e.flatMap(e=>e.members.map(e=>e.id))),tt=(0,J.useMemo)(()=>O.filter(e=>e.type!==`session`||!et.has(e.session.id)&&dh(e.session,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe})),[qe,K,O,et,Pe]),nt=(0,J.useMemo)(()=>new Set(Ze.flatMap(e=>[e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId].filter(e=>!!e))),[Ze]),rt=(0,J.useMemo)(()=>Ye.filter(e=>!gh(e)&&!nt.has(e.id)),[Ye,nt]),it=(0,J.useMemo)(()=>rt.slice(0,Math.max(15,v)),[v,rt]),at=(0,J.useMemo)(()=>{let e=Zh(it,e=>{if(Qp(e))return{key:`draft`,label:`Drafts`,projectId:null,project:null,kind:`draft`};if(p.has(e.id))return{key:`training`,label:`Training`,projectId:null,project:null,kind:`projectless`};let t=B[e.id],n=pt(e)??`Work`;return{key:t?`project:${t}`:`projectless:${n}`,label:n,projectId:t??null,project:t?Ke.get(t)??null:null,kind:t?`project`:`projectless`}});for(let t of We)e.some(e=>e.projectId===t.id)||e.push({key:`project:${t.id}`,label:t.project.name,projectId:t.id,project:t,kind:`project`,sessions:[]});return e},[We,Ge,Ke,B,it,p]),ot=it.length<rt.length,st=it.length>15,ct=(0,J.useMemo)(()=>new Set(at.filter(e=>e.sessions.some(e=>e.id===re||qe.has(e.id))).map(e=>e.key)),[at,qe,re]),lt=Je.filter(e=>!gh(e)).map(e=>e.id),ut=it.map(e=>e.id),dt=JSON.stringify(Object.entries(y).filter(([e,t])=>t.some(e=>!e.archived)&&(H.get(e)?.activeCount??0)>0).flatMap(([e,t])=>t.filter(e=>!e.archived).map(t=>[e,t.id])).sort(([e,t],[n,r])=>e.localeCompare(n)||t.localeCompare(r)));(0,J.useEffect)(()=>{let e=JSON.parse(dt);if(e.length===0)return;let t=new Set(e.map(([e])=>e));Re(e=>[...t].every(t=>e.has(t))?e:new Set([...e,...t]))},[dt]);function ft(e){return Ph(W[wh({kind:`session`,id:e})])}function pt(e){if(Qp(e))return`Draft`;if(p.has(e.id))return`Training`;let t=B[e.id];return t?Ge.get(t)??e.workspaceName??`Project`:null}function mt(e){if(h){h(e);return}Op({kind:`chat`,sessionId:e.id}),R(e.id);let t=B[e.id]??null;I(t?null:e.appId),L(t),z(`chat`)}function ht(e){return(y[e.id]??[]).filter(e=>!e.archived&&!nt.has(e.id)&&dh(e,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe}))}function gt(e,t){return Le.has(e.id)||t.some(e=>e.id===re)}function _t(e){Re(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function vt(e){let t=ht(e);return t.length===0||!gt(e,t)?null:(0,Y.jsx)(`div`,{className:`sidebar-child-session-group`,children:t.map(t=>(0,Y.jsx)(Cm,{session:t,selected:ce===`chat`&&re===t.id,nested:!0,running:qe.has(t.id),goalRuntime:E.get(t.id)??null,subagentRuntime:H.get(t.id)??null,terminalIndicator:ft(t.id),projectLabel:pt(e),onSelect:()=>mt(t),onTogglePin:()=>G(t),onToggleSaveForLater:()=>se(t),onDockRight:()=>T(t),onArchive:()=>t.archived?M(t):g(t),onRename:te},t.id))})}function yt(e,t){if(typeof window>`u`)return;let n=gh(e)?pt(e):null;He({descriptionId:`sidebar-task-detail-${e.id}`,sessionId:e.id,title:e.title,updatedAt:e.updatedAt,folderName:n,style:Bh(t.getBoundingClientRect(),{width:window.innerWidth,height:window.innerHeight},!!n)})}function bt(e,t={}){let n=e.archived,r=t.pinnedRow?.placeholder??U===e.id,i=ht(e),a=t.pinnedRow?.dragProps??(!xe&&we===`manual`?{onDragStart:t=>ae(t,{allSessionIds:lt,visibleSessionIds:ut,sessionId:e.id}),onDragEnd:le,onDragOver:t=>{r||k(t,e.id)},onDrop:t=>{r?w():C(t,e.id)}}:{});return(0,Y.jsxs)(`div`,{className:`sidebar-session-group`,onPointerEnter:t=>yt(e,t.currentTarget),onPointerLeave:()=>He(null),onFocusCapture:t=>yt(e,t.currentTarget),onBlurCapture:e=>{e.currentTarget.contains(e.relatedTarget)||He(null)},children:[(0,Y.jsx)(Cm,{session:e,selected:!n&&ce===`chat`&&re===e.id,archived:n,inbox:xe,activityAt:gd(e,m),placeholder:r,running:qe.has(e.id),goalRuntime:E.get(e.id)??null,subagentRuntime:H.get(e.id)??null,terminalIndicator:ft(e.id),projectLabel:t.projectLabel===void 0?pt(e):t.projectLabel,metadataPresentation:t.metadataPresentation,ariaDescribedBy:Ve?.sessionId===e.id?Ve.descriptionId:void 0,childSessionCount:i.length,childSessionsExpanded:gt(e,i),onToggleChildSessions:()=>_t(e.id),onSelect:()=>{He(null),n&&M(e),mt(e)},onTogglePin:()=>G(e),onToggleSaveForLater:()=>se(e),onDockRight:()=>T(e),onArchive:()=>n?M(e):g(e),onRename:te,...a}),!xe&&!r?vt(e):null]},t.pinnedRow?.key??e.id)}function xt(e){e!==`tasksets`&&Ie(null),Ce(e),F(15)}function St(e){Ie(e),Ce(`tasksets`),F(15)}function Ct(e){Te(e),F(15)}function wt(){F(e=>Np(e,rt.length))}function Tt(){F(e=>Pp(e,rt.length))}function Et(e){let t={id:e.id,type:e.type};return{onDragStart:e=>V(e,t),onDragEnd:he,onDragOver:e=>A(e,t),onDrop:n=>{ge?.id===e.id&&ge.type===e.type?me():pe(n,t)}}}function Dt(e){let t=Et(e),n=ge?.id===e.id&&ge.type===e.type;if(e.type===`project`){let r=e.item;return(0,Y.jsx)(Em,{kind:r.kind,project:r.project,pinned:!0,selected:ce===`chat`&&P===r.id,expanded:!1,disclosure:!1,placeholder:n,onSelect:()=>{I(null),L(r.id),R(null),z(`chat`)},onNewChat:()=>x(r.id),onTogglePin:()=>de(r),onRemove:()=>ue(r),...t},e.key)}return e.type===`file`?(0,Y.jsx)(wm,{file:e.file,placeholder:n,onSelect:()=>ee(e.file),onTogglePin:()=>fe(e.file,`none`),onToggleSaveForLater:()=>fe(e.file,`saved_for_later`),...t},e.key):bt(e.session,{projectLabel:xe&&!B[e.session.id]&&!p.has(e.session.id)?null:pt(e.session),pinnedRow:{key:e.key,dragProps:t,placeholder:n}})}function Ot(e){let t=ct.has(e.key)||ze.get(e.key)!==!1;return(0,Y.jsx)(qm,{expanded:t,groupKey:e.key,kind:e.kind,label:e.label,onToggle:()=>{Be(n=>{let r=new Map(n);return r.set(e.key,!t),r})},onNewTask:e.project?()=>x(e.project.id):void 0,onOpenProject:e.project?()=>{I(null),L(e.project.id),R(null),z(`chat`)}:void 0,onRemoveProject:e.project?()=>ue(e.project):void 0,project:e.project,children:e.sessions.map(t=>bt(t,{metadataPresentation:`flyout`,projectLabel:e.label}))},e.key)}let kt=(0,Y.jsx)(Ih,{activityOrder:xe,filter:Se,groupByProject:Ee,noun:Ue,onFilterChange:xt,onGroupByProjectChange:De,onOnlyRunningTasksChange:e=>{Ne(t=>{let n={...t,onlyRunningTasks:e};return Sh(n),n}),F(15)},onShowCodexChatsChange:e=>{Ne(t=>{let n={...t,showCodexChats:e};return Sh(n),n}),F(15)},onTasksetChange:St,onSortChange:Ct,onlyRunningTasks:K,openMenu:ne,setOpenMenu:ie,showCodexChats:Pe,sort:we,selectedTasksetId:Fe,tasksets:Xe}),At=(0,J.useMemo)(()=>{if(!xe)return[];let e=Object.values(y).flat(),t=uh({activeSessions:e.filter(e=>!e.archived),doneSessions:e.filter(e=>e.archived),filter:Se,inProgressSessionIds:qe,onlyRunningTasks:K,selectedTasksetId:Fe,showCodexChats:Pe,sort:`recent`});return vh([...rt,...t],Qe,nt,m,qe)},[xe,y,Se,qe,K,Fe,Pe,rt,Qe,nt,m]);function jt(e){return(0,Y.jsx)(Jm,{groups:e,toggleSessionPinned:G,archiveSession:g,restoreSession:M,renderSession:e=>bt(e,{projectLabel:pt(e)})})}return(0,Y.jsxs)(`div`,{className:`sidebar-sections`,children:[(0,Y.jsxs)(`div`,{className:`sidebar-threads-header`,children:[(0,Y.jsx)(`span`,{children:`Threads`}),(0,Y.jsxs)(`div`,{className:`sidebar-threads-header-actions`,children:[r&&i?.teamId===a?(0,Y.jsx)(Gm,{members:o,currentUserId:s,teamName:i.displayName,onOpenDm:e=>{(async()=>{await Op({kind:`view`,view:`team`})&&l(e)})()}},`${n?.activeProfile??``}:${a}`):null,xe?kt:null,(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-icon${xe?` active`:``}`,"aria-label":xe?`Show Projects View`:`Show thread inbox`,"data-tooltip":xe?`Projects View`:`Thread inbox`,"data-tooltip-placement":`bottom`,"aria-pressed":xe,onClick:()=>{let e=xe?`grouped`:`inbox`;ve(e),ye.setItem(`openpond.sidebar.presentation.v1`,e)},children:xe?(0,Y.jsx)(Af,{size:16}):(0,Y.jsx)(kf,{size:16})}),(0,Y.jsx)(Ap,{beginNewChat:t})]})]}),u?(0,Y.jsxs)(`button`,{type:`button`,className:`sidebar-row sidebar-task-row sidebar-ponder-entry`,onClick:u,children:[(0,Y.jsx)(`span`,{className:`conversation-source-icon`,"aria-hidden":`true`,children:(0,Y.jsx)(`img`,{src:c,alt:``})}),(0,Y.jsx)(`span`,{children:`Pal`})]}):null,tt.length>0||$e.length>0?(0,Y.jsxs)(`div`,{className:`sidebar-pinned-rows`,children:[tt.map(Dt),jt($e)]}):null,xe?(0,Y.jsx)(Wm,{rows:At,count:v,setCount:F,selectedSessionId:re,emptyLabel:tt.length===0&&$e.length===0?ph(Se,Ue):null,renderWorkflow:e=>jt([e]),renderSession:e=>bt(e,{projectLabel:B[e.id]||p.has(e.id)?pt(e):null})}):(0,Y.jsxs)(Y.Fragment,{children:[jt(Qe.filter(e=>!e.pinned)),at.filter(e=>e.key===`training`).map(Ot),(0,Y.jsx)(xm,{label:`Projects`,className:`sidebar-projects-section development`,collapsed:Oe,onToggleCollapsed:()=>ke(e=>!e),actions:(0,Y.jsx)(Lh,{onAddProject:S,onViewProjects:()=>{(async()=>{await Op({kind:`view`,view:`projects`})&&(I(null),L(null),R(null),z(`projects`))})()}}),children:at.filter(e=>e.kind===`project`).map(e=>Ot(Ee?e:{...e,sessions:[]}))}),(0,Y.jsxs)(xm,{label:`Threads`,className:`sidebar-task-section sidebar-ordinary-section`,collapsed:Ae,onToggleCollapsed:()=>je(e=>!e),actionsVisible:ne===`tasks-filter`||Se!==`active`||K||!Pe,actions:kt,children:[(Ee?it.filter(e=>!B[e.id]):it).filter(e=>!p.has(e.id)).map(e=>bt(e)),rt.length===0&&tt.length===0?(0,Y.jsx)(`div`,{className:`empty-row`,children:ph(Se,Ue)}):null,rt.length>15&&(ot||st)?(0,Y.jsxs)(`div`,{className:`sidebar-pagination-controls`,"aria-label":`Showing ${it.length} of ${rt.length} ${Ue}`,children:[ot?(0,Y.jsx)(Sm,{onClick:wt,children:`Show more`}):null,st?(0,Y.jsx)(Sm,{onClick:Tt,children:`Show less`}):null]}):null]})]}),(0,Y.jsx)(Vh,{detail:Ve,onClose:()=>He(null)})]})}var $h={codex:`Codex`,claude_code:`Claude Code`,opencode:`OpenCode`,grok_build:`Grok Build`,hermes:`Hermes`,pi:`Pi`,oh_my_pi:`Oh My Pi`,openclaw:`OpenClaw`};function eg({status:e,busy:t,onControl:n,onConnectionControl:r,onReconnect:i}){let a=e.desiredState===`stopped`,o=a?`Importer stopped`:e.running?`Importer running`:`Importer offline`;return(0,Y.jsxs)(`div`,{className:`sidebar-section native-importer-status`,children:[(0,Y.jsx)(`strong`,{children:o}),e.connections.map(n=>{let o=n.backfill,s=o.stage===`complete`,c=o.admitted+o.skipped;return(0,Y.jsxs)(`div`,{className:`native-importer-connection`,children:[(0,Y.jsxs)(`span`,{children:[n.error?(0,Y.jsx)(nf,{size:12}):s?(0,Y.jsx)(ef,{size:12}):(0,Y.jsx)(ar,{size:12}),$h[n.source]??n.source]}),(0,Y.jsx)(`small`,{children:n.state===`paused`?`Paused`:n.state===`disconnected`?`Disconnected`:s?e.running&&!a?`Watching for new conversations`:`${o.admitted} conversations imported`:o.stage===`discovering`?`Finding conversations`:`${c} of ${o.total} conversations processed`}),(0,Y.jsxs)(`small`,{children:[n.admitted,` tasks admitted`,o.skipped>0?`, ${o.skipped} conversations skipped`:``,o.failed>0?`, ${o.failed} failed`:``]}),!s&&o.total>0?(0,Y.jsx)(`progress`,{"aria-label":`${$h[n.source]??n.source} import progress`,value:c,max:o.total}):null,n.queued>0?(0,Y.jsxs)(`small`,{children:[n.queued,` updates waiting to upload (`,new Intl.NumberFormat(void 0,{notation:`compact`}).format(n.pendingBytes),` bytes)`]}):null,n.lastAdmissionAt?(0,Y.jsxs)(`small`,{children:[`Last synced `,(0,Y.jsx)(`time`,{dateTime:n.lastAdmissionAt,children:new Date(n.lastAdmissionAt).toLocaleString()})]}):(0,Y.jsx)(`small`,{children:`No uploads acknowledged yet`}),n.destinationLinks?.tasks?(0,Y.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noopener noreferrer`,children:`View tasks`}):null,n.destinationLinks?.conversations?(0,Y.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noopener noreferrer`,children:`View conversations`}):null,n.error?(0,Y.jsx)(`small`,{role:`status`,children:n.error}):null,n.state===`disconnected`?(0,Y.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>i(n.id),children:`Reconnect source`}):(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>r(n.state===`paused`?`resume`:`pause`,n.id),children:[n.state===`paused`?`Resume`:`Pause`,` `,$h[n.source]??n.source]}),(0,Y.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>r(`disconnect`,n.id),children:[`Disconnect `,$h[n.source]??n.source]})]})]},n.id)}),(0,Y.jsx)(`button`,{type:`button`,disabled:t||a,onClick:()=>n(`sync`),children:`Sync now`}),(0,Y.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>n(a||!e.running?`start`:`stop`),children:[a?`Start`:e.running?`Stop`:`Restart`,` importer`]}),!e.running&&!a?(0,Y.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`stop`),children:`Stop importer`}):null,!e.running&&!a?(0,Y.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`install`),children:`Reinstall background service`}):null]})}function tg({title:e,inspection:t,busy:n,onSelect:r,onRefresh:i,onClose:a}){return(0,Y.jsxs)(`section`,{className:`native-branch-picker`,"aria-label":`Choose Claude conversation branch`,children:[(0,Y.jsx)(`strong`,{children:e||`Claude conversation`}),(0,Y.jsx)(`p`,{children:`This conversation has multiple branches. Choose the history to view. Each branch opens as a read-only snapshot.`}),t.branches.map(e=>(0,Y.jsxs)(`button`,{type:`button`,disabled:n,onClick:()=>r({leafId:e.leafId,revision:t.revision}),children:[(0,Y.jsx)(`span`,{children:e.title||`Branch without a text message`}),(0,Y.jsxs)(`small`,{children:[e.messages,` messages · `,e.updatedAt?new Date(e.updatedAt).toLocaleString():`Date unavailable`]}),(0,Y.jsx)(`code`,{children:e.leafId})]},e.leafId)),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`button`,{type:`button`,disabled:n,onClick:i,children:`Refresh branches`}),(0,Y.jsx)(`button`,{type:`button`,disabled:n,onClick:a,children:`Cancel`})]})]})}function ng({connection:e,selectedSessionId:t,selectedSession:n,active:r=!0,onOpen:i}){let a=(0,J.useRef)({selectedSessionId:t,active:r});a.current={selectedSessionId:t,active:r};let o=(0,J.useRef)(null),s=(0,J.useRef)(0),c=(0,J.useRef)(null);(0,J.useEffect)(()=>(s.current++,o.current=null,v(null),m(null),g(null),f(null),S(null),u(null),()=>{s.current++}),[e]);let[l,u]=(0,J.useState)(null),[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)(null),[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)(null),[y,b]=(0,J.useState)(!1),[x,S]=(0,J.useState)(null),C=(0,J.useCallback)(async()=>{if(!e||c.current===s.current)return;let t=s.current;c.current=t,v(`refresh`);try{let n=await q(e,`/v1/native-history/list`,{method:`POST`,body:JSON.stringify({retain:!0})});t===s.current&&(m(n),g(null))}catch(e){t===s.current&&g(e instanceof Error?e.message:`Local history is unavailable.`)}finally{c.current===t&&(c.current=null),t===s.current&&v(null)}},[e]);(0,J.useEffect)(()=>{C()},[C]),(0,J.useEffect)(()=>{let e=window.setInterval(()=>{document.hidden||C()},3e4);return()=>window.clearInterval(e)},[C]),(0,J.useEffect)(()=>{if(!r||!e||!l||l.sessionId!==t)return;let n=s.current,i=window.setInterval(()=>{document.hidden||q(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:l.id})}).catch(e=>{n===s.current&&g(e.message)})},1e4);return()=>window.clearInterval(i)},[r,e,l,t]);async function w(){let t=s.current;if(e&&p){v(`more`);try{let n=await q(e,`/v1/native-history/list`,{method:`POST`,body:JSON.stringify({cursors:p.nextCursors,retain:!0})});if(t!==s.current)return;m(e=>({...n,items:[...new Map([...e?.items??[],...n.items].map(e=>[e.id,e])).values()]}))}catch(e){t===s.current&&g(e instanceof Error?e.message:`Could not load more conversations.`)}finally{t===s.current&&v(null)}}}async function T(t,n,r=a.current.selectedSessionId){let o=s.current;if(e&&_===null){v(t);try{let c=await q(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:t,branch:n})});if(o!==s.current)return;u(n?null:{id:t,sessionId:c.id}),S(null),g(c.metadata?.nativeHistoryProjection&&!c.nativeAgent?typeof c.metadata.nativeReadOnlyReason==`string`?c.metadata.nativeReadOnlyReason:`Read-only history: the native source does not report its original working directory.`:null),a.current.active&&a.current.selectedSessionId===r&&await i(c)}catch(e){o===s.current&&g(e instanceof Error?e.message:`Could not read this conversation.`)}finally{o===s.current&&v(null)}}}async function E(t,n=a.current.selectedSessionId){if(!e||_!==null)return;let r=s.current;v(t);try{let i=await q(e,`/v1/native-history/branches`,{method:`POST`,body:JSON.stringify({id:t})});if(r!==s.current)return;a.current.active&&a.current.selectedSessionId===n&&S({id:t,inspection:i,originSessionId:n}),g(null)}catch(e){r===s.current&&g(e instanceof Error?e.message:`Could not read conversation branches.`)}finally{r===s.current&&v(null)}}(0,J.useEffect)(()=>{if(!r||!e||_!==null||!n||n.metadata?.nativeHistoryLoaded!==!1||n.metadata.nativeBranch)return;let t=n.metadata.nativeHistoryId;if(typeof t!=`string`)return;let i=`${s.current}:${n.id}`;o.current!==i&&(o.current=i,T(t,void 0,n.id))},[e,n,_,r]);async function D(t){let n=s.current;if(e){v(t);try{await q(e,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:t})}),n===s.current&&await C()}catch(e){n===s.current&&g(e instanceof Error?e.message:`Collector action failed.`)}finally{n===s.current&&v(null)}}}async function ee(t,n){let r=s.current;if(e){v(t);try{let i=await q(e,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:t,connectionId:n})});if(r!==s.current)return;f(i.command),g(null)}catch(e){r===s.current&&g(e instanceof Error?e.message:`Could not change Importer connection.`)}finally{r===s.current&&v(null)}}}async function O(t){let n=s.current;if(e){v(`connect`);try{let r=await q(e,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:t?`reconnect`:`connect`,connectionId:t})});if(n!==s.current)return;f(r.command),g(null)}catch(e){n===s.current&&g(e instanceof Error?e.message:`Could not open Importer setup.`)}finally{n===s.current&&v(null)}}}async function k(e){let t=e.metadata?.nativeHistoryId;await i(e)&&e.metadata?.nativeHistoryProjection&&!e.metadata.nativeBranch&&typeof t==`string`&&T(t,void 0,e.id)}return{connection:e,history:p,error:h,busy:_,command:d,expanded:y,branchSelection:x,branchHistoryId:n?.provider===`claude-code`&&typeof n.metadata?.nativeHistoryId==`string`?n.metadata.nativeHistoryId:null,setCommand:f,setExpanded:b,setBranchSelection:S,refresh:C,more:w,open:T,inspectBranches:E,control:D,connectionControl:ee,connect:O,select:k}}function rg({history:e}){let{connection:t,history:n,error:r,busy:i,command:a,expanded:o,branchSelection:s,branchHistoryId:c,setCommand:l,setExpanded:u,setBranchSelection:d,refresh:f,more:p,open:m,inspectBranches:h,control:g,connectionControl:_,connect:v}=e;return t?(0,Y.jsxs)(`section`,{className:`sidebar-section native-conversations`,"aria-label":`Conversation import controls`,children:[(0,Y.jsxs)(`div`,{className:`sidebar-section-heading`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>u(e=>!e),"aria-expanded":o,children:`Import conversations`}),(0,Y.jsx)(`button`,{type:`button`,className:`sidebar-icon`,"aria-label":`Refresh saved conversation history`,disabled:i!==null,onClick:()=>void f(),children:i===`refresh`?(0,Y.jsx)(ar,{size:14}):(0,Y.jsx)(lr,{size:14})})]}),a?(0,Y.jsx)(_r,{connection:t,command:a,onClose:()=>{l(null),f()}}):null,s?(0,Y.jsx)(tg,{title:n?.items.find(e=>e.id===s.id)?.title??``,inspection:s.inspection,busy:i!==null,onSelect:e=>void m(s.id,e,s.originSessionId??null),onRefresh:()=>void h(s.id,s.originSessionId??null),onClose:()=>d(null)}):null,o?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void v(),children:`Connect an import source`}),c?(0,Y.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void h(c),children:`View conversation branches`}):null,n&&Object.keys(n.nextCursors).length?(0,Y.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void p(),children:`Load more saved conversations`}):null,n&&n.items.length===0?(0,Y.jsx)(`p`,{children:`No saved conversations found in configured source locations.`}):null,n?.warnings.map(e=>(0,Y.jsxs)(`p`,{children:[(0,Y.jsx)(nf,{size:12,"aria-hidden":`true`}),` `,e]},e)),n?.collector.connections.length?(0,Y.jsx)(eg,{status:n.collector,busy:i!==null,onControl:e=>void g(e),onConnectionControl:(e,t)=>void _(e,t),onReconnect:e=>void v(e)}):(0,Y.jsx)(`p`,{children:`Connect an import source to upload conversations. Local history remains available without cloud sync.`})]}):null,r?(0,Y.jsx)(Mf,{error:r}):null]}):null}function ig(e){let{trainingSessionIds:t}=Lf(e.productArea===`chat`?e.connection:null),{productArea:r,setSectionMenuOpen:i,setSelectedAppId:a,setSelectedProjectId:o,setSelectedSessionId:s,setSidebarOpen:c,setView:l,view:u,modelProjects:d,modelTrainingActivityByProjectId:f}=e,p=(0,J.useCallback)(e=>{i(e)},[i]),m=(0,J.useCallback)(async t=>{if(!await Op({kind:`chat`,sessionId:t.id}))return!1;s(t.id);let n=e.sidebarProjectIdBySessionId[t.id]??null;return o(n),a(n?null:t.appId),l(`chat`),e.requestComposerFocus(),!0},[s,o,a,l,e.sidebarProjectIdBySessionId,e.requestComposerFocus]),h=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.selectedTeamId??null}),g=r===`chat`&&e.account?.state===`signed_in`,_=Mp(e.connection,g,h),v=g&&_.data?.ownerScope?_.data.localHandoffs.filter(e=>e.workflow&&[`installationId`,`profileId`,`ownerUserId`,`teamId`].every(t=>e.scope[t]===_.data.ownerScope[t])):[],y=new Set(v.flatMap(e=>[e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId].filter(e=>!!e))),b=(e.allSessions??[...e.activeSessions,...e.archivedSessions]).filter(e=>{let t=e.metadata?.ponderLocalOwner;return y.has(e.id)&&typeof t==`object`&&!!t&&!Array.isArray(t)&&[`installationId`,`profileId`,`ownerUserId`,`teamId`].every(e=>t[e]===_.data?.ownerScope?.[e])}),x=ng({connection:r===`chat`?e.connection:null,active:u===`chat`,selectedSessionId:e.selectedSessionId,selectedSession:[...e.activeSessions,...e.archivedSessions,...Object.values(e.childSessionRowsByParentId??{}).flat()].find(t=>t.id===e.selectedSessionId)??null,onOpen:m});return(0,Y.jsxs)(`aside`,{className:`sidebar`,inert:e.open===!1,children:[(0,Y.jsxs)(`div`,{className:`sidebar-toolbar`,children:[(0,Y.jsx)(`button`,{className:`sidebar-icon`,"aria-label":`Hide sidebar`,onClick:()=>c(!1),children:(0,Y.jsx)(_f,{size:16})}),(0,Y.jsx)(`div`,{className:`sidebar-brand`,children:(0,Y.jsx)(`img`,{className:`sidebar-wordmark`,src:n,alt:`OpenPond`})}),(0,Y.jsx)(Ff,{hasRunningWork:e.runningSessionIds.size>0||Object.values(e.terminalSummaries).some(e=>e.tabCount>0)})]}),(0,Y.jsxs)(`div`,{className:`sidebar-scroll`,children:[r===`chat`?null:(0,Y.jsx)(jp,{productArea:r,setSectionMenuOpen:p,setSelectedAppId:a,setSelectedProjectId:o,setSelectedSessionId:s,setView:l,view:u,modelProjects:d,modelTrainingActivityByProjectId:f}),r!==`chat`||u!==`chat`?null:(0,Y.jsx)(Qh,{...e,trainingSessionIds:t,workflowGroups:v,workflowSessions:b,onSelectSession:x.select,setSectionMenuOpen:p}),r===`chat`&&u===`chat`?(0,Y.jsx)(rg,{history:x}):null]})]})}function ag(e){let t=(0,J.useCallback)(t=>hn(e,t),[e]),n=(0,J.useCallback)(()=>mn(e),[e]);return(0,J.useSyncExternalStore)(t,n)}var og=[{destination:`walkthroughs`,icon:Xd,label:`Walkthroughs`},{destination:`external`,icon:Xd,label:`Docs`,url:`https://openpond.ai/docs`},{destination:`external`,icon:cf,label:`Blog`,url:`https://openpond.ai/blog`},{destination:`external`,icon:af,label:`Pricing`,url:`https://openpond.ai/pricing`},{destination:`external`,icon:pf,label:`Web app`,url:`https://openpond.ai/sandboxes`},{destination:`external`,icon:ff,label:`GitHub`,url:`https://github.com/openpond/openpond`},{destination:`external`,icon:sr,label:`Submit issue`,url:`https://github.com/openpond/openpond/issues/new/choose`}];function sg({onOpenWalkthroughs:e,onCloseAccount:t,walkthroughsActive:n}){let[r,i]=(0,J.useState)(!1),a=(0,J.useRef)(null),o=(0,J.useRef)(null);(0,J.useLayoutEffect)(()=>{r&&o.current?.querySelector(`[role="menuitem"]`)?.focus()},[r]);function s(){i(!0)}function c(){i(!1),a.current?.focus()}return(0,Y.jsxs)(`div`,{className:`user-auth-help`,onKeyDown:e=>{r&&(e.key===`Escape`||e.key===`ArrowLeft`)&&(e.preventDefault(),e.stopPropagation(),c())},children:[(0,Y.jsxs)(`button`,{ref:a,type:`button`,className:`user-auth-menu-link`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>r?c():s(),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),s())},children:[(0,Y.jsx)(mf,{size:15}),(0,Y.jsx)(`span`,{children:`Help`}),(0,Y.jsx)(nr,{className:`user-auth-help-chevron`,size:14})]}),r?(0,Y.jsx)(`div`,{ref:o,className:`user-auth-help-submenu`,role:`menu`,"aria-label":`Help`,onKeyDown:e=>{if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=Array.from(o.current?.querySelectorAll(`[role="menuitem"]`)??[]),n=t.indexOf(document.activeElement);t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length]?.focus()},children:og.map(r=>{let i=r.icon,a=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(i,{size:15}),(0,Y.jsx)(`span`,{children:r.label})]});return r.destination===`walkthroughs`?(0,Y.jsx)(`button`,{type:`button`,role:`menuitem`,className:`user-auth-menu-link`,"aria-current":n?`page`:void 0,onClick:()=>{t(),e()},children:a},r.label):(0,Y.jsx)(`a`,{className:`user-auth-menu-link`,role:`menuitem`,href:r.url,target:`_blank`,rel:`noreferrer`,onClick:e=>{e.preventDefault(),t(),cg(r.url)},children:a},r.label)})}):null]})}async function cg(e){let t=window.openpond?.browser;t?.openExternal&&(await t.openExternal({conversationId:`openpond-help`,url:e})).ok||window.open(e,`_blank`,`noopener,noreferrer`)}function lg({hasRunningWork:e}){let{state:t,busy:n,pendingAction:r,error:i,run:a}=Pf(e),[o,s]=(0,J.useState)(!1),c=window.openpond?.updates;if(!t||t.status===`unsupported`||!c)return null;let l=t.status===`ready`||t.status===`restarting`||t.retry===`restart`,u=t.status===`available`||t.retry===`download`,d=t.status===`checking`||r===`check`,f=t.status===`restarting`||r===`restart`,p=t.status===`downloading`||r===`download`,m=l?`restart`:o&&u?`download`:`check`,h=i?`Try again`:d?`Checking…`:f?`Restarting…`:p?`Downloading${t.progress===null?`…`:` ${t.progress}%`}`:l?`Restart to update`:o&&u?`Update available`:o&&t.status===`current`?`Up to date`:null,g=i??(m===`restart`?`Restart OpenPond to install the downloaded update.`:m===`download`?`Download OpenPond ${t.version}.`:`Check for OpenPond updates.`);async function _(){!n&&c&&(s(!0),await a(m))}return(0,Y.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link user-auth-update-check`,role:`menuitem`,title:g,"aria-description":g,disabled:n,"aria-busy":n,onClick:()=>void _(),children:[n?(0,Y.jsx)(`span`,{className:`sidebar-update-icon sidebar-update-spinner`,"aria-hidden":`true`,children:(0,Y.jsx)(ar,{size:15})}):(0,Y.jsx)(lr,{size:15,"aria-hidden":`true`}),(0,Y.jsx)(`span`,{className:`user-auth-update-label`,children:`Check for updates`}),h?(0,Y.jsx)(`span`,{className:`user-auth-update-status`,role:i?`alert`:`status`,children:h}):null]})}function ug(e){return window.addEventListener(`openpond:theme-changed`,e),()=>window.removeEventListener(`openpond:theme-changed`,e)}function dg(){return document.documentElement.dataset.theme===`light`?`light`:`dark`}function fg(){let e=document.documentElement.dataset.themePreference;return e===`dark`||e===`light`?e:`system`}function pg(){return(0,J.useSyncExternalStore)(ug,fg,()=>`system`)}function mg(e){localStorage.setItem(`openpond:appearance`,e),window.dispatchEvent(new CustomEvent(`openpond:appearance`,{detail:e}))}function hg(){let e=(0,J.useSyncExternalStore)(ug,dg,()=>`dark`),[t,n]=(0,J.useState)(null);hr(t);let r=e===`light`;return(0,Y.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link user-auth-theme-toggle`,role:`menuitemcheckbox`,"aria-label":`Dark mode`,"aria-checked":!r,title:`Switch to ${r?`dark`:`light`} mode`,onClick:()=>{try{mg(r?`dark`:`light`),n(null)}catch{n(`Could not save your appearance preference.`)}},children:[(0,Y.jsx)(zf,{size:15,"aria-hidden":`true`}),(0,Y.jsx)(`span`,{children:`Dark mode`}),(0,Y.jsx)(`span`,{className:`user-auth-theme-switch`,"aria-hidden":`true`})]})}function gg(e,t,n={}){return w({queryKey:[`provider-plan-usage`,Qn(e),t],enabled:!!e,queryFn:({signal:n})=>q(e,`/v1/providers/${t}/plan-usage`,{signal:AbortSignal.any([n,AbortSignal.timeout(25e3)])}),staleTime:3e4,refetchInterval:n.poll!==!1&&6e4,refetchOnWindowFocus:n.poll!==!1&&`always`,refetchOnMount:n.poll!==!1,retry:!1,gcTime:3e5})}function _g(e){return`${Math.floor(e)}%`}function vg(e){return e.resetsAt?`Resets ${new Date(e.resetsAt).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}`:`Reset time unavailable`}function yg(e,t){return t?`Loading…`:e?.status===`signed_out`?`Sign in`:e?.status===`unsupported`?`Not available`:`Unavailable`}function bg({connection:e,provider:t}){let n=gg(e,t,{poll:!1});return(0,Y.jsx)(`button`,{type:`button`,className:`plan-usage-refresh`,"aria-label":`Refresh ${t===`claude-code`?`Claude`:`Codex`} plan usage`,title:`Check usage (cached for up to ${t===`claude-code`?`5 minutes`:`1 minute`})`,disabled:!e||n.isFetching,onClick:()=>void n.refetch(),children:(0,Y.jsx)(lr,{size:13,className:n.isFetching?`settings-spin`:void 0})})}function xg({connection:e,provider:t,compact:n=!1,onOpen:r}){let i=gg(e,t),a=i.data,o=a?.windows.filter(e=>e.shared)??[],s=!!a?.windows.some(e=>e.resetsAt&&Date.parse(e.resetsAt)<=Date.now()),c=i.isError||s||!!(a&&Date.parse(a.refreshAfter)+6e4<Date.now()),l=t===`claude-code`?`Claude`:`Codex`,u=a?.status===`ready`,d=yg(a,i.isPending&&!!e),f=a?.windows.map(e=>`${e.label}: ${_g(e.remainingPercent)} remaining. ${vg(e)}.`).join(`
20
- `);return n?(0,Y.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`plan-usage-compact`,onClick:r,title:c?`Usage needs refreshing. ${f??``}`:f||a?.message||`View plan usage in Providers`,children:[(0,Y.jsxs)(`span`,{className:`plan-usage-compact-provider`,children:[(0,Y.jsx)(`img`,{src:`/agent-sources/${t}.svg`,alt:``,"aria-hidden":`true`}),l]}),(0,Y.jsx)(`span`,{className:`plan-usage-compact-values`,children:!c&&u&&o.length?o.map(e=>(0,Y.jsxs)(`span`,{className:`plan-usage-compact-value`,children:[(0,Y.jsx)(`small`,{children:e.label}),(0,Y.jsx)(`strong`,{children:_g(e.remainingPercent)})]},e.id)):(0,Y.jsx)(`strong`,{children:c?`Unavailable`:d})})]}):(0,Y.jsx)(`section`,{className:`provider-plan-usage`,"aria-label":`${l} plan usage`,children:u?(0,Y.jsxs)(Y.Fragment,{children:[a.windows.map(e=>(0,Y.jsxs)(`div`,{className:`plan-usage-window`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{children:e.label}),(0,Y.jsxs)(`strong`,{children:[_g(e.remainingPercent),c?` · last known`:``]})]}),(0,Y.jsx)(`meter`,{min:0,max:100,low:10,high:25,optimum:100,value:e.remainingPercent,"aria-label":`${l} ${e.label} remaining`}),(0,Y.jsx)(`small`,{children:vg(e)})]},e.id)),c?(0,Y.jsxs)(`small`,{role:`status`,children:[`Usage needs refreshing. Last checked `,new Date(a.fetchedAt).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}),`.`]}):null]}):(0,Y.jsx)(`p`,{role:`status`,children:i.isError?`Could not load usage. Try refreshing.`:a?.message??(e?`Loading plan usage…`:`Connect to load plan usage.`)})})}function Sg(...e){for(let t of e){let e=t?.trim();if(e)return e}return null}function Cg(e){let t=e?.accounts.find(e=>e.isActive)??null,n=e?.profile??null,r=e?.activeProfile?.handle??null;return{label:(e?.state===`signed_in`?Sg(e?.label,n?.handle,n?.name,n?.email,t?.displayLabel,t?.handle,r,e?.email,`Signed in`):e?.state===`loading`||e?.state===`switching`?`Loading account`:`Sign in`)??`Account`,image:e?.avatarUrl??n?.image??t?.avatarUrl??null}}function wg({connection:e,onOpenProviders:t,account:n,open:r,organizations:i,selectedTeamId:a,onOpenActivity:o,onOpenChange:s,onOpenSettings:c,onOpenWalkthroughs:l,walkthroughsActive:u,onSelectTeam:d,onLogOut:f,railTooltip:p,hasRunningWork:m}){let[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)(!1),y=(0,J.useRef)(null),b=(0,J.useMemo)(()=>Cg(n),[n]),x=b.label.trim().slice(0,1).toUpperCase();return(0,J.useEffect)(()=>{if(!r)return;function e(e){y.current?.contains(e.target)||s(!1)}function t(e){e.key===`Escape`&&s(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[s,r]),(0,Y.jsxs)(`div`,{className:`user-auth-footer`,ref:y,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`user-auth-trigger ${r?`active`:``}`,"aria-haspopup":`menu`,"aria-expanded":r,"aria-label":`${b.label} account menu`,"data-rail-tooltip":p,onClick:()=>s(!r),children:[(0,Y.jsx)(`span`,{className:`user-auth-avatar`,"aria-hidden":`true`,children:b.image?(0,Y.jsx)(`img`,{src:b.image,alt:``}):x?(0,Y.jsx)(`span`,{children:x}):(0,Y.jsx)(Of,{size:16})}),(0,Y.jsx)(`span`,{className:`user-auth-name`,children:b.label})]}),r?(0,Y.jsxs)(`div`,{className:`user-auth-menu`,role:`menu`,"aria-label":`Account`,children:[(0,Y.jsxs)(`div`,{className:`user-auth-menu-header`,children:[(0,Y.jsx)(`span`,{className:`user-auth-menu-avatar`,"aria-hidden":`true`,children:b.image?(0,Y.jsx)(`img`,{src:b.image,alt:``}):x?(0,Y.jsx)(`span`,{children:x}):(0,Y.jsx)(Of,{size:17})}),(0,Y.jsxs)(`span`,{className:`user-auth-menu-identity`,children:[(0,Y.jsx)(`strong`,{children:b.label}),n?.state===`signed_in`&&n.environment?(0,Y.jsx)(`small`,{title:n.baseUrl??void 0,children:n.environment.slice(0,1).toUpperCase()+n.environment.slice(1)}):null]})]}),i.length>0&&d?(0,Y.jsx)(Vf,{className:`user-auth-team-picker`,label:`Active team`,icon:(0,Y.jsx)(Tf,{size:15,"aria-hidden":`true`}),placement:`right`,floating:!0,floatingMenuWidth:260,disabled:h!==null,value:a??``,options:[{value:``,label:`Personal account`},...a&&!i.some(e=>e.teamId===a)?[{value:a,label:`Selected workspace unavailable`,disabled:!0}]:[],...i.map(e=>({value:e.teamId,label:e.displayName}))],onChange:async e=>{g(e);try{await d(e||null)}catch{}finally{g(null)}}}):null,(0,Y.jsx)(`div`,{className:`user-auth-plan-usage`,children:[`claude-code`,`codex`].map(n=>(0,Y.jsx)(xg,{connection:e,provider:n,compact:!0,onOpen:()=>{s(!1),t()}},n))}),(0,Y.jsx)(`div`,{className:`user-auth-menu-divider`}),o?(0,Y.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,onClick:()=>{s(!1),o()},children:[(0,Y.jsx)($d,{size:15}),(0,Y.jsx)(`span`,{children:`Activity`})]}):null,(0,Y.jsx)(hg,{}),(0,Y.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,onClick:()=>{s(!1),c()},children:[(0,Y.jsx)(wf,{size:15}),(0,Y.jsx)(`span`,{children:`Settings`})]}),(0,Y.jsx)(lg,{hasRunningWork:m}),(0,Y.jsx)(sg,{onOpenWalkthroughs:l,walkthroughsActive:u,onCloseAccount:()=>s(!1)}),n?.state===`signed_in`&&f?(0,Y.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,disabled:_,onClick:async()=>{v(!0);try{await f(),s(!1)}catch{}finally{v(!1)}},children:[(0,Y.jsx)(xf,{size:15}),(0,Y.jsx)(`span`,{children:_?`Logging out…`:`Log out`})]}):null]}):null]})}function Tg({sidebar:e,open:t}){let[n,r]=(0,J.useState)(!1),i=ag(e.connection),a=[{view:`chat`,label:`Home`,Icon:Rf},{view:`training`,label:`Ponder`,Icon:Bf},{view:`scheduled`,label:`Workflows`,Icon:Qd},{view:`outputs`,label:`Outputs`,Icon:sf},{view:`apps`,label:`Apps`,Icon:Tf},{view:`projects`,label:`Projects`,Icon:uf}];async function o(n){r(!1),e.productArea===`chat`&&e.view===n?n===`chat`&&e.setSidebarOpen(!t):await Op(n===`chat`?{kind:`chat`,sessionId:e.selectedSessionId}:{kind:`view`,view:n})&&(e.setSectionMenuOpen(null),e.setView(n),n===`chat`&&e.setSidebarOpen(!0))}async function s(){await Op({kind:`view`,view:`get-started`})&&(e.setSelectedAppId(null),e.setSelectedProjectId(null),e.setSelectedSessionId(null),e.setSectionMenuOpen(null),e.setView(`get-started`))}return(0,Y.jsxs)(`nav`,{className:`desktop-navigation-rail`,"aria-label":`Desktop destinations`,children:[(0,Y.jsxs)(`div`,{className:`desktop-rail-destinations`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`desktop-rail-button desktop-rail-brand`,"aria-label":`OpenPond`,"data-rail-tooltip":`OpenPond`,onClick:()=>void o(`chat`),children:(0,Y.jsx)(`img`,{src:c,alt:``})}),a.map(({view:n,label:i,Icon:a})=>{if(n===`training`)return(0,Y.jsx)(`button`,{type:`button`,"data-rail-tooltip":i,"aria-label":i,className:`desktop-rail-button desktop-training-entry${e.productArea===`console`?` active`:``}`,"aria-current":e.productArea===`console`?`page`:void 0,"aria-expanded":e.productArea===`console`&&t,onClick:()=>{r(!1),e.productArea===`console`?e.setSidebarOpen(!t):(e.onProductAreaChange(`console`),e.setSidebarOpen(!0))},children:(0,Y.jsx)(a,{size:19})},n);let s=e.productArea===`chat`&&e.view===n;return(0,Y.jsx)(`button`,{type:`button`,"data-rail-tooltip":i,"aria-label":i,"aria-current":s?`page`:void 0,"aria-expanded":n===`chat`?s&&t:void 0,className:`desktop-rail-button${s?` active`:``}`,onClick:()=>void o(n),children:(0,Y.jsx)(a,{size:19})},n)}),[{view:`team`,label:`Team chat`,Icon:sr,onOpen:e.onOpenTeamChat},{view:`community`,label:`Discover communities`,Icon:pf,onOpen:e.discoverCommunities}].map(({view:t,label:n,Icon:i,onOpen:a})=>(0,Y.jsx)(`button`,{type:`button`,"data-rail-tooltip":n,"aria-label":n,className:`desktop-rail-button${e.productArea===`chat`&&e.view===t?` active`:``}`,"aria-current":e.productArea===`chat`&&e.view===t?`page`:void 0,onClick:()=>{r(!1),(e.productArea!==`chat`||e.view!==t)&&a()},children:(0,Y.jsx)(i,{size:19})},t))]}),(0,Y.jsxs)(`div`,{className:`desktop-rail-account`,children:[i.error?(0,Y.jsx)(`button`,{type:`button`,className:`desktop-rail-button desktop-connection-error`,"aria-label":`OpenPond connection interrupted`,"aria-description":`${i.error} Retrying every 5 seconds.`,"data-rail-tooltip":`${i.error} Retrying every 5 seconds.`,onClick:()=>void Op({kind:`settings`,section:`diagnostics`}),children:(0,Y.jsx)(nf,{size:18})}):null,(0,Y.jsx)(wg,{account:e.account,open:n,onOpenChange:r,hasRunningWork:e.runningSessionIds.size>0||Object.values(e.terminalSummaries).some(e=>e.tabCount>0),connection:e.connection,onOpenProviders:()=>void Op({kind:`settings`,section:`providers`}),railTooltip:n?void 0:`Account`,organizations:e.organizations,selectedTeamId:e.selectedTeamId,onSelectTeam:e.onSelectTeam,onLogOut:e.onLogOut,walkthroughsActive:e.view===`get-started`,onOpenWalkthroughs:()=>void s(),onOpenActivity:()=>void Op({kind:`settings`,section:`usage`}),onOpenSettings:()=>void Op({kind:`settings`,section:`account`})})]})]})}function Eg({state:e,onClose:t,onOpenBrowserUrl:n,onStart:r}){if(hr(e?.previewError,{prefix:`Upload preview`}),hr(e?.error,{prefix:`Cloud setup`}),!e)return null;let i=e.status===`uploading`,a=e.status===`ready`,o=e.status===`error`,s=e.projectKind===`cloud`,c=e.preview??null;return(0,Y.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,Y.jsxs)(`section`,{className:`git-dialog cloud-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Set up Cloud coding`,children:[(0,Y.jsx)(`button`,{className:`git-dialog-close`,disabled:i,type:`button`,onClick:t,"aria-label":`Close Cloud setup`,title:`Close`,children:(0,Y.jsx)(dr,{size:14})}),(0,Y.jsx)(`div`,{className:`git-dialog-icon`,children:a?(0,Y.jsx)(tf,{size:18}):(0,Y.jsx)(rf,{size:18})}),(0,Y.jsx)(`h2`,{children:a?`Cloud repo ready`:`Set up Cloud coding`}),(0,Y.jsx)(`p`,{children:a?`Your source is ready in OpenPond Git. Finish by creating the Cloud sandbox environment.`:s?`This Cloud Project is ready for a sandbox environment.`:`OpenPond will upload tracked and unignored files into OpenPond Git, then send you to the Cloud sandbox setup page.`}),(0,Y.jsxs)(`div`,{className:`cloud-setup-summary`,children:[(0,Y.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,Y.jsx)(`span`,{children:`Project`}),(0,Y.jsx)(`strong`,{children:e.projectName})]}),(0,Y.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,Y.jsx)(`span`,{children:`Source`}),(0,Y.jsx)(`strong`,{children:s?`OpenPond Git`:`Local project upload`})]}),(0,Y.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,Y.jsx)(`span`,{children:`Branch`}),(0,Y.jsx)(`strong`,{children:c?.branch??e.branch??`main`})]}),!s&&(0,Y.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,Y.jsx)(`span`,{children:`Cloud project`}),(0,Y.jsx)(`strong`,{children:c?.targetProjectId??e.cloudProjectId??`New on upload`})]})]}),!a&&!s&&(0,Y.jsx)(`div`,{className:`cloud-setup-upload-preview`,role:`status`,"aria-live":`polite`,children:e.previewLoading?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`strong`,{children:`Calculating upload preview`}),(0,Y.jsx)(`span`,{children:`Checking tracked and unignored files before anything is pushed.`})]}):e.previewError?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`strong`,{children:`Preview unavailable`}),(0,Y.jsx)(`span`,{children:`Close and reopen setup to try the preview again.`})]}):c?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`strong`,{children:c.initializedEmptyProject?`Will initialize an empty project`:`Will upload ${c.fileCount} files`}),(0,Y.jsx)(`span`,{children:kg({byteCount:c.byteCount,skippedCount:c.skippedCount,headCommit:c.headCommit,targetProjectName:c.targetProjectName})})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`strong`,{children:`Upload preview pending`}),(0,Y.jsx)(`span`,{children:`File count, byte count, and skipped files will appear here before upload.`})]})}),i&&(0,Y.jsxs)(`div`,{className:`cloud-setup-progress`,role:`status`,"aria-live":`polite`,children:[(0,Y.jsx)(ar,{className:`cloud-setup-spinner`,size:16}),(0,Y.jsx)(`span`,{children:`Uploading source to OpenPond Git...`})]}),a&&e.upload&&(0,Y.jsxs)(`div`,{className:`cloud-setup-upload-result`,children:[(0,Y.jsx)(`strong`,{children:e.upload.initializedEmptyProject?`Initialized empty project`:`Uploaded ${e.upload.fileCount} files`}),(0,Y.jsx)(`span`,{children:kg({byteCount:e.upload.byteCount,skippedCount:e.upload.skippedCount,headCommit:e.upload.headCommit,targetProjectName:e.upload.branch})})]}),a&&e.setupUrl&&(0,Y.jsxs)(`div`,{className:`cloud-setup-next`,children:[e.projectUrl?(0,Y.jsxs)(`span`,{children:[`Your repo is ready here:`,` `,(0,Y.jsxs)(`a`,{href:e.projectUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>Dg(t,e.projectUrl,n,{newTab:!0}),children:[`Project page`,(0,Y.jsx)(ir,{size:13})]})]}):(0,Y.jsx)(`span`,{children:`Your repo is ready. Next step:`}),(0,Y.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>Dg(t,e.setupUrl,n),children:[`Setup the Cloud sandbox`,(0,Y.jsx)(ir,{size:13})]})]}),(0,Y.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,Y.jsx)(`button`,{className:`git-dialog-secondary`,disabled:i,type:`button`,onClick:t,children:a?`Done`:`Cancel`}),a?e.setupUrl?(0,Y.jsxs)(`a`,{className:`git-dialog-primary cloud-setup-primary-link`,href:e.setupUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>Dg(t,e.setupUrl,n),children:[`Open setup`,(0,Y.jsx)(ir,{size:13})]}):null:(0,Y.jsx)(`button`,{className:`git-dialog-primary`,disabled:i,type:`button`,onClick:r,children:i?`Uploading`:o?`Try again`:s?`Show setup link`:`Upload source`})]})]})})}function Dg(e,t,n,r={}){t&&n&&(e.preventDefault(),n(t,r))}function Og(e){return!Number.isFinite(e)||e<=0?`0 B`:e<1024?`${Math.round(e)} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function kg({byteCount:e,skippedCount:t,headCommit:n,targetProjectName:r}){let i=[Og(e),`${t} skipped`],a=Ag(n);return a&&i.push(`local ${a}`),i.push(r),i.join(` · `)}function Ag(e){let t=e?.trim();return t?t.slice(0,7):null}var jg=(0,J.lazy)(()=>l(()=>import(`./CommandMenu-BpubEqaA.js`).then(e=>({default:e.CommandMenu})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),Mg=(0,J.lazy)(()=>l(()=>import(`./SettingsView-CJfeRsWR.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([12,1,2,3,6,5,7,13,14,15,16,17,4,8,18,9,19,20,21,22,23,24,25,26,10,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52]))),Ng=(0,J.lazy)(()=>l(()=>import(`./NewProjectDialog-BpHN38MA.js`).then(e=>({default:e.NewProjectDialog})),__vite__mapDeps([53,1,2,3,9,23,39,54,21]))),Pg=(0,J.lazy)(()=>l(()=>import(`./WorkspaceGitDialogs-BOO0E5i9.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([55,2,1,3,9,37,40,56,21]))),Fg=(0,J.lazy)(()=>l(()=>import(`./WorkspaceGitDialogs-BOO0E5i9.js`).then(e=>({default:e.BranchDialog})),__vite__mapDeps([55,2,1,3,9,37,40,56,21])));function Ig({payload:e,connection:t,diagnostics:n,initialSection:r,onPayload:i,onError:a,onToast:o,onBack:s,onOpenSourceSession:c,onStartRefinerAuthoring:l,onAcceptEvaluationReview:u,onOpenSkill:d,onOpenExtension:f,teamChatCurrentUserId:p,teamChatEnabled:m,teamChatNotificationMode:h,teamChatThreads:g,onTeamChatNotificationModeChange:_,onTeamChatThreadMuteChange:v,diffPanelWidth:y,diffPanelResizing:b,diffPanelExpanded:x,onDiffPanelResizeStart:S,onDiffPanelExpandedChange:C}){return(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Mg,{payload:e,connection:t,diagnostics:n,initialSection:r,onPayload:i,onError:a,onToast:o,onBack:s,onOpenSourceSession:c,onStartRefinerAuthoring:l,onAcceptEvaluationReview:u,onOpenSkill:d,onOpenExtension:f,teamChatCurrentUserId:p,teamChatEnabled:m,teamChatNotificationMode:h,teamChatThreads:g,onTeamChatNotificationModeChange:_,onTeamChatThreadMuteChange:v,diffPanelWidth:y,diffPanelResizing:b,diffPanelExpanded:x,onDiffPanelResizeStart:S,onDiffPanelExpandedChange:C})})}function Lg({activeSessions:e,branchDialogName:t,branchDialogOpen:n,commitDialogOpen:r,commitDraft:i,commitIncludeUnstaged:a,commitMessage:o,commitNextStep:s,canPublishOpenPondProject:c,expandProject:l,newProjectBusy:u,newProjectDialogOpen:d,newProjectDirectory:f,newProjectMode:p,newProjectName:m,newProjectPath:h,projectRows:g,query:_,searchOpen:v,visibleWorkspaceDiff:y,visibleWorkspaceState:b,workspaceBusy:x,appDispatch:S,beginNewChat:C,openDefaultsSettingsFromBranchDialog:w,setBranchDialogName:T,setBranchDialogOpen:E,setCommitDialogOpen:D,setCommitDraft:ee,setCommitIncludeUnstaged:O,setCommitMessage:k,setCommitNextStep:A,setNewProjectDialogOpen:j,setNewProjectName:te,setNewProjectPath:M,setQuery:N,setSearchOpen:ne,submitCommitDialog:P,submitCreateWorkspaceBranch:re,submitNewProjectDialog:F}){return(0,Y.jsxs)(Y.Fragment,{children:[v&&(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(jg,{open:v,query:_,projects:g,sessions:e,onQueryChange:N,onClose:()=>{ne(!1),N(``)},onNewChat:()=>{ne(!1),N(``),C()},onOpenProject:e=>{S({type:`selectProject`,projectId:e.id}),S({type:`patch`,patch:{searchOpen:!1,query:``}}),l(e.id)},onOpenSession:e=>{S({type:`selectSession`,sessionId:e.id,appId:e.appId,projectId:e.workspaceKind===`local_project`&&e.workspaceId?Yt(`local`,e.workspaceId):null}),S({type:`patch`,patch:{searchOpen:!1,query:``}})}})}),d&&(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Ng,{open:d,mode:p,name:m,path:h,directory:f,busy:u,onNameChange:te,onPathChange:M,onClose:()=>{u||j(!1)},onSubmit:F})}),r&&(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Pg,{open:r,branch:b?.currentBranch??null,filesChanged:y?.filesChanged??b?.changedFilesCount??0,additions:y?.additions??0,deletions:y?.deletions??0,message:o,includeUnstaged:a,nextStep:s,draft:i,busy:x,canPush:!!b?.remoteUrl,canPublish:c,onMessageChange:k,onIncludeUnstagedChange:O,onNextStepChange:A,onDraftChange:ee,onClose:()=>{x||D(!1)},onSubmit:P})}),n&&(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Fg,{open:n,branchName:t,busy:x,onBranchNameChange:T,onSetPrefix:w,onClose:()=>{x||E(!1)},onSubmit:re})})]})}function Rg({cards:e,onDismiss:t,onPause:n,onCapacity:r,isCurrent:i}){let a=(0,J.useRef)(null),o=(0,J.useRef)(new Map),s=(0,J.useRef)(new Map),[c,l]=(0,J.useState)(new Map),[u,d]=(0,J.useState)(new Set),f=(0,J.useRef)(new Set),[p,m]=(0,J.useState)(new Map),h=(0,J.useRef)(e);h.current=e;let g=e.map(e=>`${e.toast.id}:${e.phase}:${e.parked}`).join(`|`);(0,J.useEffect)(()=>{let e=new Set(h.current.map(e=>e.toast.id));m(t=>[...t.keys()].every(t=>e.has(t))?t:new Map([...t].filter(([t])=>e.has(t))))},[g]),(0,J.useLayoutEffect)(()=>{let e=a.current;if(!e)return;function t(){let t=0,n=new Map(h.current.map(e=>[e.toast.id,s.current.get(e.toast.id)??0])),i=h.current.filter(e=>!e.parked&&e.phase!==`exiting`);for(let e of i)n.set(e.toast.id,t),t+=(o.current.get(e.toast.id)?.offsetHeight??100)+8;let a=i.map(e=>o.current.get(e.toast.id)?.offsetHeight??100),c=0,u=0;for(let t=0;t<3;t++)c+=(a[t]??Math.max(100,...a))+(t?8:0),c<=e.clientHeight&&u++;r(Math.max(1,u)),s.current=n,l(e=>e.size===n.size&&[...n].every(([t,n])=>e.get(t)===n)?e:n)}let n=new ResizeObserver(t);n.observe(e);for(let e of o.current.values())n.observe(e);return t(),()=>n.disconnect()},[g,r]);function _(e){if(!o.current.get(e)?.contains(document.activeElement))return;let t=[...o.current].find(([t,n])=>t!==e&&!n.inert);if(t)t[1].querySelector(`button`)?.focus();else{let e=document.querySelector(`.main-pane, .settings-content`);e&&(e.tabIndex=-1,e.focus({preventScroll:!0}))}}async function v(e){let{toast:r}=e;if(r.onAction&&!f.current.has(r.id)&&i()){f.current.add(r.id),d(e=>new Set(e).add(r.id)),n(r.id,!0);try{let e=await r.onAction();i()&&e!==!1&&(_(r.id),t(r.id))}catch(e){i()&&m(t=>new Map(t).set(r.id,pr(e,`Could not open this thread.`)))}finally{f.current.delete(r.id),d(e=>{let t=new Set(e);return t.delete(r.id),t});let e=o.current.get(r.id);n(r.id,!!(e?.matches(`:hover`)||e?.contains(document.activeElement)))}}}return(0,Y.jsx)(`div`,{className:`app-toast-region`,ref:a,"aria-label":`Notifications`,children:e.map(e=>{let{toast:r,parked:i,phase:a}=e,s=!!r.onAction,l=u.has(r.id),d=p.get(r.id),f=r.title??(r.tone===`error`?`Error`:r.tone===`success`?`Success`:`Notification`),m=d??[r.message,r.detail].filter(Boolean).join(` · `),h=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`app-toast-title`,title:f,children:f}),m?(0,Y.jsx)(`span`,{className:`app-toast-description${d?` app-toast-action-error`:``}`,title:m,role:d?`alert`:void 0,children:m}):null]});return(0,Y.jsx)(`div`,{ref:e=>{e?o.current.set(r.id,e):o.current.delete(r.id)},className:`app-toast-position${i?` parked`:``}`,inert:i||a===`exiting`,style:{"--toast-y":`${c.get(r.id)??0}px`},onMouseEnter:()=>n(r.id,!0),onMouseLeave:e=>n(r.id,l||e.currentTarget.contains(document.activeElement)),onFocus:()=>n(r.id,!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||n(r.id,l||e.currentTarget.matches(`:hover`))},children:(0,Y.jsxs)(`div`,{className:`app-toast ${r.tone} ${i?``:a}`,role:r.tone===`error`?`alert`:`status`,"aria-live":r.tone===`error`?`assertive`:`polite`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`app-toast-close`,"aria-label":`Dismiss notification`,onClick:()=>{_(r.id),t(r.id)},children:(0,Y.jsx)(dr,{size:14})}),s?(0,Y.jsx)(`button`,{type:`button`,className:`app-toast-body`,disabled:l,onClick:()=>void v(e),children:h}):(0,Y.jsx)(`div`,{className:`app-toast-body`,children:h}),s?(0,Y.jsx)(`div`,{className:`app-toast-actions`,children:(0,Y.jsx)(`button`,{type:`button`,disabled:l,"aria-label":r.kind?`Open thread: ${r.message}`:r.actionLabel,onClick:()=>void v(e),children:l?`Opening…`:r.actionLabel??`Open thread`})}):null]})},r.id)})})}async function zg(e,t,n){if(t.scope!==e.scope)throw Error(`Review workspace changed. Reload the assignment.`);return q(e.connection,`/v1/human-review?location=${e.location}`,{method:`POST`,body:JSON.stringify(Fe.parse(t)),signal:n})}function Bg(e,t,n){let r=Ye.parse(e);if(r.scope!==t.scope||r.id!==n)throw Error(`Review response identity differs from the requested assignment.`);return r}var Vg={inbox:async(e,t,n)=>Hg(await zg(e,{...t,endpoint:`inbox`,scope:e.scope},n),e),get:async(e,t,n)=>Bg(await zg(e,{endpoint:`get`,scope:e.scope,id:t},n),e,t),inspect:async(e,t,n,r,i)=>Ug(await zg(e,{endpoint:`inspect`,scope:e.scope,id:t,...n===void 0?{}:{slot:n},...r?{afterId:r}:{}},i),t),command:async(e,t)=>Bg(await zg(e,{endpoint:`command`,scope:e.scope,command:t}),e,t.id)};function Hg(e,t){let n=Je.parse(e);if(n.items.some(e=>e.scope!==t.scope))throw Error(`Inbox response belongs to another workspace.`);return n}function Ug(e,t){let n=Xe.parse(e);if(n.some(e=>e.reviewId!==t))throw Error(`Evidence response belongs to another assignment.`);return n}function Wg({context:e,onOpen:t}){let[n,r]=(0,J.useState)(null);return(0,J.useEffect)(()=>{let t=new AbortController,n=0;async function i(){let i=++n;try{let a=await Vg.inbox(e,{view:`mine`,status:`active`,limit:1},t.signal);!t.signal.aborted&&i===n&&r(a.actionCount)}catch{!t.signal.aborted&&i===n&&r(null)}}r(null),i();let a=window.setInterval(()=>{document.visibilityState===`visible`&&i()},15e3);return window.addEventListener(`human-review-changed`,i),()=>{t.abort(),window.clearInterval(a),window.removeEventListener(`human-review-changed`,i)}},[e.scope,e.actorId,e.location,e.connection]),(0,Y.jsxs)(`button`,{type:`button`,className:`titlebar-icon human-review-inbox-control`,title:n?`Inbox · ${n} actions`:`Inbox`,"aria-label":n?`Inbox, ${n} actions`:`Inbox`,onClick:t,children:[(0,Y.jsx)(kf,{size:17,"aria-hidden":`true`}),n?(0,Y.jsx)(`span`,{className:`human-review-inbox-count`,"aria-hidden":`true`,children:n>99?`99+`:n}):null]})}function Gg({connection:e,teamId:t,actorId:n,projectId:r}){return!e||!t||!n?null:(0,Y.jsx)(Wg,{context:{connection:e,scope:t,actorId:n,location:`hosted`},onOpen:()=>{kp(Kf(`inbox`,null,{area:`console`,projectId:r}))}})}var Kg=(0,J.lazy)(()=>l(()=>import(`./WorkspaceEnvironmentMenu-6hXpvMTl.js`).then(e=>({default:e.WorkspaceEnvironmentMenu})),__vite__mapDeps([57,1,2,3,6,9,36,38,40,24,54,47,28,58,59,56,21,30,48,60,61])));function qg({sidebarOpen:e,sidebarAvailable:t=!0,title:n,breadcrumbs:r,backAction:i,workspaceName:a,workspaceId:o,busy:s,workspaceState:c,workspaceKind:l,selectedApp:u,selectedProject:d,workspaceDiff:f,managedWorkspace:p,workspaceBusy:m,defaultTeamId:h,activityActorId:g,activityProjectId:_,showDiffControls:v,diffPanelOpen:y,terminalOpen:b,rightSidebarAvailable:x=!1,rightSidebarOpen:S=!1,onToggleDiffPanel:C,onToggleRightSidebar:w,onOpenSearch:T,onToggleTerminal:E,onRunTerminalCommand:D,onWorkspaceToolAction:ee,onOpenCommitDialog:O,onWorkspaceBranchChange:k,onWorkspaceBranchCreate:A,connection:j,onBootstrap:te,onOpenSandboxWorkspace:M,onShowSidebar:N,platform:ne,showWorkspaceControls:P=!0}){let re=f?.filesChanged??0;return(0,Y.jsxs)(`header`,{className:`app-titlebar`,children:[(0,Y.jsxs)(`div`,{className:`titlebar-left`,children:[t&&!e&&(0,Y.jsx)(`button`,{className:`titlebar-icon`,title:`Show sidebar`,onClick:N,children:(0,Y.jsx)(_f,{size:16})}),i?(0,Y.jsx)(`button`,{className:`titlebar-icon`,type:`button`,"aria-label":i.label,title:i.label,onClick:i.onSelect,children:(0,Y.jsx)(qd,{size:16})}):null,(0,Y.jsx)(vr,{children:r?.length?(0,Y.jsx)(`nav`,{className:`titlebar-breadcrumbs`,"aria-label":`Breadcrumb`,children:r.map((e,t)=>{let n=t===r.length-1;return(0,Y.jsxs)(`div`,{className:`titlebar-breadcrumb-item`,children:[e.onSelect&&!n?(0,Y.jsx)(`button`,{type:`button`,onClick:e.onSelect,children:e.label}):(0,Y.jsx)(`strong`,{children:e.label}),!n&&(0,Y.jsx)(nr,{size:14})]},`${e.label}-${t}`)})}):(0,Y.jsxs)(`div`,{className:`titlebar-title`,children:[(0,Y.jsx)(`strong`,{children:n}),a&&(0,Y.jsx)(`span`,{children:a})]})})]}),(0,Y.jsxs)(`div`,{className:`titlebar-right`,children:[(0,Y.jsx)(br,{className:`page-chrome-actions`}),(0,Y.jsx)(Gg,{connection:j,teamId:h??null,actorId:g??null,projectId:_??null}),P&&(0,Y.jsxs)(`div`,{className:`titlebar-actions`,children:[(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(Kg,{mode:`topbar`,busy:s,workspaceState:c,workspaceId:o,workspaceKind:l,selectedApp:u,selectedProject:d,workspaceBusy:m,defaultTeamId:h,workspaceDiff:f,managedWorkspace:p,showDiffControls:v,diffPanelOpen:y,onToggleDiffPanel:C,onRunTerminalCommand:D,onWorkspaceToolAction:ee,onOpenCommitDialog:O,onWorkspaceBranchChange:k,onWorkspaceBranchCreate:A,connection:j,onBootstrap:te,onOpenSandboxWorkspace:M})}),(0,Y.jsx)(`button`,{type:`button`,className:`titlebar-icon`,title:`Search chats and projects`,"aria-label":`Search chats and projects`,onClick:T,children:(0,Y.jsx)(Cf,{size:16})}),(0,Y.jsx)(`button`,{type:`button`,className:`titlebar-icon ${b?`active`:``}`,title:`${b?`Hide`:`Show`} terminal`,"aria-label":`${b?`Hide`:`Show`} terminal`,"aria-pressed":b,onClick:E,children:(0,Y.jsx)(ur,{size:16})}),v&&(0,Y.jsx)(`button`,{type:`button`,className:`topbar-diff-button ${S?`active`:``}`,title:`${S?`Hide`:`Show`} sidebar${re?`, ${re} changed files`:``}`,"aria-label":`${S?`Hide`:`Show`} sidebar`,"aria-pressed":S,onClick:C,children:(0,Y.jsx)(vf,{size:16})})]}),x&&w&&!v?(0,Y.jsx)(`div`,{className:`titlebar-actions`,children:(0,Y.jsx)(`button`,{type:`button`,className:`topbar-diff-button ${S?`active`:``}`,title:`${S?`Hide`:`Show`} sidebar`,"aria-label":`${S?`Hide`:`Show`} sidebar`,"aria-pressed":S,onClick:w,children:(0,Y.jsx)(vf,{size:16})})}):null,(0,Y.jsx)(Hh,{platform:ne})]})]})}function Jg(){let[e,t]=(0,J.useState)(null),n=(0,J.useRef)(null);return{confirmAction:(0,J.useCallback)(e=>new Promise(r=>{n.current?.resolve(!1);let i={...e,cancelLabel:e.cancelLabel??`Cancel`,tone:e.tone??`default`,resolve:r};n.current=i,t(i)}),[]),confirmDialog:e,resolveConfirmDialog:(0,J.useCallback)(e=>{let r=n.current;n.current=null,t(null),r?.resolve(e)},[])}}function Yg({state:e,onResolve:t}){let n=(0,J.useId)(),r=(0,J.useId)();if((0,J.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t(!1)}return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[t,e]),!e)return null;let i=e.tone===`danger`?`git-dialog-primary danger`:`git-dialog-primary`;return(0,Y.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,onMouseDown:()=>t(!1),children:(0,Y.jsxs)(`section`,{className:`git-dialog project-confirm-dialog`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":n,"aria-describedby":r,onMouseDown:e=>e.stopPropagation(),children:[(0,Y.jsx)(`h2`,{id:n,children:e.title}),(0,Y.jsx)(`p`,{id:r,children:e.body}),(0,Y.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>t(!1),children:e.cancelLabel}),(0,Y.jsx)(`button`,{type:`button`,className:i,autoFocus:!0,onClick:()=>t(!0),children:e.confirmLabel})]})]})})}function Xg(){let{confirmAction:e,confirmDialog:t,resolveConfirmDialog:n}=Jg();return{confirmProjectAction:(0,J.useCallback)(t=>e({tone:`danger`,...t}),[e]),projectConfirmDialog:t,resolveProjectConfirmDialog:n}}function Zg({state:e,onResolve:t}){return(0,Y.jsx)(Yg,{state:e,onResolve:t})}var Qg=new Map,$g=(e,t,n)=>{let r=Qg.get(e)??{commits:0,maxActualDurationMs:0,totalActualDurationMs:0};r.commits+=1,r.maxActualDurationMs=Math.max(r.maxActualDurationMs,n),r.totalActualDurationMs+=n,Qg.set(e,r)};function e_({children:e,id:t}){return(0,Y.jsx)(J.Profiler,{id:t,onRender:$g,children:e})}typeof window<`u`&&(window.__OPENPOND_RENDER_COMMITS__={get:()=>Object.fromEntries([...Qg.entries()].map(([e,t])=>[e,{...t}])),reset:()=>Qg.clear()});var t_=(0,J.lazy)(()=>l(()=>import(`./MainPane-D3fQou29.js`).then(e=>({default:e.MainPane})),__vite__mapDeps([62,1,2,3,16,63,6,64,7,65,66,5,67,68,69,70,71,18,13,14,8,72,17,73,9,19,20,21,74,75,76,77,78,79,4,25,33,80,81,82,44,83,84,85,86,87,88,35,36,32,37,38,23,26,10,89,47,27,28,58,59,30,43,90])));function n_({className:e,style:t,sidebar:n,topBar:r,mainPane:i,cloudSetup:a,projectConfirm:o,lazyPanels:s,toast:c}){return(0,Y.jsx)(yr,{children:(0,Y.jsxs)(`div`,{className:e,style:t,children:[(0,Y.jsx)(Tg,{sidebar:n,open:r.sidebarOpen}),r.sidebarAvailable===!1?null:(0,Y.jsxs)(e_,{id:`sidebar`,children:[(0,Y.jsx)(ig,{...n,open:r.sidebarOpen}),r.sidebarOpen?(0,Y.jsx)(`div`,{className:`sidebar-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,onPointerDown:n.onSidebarResizeStart}):null]}),(0,Y.jsxs)(`div`,{className:`content-shell`,children:[(0,Y.jsx)(qg,{...r}),(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`main`,{className:`main-pane`,"aria-busy":`true`,"aria-label":`Loading workspace`}),children:(0,Y.jsx)(t_,{...i})}),(0,Y.jsx)(`div`,{className:`app-toast-anchor`,children:(0,Y.jsx)(Rg,{...c})})]}),(0,Y.jsx)(Eg,{...a}),(0,Y.jsx)(Zg,{...o}),(0,Y.jsx)(Lg,{...s})]})})}function r_({settings:e,toast:t}){return(0,Y.jsxs)(`div`,{className:`app-settings-shell`,children:[(0,Y.jsx)(Ig,{...e}),(0,Y.jsx)(`div`,{className:`app-toast-anchor`,children:(0,Y.jsx)(Rg,{...t})})]})}var i_=5e3;function a_(e,t){if(e.length===0)return t;if(t.length===0)return e;let n=new Set,r=[];for(let i of[...e,...t])n.has(i.id)||(n.add(i.id),r.push(i));return r.map((e,t)=>({event:e,index:t})).sort(d_).map(({event:e})=>e)}function o_(e,t,n=i_){return s_(a_(e,t),n)}function s_(e,t=i_){return e.length<=t?e:e.slice(e.length-t)}function c_(e,t){if(t.length===0)return s_(e);if(e.length===0)return s_(t);let n=new Map,r=0;for(let i of[...e,...t])n.has(i.id)||n.set(i.id,{event:i,index:r}),r+=1;return s_([...n.values()].sort((e,t)=>d_(e,t)).map(({event:e})=>e))}function l_(e){let t=null;for(let n of e)typeof n.sequence==`number`&&(t=t===null?n.sequence:Math.max(t,n.sequence));return t}function u_(e){let t=null;for(let n of e)n.sequence!==void 0&&(t===null||n.sequence<t)&&(t=n.sequence);return t}function d_(e,t){let n=e.event.sequence,r=t.event.sequence;if(typeof n==`number`&&typeof r==`number`){let e=n-r;if(e!==0)return e}let i=Date.parse(e.event.timestamp),a=Date.parse(t.event.timestamp);if(Number.isFinite(i)&&Number.isFinite(a)){let e=i-a;if(e!==0)return e}return e.index-t.index}function f_(e,t){if(!t)return null;let n=new Map,r=[];for(let i of e){if(!i.name.startsWith(`subagent.`))continue;let e=h_(i);e&&r.push(e);let a=m_(i);a?.parentSessionId===t&&n.set(a.id,a)}if(n.size===0)return null;let i=[...n.values()].sort((e,t)=>__(t).localeCompare(__(e))),a=i.filter(e=>e.status===`queued`||e.status===`running`),o=i.filter(e=>e.status===`completed`),s=i.filter(e=>e.status===`failed`),c=i.filter(e=>e.status===`cancelled`),l=i.filter(e=>e.status===`needs_resume`),u=[...o,...s,...c].sort((e,t)=>__(t).localeCompare(__(e))),d=i.reduce((e,t)=>{let n=b_(t.metadata?.usage);return e.totalTokens+=S_(n?.totalTokens),e.promptTokens+=S_(n?.promptTokens),e.completionTokens+=S_(n?.completionTokens),e.requestCount+=S_(n?.requestCount),e},{totalTokens:0,promptTokens:0,completionTokens:0,requestCount:0}),f=i.flatMap(e=>v_([...e.report?.blockers??[],e.error,e.progress.currentBlocker]).map(t=>({runId:e.id,roleId:e.roleId,status:e.status,message:t}))),p=i.flatMap(e=>y_([...e.report?.artifacts??[],e.report?.patchRef,e.report?.diffRef,...e.progress.patchRefs]).map(t=>({...t,runId:e.id,roleId:e.roleId}))),m=u.map(e=>p_(e,r)),h=i[0]??null,g=h?{runId:h.id,roleId:h.roleId,status:h.status,message:h.progress.latestMeaningfulActivity||h.report?.summary||h.objective,updatedAt:__(h)}:null,_=a.length>0?`${a.length} ${a.length===1?`child`:`children`} running`:`${u.length} ${u.length===1?`child`:`children`} finished`,v=[a.length?`${a.length} active`:null,o.length?`${o.length} completed`:null,s.length?`${s.length} failed`:null,c.length?`${c.length} cancelled`:null,l.length?`${l.length} paused`:null].filter(Boolean).join(` · `),y=g?`${w_(g.roleId)}: ${g.message}`:``;return{sessionId:t,runs:i,activeRuns:a,completedRuns:o,failedRuns:s,cancelledRuns:c,needsResumeRuns:l,terminalRuns:u,latestRun:h,latestMeaningfulUpdate:g,activeCount:a.length,completedCount:o.length,failedCount:s.length,cancelledCount:c.length,needsResumeCount:l.length,terminalCount:u.length,usage:d,blockers:f,evidenceRefs:p,finalResults:m,testsRunCount:i.reduce((e,t)=>e+t.progress.validationAttempts.length,0),label:_,tooltip:[v,y].filter(Boolean).join(`. `)}}function p_(e,t){return{runId:e.id,roleId:e.roleId,status:e.status,objective:e.objective,summary:e.report?.summary||e.error||`Child conversation finished.`,findings:e.report?.findings??[],changedFiles:e.progress.changedFiles,refs:y_([...e.report?.artifacts??[],e.report?.patchRef,e.report?.diffRef]),testsRun:e.report?.testsRun??[],validationAttempts:e.progress.validationAttempts.map(e=>e.command),blockers:v_([...e.report?.blockers??[],e.error]),confidence:e.report?.confidence??null,importantMessages:t.filter(t=>t.fromRunId===e.id).map(t=>({id:t.id,runId:e.id,fromRunId:t.fromRunId,kind:t.kind,body:t.body,createdAt:t.createdAt})),workspaceRetention:g_(e),updatedAt:__(e)}}function m_(e){let t=b_(e.data),n=[t?.run,b_(t?.message)?.run];for(let e of n){let t=ge.safeParse(e);if(t.success)return t.data}return null}function h_(e){let t=_e.safeParse(b_(e.data)?.message);return t.success?t.data:null}function g_(e){let t=b_(b_(e.metadata?.workspaceHandoff)?.workspaceRetention);return t?.status===`retained`?{status:`retained`,reason:x_(t.reason),retainedAt:x_(t.retainedAt),expiresAt:x_(t.expiresAt),retentionDays:C_(t.retentionDays),trigger:x_(t.trigger),cleanupAfterExpiry:t.cleanupAfterExpiry===!0}:null}function __(e){return e.updatedAt??e.completedAt??e.startedAt??e.createdAt}function v_(e){return[...new Set(e.map(e=>e?.trim()).filter(e=>!!e))]}function y_(e){let t=new Map;for(let n of e)n&&t.set(`${n.kind}:${n.id}`,n);return[...t.values()]}function b_(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function x_(e){return typeof e==`string`&&e.trim()?e.trim():null}function S_(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function C_(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function w_(e){return e.slice(0,1).toUpperCase()+e.slice(1).replace(/[-_]+/g,` `)}var T_=[];function E_(e,t){return D_(e,t,null)}function D_(e,t,n){let r=n&&P_(n.events,e)?k_(n.indexes,n.events.length,e):O_(e),i=N_(t);return{...r,...i}}function O_(e){let t=new Map;for(let n of e){if(!n.sessionId)continue;let e=t.get(n.sessionId);e?e.push(n):t.set(n.sessionId,[n])}return A_(t)}function k_(e,t,n){let r=new Map(e.eventsBySessionId),i=new Map(e.latestContextUsageBySessionId),a=new Map(e.latestGoalRuntimeBySessionId),o=new Map(e.latestSubagentRuntimeBySessionId),s=new Set(e.activeGoalSessionIds),c=new Set(e.activeSubagentSessionIds),l=new Set;for(let e=t;e<n.length;e+=1){let t=n[e];if(!t.sessionId)continue;if(l.has(t.sessionId)){r.get(t.sessionId).push(t);continue}let i=r.get(t.sessionId);r.set(t.sessionId,i?[...i,t]:[t]),l.add(t.sessionId)}for(let e of l){let t=r.get(e)??T_,n=qn(t);n?i.set(e,n):i.delete(e);let l=M_(t);l?(a.set(e,l),l.tone===`active`?s.add(e):s.delete(e)):(a.delete(e),s.delete(e));let u=f_(t,e);u?(o.set(e,u),j_({sessionEvents:t,sessionId:e,latestGoalRuntimeBySessionId:a,activeGoalSessionIds:s}),u.activeCount>0?c.add(e):c.delete(e)):(o.delete(e),c.delete(e))}return{eventsBySessionId:r,latestContextUsageBySessionId:i,latestGoalRuntimeBySessionId:a,latestSubagentRuntimeBySessionId:o,activeGoalSessionIds:s,activeSubagentSessionIds:c}}function A_(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=new Set;for(let[r,a]of e){let e=qn(a);e&&t.set(r,e);let o=M_(a);o&&(n.set(r,o),o.tone===`active`&&i.add(r))}for(let[t,o]of e){let e=f_(o,t);e&&(r.set(t,e),j_({sessionEvents:o,sessionId:t,latestGoalRuntimeBySessionId:n,activeGoalSessionIds:i}),e.activeCount>0&&a.add(t))}return{eventsBySessionId:e,latestContextUsageBySessionId:t,latestGoalRuntimeBySessionId:n,latestSubagentRuntimeBySessionId:r,activeGoalSessionIds:i,activeSubagentSessionIds:a}}function j_(e){if(e.latestGoalRuntimeBySessionId.has(e.sessionId))return;let t=Tn(e.sessionEvents);t&&(e.latestGoalRuntimeBySessionId.set(e.sessionId,t),t.tone===`active`&&e.activeGoalSessionIds.add(e.sessionId))}function M_(e){return Zn(e)??Pn(e)??Tn(e)}function N_(e){let t=new Map,n=new Map,r=new Map,i=new Map;for(let a of e){t.set(a.id,a);let e=n.get(a.status);if(e?e.push(a):n.set(a.status,[a]),a.status!==`pending`)continue;let o=r.get(a.sessionId);o?o.push(a):r.set(a.sessionId,[a]);let s=i.get(a.sessionId);(!s||B_(a.createdAt)>B_(s.createdAt))&&i.set(a.sessionId,a)}return{approvalsById:t,approvalsByStatus:n,pendingApprovalsBySessionId:r,latestPendingApprovalBySessionId:i}}function P_(e,t){return e===t?!0:e.length>t.length||e.length===t.length?!1:e.length===0||e[0]===t[0]&&e[e.length-1]===t[e.length-1]}function F_(e,t){return t?e.eventsBySessionId.get(t)??T_:T_}function I_(e,t){return t?e.latestContextUsageBySessionId.get(t)??null:null}function L_(e,t){return t?e.latestGoalRuntimeBySessionId.get(t)??null:null}function R_(e,t){return t?e.latestSubagentRuntimeBySessionId.get(t)??null:null}function z_(e,t){return t?e.latestPendingApprovalBySessionId.get(t)??null:null}function B_(e){let t=Date.parse(e);return Number.isFinite(t)?t:-1/0}function V_(e,t){return e?.conversationId===t}function H_(e,t){return e?.id===t?null:e}function U_(e){let t=new Set;if(e.readmePath){let n=e.readmePath.replaceAll(`\\`,`/`).split(`/`).at(-1);n&&t.add(n)}for(let n of e.skills){t.add(n.relativePath);let e=n.relativePath.lastIndexOf(`/`),r=e>=0?n.relativePath.slice(0,e):``;for(let e of n.resourceFiles)t.add(r?`${r}/${e}`:e)}return{name:`${e.owner}/${e.repo}`,description:`${e.skills.length} installed skill${e.skills.length===1?``:`s`} from GitHub.`,scope:`extension`,packagePath:e.sourcePath,files:[...t]}}function W_(e){return JSON.stringify([e.source,e.repositoryId,e.profileId])}function G_(e,t){return e.profiles.find(e=>W_(e.ref)===t)?.ref??null}function K_(e,t){return!!(e&&t&&e.source===t.source&&e.repositoryId===t.repositoryId&&e.profileId===t.profileId)}function q_(e,t){return e.profiles.find(e=>K_(e.ref,t))?.state??null}function J_(e,t){let n=new Map(Mi.map(e=>[e.name,{...e,validationMessages:[...e.validationMessages],resourceFiles:[...e.resourceFiles]}]));for(let t of e?.skills??[])n.has(t.name)||n.set(t.name,t);for(let e of t?.extensions??[])if(e.validationStatus===`valid`)for(let t of e.skills)t.validationStatus!==`valid`||n.has(t.name)||n.set(t.name,{name:t.name,description:t.description,path:t.relativePath,scope:`profile`,enabled:!0,sourcePath:e.sourcePath,charCount:t.charCount,sourceHash:t.sourceHash,validationStatus:`valid`,validationMessages:[],resourceFiles:t.resourceFiles});return[...n.values()].sort((e,t)=>e.name.localeCompare(t.name))}function Y_(e){return{sourceTaskId:e.sourceTaskId,sourceExperience:e.sourceExperience,targetExperience:e.targetExperience,sourceMessageIds:[...e.sourceMessageIds??[]],sourceContext:e.sourceContext?.trim()||null,outputId:e.output?.id??null,outputRevision:e.output?.revision??null,createdAt:e.createdAt??new Date().toISOString(),checkoutMutation:`none`}}function X_(e,t){return e===`labs`?`models`:`chat`}var Z_=`uploaded to a different account`;function Q_(e,t){let n=e?.linkedSandboxProject??null;if(!n?.projectId||!n.teamId)return{state:`none`,linked:null,cloudProject:null};let r=t?.find(e=>e.id===n.projectId&&e.teamId===n.teamId)??null;return r?{state:`confirmed`,linked:n,cloudProject:r}:{state:`different_account`,linked:n,cloudProject:null}}function $_(e,t){let n=Q_(e,t);return n.state===`confirmed`?n.cloudProject:null}function ev(e,t){return Q_(e,t).state===`different_account`?Z_:null}function tv(e){return e===`sandbox`||e===`sandbox_template`||e===`sandbox_app`}function nv(e={}){return{...e,workspaceTarget:`hybrid`}}function rv(e={}){return{...e,workspaceTarget:`local`}}function iv(e){return e?.metadata?.workspaceTarget===`hybrid`}function av(e){return!!(e&&e.provider===`openpond`&&e.workspaceKind===`local_project`&&e.cloudProjectId&&e.title.trim().endsWith(` Cloud`))}function ov({cloudProjects:e,selectedCloudProject:t,selectedProject:n}){let r=n?.linkedSandboxProject??null,i=e?$_(n,e):null,a=t?.id??i?.id??(e?null:r?.projectId??null),o=t?.teamId??i?.teamId??(e?null:r?.teamId??null);return!a||!o?{kind:`missing_cloud_project`,message:`Upload/sync this Project to Cloud before using Hybrid.`}:{kind:`ready`,cloudProjectId:a,cloudTeamId:o,cwd:n?.workspacePath??null,localProjectId:n?.id??null,workspaceName:t?.name??i?.name??r?.projectName??n?.name??`Hybrid workspace`}}function sv({modelRef:e,provider:t,target:n,title:r}){return{provider:t,...e?{modelRef:e}:{},appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:null,workspaceName:n.workspaceName,localProjectId:n.localProjectId,cloudProjectId:n.cloudProjectId,cloudTeamId:n.cloudTeamId,metadata:nv(),cwd:n.cwd,title:r}}function cv(e){return(0,J.useEffect)(()=>{let t=Zp(e.selectedSession);t&&!e.composerDraftStore.getSnapshot()&&e.composerDraftStore.set(t)},[e.composerDraftStore,e.selectedSession?.id]),(0,J.useCallback)(async t=>{let n=t.trim();if(!e.connection||!n||e.activeExperience===`chat`)return!1;let r=$p(n);try{let t,i=e.selectedSession;if(i&&Qp(i))t=await Z.patchSession(e.connection,i.id,{title:r,metadata:em(i.metadata,n)}),e.setSessions(e=>e.map(e=>e.id===t.id?t:e));else{let a=i?.metadata?.workspaceTarget===`hybrid`?`hybrid`:i?.metadata?.workspaceTarget===`local`?`local`:null,o=i?.provider??(e.selectedCloudProject?`openpond`:e.activeProvider),s=i?.modelRef??(o===`openpond`?{providerId:`openpond`,modelId:`openpond-chat`}:{providerId:o,modelId:e.activeModel}),c=a?{workspaceTarget:a}:!i&&e.workspaceTarget===`local`?{workspaceTarget:`local`}:{},l;if(!i&&e.workspaceTarget===`hybrid`){let t=ov({cloudProjects:e.cloudProjects,selectedCloudProject:e.selectedCloudProject,selectedProject:e.selectedProject});if(t.kind!==`ready`)throw Error(t.message);let i=sv({modelRef:s,provider:o,target:t,title:r});l={...i,experience:`work`,metadata:em(i.metadata,n)}}else l={experience:`work`,provider:o,modelRef:s,openPondCommandAccessMode:i?.openPondCommandAccessMode??e.activeOpenPondCommandAccessMode,appId:i?.appId??null,appName:i?.appName??null,workspaceKind:i?.workspaceKind??(e.selectedCloudProject?`sandbox`:e.selectedProject?`local_project`:void 0),workspaceId:i?.workspaceId??e.selectedCloudProject?.id??e.selectedProject?.id??null,workspaceName:i?.workspaceName??e.selectedCloudProject?.name??e.selectedProject?.name??null,localProjectId:i?.localProjectId??e.selectedProject?.id??null,cloudProjectId:i?.cloudProjectId??e.selectedCloudProject?.id??null,cloudTeamId:i?.cloudTeamId??e.selectedCloudProject?.teamId??null,cwd:i?.cwd??e.selectedProject?.workspacePath??null,metadata:em(c,n),title:r};t=await Z.createSession(e.connection,l),e.setSessions(e=>[t,...e])}return e.composerDraftStore.set(``),e.setMentionedAppId(null),e.setSelectedSessionId(null),e.setView(`chat`),e.requestComposerFocus(),e.showToast(`Task draft saved.`,`success`),!0}catch(t){return e.showToast(t instanceof Error?t.message:`Could not save task draft.`,`error`),!1}},[e.activeExperience,e.activeModel,e.activeOpenPondCommandAccessMode,e.activeProvider,e.cloudProjects,e.composerDraftStore,e.connection,e.requestComposerFocus,e.selectedCloudProject,e.selectedProject,e.selectedSession,e.setMentionedAppId,e.setSelectedSessionId,e.setSessions,e.setView,e.showToast,e.workspaceTarget])}var lv=[];function uv({primary:e,secondary:t}){let[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(0),o=(0,J.useRef)(new Set),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(null),d=Dp(),f=d?.kind===`models`&&(l!==null||[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(d.route.page)),{composerDraftStore:p,appDispatch:m,pendingTerminalCommand:h,setPendingTerminalCommand:g,terminalTabs:_,setTerminalTabs:v,trainingDetailTasksetId:y,setTrainingDetailTasksetId:b,mentionedAppId:x,setMentionedAppId:S,cloudSetupDialog:C,setCloudSetupDialog:w,rightPanelTabRequest:T,workspaceDiffPanelViewState:E,mainComposerFocusRequestId:D,requestMainComposerFocus:ee,projectConfirmDialog:O,resolveProjectConfirmDialog:k,query:A,searchOpen:j,archivedChatsOpen:te,sectionMenuOpen:M,cloudProjectsExpanded:N,sidebarOpen:ne,view:P,selectedAppId:re,selectedProjectId:F,selectedSessionId:ie,codexPermissionMode:I,codexReasoningEffort:L,busy:R,diffPanelOpen:z,diffPanelExpanded:B,rightPanelMode:ae,activeExperience:V,beginNewThread:H,terminalOpen:U,settingsSection:oe,newProjectDialogOpen:W,newProjectMode:G,newProjectName:se,newProjectPath:ce,newProjectBusy:le,commitDialogOpen:ue,commitMessage:de,commitIncludeUnstaged:fe,commitNextStep:pe,commitDraft:me,branchDialogOpen:he,branchDialogName:ge,toasts:_e,labDetailNavigation:ve,setQuery:ye,setSearchOpen:be,setArchivedChatsOpen:xe,setSectionMenuOpen:Se,setCloudProjectsExpanded:Ce,setChatRowsVisibleCount:we,setSidebarOpen:Te,setView:Ee,setSelectedAppId:De,setSelectedProjectId:Oe,setSelectedSessionId:ke,setPrompt:Ae,setDraftProvider:je,setDraftModel:Me,setDraftExperience:Ne,setDiffPanelOpen:K,setDiffPanelExpanded:Pe,setRightPanelMode:Fe,setTerminalOpen:Ie,setSettingsSection:Le,setNewProjectDialogOpen:Re,setNewProjectName:ze,setNewProjectPath:Be,setCommitDialogOpen:Ve,setCommitMessage:He,setCommitIncludeUnstaged:Ue,setCommitNextStep:We,setCommitDraft:Ge,setBranchDialogOpen:Ke,setBranchDialogName:qe,setError:Je,showToast:Ye,applyBootstrapPayload:Xe,applyPreferencesPayload:Ze,bootstrap:Qe,connection:$e,startup:et,training:tt,trainingNavigation:nt,cloudProjectsCollapsed:rt,chatsCollapsed:it,savedForLaterCollapsed:at,sidebarWidth:ot,sidebarResizing:st,diffPanelWidth:ct,diffPanelResizing:lt,toggleCloudProjectsCollapsed:ut,toggleChatsCollapsed:dt,toggleSavedForLaterCollapsed:ft,startSidebarResize:pt,startDiffPanelResize:mt,selectedApp:ht,selectedCloudProject:gt,selectedProject:_t,selectedProjectLinkedApp:vt,selectedSession:yt,sidebarSessions:bt,runtimeIndexes:xt,runtimeEventStore:St,notificationAfterSequence:Ct,chatMentionApps:wt,connectedAppMentions:Tt,pendingApproval:Et,pendingChatUserMessages:Dt,account:Ot,activeModel:kt,activeProvider:At,appDefaults:jt,startMessage:Mt,organizations:Nt,teamChatOrganization:Pt,teamChatTeamId:Ft,teamChat:It,publishTeamProfileAgent:Lt,communitySidebar:Rt,communityView:zt,teamAiThreadId:Bt,toggleTeamAiSidebar:Vt,activeOpenPondCommandAccessMode:Ht,viewWorkspaceAppId:Ut,viewWorkspaceId:Wt,viewWorkspaceKind:Gt,viewWorkspaceName:Kt,selectedActionCatalog:qt,expandedProjectIds:Jt,expandProject:Xt,toggleProjectExpanded:Qt,changeCodexPermissionMode:$t,changeCodexReasoningEffort:en,changeOpenPondCommandAccessMode:tn,resolveApproval:nn,beginNewChat:rn,beginNewChatWithTrainingModel:an,dismissTrainingChatHandoff:on,trainingChatHandoff:sn,selectTrainingChatTaskForComposer:cn,chatHistoryLoadStates:un,loadMoreSelectedChatHistory:dn,selectedPagedSessionEvents:fn,activeSessions:pn,archivedSessions:mn,pinnedSessions:hn,savedForLaterSessions:gn,savedForLaterFiles:_n,sidebarFileBookmarks:q,setSidebarFileStatus:vn,setSessions:yn,projectRows:bn,localProjectRows:xn,cloudProjectRows:Sn,projectSessionRowsByProjectId:Cn,childSessionRowsByParentId:Tn,sidebarProjectIdBySessionId:En,chatRows:Dn,visibleChatRows:On,chatRowsVisibleCount:kn,sessionEvents:An,goalRuntime:jn,subagentRuntime:Mn,visibleChatMessages:Nn,activeTerminalScope:Pn,terminalSummaries:Fn,runningSessionIds:In,selectedSessionRunning:Ln,sidebarGoalRuntimeBySessionId:Rn,sidebarSubagentRuntimeBySessionId:zn,taskDragSessionId:Bn,taskPreviewSessionIds:Vn,startTaskDrag:Hn,clearTaskDrag:Un,previewTaskDrop:Wn,commitTaskDrop:Gn,commitTaskPreviewDrop:Kn,dragItem:qn,startPinnedDrag:Jn,clearSidebarDrag:Yn,previewPinnedDrop:Xn,commitPinnedDrop:Zn,commitPinnedPreviewDrop:$n,commandProjectRows:er,contextWindowStatus:tr,pinnedRows:nr,workspaceBusy:rr,diffBusy:ir,visibleWorkspaceState:ar,visibleWorkspaceDiff:or,refreshVisibleWorkspaceDiff:sr,managedWorkspace:cr,canSyncActiveWorkspace:lr,canPublishOpenPondProject:ur,projectTarget:dr,workspaceTarget:fr}=e,{title:pr,browserConversationId:mr,handleWorkspaceDiffPanelViewStateChange:hr,openSessionInChat:_r,changeProjectTarget:vr,submitNewProjectDialog:yr,changeWorkspaceBranch:br,openCommitDialog:xr,openCreateWorkspaceBranchDialog:Sr,openDefaultsSettingsFromBranchDialog:Cr,runWorkspaceTool:wr,submitCommitDialog:Tr,submitCreateWorkspaceBranch:Er,syncWorkspaceLocally:Dr,answerCreateImproveQuestion:Or,applyCreateImproveCandidate:kr,approveCreateImproveRun:Ar,cancelCreateImproveRun:jr,changeDraftProvider:Mr,openCreateImprovePullRequest:Nr,reconcileCreateImprovePullRequest:Pr,rejectCreateImproveCandidate:Fr,pauseCreateImproveRun:Ir,resumeCreateImproveRun:Lr,reviseCreateImproveRun:Rr,stopTurn:zr,archiveSession:Br,restoreSession:Vr,renameSession:Hr,toggleSessionPinned:Ur,toggleProjectPinned:Wr,toggleSessionSavedForLater:Gr,moveProjectToCloud:Kr,startCloudSetupUpload:qr,changeWorkspaceTarget:Jr,sendPromptFromMainComposer:Yr,openSandboxWorkspace:Xr,openCloudProjectDialog:Zr,openExistingProjectPathDialog:Qr,openUrlInBrowserPanel:$r,showBrowserPanel:ei,showGoalSidebarTab:ti,rightChatTrainingLaunchRequest:ni,setRightChatTrainingLaunchRequest:ri,closeRightChatPanel:ii,openRightChatPanel:ai,rightChatPanelViews:oi,showRightChatPanel:si,showRightPanelDiffTab:ci,submitRightChatPrompt:li,activateRightChatPanel:ui,updateRightChatModel:di,updateRightChatPrompt:fi,updateRightChatProvider:pi,updateRightChatScrollState:mi,openProfileSettings:hi,diagnosticEvents:gi,toggleRightSidebar:_i,removeProject:vi}=t,yi=JSON.stringify([Qn($e),Qe?.server.id,Qe?.account.activeProfile,Qe?.account.profile?.id,Ft]),bi=nd(_e,(0,J.useCallback)(e=>m({type:`clearToast`,toastId:e}),[m]),yi);pd(yi),ud({scope:yi,afterSequence:Ct,store:St,indexes:xt,sessions:bt,visibleSessionIds:(0,J.useMemo)(()=>{let e=new Set;if(P===`chat`&&ie&&e.add(ie),z&&ae===`chat`)for(let t of oi)t.sessionId&&e.add(t.sessionId);return e},[P,ie,z,ae,oi]),toasts:_e,showToast:Ye,dispatch:m,openThread:(0,J.useCallback)((e,t)=>_r(e.sessionId,e,t),[_r])}),yd($e,Qe?.account.activeProfile&&Qe.preferences.defaultTeamId?JSON.stringify([Qe.account.baseUrl,Qe.account.activeProfile,Qe.account.profile?.id,Qe.account.state,Qe.preferences.defaultTeamId]):null,()=>{Op({kind:`chat`,sessionId:null}).then(e=>{e&&(ke(null),Ee(`chat`),r(`activity`))})});let xi=Qe?.account.activeProfile&&Qe?.preferences.defaultTeamId?`${Qe.account.activeProfile.handle}:${Qe.preferences.defaultTeamId}`:null;(0,J.useEffect)(()=>{if(!(!xi||P!==`chat`||d?.kind!==`chat`||d.sessionId||ie||o.current.has(xi))){o.current.add(xi);try{let e=localStorage.getItem(`openpond:ponder-mode:v1:${xi}`);(e===`clean`||e===`activity`)&&r(e)}catch{}}},[xi,d,P,ie]),(0,J.useEffect)(()=>{if(xi&&o.current.has(xi))try{localStorage.setItem(`openpond:ponder-mode:v1:${xi}`,n??`off`)}catch{}},[xi,n]);let Si=(0,J.useCallback)(e=>{De(null),Oe(e),ke(null),Ee(`chat`),Xt(e),ee()},[Xt,ee,De,Oe,ke,Ee]),Ci=(0,J.useCallback)((e=null)=>{r(null),e?rn(e):H()},[rn,H]),wi=(0,J.useCallback)(async e=>{if($e&&Qe)try{let t=await Z.savePreferences($e,{defaultTeamId:e});Ze(t)}catch(e){let t=e instanceof Error?e.message:String(e);throw Je(t),Ye(`Could not switch teams`,`error`),e}},[Ze,Qe,$e,Je,Ye]),Ti=(0,J.useCallback)(async()=>{if($e)try{let e=await Z.signOutOpenPondAccount($e);Xe(e),Ye(`Logged out`,`success`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Je(t),Ye(`Could not log out`,`error`),e}},[Xe,$e,Je,Ye]),Ei=jt.defaultTeamId??null,Di=(0,J.useMemo)(()=>bn.filter(e=>e.kind===`local`||Ei!==null&&e.project.teamId===Ei),[bn,Ei]),Oi=(0,J.useMemo)(()=>{let e={};for(let t of pn){let n=En[t.id];n&&(e[n]=(e[n]??0)+1)}for(let t of xn){if(t.kind!==`local`)continue;let n=t.project.linkedSandboxProject?.projectId;if(!n||!t.cloudLinkTrusted)continue;let r=Yt(`cloud`,n);e[t.id]=(e[t.id]??0)+(e[r]??0)}return e},[pn,xn,En]),[ki,Ai]=(0,J.useState)(null),[ji,Mi]=(0,J.useState)(null),Ni=J_(Qe?.profile,Qe?.extensionCatalog),[Pi,Fi]=(0,J.useState)(null),[Ii,Li]=(0,J.useState)(null),[Ri,zi]=(0,J.useState)(null),Bi=(0,J.useCallback)(async()=>{await Op({kind:`view`,view:`team`})&&(De(null),Oe(null),ke(null),Se(null),Ee(`team`))},[Se,De,Oe,ke,Ee]),Vi=(0,J.useCallback)(async()=>{await Op({kind:`view`,view:`community`})&&(De(null),Oe(null),ke(null),Se(null),Rt.discoverCommunities())},[Rt.discoverCommunities,Se,De,Oe,ke]),Hi=cv({activeExperience:V,activeModel:kt,activeOpenPondCommandAccessMode:Ht,activeProvider:At,cloudProjects:Qe?.cloudProjects??lv,composerDraftStore:p,connection:$e,requestComposerFocus:ee,selectedCloudProject:gt,selectedProject:_t,selectedSession:yt,setMentionedAppId:S,setSelectedSessionId:ke,setSessions:yn,setView:Ee,showToast:Ye,workspaceTarget:fr.value}),Ui=(0,J.useCallback)(async e=>{if(!$e)throw Error(`OpenPond is not connected.`);let t=At,n=kt;t===`codex`&&(t=Zt(Qe?.providers,{enabledOnly:!0}).find(e=>e.value!==`codex`)?.value??`openpond`,n=ln(t,Qe?.providers)??`openpond-chat`);let r=bt.find(t=>t.id===e.sourceSessionId),i=await Z.createSession($e,{experience:e.target,provider:t,modelRef:{providerId:t,modelId:n},openPondCommandAccessMode:Ht,appId:null,appName:null,workspaceId:null,workspaceName:null,localProjectId:null,cloudProjectId:null,cloudTeamId:null,cwd:null,title:`Continue ${r?.title??`task`}`.slice(0,120),metadata:{experienceHandoff:Y_({sourceTaskId:e.sourceSessionId,sourceExperience:r?.experience??null,targetExperience:e.target,sourceMessageIds:e.sourceMessageIds??[],sourceContext:e.sourceContext,output:e.output})}});return yn(e=>[i,...e]),Ne(e.target),je(t),Me(n),p.set(e.prompt),Op({kind:`chat`,sessionId:i.id}),m({type:`selectSession`,sessionId:i.id,appId:null,projectId:null}),De(null),Oe(null),Ie(!1),Ee(`chat`),Fe(`home`),K(e.target===`work`),Pe(!1),i},[kt,Ht,At,m,Qe?.providers,p,$e,Pe,K,Ne,Me,je,Fe,De,Oe,yn,Ie,Ee,bt]),Wi=(0,J.useCallback)(e=>{Fi(e),Li(null),rn(null),Te(!0)},[rn,Te]);(0,J.useEffect)(()=>{let e=e=>{let t=e.detail?.prompt;typeof t!=`string`||!t||t.length>25e4||(rn(null),Ne(`work`),p.set(t),Ee(`chat`),Te(!0))};return window.addEventListener(`openpond:diagnostic-draft`,e),()=>window.removeEventListener(`openpond:diagnostic-draft`,e)},[rn,p,Ne,Te,Ee]);let Gi=(0,J.useCallback)(e=>{rn(null),Ne(`work`),p.set(`$openpond-refiner-authoring ${e}`),Ee(`chat`),Te(!0)},[rn,p,Ne,Te,Ee]),Ki=(0,J.useCallback)(e=>{Li(U_(e)),Fi(null),rn(null),Te(!0)},[rn,Te]);(0,J.useEffect)(()=>{!Pi&&!Ii||P!==`chat`||ie||F||re||(Ai(Pi),Mi(Ii),Fi(null),Li(null),Fe(`home`),Pe(!1),K(!0))},[Pi,Ii,re,F,ie,Pe,K,Fe,P]),(0,J.useEffect)(()=>{(ki||ji)&&(P===`chat`&&z&&ae===`home`||(Ai(null),Mi(null)))},[z,ji,ki,ae,P]);let qi=(0,J.useCallback)(()=>{Ai(null),Mi(null),Pe(!1),K(!1)},[Pe,K]),Ji=(0,J.useCallback)(e=>{let t;if(e.workspaceKind===`local`){let n=Yt(`local`,e.workspaceId);t=`draft:${n}`,De(null),Oe(n),ke(null),Xt(n),Ee(`chat`)}else{let n=bt.find(t=>t.id===e.sourceSessionId||t.workspaceId===e.workspaceId);if(!n){Ye(`This saved file's cloud chat is no longer available.`,`error`);return}t=n.id,_r(n.id)}Fe(`changes`),K(!0),zi({id:Date.now(),conversationId:t,file:e}),e.available||Ye(`File unavailable: ${e.path}`,`error`)},[Xt,_r,K,Fe,De,Oe,ke,Ee,Ye,bt]);(0,J.useEffect)(()=>{if(!V_(Ri,mr))return;let e=window.setTimeout(()=>{Fe(`changes`),K(!0),zi(e=>H_(e,Ri.id))},0);return()=>window.clearTimeout(e)},[mr,K,Fe,Ri]);let Yi=d?.kind===`models`&&d.route.area===`console`?`console`:X_(P,V);(0,J.useEffect)(()=>{d&&(d.kind===`models`||d.kind===`models_unavailable`?P!==`labs`&&Ee(`labs`):d.kind===`settings`?(De(null),Oe(null),ke(null),Le(d.section),P!==`settings`&&Ee(`settings`)):d.kind===`view`?(De(null),Oe(null),ke(null),P!==d.view&&Ee(d.view)):(d.sessionId!==null&&(r(null),De(null),Oe(null)),ke(d.sessionId),P!==`chat`&&Ee(`chat`)))},[d,De,Oe,ke,Le,Ee,P]);let Xi=(0,J.useCallback)(e=>{Se(null),De(null),Oe(null),ke(null),e===`models`||e===`console`?(kp(e===`console`?Kf(`datasets`,null,{area:`console`}):Kf()),Ee(`labs`)):(e===`chat`&&Op({kind:`chat`,sessionId:null}),H())},[H,Op,Se,De,Oe,ke,Ee]),Zi=(0,J.useCallback)(async(e,t)=>{let n=await tt.actions.acceptHarnessReview(e,t,{providerId:At,modelId:kt},L);return n?(b(n.materializedTasksetId??null),kp(Kf()),Ee(`labs`),!0):(Ye(`Taskset review could not be opened.`,`error`),!1)},[kt,At,L,kp,Kf,b,Ee,Ye,tt.actions]),Qi=(0,J.useMemo)(()=>hd(vd(xt.eventsBySessionId)),[xt.eventsBySessionId]);if(!et.ready)return null;if(P===`settings`)return(0,Y.jsx)(gr,{showToast:Ye,children:(0,Y.jsx)(r_,{settings:{payload:Qe,connection:$e,diagnostics:gi,initialSection:oe,onPayload:Xe,onError:Je,onToast:Ye,onOpenSourceSession:_r,onStartRefinerAuthoring:Gi,onAcceptEvaluationReview:Zi,onOpenSkill:Wi,onOpenExtension:Ki,teamChatCurrentUserId:It.currentUserId,teamChatEnabled:Ft!==null,teamChatNotificationMode:It.notificationMode,teamChatThreads:It.threads,onTeamChatNotificationModeChange:It.setNotificationMode,onTeamChatThreadMuteChange:It.setThreadMuted,diffPanelWidth:ct,diffPanelResizing:lt,diffPanelExpanded:B,onDiffPanelResizeStart:mt,onDiffPanelExpandedChange:Pe,onBack:()=>{let e=mp(d);Op(e),Ee(e.kind===`models`?`labs`:`chat`),Te(!0)}},toast:{...bi}})});let $i=Wh(),ea=Yi===`console`||P===`chat`,ta=ea&&ne,na=$e?.platform??navigator.platform,ra=$i&&Uh(na),ia=Pn,aa=ar?.initialized?ar.repoPath:yt?.cwd??null,oa={"--sidebar-width":`${ot}px`,"--diff-panel-width":`${ct}px`},sa=P===`chat`||P===`labs`||P===`scheduled`&&s||P===`team`&&!!Bt,ca=[`app-shell`,ra?`platform-macos`:``,ta?`sidebar-open`:`sidebar-closed`,st?`sidebar-resizing`:``,lt?`diff-panel-resizing`:``].filter(Boolean).join(` `),la=ie?un[ie]:null,ua=ie?la?.cursorSequence??u_(o_(fn,F_(xt,ie))):null,da=!!ie&&!!$e&&($m(ie)?!0:!!Qe?.eventWindow?.hasMoreBefore&&!!ua)&&(la?.hasMore??!0),fa=!!la?.loading;return(0,Y.jsx)(gr,{showToast:Ye,children:(0,Y.jsx)(n_,{className:ca,style:oa,sidebar:{activityTimes:Qi,onOpenPonder:()=>{a(e=>e+1),Op({kind:`chat`,sessionId:null}),ke(null),Ee(`chat`),r(`activity`)},productArea:Yi,modelProjects:(nt.data?.projects??[]).filter(e=>e.teamId===null||e.teamId===(jt.defaultTeamId?.trim()??null)),modelTrainingActivityByProjectId:nt.data?.activityByProjectId??{},onProductAreaChange:Xi,experience:V,view:P,selectedAppId:re,selectedProjectId:F,selectedSessionId:ie,selectedTeamThreadId:It.selectedThreadId,teamChatEnabled:Ft!==null,organizations:Nt,selectedTeamId:jt.defaultTeamId??null,teamChatOrganization:Pt,teamChatLoading:It.loading,currentUserId:It.currentUserId,teamMembers:It.members,teamThreads:It.threads,...Rt,onOpenTeamChat:Bi,discoverCommunities:Vi,account:Ot,connection:$e,profile:Qe?.profile,cloudProjectsCollapsed:rt,chatsCollapsed:it,savedForLaterCollapsed:at,archivedChatsOpen:te,cloudProjectsExpanded:N,sectionMenuOpen:M,dragItem:qn,taskDragSessionId:Bn,taskPreviewSessionIds:Vn,allSessions:bt,activeSessions:pn,archivedSessions:mn,pinnedRows:nr,pinnedSessions:hn,savedForLaterSessions:gn,savedForLaterFiles:_n,projectRows:bn,localProjectRows:xn,cloudProjectRows:Sn,projectSessionRowsByProjectId:Cn,childSessionRowsByParentId:Tn,sidebarProjectIdBySessionId:En,terminalSummaries:Fn,runningSessionIds:In,goalRuntimeBySessionId:Rn,subagentRuntimeBySessionId:zn,visibleChatRows:On,chatRows:Dn,chatRowsVisibleCount:kn,expandedProjectIds:Jt,currentVersion:Qe?.server.version??null,platform:na,arch:$e?.arch??null,onSidebarResizeStart:pt,requestComposerFocus:ee,setSidebarOpen:Te,setView:Ee,setSelectedAppId:De,setSelectedProjectId:Oe,setSelectedSessionId:ke,setSearchOpen:be,setSectionMenuOpen:Se,setSettingsSection:Le,onSelectTeam:wi,onLogOut:Ti,onToggleCloudProjectsCollapsed:ut,onToggleChatsCollapsed:dt,onToggleSavedForLaterCollapsed:ft,setArchivedChatsOpen:xe,setCloudProjectsExpanded:Ce,setChatRowsVisibleCount:we,beginNewChat:Ci,beginProjectChat:Si,onAddProject:Qr,dockSessionRight:ai,selectTeamThread:e=>{Ee(`team`),It.selectThread(e)},openTeamDm:e=>{Ee(`team`),It.openDm(e)},toggleSessionPinned:Ur,toggleProjectPinned:Wr,toggleSessionSavedForLater:Gr,openSidebarFile:Ji,setSidebarFileStatus:(e,t)=>void vn(e,t),archiveSession:Br,restoreSession:Vr,renameSession:Hr,removeProject:vi,expandProject:Xt,toggleProjectExpanded:Qt,startPinnedDrag:Jn,clearSidebarDrag:Yn,previewPinnedDrop:Xn,commitPinnedDrop:Zn,commitPinnedPreviewDrop:$n,startTaskDrag:Hn,clearTaskDrag:Un,previewTaskDrop:Wn,commitTaskDrop:Gn,commitTaskPreviewDrop:Kn},topBar:{sidebarOpen:ta,sidebarAvailable:ea,title:P===`chat`&&n?`Pal`:pr,backAction:ve.backAction,breadcrumbs:ve.breadcrumbs,workspaceName:Kt,workspaceId:Wt,busy:R,workspaceState:ar,workspaceKind:Gt,selectedApp:vt??ht,selectedProject:_t,workspaceDiff:or,managedWorkspace:cr,workspaceBusy:rr,defaultTeamId:jt.defaultTeamId,activityActorId:Qe?.account.profile?.id??null,activityProjectId:d?.kind===`models`?d.route.projectId??null:null,showDiffControls:P===`chat`&&V===`development`,diffPanelOpen:z,terminalOpen:U,rightSidebarAvailable:sa,rightSidebarOpen:P===`labs`&&f?l?.open??!1:P===`scheduled`?s:z,onToggleDiffPanel:()=>{P===`chat`&&n&&!z?ci(`outputs`,`agents`):_i()},onToggleRightSidebar:P===`labs`&&f?l?.toggle:P===`scheduled`?()=>c(e=>!e):P===`team`&&Bt?Vt:()=>{P===`chat`&&n&&!z?ci(`outputs`,`agents`):_i()},onOpenSearch:()=>{Se(null),be(!0)},onToggleTerminal:()=>Ie(e=>!e),onRunTerminalCommand:e=>{g({id:Date.now(),scope:ia,command:e}),Ie(!0)},onWorkspaceToolAction:wr,onOpenCommitDialog:xr,onWorkspaceBranchChange:br,onWorkspaceBranchCreate:Sr,connection:$e,onBootstrap:Xe,onOpenSandboxWorkspace:Xr,onShowSidebar:()=>Te(!0),platform:na,showWorkspaceControls:P!==`team`&&P!==`community`&&P!==`labs`&&P!==`scheduled`&&P!==`outputs`&&P!==`projects`&&(V===`development`||V===`work`&&!!(_t||yt?.localProjectId||yt?.cloudProjectId||yt?.workspaceKind===`local_project`))},mainPane:{ponderNavigationVersion:i,ponderMode:n,onPonderModeChange:r,experience:V,view:P,teamChat:{currentUserId:It.currentUserId,members:It.members,agents:It.agents,profile:Qe?.profile??null,teamId:Ft,teamName:Pt?.displayName??null,detail:It.detail,aiThread:It.aiThread,agentConversation:It.agentConversation,loading:It.loading,busy:It.busy,error:It.error,connection:$e,providerSettings:Qe?.providers??null,provider:At,model:kt,codexPermissionMode:I,codexReasoningEffort:L,openPondCommandAccessMode:Ht,contextWindowStatus:tr,showToast:Ye,onProviderChange:Mr,onModelChange:e=>{wn(At,e),Me(e)},onCodexPermissionModeChange:$t,onCodexReasoningEffortChange:en,onOpenPondCommandAccessModeChange:tn,onOpenProviderSettings:()=>{Op({kind:`view`,view:`apps`})},onSendMessage:It.sendMessage,onPublishProfileAgent:Lt,onOpenAiThread:async e=>{await It.openAiThread(e),Fe(`chat`),K(!0)},onOpenAgentConversation:async e=>{await It.openAgentConversation(e),Fe(`chat`),K(!0)},onCloseAiThread:()=>K(!1),onCloseAgentConversation:()=>{It.closeAgentConversation(),K(!1)},onSendAgentTurn:It.sendAgentTurn,onSendAiTurn:It.sendAiTurn,onStopAiTurn:It.stopAiTurn,onEditMessage:It.editMessage,onDeleteMessage:It.deleteMessage,onRetryMessage:It.retryMessage,onDismissFailedMessage:It.dismissFailedMessage,onLoadMoreMessages:It.loadMoreMessages,onRetryLoad:It.refresh},community:zt,bootstrap:Qe,runtimeEvents:An,chatMessages:Nn,pendingUserMessage:ie?Dt[ie]??null:null,contextWindowStatus:tr,goalRuntime:jn,subagentRuntime:Mn,selectedSessionId:ie,composerDraftStore:p,mainComposerFocusRequestId:D,labCloseDetailRequestId:ve.closeDetailRequestId,labCloseDetailKind:ve.closeDetailKind,sideChatTrainingLaunchRequest:ni,onSideChatTrainingLaunchHandled:e=>ri(t=>t?.id===e?null:t),mentionApps:wt,connectedAppMentions:Tt,profileSkills:Ni,selectedMentionAppId:x,busy:R,turnRunning:Ln,activeProvider:At,activeModel:kt,codexPermissionMode:I,codexReasoningEffort:L,openPondCommandAccessMode:Ht,pendingApproval:Et,activeWorkspaceAppId:Ut,activeWorkspaceId:Wt,activeWorkspaceKind:Gt,projectTarget:dr,actionCatalog:qt,workspaceTarget:fr,connection:$e,workspaceName:Kt,workspaceState:ar,workspaceDiff:or,workspaceBusy:rr,diffBusy:ir,forceChatThread:!!ie,diffPanelOpen:z,diffPanelExpanded:B,rightPanelMode:ae,rightPanelTabRequest:T,rightChatPanels:oi,runtimeEventStore:St,nativeSkillSidebar:ki,extensionSkillSidebar:ji,workspaceDiffPanelViewState:E,sidebarFileOpenRequest:Ri,sidebarFileBookmarks:q,onSetSidebarFileStatus:(e,t)=>void vn(e,t),browserConversationId:mr,terminalScope:ia,terminalTabs:_,terminalCwd:aa,pendingTerminalCommand:h,terminalOpen:U,onToggleTerminal:()=>Ie(e=>!e),onWorkspaceDiffPanelViewStateChange:hr,training:tt,trainingSessions:bt,trainingChatHandoff:sn,trainingDetailTasksetId:y,onTrainingDetailTasksetIdChange:b,onTrainingChatTaskSelect:cn,onTrainingChatHandoffDismiss:on,onOpenSession:_r,onExperienceHandoff:Ui,cloudProjects:Qe?.cloudProjects??[],projects:Di,projectsAccountBaseUrl:Ot?.baseUrl??Ot?.activeProfile?.baseUrl??null,projectsTeamName:Pt?.displayName??null,projectTaskCounts:Oi,onNewCloudProject:Zr,onNewLocalProject:Qr,onNewProjectTask:e=>Si(e.id),onToggleProjectPinned:Wr,onUploadLocalProject:Kr,chatHistoryHasMore:da,chatHistoryLoading:fa,onDiffPanelResizeStart:mt,onToggleDiffPanelExpanded:()=>Pe(e=>!e),onShowDiffPanel:()=>ci(`files`),onShowFilePreview:()=>ci(`file`),onShowBrowserPanel:ei,onShowFilesPanel:()=>ci(`files`),onShowExperimentsPanel:()=>ci(`outputs`,`experiments`),onShowAgentsPanel:()=>ci(`outputs`,`agents`),onShowGoalSidebarTab:ti,onShowTrainingDraftPanel:()=>{Fe(`training`),K(!0)},onShowRightChatPanel:si,onAddRightChat:()=>ai(null),onOpenRightChatForSession:(e,t)=>{let n=t??bt.find(t=>t.id===e)??null;n&&ai(n,{preserveView:!0})},onLabDetailOpenChange:ve.onDetailOpenChange,evaluationSidebarActive:P===`labs`&&f,onEvaluationSidebarControl:u,scheduledDetailOpen:s,onScheduledDetailOpenChange:c,onTerminalTabsChange:v,onCloseRightChatPanel:ii,onCloseNativeSkillSidebar:qi,onActivateRightChatPanel:ui,onRightChatModelChange:di,onRightChatPromptChange:fi,onRightChatScrollStateChange:mi,onRightChatProviderChange:pi,onSubmitRightChat:li,onStopRightChat:e=>zr(e),onCloseTerminal:()=>Ie(!1),onLoadMoreChatHistory:dn,canSyncWorkspace:lr,startMessage:Mt,onPayload:Xe,onError:Je,setView:Ee,onOpenProfileSettings:hi,onOpenProviderSettings:()=>{Op({kind:`view`,view:`apps`})},onOpenTrainingSettings:()=>{Op({kind:`settings`,section:`training`})},onOpenDatasetStorageSettings:()=>{Op({kind:`settings`,section:`dataset-storage`})},changeDraftProvider:Mr,changeProjectTarget:vr,changeWorkspaceTarget:Jr,setDraftProvider:je,setDraftModel:Me,onBeginNewChatWithModel:an,changeCodexPermissionMode:$t,changeCodexReasoningEffort:en,changeOpenPondCommandAccessMode:tn,resolveApproval:nn,answerCreateImproveQuestion:Or,applyCreateImproveCandidate:kr,approveCreateImproveRun:Ar,cancelCreateImproveRun:jr,openCreateImprovePullRequest:Nr,reconcileCreateImprovePullRequest:Pr,rejectCreateImproveCandidate:Fr,pauseCreateImproveRun:Ir,resumeCreateImproveRun:Lr,reviseCreateImproveRun:Rr,setMentionedAppId:S,showToast:Ye,onSaveTaskDraft:Hi,sendPrompt:Yr,stopTurn:e=>zr(void 0,e),syncWorkspaceLocally:Dr,refreshWorkspaceDiff:sr},cloudSetup:{state:C,onClose:()=>w(null),onOpenBrowserUrl:$r,onStart:()=>void qr()},projectConfirm:{state:O,onResolve:k},lazyPanels:{activeSessions:pn,branchDialogName:ge,branchDialogOpen:he,commitDialogOpen:ue,commitDraft:me,commitIncludeUnstaged:fe,commitMessage:de,commitNextStep:pe,canPublishOpenPondProject:ur,connection:$e,expandProject:Xt,newProjectBusy:le,newProjectDialogOpen:W,newProjectDirectory:jt.defaultNewProjectDirectory,newProjectMode:G,newProjectName:se,newProjectPath:ce,projectRows:er,query:A,searchOpen:j,visibleWorkspaceDiff:or,visibleWorkspaceState:ar,workspaceBusy:rr,appDispatch:m,beginNewChat:()=>rn(null),openDefaultsSettingsFromBranchDialog:Cr,setBranchDialogName:qe,setBranchDialogOpen:Ke,setCommitDialogOpen:Ve,setCommitDraft:Ge,setCommitIncludeUnstaged:Ue,setCommitMessage:He,setCommitNextStep:We,setNewProjectDialogOpen:Re,setNewProjectName:ze,setNewProjectPath:Be,setPrompt:Ae,setQuery:ye,setSearchOpen:be,submitCommitDialog:Tr,submitCreateWorkspaceBranch:Er,submitNewProjectDialog:yr},toast:{...bi}})})}var dv=new Map,fv=new Map;function pv(e){if(!e||e.state!==`signed_in`)return null;let t=e.accounts.find(e=>e.isActive)??null;return[e.activeProfile?.handle?.trim()||t?.handle?.trim()||e.label.trim()||`signed_in`,e.activeProfile?.baseUrl??t?.baseUrl??e.baseUrl??``,e.apiBaseUrl??``,e.chatApiBaseUrl??``].join(`|`)}function mv(e){let t=e?.trim();if(!t)return null;let n=dv.get(t);return n?.updatedAt?n.organizations:null}function hv(e,t){let n=e?.trim();if(n){dv.set(n,{organizations:t,promise:null,updatedAt:Date.now()});for(let e of fv.get(n)??[])e()}}function gv(e,t){let n=e?.trim();if(!n)return()=>void 0;let r=fv.get(n)??new Set;return r.add(t),fv.set(n,r),()=>{r.delete(t),r.size===0&&fv.delete(n)}}function _v(e){let t=e.accountKey?.trim();if(!t)return Promise.resolve([]);let n=dv.get(t);if(!e.force&&n?.updatedAt)return Promise.resolve(n.organizations);if(n?.promise)return n.promise;let r=e.fetchOrganizations().then(e=>(dv.get(t)?.promise===r&&hv(t,e),e)).catch(e=>{let n=dv.get(t);throw n?.promise===r&&dv.set(t,{organizations:n.organizations,promise:null,updatedAt:n.updatedAt}),e});return dv.set(t,{organizations:n?.organizations??[],promise:r,updatedAt:n?.updatedAt??0}),r}function vv(e){return e===`development`?`development`:`work`}function yv(e){return`New thread`}var bv=`openpond.config.json`;function xv(e,t,n){return t<=0?-1:n===`Home`?0:n===`End`?t-1:n===`ArrowRight`?(e+1)%t:(e-1+t)%t}function Sv(){return{activeTab:`files`,openFilePaths:[],selectedPath:null,filesTabOpen:!1,overviewTabs:[0],activeOverviewId:0,tabOrder:[`overview-0`]}}function Cv(e){return{activeTab:e.activeTab,openFilePaths:[...e.openFilePaths],selectedPath:e.selectedPath,filesTabOpen:e.filesTabOpen,overviewTabs:[...e.overviewTabs],activeOverviewId:e.activeOverviewId,tabOrder:[...e.tabOrder]}}function wv(e,t=null){let n=Pv(e.openFilePaths.map(e=>Ev(e,t)).filter(Boolean)),r=e.selectedPath&&Ev(e.selectedPath,t)||null;return{...Cv(e),activeTab:e.activeTab===`file`&&!r?`files`:e.activeTab,openFilePaths:n,selectedPath:r}}function Tv(e,t){return e.activeTab===t.activeTab&&e.selectedPath===t.selectedPath&&e.filesTabOpen===t.filesTabOpen&&e.activeOverviewId===t.activeOverviewId&&e.overviewTabs.length===t.overviewTabs.length&&e.overviewTabs.every((e,n)=>e===t.overviewTabs[n])&&e.tabOrder.length===t.tabOrder.length&&e.tabOrder.every((e,n)=>e===t.tabOrder[n])&&e.openFilePaths.length===t.openFilePaths.length&&e.openFilePaths.every((e,n)=>e===t.openFilePaths[n])}function Ev(e,t=null){let n=Nv(e),r=t?.trim().replace(/\\/g,`/`).replace(/\/+$/,``);if(!r)return n;if(n===r)return``;n.startsWith(`${r}/`)&&(n=n.slice(r.length+1));let i=r.split(`/`).filter(Boolean).at(-1);return i&&n.startsWith(`${i}/`)&&(n=n.slice(i.length+1)),n}function Dv(e){return e.startsWith(`/`)||/^[A-Za-z]:\//.test(e)}function Ov(e){return{path:e,status:`unchanged`,additions:0,deletions:0,patch:``,content:null}}function kv(e,t){let n=Fv(e.path);return!n||e.path.endsWith(`/`)||e.content==null&&/Could not access .+\/null['"]?/.test(e.patch)?!0:t.some(e=>{let t=Fv(e);return!!(t&&t.startsWith(`${n}/`))})}function Av(e){return/\.(?:md|markdown|mdx)$/i.test(e)||/(?:^|\/)readme$/i.test(e)}function jv(e){return/\.(?:doc|docx|pdf|pptx)$/i.test(e)}function Mv(e){return/\.pptx$/i.test(e.path)||e.contentType===`application/vnd.openxmlformats-officedocument.presentationml.presentation`}function Nv(e){let t=e.trim().replace(/^['"`]+|['"`]+$/g,``);if(/^file:\/\//i.test(t))try{t=decodeURIComponent(new URL(t).pathname)}catch{t=t.replace(/^file:\/\//i,``)}return t.replace(/\\/g,`/`).replace(/^\.\/+/,``)}function Pv(e){return Array.from(new Set(e))}function Fv(e){let t=e.replace(/\\/g,`/`).replace(/^\.\/+/,``).split(`/`).filter(Boolean);return t.length===0?null:t.join(`/`)}function Iv(e){if(!e||e.state!==`signed_in`)return null;let t=e.accounts.find(e=>e.isActive)??null,n=e.profile?.id?.trim()??``,r=e.activeProfile?.handle?.trim()||t?.handle?.trim()||e.label.trim()||`signed_in`,i=e.activeProfile?.baseUrl??t?.baseUrl??e.baseUrl??``,a=e.apiBaseUrl??t?.apiBaseUrl??``,o=e.chatApiBaseUrl??t?.chatApiBaseUrl??``;return[n?`profile:${n}`:`profile:unknown`,r,i,a,o].join(`|`)}function Lv(...e){for(let t of e){let e=t?.trim();if(e)return e}return``}function Rv({draftProvider:e,hasSelectedCloudProject:t,selectedSessionHybridWorkspace:n}){return t&&!n?`openpond`:e}var zv=[{value:`action:new-local-project`,label:`New local project`,detail:`Create a new project folder on this machine`,kind:`action`},{value:`action:add-local-project`,label:`Use existing folder`,detail:`Choose a folder on this machine`,kind:`action`},{value:`action:add-local-project-path`,label:`Use existing folder path`,detail:`Enter a local folder path manually`,kind:`action`},{value:`action:new-cloud-project`,label:`New cloud project`,detail:`Create a project in OpenPond Cloud`,kind:`action`},{value:`action:create-cloud-environment`,label:`Create cloud environment`,detail:`Set up compute for a cloud project`,kind:`action`}];function Bv(...e){return Lv(...e.map(e=>{let t=e?.trim();return t&&!t.includes(`@`)?t:null}))}function Vv(e){if(e?.state!==`signed_in`)return``;let t=e.accounts.find(e=>e.isActive)??null;return Bv(e.profile?.name,e.label,t?.displayLabel,e.profile?.handle,t?.handle,e.activeProfile?.handle)}function Hv({bootstrap:e,draftModel:t,draftProvider:n,selectedApp:r,selectedAppId:i,selectedCloudProject:a,selectedProject:o,selectedSession:s,selectedSessionId:c,selectedSessionLinkedProject:l}){let u=s?.workspaceKind===`local_project`?s.workspaceId??null:l?.id??null,d=$m(c)&&!s,f=s?tv(s.workspaceKind):!1,p=iv(s),m=s?av(s):!1,h=s?.cwd&&(!f||p)?xi(s.cwd):null,g=e?.providers??null,_=$_(o,e?.cloudProjects??[]),v=Rv({draftProvider:n,hasSelectedCloudProject:!!a,selectedSessionHybridWorkspace:p}),y=Qt(v,t,g),b=qt(e?.preferences),x=d?null:s?f?s.workspaceKind??`sandbox`:m?`sandbox`:u?`local_project`:s.workspaceKind??(s.appId?`sandbox_app`:h?`local_project`:null):a?`sandbox`:o?`local_project`:i?`sandbox_app`:null,S=d?null:s?f&&!p||m?null:u||(s.workspaceId??s.appId??h):a?null:o?.id??i,C=d?null:s?f?s.workspaceId??null:m?null:u??s.workspaceId??s.appId??h:a?null:o?.id??i,w=e?.account??null,T=!e||w?.state===`loading`||w?.state===`switching`,E=!T&&w?.state===`signed_out`,D=T?null:E?`Sign in`:w?.label??w?.activeProfile?.handle??`Account`,ee=Vv(w),O=ee?`Welcome, ${ee}`:`Welcome`,k=s?.workspaceName??s?.appName??a?.name??o?.name??r?.name??null,A=tv(x)?`cloud`:`local`,j=o?.name??l?.name??(s?.workspaceKind===`local_project`?s.workspaceName:null)??`Local workspace`,te=(A===`cloud`?k:null)??a?.name??_?.name??o?.name??`Cloud workspace`;return{account:w,accountLabel:D,accountPending:T,accountSignedOut:E,activeModel:y,activeProvider:v,activeWorkspaceAppId:S,activeWorkspaceId:C,activeWorkspaceKind:x,activeWorkspaceLocation:A,appDefaults:b,cloudLinked:!!(a?.id||_?.id||s?.cloudProjectId||A===`cloud`),cloudTargetName:te,localTargetName:j,selectedCodexHistoryPending:d,selectedSessionCloudWorkspace:f,selectedSessionLocalPathWorkspaceId:h,selectedSessionPendingCloudStart:m,selectedSessionProjectId:u,startMessage:O,workspaceName:k}}function Uv({accountPending:e,accountSignedOut:t,activeWorkspaceLocation:n,bootstrap:r,busy:i,cloudLinked:a,selectedCloudProject:o,selectedProject:s,selectedSession:c,pendingWorkspaceTarget:l,workspaceStates:u,workspaceBusy:d}){let f=$_(s,r?.cloudProjects??[]),p=!s?.linkedSandboxProject?.projectId||!!f,m=(0,J.useMemo)(()=>{let e=(r?.localProjects??[]).map(e=>({value:`local:${e.id}`,label:e.name,detail:e.workspacePath,kind:`local`})),t=(r?.cloudProjects??[]).map(e=>({value:`cloud:${e.id}`,label:e.name,detail:e.organizationName??e.sourceLabel??`OpenPond Cloud`,kind:`cloud`})),n=s?`local:${s.id}`:o?`cloud:${o.id}`:`none`,a=[...e,...t].find(e=>e.value===n)??null;return{value:n,label:a?.label??`Select Project`,detail:a?.detail??`Choose a project for local or cloud work`,busy:d||i,options:[...e,...t,...zv,{value:`none`,label:`Don't work in a project`,detail:`General chat without project files`,kind:`none`}]}},[r?.cloudProjects,r?.localProjects,i,o,s,d]),h=!!(a||s),g=!!(o?.id||f?.id||c?.cloudProjectId||iv(c)),_=s?u[s.id]??null:null,v=Fp(_,{branch:s?.linkedSandboxProject?.defaultBranch??null,path:s?.workspacePath??c?.cwd??null,linkedCloudSourceKnown:s?.linkedSandboxProject?.projectId&&p?!!s.linkedSandboxProject.lastUploadedCommit||!_?.headCommit:!0}),y=Ip(s,o??f,_,{cloudLinkTrusted:p}),b=Lp(s,_,{cloudLinkTrusted:p});return{projectTarget:m,workspaceTarget:(0,J.useMemo)(()=>{let r={value:`local`,label:s?`Local checkout`:`Local`,detail:s?`Use the selected checkout on this machine.`:`Use an app-managed task workspace on this machine.`,stateNote:s?v:`App-managed local task workspace`,disabled:!1,disabledReason:null},i={value:`hybrid`,label:`Hybrid`,detail:`Use your selected model with hosted sandbox edits.`,stateNote:g?y:`upload required`,disabled:e||t||!g,disabledReason:t?`Add an OpenPond account before using Hybrid.`:`Upload/sync this Project to Cloud before using Hybrid.`},a={value:`cloud`,label:`Hosted`,detail:`Run with hosted compute, with or without a Project.`,stateNote:s||o?y:`Projectless hosted task`,disabled:e||t,disabledReason:t?`Add an OpenPond account before using Cloud.`:e?`Checking OpenPond account.`:null},u={value:`upload_cloud`,label:`Upload/sync to cloud`,detail:`Push local source to OpenPond Git before cloud work.`,stateNote:b,disabled:e||t||!s,disabledReason:t?`Add an OpenPond account before uploading source.`:`Select a local Project before uploading source.`},f=n===`cloud`?`local`:`cloud`,p=f===`local`?r:a,m=n===`cloud`?a:r;return l===`cloud`?m=a:l===`local`?m=r:(iv(c)||l===`hybrid`)&&(m=i),{value:m.value,label:m.label,detail:m.stateNote||m.detail,busy:d,action:{...p,label:f===`cloud`?`Hosted`:s?`Local checkout`:`Check out locally`},uploadAction:s?u:null,options:[r,i,a]}},[n,e,t,a,h,y,g,v,l,s,c,b,d])}}function Wv(e){return new Set(e.map(e=>e.id))}function Gv(e,t){let n=e?.linkedOpenPondApp??null;return n?.appId&&t.has(n.appId)?n:null}function Kv({bootstrap:e,codexHistorySessions:t,selectedProjectId:n,selectedSessionId:r,selectedAppId:i,sessions:a}){let o=(0,J.useMemo)(()=>e?.apps.find(e=>e.id===i)??null,[e?.apps,i]),s=(0,J.useMemo)(()=>new Map((e?.localProjects??[]).map(e=>[e.id,e])),[e?.localProjects]),c=(0,J.useMemo)(()=>new Map((e?.cloudProjects??[]).map(e=>[e.id,e])),[e?.cloudProjects]),l=(0,J.useMemo)(()=>$t(n),[n]),u=(0,J.useMemo)(()=>l?.kind===`local`?s.get(l.id)??null:null,[s,l]),d=(0,J.useMemo)(()=>l?.kind===`cloud`?c.get(l.id)??null:null,[c,l]),f=(0,J.useMemo)(()=>Wv(e?.apps??[]),[e?.apps]),p=(0,J.useMemo)(()=>Ar(e?.apps??[]),[e?.apps]),m=(0,J.useMemo)(()=>{let t=[];for(let n of e?.localProjects??[]){let e=Gv(n,f);e&&t.push([e.appId,n.id])}return new Map(t)},[e?.localProjects,f]),h=(0,J.useMemo)(()=>new Set((e?.localProjects??[]).map(e=>e.id)),[e?.localProjects]),g=(0,J.useMemo)(()=>eh(e?.localProjects??[]),[e?.localProjects]),_=(0,J.useRef)([]),v=(0,J.useMemo)(()=>qv(a,t,_.current),[t,a]),y=(0,J.useMemo)(()=>v.find(e=>e.id===r)??null,[v,r]),b=(0,J.useMemo)(()=>{if(!y)return null;if(y.localProjectId)return s.get(y.localProjectId)??null;if(y.workspaceKind===`local_project`)return y.workspaceId?s.get(y.workspaceId)??null:null;let e=th(y,h,g);if(e)return s.get(e)??null;if(!y.appId)return null;let t=m.get(y.appId);return t?s.get(t)??null:null},[m,s,h,g,y]),x=(0,J.useMemo)(()=>y?.cloudProjectId?c.get(y.cloudProjectId)??null:null,[c,y]),S=u??b,C=d??x,w=(0,J.useMemo)(()=>Gv(S,f),[f,S]);return{cloudProjectById:c,currentAppIds:f,linkedProjectByAppId:m,localProjectById:s,mentionableSandboxApps:p,selectedApp:o,selectedCloudProject:C,selectedProject:S,selectedProjectLinkedApp:(0,J.useMemo)(()=>w?e?.apps.find(e=>e.id===w.appId)??null:null,[e?.apps,w]),selectedProjectLinkedOpenPondApp:w,selectedSession:y,selectedSessionLinkedProject:b,sidebarSessions:v}}function qv(e,t,n){let r=new Map;for(let t of e){let e=Yv(t);r.set(e,t)}for(let e of t){let t=Yv(e),n=r.get(t);r.set(t,n?Jv(n,e):e)}let i=Array.from(r.entries());if(!n)return i.sort((e,t)=>Xv(e[1],t[1])).map(e=>e[1]);let a=[],o=new Set;for(let e of n){let t=r.get(e);t&&(a.push([e,t]),o.add(e))}let s=[...i.filter(([e])=>!o.has(e)).sort((e,t)=>Xv(e[1],t[1])),...a];return n.splice(0,n.length,...s.map(([e])=>e)),s.map(e=>e[1])}function Jv(e,t){return{...e,metadata:Zv(e.metadata,t.metadata),status:e.status===`active`||t.status===`active`?`active`:e.status,updatedAt:Qv(e.updatedAt,t.updatedAt)}}function Yv(e){return e.codexThreadId?`codex:${e.codexThreadId}`:`session:${e.id}`}function Xv(e,t){let n=$v(t)-$v(e);return n===0?e.title.localeCompare(t.title):n}function Zv(e,t){let n={...e??{},...t??{}};return Object.keys(n).length>0?n:void 0}function Qv(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return t;let r=Date.parse(t);return Number.isFinite(r)&&r>n?t:e}function $v(e){let t=Date.parse(e.updatedAt);if(Number.isFinite(t))return t;let n=Date.parse(e.createdAt);return Number.isFinite(n)?n:0}function ey(e){return!!(e&&tv(e.workspaceKind)&&!iv(e)&&e.provider!==`openpond`)}function ty(e,t){let n=tn(e,t);return`${e.id}\u0000${n.provider}\u0000${n.model}`}function ny({activeWorkspaceId:e,activeWorkspaceKind:t,connection:n,expandProject:r,linkedProjectByAppId:i,providerSettings:a,selectedAppId:o,selectedSession:s,selectedSessionId:c,selectedSessionProjectId:l,setDiffPanelExpanded:u,setDraftModel:d,setDraftProvider:f,setError:p,setSelectedAppId:m,setSelectedProjectId:h,setSessions:g,setTerminalOpen:_}){let v=(0,J.useRef)(null);(0,J.useEffect)(()=>{if(!o)return;let e=l??(c?null:i.get(o)??null);if(!e)return;let t=Yt(`local`,e);m(null),h(t),r(t)},[r,i,o,c,l,m,h]),(0,J.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key==="`"&&(e.preventDefault(),_(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]),(0,J.useEffect)(()=>{u(!1)},[e,t,u]),(0,J.useEffect)(()=>{if(!c){v.current=null;return}if(!s||s.id!==c)return;let e=ty(s,a);if(v.current===e)return;v.current=e;let t=tn(s,a);f(t.provider),d(t.model)},[a,s,c,d,f]),(0,J.useEffect)(()=>{n&&s&&ey(s)&&Z.patchSession(n,s.id,{provider:`openpond`}).then(e=>{g(t=>t.map(t=>t.id===e.id?e:t)),f(`openpond`),d(e=>Qt(`openpond`,e))}).catch(e=>{p(e instanceof Error?e.message:String(e))})},[n,s,d,f,p,g])}function ry({connection:e,setError:t}){return(0,J.useCallback)(async(n,r,i)=>{if(!e){let e=Error(`OpenPond App server is not connected.`);throw t(e.message),e}t(null);try{await Z.resolveApproval(e,n,{decision:r,answers:i})}catch(e){throw t(e instanceof Error?e.message:String(e)),e}},[e,t])}function iy({activeProvider:e,contextCompaction:t,contextUsage:n,pinnedItems:r,pinnedPreviewKeys:i,pinnedProjects:a,projectRows:o,visibleProjectRows:s}){let c=(0,J.useMemo)(()=>un(r,i),[r,i]),l=(0,J.useMemo)(()=>Hn({provider:e,snapshot:n,preferences:t}),[e,t,n]),u=(0,J.useMemo)(()=>Array.from(new Set([...a,...s].filter(rn).map(e=>e.project.id))),[a,s]);return{commandProjectRows:(0,J.useMemo)(()=>o,[o]),contextWindowStatus:l,pinnedRows:c,sidebarWorkspaceAppIds:u}}function ay({appDispatch:e,expandProject:t,linkedProjectByAppId:n,requestComposerFocus:r,onBeginNewChat:i,setMentionedAppId:a}){return(0,J.useCallback)((o=null,s=null)=>{i?.();let c=o?.id?n.get(o.id)??null:null;if(c){let n=Yt(`local`,c);a(null),e({type:`selectProject`,projectId:n}),t(n),r()}else a(null),e({type:`beginNewChat`,appId:o?.id??null,projectId:o?null:s}),!o&&s&&t(s),r()},[e,t,n,i,r,a])}function oy(e,t,n){let r=ag(e),i=h();(0,J.useEffect)(()=>{if(!r.error)return;let e=t(r.error,`error`,{dedupeKey:`openpond-connection`,groupKey:`openpond-connection`,detail:`Reconnecting automatically…`});return()=>{n({type:`clearToast`,toastId:e})}},[r.error,t,n]),(0,J.useEffect)(()=>{r.recovery&&!r.error&&i.refetchQueries({type:`active`,predicate:e=>{let t=e.state.error;return e.state.status===`error`&&t instanceof Error&&fr(t.message)}})},[r.recovery,r.error,i])}function sy({bootstrap:e,connectedAppRows:t,mentionableSandboxApps:n,runtimeIndexes:r,selectedApp:i,selectedCloudProject:a,selectedProject:o,selectedSession:s,selectedSessionId:c}){let l=(0,J.useMemo)(()=>{let t=new Map;for(let n of e?.cloudProjects??[]){let e=t.get(n.teamId)??[];e.push(n.id),t.set(n.teamId,e)}return t},[e?.cloudProjects]);return{chatMentionApps:s||i||o||a?[]:n,cloudProjectIdsByTeam:l,connectedAppMentions:(0,J.useMemo)(()=>jr(t),[t]),pendingApproval:(0,J.useMemo)(()=>z_(r,c),[r,c])}}function cy({connection:e,setBootstrap:t,setCodexPermissionMode:n,setCodexReasoningEffort:r,setError:i}){return{changeCodexPermissionMode:(0,J.useCallback)(a=>{e?Z.savePreferences(e,{codexPermissionMode:a}).then(e=>{n(e.preferences.codexPermissionMode),r(e.preferences.codexReasoningEffort),t(t=>t&&{...t,preferences:e.preferences})}).catch(e=>{i(e instanceof Error?e.message:String(e))}):i(`Connect to OpenPond before saving preferences.`)},[e,t,n,r,i]),changeCodexReasoningEffort:(0,J.useCallback)(a=>{e?Z.savePreferences(e,{codexReasoningEffort:a}).then(e=>{n(e.preferences.codexPermissionMode),r(e.preferences.codexReasoningEffort),t(t=>t&&{...t,preferences:e.preferences})}).catch(e=>{i(e instanceof Error?e.message:String(e))}):i(`Connect to OpenPond before saving preferences.`)},[e,t,n,r,i])}}function ly(e,t){if(!e)return t;let n=_y(e.updatedAt,t.updatedAt)?{...t,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order,status:e.status,updatedAt:e.updatedAt}:t;return vy(e,n)?e:n}function uy(e,t){let n=ly(e,t),r=e?{...n,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order,updatedAt:e.updatedAt}:n;return e&&vy(e,r)?e:r}function dy(e,t){let n=!1,r=!1,i=e.map(e=>{if(e.id!==t.id)return e;n=!0;let i=ly(e,t);return i!==e&&(r=!0),i});return n?r?i:e:[t,...e]}function fy(e,t){let n=!1,r=!1,i=e.map(e=>{if(e.id!==t.id)return e;n=!0;let i=uy(e,t);return i!==e&&(r=!0),i});return n?r?i:e:[t,...e]}function py(e,t,n,r=Date.now()){let i=new Map(e.map(e=>[e.id,e]));return t.map(e=>{let t=i.get(e.id);if(t&&n){let i=by(t,e,n,r);if(i)return i}return ly(t,e)})}function my(e,t,n,r=Date.now()){let i=new Map(e.map(e=>[e.id,e])),a=new Map(py(e,t,n,r).map(e=>[e.id,e])),o=new Set(i.keys()),s=t.filter(e=>!o.has(e.id)).map(e=>a.get(e.id)??e),c=e.map(e=>a.get(e.id)||(hy(e,t)?e:null)).filter(e=>!!e);return[...s,...c]}function hy(e,t){let n=Date.parse(e.updatedAt);if(!Number.isFinite(n))return!1;let r=yy(t);return r===null||n>=r}function gy(e,t,n,r=Date.now()){let i=new Map(t.map(e=>[e.id,e]));for(let t of n){let n=i.get(t.id);n&&(xy(n,t)||(e[t.id]=r))}}function _y(e,t){let n=Date.parse(e),r=Date.parse(t);return Number.isFinite(n)&&Number.isFinite(r)&&n>r}function vy(e,t){return JSON.stringify(e)===JSON.stringify(t)}function yy(e){let t=null;for(let n of e){let e=Date.parse(n.updatedAt);Number.isFinite(e)&&(t=t===null?e:Math.max(t,e))}return t}function by(e,t,n,r){let i=n[t.id];return i===void 0?null:r-i>6e4||xy(e,t)?(delete n[t.id],null):{...t,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order}}function xy(e,t){return e.pinned===t.pinned&&e.savedForLater===t.savedForLater&&e.archived===t.archived&&e.order===t.order}var Sy=5e3,Cy=5e4,wy=16,Ty=3e4,Ey=new Map;function Dy(e,t){return Ey.get(ky(e,t))?.payload??null}async function Oy(e,t,n={}){let r=ky(e,t),i=Ey.get(r),a=n.limit??800,o=n.tail??!0;if(i?.promise)return i.promise;if(!n.force&&o&&i?.payload&&Date.now()-i.fetchedAt<=Ty)return Ay(r,i),i.payload;let s=!!(n.force&&o&&i?.payload),c=s?i?.payload?.events.at(-1)?.id:void 0,l=Z.codexHistoryThreadIncremental(e,t,{afterEventId:c,limit:a,revision:s?i?.revision:void 0,tail:o}).then(e=>{let t=Ey.get(r)?.payload??i?.payload;if(e.unchanged){if(!t)throw Error(`Codex history revision matched without a cached thread.`);return Ey.set(r,{fetchedAt:Date.now(),payload:t,revision:e.revision}),Ay(r,Ey.get(r)),t}let n={session:e.session,events:e.events},a=o&&t&&!e.reset?{...n,events:My(t.events,n.events)}:n;return Ey.set(r,{fetchedAt:Date.now(),payload:a,revision:e.revision}),jy(),a}).catch(e=>{throw Ey.get(r)?.promise===l&&Ey.delete(r),e});return Ey.set(r,{fetchedAt:i?.fetchedAt??0,payload:i?.payload,promise:l,revision:i?.revision}),jy(),l}function ky(e,t){return`${e.serverUrl}\n${e.token}\n${t}`}function Ay(e,t){Ey.delete(e),Ey.set(e,t)}function jy(){for(;Ey.size>wy;){let e=Ey.keys().next().value;if(!e)return;Ey.delete(e)}}function My(e,t){let n=new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.set(e.id,e);return Array.from(n.values())}var Ny=500,Py=2500,Fy=15e3;function Iy(e){return e.active?e.surface===`thread`?Ny:2e3:e.surface===`thread`?Py:Fy}function Ly(e,t){return!t||e.session.status===`active`?e:{...e,session:{...e.session,status:`active`}}}function Ry(e={}){let t={isVisible:e.isVisible??(()=>typeof document>`u`||document.visibilityState!==`hidden`),onVisibilityChange:e.onVisibilityChange??(e=>typeof document>`u`?()=>{}:(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e))),cachedPayload:e.cachedPayload??Dy,clearTimer:e.clearTimer??(e=>globalThis.clearTimeout(e)),loadPayload:e.loadPayload??Oy,now:e.now??Date.now,setTimer:e.setTimer??((e,t)=>globalThis.setTimeout(e,t))},n=new Map,r=1,i=null;function a(){for(let e of n.values())u(e),t.isVisible()&&s(e,0)}function o(e){i??=t.onVisibilityChange(a);let o=Vy(e.connection,e.sessionId),c=n.get(o);c||(c={connection:e.connection,disposed:!1,inFlight:null,latestPayload:t.cachedPayload(e.connection,e.sessionId),nextRefreshAt:null,sessionId:e.sessionId,subscribers:new Map,timer:null},n.set(o,c));let d=r++;return c.subscribers.set(d,e),c.latestPayload&&e.onPayload(c.latestPayload),s(c,0),()=>{let e=n.get(o);e&&(e.subscribers.delete(d),e.subscribers.size>0?s(e,l(e)):(e.disposed=!0,u(e),n.delete(o),n.size===0&&(i?.(),i=null)))}}function s(e,n){if(!t.isVisible()||e.disposed||e.subscribers.size===0||e.inFlight)return;let r=t.now()+Math.max(0,n);e.timer&&e.nextRefreshAt!==null&&e.nextRefreshAt<=r||(u(e),e.nextRefreshAt=r,e.timer=t.setTimer(()=>{e.timer=null,e.nextRefreshAt=null,c(e)},Math.max(0,n)))}async function c(e){if(!t.isVisible()||e.disposed||e.subscribers.size===0||e.inFlight)return;let n=t.loadPayload(e.connection,e.sessionId,{force:!!e.latestPayload});e.inFlight=n;try{let t=await n;if(e.disposed||t===e.latestPayload)return;e.latestPayload=t;for(let n of e.subscribers.values())n.onPayload(t)}catch(t){if(e.disposed)return;for(let n of e.subscribers.values())n.onError?.(t)}finally{e.inFlight===n&&(e.inFlight=null),e.disposed||s(e,l(e))}}function l(e){let t=[...e.subscribers.values()];return Iy({active:t.some(e=>e.locallyActive||e.reportedActive)||e.latestPayload?.session.status===`active`||Pn(e.latestPayload?.events??[])?.tone===`active`,surface:t.some(e=>e.surface===`thread`)?`thread`:`sidebar`})}function u(e){e.timer&&t.clearTimer(e.timer),e.timer=null,e.nextRefreshAt=null}return{subscribe:o}}var zy=Ry();function By(e){return zy.subscribe(e)}function Vy(e,t){return`${e.serverUrl}\n${e.token}\n${t}`}function Hy({connection:e,selectedSessionId:t,selectedSessionLocallyActive:n,selectedSessionStatus:r,setCodexHistorySessions:i,setError:a}){let[o,s]=(0,J.useState)({events:[],sessionId:null}),c=$m(t)?t:null,l=c&&o.sessionId===c?o.events:[],u=(0,J.useCallback)(e=>{s(t=>{if(!c)return{events:[],sessionId:null};let n=t.sessionId===c?t.events:[];return{events:typeof e==`function`?e(n):e,sessionId:c}})},[c]);return(0,J.useEffect)(()=>{if(!e||!c){s(e=>e.sessionId===null&&e.events.length===0?e:{events:[],sessionId:null});return}a(e=>e===`Session not found`?null:e);let t=n;return By({connection:e,locallyActive:t,onError:e=>a(e instanceof Error?e.message:String(e)),onPayload:e=>{let n=Ly(e,t);s(e=>e.sessionId===c?{events:o_(e.events,n.events),sessionId:c}:{events:n.events,sessionId:c}),a(e=>e===`Session not found`?null:e),i(e=>fy(e,n.session))},reportedActive:r===`active`,sessionId:c,surface:`thread`})},[e,c,n,r,i,a]),{codexHistoryEvents:l,setCodexHistoryEvents:u}}function Uy(e){let t=e.currentTarget,n=t.getBoundingClientRect(),r=t.cloneNode(!0);r.classList.add(`sidebar-drag-preview`),r.style.width=`${n.width}px`,r.style.height=`${n.height}px`,r.style.position=`fixed`,r.style.top=`-1000px`,r.style.left=`-1000px`,r.style.pointerEvents=`none`,r.style.boxSizing=`border-box`,r.style.maxWidth=`none`,document.body.appendChild(r),e.dataTransfer.setDragImage(r,e.clientX-n.left,e.clientY-n.top),window.setTimeout(()=>r.remove(),0)}function Wy({connection:e,appPreferences:t,sessions:n,pinnedItems:r,setAppPreferences:i,setCodexHistorySessions:a,setSessions:o,sidebarFileBookmarks:s,setSidebarFileBookmarks:c,setError:l}){let[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)(null),m=(0,J.useRef)(null),h=(0,J.useRef)(null);function g(e,t){e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`${t.type}:${t.id}`),Uy(e);let n=r.map(e=>e.key);m.current=t,h.current=n,d(t),p(n)}function _(){m.current=null,h.current=null,d(null),p(null)}function v(e,t){let n=m.current;if(!n)return;let i=cn(e),a=h.current??r.map(e=>e.key),o=Kt(a,Xt(n),Xt(t),i);an(a,o)||(h.current=o,p(o))}function y(u){if(!e)return;let d=r.map(e=>e.key),f=new Set(d),p=[...u.filter(e=>f.has(e)),...d.filter(e=>!u.includes(e))];if(an(d,p))return;let m=t,h=new Map(n.map(e=>[e.id,e])),g=s,_=new Map(r.map(e=>[e.key,e]));i(e=>{let t={...e};return p.forEach((e,n)=>{let r=_.get(e);r?.type===`project`&&(t[r.id]={...t[r.id]??{},pinned:!0,archived:!1,order:n})}),t});let v=e=>{let t=new Map(e.map(e=>[e.id,e])),n=p.map((e,n)=>{let r=_.get(e),i=r?.type===`session`?t.get(r.id):null;return i?{...i,order:n}:null}).filter(e=>!!e),r=new Map(n.map(e=>[e.id,e]));return e.map(e=>r.get(e.id)??e)};o(v),a(v),c(e=>{let t=new Map;return p.forEach((e,n)=>{let r=_.get(e);r?.type===`file`&&t.set(r.id,n)}),e.map(e=>{let n=t.get(e.id);return n===void 0?e:{...e,order:n}})}),Promise.all(p.map((t,n)=>{let r=_.get(t);return r?r.type===`project`?Z.patchSidebarAppPreference(e,r.id,{pinned:!0,archived:!1,order:n}):r.type===`session`?Z.patchSession(e,r.id,{order:n}):Z.patchSidebarFile(e,{workspaceKind:r.file.workspaceKind,workspaceId:r.file.workspaceId,workspaceName:r.file.workspaceName,path:r.file.path,status:`pinned`,order:n,sourceSessionId:r.file.sourceSessionId}):Promise.resolve(null)})).catch(e=>{l(e instanceof Error?e.message:String(e)),i(m);let t=e=>e.map(e=>h.get(e.id)??e);o(t),a(t),c(g)})}function b(e,t){let n=m.current;if(n){let i=h.current??r.map(e=>e.key);y(Kt(i,Xt(n),Xt(t),cn(e)))}_()}function x(){m.current&&y(h.current??r.map(e=>e.key)),_()}return{dragItem:u,pinnedPreviewKeys:f,startPinnedDrag:g,clearSidebarDrag:_,previewPinnedDrop:v,commitPinnedDrop:b,commitPinnedPreviewDrop:x}}function Gy({connection:e,sessions:t,setCodexHistorySessions:n,setError:r,setSessions:i}){let[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(null),l=(0,J.useRef)(null),u=(0,J.useRef)(null);function d(e,t){e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`session:${t.sessionId}`),Uy(e),l.current=t,u.current=t.visibleSessionIds,o(t.sessionId),c(t.visibleSessionIds)}function f(e,t){let n=l.current;if(!n)return;let r=u.current??n.visibleSessionIds,i=Kt(r,n.sessionId,t,cn(e));Ky(r,i)||(u.current=i,c(i))}function p(){l.current=null,u.current=null,o(null),c(null)}function m(e,t){let n=l.current;if(!n){p();return}let r=u.current??n.visibleSessionIds,i=Kt(r,n.sessionId,t,cn(e));g(mh(n.allSessionIds,n.visibleSessionIds,i)),p()}function h(){let e=l.current;e&&g(mh(e.allSessionIds,e.visibleSessionIds,u.current??e.visibleSessionIds)),p()}function g(a){let o=new Map(a.map((e,t)=>[e,t])),s=new Map(t.map(e=>[e.id,e.order])),c=a.filter((e,t)=>s.get(e)!==t);if(c.length===0)return;let l=e=>e.map(e=>{let t=o.get(e.id);return t===void 0||t===e.order?e:{...e,order:t}});i(l),n(l),e&&Promise.all(c.map(t=>Z.patchSession(e,t,{order:o.get(t)}))).catch(e=>{let t=e=>e.map(e=>{let t=s.get(e.id);return t===void 0||t===e.order?e:{...e,order:t}});i(t),n(t),r(e instanceof Error?e.message:String(e))})}return{clearTaskDrag:p,commitTaskDrop:m,commitTaskPreviewDrop:h,previewTaskDrop:f,startTaskDrag:d,taskDragSessionId:a,taskPreviewSessionIds:s}}function Ky(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function qy(e){let t=/^\s*<task-notification>\s*([\s\S]*?)\s*<\/task-notification>\s*$/.exec(e);if(!t)return null;let n=new Map,r=/<(task-id|tool-use-id|output-file|status|summary)>([\s\S]*?)<\/\1>/g,i=0;for(let e of t[1].matchAll(r)){if(t[1].slice(i,e.index).trim()||n.has(e[1]))return null;n.set(e[1],e[2].trim()),i=e.index+e[0].length}if(t[1].slice(i).trim())return null;let a=n.get(`task-id`),o=n.get(`summary`),s=n.get(`status`);if(!a||!o||![`completed`,`failed`,`stopped`].includes(s??``))return null;let c=n.get(`output-file`);return{taskId:a,summary:o,status:s,...c?.startsWith(`/`)&&!/[\0\r\n]/.test(c)?{outputFile:c}:{}}}var Jy=64e3,Yy=2400,Xy={"--bg":`--surface-page`,"--panel":`--surface-panel`,"--panel-soft":`--surface-raised`,"--text":`--text-primary`,"--muted":`--text-muted`,"--border":`--border-default`,"--orange":`--accent-warm`,"--cyan":`--accent-primary`,"--blue":`--accent-info`},Zy={...Object.fromEntries(Object.entries(Xy).map(([e,t])=>[e,Nr.dark[t]])),"--font-web":`"Figtree",Inter,system-ui,sans-serif`,"--color-scheme":`dark`};N(R(Object.keys(Zy)),B().min(1).max(300));var Qy=F({width:L().int().min(280).max(1440),height:L().int().min(80).max(Yy)}),$y=F({visualId:B().regex(/^visual_[a-f0-9]{32}$/),publicationId:B().regex(/^visual_pub_[a-f0-9]{32}$/),sessionId:B().min(1),turnId:B().min(1),output:Qe,heights:j(Qy).min(1).max(4)}),eb=F({kind:R([`dataset`,`experiment`]),id:B().trim().min(1).max(240),revision:L().int().positive().optional()}).strict().refine(e=>e.kind!==`dataset`||e.revision!==void 0,`Dataset selection requires an exact revision.`);F({html:B().min(1).max(Jy),width:L().int().min(280).max(1440).default(680),assets:j(F({name:B().regex(/^[a-zA-Z0-9_-]{1,64}$/),path:B().min(1).max(4096)})).max(8).default([])}),F({previewId:B().uuid(),title:B().trim().min(1).max(200).regex(/^[^\u0000-\u001f\u007f]+$/,`Use a single-line title without control characters.`),visualId:B().regex(/^visual_[a-f0-9]{32}$/).optional()}),F({screenshots:j(B().min(1).max(56e5)).min(1).max(2),heights:j(Qy).min(1).max(4),console:j(F({level:R([`log`,`warn`,`error`]),text:B().max(2e3)})).max(40)}).refine(e=>e.screenshots.length===e.heights.length,`Each measured width needs a screenshot.`);function Q(e,t){if(!e)return null;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t}return null}function tb(e){let t=e.trim();if(!t||!t.startsWith(`{`)&&!t.startsWith(`[`))return null;try{return JSON.parse(t)}catch{return null}}function $(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function nb(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(t(r))return r}return null}function rb(e){if(e.action!==`mcpToolCall`||![`tool.started`,`tool.completed`].includes(e.name))return e;let t=$(e.data),n=Q(t,[`tool`]);return n!==`openpond_dataset`&&n!==`openpond_experiment`?e:{...e,action:n,args:$(t?.arguments)??void 0,status:e.name===`tool.completed`&&t?.status===`failed`?`failed`:e.status}}function ib(e){if(e.action!==`openpond_dataset`&&e.action!==`openpond_experiment`)return null;if(e.name===`tool.started`)return e.args?JSON.stringify(e.args,null,2):null;let t=$(e.data),n=$(t?.result),r=Array.isArray(n?.content)?n.content.flatMap(e=>{let t=$(e);return t?.type===`text`&&typeof t.text==`string`?[t.text]:[]}):[],i=Q($(t?.error),[`message`]);return i&&r.push(i),r.length?r.join(`
21
- `):null}function ab(e,t){let n=new Map;for(let e of t){if(e.source!==`server`||!e.sessionId||!e.turnId||!e.data||typeof e.data!=`object`||e.data.chatResourcePresentation===`context`)continue;let t=Gt.safeParse(e.data.chatResource);if(!t.success)continue;let r=t.data,i=n.get(e.turnId)??{sessionId:e.sessionId,timestamp:e.timestamp,resources:new Map},a=`${r.kind}:${r.id}`,o=i.resources.get(a);o&&(r.revision<o.summary.revision||r.revision===o.summary.revision&&(e.timestamp<o.timestamp||[`Creating`,`Importing`].includes(r.state)&&![`Creating`,`Importing`].includes(o.summary.state)))||(i.resources.set(a,{summary:r,timestamp:e.timestamp}),n.set(e.turnId,i))}let r=[],i=new Map;e.forEach((e,t)=>{e.turnId&&i.set(e.turnId,t)}),e.forEach((e,t)=>{r.push(e);let a=e.turnId?n.get(e.turnId):void 0;a&&i.get(e.turnId)===t&&(r.push({id:`chat-resources:${e.turnId}`,role:`resources`,turnId:e.turnId,resourceSessionId:a.sessionId,timestamp:a.timestamp,resources:[...a.resources.values()].map(e=>e.summary)}),n.delete(e.turnId))});for(let[e,t]of n)r.push({id:`chat-resources:${e}`,role:`resources`,turnId:e,resourceSessionId:t.sessionId,timestamp:t.timestamp,resources:[...t.resources.values()].map(e=>e.summary)});return r}function ob(e,t,n){if(t.name===`workspace_action_result`){let r=nb(e,e=>e.role===`assistant`&&e.turnId===t.turnId&&e.actionRun?.actionName===n.actionName);if(r?.actionRun){r.id=t.id,r.timestamp=t.timestamp,r.actionRun={...r.actionRun,...n,refs:fb([...r.actionRun.refs,...n.refs]),childCalls:n.childCalls.length>0?n.childCalls:r.actionRun.childCalls};return}}e.push({id:t.id,role:`assistant`,actionRun:n,timestamp:t.timestamp,turnId:t.turnId})}function sb(e){if(e.name!==`workspace_action`&&e.name!==`workspace_action_result`)return null;let t=$(e.data),n=$(e.args),r=Q(n,[`actionName`])??Q($(n?.input),[`actionName`])??cb(t)??cb($(t?.run))??cb($(t?.agentRun));if(!(e.action===`sandbox_run_action`||e.action===`profile_run_action`||r||t?.openPondActionRun===!0||t?.openPondProfileActionRun===!0)||!r)return null;let i=$(t?.run)??$(t?.agentRun),a=$(i?.metadata),o=$(t?.actionSummary)??$(i?.actionSummary)??$(a?.actionSummary),s=$(t?.action)??o??$(a?.selectedAction)??null,c=$(t?.responseSummary)??$(i?.responseSummary)??$(a?.responseSummary),l=$(t?.sourceSummary)??$(i?.sourceSummary)??$(a?.sourceSummary),u=$(t?.traceSummary)??$(i?.traceSummary)??$(a?.traceSummary),d=$(t?.evalSummary)??$(i?.evalSummary)??$(a?.evalSummary),f=fb([...ub(`artifact`,t?.artifactRefs,`Artifact`),...ub(`artifact`,s?.artifactRefs,`Artifact`),...ub(`artifact`,o?.artifactRefs,`Artifact`),...ub(`artifact`,c?.artifactRefs,`Artifact`),...ub(`trace`,t?.traceArtifactRefs,`Trace`),...ub(`trace`,u?.artifactRefs,`Trace`),...ub(`eval`,t?.evalResultArtifactRefs,`Eval`),...ub(`eval`,d?.artifactRefs,`Eval`),...ub(`output`,t?.outputRefs,`Output`)]),p=Q(l,[`sourceRef`,`ref`]);return p&&f.push({id:pb(`source`,p),kind:`source`,label:`Source`,target:p}),{actionName:r,title:Q(s,[`label`,`title`,`name`])??Q(a,[`selectedActionLabel`])??_b(r),status:lb(e,c,i),responseText:Q(c,[`text`,`summary`,`message`])??(e.name===`workspace_action_result`&&e.output?.trim()||null),runId:Q(i,[`id`,`runId`])??Q(t,[`runId`,`agentRunId`])??null,projectId:Q(i,[`projectId`])??Q(t,[`projectId`])??Q(n,[`projectId`])??null,agentId:Q(i,[`agentId`])??Q(t,[`agentId`])??Q(n,[`agentId`])??null,agentName:Q($(s?.implementation),[`agentName`])??Q(s,[`agentName`])??Q(a,[`selectedAgentName`])??null,sandboxId:Q(i,[`sandboxId`])??Q(t,[`sandboxId`])??Q($(t?.sandbox),[`id`])??Q($(t?.createdSandbox),[`id`])??Q(n,[`sandboxId`])??null,runtimeId:Q(i,[`runtimeId`])??Q(t,[`runtimeId`])??null,implementationType:Q(t,[`implementationType`])??Q(s,[`implementationType`,`type`,`kind`])??Q($(s?.implementation),[`type`,`kind`])??Q(a,[`implementationType`])??(e.action===`profile_run_action`||t?.openPondProfileActionRun===!0?`openpond-profile-action`:null),sourceRef:p,manifestHash:Q(l,[`manifestHash`])??Q(t,[`manifestHash`])??Q(a,[`manifestHash`])??null,refs:fb(f),childCalls:mb(t,i,a)}}function cb(e){return e?Q(e,[`actionName`,`name`])??Q($(e.action),[`actionName`,`name`])??Q($(e.actionSummary),[`actionName`,`name`])??Q($(e.selectedEntrypoint),[`name`]):null}function lb(e,t,n){if(e.status===`failed`)return`failed`;let r=Q(t,[`status`]);if(r===`failed`)return`failed`;if(r===`running`||r===`pending`)return r;if(r===`available`||e.status===`completed`)return`completed`;let i=Q(n,[`status`]);return i===`failed`?`failed`:i===`succeeded`||i===`completed`?`completed`:i===`queued`||i===`running`||i===`runtime_created`?`running`:e.status===`pending`?`pending`:e.status===`started`||e.name===`workspace_action`?`running`:`unknown`}function ub(e,t,n){return(Array.isArray(t)?t:t?[t]:[]).flatMap(t=>{let r=db(e,t,n);return r?[r]:[]})}function db(e,t,n){if(typeof t==`string`&&t.trim()){let r=t.trim();return{id:pb(e,r),kind:e,label:n,target:r}}let r=$(t);if(!r)return null;let i=Q(r,[`url`,`webUrl`,`artifactPath`,`path`,`ref`])??Q($(r.artifact),[`url`,`webUrl`,`path`,`ref`]);if(!i)return null;let a=Q(r,[`label`,`title`,`name`,`type`,`kind`])??n;return{id:pb(e,i),kind:e,label:a,target:i}}function fb(e){let t=new Set,n=[];for(let r of e){let e=`${r.kind}:${r.target}`;t.has(e)||(t.add(e),n.push(r))}return n}function pb(e,t){return`${e}:${t}`}function mb(e,t,n){return[e?.childCalls,e?.childRuns,e?.implementationCalls,t?.childCalls,t?.childRuns,n?.childCalls,n?.childRuns].flatMap(e=>hb(e)).slice(0,6)}function hb(e){return(Array.isArray(e)?e:e?[e]:[]).flatMap((e,t)=>{let n=$(e);if(!n)return[];let r=Q(n,[`id`,`runId`,`callId`])??`child_${t+1}`,i=Q(n,[`label`,`title`,`actionName`,`name`,`tool`])??Q($(n.action),[`label`,`name`])??`Implementation call`,a=Q(n,[`detail`,`summary`,`runId`,`sandboxId`,`runtimeId`])??null;return[{id:r,label:i,status:gb(n),detail:a}]})}function gb(e){let t=Q(e,[`status`,`state`]);return t===`running`||t===`completed`||t===`failed`||t===`pending`?t:t===`succeeded`?`completed`:`unknown`}function _b(e){let t=e.replace(/[._-]+/g,` `).trim();return t?t.replace(/\b\w/g,e=>e.toUpperCase()):e}var vb=8192;function yb(e){return e.length<=65536?e:`${e.slice(0,vb)}
22
-
23
- … output omitted from live view; full output remains in task history …
24
-
25
- ${e.slice(-57270)}`}var bb=new Set([`.avif`,`.gif`,`.jpeg`,`.jpg`,`.png`,`.webp`]);function xb(e){if(!e)return!1;let t=e.split(`?`)[0]?.split(`#`)[0]??e,n=t.lastIndexOf(`.`);return n<0?!1:bb.has(t.slice(n).toLowerCase())}function Sb(e){return e.split(`/`).filter(Boolean).pop()??e}function Cb(e){if(!Eb(e))return;let t=$(e.data),n=(typeof t?.openpondImagePreviewPath==`string`?t.openpondImagePreviewPath:null)??Db(e.data)??Db(e.args)??Db(e.output);if(n&&xb(n))return{path:n,appId:e.appId??null,title:Sb(n)}}function wb(e){if(e.name!==`tool.completed`&&e.name!==`workspace_action_result`)return[];let t=[],n=new Set;return Tb(e.data,t,n),t.slice(0,12)}function Tb(e,t,n,r=0){if(r>7||e==null)return;if(Array.isArray(e)){for(let i of e)Tb(i,t,n,r+1);return}let i=$(e);if(!i)return;let a=Q(i,[`path`,`artifactRef`]),o=Q(i,[`contentType`,`mimeType`]);a&&o&&!n.has(a)&&(n.add(a),t.push({path:a,title:Q(i,[`title`,`name`])??Sb(a),contentType:o,sizeBytes:typeof i.sizeBytes==`number`?i.sizeBytes:null}));for(let e of Object.values(i))Tb(e,t,n,r+1)}function Eb(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return!1;let t=$(e.data);return typeof t?.openpondImagePreviewPath==`string`&&t.openpondImagePreviewPath.trim()?!0:[e.output,e.action,Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`,`command`]),Q($(t?.input),[`tool`,`toolName`,`tool_name`,`name`]),Q($(t?.arguments),[`tool`,`toolName`,`tool_name`,`name`]),Q($(t?.args),[`tool`,`toolName`,`tool_name`,`name`])].filter(e=>!!e).some(e=>e.toLowerCase().includes(`view_image`))}function Db(e,t=0,n=``){if(t>5||e==null)return null;if(typeof e==`string`){if(Ob(n)&&xb(e.trim()))return e.trim();let r=tb(e);if(r!==null){let e=Db(r,t+1,n);if(e)return e}return kb(e)}if(Array.isArray(e)){for(let r of e){let e=Db(r,t+1,n);if(e)return e}return null}let r=$(e);if(!r)return null;for(let[e,n]of Object.entries(r)){if(!Ob(e))continue;let r=Db(n,t+1,e);if(r)return r}for(let[e,n]of Object.entries(r)){if(Ob(e))continue;let r=Db(n,t+1,e);if(r)return r}return null}function Ob(e){return/^(path|filePath|filepath|imagePath|image|localPath|uri|url)$/i.test(e)}function kb(e){let t=/(?:file:\/\/)?(?:\/|\.\/|[\w.-]+\/)[^\s"'`<>]+\.(?:avif|gif|jpe?g|png|webp)\b/i.exec(e);if(!t)return null;if(!t[0].startsWith(`file://`))return t[0];try{return decodeURIComponent(new URL(t[0]).pathname)}catch{return t[0].replace(/^file:\/\//i,``)}}function Ab(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return null;let t=e.action;if(t!==`connected_app_search`&&t!==`connected_app_read`&&t!==`connected_app_write`)return null;let n=Mb(e),r=e.status===`failed`;return t===`connected_app_search`?e.name===`tool.started`?`${n} search`:r?`${n} search failed`:`${n} search`:t===`connected_app_read`?e.name===`tool.started`?`${n} lookup`:r?`${n} lookup failed`:`${n} lookup`:e.name===`tool.started`?`${n} update`:r?`${n} update failed`:`${n} update`}function jb(e){if(e.action!==`connected_app_search`&&e.action!==`connected_app_read`&&e.action!==`connected_app_write`)return null;let t=Nb(e);return[t.providerOperation,t.operation&&t.operation!==t.providerOperation?t.operation:null,t.capabilityCount>0?`${t.capabilityCount} ${t.capabilityCount===1?`capability`:`capabilities`}`:null].filter(e=>!!e).join(` / `)||t.providerLabel}function Mb(e){return Nb(e).providerLabel}function Nb(e){let t=$(e.args),n=$(e.data),r=$(n?.result),i=ri(Q(t,[`provider`])??Q(r,[`provider`])??Q(n,[`provider`])??void 0);return{providerLabel:Q(r,[`providerLabel`])??Q(n,[`providerLabel`])??(i?ei(i)?.label:null)??`connected app`,providerOperation:Q(t,[`operation`]),operation:Q(r,[`operation`])??Q(n,[`operation`]),capabilityCount:Pb(t?.capabilityIds)||Pb(r?.capabilityIds)||Pb(n?.capabilityIds)}}function Pb(e){return Array.isArray(e)?e.length:0}function Fb(e){let t=e.trim(),n=/^<(goal_context|turn_aborted)>\s*([\s\S]*?)\s*<\/\1>$/.exec(t);if(n){let e=n[1];return{kind:e,text:n[2]?.trim()||Ib(e)}}return t===`<turn_aborted>`?{kind:`turn_aborted`,text:Ib(`turn_aborted`)}:t===`<goal_context>`?{kind:`goal_context`,text:Ib(`goal_context`)}:null}function Ib(e){return e===`turn_aborted`?`The previous turn was interrupted.`:`Goal context updated.`}function Lb(e){return e.name===`diagnostic`&&$(e.data)?.kind===`goal_context`}var Rb=`Steered by user`;function zb(e){return e?.trim().toLowerCase()===Rb.toLowerCase()}function Bb(e,t){if(!t.turnId)return;Kb(e,t.turnId);let n=Vb(t);if(!n)return;let r=Gb(e,t.turnId);if(r){r.refinerActivity=n;return}let i={id:`${t.id}:work-refiner`,role:`activity_group`,activities:[],timestamp:t.timestamp,turnId:t.turnId,traceState:`completed`,traceStartedAt:t.timestamp,traceCompletedAt:t.timestamp,refinerActivity:n},a=e.findIndex(e=>e.role===`assistant`&&e.turnId===t.turnId);a>=0?e.splice(a,0,i):e.push(i)}function Vb(e){let t=$(e.data),n=$(t?.activity);return n?Ub(n,e):Wb(e,t)}function Hb(e){if(e.state===`running`)return`Refiner · Reviewing for a reusable improvement`;if(e.state===`failed`)return`Refiner · Review failed`;if(e.result===`no_action`)return`Refiner · No reusable change`;if(e.result===`routed`)return`Refiner · ${tx(e.route??`external`)} issue routed`;let t=e.result===`applied`?`Applied`:`Needs review`;return`Refiner · ${e.summary} — ${t}`}function Ub(e,t){let n=$b(e.state,[`running`,`completed`,`failed`]);if(!n)return null;let r=n===`failed`?`failed`:$b(e.result,[`no_action`,`routed`,`applied`,`retained`]),i=Qb(e.reason)??t.output??t.error??null;return{state:n,visibility:$b(e.visibility,[`always`,`material_only`])??`material_only`,result:n===`running`?null:r,workspaceId:Qb(e.workspaceId),decision:$b(e.decision,[`no_action`,`route`,`propose`]),route:Qb(e.route),operation:$b(e.operation,[`create`,`update`,`delete`]),target:Qb(e.target),summary:Qb(e.summary)??ex(n,r),expectedOutcome:Qb(e.expectedOutcome),reason:i,evidenceBasis:qb(e.evidenceBasis),critiqueStatus:$b(e.critiqueStatus,[`not_applicable`,`pending`,`passed`,`rejected`,`failed`])??(n===`running`?`pending`:`not_applicable`),validationStatus:$b(e.validationStatus,[`not_applicable`,`pending`,`passed`,`failed`])??(n===`running`?`pending`:`not_applicable`),validations:Jb(e.validationReceipts),edits:Yb(e.edits),refs:{trigger:Xb(e.trigger),outcome:Xb(e.outcome),proposal:Xb(e.proposal),applyReceipt:Xb(e.applyReceipt),advanceReceipt:Xb(e.advanceReceipt),inputHarness:Xb(e.inputHarness),outputHarness:Xb(e.outputHarness)}}}function Wb(e,t){if(!e.name.startsWith(`harness.refiner.`))return null;let n=e.name===`harness.refiner.failed`||e.status===`failed`,r=e.name===`harness.refiner.completed`,i=$(t?.outcome),a=$(t?.proposal),o=i?.routed===!0,s=Qb(t?.workspaceAdvance),c=n?`failed`:r?a?s===`advanced`||/\bapplied\b/i.test(e.output??``)?`applied`:`retained`:o?`routed`:`no_action`:null;return{state:n?`failed`:r?`completed`:`running`,visibility:`material_only`,result:c,workspaceId:null,decision:a?`propose`:o?`route`:r?`no_action`:null,route:Qb(i?.route),operation:null,target:null,summary:ex(n?`failed`:r?`completed`:`running`,c),expectedOutcome:null,reason:e.output??e.error??null,evidenceBasis:null,critiqueStatus:a?`passed`:`not_applicable`,validationStatus:a?`pending`:`not_applicable`,validations:[],edits:[],refs:{trigger:Xb(t?.trigger),outcome:Xb(i),proposal:Xb(a),applyReceipt:null,advanceReceipt:null,inputHarness:null,outputHarness:null}}}function Gb(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.role===`activity_group`&&r.turnId===t&&!r.activities?.some(e=>e.subagentMessage))return r}return null}function Kb(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];r?.role===`status_divider`&&r.statusKind===`harness_refinement`&&r.turnId===t&&e.splice(n,1)}}function qb(e){let t=$(e),n=$b(t?.kind,[`single_deterministic`,`recurrent_independent`]);return!t||!n?null:{kind:n,supportingEvidenceIds:Zb(t.supportingEvidenceIds),counterevidence:Zb(t.counterevidence)}}function Jb(e){return Array.isArray(e)?e.flatMap(e=>{let t=$(e),n=Qb(t?.id),r=$b(t?.status,[`passed`,`failed`,`blocked`,`skipped`]),i=Qb(t?.summary);return n&&r&&i?[{id:n,status:r,summary:i}]:[]}):[]}function Yb(e){return Array.isArray(e)?e.flatMap(e=>{let t=$(e),n=Qb(t?.id),r=$b(t?.operation,[`create`,`update`,`delete`]),i=Qb(t?.target),a=Qb(t?.summary);return!n||!r||!i||!a?[]:[{id:n,operation:r,target:i,summary:a,content:typeof t?.content==`string`?t.content:null}]}):[]}function Xb(e){let t=$(e),n=Qb(t?.id),r=Qb(t?.contentHash);return n&&r?`${n} · ${r.slice(0,12)}`:null}function Zb(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e.trim()):[]}function Qb(e){return typeof e==`string`&&e.trim()?e.trim():null}function $b(e,t){return typeof e==`string`&&t.includes(e)?e:null}function ex(e,t){return e===`running`?`Reviewing for a reusable improvement`:e===`failed`?`Review failed`:t===`no_action`?`No reusable change`:t===`routed`?`Issue routed`:`Harness change`}function tx(e){return e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e}function nx(e,t){let n=hx(t);if($(t.data)?.nativeBackgroundTask===!0&&n.callId){let r=nb(e,e=>e.turnId===t.turnId&&e.role===`activity_group`&&!!e.activities?.some(e=>e.callId===n.callId));if(r){r.activities=cx(r.activities??[],t,n);let e=r.activities.filter(e=>e.backgroundTaskId),i=e.some(e=>e.state===`running`||e.state===`pending`);r.traceState=i?`running`:e.some(e=>e.state===`failed`)?`failed`:`settled`,r.traceCompletedAt=i?void 0:t.timestamp;return}}if(t.name===`tool.completed`&&n.callId){let r=nb(e,e=>e.turnId===t.turnId&&e.role===`activity_group`&&!!e.activities?.some(e=>e.callId===n.callId&&e.state===`running`));if(r){r.activities=cx(r.activities??[],t,n);return}}if(n.subagentMessage){e.push({id:t.id,role:`activity_group`,activities:[n],timestamp:t.timestamp,turnId:t.turnId});return}let r=ix(e,t.turnId);r?(r.activities=cx(r.activities??[],t,n),r.timestamp=t.timestamp):(rx(e,t),e.push({id:t.id,role:`activity_group`,activities:[n],timestamp:t.timestamp,turnId:t.turnId,traceState:`running`,traceStartedAt:t.timestamp}))}function rx(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];r.role!==`activity_group`||r.activities?.some(e=>e.subagentMessage)||r.traceState===`running`&&(r.activities?.some(e=>e.backgroundTaskId&&(e.state===`running`||e.state===`pending`))||(r.traceState=`settled`,r.traceCompletedAt=t.timestamp))}}function ix(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.turnId!==t||r.role!==`activity_group`)return null;if(!r.activities?.some(e=>e.subagentMessage))return r}return null}function ax(e,t,n){if(!t.turnId)return;let r=e.filter(e=>e.role===`activity_group`&&e.turnId===t.turnId&&!e.activities?.some(e=>e.subagentMessage)),i=r.filter(e=>e.traceState===`running`),a=i.length>0?i:r.length>0?[r[r.length-1]]:[];for(let e of a)e.traceState=n;let o=a.at(-1);o&&(o.traceCompletedAt=t.timestamp,o.timestamp=t.timestamp)}function ox(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r?.turnId!==t.turnId||r.role!==`activity_group`)continue;let i=r.activities?.filter(e=>e.controlKind!==`turn_aborted`)??[];i.length!==r.activities?.length&&(i.length===0?e.splice(n,1):r.activities=i)}ax(e,t,`interrupted`),!zb(t.output)&&e.push({id:t.id,role:`status_divider`,content:sx(t),timestamp:t.timestamp,turnId:t.turnId,statusKind:`interruption`,statusState:`failed`,statusTone:`danger`})}function sx(e){let t=e.output?.trim()||e.error?.trim();return t?/server shutting down|app restart|local app server stopped/i.test(t)?`Interrupted by app restart`:/stopped by user|cancelled by user/i.test(t)?`Stopped by user`:t:`Turn interrupted`}function cx(e,t,n=hx(t)){let r=[...e];if(t.name===`tool.started`&&$(t.data)?.nativeTool===!0&&n.callId){let e=nb(r,e=>e.callId===n.callId&&e.state===`running`);if(e){let t=e.timestamp;return Object.assign(e,n,{timestamp:t}),r}}return yx(r,t,n)||gx(r,t,n)||_x(r,t,n)||vx(r,t,n)?r:[...r,n]}function lx(e){return e.name===`session.compaction.started`||e.name===`session.compaction.completed`||e.name===`session.compaction.failed`}function ux(e,t){let n={id:t.id,role:`status_divider`,content:dx(t),timestamp:t.timestamp,turnId:t.turnId,statusKind:`compaction`,statusState:fx(t),statusTone:px(t)};if(t.name!==`session.compaction.started`){let r=nb(e,e=>e.role===`status_divider`&&e.statusKind===`compaction`&&e.statusState===`running`&&e.turnId===t.turnId);if(r){r.id=n.id,r.content=n.content,r.timestamp=n.timestamp,r.statusState=n.statusState,r.statusTone=n.statusTone;return}}e.push(n)}function dx(e){let t=mx(e);return e.name===`session.compaction.started`?t===`auto`?`Auto compacting context`:`Compacting context`:e.name===`session.compaction.completed`?t===`auto`?`Auto compacted context`:`Compacted context`:t===`auto`?`Auto compaction failed`:`Context compaction failed`}function fx(e){return e.name===`session.compaction.started`?`running`:e.name===`session.compaction.completed`?`completed`:`failed`}function px(e){return e.name===`session.compaction.failed`?`danger`:e.name===`session.compaction.completed`?`success`:`info`}function mx(e){return $(e.data)?.reason===`auto`?`auto`:`manual`}function hx(e){e=rb(e);let t=Cb(e),n=e.name===`assistant.reasoning.delta`?`reasoning`:jx(e),r=Mx(e),i=Lx(e),a=Ix(e),o=zx(e),s=Rx(e),c=Bx(e),l=wb(e),u=ib(e),d=nS(e);return{id:e.id,...d?{plan:d}:{},label:c?c.direction===`received`?`Child message received`:`Child message sent`:Cx(e),content:c?.summary??Ex(e,t),timestamp:e.timestamp,...n?{kind:n}:{},...e.action?{action:e.action}:{},...r?{kind:`control`,controlKind:r}:{},...e.name===`assistant.reasoning.delta`||e.name===`tool.started`||e.name===`tool.completed`||n===`command`?{callId:Fx(e)??void 0}:{},...n&&e.name===`command.output`?{detail:Yx(e)}:{},...typeof $(e.data)?.nativeTaskId==`string`?{backgroundTaskId:String($(e.data)?.nativeTaskId)}:{},...n!==`command`&&e.name===`tool.started`&&$(e.data)?.nativeTool===!0&&e.args&&Object.keys(e.args).length>0?{detail:yb(JSON.stringify(e.args,null,2))}:{},...n!==`command`&&e.name===`tool.completed`&&$(e.data)?.nativeTool===!0&&e.output?{detail:yb(e.output)}:{},...n===`command`?{terminal:Xx(e)}:{},...u?{detail:yb(u)}:{},...a?{meta:a}:{},...i?{receipt:i}:{},...o?{openSession:o}:{},...s?{startedAgent:s,startedAgentProvider:Q($($(e.args)?.modelRef),[`providerId`])??void 0}:{},...c?{subagentMessage:c}:{},state:Sx(e),...t?{imagePreview:t}:{},...l.length>0?{artifacts:l}:{}}}function gx(e,t,n){if(t.name===`tool.completed`){let r=bx(e,t);if(!r)return!1;let i=Zx(r.timestamp,t.timestamp);r.label=t.status===`failed`?`Failed`:`Ran`,r.state=n.state,r.backgroundTaskId=n.backgroundTaskId??r.backgroundTaskId,r.timestamp=t.timestamp,r.artifacts=n.artifacts,r.terminal={...r.terminal,...n.terminal,...i===null?{}:{durationMs:i}};let a=Yx(t);return a&&a!==r.content&&(r.detail=tS(r.detail,a)),!0}if(t.name===`command.output`){let r=bx(e,t);if(!r)return!1;let i=Yx(t);return i&&(r.detail=tS(r.detail,i)),r.terminal={...r.terminal,...n.terminal},r.timestamp=t.timestamp,n.state===`failed`?r.state=`failed`:r.state!==`completed`&&r.state!==`failed`&&(r.state=`running`),!0}return!1}function _x(e,t,n){if(t.name!==`tool.completed`||n.kind===`command`)return!1;let r=Fx(t),i=nb(e,e=>e.state===`running`&&e.kind!==`command`&&(r?e.callId===r:!!t.action&&e.action===t.action));if(!i)return!1;let a=n.content.trim();return i.id=n.id,i.label=n.label,i.timestamp=n.timestamp,i.state=n.state,a&&a!==i.content.trim()&&(i.content.trim()===i.action?i.content=a:i.detail=tS(i.detail,a)),n.detail&&(i.detail=tS(i.detail,n.detail)),i.plan=n.plan??i.plan,i.startedAgent=n.startedAgent??i.startedAgent,i.startedAgentProvider=n.startedAgentProvider??i.startedAgentProvider,i.openSession=n.openSession??i.openSession,i.meta=n.meta,i.receipt=n.receipt,i.imagePreview=n.imagePreview??i.imagePreview,i.artifacts=n.artifacts,!0}function vx(e,t,n){if(t.name!==`workspace_action_result`)return!1;let r=xx(e,t);return r?(r.id=n.id,r.label=n.label,r.content=n.content,r.timestamp=n.timestamp,r.state=n.state,r.detail=n.detail,r.plan=n.plan??r.plan,r.meta=n.meta,r.receipt=n.receipt,r.imagePreview=n.imagePreview,!0):!1}function yx(e,t,n){if(t.name!==`assistant.reasoning.delta`)return!1;let r=e[e.length-1];return!r||r.kind!==`reasoning`||n.kind!==`reasoning`||r.action!==n.action||(r.callId||n.callId)&&r.callId!==n.callId?!1:(r.content=`${r.content}${n.content}`,r.timestamp=t.timestamp,!0)}function bx(e,t){let n=Fx(t);if(n){let t=nb(e,e=>e.kind===`command`&&e.callId===n);if(t)return t}return nb(e,e=>e.kind===`command`)}function xx(e,t){let n=wx[t.action??``]??{started:`Running workspace action`,completed:`Workspace action completed`};return nb(e,e=>e.state===`running`&&e.label===n.started&&e.kind!==`command`&&!e.controlKind)}function Sx(e){if(e.name===`turn.interrupted`||e.status===`failed`)return`failed`;if(e.status===`pending`||e.name===`approval.requested`)return`pending`;if(e.name===`tool.started`||e.name===`workspace_action`||e.name===`command.output`)return`running`;if(e.name===`tool.completed`||e.name===`workspace_action_result`)return`completed`;if(e.status===`started`)return`running`;if(e.status===`completed`)return`completed`}function Cx(e){if(e.name===`assistant.reasoning.delta`)return Q($(e.data),[`kind`])===`commentary`?`Update`:`Reasoning`;if(e.action===`openpond_dataset`||e.action===`openpond_experiment`){let t={create:`Creating dataset`,save:`Editing dataset`,file:`Editing dataset file`,import:`Importing dataset`,inspect_source:`Inspecting dataset source`,import_source:`Importing dataset sample`,check_graders:`Checking graders`,check_sources:`Checking dataset sources`,test_grader:`Testing grader`,save_grader:`Editing grader`,validate:`Validating dataset`,package:`Packaging dataset`,upload:`Uploading dataset`,publish:`Publishing dataset`,sync:`Synchronizing dataset`,run:`Running experiment`,run_cloud:`Running cloud experiment`,cancel:`Cancelling experiment`,charts:`Publishing experiment charts`,improve:`Improving experiment`}[Q($(e.args),[`action`])??``]??(e.action===`openpond_dataset`?`Reading dataset resources`:`Reading experiment evidence`);return e.status===`failed`?t+` · Failed`:t}return Lb(e)?`Goal context`:e.name===`turn.interrupted`?`Turn aborted`:e.name===`subagent.started`?e.status===`started`?`Subagent running`:`Started subagent`:e.name===`subagent.reported`?`Subagent reported`:e.name===`subagent.progress`?`Subagent progress`:e.name===`subagent.completed`?`Subagent completed`:e.name===`subagent.failed`?`Subagent failed`:e.name===`subagent.workspace_retained`?`Subagent workspace retained`:e.name===`subagent.archived`?`Subagent archived`:e.name===`subagent.message`?`Subagent message`:Eb(e)&&e.name===`tool.started`?`Reading image`:Eb(e)&&e.name===`tool.completed`?`Read image`:e.action===`resource_search`&&e.name===`tool.started`?`Searching resources`:e.action===`resource_search`&&e.name===`tool.completed`?`Searched resources`:e.action===`resource_read`&&e.name===`tool.started`?`Reading resource`:e.action===`resource_read`&&e.name===`tool.completed`?`Read resource`:e.action===`web_fetch`&&e.name===`tool.started`?`Fetching web page`:e.action===`web_fetch`&&e.name===`tool.completed`?`Fetched web page`:e.action===`web_search`&&e.name===`tool.started`?`Searching web`:e.action===`web_search`&&e.name===`tool.completed`?`Searched web`:e.action===`openpond_action_search`&&e.name===`tool.started`?`Searching actions`:e.action===`openpond_action_search`&&e.name===`tool.completed`?`Searched actions`:e.action===`openpond_action_run`&&e.name===`tool.started`?`Running OpenPond action`:e.action===`openpond_action_run`&&e.name===`tool.completed`?`Ran OpenPond action`:Ab(e)||Ox(e)||Dx(e)||(e.name===`skill.selected`?`Selected skill`:e.name===`skill.loaded`?`Loaded skill`:e.name===`skill.load_failed`?`Skill load failed`:e.name===`tool.started`?`Started`:e.name===`tool.completed`?e.status===`failed`?`Failed`:`Ran`:e.name===`command.output`?`Output`:e.name===`workspace_action`||e.name===`workspace_action_result`?Tx(e):e.name===`approval.requested`?`Approval requested`:e.name===`session.compaction.started`?`Compacting context`:e.name===`session.compaction.completed`?`Compacted conversation context`:e.name===`session.compaction.failed`?`Context compaction failed`:e.name.replace(`.`,` `))}var wx={workspace_status:{started:`Checking workspace`,completed:`Checked workspace`},resource_search:{started:`Searching resources`,completed:`Searched resources`},resource_read:{started:`Reading resource`,completed:`Read resource`},list_files:{started:`Listing files`,completed:`Listed files`},read_files:{started:`Reading files`,completed:`Read files`},search_files:{started:`Searching files`,completed:`Searched files`},preview_write_files:{started:`Previewing files`,completed:`Previewed files`},preview_write_file:{started:`Previewing file`,completed:`Previewed file`},preview_edit_file:{started:`Previewing edit`,completed:`Previewed edit`},preview_delete_file:{started:`Previewing delete`,completed:`Previewed delete`},write_files:{started:`Editing files`,completed:`Edited files`,failed:`File checks failed`},write_file:{started:`Editing file`,completed:`Edited file`,failed:`File checks failed`},edit_file:{started:`Editing file`,completed:`Edited file`,failed:`File checks failed`},delete_file:{started:`Deleting file`,completed:`Deleted file`,failed:`File checks failed`},validate_sandbox_template:{started:`Validating template`,completed:`Validated template`,failed:`Template validation failed`},build_sandbox_template:{started:`Building template`,completed:`Built template`,failed:`Template build failed`},run_sandbox_template:{started:`Running sandbox template`,pending:`Sandbox template log`,completed:`Ran sandbox template`,failed:`Sandbox template failed`},git_status:{started:`Checking git status`,completed:`Checked git status`},git_fetch:{started:`Fetching git`,completed:`Fetched git`,failed:`Git fetch failed`},git_commit:{started:`Committing changes`,completed:`Committed changes`,failed:`Commit failed`},git_push:{started:`Pushing changes`,completed:`Pushed changes`,failed:`Push failed`},publish_openpond_repo:{started:`Publishing to OpenPond`,completed:`Published to OpenPond`,failed:`Publish failed`},upload_cloud_source:{started:`Uploading source`,completed:`Uploaded source`,failed:`Upload failed`},sandbox_create:{started:`Starting sandbox`,completed:`Started sandbox`,failed:`Sandbox start failed`},sandbox_status:{started:`Checking sandbox`,completed:`Checked sandbox`,failed:`Sandbox status failed`},sandbox_list_files:{started:`Listing sandbox files`,completed:`Listed sandbox files`,failed:`Sandbox file list failed`},sandbox_read_file:{started:`Reading sandbox file`,completed:`Read sandbox file`,failed:`Sandbox file read failed`},sandbox_search_files:{started:`Searching sandbox files`,completed:`Searched sandbox files`,failed:`Sandbox search failed`},sandbox_run_action:{started:`Running sandbox action`,completed:`Ran sandbox action`,failed:`Sandbox action failed`},sandbox_upload_file:{started:`Uploading file`,completed:`Uploaded file`,failed:`Upload failed`},sandbox_write_file:{started:`Writing sandbox file`,completed:`Wrote sandbox file`,failed:`Write failed`},sandbox_edit_file:{started:`Editing sandbox file`,completed:`Edited sandbox file`,failed:`Edit failed`},sandbox_delete_file:{started:`Deleting sandbox file`,completed:`Deleted sandbox file`,failed:`Delete failed`},sandbox_mkdir:{started:`Creating sandbox directory`,completed:`Created sandbox directory`,failed:`Directory create failed`},sandbox_move_file:{started:`Moving sandbox file`,completed:`Moved sandbox file`,failed:`Move failed`},sandbox_exec:{started:`Running sandbox command`,completed:`Ran sandbox command`,failed:`Sandbox command failed`},sandbox_git_status:{started:`Checking sandbox git`,completed:`Checked sandbox git`},sandbox_git_diff:{started:`Reading sandbox diff`,completed:`Read sandbox diff`},sandbox_git_export_patch:{started:`Exporting sandbox patch`,completed:`Exported sandbox patch`,failed:`Patch export failed`},sandbox_git_apply_patch_local:{started:`Applying sandbox patch locally`,completed:`Applied locally`,failed:`Apply locally failed`},sandbox_git_branch:{started:`Switching sandbox branch`,completed:`Switched sandbox branch`,failed:`Branch failed`},sandbox_git_commit:{started:`Committing sandbox changes`,completed:`Committed sandbox changes`,failed:`Commit failed`},sandbox_git_pull:{started:`Pulling sandbox changes`,completed:`Pulled sandbox changes`,failed:`Pull failed`},sandbox_git_push:{started:`Pushing sandbox changes`,completed:`Pushed sandbox changes`,failed:`Push failed`},sandbox_preserve_source:{started:`Preserving sandbox source`,completed:`Preserved sandbox source`,failed:`Preserve failed`},sandbox_promote_source:{started:`Promoting sandbox source`,completed:`Promoted sandbox source`,failed:`Promote failed`},sandbox_logs:{started:`Reading sandbox logs`,completed:`Read sandbox logs`,failed:`Sandbox logs failed`},sandbox_receipts:{started:`Reading sandbox receipts`,completed:`Read sandbox receipts`,failed:`Sandbox receipts failed`},sandbox_stop:{started:`Stopping sandbox`,completed:`Stopped sandbox`,failed:`Sandbox stop failed`},file_change:{started:`Editing files`,completed:`Edited files`}};function Tx(e){let t=wx[e.action??``]??{started:`Running workspace action`,completed:`Workspace action completed`,failed:`Workspace action failed`};return e.name===`workspace_action`?e.status===`pending`?t.pending??t.started:t.started:e.status===`failed`?t.failed??`${t.completed} failed`:t.completed}function Ex(e,t){if(e.name===`assistant.reasoning.delta`)return e.output??``;if(t)return t.path;let n=Fb(e.output??``);if(n)return n.text;if(Lb(e)||e.name===`turn.interrupted`)return e.output??e.error??``;let r=kx(e);if(r)return r;let i=Ax(e);if(i)return i;let a=jb(e);if(a)return a;let o=Nx(e);if(o)return o;if(e.name===`command.output`)return Jx(e.output??``);if($(e.data)?.nativeTool===!0)return Q($(e.data),[`filePath`,`toolName`])??e.action??`Tool`;if(e.name===`tool.started`||e.name===`tool.completed`){let t=e.data;if(t&&typeof t==`object`){let e=t.command;if(typeof e==`string`&&e.trim())return e;let n=t.tool;if(typeof n==`string`&&n.trim())return n;let r=t.type;if(typeof r==`string`&&r.trim())return r}}return e.name===`session.compaction.started`||e.name===`session.compaction.completed`||e.name===`session.compaction.failed`?e.error??e.output??``:e.output??e.action??``}function Dx(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return null;let t=e.status===`failed`;return e.action===`openpond_create_improve`?e.name===`tool.started`?`Starting Create Pipeline`:t?`Create Pipeline failed`:`Started Create Pipeline`:null}function Ox(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return null;let t=e.status===`failed`,n=e.name===`tool.completed`;switch(e.action){case`openpond_browser_open`:return n?t?`Browser open failed`:`Opened browser`:`Opening browser`;case`openpond_browser_snapshot`:return n?t?`Browser capture failed`:`Captured browser`:`Capturing browser`;case`openpond_browser_move_cursor`:return n?t?`Cursor move failed`:`Moved browser cursor`:`Moving browser cursor`;case`openpond_browser_click`:return n?t?`Browser click failed`:`Clicked browser`:`Clicking browser`;case`openpond_browser_type`:return n?t?`Browser typing failed`:`Typed in browser`:`Typing in browser`;case`openpond_browser_key`:return n?t?`Browser key failed`:`Pressed browser key`:`Pressing browser key`;case`openpond_browser_scroll`:return n?t?`Browser scroll failed`:`Scrolled browser`:`Scrolling browser`;default:return null}}function kx(e){return e.action?.startsWith(`openpond_browser_`)?Q($($(e.data)?.result),[`output`])||Q($(tb(e.output??``)),[`output`])||Q($(e.args),[`url`])||(e.action===`openpond_browser_type`?`Text redacted`:e.error??e.output??e.action):null}function Ax(e){if(e.action!==`openpond_create_improve`)return null;let t=Q($($(e.data)?.result),[`nextStep`]);if(t)return t;let n=Q($(tb(e.output??``)),[`output`]);if(n)return n;let r=$(e.args);return Q(r,[`reason`])||Q(r,[`objective`])||(e.error??null)}function jx(e){if(e.name===`command.output`)return`command`;if(e.name!==`tool.started`&&e.name!==`tool.completed`)return;let t=$(e.data),n=Q(t,[`type`]),r=Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`]);if(e.action===`commandExecution`||n===`commandExecution`||Nx(e)||r&&/(^|[._-])exec_command$/i.test(r))return`command`}function Mx(e){if(e.name===`turn.interrupted`)return`turn_aborted`;if(Lb(e))return`goal_context`}function Nx(e){let t=$(e.data),n=Q(t,[`type`]),r=Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`]),i=$(t?.result),a=$($(tb(e.output??``))?.data);return(Q(t,[`command`,`cmd`])??Q($(t?.input),[`command`,`cmd`])??Q($(t?.arguments),[`command`,`cmd`])??Q($(t?.args),[`command`,`cmd`])??Px(Q(t,[`arguments`,`args`,`input`]))??Q($(e.args),[`command`,`cmd`])??Q(i,[`command`,`cmd`])??Q(a,[`command`,`cmd`]))||e.name===`tool.started`&&(e.action===`commandExecution`||n===`commandExecution`||/(^|[._-])exec_command$/i.test(r??``))&&e.output?.trim()||null}function Px(e){return e?Q($(tb(e)),[`command`,`cmd`]):null}function Fx(e){return Q($(e.data),[`callId`,`call_id`,`toolCallId`,`tool_call_id`,`id`,`itemId`,`item_id`])}function Ix(e){let t=$(e.data);if(!t)return null;let n=[],r=$(t.workspaceToolTiming),i=typeof r?.durationMs==`number`?r.durationMs:null;i!==null&&n.push(Wx(i));let a=$(t.workspaceExecutionTarget),o=Q(a,[`target`]);if(o===`sandbox`){let e=a?.hybrid===!0,t=Q(a,[`sandboxId`,`workspaceId`]);n.push(`${e?`Hybrid `:``}sandbox${t?` ${qx(t)}`:``}`)}else o===`local`&&n.push(`local workspace`);let s=$(t.sourcePreservation);if(s?.attempted===!0){if(s.ok!==!0)n.push(`checkpoint failed`);else if(s.preserved===!0){let e=Q(s,[`preservedSha`]);n.push(e?`checkpoint ${Kx(e)}`:`checkpoint saved`)}else n.push(`checkpoint clean`)}let c=Ux(t);return c&&(n.push(`receipt ${qx(c.id)}`),n.push(`${Gx(c.totalUsd)} ${c.status}`)),n.length>0?n.join(` · `):null}function Lx(e){let t=Ux($(e.data));return t?{id:t.id,status:t.status,totalUsd:t.totalUsd}:void 0}function Rx(e){if(e.action===`openpond_start_agent`)return Q($(e.args),[`title`])??void 0;if(e.name!==`subagent.started`)return;let t=$(e.data);return Q($(t?.run),[`title`,`name`,`roleId`])??Q(t,[`title`,`name`,`roleId`])??void 0}function zx(e){if(e.action===`openpond_start_agent`&&e.name===`tool.completed`&&e.status!==`failed`){let t=Q($($(e.data)?.result)??$(tb(e.output??``)),[`sessionId`]);if(t)return{sessionId:t,label:`Open conversation`}}if(!e.name.startsWith(`subagent.`))return;let t=$(e.data),n=$(t?.run),r=Q(t,[`childSessionId`])??Q(n,[`childSessionId`]);if(!r)return;let i=Q(n,[`roleId`])??Q(t,[`roleId`]),a=Q(n,[`status`])??Q(t,[`status`]);return{sessionId:r,label:`Open conversation`,...i?{roleId:i}:{},...a?{status:a}:{}}}function Bx(e){if(e.name!==`subagent.message`)return;let t=$(e.data),n=$(t?.message);if(!n)return;let r=Q(n,[`id`]),i=Q(n,[`kind`]),a=Q(n,[`fromRunId`]),o=Q(n,[`body`]);if(!r||!i||!a||!o)return;let s=$(t?.delivery??n.delivery),c=$(t?.modelRef),l=Q(c,[`providerId`]),u=Q(c,[`modelId`]),d=Q(s,[`deliveredParentSessionId`])===e.sessionId&&!a.startsWith(`parent:`)?`received`:`sent`,f=Array.isArray(n.refs)?n.refs.flatMap(e=>{let t=$(e),n=Q(t,[`kind`]),r=Q(t,[`id`]),i=Q(t,[`label`]);return n&&r&&i?[{kind:n,id:r,label:i}]:[]}):[];return{direction:d,summary:Vx(o),body:o,messageId:r,kind:i,fromRunId:a,toRunId:Q(n,[`toRunId`]),toRole:Q(n,[`toRole`]),childSessionId:Q(t,[`childSessionId`]),roleId:Q(t,[`roleId`]),modelRef:l&&u?{providerId:l,modelId:u}:null,deliveryStatus:Q(s,[`status`]),wakeReason:Q(s,[`wakeParentReason`]),createdAt:Q(n,[`createdAt`]),refs:f}}function Vx(e){let t=e.replace(/\s+/g,` `).trim();return t?Hx(/^(.*?[.!?])(?:\s|$)/.exec(t)?.[1]??t,96):`No message body`}function Hx(e,t){if(e.length<=t)return e;let n=e.slice(0,t-1),r=n.lastIndexOf(` `),i=r>=Math.floor(t*.55)?r:t-1;return`${n.slice(0,i).trimEnd()}...`}function Ux(e){let t=$(e?.sandbox),n=Array.isArray(t?.receipts)?t.receipts:[];for(let e=n.length-1;e>=0;--e){let t=$(n[e]),r=Q(t,[`id`]),i=Q(t,[`status`]),a=Q(t,[`totalUsd`,`retailTotalUsd`]);if(r&&i&&a)return{id:r,status:i,totalUsd:a}}return null}function Wx(e){return e<1e3?`${Math.max(0,Math.round(e))} ms`:e<1e4?`${(e/1e3).toFixed(1)} s`:`${Math.round(e/1e3)} s`}function Gx(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function Kx(e){return e.length>12?e.slice(0,12):e}function qx(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function Jx(e){let t=e.replace(/\r\n/g,`
26
- `).trim();if(!t)return``;let n=Qx(t);if(n!==null)return yb(n);let r=t.indexOf(`
27
- Output:
28
- `);return r>=0&&eS(t.slice(0,r))&&(t=t.slice(r+9).trim()),t=t.replace(/^Total output lines: \d+\n\n/,``),yb(t.trim())}function Yx(e){let t=Jx(e.output??``);if(t)return t;let n=$($(e.data)?.result);return n?yb($x(n)):``}function Xx(e){let t=$(e.data),n=$(t?.result),r=$($(tb(e.output??``))?.data),i=$(t?.workspaceToolTiming),a=[n?.exitCode,r?.exitCode,t?.exitCode].find(e=>typeof e==`number`),o=i?.durationMs;return{...typeof a==`number`?{exitCode:a}:{},...typeof o==`number`?{durationMs:o}:{}}}function Zx(e,t){let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Qx(e){let t=$(tb(e)),n=typeof t?.action==`string`?t.action:``;if(!t||typeof t.ok!=`boolean`||!n||typeof t.output!=`string`)return null;let r=$(t.data);return r?$x(r,Q(t,[`output`])):typeof t.output==`string`?t.output.trim():``}function $x(e,t=null){let n=[Q(e,[`stdout`])?.replace(/\r\n/g,`
29
- `).trimEnd()??``,Q(e,[`stderr`])?.replace(/\r\n/g,`
30
- `).trimEnd()??``].filter(Boolean);return n.length>0?n.join(`
31
- `):t?.replace(/\r\n/g,`
32
- `).trim()??``}function eS(e){return/^(Chunk ID|Exit code):/m.test(e)&&/Wall time:/m.test(e)}function tS(e,t){let n=e??``;return n?n===t||n.includes(t)?n:t.includes(n)?yb(t):yb(`${n}${n.endsWith(`
33
- `)||t.startsWith(`
34
- `)?``:`
35
- `}${t}`):yb(t)}function nS(e){let t=$(e.data),n=e.action===`update_plan`?t?.plan??$(e.args)?.plan:void 0;if(!Array.isArray(n))return;let r=[];for(let e of n){let t=$(e),n=t?.content??t?.step;if(typeof n!=`string`||![`pending`,`in_progress`,`completed`].includes(String(t?.status)))return;r.push({content:n,status:t.status,...typeof t?.id==`string`?{id:t.id}:{},...typeof t?.activeForm==`string`?{activeForm:t.activeForm}:{}})}return r}var rS=/\bopenpond\s+opchat\b/i,iS=/\b(?:50[0-9]|52[0-9]|53[0-9])\b|bad\s+gateway|gateway\s+timeout|service\s+unavailable/i;function aS(e){let t=e?.trim()||`Turn failed`;return rS.test(t)&&iS.test(t)?`Server connection lost. Retry your message.`:t}function oS(e,t){if((sS(t,`code`)??sS(t,`errorCode`))===`opchat_quota_exceeded`)return`opchat_quota_exceeded`;let n=t&&typeof t==`object`?t.error:null;if(n&&typeof n==`object`&&(sS(n,`code`)??sS(n,`errorCode`))===`opchat_quota_exceeded`)return`opchat_quota_exceeded`;let r=e??``;return/\bopchat_quota_exceeded\b/i.test(r)||/OpChat token allowance is exhausted/i.test(r)?`opchat_quota_exceeded`:null}function sS(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim()?n.trim():null}function cS(e){let t=new Map,n=new Set;for(let r of e)r.turnId&&(r.role===`assistant`&&r.content?.trim()&&t.set(r.turnId,r.content),(r.role===`error`||r.role===`status_divider`&&r.statusState!==`running`||r.role===`activity_group`&&r.traceState!==`running`)&&n.add(r.turnId));for(let r of e){if(r.role!==`activity_group`||!r.turnId||r.activities?.some(e=>e.subagentMessage))continue;let e=lS(r.activities??[]);if(e.length===0){r.deliverables=void 0;continue}let i=t.get(r.turnId)??``,a=i?uS(e,i):[];r.deliverables=a.length>0?a:n.has(r.turnId)?[e[e.length-1]]:void 0}}function lS(e){let t=new Set(e.map(e=>e.imagePreview?.path).filter(e=>!!e)),n=new Map;for(let r of e)if(!r.imagePreview)for(let e of r.artifacts??[])t.has(e.path)||(n.delete(e.path),n.set(e.path,e));return[...n.values()]}function uS(e,t){let n=pS(t);return e.filter(e=>dS(e).some(e=>t.includes(e)||n.includes(e)))}function dS(e){let t=new Set;for(let n of[e.path,e.title,fS(e.path)]){let e=n.trim();e&&(t.add(e),t.add(pS(e)))}return[...t]}function fS(e){return e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e}function pS(e){try{return decodeURIComponent(e)}catch{return e}}var mS=8;function hS(e){if(e.name!==`tool.completed`||e.status===`failed`||e.action!==`web_search`&&e.action!==`web_fetch`)return[];let t=_S(e.data),n=e.output?_S(tb(e.output)):null;return vS(t??n)}function gS(e,t){if(t.length===0)return e;let n=[],r=new Set;for(let i of[...e??[],...t]){let e=xS(i.url);if(e&&!r.has(e)&&(r.add(e),n.push(i),n.length>=mS))break}return n.length>0?n:void 0}function _S(e,t=0){if(t>5)return null;let n=$(e);if(!n)return null;let r=Array.isArray(n.results)?n.results:Array.isArray(n.items)?n.items:Q(n,[`url`])?[n]:null;if(r)return{provider:Q(n,[`provider`]),results:r};for(let e of[`result`,`data`,`output`]){let r=_S(n[e],t+1);if(r)return r}return null}function vS(e){if(!e)return[];let t=[],n=new Set;for(let r=0;r<e.results.length;r+=1){let i=yS(e.results[r],r,e.provider);if(!i)continue;let a=xS(i.url);if(a&&!n.has(a)&&(n.add(a),t.push(i),t.length>=mS))break}return t}function yS(e,t,n){let r=$(e);if(!r)return null;let i=Q(r,[`url`,`href`]);if(!i||!bS(i))return null;let a=Q(r,[`title`])??wS(i)??`Source ${t+1}`;return{id:Q(r,[`id`])??`source_${t+1}`,title:a,url:i,sourceName:Q(r,[`sourceName`,`source_name`,`source`])??wS(i),snippet:Q(r,[`snippet`,`description`]),provider:n,faviconUrl:SS(Q(r,[`faviconUrl`,`favicon_url`,`iconUrl`,`icon_url`]))??CS(i),publishedAt:Q(r,[`publishedAt`,`published_at`]),updatedAt:Q(r,[`updatedAt`,`updated_at`])}}function bS(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function xS(e){try{let t=new URL(e);return t.hash=``,t.toString()}catch{return null}}function SS(e){if(!e)return null;try{let t=new URL(e);return t.protocol!==`http:`&&t.protocol!==`https:`?null:t.toString()}catch{return null}}function CS(e){try{return new URL(`/favicon.ico`,e).toString()}catch{return null}}function wS(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function TS(e){let t=$(e.data),n=Hu.safeParse(t?.input);if(!n.success||n.data.senderKind===`user`)return null;let r=n.data,i=$(t?.delivery);if(r.senderKind===`ponder`){let t=Ut.safeParse($(r.payload.ponderDesktop)?.operation),n=$(i?.peer);return!t.success||r.senderSessionId!==null||e.sessionId!==r.sessionId||n?.kind!==`ponder`||n.bindingId!==t.data.origin.scope.bindingId?null:{id:`task-input:${r.id}:received`,role:`task_message`,content:r.body,timestamp:r.createdAt,turnId:r.turnId??void 0,taskMessage:{input:r,direction:`received`,peer:{kind:`ponder`,bindingId:t.data.origin.scope.bindingId,ponderScope:t.data.origin.scope,sessionId:``,title:`Pal`,provider:`openpond`}}}}if(!r.senderSessionId)return null;let a=i?.direction===`sent`&&e.sessionId===r.senderSessionId;if(!a&&e.sessionId!==r.sessionId)return null;let o=a?r.sessionId:r.senderSessionId,s=$(i?.peer),c=s?.sessionId===o;return{id:`task-input:${r.id}:${a?`sent`:`received`}`,role:`task_message`,content:r.body,timestamp:r.createdAt,turnId:a?void 0:r.turnId??void 0,taskMessage:{input:r,direction:a?`sent`:`received`,peer:{sessionId:o,title:c&&typeof s.title==`string`?s.title:`Another task`,provider:c&&typeof s.provider==`string`?s.provider:``}}}}function ES(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.every(e=>typeof $(e)?.text==`string`)?e.map(e=>$(e).text).join(`
36
- `):JSON.stringify(e);let t=$(e);return typeof t?.text==`string`?t.text:e==null?``:JSON.stringify(e)}function DS(e,t){let n=$(e.data);if(!n?.retainedHistory||e.action!==`native_tool`||![`tool.started`,`tool.completed`].includes(e.name))return e;let r=$(n.content)??{},i=e.name===`tool.started`,a=typeof n.callId==`string`?n.callId:null,o=i&&typeof r.name==`string`?r.name:(a?t.get(a):void 0)??`native_tool`;i&&a&&t.set(a,o);let s=r.input??r.arguments;if(typeof s==`string`)try{s=JSON.parse(s)}catch{s={input:s}}let c=r.error||(r.is_error===!0?r.content:null);return{...e,action:o,status:i?`started`:c!=null||r.status===`error`?`failed`:`completed`,...i?{args:$(s)??{}}:{output:ES(r.output??r.content??n.content),...c==null?{}:{error:ES(c)}}}}function OS(e,t,n){let r=$(n.data),i=n.name===`assistant.delta`&&r?.phase===`final_answer`&&r.nativeMessageSnapshot===!0,a=(n.name===`assistant.delta`||n.name===`assistant.reasoning.delta`)&&(r?.phase===`commentary`||r?.phase===`reasoning`);if(!i&&!a||typeof r?.nativeMessageId!=`string`||!n.output)return null;let o=r.nativeMessageId,s=t.get(o);s||(s={message:{id:o,role:`assistant`,turnId:n.turnId,timestamp:n.timestamp},finalized:!1},t.set(o,s),e.push(s.message));let{message:c}=s;if(i){s.finalized=!0,c.content=n.output,delete c.reasoningContent;let t=e.indexOf(c);t!==e.length-1&&(e.splice(t,1),e.push(c))}else s.finalized||(r.phase===`commentary`?c.content=`${c.content??``}${n.output}`:c.reasoningContent=`${c.reasoningContent??``}${n.output}`);return c.timestamp=n.timestamp,c}var kS=new WeakMap;function AS(e){let t=kS.get(e);if(t)return t;let n=jS(e);return kS.set(e,n),n}function jS(e){let t=[],n=new Set,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map;for(let c of e){let e=DS(c,a);if(e.name===`diagnostic`&&e.source===`server`&&$(e.data)?.kind===`codex_ownership_recovery`&&e.sessionId&&e.turnId){let n=nb(t,t=>t.role===`error`&&t.turnId===e.turnId);n&&(n.codexRecovery={sessionId:e.sessionId,failedTurnId:e.turnId});continue}if(e.source===`server`&&$(e.data)?.chatResource)continue;if(e.name===`visual.published`){let n=$y.safeParse($(e.data)?.visual);n.success&&n.data.sessionId===e.sessionId&&!t.some(e=>e.id===n.data.publicationId)&&(rx(t,e),t.push({id:n.data.publicationId,role:`visual`,visual:n.data,timestamp:e.timestamp,turnId:e.turnId}));continue}if(e.name===`task.input`){let i=TS(e);if(i){let e=r.get(i.id);if(!e)r.set(i.id,i),t.push(i);else{let t=i.taskMessage.input,n=e.taskMessage.input;(t.revision>n.revision||t.revision===n.revision&&t.updatedAt>=n.updatedAt)&&Object.assign(e,i)}continue}let a=Hu.safeParse($(e.data)?.input);a.success&&a.data.senderKind===`user`&&a.data.kind===`steer`&&!n.has(a.data.id)&&(n.add(a.data.id),t.push({id:`task-input:${a.data.id}`,role:`user`,content:a.data.body,attachments:RS({attachments:a.data.payload.attachmentSummaries??a.data.payload.attachments}),timestamp:e.timestamp,turnId:a.data.turnId??void 0,interactionKind:`steer`}));continue}if(e.name===`turn.started`){e.turnId&&o.set(e.turnId,e.timestamp),rx(t,e),MS(t,e);let n=LS(e.args);if(n){let i=$(e.args)?.taskInputId,a=typeof i==`string`?r.get(`task-input:${i}:received`):null;if(a?.taskMessage?.input.kind===`followup`){a.turnId=e.turnId;continue}let o=$(e.data),s=e.source===`provider`&&o?.retainedHistory===!0&&o.nativeProvider===`claude-code`?qy(n):null;if(s){t.push({id:e.id,role:`assistant`,nativeTaskNotification:s,timestamp:e.timestamp,turnId:e.turnId});continue}let c=Fb(n);if(c){nx(t,{...e,name:c.kind===`turn_aborted`?`turn.interrupted`:`diagnostic`,source:`provider`,output:c.text,data:{...$(e.data),kind:c.kind}});continue}t.push({id:e.id,role:`user`,content:n,...$(e.args)?.interactionKind===`steer`?{interactionKind:`steer`}:{},attachments:RS(e.args),timestamp:e.timestamp,turnId:e.turnId});let l=zS(e.args);l&&t.push({id:`${e.id}:create-improve`,role:`assistant`,timestamp:e.timestamp,turnId:e.turnId,createImproveRun:l})}continue}if(e.name===`create_improve.updated`){let n=zS(e.data);if(!n)continue;let r=nb(t,t=>t.turnId===e.turnId&&!!t.createImproveRun);r?(r.createImproveRun=n,r.timestamp=e.timestamp):t.push({id:`${e.id}:create-improve`,role:`assistant`,timestamp:e.timestamp,turnId:e.turnId,createImproveRun:n});continue}let l=OS(t,s,e);if(l)rx(t,e),l.sources=gS(l.sources,PS(i,e.turnId)??[]);else if(e.name===`assistant.delta`){let n=e.output??``;if(!n)continue;rx(t,e);let r=$(e.data);if(r?.retainedHistory===!0&&typeof r.nativeMessageId==`string`){let i=r.nativeMessageId,a=t.find(e=>e.id===i);a?(a.content=n,a.timestamp=e.timestamp):t.push({id:i,role:`assistant`,content:n,timestamp:e.timestamp,turnId:e.turnId});continue}let a=t[t.length-1];if(a?.role===`assistant`&&a.turnId===e.turnId&&!a.createImproveRun)a.content=`${a.content??``}${n}`,a.timestamp=e.timestamp,a.sources=gS(a.sources,PS(i,e.turnId)??[]);else{let r=PS(i,e.turnId);t.push({id:e.id,role:`assistant`,content:n,timestamp:e.timestamp,turnId:e.turnId,...r?.length?{sources:r}:{}})}}else if(e.name===`assistant.reasoning.delta`){let n=e.output??``;if(!n)continue;rx(t,e);let r=t[t.length-1];r?.role===`assistant`&&r.turnId===e.turnId&&r.reasoningContent!==void 0&&!r.createImproveRun?(r.reasoningContent=`${r.reasoningContent}${n}`,r.timestamp=e.timestamp):r?.role===`assistant`&&r.turnId===e.turnId&&!r.reasoningContent&&!r.createImproveRun?(r.reasoningContent=n,r.timestamp=e.timestamp):t.push({id:e.id,role:`assistant`,reasoningContent:n,timestamp:e.timestamp,turnId:e.turnId})}else if(e.name===`user_question.asked`){let n=$(e.data),r=Ur.safeParse(n?.question);if(!r.success)continue;t.push({id:e.id,role:`assistant`,timestamp:e.timestamp,turnId:e.turnId,userQuestion:r.data})}else if(e.name===`user_question.answered`||e.name===`user_question.dismissed`){let n=$(e.data),r=Wr.safeParse(n?.resolution);if(!r.success)continue;let i=nb(t,e=>e.userQuestion?.id===r.data.questionId);if(!i?.userQuestion||i.userQuestion.status!==`pending`)continue;i.userQuestion={...i.userQuestion,status:r.data.action===`answer`?`answered`:`dismissed`,answer:r.data.action===`answer`?{optionId:r.data.optionId,text:r.data.text}:null,answeredAt:e.timestamp},i.timestamp=e.timestamp}else if(e.name===`turn.completed`){let n=nb(t,t=>t.role===`assistant`&&t.turnId===e.turnId&&!!t.content?.trim());n&&(n.finalAnswer=!0,n.turnStartedAt=e.turnId?o.get(e.turnId):void 0,n.turnCompletedAt=e.timestamp),ax(t,e,`completed`)}else if(e.name===`turn.failed`){ax(t,e,`failed`);let n=e.error??`Turn failed`,r=oS(n,e.data);t.push({id:e.id,role:`error`,content:aS(n),...r?{errorKind:r}:{},timestamp:e.timestamp,turnId:e.turnId})}else if(e.name===`turn.interrupted`)ox(t,e);else if(lx(e))ux(t,e);else if(e.name.startsWith(`harness.refiner.`))Bb(t,e);else{if(e.name===`tool.started`||e.name===`tool.completed`||e.name===`skill.selected`||e.name===`skill.loaded`||e.name===`skill.load_failed`||e.name===`command.output`||e.name===`workspace_action`||e.name===`workspace_action_result`||e.name===`approval.requested`||e.name.startsWith(`subagent.`)||Lb(e)){if(FS(e))continue;let n=sb(e);if(n){ob(t,e,n);continue}let r=hS(e);r.length>0&&NS(t,i,e.turnId,r),nx(t,e)}if(e.name===`workspace.diff`){let n=IS(e.data);if(!n||n.filesChanged===0)continue;let r=nb(t,t=>t.role===`assistant`&&t.turnId===e.turnId);r&&(r.changeSummary=n,r.timestamp=e.timestamp)}}}return cS(t),ab(t,e)}function MS(e,t){if($(t.args)?.interactionKind!==`steer`)return;let n=e.at(-1);n?.role===`status_divider`&&n.statusKind===`interruption`&&n.content===`Stopped by user`&&e.pop()}function NS(e,t,n,r){if(!n)return;let i=e[e.length-1];i?.role!==`assistant`||i.turnId!==n?t.set(n,gS(t.get(n),r)):i.sources=gS(i.sources,r)}function PS(e,t){if(!t)return;let n=e.get(t);return n&&e.delete(t),n}function FS(e){if(e.name!==`approval.requested`)return!1;if(e.action===`create_plan`)return!0;let t=$(e.data),n=$(t?.approval);return t?.kind===`create_plan`||n?.kind===`create_plan`}function IS(e){let t=Ci.safeParse(e);return t.success?t.data:null}function LS(e){if(!e||typeof e!=`object`||!(`prompt`in e))return``;let t=e.prompt;return typeof t==`string`?t:``}function RS(e){if(!e||typeof e!=`object`||!(`attachments`in e))return;let t=Te.array().safeParse(e.attachments);return t.success&&t.data.length>0?t.data:void 0}function zS(e){let t=$(e);if(!t)return null;let n=De.safeParse(t.createImproveRun);return n.success?n.data:null}function BS(e){if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<48?`${i}h`:`${Math.floor(i/24)}d`}function VS(e){let t=US(e);return t?t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}):``}function HS(e){let t=US(e);return t?t.toLocaleString():``}function US(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function WS(e){let{chatMessages:t,runtimeIndexes:n,selectedSessionId:r}=e,[i,a]=(0,J.useState)({}),o=(0,J.useCallback)(e=>{a(t=>({...t,[e.sessionId]:e}))},[]);return(0,J.useEffect)(()=>{a(e=>{let t=e;for(let[r,i]of Object.entries(e)){let a=AS(F_(n,r));Wn(a,i)&&(t===e&&(t={...e}),delete t[r])}return t})},[n]),{pendingChatUserMessages:i,recordPendingChatUserMessage:o,visibleChatMessages:(0,J.useMemo)(()=>Kn(t,r?i[r]:null),[t,i,r])}}function GS({connection:e,selectedSession:t,setBootstrap:n,setError:r,setOpenPondCommandAccessMode:i,setSessions:a}){return{changeOpenPondCommandAccessMode:(0,J.useCallback)((o,s=t)=>{if(!e){r(`Connect to OpenPond before saving preferences.`);return}let c=s?.provider===`codex`?null:s;Z.savePreferences(e,{openPondCommandAccessMode:o}).then(e=>{i(e.preferences.openPondCommandAccessMode),n(t=>t&&{...t,preferences:e.preferences})}).catch(e=>{r(e instanceof Error?e.message:String(e))}),c&&Z.patchSession(e,c.id,{openPondCommandAccessMode:o}).then(e=>{a(t=>t.map(t=>t.id===e.id?e:t))}).catch(e=>{r(e instanceof Error?e.message:String(e))})},[e,t,n,r,i,a])}}function KS({localProjects:e,cloudProjects:t,teamId:n,sessions:r,runtimeIndexes:i,appPreferences:a,selectedSessionId:o,selectedProjectId:s,archivedChatsOpen:c,projectsExpanded:l,chatRowsVisibleCount:u,sidebarFileBookmarks:d=[]}){let f=(0,J.useMemo)(()=>e.filter(e=>!e.hiddenFromDefaultSidebar),[e]),p=(0,J.useMemo)(()=>r.filter(e=>!e.archived&&qS(e)),[r]),m=(0,J.useMemo)(()=>p.filter(e=>e.pinned),[p]),h=(0,J.useMemo)(()=>p.filter(e=>!!e.savedForLater),[p]),g=(0,J.useMemo)(()=>r.filter(e=>e.archived&&qS(e)),[r]),_=(0,J.useMemo)(()=>new Set(e.map(e=>e.id)),[e]),v=(0,J.useMemo)(()=>new Set(t.map(e=>e.id)),[t]),y=(0,J.useMemo)(()=>eh(e),[e]),b=(0,J.useMemo)(()=>{let e={};for(let t of r){let n=nh(t,_,y,v);n&&(e[t.id]=n)}let t=new Map(r.map(e=>[e.id,e]));for(let n of r){if(e[n.id])continue;let r=new Set([n.id]),i=n.parentSessionId;for(;i&&!r.has(i);){if(e[i]){e[n.id]=e[i];break}r.add(i),i=t.get(i)?.parentSessionId}}return e},[r,v,_,y]),x=(0,J.useMemo)(()=>p.filter(e=>!e.pinned&&!e.savedForLater&&!e.appId&&!b[e.id]),[p,b]),S=(0,J.useMemo)(()=>g.filter(e=>!e.appId&&!nh(e,_,y,v)),[g,v,_,y]),C=(0,J.useMemo)(()=>{let e={};for(let t of p){if(t.pinned||t.savedForLater)continue;let n=b[t.id];if(!n)continue;let r=e[n];r?r.push(t):e[n]=[t]}return e},[p,b]),w=(0,J.useMemo)(()=>{let e={};for(let t of r){if(!JS(t))continue;let n=e[t.parentSessionId];n?n.push(t):e[t.parentSessionId]=[t]}for(let t of Object.values(e))t.sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt));return e},[r]),T=(0,J.useMemo)(()=>f.map((e,n)=>{let r=Yt(`local`,e.id),i=ev(e,t);return{id:r,kind:`local`,project:e,pinned:!!a[r]?.pinned,order:a[r]?.order??n,cloudLinkTrusted:!i,cloudLinkWarning:i}}).sort(YS),[a,t,f]),E=(0,J.useMemo)(()=>t.filter(e=>!!n&&e.teamId===n).map((e,t)=>{let n=Yt(`cloud`,e.id);return{id:n,kind:`cloud`,project:e,pinned:!!a[n]?.pinned,order:a[n]?.order??t,cloudLinkTrusted:!0,cloudLinkWarning:null}}).sort(YS),[a,t,n]),D=(0,J.useMemo)(()=>new Set(f.map(e=>$_(e,t)?.id??null).filter(e=>!!e)),[t,f]),ee=(0,J.useMemo)(()=>E.filter(e=>!D.has(e.project.id)),[E,D]),O=(0,J.useMemo)(()=>[...T,...ee].sort(YS),[ee,T]),k=(0,J.useMemo)(()=>O.filter(e=>e.pinned),[O]),A=(0,J.useMemo)(()=>d.filter(e=>e.status===`pinned`),[d]),j=(0,J.useMemo)(()=>d.filter(e=>e.status===`saved_for_later`),[d]),te=O,M=(0,J.useMemo)(()=>XS(te,l,s),[te,l,s]),N=(0,J.useMemo)(()=>[...k.map(e=>({type:`project`,key:Xt({type:`project`,id:e.id}),id:e.id,item:e,order:e.order})),...m.map(e=>({type:`session`,key:Xt({type:`session`,id:e.id}),id:e.id,session:e,order:e.order})),...A.map((e,t)=>({type:`file`,key:Xt({type:`file`,id:e.id}),id:e.id,file:e,order:e.order??k.length+m.length+t}))].sort((e,t)=>{if(e.order!==t.order)return e.order-t.order;if(e.type!==t.type){let n={project:0,session:1,file:2};return n[e.type]-n[t.type]}let n=e.type===`project`?e.item.project.name:e.type===`session`?e.session.title:e.file.path,r=t.type===`project`?t.item.project.name:t.type===`session`?t.session.title:t.file.path;return n.localeCompare(r)}),[A,k,m]),ne=(0,J.useMemo)(()=>c?[...x,...S]:x,[c,S,x]),P=(0,J.useMemo)(()=>ne.slice(0,Math.max(15,u)),[ne,u]),re=(0,J.useMemo)(()=>F_(i,o),[i,o]);return{activeSessions:p,pinnedSessions:m,savedForLaterSessions:h,pinnedFiles:A,savedForLaterFiles:j,chatSessions:x,archivedSessions:g,pinnedProjects:k,pinnedItems:N,projectRows:te,localProjectRows:T,visibleProjectRows:M,cloudProjectRows:ee,projectSessionRowsByProjectId:C,childSessionRowsByParentId:w,sidebarProjectIdBySessionId:b,chatRows:ne,visibleChatRows:P,sessionEvents:re,chatMessages:(0,J.useMemo)(()=>AS(re),[re]),contextUsage:I_(i,o),goalRuntime:L_(i,o),subagentRuntime:R_(i,o)}}function qS(e){return JS(e)?!1:!e.hiddenFromDefaultSidebar||e.metadata?.benchmarkRuntime===`desktop_local_work`}function JS(e){return!!(e.parentSessionId&&e.subagentRunId)}function YS(e,t){return e.pinned===t.pinned?e.order===t.order?e.project.name.localeCompare(t.project.name):e.order-t.order:e.pinned?-1:1}function XS(e,t,n){if(t||e.length<=5)return e;let r=e.slice(0,5);if(!n||r.some(e=>e.id===n))return r;let i=e.find(e=>e.id===n);return i?[...r.slice(0,4),i]:r}function ZS(e){return e.name===`turn.completed`||e.name===`turn.failed`||e.name===`turn.interrupted`}function QS(e){let t=-1,n=null;for(let r=e.length-1;r>=0;--r){let i=e[r];if(i?.name===`turn.started`){t=r,n=i.turnId??null;break}}if(t===-1)return`none`;for(let r=e.length-1;r>t;--r){let t=e[r];if(t&&ZS(t)&&!(n&&t.turnId&&t.turnId!==n))return t.name===`turn.completed`?`completed`:`blocked`}return`pending`}function $S(e,t){if(e.systemKind)return!1;let n=F_(t,e.id);if(n.length===0)return!1;let r=QS(n);return r===`pending`||r===`none`&&tC(n)===`pending`}function eC(e,t){if(e.systemKind||e.status!==`active`)return!1;let n=F_(t,e.id);if(n.length===0)return!0;let r=QS(n);return r===`pending`||r===`none`&&tC(n)!==`terminal`}function tC(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n){if(n.name===`turn.completed`||n.name===`turn.failed`||n.name===`turn.interrupted`)return`terminal`;if(n.name===`assistant.delta`||n.name===`assistant.reasoning.delta`||n.name===`tool.started`||n.name===`tool.completed`||n.name===`skill.selected`||n.name===`skill.loaded`||n.name===`skill.load_failed`||n.name===`approval.requested`||n.name===`approval.resolved`||n.name===`command.output`||n.name===`workspace_action`||n.name===`workspace_action_result`)return`pending`}}return`none`}function nC({goalRuntime:e,goalRuntimeBySessionId:t,runtimeIndexes:n,selectedSession:r,selectedSessionId:i,sidebarSessions:a,subagentRuntimeBySessionId:o}){let s=(0,J.useMemo)(()=>new Map(a.map(e=>[e.id,e])),[a]),c=(0,J.useMemo)(()=>{let a=new Set;for(let[e,n]of t??[]){let t=s.get(e);n.tone===`active`&&!t?.systemKind&&a.add(e)}for(let e of n.activeGoalSessionIds)s.get(e)?.systemKind||a.add(e);return i&&!r?.systemKind&&e?.tone===`active`&&a.add(i),a},[e,t,n,r,i,s]),l=(0,J.useMemo)(()=>{let e=new Set(c);for(let[t,n]of o??[]){let r=s.get(t);n.activeCount>0&&!r?.systemKind&&e.add(t)}for(let t of n.activeSubagentSessionIds)s.get(t)?.systemKind||e.add(t);for(let t of a)t.systemKind||$S(t,n)&&e.add(t.id);return r&&$S(r,n)&&e.add(r.id),e},[c,n,r,a,s,o]);return{runningSessionIds:(0,J.useMemo)(()=>{let e=new Set(l);for(let t of a)eC(t,n)&&e.add(t.id);return r&&eC(r,n)&&e.add(r.id),e},[l,n,r,a]),selectedSessionRunning:!!(r&&!r.systemKind&&l.has(r.id))}}function rC(e){let{codexHistoryEvents:t,codexHistorySessions:n,connection:r,expandedProjectIds:i,goalRuntime:a,locallyActiveCodexHistorySessionIds:o,pinnedSessions:s,savedForLaterSessions:c,projectSessionRowsByProjectId:l,rightChatHistoryEvents:u,runtimeIndexes:d,selectedSession:f,selectedSessionId:p,serverId:m,setCodexHistorySessions:h,sidebarSessions:g,subagentRuntime:_,visibleChatRows:v,visibleProjectRows:y}=e,[b,x]=(0,J.useState)({});(0,J.useEffect)(()=>{x({})},[m]);let S=(0,J.useMemo)(()=>{let e=[],t=new Set,r=n=>{n&&n.id!==p&&$m(n.id)&&!t.has(n.id)&&(t.add(n.id),e.push(n.id))};for(let e of n)(e.status===`active`||o.has(e.id))&&r(e);let a=e.length;for(let e of y)for(let t of(l[e.id]??[]).slice(0,2))r(t);for(let e of i)for(let t of(l[e]??[]).slice(0,5))r(t);for(let e of s)r(e);for(let e of c)r(e);for(let e of v)r(e);return[...e.slice(0,a),...e.slice(a,a+8)].join(`
37
- `)},[n,i,o,s,c,l,p,v,y]),C=(0,J.useCallback)(e=>{x(t=>t[e.session.id]===e.events?t:{...t,[e.session.id]:e.events}),h(t=>fy(t,e.session))},[h]),w=(0,J.useMemo)(()=>{if(!S)return``;let e=new Set(S.split(`
38
- `).filter(Boolean));return g.filter(t=>e.has(t.id)&&t.status===`active`).map(e=>e.id).join(`
39
- `)},[S,g]),T=(0,J.useMemo)(()=>S?S.split(`
40
- `).filter(e=>o.has(e)).join(`
41
- `):``,[S,o]);(0,J.useEffect)(()=>{f&&p&&$m(p)&&t.length!==0&&C({session:f,events:t})},[C,t,f,p]),(0,J.useEffect)(()=>{if(!r||!S)return;let e=r,t=S.split(`
42
- `).filter(Boolean),n=new Set(w.split(`
43
- `).filter(Boolean)),i=new Set(T.split(`
44
- `).filter(Boolean)),a=t.map(t=>By({connection:e,locallyActive:i.has(t),onPayload:e=>C(Ly(e,i.has(t))),reportedActive:n.has(t),sessionId:t,surface:`sidebar`}));return()=>a.forEach(e=>e())},[C,w,T,S,r]);let E=(0,J.useMemo)(()=>new Map(g.map(e=>[e.id,e])),[g]),D=(0,J.useMemo)(()=>{let e=new Map(d.latestGoalRuntimeBySessionId);for(let t of g){let n=t.status===`active`?Fn(t.metadata):null;n&&e.set(t.id,n)}for(let t of[b,u])for(let[n,r]of Object.entries(t)){let t=E.get(n),i=t?.status===`active`?Fn(t.metadata):null,a=Zn(r)??Pn(r)??(t?.status===`active`?Tn(r)??i:null);a?e.set(n,a):e.delete(n)}if(p){if(a)e.set(p,a);else if(f?.status===`active`&&t.length>0){let n=Zn(t)??Tn(t)??Fn(f.metadata);n?e.set(p,n):e.delete(p)}else(!$m(p)||t.length>0)&&e.delete(p)}return e},[t.length,b,a,u,d.latestGoalRuntimeBySessionId,f?.status,f?.metadata,p,E,g]),ee=(0,J.useMemo)(()=>[...D.values()].some(e=>e.tone===`active`&&!!e.observedAt),[D]),O=Dn(ee),k=(0,J.useMemo)(()=>ee?new Map([...D].map(([e,t])=>[e,En(t,O)??t])):D,[D,O,ee]),A=p?k.get(p)??a:a,j=(0,J.useMemo)(()=>{let e=new Map(d.latestSubagentRuntimeBySessionId);return p&&(_?e.set(p,_):e.delete(p)),e},[d.latestSubagentRuntimeBySessionId,p,_]),{runningSessionIds:te,selectedSessionRunning:M}=nC({goalRuntime:A,goalRuntimeBySessionId:k,runtimeIndexes:d,selectedSession:f,selectedSessionId:p,sidebarSessions:g,subagentRuntimeBySessionId:j});return{goalRuntime:A,runningSessionIds:te,selectedSessionRunning:M,sidebarGoalRuntimeBySessionId:k,sidebarSubagentRuntimeBySessionId:j}}function iC({searchOpen:e,sectionMenuOpen:t,setSectionMenuOpen:n,setSearchOpen:r,setQuery:i}){(0,J.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===`k`?(a.preventDefault(),n(null),r(e=>!e)):a.key===`Escape`&&e?(a.preventDefault(),r(!1),i(``),n(null)):a.key===`Escape`&&t&&(a.preventDefault(),n(null))};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,i,r,n])}function aC({afterSequence:e,appendEvents:t,connection:n,setApprovals:r,setSessions:i,setError:a,onDisconnected:o}){(0,J.useEffect)(()=>{if(!n?.token||e===null)return;let s=n,c=!1,l=null,u=[],d=null,f=null,p=!1,m=new Map,h=0;function g(){l!==null&&(window.clearTimeout(l),l=null)}function _(){a(e=>e===`Event stream disconnected`?null:e)}function v(){if(c)return;d=null;let e=u;if(u=[],e.length===0)return;h=Date.now(),t(e);for(let t of new Set(e.filter(e=>e.name===`workspace_action_result`&&e.action===`chat_resource`).map(e=>e.sessionId).filter(Boolean)))window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:t}}));let n=oC(e);n.length>0&&i(e=>n.reduce(dy,e)),r(t=>{let n=t;for(let t of e)if(t.name===`approval.requested`&&t.data&&(n=[t.data,...n]),t.name===`approval.resolved`&&t.data&&typeof t.data==`object`){let e=t.data;e.approvalId&&(n=n.filter(t=>t.id!==e.approvalId))}return n})}function y(){let e=Date.now()-h;e>=16?(d!==null&&(window.clearTimeout(d),d=null),v()):d===null&&(d=window.setTimeout(v,16-e))}function b(e){c||(x(e),u.push(e),y())}function x(e){e.sessionId&&e.name.startsWith(`harness.refiner.`)&&(e.name===`harness.refiner.completed`||e.name===`harness.refiner.failed`?m.delete(e.sessionId):(e.name===`harness.refiner.queued`||e.name===`harness.refiner.started`)&&(m.set(e.sessionId,typeof e.sequence==`number`?e.sequence:0),S()))}function S(){c||f!==null||m.size===0||(f=window.setTimeout(()=>{f=null,C()},1e3))}async function C(){if(!(p||m.size===0)){p=!0;try{await Promise.all([...m].map(async([e,t])=>{let n=await Z.runtimeEventsPage(s,{sessionId:e,afterSequence:t,limit:100});if(!c)for(let t of n.events){let n=t.event;m.set(e,Math.max(m.get(e)??0,t.sequence)),b(n)}}))}catch{}finally{p=!1,S()}}}function w(){d!==null&&(window.clearTimeout(d),d=null),v()}document.addEventListener(`visibilitychange`,w);let T=Xu(n,e=>{c||(g(),_(),b(e))},()=>{c||(g(),l=window.setTimeout(()=>{T.isOpen()||(_n(s),o?.())},2e3))},()=>{c||(g(),_(),window.dispatchEvent(new Event(`openpond-runtime-connected`)),mn(s).error&&o?.())},{afterSequence:e});return()=>{c=!0,g(),d!==null&&window.clearTimeout(d),f!==null&&window.clearTimeout(f),d=null,f=null,u=[],document.removeEventListener(`visibilitychange`,w),T.close()}},[e,t,n,o,r,a,i])}function oC(e){let t=new Map;for(let n of e){let e=n.data;if(!e||typeof e!=`object`||Array.isArray(e))continue;let r=n.name===`session.started`||n.name===`session.updated`||n.name===`session.title.updated`?`session`:n.name===`subagent.started`||n.name===`subagent.failed`?`childSession`:null;if(!r)continue;let i=Ce.safeParse(e[r]);i.success&&t.set(i.data.id,i.data)}return[...t.values()]}function sC(e,t){return w({queryKey:[`training-navigation`,Qn(e),t],queryFn:({signal:n})=>q(e,`/v1/training/navigation?profileId=${encodeURIComponent(t)}`,{signal:n}),enabled:!!e,staleTime:3e4,gcTime:3e5,refetchInterval:3e4,refetchIntervalInBackground:!1})}function cC(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function lC(e){return typeof e==`string`&&e.trim()?e.trim():null}function uC(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.name!==`create_improve.updated`)continue;let r=cC(cC(n.data)?.createImproveRun);if(r?.state!==`ready_local`&&r?.state!==`released`||cC(r.adapter)?.kind!==`local`)continue;let i=lC(r.id)??n.id;return[n.sessionId??`global`,n.turnId??`turn`,i].join(`:`)}return null}var dC=244,fC=560,pC=320,mC=2400,hC=440;function gC(e){let t=typeof window>`u`?fC:Math.min(fC,Math.max(dC,window.innerWidth-420));return Math.min(t,Math.max(dC,Math.round(e)))}function _C(e){let t=typeof window>`u`?mC:Math.min(mC,Math.max(pC,window.innerWidth-hC));return Math.min(t,Math.max(pC,Math.round(e)))}function vC(e,t){return!!(e&&e.serverUrl===t.serverUrl&&e.token===t.token&&e.platform===t.platform)}function yC(e,t){let{error:n}=ag(e);(0,J.useEffect)(()=>{if(!e||!n)return;let r=window.setInterval(t,5e3);return()=>window.clearInterval(r)},[e,n,t])}var bC=new Map;function xC(e,t){let n=e?.trim();return n?`${t?.trim()||`global`}|${n}`:null}function SC(e,t){let n=xC(e,t);if(!n)return null;let r=bC.get(n);return r?.updatedAt?r.agents:null}function CC(e,t,n){let r=xC(e,n);r&&bC.set(r,{agents:t,promise:null,updatedAt:Date.now()})}function wC(e){let t=e.teamId?.trim();if(!t)return Promise.resolve([]);let n=xC(t,e.accountKey);if(!n)return Promise.resolve([]);let r=bC.get(n);if(!e.force&&r?.updatedAt)return Promise.resolve(r.agents);if(r?.promise)return r.promise;let i=e.fetchAgents(t).then(r=>(bC.get(n)?.promise===i&&CC(t,r,e.accountKey),r)).catch(e=>{let t=bC.get(n);throw t?.promise===i&&bC.set(n,{agents:t.agents,promise:null,updatedAt:t.updatedAt}),e});return bC.set(n,{agents:r?.agents??[],promise:i,updatedAt:r?.updatedAt??0}),i}var TC=[`pinned`,`projects`,`cloudProjects`,`chats`,`savedForLater`];function EC(e,t,n,r=Date.now()){for(let i of MC(t,n))NC(t[i],n[i])||(e[i]=r)}function DC(e,t,n,r=Date.now()){let i={...t};for(let[a,o]of Object.entries(n)){if(r-o>6e4){delete n[a];continue}let s=FC(e,a),c=e[a];s&&!NC(c,t[a])&&(i[a]=c)}return i}function OC(e,t,n,r=Date.now()){for(let i of TC)t[i]!==n[i]&&(e[i]=r)}function kC(e,t,n,r=Date.now()){let i={...t};for(let a of TC){let o=n[a];o!==void 0&&(r-o>6e4||e[a]===t[a]?delete n[a]:i[a]=e[a])}return PC(e,i)?e:i}function AC(e,t,n=Date.now()){return e===t?null:{value:t,changedAt:n}}function jC(e,t,n=Date.now()){return!t||n-t.changedAt>6e4?{value:e,localChange:null}:e===t.value?{value:e,localChange:t}:{value:t.value,localChange:t}}function MC(e,t){return new Set([...Object.keys(e),...Object.keys(t)])}function NC(e,t){return e?.pinned===t?.pinned&&e?.archived===t?.archived&&e?.order===t?.order}function PC(e,t){return TC.every(n=>e[n]===t[n])}function FC(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var IC=`\0openpond-unscoped-runtime-events`,LC=[],RC=class{perSessionLimit;totalLimit;entries=new Map;eventKeyById=new Map;listenersByKey=new Map;liveListeners=new Set;allListeners=new Set;summaryListeners=new Set;retainedKeys=new Set;allEventsSnapshot=LC;summaryEventsSnapshot=LC;clock=0;eventCount=0;constructor(e={}){if(this.perSessionLimit=WC(e.perSessionLimit??5e3,`perSessionLimit`),this.totalLimit=WC(e.totalLimit??5e4,`totalLimit`),this.totalLimit<this.perSessionLimit)throw Error(`totalLimit must be greater than or equal to perSessionLimit`)}appendLive(e){let t=e.filter(e=>!this.eventKeyById.has(e.id)),n=this.append(e);if(t.length)for(let e of this.liveListeners)e(t);return n}subscribeLive=e=>(this.liveListeners.add(e),()=>this.liveListeners.delete(e));append(e){if(e.length===0)return HC();let t=new Map,n=0;for(let r of e){if(this.eventKeyById.has(r.id)){n+=1;continue}let e=r.sessionId||IC,i=t.get(e);i?i.push(r):t.set(e,[r]),this.eventKeyById.set(r.id,e)}if(t.size===0)return{...HC(),duplicateEventCount:n};let r=new Set,i=0,a=0,o=!1;for(let[e,n]of t){n.some(GC)&&(o=!0);let t=this.entries.get(e),s=t?.snapshot.events??LC,c=Math.max(0,Math.min(s.length,this.perSessionLimit-n.length)),l=n.length>this.perSessionLimit?n.slice(n.length-this.perSessionLimit):n,u=c===s.length?s:s.slice(s.length-c),d=u.length===0?l:[...u,...l],f=s.slice(0,s.length-u.length);f.some(GC)&&(o=!0);for(let e of f)this.eventKeyById.delete(e.id);for(let e of n.slice(0,n.length-l.length))this.eventKeyById.delete(e.id);let p={eventIds:new Set(d.map(e=>e.id)),lastTouched:++this.clock,retained:t?.retained??this.retainedKeys.has(e),snapshot:{events:d,latestSequence:l_(d),revision:(t?.snapshot.revision??0)+1}};this.entries.set(e,p),this.eventCount+=d.length-s.length,i+=l.length,a+=f.length+n.length-l.length,r.add(e)}let s=this.enforceTotalLimit(r);return a+=s,this.publish(r,o||s>0),VC({acceptedEventCount:i,duplicateEventCount:n,evictedEventCount:a,changedKeys:r})}mergeBootstrap(e){let t=BC(e),n=new Set([...this.entries.keys(),...t.keys()]),r=[];for(let e of n){let n=t.get(e)??LC,i=this.entries.get(e)?.snapshot.events??LC;r.push(...c_(n,i))}return this.replace(r)}replace(e){let t=new Set(this.eventKeyById.keys()),n=new Set(this.entries.keys());this.entries.clear(),this.eventKeyById.clear(),this.eventCount=0,this.allEventsSnapshot=LC,this.summaryEventsSnapshot=LC;let r=this.append(e);for(let e of this.retainedKeys){let t=this.entries.get(e);t&&(t.retained=!0)}let i=this.eventKeyById,a=0;for(let e of t)i.has(e)||(a+=1);let o=new Set([...n].filter(e=>!this.entries.has(e)));return o.size>0&&this.publish(o,!0),{...r,evictedEventCount:r.evictedEventCount+a,changedSessionIds:new Set([...r.changedSessionIds,...[...o].filter(e=>e!==IC)]),unscopedEventsChanged:r.unscopedEventsChanged||o.has(IC)}}clear(){if(this.entries.size===0)return;let e=new Set(this.entries.keys());this.entries.clear(),this.eventKeyById.clear(),this.eventCount=0,this.allEventsSnapshot=LC,this.summaryEventsSnapshot=LC,this.publish(e,!0)}retainSession(e,t=!0){t?this.retainedKeys.add(e):this.retainedKeys.delete(e);let n=this.entries.get(e);n&&(n.retained=t)}getSessionSnapshot=e=>e?this.entries.get(e)?.snapshot??zC:zC;getSessionEvents(e){return this.getSessionSnapshot(e).events}getAllEvents=()=>{if(this.allEventsSnapshot)return this.allEventsSnapshot;let e=[...this.entries.values()].flatMap(e=>e.snapshot.events);return e.sort(UC),this.allEventsSnapshot=e,e};getSummaryEvents=()=>(this.summaryEventsSnapshot||=this.getAllEvents(),this.summaryEventsSnapshot);getStats(){let e=0;for(let[t,n]of this.entries)t!==IC&&n.retained&&(e+=1);return{eventCount:this.eventCount,retainedSessionCount:e,sessionCount:this.entries.size-+!!this.entries.has(IC),perSessionLimit:this.perSessionLimit,totalLimit:this.totalLimit}}subscribeAll=e=>(this.allListeners.add(e),()=>this.allListeners.delete(e));subscribeSummary=e=>(this.summaryListeners.add(e),()=>this.summaryListeners.delete(e));subscribeSession(e,t){let n=this.listenersByKey.get(e);return n||(n=new Set,this.listenersByKey.set(e,n)),n.add(t),()=>{n?.delete(t),n?.size===0&&this.listenersByKey.delete(e)}}enforceTotalLimit(e){let t=0;for(;this.eventCount>this.totalLimit&&this.entries.size>0;){let n=this.oldestEvictionCandidate(!1)??this.oldestEvictionCandidate(!0);if(!n)break;let[r,i]=n,a=this.eventCount-this.totalLimit;if(!i.retained||i.snapshot.events.length<=a){t+=i.snapshot.events.length,this.removeEntry(r),e.add(r);continue}let o=i.snapshot.events.slice(0,a),s=i.snapshot.events.slice(a);for(let e of o)this.eventKeyById.delete(e.id);i.eventIds=new Set(s.map(e=>e.id)),i.snapshot={events:s,latestSequence:l_(s),revision:i.snapshot.revision+1},this.eventCount-=o.length,t+=o.length,e.add(r)}return t}oldestEvictionCandidate(e){let t=null;for(let n of this.entries)(e||!n[1].retained)&&(!t||n[1].lastTouched<t[1].lastTouched)&&(t=n);return t}removeEntry(e){let t=this.entries.get(e);if(t){for(let e of t.snapshot.events)this.eventKeyById.delete(e.id);this.eventCount-=t.snapshot.events.length,this.entries.delete(e)}}publish(e,t=!1){if(e.size!==0){this.allEventsSnapshot=null,t&&(this.summaryEventsSnapshot=null);for(let t of e)for(let e of this.listenersByKey.get(t)??[])e();for(let e of this.allListeners)e();if(t)for(let e of this.summaryListeners)e()}}},zC=Object.freeze({events:LC,latestSequence:null,revision:0});function BC(e){let t=new Map;for(let n of e){let e=n.sessionId||IC,r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function VC(e){return{acceptedEventCount:e.acceptedEventCount,duplicateEventCount:e.duplicateEventCount,evictedEventCount:e.evictedEventCount,changedSessionIds:new Set([...e.changedKeys].filter(e=>e!==IC)),unscopedEventsChanged:e.changedKeys.has(IC)}}function HC(){return{acceptedEventCount:0,duplicateEventCount:0,evictedEventCount:0,changedSessionIds:new Set,unscopedEventsChanged:!1}}function UC(e,t){if(e.sequence!==void 0&&t.sequence!==void 0)return e.sequence-t.sequence;let n=Date.parse(e.timestamp)-Date.parse(t.timestamp);return Number.isFinite(n)&&n!==0?n:e.id.localeCompare(t.id)}function WC(e,t){if(!Number.isInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function GC(e){return e.name!==`assistant.delta`&&e.name!==`assistant.reasoning.delta`&&e.name!==`command.output`}var KC=256,qC=15e3,JC=5e3,YC=3e4,XC=new class{options;entries=new Map;connection=null;accountScope=null;generation=0;constructor(e={}){this.options=e}activateConnection(e){QC(this.connection,e)||(this.connection=e,this.clear())}activateAccountScope(e){e!==this.accountScope&&(this.accountScope=e,this.clear())}get(e){let t=this.now(),n=this.entries.get(e);return n?this.expired(n,t)?(this.entries.delete(e),null):(n.lastAccessedAt=t,$C(this.entries,e,n),n.state===`ready`?n.url:null):null}load(e,t){let n=this.get(e);if(n)return Promise.resolve(n);let r=this.now(),i=this.entries.get(e);if(i?.state===`loading`&&!this.expired(i,r))return i.promise;if(i?.state===`failed`&&!this.expired(i,r))return Promise.resolve(null);let a=this.generation,o=t().then(t=>this.generation===a?(this.entries.set(e,{state:`ready`,url:t.url,expiresAt:t.expiresAt,lastAccessedAt:this.now()}),this.prune(),t.url):null).catch(()=>{if(this.generation!==a)return null;let t=this.now();return this.entries.set(e,{state:`failed`,expiresAt:t+(this.options.failureTtlMs??JC),lastAccessedAt:t}),this.prune(),null});return this.entries.set(e,{state:`loading`,promise:o,expiresAt:r+(this.options.loadingTtlMs??YC),lastAccessedAt:r}),this.prune(),o}clear(){this.generation+=1,this.entries.clear()}watch(e,t,n){let r=!1,i=0,a=0,o,s=async(c=!1)=>{if(r)return;let l=++i;clearTimeout(o),c&&this.entries.get(e)?.state!==`loading`&&this.entries.delete(e);let u=this.get(e);n({url:u,status:u?`ready`:`loading`});let d=await this.load(e,t);if(r||l!==i)return;if(n({url:d,status:d?`ready`:`error`}),!d){++a<=3&&(o=setTimeout(()=>void s(),[5e3,15e3,3e4][a-1]));return}a=0;let f=this.entries.get(e),p=Math.max(1e3,(f?.expiresAt??this.now()+6e4)-this.now()-(this.options.expirySkewMs??qC));o=setTimeout(()=>void s(),p)};return s(),{refresh:(e=!1)=>{a=0,s(e)},close:()=>{r=!0,i+=1,clearTimeout(o)}}}size(){return this.prune(),this.entries.size}prune(){let e=this.now();for(let[t,n]of this.entries)this.expired(n,e)&&this.entries.delete(t);let t=this.options.maxEntries??KC;for(;this.entries.size>t;){let e=this.entries.keys().next().value;if(!e)break;this.entries.delete(e)}}expired(e,t){let n=e.state===`ready`?this.options.expirySkewMs??qC:0;return e.expiresAt<=t+n}now(){return(this.options.now??Date.now)()}};function ZC(e,t,...n){return[t,e.serverUrl,...n].join(`\0`)}function QC(e,t){return e?.serverUrl===t?.serverUrl&&e?.token===t?.token&&e?.platform===t?.platform}function $C(e,t,n){e.delete(t),e.set(t,n)}async function ew(e,t,n=3e4){let r=new AbortController,i=()=>r.abort(t.reason);t.addEventListener(`abort`,i,{once:!0}),t.aborted&&i();let a=setTimeout(()=>r.abort(Error(`OpenPond took too long to respond. Check the server connection and try again.`)),n),o=()=>{};try{return r.signal.throwIfAborted(),await Promise.race([e(r.signal),new Promise((e,t)=>{o=()=>t(r.signal.reason),r.signal.addEventListener(`abort`,o,{once:!0}),r.signal.aborted&&o()})])}finally{clearTimeout(a),t.removeEventListener(`abort`,i),r.signal.removeEventListener(`abort`,o),r.abort()}}function tw(e){let[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(0),s=(0,J.useRef)(null),c=(0,J.useCallback)(()=>{if(s.current)return s.current.promise;let t=new AbortController;i(!0);let r=ew(e,t.signal).then(()=>{t.signal.aborted||n(null)}).catch(e=>{throw t.signal.aborted||n(e instanceof Error?e.message:String(e)),e}).finally(()=>{s.current?.controller===t&&(s.current=null,i(!1))});return s.current={controller:t,promise:r},r},[e]);return(0,J.useEffect)(()=>{let e=!1,t,n=async r=>{try{await c()}catch{!e&&r<2&&(t=setTimeout(()=>void n(r+1),1500*(r+1)))}};return n(0),()=>{e=!0,clearTimeout(t),s.current?.controller.abort(),s.current=null}},[c,a]),{error:t,retrying:r,retry:(0,J.useCallback)(()=>o(e=>e+1),[]),recover:(0,J.useCallback)(()=>{c().catch(()=>void 0)},[c])}}function nw(e){let t=0,n=!1,r=!1,i=null;async function a(){for(;n&&!r;){n=!1;let i=t;try{let n=await e.fetch();!r&&i===t&&e.apply(n)}catch(n){!r&&i===t&&e.onError(n)}}}return{refresh(){return r?Promise.resolve():(t+=1,n=!0,i??=a().finally(()=>{i=null}),i)},invalidate(){t+=1,i&&(n=!0)},dispose(){r=!0,t+=1,n=!1}}}function rw({connection:e,events:t,refreshRef:n,setBootstrap:r,setError:i}){(0,J.useEffect)(()=>{if(!e)return;let t=nw({fetch:()=>Z.accountScopeSnapshot(e),apply:e=>r(t=>t&&{...t,account:e.account,accountMeta:e.accountMeta,preferences:e.preferences,configuration:e.configuration,providers:e.providers,apps:e.apps,appsError:e.appsError,appsMeta:e.appsMeta,cloudProjects:e.cloudProjects}),onError:e=>i(e instanceof Error?e.message:String(e))});n.current=t;let a=()=>{t.refresh()};return window.addEventListener(`focus`,a),()=>{t.dispose(),n.current=null,window.removeEventListener(`focus`,a)}},[e,n,r,i]);let a;for(let e=t.length-1;e>=0;--e){let n=t[e];if(n.name===`diagnostic`&&n.status===`completed`&&(n.action?.startsWith(`openpond.account.`)||n.action===`openpond.preferences.update`)){a=n.id;break}}(0,J.useEffect)(()=>{a&&n.current?.refresh()},[e,n,a])}var iw=6e4;function aw(e){let{selectedSessionId:t,setDraftModel:n,setDraftProvider:r,setCodexPermissionMode:i,setCodexReasoningEffort:a,setOpenPondCommandAccessMode:o,setError:c,setSelectedAppId:l,setSelectedProjectId:u,setSelectedSessionId:d}=e,[f,p]=(0,J.useState)(null),[m,h]=(0,J.useState)(null),[g]=(0,J.useState)(()=>new RC),_=(0,J.useSyncExternalStore)(g.subscribeSummary,g.getSummaryEvents,g.getSummaryEvents),v=(0,J.useCallback)(e=>{let t=g.getAllEvents(),n=typeof e==`function`?e(t):e;n!==t&&g.replace(n)},[g]),y=(0,J.useCallback)(e=>{g.appendLive(e)},[g]),[b,x]=(0,J.useState)(null),[S,C]=(0,J.useState)([]),[w,T]=(0,J.useState)([]),[E,D]=(0,J.useState)([]),[ee,O]=(0,J.useState)({}),[k,A]=(0,J.useState)(`connecting`),j=pv(m?.account),te=(0,J.useRef)({}),M=(0,J.useRef)({}),N=(0,J.useRef)({}),ne=(0,J.useRef)([]),P=(0,J.useRef)([]),re=(0,J.useRef)(null),F=(0,J.useRef)(null),ie=(0,J.useRef)(!1),I=(0,J.useRef)(null),L=(0,J.useRef)(null),R=(0,J.useRef)(null);(0,J.useEffect)(()=>{XC.activateConnection(f),XC.activateAccountScope(j)},[f,j]);let z=(0,J.useCallback)(e=>{ie.current||A(e)},[]),B=(0,J.useCallback)(e=>{O(t=>{let n=typeof e==`function`?e(t):e;return EC(te.current,t,n),n})},[]),ae=(0,J.useCallback)(e=>{C(t=>{let n=typeof e==`function`?e(t):e;return gy(M.current,t,n),ne.current=n,n})},[]),V=(0,J.useCallback)(e=>{T(t=>{let n=typeof e==`function`?e(t):e;return gy(N.current,t,n),P.current=n,n})},[]),H=(0,J.useCallback)(()=>{ie.current||(ie.current=!0,A(`ready`))},[]),U=(0,J.useCallback)(e=>{R.current?.invalidate();let t=re.current,n=!t||t===e.server.id;re.current=e.server.id,x(t=>t?.serverId===e.server.id?t:{afterSequence:e.eventWindow?.latestSequence??l_(e.events)??0,serverId:e.server.id}),h(e),n?g.mergeBootstrap(e.events):g.replace(e.events),C(t=>{let r=n?my(t,e.sessions,M.current):py(t,e.sessions,M.current);return ne.current=r,r}),T(t=>{let r=n?my(t,e.codexHistorySessions??[],N.current):py(t,e.codexHistorySessions??[],N.current);return P.current=r,r}),D(e.approvals),O(t=>DC(t,e.sidebarAppPreferences,te.current)),l(t=>t&&e.apps.some(e=>e.id===t)?t:null),u(t=>{if(!t)return null;let n=$t(t);return n?.kind===`local`&&e.localProjects.some(e=>e.id===n.id)?Yt(`local`,n.id):n?.kind===`cloud`&&(e.cloudProjects??[]).some(e=>e.id===n.id)?Yt(`cloud`,n.id):e.localProjects.some(e=>e.id===t)?Yt(`local`,t):(e.cloudProjects??[]).some(e=>e.id===t)?Yt(`cloud`,t):null}),d(t=>{if(!t)return null;let r=[...e.sessions,...e.codexHistorySessions??[]];if(r.some(e=>e.id===t&&!e.archived))return t;if(!n)return null;let i=ne.current.find(e=>e.id===t)??P.current.find(e=>e.id===t)??null;return i&&!i.archived&&hy(i,r)?t:null})},[g,l,u,d]),oe=(0,J.useCallback)(e=>{R.current?.invalidate(),h(t=>t&&{...t,preferences:e.preferences})},[]);rw({connection:f,events:_,refreshRef:R,setBootstrap:h,setError:c});let W=(0,J.useSyncExternalStore)(ve,()=>ye.getItem(On),()=>null);(0,J.useEffect)(()=>{if(t)return;let e=qt(m?.preferences),i=Cn();r(i?.provider??e.defaultChatProvider),n(i?.model??e.defaultChatModel)},[t,m?.preferences.defaultChatProvider,m?.preferences.defaultChatModel,W,n,r]),(0,J.useEffect)(()=>{i(qt(m?.preferences).codexPermissionMode)},[m?.preferences.codexPermissionMode,i]),(0,J.useEffect)(()=>{a(qt(m?.preferences).codexReasoningEffort)},[m?.preferences.codexReasoningEffort,a]),(0,J.useEffect)(()=>{o(qt(m?.preferences).openPondCommandAccessMode)},[m?.preferences.openPondCommandAccessMode,o]),(0,J.useEffect)(()=>{if(!f||!m||m.account.state!==`signed_in`){F.current=null;return}let e=pv(m.account);if(!e){F.current=null;return}let t=m.preferences.defaultTeamId?.trim()??``,n=sw(e,t,m.accountMeta.asOf??`initial`);if(F.current===n)return;F.current=n;let r=!1,i=t=>wC({teamId:t,accountKey:e,fetchAgents:async e=>(await Z.listSandboxAgents(f,{teamId:e})).agents}).catch(()=>{!r&&F.current===n&&(F.current=null)});return _v({accountKey:e,force:!0,fetchOrganizations:()=>ow(f)}).then(async e=>{if(r||e.length===0)return;if(t&&e.some(e=>e.teamId===t)){await i(t);return}let n=Cr(e)?.teamId;n&&(t?c(`The configured default team is unavailable for this account. Select an available team in account settings.`):await i(n))}).catch(e=>{r||(F.current=null,c(e instanceof Error?e.message:String(e)))}),()=>{r=!0}},[m?.account,m?.accountMeta.asOf,m?.preferences.defaultTeamId,f,c]),(0,J.useEffect)(()=>{if(!f||!j)return;let e=!1,t=()=>{e||(e=!0,_v({accountKey:j,force:!0,fetchOrganizations:()=>ow(f)}).catch(()=>void 0).finally(()=>{e=!1}))},n=()=>{document.visibilityState===`visible`&&t()},r=window.setInterval(t,iw);return window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,n),()=>{window.clearInterval(r),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,n)}},[f,j]),be(()=>{let e=Se();c(e||(e=>e?.startsWith(`Preference changes have not been saved.`)?null:e))}),(0,J.useEffect)(()=>{f&&j!==I.current&&(I.current=j,xe(f,{force:!0}).catch(e=>c(String(e))))},[f,j,c]);let G=tw((0,J.useCallback)(async e=>{z(`connecting`),x(null);let t=await Ud();e.throwIfAborted(),p(e=>vC(e,t)?e:t),z(`account`);let[n]=await Promise.all([Z.bootstrap(t,e),xe(t,{signal:e})]);e.throwIfAborted(),I.current=pv(n.account),U(n),H(),yn(t),c(e=>e&&(fr(e)||e===`Event stream disconnected`)?null:e)},[U,H,z,c]));yC(f,G.recover),aC({afterSequence:b?.afterSequence??null,appendEvents:y,connection:f,setApprovals:D,setSessions:ae,setError:c,onDisconnected:G.recover}),(0,J.useEffect)(()=>{if(!f||!m){L.current=null;return}let e=uC(_);e&&L.current!==e&&(L.current=e,Z.profileCurrent(f).then(e=>{h(t=>t&&{...t,profile:e})}).catch(e=>{L.current=null,c(e instanceof Error?e.message:String(e))}))},[m,f,_,c]);let se=(0,J.useCallback)(()=>{f&&Z.refreshOpenPondAccount(f).then(({account:e,accountMeta:t})=>{h(n=>n&&{...n,account:e,accountMeta:t})}).catch(e=>c(e instanceof Error?e.message:String(e)))},[f,c]);return{appPreferences:ee,applyBootstrapPayload:U,applyPreferencesPayload:oe,approvals:E,bootstrap:m,codexHistorySessions:w,connection:f,events:_,runtimeEventStore:g,notificationAfterSequence:b?.afterSequence??null,refreshOpenPondAccount:se,sessions:S,startup:{...s(k),error:G.error,retrying:G.retrying,retry:G.retry},setAppPreferences:B,setBootstrap:h,setCodexHistorySessions:V,setEvents:v,setSessions:ae}}async function ow(e){return(await Z.organizations(e)).organizations.map(Tr).filter(e=>!!e).filter(e=>e.status===`active`)}function sw(e,t,n){return`${e}::${t||`none`}::${n}`}function cw({appDispatch:e,error:t,setErrorState:n}){let r=(0,J.useRef)(null),i=(0,J.useRef)(null),a=(0,J.useRef)(null),o=(0,J.useRef)(0),s=(0,J.useCallback)((t,n=`info`,r={})=>{let i=Date.now()+ ++o.current;return n===`error`&&fr(t)&&r.dedupeKey!==`openpond-connection`||e({type:`showToast`,toast:{id:i,createdAt:Date.now(),message:t,tone:n,...r}}),i},[e]),c=(0,J.useCallback)(t=>{let o=i.current,c=typeof t==`function`?t(o):t;if(c&&fr(c)&&r.current||Object.is(o,c))return;if(i.current=c,n(c),!c){a.current!==null&&(e({type:`clearToast`,toastId:a.current}),a.current=null);return}a.current=s(lw(c),`error`);let l=r.current;l&&Z.recordClientDiagnostic(l,{message:c,surface:`app`,context:{href:window.location.href}}).catch(e=>{console.warn(`Unable to record client diagnostic.`,e)})},[e,n,s]);return(0,J.useEffect)(()=>{i.current=t,!(t||a.current===null)&&(e({type:`clearToast`,toastId:a.current}),a.current=null)},[e,t]),{connectionRef:r,setError:c,showToast:s}}function lw(e){return pr(e)}function uw(e,t){if(e.find(e=>t.dedupeKey&&e.dedupeKey===t.dedupeKey))return e;let n=e.find(e=>t.groupKey&&e.groupKey===t.groupKey);if(n&&n.kind===`attention`)return e.map(e=>e.id===n.id?{...t,id:e.id,createdAt:e.createdAt}:e);let r=[t,...e.filter(e=>!t.groupKey||e.groupKey!==t.groupKey)];if(r.length<=23)return r;let i=-1;for(let e=r.length-1;e>=3;e--)if(r[e].kind!==`attention`){i=e;break}return r.splice(i===-1?r.length-1:i,1),r}var dw={query:``,searchOpen:!1,archivedChatsOpen:!1,sectionMenuOpen:null,projectsExpanded:!1,cloudProjectsExpanded:!1,chatRowsVisibleCount:15,sidebarOpen:!0,view:`chat`,selectedAppId:null,selectedProjectId:null,selectedSessionId:null,prompt:``,promptDrafts:{},draftProvider:pe,draftModel:de,draftExperience:`work`,codexPermissionMode:ue,codexReasoningEffort:he,openPondCommandAccessMode:`ask`,busy:!1,diffPanelOpen:!1,diffPanelExpanded:!1,rightPanelMode:`home`,rightChatPanels:[],terminalOpen:!1,syncingWorkspaceAppId:null,settingsSection:`account`,newProjectDialogOpen:!1,newProjectMode:`local`,newProjectName:``,newProjectPath:``,newProjectBusy:!1,commitDialogOpen:!1,commitMessage:``,commitIncludeUnstaged:!0,commitNextStep:`commit`,commitDraft:!0,branchDialogOpen:!1,branchDialogName:``,toasts:[],error:null};function fw(e){return e.selectedSessionId?`session:${e.selectedSessionId}`:e.selectedProjectId?`project:${e.selectedProjectId}`:e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`}function pw(e,t,n){if(!n){if(!(t in e))return e;let{[t]:n,...r}=e;return r}return e[t]===n?e:{...e,[t]:n}}function mw(e){return pw(e.promptDrafts,fw(e),e.prompt)}function hw(e,t,n={}){let r=fw({...e,...t}),i=mw(e),a=n.clearSelectedDraft?pw(i,r,``):n.preserveCurrentPrompt?pw(i,r,e.prompt):i;return{...e,...t,promptDrafts:a,prompt:n.clearSelectedDraft?``:n.preserveCurrentPrompt?e.prompt:a[r]??``}}function gw(e){return e===`draftExperience`||e===`selectedAppId`||e===`selectedProjectId`||e===`selectedSessionId`}function _w(e,t){switch(t.type){case`field`:{let n=e[t.key],r=typeof t.value==`function`?t.value(n):t.value;if(Object.is(n,r))return e;if(t.key===`prompt`){let t=String(r);return{...e,prompt:t,promptDrafts:pw(e.promptDrafts,fw(e),t)}}return gw(t.key)?hw(e,{[t.key]:r}):{...e,[t.key]:r}}case`patch`:return{...e,...t.patch};case`selectApp`:return hw(e,{selectedAppId:t.appId,selectedProjectId:null,selectedSessionId:null,view:`chat`});case`selectProject`:return hw(e,{selectedAppId:null,selectedProjectId:t.projectId,selectedSessionId:null,view:`chat`},{preserveCurrentPrompt:!0});case`selectSession`:{let n=t.projectId??null;return hw(e,{selectedSessionId:t.sessionId,selectedAppId:n?null:t.appId??null,selectedProjectId:n,view:`chat`})}case`beginNewChat`:return hw(e,{selectedSessionId:null,selectedAppId:t.appId,selectedProjectId:t.projectId??null,error:null,view:`chat`});case`openCommitDialog`:return{...e,commitMessage:``,commitIncludeUnstaged:!0,commitNextStep:t.nextStep,commitDraft:!0,commitDialogOpen:!0,error:null,view:`chat`};case`openBranchDialog`:return{...e,branchDialogName:t.branchName,branchDialogOpen:!0,error:null,view:`chat`};case`showToast`:return{...e,toasts:uw(e.toasts,t.toast)};case`clearToast`:return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)};case`clearToastGroup`:return{...e,toasts:e.toasts.filter(e=>e.groupKey!==t.groupKey)};case`clearToasts`:return{...e,toasts:[]};default:return e}}function vw(e,t){return n=>e({type:`field`,key:t,value:n})}function yw(e){return{setQuery:vw(e,`query`),setSearchOpen:vw(e,`searchOpen`),setArchivedChatsOpen:vw(e,`archivedChatsOpen`),setSectionMenuOpen:vw(e,`sectionMenuOpen`),setProjectsExpanded:vw(e,`projectsExpanded`),setCloudProjectsExpanded:vw(e,`cloudProjectsExpanded`),setChatRowsVisibleCount:vw(e,`chatRowsVisibleCount`),setSidebarOpen:vw(e,`sidebarOpen`),setView:vw(e,`view`),setSelectedAppId:vw(e,`selectedAppId`),setSelectedProjectId:vw(e,`selectedProjectId`),setSelectedSessionId:vw(e,`selectedSessionId`),setPrompt:vw(e,`prompt`),setDraftProvider:vw(e,`draftProvider`),setDraftModel:vw(e,`draftModel`),setDraftExperience:vw(e,`draftExperience`),setCodexPermissionMode:vw(e,`codexPermissionMode`),setCodexReasoningEffort:vw(e,`codexReasoningEffort`),setOpenPondCommandAccessMode:vw(e,`openPondCommandAccessMode`),setBusy:vw(e,`busy`),setDiffPanelOpen:vw(e,`diffPanelOpen`),setDiffPanelExpanded:vw(e,`diffPanelExpanded`),setRightPanelMode:vw(e,`rightPanelMode`),setRightChatPanels:vw(e,`rightChatPanels`),setTerminalOpen:vw(e,`terminalOpen`),setSyncingWorkspaceAppId:vw(e,`syncingWorkspaceAppId`),setSettingsSection:vw(e,`settingsSection`),setNewProjectDialogOpen:vw(e,`newProjectDialogOpen`),setNewProjectMode:vw(e,`newProjectMode`),setNewProjectName:vw(e,`newProjectName`),setNewProjectPath:vw(e,`newProjectPath`),setNewProjectBusy:vw(e,`newProjectBusy`),setCommitDialogOpen:vw(e,`commitDialogOpen`),setCommitMessage:vw(e,`commitMessage`),setCommitIncludeUnstaged:vw(e,`commitIncludeUnstaged`),setCommitNextStep:vw(e,`commitNextStep`),setCommitDraft:vw(e,`commitDraft`),setBranchDialogOpen:vw(e,`branchDialogOpen`),setBranchDialogName:vw(e,`branchDialogName`),setError:vw(e,`error`)}}function bw(e){return e.selectedSessionId?`session:${e.selectedSessionId}`:e.selectedProjectId?`project:${e.selectedProjectId}`:e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`}function xw(e={selectedAppId:null,selectedProjectId:null,selectedSessionId:null},t={}){let n=e,r=new Map,i=new Map(Object.entries(t).map(([e,t])=>{if(typeof t==`string`)return[e,t];let n=Wu.safeParse(t.resourceContexts);return n.success&&r.set(e,n.data),[e,t.prompt]})),a=i.get(bw(n))??``,o=new Set,s=e=>{if(!Object.is(a,e)){a=e;for(let e of o)e()}},c=()=>{let e=bw(n);a?i.set(e,a):i.delete(e)},l=(e,t={})=>{let o=a;c(),n={...n,...e};let l=bw(n);t.clear&&(i.delete(l),r.delete(l)),t.preserveCurrentDraft?(o?i.set(l,o):i.delete(l),s(o)):s(t.clear?``:i.get(l)??``)},u={getScopeKey:()=>bw(n),getSnapshot:()=>a,resourceContexts:r,getDrafts:()=>(c(),Object.fromEntries([...i].map(([e,t])=>[e,r.has(e)?{prompt:t,resourceContexts:structuredClone(r.get(e))}:t]))),subscribe(e){return o.add(e),()=>o.delete(e)},set:e=>u.setForScope(bw(n),e),setForScope(e,t){let c=bw(n),l=e===c?a:i.get(e)??``,u=typeof t==`function`?t(l):t;if(u.trim()||r.delete(e),!Object.is(l,u)){if(u?i.set(e,u):i.delete(e),e===c)s(u);else for(let e of o)e()}},applyAppAction(e){if(e.type===`field`){if(e.key===`prompt`){u.set(e.value);return}if(e.key===`selectedAppId`||e.key===`selectedProjectId`||e.key===`selectedSessionId`){let t=n[e.key],r=typeof e.value==`function`?e.value(t):e.value;Object.is(t,r)||l({[e.key]:r})}}else if(e.type===`patch`){let t={};`selectedAppId`in e.patch&&(t.selectedAppId=e.patch.selectedAppId),`selectedProjectId`in e.patch&&(t.selectedProjectId=e.patch.selectedProjectId),`selectedSessionId`in e.patch&&(t.selectedSessionId=e.patch.selectedSessionId),Object.keys(t).length>0&&l(t),`prompt`in e.patch&&typeof e.patch.prompt==`string`&&u.set(e.patch.prompt)}else if(e.type===`selectApp`)l({selectedAppId:e.appId,selectedProjectId:null,selectedSessionId:null});else if(e.type===`selectProject`)l({selectedAppId:null,selectedProjectId:e.projectId,selectedSessionId:null},{preserveCurrentDraft:!0});else if(e.type===`selectSession`){let t=e.projectId??null;l({selectedSessionId:e.sessionId,selectedAppId:t?null:e.appId??null,selectedProjectId:t})}else e.type===`beginNewChat`&&l({selectedSessionId:null,selectedAppId:e.appId,selectedProjectId:e.projectId??null})}};return u}function Sw(e){return(0,J.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}var Cw=`openpond.desktop-update-drafts.v1`,ww=524288;function Tw(e,t=window.localStorage){if(Object.keys(e).length>512)throw Error(`Too many unsent drafts for local recovery.`);let n=JSON.stringify(e);if(n.length>ww)throw Error(`Unsent drafts exceed local recovery capacity.`);t.setItem(Cw,n)}function Ew(e){try{let t=(e??window.localStorage).getItem(Cw);if(!t||t.length>ww)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`||Array.isArray(n)||Object.keys(n).length>512)return{};let r={};for(let[e,t]of Object.entries(n))if(/^(?:new-chat|(?:session|project|app):.+)$/.test(e)){if(typeof t==`string`)r[e]=t;else if(t&&typeof t==`object`&&!Array.isArray(t)){let n=t,i=Wu.safeParse(n.resourceContexts);typeof n.prompt==`string`&&i.success&&(r[e]={prompt:n.prompt,resourceContexts:i.data})}}return r}catch{return{}}}function Dw(){let[e,t]=(0,J.useReducer)(_w,dw),[n]=(0,J.useState)(()=>xw(void 0,Ew()));(0,J.useEffect)(()=>{let e=()=>Tw(n.getDrafts()),r=()=>t({type:`showToast`,toast:{id:Date.now(),createdAt:Date.now(),tone:`error`,message:`Unsent drafts could not be saved on this device.`,dedupeKey:`composer-draft-recovery`,actionLabel:`Retry`,onAction:()=>(e(),!0)}}),i=t=>{try{e()}catch{r(),t.preventDefault()}},a,o=n.subscribe(()=>{clearTimeout(a),a=setTimeout(()=>{try{e()}catch{r()}},500)});return window.addEventListener(`openpond:before-update`,i),window.addEventListener(`beforeunload`,i),window.addEventListener(`pagehide`,i),()=>{clearTimeout(a),o(),window.removeEventListener(`openpond:before-update`,i),window.removeEventListener(`beforeunload`,i),window.removeEventListener(`pagehide`,i)}},[n]);let r=(0,J.useCallback)(e=>{n.applyAppAction(e),t(e)},[n]);return{composerDraftStore:n,dispatch:r,setters:(0,J.useMemo)(()=>({...yw(r),setPrompt:n.set}),[n,r]),state:e}}function Ow(e){return!!(e&&e.includes(`Git is required for OpenPond app workspaces`)&&e.includes(`Command Line Tools`))}function kw(e){let{connection:t,events:n,showToast:r}=e,i=(0,J.useRef)(new Set),a=(0,J.useCallback)(async()=>{if(t)try{let e=await Z.installMacOSCommandLineTools(t);r(e.message,`info`)}catch(e){r(e instanceof Error?e.message:String(e),`error`)}},[t,r]),o=(0,J.useCallback)((e=`OpenPond needs Git to create and sync local projects.`)=>{r(e,`error`,{actionLabel:`Install Tools`,onAction:()=>void a()})},[r,a]);(0,J.useEffect)(()=>{if(!t)return;let e=!1;return Z.gitAvailability(t).then(t=>{e||t.ok||t.installAction!==`macos_command_line_tools`||o(`OpenPond needs Git before it can create local projects.`)}).catch(()=>void 0),()=>{e=!0}},[t,o]),(0,J.useEffect)(()=>{for(let e of n){if(i.current.has(e.id))continue;let t=e.error??e.output??null;e.name===`workspace_action_result`&&e.status===`failed`&&Ow(t)&&(i.current.add(e.id),o(`OpenPond needs Git before it can update this project.`))}},[n,o])}function Aw(e){let t=null,n=null,r=!1;function i(){return n||!t||r?n??Promise.resolve():(n=(async()=>{for(;t&&!r;){let n=t;t=null;try{let t=await e.save(n);r||e.apply(t)}catch(t){r||e.onError(t)}}})().finally(()=>{if(n=null,t&&!r)return i()}),n)}return{write(e){return r?Promise.resolve():(t={...t,...e},i())},dispose(){r=!0,t=null}}}function jw({connection:e,preferences:t,sidebarOpen:n,diffPanelExpanded:r,setBootstrap:i,setError:a}){let[o,s]=(0,J.useState)(()=>qt().sidebarSectionsCollapsed),c=(0,J.useRef)(o),l=(0,J.useRef)({}),u=(0,J.useRef)(null),d=(0,J.useRef)(null),f=(0,J.useRef)(null),[p,m]=(0,J.useState)(332),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(560),[y,b]=(0,J.useState)(!1),{projects:x,cloudProjects:S,chats:C,savedForLater:w}=o;(0,J.useEffect)(()=>{if(h)return;let e=jC(gC(qt(t).sidebarWidth),u.current);u.current=e.localChange,m(e.value)},[t,h]),(0,J.useEffect)(()=>{if(y)return;let e=jC(_C(qt(t).diffPanelWidth),d.current);d.current=e.localChange,v(e.value)},[y,t]),(0,J.useEffect)(()=>{let e=qt(t).sidebarSectionsCollapsed;s(t=>{let n=kC(t,e,l.current);return c.current=n,n})},[t]);let T=(0,J.useCallback)(e=>{i(t=>t&&{...t,preferences:e.preferences})},[i]);(0,J.useEffect)(()=>{if(!e)return;let t=Aw({save:t=>Z.savePreferences(e,t),apply:T,onError:e=>a(e instanceof Error?e.message:String(e))});return f.current=t,()=>{t.dispose(),f.current=null}},[e,a,T]);let E=(0,J.useCallback)(e=>f.current?.write({sidebarWidth:e}),[]),D=(0,J.useCallback)(e=>f.current?.write({diffPanelWidth:e}),[]),ee=(0,J.useCallback)(e=>f.current?.write({sidebarSectionsCollapsed:e}),[]),O=(0,J.useCallback)(e=>{let t=c.current;OC(l.current,t,e),c.current=e,s(e),ee(e)},[ee]);return{projectsCollapsed:x,cloudProjectsCollapsed:S,chatsCollapsed:C,savedForLaterCollapsed:w,sidebarWidth:p,sidebarResizing:h,diffPanelWidth:_,diffPanelResizing:y,toggleProjectsCollapsed:(0,J.useCallback)(()=>{let e=c.current;O({...e,projects:!e.projects})},[O]),toggleCloudProjectsCollapsed:(0,J.useCallback)(()=>{let e=c.current;O({...e,cloudProjects:!e.cloudProjects})},[O]),toggleChatsCollapsed:(0,J.useCallback)(()=>{let e=c.current;O({...e,chats:!e.chats})},[O]),toggleSavedForLaterCollapsed:(0,J.useCallback)(()=>{let e=c.current;O({...e,savedForLater:!e.savedForLater})},[O]),startSidebarResize:(0,J.useCallback)(e=>{if(!n)return;e.preventDefault();let t=e.clientX,r=p,i=r;g(!0);function a(e){i=gC(r+e.clientX-t),m(i)}function o(){window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o);let e=AC(r,i);e&&(u.current=e),g(!1),E(i)}window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o,{once:!0})},[E,n,p]),startDiffPanelResize:(0,J.useCallback)(e=>{if(r||e.button!==0||!e.isPrimary)return;e.preventDefault();let t=e.currentTarget,n=e.pointerId;t.setPointerCapture(n);let i=e.clientX,a=_,o=a;b(!0);function s(e){o=_C(a-(e.clientX-i)),v(o)}function c(){window.removeEventListener(`pointermove`,s),window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),t.removeEventListener(`lostpointercapture`,c),t.hasPointerCapture(n)&&t.releasePointerCapture(n);let e=AC(a,o);e&&(d.current=e),b(!1),D(o)}window.addEventListener(`pointermove`,s),window.addEventListener(`pointerup`,c,{once:!0}),window.addEventListener(`pointercancel`,c,{once:!0}),t.addEventListener(`lostpointercapture`,c,{once:!0})},[r,_,D])}}function Mw(e){let[t,n]=(0,J.useState)({id:0,kind:null}),[r,i]=(0,J.useState)(null),a=(0,J.useCallback)((e=null)=>{n(t=>({id:t.id+1,kind:e}))},[]),o=(0,J.useCallback)(e=>{i(e)},[]);return{backAction:null,breadcrumbs:(0,J.useMemo)(()=>{if(e)return Nw(r,a)},[e,r,a]),closeDetailKind:t.kind,closeDetailRequestId:t.id,onDetailOpenChange:o}}function Nw(e,t){return e?[{label:e.rootLabel??`Models`,onSelect:()=>t(null)},{label:e.kindLabel,onSelect:e.kindOnSelect??(()=>t(e.kind))},...e.workproductLabel?[{label:e.workproductLabel,onSelect:e.workproductOnSelect}]:[],...e.segments]:[{label:`Models`}]}function Pw(e,t,n){return{inspectModelBatch:async n=>{if(!e)throw Error(`Connect to OpenPond to inspect this batch.`);return dt.parse(await Z.trainingRequest(e,`/models/batch-review/inspect`,{profileId:t,modelId:n},`POST`))},beginModelBatchReview:async e=>{let t=await n(e);return t?ut.parse(t):null}}}function Fw(e,t,n,r){async function i(n,r){if(!e)throw Error(`Connect to OpenPond to load tasks.`);let i=ro.parse(r),a=new URLSearchParams({profileId:t});for(let[e,t]of Object.entries(i))t!==void 0&&a.set(e,String(t));return Z.trainingRequest(e,`${n}?${a}`,{},`GET`)}return{taskInventory:async(e={})=>oo.parse(await i(`/tasks`,e)),taskInventoryDetail:async e=>{let t=await i(`/tasks/detail`,e);return{item:ao.parse(t.item),task:_t.parse(t.task)}},tasksetDraftFiles:async n=>{if(!e)return null;try{return await Z.trainingRequest(e,`/taskset-drafts/${encodeURIComponent(n)}/files?${new URLSearchParams({profileId:t})}`,{},`GET`)}catch(e){return r(e),null}},tasksetDraftFile:async(n,i)=>{if(!e)return null;try{return await Z.trainingRequest(e,`/taskset-drafts/${encodeURIComponent(n)}/file?${new URLSearchParams({profileId:t,path:i})}`,{},`GET`)}catch(e){return r(e),null}},saveTasksetDraftFile:e=>n(`save-taskset-draft-file`,`/taskset-drafts/${encodeURIComponent(e.draftId)}/file`,{profileId:t,...e},`PATCH`),inspectTasksetDraftSource:(e,r)=>n(`inspect-taskset-draft-source`,`/taskset-drafts/source`,{profileId:t,modelId:e,expectedModelRevision:r}),createTasksetDraftFromSource:e=>n(`create-taskset-draft`,`/taskset-drafts`,{profileId:t,sourceRequest:e}),createTasksetDraft:(e=``,r)=>n(`create-taskset-draft`,`/taskset-drafts`,{profileId:t,name:e,modelId:r??null}),importTasksetDraftPackage:e=>n(`import-taskset-draft-package`,`/taskset-drafts/import`,{packagePath:e,profileId:t}),saveTasksetDraft:e=>n(`save-taskset-draft`,`/taskset-drafts/${encodeURIComponent(e.id)}`,e,`PUT`),tasksetDraftWorkspace:async t=>{if(!e)return null;try{return await Z.trainingRequest(e,`/taskset-drafts/${encodeURIComponent(t)}/workspace`,{},`GET`)}catch(e){return r(e),null}},publishTasksetDraft:(e,t)=>n(`publish-taskset-draft`,`/taskset-drafts/${encodeURIComponent(e)}/publish`,{modelId:t??null}),refreshTasksetDraftModel:(e,t)=>n(`refresh-taskset-draft-model`,`/taskset-drafts/${encodeURIComponent(e.id)}/model-revision`,{expectedDraftRevision:e.revision,expectedModelRevision:t}),deleteTasksetDraft:e=>n(`delete-taskset-draft`,`/taskset-drafts/${encodeURIComponent(e)}`,{},`DELETE`)}}function Iw(e,t){return bt({id:e.id,profileId:e.profileId,name:e.name,objective:e.objective,defaultBaseModel:e.defaultBaseModel,defaultDestinationId:e.defaultDestinationId,trainingSetup:e.trainingSetup},t)}async function Lw(e,t,n){if(!e)throw Error(`Connect to the execution owner to check this configuration.`);let r=await Iw(t,n);return pt.parse(await Z.trainingRequest(e,`/models/check`,r,`POST`))}function Rw(e,t){return{listModelStarters:async(t,n=!1)=>{if(!e)throw Error(`Connect to OpenPond to browse model starters.`);return Z.trainingRequest(e,`/model-starters?limit=30${t?`&afterId=${encodeURIComponent(t)}`:``}${n?`&fresh=true`:``}`,{},`GET`)},previewModelStarter:async t=>{if(!e)throw Error(`Connect to OpenPond to preview a starter.`);return Z.trainingRequest(e,`/model-starters/preview`,{id:t.id,revision:t.revision,contentHash:t.contentHash})},checkModelStarter:async t=>{if(!e)throw Error(`Connect to OpenPond to check this starter.`);return pt.parse(await Z.trainingRequest(e,`/model-starters/check`,t))},createModelFromStarter:e=>t(`create-model-from-starter`,`/model-starters/create`,e)}}var zw=1e4,Bw=3e4;function Vw(e){let{connection:t,profileId:n,enabled:r=!0}=e,i=h(),a=Qn(t),o=(0,J.useMemo)(()=>[`training`,a,n],[a,n]),s=(0,J.useCallback)(async({signal:e})=>Ru.parse(await Z.trainingState(t,n,e)),[t,n]),c=w({queryKey:r?o:[`training-inactive`,a,n],queryFn:s,enabled:!!t&&r,gcTime:6e4}),l=c.data??null,u=!!t&&r&&c.isPending,[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)(null),g=(0,J.useRef)(null);g.current=l?.activityRevision??null;let _=(0,J.useCallback)(async()=>{if(!t)return null;try{let e=await i.fetchQuery({queryKey:o,queryFn:s,staleTime:0});return m(null),e}catch(e){return m(Hw(e)),null}},[t,i,o,s]),v=(0,J.useCallback)(async()=>(await i.cancelQueries({queryKey:o,exact:!0}),await i.invalidateQueries({queryKey:o,exact:!0,refetchType:`none`}),await i.invalidateQueries({queryKey:[`task-inventory`,a,n]}),await i.invalidateQueries({queryKey:[`training-navigation`,a,n]}),_()),[i,o,a,n,_]),y=(0,J.useCallback)(async(e,n,r,i=`POST`,a={})=>{if(!t)return null;a.silent||f(e);try{let e=await Z.trainingRequest(t,n,r,i);return await v(),a.silent||m(null),e}catch(e){return a.silent||m(Hw(e)),null}finally{a.silent||f(null)}},[t,v]),b=l?[l.jobs.some(e=>[`queued`,`starting`,`running`,`cancelling`,`reconciling`].includes(e.status)),l.creations.some(e=>[`planning`,`materializing`,`validating`].includes(e.state)),l.minerRuns.some(e=>[`queued`,`running`,`cancelling`].includes(e.status)),l.datasetImports.some(e=>[`inspecting`,`materializing`,`validating`,`cancelling`].includes(e.status))].some(Boolean):!1;(0,J.useEffect)(()=>{if(!t||!r)return;let e=!0,i=null,a=new AbortController,o=b?zw:Bw,s=async()=>{let r=o;if(document.visibilityState===`hidden`)e&&(i=window.setTimeout(()=>void s(),Bw));else{try{let i=await Z.trainingActivity(t,n,a.signal);if(!e)return;r=i.active?zw:Bw,(g.current===null||g.current!==i.revision)&&await _()}catch(t){e&&m(Hw(t))}e&&(i=window.setTimeout(()=>void s(),r))}};return i=window.setTimeout(()=>void s(),o),()=>{e=!1,a.abort(),i!==null&&window.clearTimeout(i)}},[t,r,b,n,_]);let x=(0,J.useMemo)(()=>({...Rw(t,y),saveComparisonSeries:e=>y(`save-comparison-series`,`/comparison-series`,{series:e}),saveContinualBenchIssueReview:e=>y(`save-continual-support-issue-review`,`/continual-support/issue-reviews`,{review:e},`PUT`),importContinualLearningDailyBatch:(e,t=`json_upload`)=>y(`import-continual-learning-daily-batch`,`/continual-learning/daily-batches/import`,{manifest:e,source:t}),saveContinualLearningDailyBatch:e=>y(`save-continual-learning-daily-batch`,`/continual-learning/daily-batches`,{batch:e},`PUT`),generateContinualLearningResponses:e=>y(`generate-continual-learning-responses`,`/continual-learning/responses`,e),sealComparisonSeries:(e,t)=>y(`seal-comparison-series`,`/comparison-series/${encodeURIComponent(e)}/seal`,{expectedRevision:t}),archiveComparisonSeries:(e,t)=>y(`archive-comparison-series`,`/comparison-series/${encodeURIComponent(e)}/archive`,{expectedRevision:t}),queueComparisonRelease:e=>y(`queue-comparison-release`,`/comparison-series/${encodeURIComponent(e.seriesId)}/releases`,e),startComparisonEvaluation:e=>y(`start-comparison-evaluation`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/evaluations`,e),loadComparisonAttemptEvidence:e=>t?Z.trainingRequest(t,`/model-runs/${encodeURIComponent(e.runId)}/attempts/${encodeURIComponent(e.attemptId)}/evidence?kind=${e.kind}`,{},`GET`):Promise.resolve(null),linkComparisonRun:e=>y(`link-comparison-run`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/run`,e,`PATCH`),decideComparisonEntry:e=>y(`decide-comparison-entry`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/decision`,e),recordComparisonPromotion:e=>y(`record-comparison-promotion`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/promotion`,e),checkModelProject:(e,n=e.revision)=>Lw(t,e,n),...Pw(t,n,e=>y(`begin-model-batch-review`,`/models/batch-review`,{profileId:n,request:e})),saveModelProject:async(e,t=e.revision)=>y(`save-model-project`,`/models`,await Iw(e,t),`PUT`),listHostedModelProjects:async(e={})=>{if(!t)return null;e.silent||f(`list-hosted-model-projects`);try{let r=await Z.trainingRequest(t,`/hosted-model-projects?profileId=${encodeURIComponent(n)}&refresh=${e.refresh===!0}`,{},`GET`);return e.silent||m(null),r}catch(t){return e.silent||m(Hw(t)),null}finally{e.silent||f(e=>e===`list-hosted-model-projects`?null:e)}},openHostedModelProject:(e,t,r,i={})=>y(`open-hosted-model-project:${e}`,`/hosted-model-projects/${encodeURIComponent(e)}/open`,{profileId:n,teamId:t,apiOrigin:r},`POST`,i),pullHostedModelProject:e=>y(`pull-hosted-model-project:${e}`,`/hosted-model-projects/${encodeURIComponent(e)}/pull`,{profileId:n}),syncModelProject:e=>y(`sync-model-project`,`/models/${encodeURIComponent(e)}/sync`,{}),publishModelProjectTaskset:(e,t)=>y(`publish-model-project-taskset`,`/models/${encodeURIComponent(e)}/tasksets/${encodeURIComponent(t)}/publish`,{}),createScorer:(e,t,n)=>y(`create-scorer`,`/scorers`,{grader:e,tasksetId:t,modelProjectId:n??null}),prepareLearningBatch:e=>y(`prepare-learning-batch`,`/learning-batches/prepare`,{profileId:n,batchId:e}),...Fw(t,n,y,e=>m(Hw(e))),tasksetGraderDetails:async e=>{if(!t)return null;try{return await Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/graders`,{},`GET`)}catch(e){return m(Hw(e)),null}},inspectHuggingFaceDataset:e=>y(`inspect-huggingface-dataset`,`/dataset-imports/huggingface/inspect`,{profileId:n,url:e}),materializeDatasetImport:(e,t)=>y(`materialize-dataset-import`,`/dataset-imports/${encodeURIComponent(e)}/materialize`,t),cancelDatasetImport:e=>y(`cancel-dataset-import`,`/dataset-imports/${encodeURIComponent(e)}/cancel`,{}),datasetRows:(e,n={})=>{if(!t)return Promise.resolve(null);let r=new URLSearchParams;n.split&&r.set(`split`,n.split),n.cursor&&r.set(`cursor`,n.cursor),r.set(`limit`,String(n.limit??25));for(let e of n.columns??[])r.append(`column`,e);return Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/rows?${r}`,{},`GET`)},addSource:(e,t)=>y(`add-source`,`/sources`,{profileId:n,sessionId:e,turnIds:t}),addSources:e=>y(`add-sources`,`/sources/batch`,{profileId:n,sessionIds:e}),estimateSources:e=>t?Z.trainingRequest(t,`/sources/estimate`,{sessionIds:e}):Promise.resolve([]),searchChats:(e,n,r=0,i=20)=>t?Z.trainingRequest(t,`/sources/search`,{query:e,candidates:n,offset:r,limit:i}):Promise.resolve({schemaVersion:`openpond.trainingChatSearchResult.v1`,query:e,offset:r,limit:i,total:0,hasMore:!1,indexedChats:0,totalChats:0,indexing:!1,entries:[]}),removeSource:e=>y(`remove-source`,`/sources/${encodeURIComponent(e)}`,{},`DELETE`),deleteTaskset:e=>y(`delete-model`,`/tasksets/${encodeURIComponent(e)}`,{},`DELETE`),runBenchmark:(e,t,n,r)=>y(`run-benchmark-${t}`,`/tasksets/${encodeURIComponent(e)}/benchmark-runs`,{phase:t,model:n,reasoningEffort:r,seeds:[17],repetitions:1}),startHarnessRefinerBenchmark:(e,t,r)=>y(`run-harness-refiner-benchmark`,`/models/${encodeURIComponent(e)}/harness-refiner-benchmark`,{profileId:n,model:t,reasoningEffort:r,maximumSpendUsd:10}),acceptHarnessReview:(e,t,r=null,i=null)=>y(`accept-harness-review`,`/harness-reviews/accept`,{profileId:n,workspaceId:e,reviewRef:t,analysisModel:r,analysisReasoningEffort:i}),startCreation:(e,t={})=>y(`create-taskset`,`/task-creations`,{profileId:n,sourceIds:e,surface:t.surface??`training_page`,mode:t.mode??`defaults`,entryMode:t.entryMode??`manual`,resourceIntent:t.resourceIntent??`workproduct`,buildIntent:t.buildIntent??`demonstrations`,buildSpecification:t.buildSpecification??null,objective:t.objective??null,methodHint:t.methodHint??null,preferredBaseModelId:t.preferredBaseModel?.modelId??null,preferredBaseModel:t.preferredBaseModel??null,candidateId:t.candidateId??null,analysisModel:t.analysisModel??null,analysisReasoningEffort:t.analysisReasoningEffort??null,createImproveRunId:t.createImproveRunId??null,targetIntent:t.targetIntent??{kind:`model`,id:null,displayName:null,operation:`create`}}),createModelFromTaskset:(e,t)=>y(`create-model`,`/models/from-taskset`,{profileId:n,tasksetId:e,preferredBaseModelId:t.modelId,preferredBaseModel:t}),scanBaseModels:async()=>{if(!t)return null;f(`scan-base-models`);try{let e=await _();return m(null),e}catch(e){return m(Hw(e)),null}finally{f(null)}},approveDisclosure:(e,t)=>y(`approve-disclosure`,`/task-creations/${encodeURIComponent(e)}/disclosure`,{approved:t}),retryCreation:e=>y(`retry-creation`,`/task-creations/${encodeURIComponent(e)}/retry`,{}),answerQuestions:(e,t)=>y(`answer-questions`,`/task-creations/${encodeURIComponent(e)}/questions`,{answers:t}),materialize:(e,t)=>y(`materialize`,`/task-creations/${encodeURIComponent(e)}/materialize`,{approved:t}),chatCreation:(e,t)=>y(`task-creator-chat`,`/task-creations/${encodeURIComponent(e)}/chat`,{message:t}),renameCreation:(e,t)=>y(`rename-creation`,`/task-creations/${encodeURIComponent(e)}/name`,{name:t},`PATCH`),cancelCreation:e=>y(`cancel-creation`,`/task-creations/${encodeURIComponent(e)}/cancel`,{}),runMiner:(e=[],t=[],r)=>y(`run-miner`,`/miner/run`,{profileId:n,sourceIds:e,sessionIds:t,config:r}),cancelMinerRun:e=>y(`cancel-miner-run`,`/miner/runs/${encodeURIComponent(e)}/cancel`,{}),configureMiner:e=>y(`configure-miner`,`/miner/config`,{profileId:n,config:e},`PUT`),patchCandidate:(e,t)=>y(`candidate`,`/candidates/${encodeURIComponent(e)}`,t,`PATCH`),createCandidate:(e,t,n,r)=>y(`create-candidate`,`/candidates/${encodeURIComponent(e)}/create`,{mode:t,analysisModel:n??null,analysisReasoningEffort:r??null}),auditGraders:e=>y(`audit-graders`,`/audit-graders`,{tasksetId:e}),executeTasksetAttempt:(e,t,n)=>y(`execute-taskset-attempt`,`/tasksets/${encodeURIComponent(e)}/attempts`,{taskId:t,model:n,seed:17,attempt:0,sampling:{maxOutputTokens:4096,temperature:0,topP:1}}),materializeSyntheticPreferenceCollection:e=>y(`materialize-synthetic-preference-collection`,`/tasksets/${encodeURIComponent(e.tasksetId)}/synthetic-preference-collection`,e),tasksetOperationalState:e=>t?Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/operations`,{},`GET`):Promise.resolve(null),calibrateJudges:e=>y(`calibrate-judges`,`/calibrate-judges`,{tasksetId:e}),nextPreferenceComparison:(e,t)=>y(`next-preference-comparison`,`/tasksets/${encodeURIComponent(e)}/preference-comparisons/next`,{reviewerKey:t}),submitPreferenceComparison:e=>y(`submit-preference-comparison`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/submit`,e),submitSyntheticFixturePreference:e=>y(`submit-synthetic-fixture-preference`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/fixture-submit`,{...e,id:crypto.randomUUID()}),listPreferenceDatasets:e=>t?Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/preference-datasets`,{},`GET`):Promise.resolve(null),materializePreferenceDataset:e=>y(`materialize-preference-dataset`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-datasets`,{...e,id:`preference-dataset-${crypto.randomUUID()}`,revision:1}),launchRewardModelRun:e=>y(`launch-reward-model-run`,`/tasksets/${encodeURIComponent(e.tasksetId)}/reward-model-runs`,{...e,id:`reward-model-run-${crypto.randomUUID()}`}),learnedPreferenceRewardBinding:e=>y(`learned-preference-reward-binding`,`/tasksets/${encodeURIComponent(e.tasksetId)}/learned-preference-reward-binding`,e),retryRewardModelQualification:e=>y(`retry-reward-model-qualification`,`/reward-model-runs/${encodeURIComponent(e.runId)}/retry-qualification`,e),cancelRewardModelRun:e=>y(`cancel-reward-model-run`,`/reward-model-runs/${encodeURIComponent(e)}/cancel`,{}),markPreferenceComparisonUnreviewable:e=>y(`mark-preference-comparison-unreviewable`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/unreviewable`,e),preferenceCalibrationStatus:(e,n,r)=>{if(!t)return Promise.resolve(null);let i=new URLSearchParams({reviewerKey:n});return r&&i.set(`comparisonReleaseId`,r),Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/preference-comparisons/calibration/status?${i}`,{},`GET`)},startPreferenceCalibrationBatch:e=>y(`start-preference-calibration-batch`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/batches`,{...e,id:crypto.randomUUID()}),syncPreferenceCalibrationBatch:e=>y(`sync-preference-calibration-batch`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/batches/${encodeURIComponent(e.jobId)}/sync`,e),reviewPreferenceComparisonWithModel:e=>y(`review-preference-comparison-with-model`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/model-review`,{...e,id:crypto.randomUUID()}),runNextPreferenceCalibrationReview:e=>y(`run-next-preference-calibration-review`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/model-reviews/next`,{...e,id:crypto.randomUUID()}),savePreferenceCalibration:e=>y(`save-preference-calibration`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/report`,{...e,id:crypto.randomUUID()}),preferenceArtifactUrl:async e=>{if(!t)return null;let n=await gn(t,`/v1/training/artifacts/${encodeURIComponent(e)}/download`);if(!n.ok)throw Error(await n.text());return URL.createObjectURL(await n.blob())},readiness:e=>y(`readiness`,`/readiness`,{tasksetId:e}),previewExpertBootstrap:e=>y(`preview-expert-bootstrap`,`/tasksets/${encodeURIComponent(e)}/expert-bootstrap/preview`,{}),approveExpertBootstrap:(e,t)=>y(`approve-expert-bootstrap`,`/tasksets/${encodeURIComponent(e)}/expert-bootstrap/approve`,{previewHash:t}),createPlan:e=>y(`create-plan`,`/plans`,{...e,tasksetId:e.tasksetId}),buildBundle:e=>y(`build-bundle`,`/bundles`,{planId:e}),approveTraining:(e,t)=>y(`approve-training`,`/approvals`,{planId:e,bundleId:t}),launch:(e,t)=>y(`launch`,`/launch`,{planId:e,approvalId:t}),prepareTraining:e=>y(`prepare-training`,`/prepare`,e),prepareModelRun:(e,t)=>y(`prepare-model-run`,`/model-projects/${encodeURIComponent(e)}/training/prepare`,t),startModelRun:(e,t)=>y(`start-model-run`,`/model-projects/${encodeURIComponent(e)}/training/start`,t),startPreparedTraining:e=>y(`start-prepared-training`,`/start/prepared`,e),startTraining:e=>y(`start-training`,`/start`,e),cancelJob:e=>y(`cancel-job`,`/jobs/${encodeURIComponent(e)}/cancel`,{}),retryModelRunCollection:e=>y(`retry-model-run-collection`,`/model-runs/${encodeURIComponent(e)}/retry-collection`,{}),cancelModelRun:e=>y(`cancel-model-run`,`/model-runs/${encodeURIComponent(e)}/cancel`,{}),rejectModel:(e,t)=>y(`reject-model`,`/models/${encodeURIComponent(e)}/reject`,{reason:t}),bindModel:(e,t,r)=>y(`bind-model`,`/models/${encodeURIComponent(e)}/bind`,{profileId:n,role:t,roleTargetId:r,promotedBy:n}),rollbackModelBinding:e=>y(`rollback-model-binding`,`/bindings/${encodeURIComponent(e)}/rollback`,{rolledBackBy:n}),updateModelConfiguration:(e,t)=>y(`update-model-configuration`,`/models/${encodeURIComponent(e)}/configuration`,t,`PATCH`,{silent:!0}),setModelPinned:(e,t)=>y(`pin-model-version`,`/models/${encodeURIComponent(e)}/pin`,{pinned:t},`PATCH`),downloadArtifact:async e=>{if(!t)return!1;f(`download-artifact`);try{let n=await gn(t,`/v1/training/artifacts/${encodeURIComponent(e)}/download`);if(!n.ok)throw Error(await n.text());let r=n.headers.get(`content-disposition`)??``,i=/filename="([^"]+)"/.exec(r)?.[1]??`openpond-model-artifact`,a=URL.createObjectURL(await n.blob()),o=document.createElement(`a`);return o.href=a,o.download=i,o.click(),URL.revokeObjectURL(a),!0}catch(e){return m(Hw(e)),!1}finally{f(null)}},downloadModelPackage:async e=>S(`/models/${encodeURIComponent(e)}/download`,`${e}.openpond-lora.tar`),downloadBundle:async e=>S(`/bundles/${encodeURIComponent(e)}/download`,`openpond-model-improvement-bundle.json`)}),[t,y,n,_]);async function S(e,n){if(!t)return!1;f(`download-bundle`);try{let r=await gn(t,`/v1/training${e}`);if(!r.ok)throw Error(await r.text());let i=r.headers.get(`content-disposition`)??``,a=/filename="([^"]+)"/.exec(i)?.[1]??n,o=URL.createObjectURL(await r.blob()),s=document.createElement(`a`);return s.href=o,s.download=a,s.click(),URL.revokeObjectURL(o),!0}catch(e){return m(Hw(e)),!1}finally{f(null)}}return{connection:t,payload:l,loading:u,busyAction:d,error:p??c.error?.message??null,refresh:_,actions:x}}function Hw(e){return e instanceof Error?e.message:String(e)}function Uw({modelId:e,taskset:t}){let n=t.metadata.toolContractHash===Nl?`cross_system`:t.environment.kind===`stateful_harness`&&t.environment.actionBindings?.length?`harness`:null,r=n?Zw(t,n):[];return{model:{providerId:`openpond`,modelId:e},tasksetId:t.id,tasksetName:t.name,taskRuntime:n,sourceProjectId:Qw(t),tasks:r,selectedTaskIndex:0,sessionId:null}}function Ww(e){return{model:{providerId:`openpond`,modelId:e.modelId},tasksetId:e.tasksetId,tasksetName:e.modelName,taskRuntime:null,sourceProjectId:null,tasks:[],selectedTaskIndex:0,sessionId:null}}function Gw(e){return e?.tasks.length?e.tasks[$w(e,e.selectedTaskIndex)]??null:null}function Kw(e,t){return{...e,selectedTaskIndex:$w(e,t)}}function qw(e){return Kw(e,e.selectedTaskIndex+1)}function Jw(e,t,n){if(!e||Yw(e,n))return null;let r=Gw(e);return!r||t.trim()!==r.prompt.trim()?null:{...e.taskRuntime===`cross_system`?{crossSystemTaskId:r.generatedTaskId}:{trainingHarnessTaskId:r.generatedTaskId},trainingTasksetId:e.tasksetId,trainingTasksetName:e.tasksetName,source:`training_model_chat_handoff`}}function Yw(e,t){return!e?.sourceProjectId||e.sourceProjectId===t?null:`This generated Taskset question is bound to its source Cross-System Operations project. Return to Models and choose Chat again to restore the correct project.`}async function Xw({model:e,connection:t,loadBootstrap:n,applyBootstrap:r}){e.providerId===`openpond`&&t&&r(await n(t))}function Zw(e,t){let n=new Set;return e.tasks.flatMap(e=>{let r=t===`cross_system`?e.metadata.taskId:e.metadata.caseId,i=typeof r==`string`?r.trim():``,a=typeof e.input.prompt==`string`?e.input.prompt.trim():``;return!i||!a||n.has(i)?[]:(n.add(i),[{authoredTaskId:e.id,generatedTaskId:i,prompt:a,split:e.split}])})}function Qw(e){let t=new Set(e.sourceRefs.filter(Ot).flatMap(e=>{let t=e.workspaceId?.trim();return t?[t]:[]}));return t.size===1?t.values().next().value??null:null}function $w(e,t){return e.tasks.length?Math.max(0,Math.min(Math.trunc(t),e.tasks.length-1)):0}function eT({activeModel:e,activeProvider:t,applyBootstrapPayload:n,beginNewChat:r,composerDraftStore:i,connection:a,requestComposerFocus:o,selectedLocalProjectId:s,selectedSessionId:c,selectLocalProject:l,setDraftModel:u,setDraftProvider:d,setError:f,view:p}){let[m,h]=(0,J.useState)(null),g=(0,J.useCallback)(e=>{e.sourceProjectId?l(e.sourceProjectId):r(null)},[r,l]),_=(0,J.useCallback)(e=>{if(!m)return;let t={...Kw(m,e),sessionId:m.sessionId?null:m.sessionId},n=Gw(t);h(t),n&&(m.sessionId&&g(t),i.set(n.prompt),o())},[g,i,m,o]),v=(0,J.useCallback)(()=>{let e=Gw(m);e&&i.getSnapshot().trim()===e.prompt.trim()&&i.set(``),h(null)},[i,m]),y=(0,J.useCallback)(e=>{let t=e.model;Xw({model:t,connection:a,loadBootstrap:Z.bootstrap,applyBootstrap:n}).then(()=>{let n={...e,selectedTaskIndex:0,sessionId:null};d(t.providerId),u(t.modelId),h(n.tasks.length?n:null),g(n);let r=Gw(n);r&&i.set(r.prompt)}).catch(f)},[n,g,i,a,u,d,f]),b=(0,J.useCallback)(n=>{let r=!!(m&&m.model.providerId===t&&m.model.modelId===e);return{active:r,error:r?Yw(m,s):null,metadata:r?Jw(m,n,s):null}},[e,t,m,s]),x=(0,J.useCallback)(e=>{h(t=>t&&{...t,sessionId:e})},[]),S=(0,J.useCallback)(()=>{if(!m)return;let e={...qw(m),sessionId:null},t=Gw(e);h(e),t&&(g(e),i.set(t.prompt),o())},[g,i,m,o]);return(0,J.useEffect)(()=>{let e=Gw(m);e&&p===`chat`&&!c&&i.set(t=>t.trim()?t:e.prompt)},[i,m,s,c,p]),(0,J.useEffect)(()=>{m&&c&&m.sessionId!==c&&h(null)},[m?.sessionId,c]),{advanceAfterTurn:S,begin:y,bindSession:x,dismiss:v,handoff:m,prepareTurn:b,selectTask:_}}function tT(e){let t=null,n=!1,r=null,i=!1;async function a(){try{do{i=!1;let r;do{let i=t===null,a=t,s=await e.fetchPage({sessionId:e.sessionId,limit:500,...i?{beforeSequence:2**53-1}:{afterSequence:t}});if(n||(i&&(s=await o(s)),n))return;if(!i&&s.hasMore&&s.nextSequence<=a)throw Error(`Chat history did not advance. Reopen the task to retry.`);let c=new Set(e.store.getSessionEvents(e.sessionId).map(e=>e.id));s.events.some(e=>!c.has(e.event.id))&&e.store.mergeBootstrap(s.events.map(e=>e.event)),t=s.events.at(-1)?.sequence??a??0,e.onPage(s,i),r=!i&&s.hasMore}while(r&&!n)}while(i&&!n)}catch(t){n||e.onError(t)}}async function o(t){let r=t.events.find(({event:e})=>e.turnId)?.event.turnId;if(!r||t.events.some(({event:e})=>e.turnId===r&&e.name===`turn.started`))return t;let i=t.events,a=t;for(;a.hasMore&&!n;){let o=e.store.perSessionLimit-i.length;if(o<=0)throw Error(`This turn exceeds the automatic history window. Load older messages to recover its beginning.`);let s=await e.fetchPage({sessionId:e.sessionId,beforeSequence:a.previousSequence,limit:Math.min(500,o)});if(n)return t;if(!s.events.length||s.previousSequence>=a.previousSequence)throw Error(`Chat history did not advance. Reopen the task to retry.`);let c=s.events.findIndex(({event:e})=>e.turnId===r&&e.name===`turn.started`);if(i=[...c>=0?s.events.slice(c):s.events,...i],a=s,c>=0)return{...t,events:i,previousSequence:i[0].sequence,hasMore:s.hasMore||c>0,remainingMatchingEvents:s.remainingMatchingEvents+c}}return{...t,events:i,previousSequence:i[0]?.sequence??t.previousSequence,hasMore:a.hasMore,remainingMatchingEvents:a.remainingMatchingEvents}}return{refresh(){return n?Promise.resolve():r?(i=!0,r):(r=a().finally(()=>{r=null}),r)},close(){n=!0}}}var nT=[],rT=500;function iT(e){let{approvals:t,codexHistoryEvents:n,connection:r,runtimeIndexes:i,runtimeEventStore:a,selectedSessionId:o,serverId:s,setCodexHistoryEvents:c,setCodexHistorySessions:l,setError:u}=e,[d,f]=(0,J.useState)({}),[p,m]=(0,J.useState)({}),h=(0,J.useRef)(new Set);(0,J.useEffect)(()=>{f({}),m({}),h.current.clear()},[s]);let g=(0,J.useCallback)(async()=>{if(!r||!o||h.current.has(o))return!1;let e=p[o];if(e?.hasMore===!1)return!1;if($m(o)){let t=Math.max(e?.totalMatchingEvents??0,n.length,800),i=Math.min(Cy,Math.max(Sy,t*2));h.current.add(o),m(e=>({...e,[o]:{cursorSequence:null,hasMore:!0,loading:!0,totalMatchingEvents:e[o]?.totalMatchingEvents??n.length}}));try{let e=await Oy(r,o,{force:!0,limit:i,tail:!1});return c(e.events),l(t=>fy(t,e.session)),m(t=>({...t,[o]:{cursorSequence:null,hasMore:e.events.length>=i&&i<5e4,loading:!1,totalMatchingEvents:i}})),e.events.length>n.length}catch(e){return u(e instanceof Error?e.message:String(e)),m(e=>({...e,[o]:{cursorSequence:null,hasMore:e[o]?.hasMore??!0,loading:!1,totalMatchingEvents:e[o]?.totalMatchingEvents??n.length}})),!1}finally{h.current.delete(o)}}let t=a_(d[o]??nT,a.getSessionEvents(o)),i=e?.cursorSequence??aT(t);if(!i)return!1;h.current.add(o),m(e=>({...e,[o]:{cursorSequence:e[o]?.cursorSequence??i,hasMore:e[o]?.hasMore??!0,loading:!0,totalMatchingEvents:e[o]?.totalMatchingEvents??null}}));try{let e=await Z.runtimeEventsPage(r,{sessionId:o,beforeSequence:i,limit:rT}),t=e.events.map(e=>e.event);return f(e=>({...e,[o]:a_(t,e[o]??nT)})),m(t=>({...t,[o]:{cursorSequence:e.previousSequence,hasMore:e.hasMore,loading:!1,totalMatchingEvents:e.totalMatchingEvents}})),t.length>0}catch(e){return u(e instanceof Error?e.message:String(e)),m(e=>({...e,[o]:{cursorSequence:e[o]?.cursorSequence??i,hasMore:e[o]?.hasMore??!0,loading:!1,totalMatchingEvents:e[o]?.totalMatchingEvents??null}})),!1}finally{h.current.delete(o)}},[p,n.length,r,d,a,o,c,l,u]),_=o?d[o]??nT:nT;return(0,J.useEffect)(()=>{if(!r||!o||$m(o))return;let e=o,t=tT({sessionId:e,store:a,fetchPage:e=>Z.runtimeEventsPage(r,e),onPage:(t,n)=>{n&&m(n=>{let r=n[e],i=r?.cursorSequence!=null&&r.cursorSequence<t.previousSequence;return{...n,[e]:{cursorSequence:i?r.cursorSequence:t.previousSequence,hasMore:i?r.hasMore:t.hasMore,loading:r?.loading??!1,totalMatchingEvents:t.totalMatchingEvents}}})},onError:e=>u(e instanceof Error?e.message:String(e))}),n=()=>{document.visibilityState===`visible`&&t.refresh()};t.refresh();let i=window.setInterval(n,1e4);return window.addEventListener(`focus`,n),window.addEventListener(`openpond-runtime-connected`,n),document.addEventListener(`visibilitychange`,n),()=>{t.close(),window.clearInterval(i),window.removeEventListener(`focus`,n),window.removeEventListener(`openpond-runtime-connected`,n),document.removeEventListener(`visibilitychange`,n)}},[r,a,o,s,u]),{chatHistoryLoadStates:p,loadMoreSelectedChatHistory:g,selectedPagedSessionEvents:_,selectedRuntimeIndexes:(0,J.useMemo)(()=>$m(o)?E_(n,[]):!o||_.length===0?i:E_(a_(_,a.getSessionEvents(o)),t),[t,n,i,_,o])}}function aT(e){let t=null;for(let n of e)n.sequence!==void 0&&(t===null||n.sequence<t)&&(t=n.sequence);return t}function oT(e,t){let n=(0,J.useRef)(null);return(0,J.useMemo)(()=>{let r=D_(e,t,n.current);return n.current={events:e,indexes:r},r},[t,e])}function sT(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function cT(e){return Array.isArray(e)?e.filter(e=>!!sT(e)):[]}function lT(e){return typeof e==`string`&&e.trim()?e.trim():null}function uT(e){return lT(e)??sT(e)}function dT(e){if(!e)return[];let t=sT(e.sandboxActionRegistry),n=sT(e.sandboxManifest),r=new Map;for(let e of[...cT(n?.actionCatalog),...cT(t?.actions),...cT(n?.actions)]){let t=lT(e.id)??lT(e.name);if(!t)continue;let n=r.get(t);r.set(t,{id:t,name:lT(e.name)??n?.name??t,label:lT(e.label)??n?.label??fT(t),description:lT(e.description)??n?.description??null,visibility:lT(e.visibility)??n?.visibility??`default`,inputSchema:uT(e.inputSchema)??n?.inputSchema??null,outputSchema:uT(e.outputSchema)??n?.outputSchema??null,implementation:sT(e.implementation)??n?.implementation??null,mcp:sT(e.mcp)??n?.mcp??null,invokesModel:typeof e.invokesModel==`boolean`?e.invokesModel:n?.invokesModel})}return Array.from(r.values()).filter(e=>e.visibility!==`internal`&&e.visibility!==`debug`)}function fT(e){let t=e.replace(/[._-]+/g,` `).trim();return t?t.replace(/\b\w/g,e=>e.toUpperCase()):e}function pT(e){if(e.selectedCloudProject)return{id:e.selectedCloudProject.id,teamId:e.selectedCloudProject.teamId,name:e.selectedCloudProject.name,selectionKey:Yt(`cloud`,e.selectedCloudProject.id),localProjectId:null};let t=e.selectedProject?.linkedSandboxProject??null;if(!t?.projectId||!t.teamId)return null;let n=e.cloudProjects?$_(e.selectedProject,e.cloudProjects):null;return e.cloudProjects&&!n?null:{id:n?.id??t.projectId,teamId:n?.teamId??t.teamId,name:n?.name??t.projectName??e.selectedProject?.name??`Cloud Project`,selectionKey:Yt(`cloud`,n?.id??t.projectId),localProjectId:e.selectedProject?.id??null}}var mT=new Map;function hT(e,t){let n=e?.trim();return n?`${t?.trim()||`global`}|${n}`:null}function gT(e,t){let n=hT(e,t);if(!n)return null;let r=mT.get(n);return r?.updatedAt?r.projects:null}function _T(e,t,n){let r=hT(e,n);r&&mT.set(r,{projects:t,promise:null,updatedAt:Date.now()})}function vT(e){let t=e.teamId?.trim();if(!t)return Promise.resolve([]);let n=hT(t,e.accountKey);if(!n)return Promise.resolve([]);let r=mT.get(n);if(!e.force){if(r?.updatedAt)return Promise.resolve(r.projects);if(r?.promise)return r.promise}let i=e.fetchProjects(t).then(n=>(_T(t,n,e.accountKey),n)).catch(e=>{let t=mT.get(n);throw t?.promise===i&&mT.set(n,{projects:t.projects,promise:null,updatedAt:t.updatedAt}),e});return mT.set(n,{projects:r?.projects??[],promise:i,updatedAt:r?.updatedAt??0}),i}function yT(e){let t=new Map;for(let n of e)n.archivedAt||n.status!==`active`||t.set(n.id,n);return[...t.values()].sort((e,t)=>e.name.localeCompare(t.name))}function bT({cloudProjectById:e,cloudProjects:t,connection:n,defaultTeamId:r,accountScopeKey:i,localProjects:a,profile:o,selectedCloudProject:s,selectedProject:c,reportError:l}){let[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)([]),[m,h]=(0,J.useState)([]),g=(0,J.useMemo)(()=>{let e=new Set;r&&e.add(r);for(let n of t)e.add(n.teamId);for(let n of a){let r=t.find(e=>e.id===n.linkedSandboxProject?.projectId&&e.teamId===n.linkedSandboxProject?.teamId);r?.teamId&&e.add(r.teamId)}return[...e].sort()},[t,r,a]),_=g.join(`\0`),v=(0,J.useMemo)(()=>pT({cloudProjects:t,selectedCloudProject:s,selectedProject:c}),[t,s,c]);(0,J.useEffect)(()=>{if(!n||g.length===0){h([]);return}let e=!1,t=g.flatMap(e=>SC(e,i)??[]);return h(yT(t)),Promise.all(g.map(e=>wC({teamId:e,accountKey:i,fetchAgents:async e=>(await Z.listSandboxAgents(n,{teamId:e})).agents}))).then(t=>{e||h(yT(t.flat()))}).catch(()=>{e||h(yT(t))}),()=>{e=!0}},[i,n,_]),(0,J.useEffect)(()=>{if(!n||!v){d(null);return}let e=gT(v.teamId,i);e&&d(e.find(e=>e.id===v.id)??null);let t=!1;return vT({teamId:v.teamId,accountKey:i,fetchProjects:async e=>(await Z.listSandboxProjects(n,{teamId:e})).projects}).then(e=>{t||d(e.find(e=>e.id===v.id)??null)}).catch(()=>{t||d(null)}),()=>{t=!0}},[i,n,v?.id,v?.teamId]),(0,J.useEffect)(()=>{if(!n||!c){p([]);return}let e=!1;return Z.localProjectActions(n,c.id).then(t=>{e||p(t.actions)}).catch(t=>{e||(p([]),l?.(`Could not load Project Actions for ${c.name}: ${t instanceof Error?t.message:String(t)}`))}),()=>{e=!0}},[n,l,c?.id,c?.name,c?.updatedAt]);let y=(0,J.useMemo)(()=>{let e=new Map;for(let t of dT(u))e.set(t.id,t);for(let t of f)e.set(t.id,t);return[...e.values()]},[f,u]),b=(0,J.useMemo)(()=>Bn(o),[o]),x=(0,J.useMemo)(()=>[...m.map(t=>Vn(t,e.get(t.projectId)?.name??null)),...b,...y],[e,b,y,m]);return{openPondActionCatalog:(0,J.useMemo)(()=>[...b,...y],[b,y]),selectedActionCatalog:x,selectedProjectActionCatalog:y}}function xT({selectedProjectId:e}){let[t,n]=(0,J.useState)(()=>new Set),r=(0,J.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),i=(0,J.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);return(0,J.useEffect)(()=>{e&&r(e)},[r,e]),{expandedProjectIds:t,expandProject:r,toggleProjectExpanded:i,setExpandedProjectIds:n}}function ST(){let e=new Map;function t(t,r){let i=e.get(t);if(i)return i.consumers+=1,n(t,i,!0);let a=new AbortController,o={controller:a,consumers:1,settled:!1,promise:Promise.resolve().then(()=>r(a.signal)).finally(()=>{o.settled=!0,e.get(t)===o&&e.delete(t)})};return e.set(t,o),n(t,o,!1)}function n(e,t,n){let r=!1;return{key:e,promise:t.promise,shared:n,release:()=>{r||(r=!0,t.consumers=Math.max(0,t.consumers-1),t.consumers===0&&!t.settled&&t.controller.abort())}}}function r(){for(let t of e.values())t.consumers=0,t.settled||t.controller.abort()}return{request:t,cancelAll:r,inFlightCount:()=>e.size}}function CT(e,t,n){return`workspace-status:${e.serverUrl}:${t}:${n?`ensure`:`read`}`}function wT(e,t){return`workspace-diff:${e.serverUrl}:${t}`}function TT(e){return e instanceof Error&&e.name===`AbortError`}function ET({connection:e,activeWorkspaceAppId:t,view:n,shouldLoadWorkspaceDiff:r,sidebarWorkspaceAppIds:i,setError:a}){let[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)({}),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(!1),g=(0,J.useRef)(new Set),_=(0,J.useRef)(new Set),v=(0,J.useRef)(ST()),y=t?c[t]??(o?.appId===t?o:null):null,b=u?.appId===t?u:null,x=n===`chat`||n===`labs`,S=(0,J.useCallback)(e=>{g.current.add(e.appId),s(e),l(t=>({...t,[e.appId]:e}))},[]),C=(0,J.useCallback)(async(t,n=!1)=>{if(!e||!t)return s(null),null;p(!0);let r=v.current.request(CT(e,t,n),r=>Z.workspaceStatus(e,t,n,{signal:r}));try{let e=await r.promise;return S(e),n&&e.error?a(`Workspace sync failed: ${e.error}`):n&&a(null),e}catch(e){return TT(e)||(s(null),a(e instanceof Error?e.message:String(e))),null}finally{r.release(),p(!1)}},[e,S,a]),w=(0,J.useCallback)(async(n=t,r={})=>{if(!e||!n)return d(null),null;r.silent||h(!0);let i=v.current.request(wT(e,n),t=>Z.workspaceDiff(e,n,{signal:t}));try{let e=await i.promise;return d(e),e}catch(e){return TT(e)||(d(null),a(e instanceof Error?e.message:String(e))),null}finally{i.release(),r.silent||h(!1)}},[t,e,a]);return(0,J.useEffect)(()=>{if(!e||!t||!x){s(null),d(null),p(!1);return}let n=!1,r=v.current.request(CT(e,t,!1),n=>Z.workspaceStatus(e,t,!1,{signal:n}));return p(!0),r.promise.then(e=>{n||(S(e),e.initialized||d(t=>t?.appId===e.appId?null:t))}).catch(e=>{TT(e)||n||(s(null),a(e instanceof Error?e.message:String(e)))}).finally(()=>{r.release(),n||p(!1)}),()=>{n=!0,r.release()}},[t,e,S,a,x]),(0,J.useEffect)(()=>{!e||!t||!x?d(null):y?.initialized?r&&w(t):y&&!y.initialized&&d(e=>e?.appId===t?null:e)},[t,e,w,r,x,y?.dirty,y?.initialized]),(0,J.useEffect)(()=>{if(!e||i.length===0)return;let t=i.filter(e=>!g.current.has(e)&&!_.current.has(e));if(t.length===0)return;t.forEach(e=>_.current.add(e));let n=!1,r=t.map(t=>({appId:t,request:v.current.request(CT(e,t,!1),n=>Z.workspaceStatus(e,t,!1,{signal:n}))}));return Promise.all(r.map(({appId:e,request:t})=>t.promise.then(t=>({appId:e,state:t})).catch(()=>({appId:e,state:null})).finally(()=>{t.release(),_.current.delete(e)}))).then(e=>{if(!n)for(let t of e)t.state&&S(t.state)}),()=>{n=!0,r.forEach(({appId:e,request:t})=>{t.release(),_.current.delete(e)})}},[e,S,i]),(0,J.useEffect)(()=>()=>v.current.cancelAll(),[]),{workspaceState:o,workspaceStates:c,workspaceDiff:u,workspaceBusy:f,diffBusy:m,visibleWorkspaceState:y,visibleWorkspaceDiff:b,rememberWorkspaceState:S,refreshWorkspace:C,refreshWorkspaceDiff:w,setWorkspaceBusy:p}}function DT(e){let{connection:t,accountScopeKey:n,currentUserId:r,teamId:i}=e;return Br({queryKey:[`team-members`,Qn(t),n,r,i],enabled:!!(t&&n&&r&&i),queryFn:async({signal:e})=>!t||!n||!r||!i?[]:(await Z.teamChatMembers(t,i,e)).members,staleTime:6e4,gcTime:3e5,refetchInterval:6e4,refetchOnWindowFocus:!0,retry:!1})}var OT=1,kT=15e3,AT=15e3,jT=3e5,MT=5e3,NT=1e4;function PT(e,t=(e,t)=>new WebSocket(e,t),n={}){let r=new FT(e,t,n.reconnectDelayMs??IT);return r.open(),{close:()=>r.close()}}var FT=class{input;webSocketFactory;reconnectDelayMs;socket=null;closed=!1;generation=0;reconnectAttempt=0;reconnectTimer=null;connectionAckTimer=null;subscriptionAckTimer=null;keepAliveTimer=null;keepAliveTimeoutMs=jT;lastKeepAliveAt=Date.now();ready=!1;subscriptionChannels=new Map;acknowledgedSubscriptions=new Set;constructor(e,t,n){this.input=e,this.webSocketFactory=t,this.reconnectDelayMs=n}open(){this.connect()}close(){if(this.closed)return;this.closed=!0,this.clearTimers();let e=this.socket;if(this.socket=null,e){if(e.readyState===OT)for(let t of this.subscriptionChannels.keys())e.send(JSON.stringify({type:`unsubscribe`,id:t}));e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null,e.close(1e3,`Client closed`)}}connect(){if(this.closed)return;let e=++this.generation;this.subscriptionChannels.clear(),this.acknowledgedSubscriptions.clear(),this.ready=!1,this.clearConnectionTimers();let t;try{t=this.webSocketFactory(this.input.realtimeUrl,[`aws-appsync-event-ws`,`header-${LT(JSON.stringify({Authorization:this.input.authorizationToken,host:new URL(this.input.httpUrl).host}))}`])}catch(e){this.reportError(e),this.scheduleReconnect();return}this.socket=t,t.onopen=()=>{this.isCurrent(t,e)&&(t.send(JSON.stringify({type:`connection_init`})),this.connectionAckTimer=setTimeout(()=>{this.failConnection(Error(`Team chat realtime connection acknowledgement timed out.`))},kT))},t.onmessage=n=>{this.isCurrent(t,e)&&this.handleMessage(t,n)},t.onerror=()=>{this.isCurrent(t,e)&&this.failConnection(Error(`Team chat realtime socket failed.`),!1)},t.onclose=n=>{this.isCurrent(t,e)&&(this.socket=null,this.clearConnectionTimers(),this.closed||((n.code===4401||n.code===4403)&&this.reportError(Error(`Team chat realtime authorization expired.`)),this.scheduleReconnect()))}}handleMessage(e,t){if(typeof t.data!=`string`)return;let n;try{let e=JSON.parse(t.data);if(!e||typeof e!=`object`||Array.isArray(e))return;n=e}catch{this.reportError(Error(`Team chat realtime returned an invalid frame.`));return}let r=typeof n.type==`string`?n.type:``;if(r===`connection_ack`)this.connectionAckTimer&&clearTimeout(this.connectionAckTimer),this.connectionAckTimer=null,this.keepAliveTimeoutMs=zT(n.connectionTimeoutMs),this.lastKeepAliveAt=Date.now(),this.startKeepAliveMonitor(),this.subscribe(e);else if(r===`ka`)this.lastKeepAliveAt=Date.now();else if(r===`subscribe_success`){let e=typeof n.id==`string`?n.id:``;if(!this.subscriptionChannels.has(e))return;this.acknowledgedSubscriptions.add(e),this.markReadyWhenSubscribed()}else if(r===`data`){if(this.lastKeepAliveAt=Date.now(),typeof n.event!=`string`)return;try{this.input.onEvent(JSON.parse(n.event))}catch{this.reportError(Error(`Team chat realtime returned an invalid event.`))}}else if(r===`connection_error`||r===`subscribe_error`){let e=BT(n);if(this.reportError(e),r===`connection_error`)this.failConnection(e,!1);else{let e=typeof n.id==`string`?n.id:``;this.subscriptionChannels.delete(e),this.acknowledgedSubscriptions.delete(e),this.markReadyWhenSubscribed()}}}subscribe(e){let t={Authorization:this.input.authorizationToken,host:new URL(this.input.httpUrl).host};for(let n of Array.from(new Set(this.input.channels))){let r=RT();this.subscriptionChannels.set(r,n),e.send(JSON.stringify({type:`subscribe`,id:r,channel:n,authorization:t}))}this.subscriptionAckTimer=setTimeout(()=>{this.failConnection(Error(`Team chat realtime subscription acknowledgement timed out.`))},AT)}startKeepAliveMonitor(){this.keepAliveTimer&&clearInterval(this.keepAliveTimer),this.keepAliveTimer=setInterval(()=>{Date.now()-this.lastKeepAliveAt<=this.keepAliveTimeoutMs||this.failConnection(Error(`Team chat realtime connection became stale.`))},MT)}markReadyWhenSubscribed(){this.ready||this.subscriptionChannels.size===0||this.acknowledgedSubscriptions.size!==this.subscriptionChannels.size||(this.ready=!0,this.subscriptionAckTimer&&clearTimeout(this.subscriptionAckTimer),this.subscriptionAckTimer=null,this.reconnectAttempt=0,this.input.onReady?.())}failConnection(e,t=!0){if(this.closed)return;t&&this.reportError(e);let n=this.socket;this.clearConnectionTimers(),n?n.close(4e3,`Reconnect`):this.scheduleReconnect()}scheduleReconnect(){if(this.closed||this.reconnectTimer)return;let e=Math.max(0,Math.floor(this.reconnectDelayMs(this.reconnectAttempt)));this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}reportError(e){this.input.onError?.(e)}isCurrent(e,t){return!this.closed&&this.socket===e&&this.generation===t}clearConnectionTimers(){this.connectionAckTimer&&clearTimeout(this.connectionAckTimer),this.subscriptionAckTimer&&clearTimeout(this.subscriptionAckTimer),this.keepAliveTimer&&clearInterval(this.keepAliveTimer),this.connectionAckTimer=null,this.subscriptionAckTimer=null,this.keepAliveTimer=null}clearTimers(){this.clearConnectionTimers(),this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null}};function IT(e){let t=Math.min(NT,500*2**Math.min(e,5));return Math.max(100,Math.floor(Math.random()*t))}function LT(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/,``)}function RT(){return globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}function zT(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:jT}function BT(e){let t=(Array.isArray(e.errors)?e.errors:[])[0];if(t&&typeof t==`object`){let e=t,n=typeof e.errorType==`string`?e.errorType:`RealtimeError`,r=typeof e.message==`string`?e.message:`Request failed`;return Error(`${n}: ${r}`)}return Error(`Team chat realtime request failed.`)}function VT(e,t,n){let r=[`/team-chat/users/${e.session.userId}/${e.session.teamId}`,...Array.from(new Set(e.threadIds)).map(e=>`/team-chat/threads/${e}`)];return PT({realtimeUrl:e.session.realtimeUrl,httpUrl:e.session.httpUrl,authorizationToken:e.session.token,channels:r,onEvent:t=>{let n=Wi.safeParse(t);n.success&&e.onEvent(n.data)},onReady:e.onReady,onError:e.onError},t,n)}function HT(e){return e.refs.find(e=>e.refType===`message_reply`)??null}function UT(e){return{id:e.id,authorType:e.authorType,authorUserId:e.authorUserId,authorAgentId:e.authorAgentId,body:e.body,deleted:!!e.deletedAt}}function WT(e,t){let n=HT(e);if(!n)return null;let r=t.get(n.refId);return r?UT(r):JT(n)}function GT(e){let t=e.body.slice(0,500);return{authorType:e.authorType,authorUserId:e.authorUserId,authorAgentId:e.authorAgentId,body:t,truncated:t.length<e.body.length}}function KT(e,t){return e.authorUserId?t.get(e.authorUserId)?.name??`Team member`:e.authorType===`agent`||e.authorAgentId?`Agent`:e.authorType===`system`?`System`:`Team member`}function qT(e){return e.deleted?`Message deleted`:e.body.replace(/\s+/g,` `).trim()||`Attachment`}function JT(e){let t=e.preview;return{id:e.refId,authorType:YT(t.authorType),authorUserId:typeof t.authorUserId==`string`?t.authorUserId:null,authorAgentId:typeof t.authorAgentId==`string`?t.authorAgentId:null,body:typeof t.body==`string`?t.body:``,deleted:t.deleted===!0}}function YT(e){return e===`agent`||e===`system`?e:`user`}function XT(e,t,n){return n===t.conversationId?{...e,aiThread:t}:e}function ZT(e,t){return!e||e.thread.id!==t.thread.id?t:{...t,messages:rE([...e.messages,...t.messages]),hasMoreBefore:e.messages.length>t.messages.length?e.hasMoreBefore:t.hasMoreBefore}}function QT(e,t){let n=Array.from(t.values()).filter(t=>t.threadId===e.thread.id);if(n.length===0)return e;let r=e.thread;for(let e of n)r=oE(r,e,`message.created`,!0,e.authorUserId);return{...e,thread:r,messages:rE([...e.messages,...n])}}function $T(e,t){let n=new Set(e.map(e=>e.lastMessage?.clientRequestId).filter(e=>!!e)),r=new Map;for(let e of t.values()){if(e.clientRequestId&&n.has(e.clientRequestId))continue;let t=r.get(e.threadId)??[];t.push(e),r.set(e.threadId,t)}return e.map(e=>{let t=e;for(let n of r.get(e.id)??[])t=oE(t,n,`message.created`,!0,n.authorUserId);return t}).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt))}function eE(e,t,n){for(let r of e)r.clientRequestId&&!r.id.startsWith(`pending:`)&&(t.delete(r.clientRequestId),n.delete(r.clientRequestId))}function tE(e,t,n){let r=e.get(t);r&&e.set(t,{...r,metadata:{...r.metadata,deliveryStatus:n}})}function nE(e,t,n){let r=e.get(t);r&&e.set(t,{...r,metadata:{...r.metadata,uploadProgress:n}})}function rE(e){let t=new Map,n=new Set(e.filter(e=>!e.id.startsWith(`pending:`)).map(e=>e.clientRequestId).filter(e=>!!e));for(let r of e)r.id.startsWith(`pending:`)&&r.clientRequestId&&n.has(r.clientRequestId)||t.set(r.id,r);return Array.from(t.values()).sort((e,t)=>e.sequence===t.sequence?e.createdAt.localeCompare(t.createdAt):e.sequence-t.sequence)}function iE(e){return e.type!==`message.created`&&e.type!==`message.updated`&&e.type!==`message.deleted`?null:zi.safeParse(e.payload.message).data??null}function aE(e,t,n){let r=iE(t);if(r){let i=e.selectedThreadId===r.threadId,a=e.detail?.thread.id===r.threadId?{...e.detail,thread:oE(e.detail.thread,r,t.type,i,n),messages:rE([...e.detail.messages,r])}:e.detail,o=e.threads.some(e=>e.id===r.threadId)?e.threads.map(e=>e.id===r.threadId?oE(e,r,t.type,i,n):e).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt)):e.threads;return{...e,detail:a,threads:o,error:null}}if(t.type===`read.updated`){let n=typeof t.payload.userId==`string`?t.payload.userId:null,r=Number(t.payload.sequence);if(!n||!Number.isSafeInteger(r)||r<0)return e;let i=e=>({...e,participants:e.participants.map(e=>e.userId===n?{...e,lastReadSequence:Math.max(e.lastReadSequence,r)}:e)});return{...e,threads:e.threads.map(e=>e.id===t.threadId?i(e):e),detail:e.detail?.thread.id===t.threadId?{...e.detail,thread:i(e.detail.thread)}:e.detail}}return e}function oE(e,t,n,r,i){let a=n===`message.created`,o=t.sequence>=e.lastMessageSequence;return{...e,lastMessageId:o?t.id:e.lastMessageId,lastMessageSequence:Math.max(e.lastMessageSequence,t.sequence),lastMessageAt:o?t.createdAt:e.lastMessageAt,updatedAt:o?t.createdAt:e.updatedAt,lastMessage:o?t:e.lastMessage,unreadCount:r||t.authorUserId===i?0:a?e.unreadCount+1:e.unreadCount}}function sE(e){let t=new Date().toISOString(),n=`pending:${e.clientRequestId}`;return{id:n,threadId:e.threadId,teamId:e.teamId,clientRequestId:e.clientRequestId,authorType:`user`,authorUserId:e.userId,authorAgentId:null,sequence:e.sequence,kind:`text`,body:e.body,metadata:{deliveryStatus:`sending`,mentionUserIds:e.mentionUserIds,localAttachmentPreviews:e.attachments.map(e=>({id:e.id,url:`data:${e.mediaType};base64,${e.contentsBase64}`}))},editedAt:null,deletedAt:null,createdAt:t,refs:e.replyToMessage?[{id:`pending-reply:${e.clientRequestId}`,messageId:n,refType:`message_reply`,refId:e.replyToMessage.id,preview:GT(e.replyToMessage),createdAt:t}]:[],attachments:e.attachments.map(e=>({id:e.id,messageId:null,clientAttachmentId:e.id,kind:`image`,name:e.name,mediaType:e.mediaType,sizeBytes:e.sizeBytes,status:`pending`,createdAt:t,readyAt:null}))}}function cE(e,t){let n=e.detail?.thread.id===t.threadId?{...e.detail,thread:oE(e.detail.thread,t,`message.created`,!0,t.authorUserId),messages:rE([...e.detail.messages,t])}:e.detail;return{...e,detail:n,threads:e.threads.map(e=>e.id===t.threadId?oE(e,t,`message.created`,!0,t.authorUserId):e).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt)),error:null}}function lE(e,t,n){return aE(e,{id:0,teamId:t.teamId,threadId:t.threadId,conversationId:null,type:`message.created`,payload:{message:t},createdAt:t.createdAt},n)}function uE(e,t){return dE(e,t,`failed`)}function dE(e,t,n){let r=e=>e.clientRequestId===t&&e.id.startsWith(`pending:`)?{...e,metadata:{...e.metadata,deliveryStatus:n}}:e;return{...e,detail:e.detail?{...e.detail,thread:{...e.detail.thread,lastMessage:e.detail.thread.lastMessage?r(e.detail.thread.lastMessage):null},messages:e.detail.messages.map(r)}:null,threads:e.threads.map(e=>({...e,lastMessage:e.lastMessage?r(e.lastMessage):null}))}}function fE(e,t,n){let r=e=>e.clientRequestId===t&&e.id.startsWith(`pending:`)?{...e,metadata:{...e.metadata,uploadProgress:n}}:e;return{...e,detail:e.detail?{...e.detail,thread:{...e.detail.thread,lastMessage:e.detail.thread.lastMessage?r(e.detail.thread.lastMessage):null},messages:e.detail.messages.map(r)}:null,threads:e.threads.map(e=>({...e,lastMessage:e.lastMessage?r(e.lastMessage):null}))}}function pE(e,t){let n=e.detail?.messages.filter(e=>e.id!==t)??[],r=n.at(-1)??null,i=e.detail?{...e.detail,thread:e.detail.thread.lastMessageId===t?hE(e.detail.thread,r):e.detail.thread,messages:n}:null;return{...e,detail:i,threads:e.threads.map(e=>e.lastMessageId===t?hE(e,r):e)}}function mE(e){if(e.length>Ee.maxAttachments)return null;let t=[];for(let n of e){if(n.kind!==`image`||!gE(n.mediaType)||!n.contentsBase64||n.sizeBytes<=0||n.sizeBytes>Ee.maxAttachmentBytes)return null;t.push({...n,kind:`image`,mediaType:n.mediaType,contentsBase64:n.contentsBase64})}return t}function hE(e,t){return{...e,lastMessageId:t?.id??null,lastMessageSequence:t?.sequence??0,lastMessageAt:t?.createdAt??e.createdAt,updatedAt:t?.createdAt??e.createdAt,lastMessage:t}}function gE(e){return e===`image/png`||e===`image/jpeg`||e===`image/webp`||e===`image/gif`}var _E={team_chat_team_not_found:`You no longer have access to this workspace.`,workspace_membership_required:`You no longer have access to this workspace.`,team_chat_billing_inactive:`Workspace chat is unavailable while its subscription is inactive. Ask the workspace owner to review billing.`,workspace_billing_suspended:`Workspace billing is suspended. Ask the workspace owner to update billing.`,workspace_billing_cancelled:`This workspace subscription is cancelled. Ask the workspace owner to reactivate it.`,workspace_checkout_pending:`Workspace checkout is still pending. Ask the workspace owner to finish setup.`,member_paid_usage_disabled:`The workspace owner has not enabled paid model usage for your account.`,member_spend_cap_exceeded:`You reached your workspace member spending limit. Ask the workspace owner to adjust it.`,member_opchat_quota_exceeded:`You reached your workspace member OpChat limit. Ask the workspace owner to adjust it.`,member_search_quota_exceeded:`You reached your workspace member Search limit. Ask the workspace owner to adjust it.`,workspace_prepaid_credit_required:`This workspace needs more prepaid credits. Ask the workspace owner to add credits.`,workspace_spend_cap_exceeded:`This workspace reached its spend cap. Ask the workspace owner to review billing.`,opchat_workspace_quota_exceeded:`This workspace reached its included OpChat limit for the period.`,search_workspace_quota_exceeded:`This workspace reached its included Search limit for the period.`};function vE(e){let t=e instanceof Error?e.message:String(e),n=t.trim().toLowerCase();for(let[e,t]of Object.entries(_E))if(n.includes(e))return t;return n.includes(`event stream ended`)?`Team chat realtime disconnected. Messages will continue to refresh automatically.`:aS(t)}var yE=`openpond.team-chat.notification-mode`;function bE(){try{return typeof window>`u`?null:ye}catch{return null}}function xE(e=bE()){let t=e?.getItem(yE);return t===`direct_mentions`||t===`none`?t:`all`}function SE(e,t=bE()){try{t?.setItem(yE,e)}catch{}}function CE(e){return e.mode===`none`||!e.currentUserId||!e.thread||e.thread.mutedAt||e.message.deletedAt||e.message.authorUserId===e.currentUserId?!1:e.mode===`all`||e.thread.kind===`dm`||(Array.isArray(e.message.metadata.mentionUserIds)?e.message.metadata.mentionUserIds:[]).includes(e.currentUserId)}function wE(e){let t=e.message.authorUserId?e.members.find(t=>t.userId===e.message.authorUserId)?.name??`Team member`:e.message.authorType===`agent`?`Agent`:`Team`,n=e.thread.title?.trim()||(e.thread.kind===`general`?`general`:`conversation`),r=e.thread.kind===`dm`?t:`${t} in #${n}`,i=e.message.body.replace(/\s+/g,` `).trim()||(e.message.attachments.length===1?`Sent an image`:e.message.attachments.length>1?`Sent ${e.message.attachments.length} images`:`New message`);return{eventId:e.eventId,threadId:e.message.threadId,title:r,body:i.length>160?`${i.slice(0,157)}…`:i}}var TE={members:[],agents:[],threads:[],selectedThreadId:null,detail:null,aiThread:null,agentConversation:null,loading:!1,busy:!1,error:null};function EE(e,t){return e.map(e=>e.id===t&&e.unreadCount!==0?{...e,unreadCount:0}:e)}function DE(e){return!e||e.thread.unreadCount===0?e:{...e,thread:{...e.thread,unreadCount:0}}}function OE(e){return{teamId:e.teamId,body:e.body.trim(),clientRequestId:e.clientRequestId,selectedAgentId:e.conversation.agent.id,conversationId:e.conversation.conversationId}}function kE(e){return{teamId:e.teamId,body:e.body.trim(),clientRequestId:e.clientRequestId,selectedActionKey:e.selectedActionKey,approvalId:e.approvalId??null}}async function AE(e,t=Z.markTeamChatRead){return e.lastMessageSequence<=0?!1:t(e.connection,e.threadId,e.teamId,e.lastMessageSequence).then(()=>!0,()=>!1)}function jE(e){let t=w(DT(e)),n=t.isError?TE.members:t.data??TE.members,[r,i]=(0,J.useState)(TE),a=(0,J.useRef)(r);a.current={...r,members:n};let[o,s]=(0,J.useState)(xE);be(()=>s(xE()));let[c,l]=(0,J.useState)(null),u=(0,J.useRef)(null),d=(0,J.useRef)(null),f=(0,J.useRef)(0),p=(0,J.useRef)(new Map),m=(0,J.useRef)(new Map),h=(0,J.useRef)(0),g=(0,J.useRef)(null),_=(0,J.useRef)(0),v=(0,J.useRef)(new Set),y=(0,J.useRef)(0),b=(0,J.useRef)(!1),x=(0,J.useRef)(new Map),S=(0,J.useRef)(new Map),[C,T]=(0,J.useState)(null),[E,D]=(0,J.useState)(null),ee=(0,J.useCallback)(e=>{s(e),SE(e)},[]),O=(0,J.useCallback)(e=>{l(t=>t?.eventId===e?null:t)},[]),k=(0,J.useCallback)(async()=>{if(!e.connection||!e.teamId)return[];let t=$T((await Z.teamChatThreads(e.connection,e.teamId)).threads,x.current);return i(e=>({...e,threads:t})),t},[e.connection,e.teamId]),A=(0,J.useCallback)(async()=>{if(!e.connection||!e.teamId)return{members:[],agents:[]};let[n,r]=await Promise.all([t.refetch({throwOnError:!0}),Z.teamChatAgents(e.connection,e.teamId)]);return i(e=>({...e,agents:r.agents})),{members:n.data??[],agents:r.agents}},[e.connection,e.teamId,t.refetch]),j=(0,J.useCallback)(async t=>{let n=t??u.current;if(!e.connection||!e.teamId||!n)return null;let r=(m.current.get(n)??0)+1;m.current.set(n,r);let a=await Z.teamChatThread(e.connection,e.teamId,n);eE(a.messages,x.current,S.current);let o=QT(a,x.current);return m.current.get(n)===r&&(i(e=>e.selectedThreadId===n?{...e,threads:EE(e.threads,n),detail:DE(ZT(e.detail,o))}:e),u.current===n&&o.thread.lastMessageSequence>0&&await Z.markTeamChatRead(e.connection,n,e.teamId,o.thread.lastMessageSequence).catch(()=>void 0)),o},[e.connection,e.teamId]),te=(0,J.useCallback)(async t=>{let n=t??d.current;if(!e.connection||!e.teamId||!n)return null;let r=(p.current.get(n)??0)+1;p.current.set(n,r);let a=await Z.teamChatAiThread(e.connection,e.teamId,n);return p.current.get(n)===r&&d.current===n&&i(e=>XT(e,a,d.current)),a},[e.connection,e.teamId]),M=(0,J.useCallback)(async t=>{let n=t??g.current;if(!e.connection||!e.teamId||!n)return null;let r=await Z.teamChatAgentConversation(e.connection,e.teamId,n);return i(e=>e.agentConversation?.run.id===n?{...e,agentConversation:r}:e),r},[e.connection,e.teamId]);(0,J.useEffect)(()=>{u.current=r.selectedThreadId},[r.selectedThreadId]),(0,J.useEffect)(()=>{g.current=r.agentConversation?.run.id??null},[r.agentConversation?.run.id]),(0,J.useEffect)(()=>{let e=r.agentConversation?.run.status;if(!e||![`pending`,`queued`,`running`].includes(e))return;let t=window.setInterval(()=>{M().catch(e=>{i(t=>({...t,error:ME(e)}))})},2500);return()=>window.clearInterval(t)},[M,r.agentConversation?.run.status]),(0,J.useEffect)(()=>{if(!e.connection||!e.teamId||!e.currentUserId){i(TE),T(null),D(null),S.current.clear(),x.current.clear(),m.current.clear(),p.current.clear(),h.current+=1,l(null),v.current.clear(),y.current=0,_.current=0;return}let t=!1;return d.current=null,f.current+=1,h.current+=1,T(null),D(null),S.current.clear(),x.current.clear(),v.current.clear(),y.current=0,i(e=>({...e,aiThread:null,agentConversation:null,loading:!0,error:null})),(async()=>{try{let n=await Z.teamChatEvents(e.connection,e.teamId);if(t)return;_.current=n.cursor;let r=Z.teamChatAgents(e.connection,e.teamId),a=await Z.teamChatGeneral(e.connection,e.teamId),[o,s]=await Promise.all([r,Z.teamChatThreads(e.connection,e.teamId)]);if(t)return;let c=u.current&&s.threads.some(e=>e.id===u.current)?u.current:a.thread.id,l=c===a.thread.id?a:await Z.teamChatThread(e.connection,e.teamId,c);if(t)return;let d=DE(l);i(e=>({...e,agents:o.agents,threads:EE(s.threads,c),selectedThreadId:c,detail:d,loading:!1,error:null})),AE({connection:e.connection,teamId:e.teamId,threadId:c,lastMessageSequence:d?.thread.lastMessageSequence??0}),D(e.teamId)}catch(e){if(t)return;i(t=>({...t,loading:!1,error:ME(e)}))}})(),()=>{t=!0}},[e.connection,e.currentUserId,e.refreshToken,e.teamId]);let N=(0,J.useCallback)(t=>{if(v.current.has(t.id))return;if(v.current.add(t.id),v.current.size>2e3){let e=v.current.values().next().value;typeof e==`number`&&v.current.delete(e)}let n=iE(t);if(n&&t.type===`message.created`){let r=a.current,i=r.threads.find(e=>e.id===n.threadId)??(r.detail?.thread.id===n.threadId?r.detail.thread:null),s=i=>{t.id<=y.current||CE({mode:o,currentUserId:e.currentUserId,message:n,thread:i})&&(y.current=t.id,l(wE({eventId:t.id,message:n,thread:i,members:r.members})))};i?s(i):k().then(e=>{let t=e.find(e=>e.id===n.threadId);t&&s(t)}).catch(()=>void 0)}n?.clientRequestId&&!n.id.startsWith(`pending:`)&&(x.current.delete(n.clientRequestId),S.current.delete(n.clientRequestId)),i(n=>aE(n,t,e.currentUserId)),t.type===`thread.created`&&k().catch(e=>{i(t=>({...t,error:ME(e)}))}),(t.type===`ai_thread.created`||t.type===`ai_turn.updated`)&&(j(t.threadId).catch(e=>{i(t=>({...t,error:ME(e)}))}),t.conversationId===d.current&&te(t.conversationId).catch(e=>{i(t=>({...t,error:ME(e)}))})),n&&t.type===`message.created`&&u.current===n.threadId&&n.authorUserId!==e.currentUserId&&e.connection&&e.teamId&&Z.markTeamChatRead(e.connection,n.threadId,e.teamId,n.sequence).catch(()=>void 0)},[e.connection,e.currentUserId,e.teamId,o,te,j,k]),ne=(0,J.useCallback)(async()=>{if(e.connection&&e.teamId&&!b.current){b.current=!0;try{let t=!0;for(;t;){let n=await Z.teamChatEvents(e.connection,e.teamId,{after:_.current,limit:250});for(let e of n.events)N(e);_.current=n.cursor,t=n.hasMore}}finally{b.current=!1}}},[N,e.connection,e.teamId]);(0,J.useEffect)(()=>{if(!e.connection||!e.teamId||E!==e.teamId)return;let t=!1,n=null,r=async()=>{try{let i=await Z.teamChatRealtimeSession(e.connection,e.teamId);if(t||(await ne(),t))return;T(i);let a=Math.max(3e4,new Date(i.expiresAt).getTime()-Date.now()-3e4);n=window.setTimeout(()=>void r(),a)}catch{t||(ne().catch(()=>void 0),n=window.setTimeout(()=>void r(),1e4))}};return r(),()=>{t=!0,n!==null&&window.clearTimeout(n),T(null)}},[ne,e.connection,e.teamId,E]);let P=r.threads.map(e=>e.id).sort().join(`,`);(0,J.useEffect)(()=>{if(!C)return;let e=VT({session:C,threadIds:P?P.split(`,`):[],onEvent:N,onReady:()=>{ne().catch(e=>{i(t=>({...t,error:ME(e)}))})},onError:()=>{ne().catch(()=>void 0)}});return()=>{e.close()}},[N,ne,C,P]),(0,J.useEffect)(()=>{if(!e.connection||!e.teamId||E!==e.teamId)return;let t=window.setInterval(()=>{ne().catch(()=>void 0)},15e3);return()=>window.clearInterval(t)},[ne,e.connection,e.teamId,E]);let re=(0,J.useCallback)(async t=>{if(!e.connection||!e.teamId)return;let n=h.current+1;h.current=n;let r=u.current!==t;u.current=t,r&&(f.current+=1,d.current=null),i(e=>({...e,threads:EE(e.threads,t),selectedThreadId:t,detail:e.detail?.thread.id===t?DE(e.detail):null,aiThread:r?null:e.aiThread,agentConversation:r?null:e.agentConversation,loading:!0,error:null}));try{let r=await Z.teamChatThread(e.connection,e.teamId,t);if(h.current!==n||u.current!==t)return;eE(r.messages,x.current,S.current);let a=QT(r,x.current);i(e=>({...e,threads:EE(e.threads,t),detail:DE(a),loading:!1})),await Z.markTeamChatRead(e.connection,t,e.teamId,a.thread.lastMessageSequence).catch(()=>void 0)}catch(e){if(h.current!==n)return;i(t=>({...t,loading:!1,error:ME(e)}))}},[e.connection,e.teamId]),F=(0,J.useCallback)(async t=>{if(!e.connection||!e.teamId)return null;let n=h.current+1;h.current=n,i(e=>({...e,busy:!0,error:null}));try{let r=await Z.teamChatDm(e.connection,e.teamId,t);if(h.current!==n)return null;eE(r.messages,x.current,S.current);let a=QT(r,x.current),o=u.current!==a.thread.id;return u.current=a.thread.id,o&&(f.current+=1,d.current=null),i(e=>({...e,selectedThreadId:a.thread.id,detail:a,aiThread:o?null:e.aiThread,agentConversation:o?null:e.agentConversation,busy:!1})),await AE({connection:e.connection,teamId:e.teamId,threadId:a.thread.id,lastMessageSequence:a.thread.lastMessageSequence}),await k(),a}catch(e){return h.current===n&&i(t=>({...t,busy:!1,error:ME(e)})),null}},[e.connection,e.teamId,k]),ie=(0,J.useCallback)(async()=>{let t=r.detail,n=t?.messages[0]?.sequence;if(!e.connection||!e.teamId||!t||!t.hasMoreBefore||n==null)return!1;i(e=>({...e,loading:!0,error:null}));try{let r=await Z.teamChatThread(e.connection,e.teamId,t.thread.id,{beforeSequence:n,limit:50});return i(e=>{if(e.detail?.thread.id!==t.thread.id)return e;let n=[...r.messages,...e.detail.messages];return{...e,loading:!1,detail:{...e.detail,messages:rE(n),hasMoreBefore:r.hasMoreBefore}}}),!0}catch(e){return i(t=>({...t,loading:!1,error:ME(e)})),!1}},[e.connection,e.teamId,r.detail]),I=(0,J.useCallback)(async t=>{let n=u.current,a=mE(t.attachments??[]);if(!a)return i(e=>({...e,error:`Team chat supports up to 10 PNG, JPEG, WebP, or GIF images per message.`})),!1;if(!e.connection||!e.teamId||!n||!t.body.trim()&&a.length===0)return!1;if(t.replyToMessage&&(t.replyToMessage.threadId!==n||t.replyToMessage.teamId!==e.teamId||t.replyToMessage.id.startsWith(`pending:`)||t.replyToMessage.deletedAt))return i(e=>({...e,error:`That message is no longer available to reply to.`})),!1;if(t.useModel){if(a.length>0)return i(e=>({...e,error:`Images can be sent to the team thread with Use model turned off.`})),!1;let r=f.current;i(e=>({...e,busy:!0,error:null}));try{let a=await Z.createTeamChatAiThread(e.connection,n,{teamId:e.teamId,body:t.body.trim(),clientRequestId:crypto.randomUUID(),providerId:t.providerId,modelId:t.modelId}),o=f.current===r&&u.current===n;return o&&(f.current+=1,d.current=a.conversationId),i(e=>({...e,aiThread:o?a:e.aiThread})),a.activeTurn&&await Z.executeTeamChatAiTurn(e.connection,a.activeTurn.id,e.teamId),await Promise.all([j(n),k()]),i(e=>({...e,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:ME(e)})),!1}}let o=crypto.randomUUID();if(t.selectedActionKey){if(a.length>0)return i(e=>({...e,error:`Agent invocations do not support image attachments yet.`})),!1;i(e=>({...e,busy:!0,error:null}));try{return await Z.createTeamChatAgentRun(e.connection,n,kE({teamId:e.teamId,body:t.body,clientRequestId:o,selectedActionKey:t.selectedActionKey,approvalId:t.approvalId})),await Promise.all([j(n),k()]),i(e=>({...e,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:ME(e)})),!1}}S.current.set(o,{inputs:a,uploaded:null});let s=sE({clientRequestId:o,threadId:n,teamId:e.teamId,userId:e.currentUserId,body:t.body.trim(),mentionUserIds:t.mentionUserIds??[],attachments:a,replyToMessage:t.replyToMessage,sequence:(r.detail?.thread.lastMessageSequence??0)+1});x.current.set(o,s),i(e=>cE(e,s));try{let r=[];for(let[t,s]of a.entries())r.push(await Z.uploadTeamChatAttachment(e.connection,n,{teamId:e.teamId,attachment:s})),nE(x.current,o,`${t+1} of ${a.length}`),i(e=>fE(e,o,`${t+1} of ${a.length}`));let s=S.current.get(o);s&&(s.uploaded=r);let c=await Z.sendTeamChatMessage(e.connection,n,{teamId:e.teamId,body:t.body.trim(),clientRequestId:o,mentionUserIds:t.mentionUserIds,attachmentIds:r.map(e=>e.id),replyToMessageId:t.replyToMessage?.id??null});return S.current.delete(o),x.current.delete(o),i(t=>lE(t,c,e.currentUserId)),!0}catch(e){return tE(x.current,o,`failed`),i(t=>({...uE(t,o),error:ME(e)})),!1}},[e.connection,e.currentUserId,e.teamId,j,k,r.detail?.thread.lastMessageSequence]),L=(0,J.useCallback)(async t=>{if(e.connection&&e.teamId){f.current+=1,d.current=t,i(e=>({...e,aiThread:e.aiThread?.conversationId===t?e.aiThread:null,busy:!0,error:null}));try{let n=await Z.teamChatAiThread(e.connection,e.teamId,t);if(d.current!==t)return;i(e=>({...e,aiThread:n,busy:!1}))}catch(e){if(d.current!==t)return;i(t=>({...t,busy:!1,error:ME(e)}))}}},[e.connection,e.teamId]),R=(0,J.useCallback)(async t=>{if(e.connection&&e.teamId){g.current=t,i(e=>({...e,busy:!0,error:null}));try{let n=await Z.teamChatAgentConversation(e.connection,e.teamId,t);i(e=>({...e,agentConversation:n,busy:!1}))}catch(e){i(t=>({...t,busy:!1,error:ME(e)}))}}},[e.connection,e.teamId]),z=(0,J.useCallback)(()=>{g.current=null,i(e=>({...e,agentConversation:null}))},[]),B=(0,J.useCallback)(async t=>{let n=u.current,a=r.agentConversation;if(!e.connection||!e.teamId||!n||!a||!t.body.trim())return!1;i(e=>({...e,busy:!0,error:null}));try{let r=await Z.createTeamChatAgentRun(e.connection,n,OE({teamId:e.teamId,body:t.body,clientRequestId:t.clientRequestId,conversation:a}));g.current=r.run.id;let[o]=await Promise.all([Z.teamChatAgentConversation(e.connection,e.teamId,r.run.id),j(n),k()]);return i(e=>({...e,agentConversation:o,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:ME(e)})),!1}},[e.connection,e.teamId,j,k,r.agentConversation]),ae=(0,J.useCallback)(()=>{f.current+=1,d.current=null,i(e=>({...e,aiThread:null}))},[]),V=(0,J.useCallback)(async t=>{let n=d.current;if(!e.connection||!e.teamId||!n||!t.body.trim())return!1;i(e=>({...e,busy:!0,error:null}));try{let r=await Z.sendTeamChatAiTurn(e.connection,n,{teamId:e.teamId,body:t.body.trim(),clientRequestId:crypto.randomUUID(),providerId:t.providerId,modelId:t.modelId});return i(e=>({...XT(e,r,d.current),busy:!1})),r.activeTurn&&await Z.executeTeamChatAiTurn(e.connection,r.activeTurn.id,e.teamId),!0}catch(e){return i(t=>({...t,busy:!1,error:ME(e)})),!1}},[e.connection,e.teamId]),H=(0,J.useCallback)(async()=>{let t=r.aiThread?.activeTurn?.id;return!e.connection||!e.teamId||!t?!1:(await Z.cancelTeamChatAiTurnExecution(e.connection,t,e.teamId)).cancelled},[e.connection,e.teamId,r.aiThread?.activeTurn?.id]),U=(0,J.useCallback)(async(t,n)=>{if(!e.connection||!e.teamId)return!1;try{return await Z.editTeamChatMessage(e.connection,t.threadId,t.id,{teamId:e.teamId,body:n}),await j(t.threadId),!0}catch(e){return i(t=>({...t,error:ME(e)})),!1}},[e.connection,e.teamId,j]),oe=(0,J.useCallback)(async t=>{if(!e.connection||!e.teamId)return!1;try{return await Z.deleteTeamChatMessage(e.connection,t.threadId,t.id,e.teamId),await j(t.threadId),!0}catch(e){return i(t=>({...t,error:ME(e)})),!1}},[e.connection,e.teamId,j]),W=(0,J.useCallback)(async t=>{if(!e.connection||!e.teamId||!t.clientRequestId||!t.id.startsWith(`pending:`))return!1;let n=Array.isArray(t.metadata.mentionUserIds)?t.metadata.mentionUserIds.filter(e=>typeof e==`string`):[],r=S.current.get(t.clientRequestId),a=t.refs.find(e=>e.refType===`message_reply`);tE(x.current,t.clientRequestId,`sending`),i(e=>dE(e,t.clientRequestId,`sending`));try{let o=r?.uploaded??[];if(r&&!r.uploaded){o=[];for(let[n,a]of r.inputs.entries())o.push(await Z.uploadTeamChatAttachment(e.connection,t.threadId,{teamId:e.teamId,attachment:a})),nE(x.current,t.clientRequestId,`${n+1} of ${r.inputs.length}`),i(e=>fE(e,t.clientRequestId,`${n+1} of ${r.inputs.length}`));r.uploaded=o}let s=await Z.sendTeamChatMessage(e.connection,t.threadId,{teamId:e.teamId,body:t.body,clientRequestId:t.clientRequestId,mentionUserIds:n,attachmentIds:o.map(e=>e.id),replyToMessageId:a?.refId??null});return S.current.delete(t.clientRequestId),x.current.delete(t.clientRequestId),i(t=>lE(t,s,e.currentUserId)),!0}catch(e){return tE(x.current,t.clientRequestId,`failed`),i(n=>({...dE(n,t.clientRequestId,`failed`),error:ME(e)})),!1}},[e.connection,e.currentUserId,e.teamId]),G=(0,J.useCallback)(e=>{e.id.startsWith(`pending:`)&&(e.clientRequestId&&S.current.delete(e.clientRequestId),e.clientRequestId&&x.current.delete(e.clientRequestId),i(t=>pE(t,e.id)))},[]),se=(0,J.useCallback)(async(t,n)=>{if(!e.connection||!e.teamId)return!1;try{let r=await Z.setTeamChatThreadMuted(e.connection,t,e.teamId,n),a=e=>e.id===r.threadId?{...e,mutedAt:r.mutedAt}:e;return i(e=>({...e,threads:e.threads.map(a),detail:e.detail?.thread.id===r.threadId?{...e.detail,thread:a(e.detail.thread)}:e.detail,error:null})),!0}catch(e){return i(t=>({...t,error:ME(e)})),!1}},[e.connection,e.teamId]);return{...r,members:n,error:r.error??(t.error?ME(t.error):null),currentUserId:e.currentUserId,notificationMode:o,incomingNotification:c,setNotificationMode:ee,dismissIncomingNotification:O,setThreadMuted:se,selectThread:re,openDm:F,loadMoreMessages:ie,sendMessage:I,openAiThread:L,openAgentConversation:R,closeAgentConversation:z,sendAgentTurn:B,closeAiThread:ae,sendAiTurn:V,stopAiTurn:H,editMessage:U,deleteMessage:oe,retryMessage:W,dismissFailedMessage:G,refreshDirectory:A,refresh:async()=>{await Promise.all([A(),k(),j(),te(),M()])}}}function ME(e){return vE(e)}var NE=`local-profile-agent`;function PE(e){let t=e.profile;if(!t||t.mode!==`local`)return e.hostedActions;let n=new Set(e.hostedActions.flatMap(e=>{let n=e.implementation;return n?.type!==`openpond-agent`||n.profileName!==t.activeProfile?[]:[VE(n.agentName),VE(e.name),VE(e.label)].filter(Boolean)})),r=t.hosted?.teamId===e.teamId?t.hosted.hostedSourceMaterialization:null,i=new Set(e.hostedActions.map(e=>e.implementation?.agentId).filter(e=>typeof e==`string`)),a=t.agents.flatMap(e=>!e.enabled||r?.agentId===e.id&&r.runtimeAgentId&&i.has(r.runtimeAgentId)||n.has(VE(e.name))||n.has(VE(e.id))?[]:[zE(t,e)]);return[...e.hostedActions,...a]}function FE(e){return e?.implementation?.type===NE}function IE(e){let t=e.implementation?.profileAgentId;return typeof t==`string`&&t.trim()?t.trim():null}function LE(e,t){if(!e||e.mode!==`local`)return`Load a local OpenPond profile before publishing an agent to Team.`;let n=e.agents.find(e=>e.id===t);return n?n.enabled?e.git?.head?e.git.dirty?`Commit your profile changes before publishing ${n.name} to Team.`:e.setupGate.blockingCount>0?`${n.name} has ${e.setupGate.blockingCount} blocking setup requirement${e.setupGate.blockingCount===1?``:`s`}. Complete setup before publishing it to Team.`:null:`Commit ${n.name} before publishing it to Team.`:`${n.name} is disabled in the active profile.`:`Profile agent not found: ${t}`}function RE(e,t){let n=t.runtimeAgentId?.trim()??``,r=t.profileName?.trim()??``,i=VE(t.agentName);return e.find(e=>{let t=e.implementation;return t?.type===`openpond-agent`?n&&typeof t.agentId==`string`&&t.agentId===n?!0:!!(r&&t.profileName===r&&i&&[t.agentName,e.name,e.label].some(e=>VE(e)===i)):!1})??null}function zE(e,t){return{id:`local-profile:${e.activeProfile??`default`}:${t.id}:chat`,name:t.name,label:t.name,description:BE(e),approvalPolicy:{required:!1,risk:`write`},setupRequirements:e.setupGate.blockingRequirements,invokesModel:!0,implementation:{type:NE,profileAgentId:t.id,profileName:e.activeProfile??`default`}}}function BE(e){return e.git?.head?e.git.dirty?`My Agent · Commit profile changes before publishing to this Team`:e.setupGate.blockingCount>0?`My Agent · Complete required setup before publishing to this Team`:`My Agent · Publishes to this Team on first use`:`My Agent · Commit the profile before publishing to this Team`}function VE(e){return typeof e==`string`?e.trim().toLowerCase().replace(/[^a-z0-9]+/g,``):``}var HE=5;function UE(e){return(0,J.useCallback)(async t=>{if(!e.connection||!e.teamId)throw Error(`Connect OpenPond to a Team before publishing an agent.`);let n=await Z.profileCheck(e.connection,{kind:`all`}),r=LE(n,t);if(r)throw Error(r);let i=n?.agents.find(e=>e.id===t);if(!i)throw Error(`Profile agent not found: ${t}`);let a=(await Z.profilePush(e.connection,{teamId:e.teamId,ensureHosted:!0,hostedSourceAgentId:t,message:null})).localProfile?.hosted?.hostedSourceMaterialization,o=a?.agentId===t?a.runtimeAgentId:null;e.applyBootstrapPayload(await Z.bootstrap(e.connection));let s=null;for(let t=0;t<HE&&(s=RE((await e.refreshDirectory()).agents,{runtimeAgentId:o,profileName:n.activeProfile,agentName:i.name}),!s);t+=1)t<4&&await WE(200*(t+1));if(!s)throw Error(`${i.name} was published, but the Team agent directory has not refreshed yet. Retry the mention in a moment.`);return s},[e.applyBootstrapPayload,e.connection,e.refreshDirectory,e.teamId])}function WE(e){return new Promise(t=>{setTimeout(t,e)})}function GE(e){let t=(0,J.useRef)(e.scope);t.current=e.scope,(0,J.useEffect)(()=>{if(!e.notification)return;let{eventId:n,threadId:r,title:i,body:a}=e.notification,o=e.scope,s=()=>t.current===o;e.showToast(i,`info`,{title:`New message`,detail:a,kind:`team`,dedupeKey:`team:${o}:${n}`,actionLabel:`Open thread`,onAction:async()=>!await Op({kind:`view`,view:`team`},`push`,s)||!s()||(await e.selectThread(r),!s())?!1:(e.setView(`team`),!0)}),e.dismiss(n)},[e.scope,e.dismiss,e.notification,e.selectThread,e.setView,e.showToast])}function KE(e){let{connection:t,refreshToken:n=null}=e,[r,i]=(0,J.useState)([]),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(null),[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(!1),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(null),[y,b]=(0,J.useState)(null),[x,S]=(0,J.useState)(null),[C,w]=(0,J.useState)(0),T=(0,J.useRef)(0),E=(0,J.useMemo)(()=>r.find(e=>e.id===s)??null,[r,s]),D=(0,J.useCallback)(async()=>{if(!t)return!1;f(!0),v(null);try{let e=await Z.communities(t);return i(e.items),o(e.nextCursor),c(t=>t&&e.items.some(e=>e.id===t)?t:null),!0}catch(e){return v(JE(e)),!1}finally{f(!1)}},[t]),ee=(0,J.useCallback)(async()=>{if(!t||!a||d)return!1;f(!0),v(null);try{let e=await Z.communities(t,a);return i(t=>qE(t,e.items)),o(e.nextCursor),!0}catch(e){return v(JE(e)),!1}finally{f(!1)}},[t,d,a]),O=(0,J.useCallback)(async e=>{if(!t)return null;let n=++T.current;m(!0),b(null);try{let r=await Z.communityPreview(t,e.slug);return T.current===n&&u(r),r}catch(e){return T.current===n&&b(JE(e)),null}finally{T.current===n&&m(!1)}},[t]),k=(0,J.useCallback)(e=>{let t=r.find(t=>t.id===e);t&&(c(t.id),u(e=>e?.id===t.id?e:null),S(null),O(t))},[r,O]),A=(0,J.useCallback)(()=>{T.current+=1,c(null),u(null),b(null),S(null)},[]);(0,J.useEffect)(()=>{t?D():(i([]),u(null),c(null))},[t,D,n]),(0,J.useEffect)(()=>{E&&l?.id!==E.id&&!p&&O(E)},[O,l?.id,p,E]);let j=(0,J.useCallback)(async()=>{let e=E;await D(),e&&await O(e)},[O,D,E]);return{items:r,nextCursor:a,selectedCommunityId:s,selectedSummary:E,preview:l,discoveryLoading:d,previewLoading:p,membershipBusy:h,discoveryError:_,previewError:y,membershipError:x,membershipVersion:C,refresh:D,loadMore:ee,showDiscovery:A,selectCommunity:k,join:(0,J.useCallback)(async()=>{if(!t||!l?.currentRules||h)return!1;g(!0),S(null);try{return await Z.joinCommunity(t,l.id,l.currentRules.id),w(e=>e+1),await j(),!0}catch(e){let t=YE(e);return S(t),t.kind===`rules_stale`&&await j(),!1}finally{g(!1)}},[t,h,l,j]),acceptRules:(0,J.useCallback)(async()=>{if(!t||!l?.currentRules||h)return!1;g(!0),S(null);try{return await Z.acceptCommunityRules(t,l.id,l.currentRules.id),w(e=>e+1),await j(),!0}catch(e){let t=YE(e);return S(t),t.kind===`rules_stale`&&await j(),!1}finally{g(!1)}},[t,h,l,j]),leave:(0,J.useCallback)(async()=>{if(!t||!l||h)return!1;g(!0),S(null);try{return await Z.leaveCommunity(t,l.id),w(e=>e+1),await j(),!0}catch(e){return S(YE(e)),!1}finally{g(!1)}},[t,h,l,j]),updateNotifications:(0,J.useCallback)(async e=>{if(!t||!l||h)return!1;g(!0),S(null);try{return await Z.updateCommunityNotifications(t,l.id,e),i(t=>t.map(t=>t.id===l.id&&t.membership?{...t,membership:{...t.membership,notificationMode:e}}:t)),u(t=>t?.id===l.id&&t.membership?{...t,membership:{...t.membership,notificationMode:e}}:t),!0}catch(e){return S(YE(e)),!1}finally{g(!1)}},[t,h,l]),clearMembershipError:()=>S(null)}}function qE(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()]}function JE(e){return e instanceof Error?e.message:String(e)}function YE(e){let t=JE(e);return t.includes(`community_rules_version_stale`)?{kind:`rules_stale`,message:`The community rules changed. Review the newest version and try again.`}:t.includes(`community_membership_required`)?{kind:`membership_lost`,message:`Your community membership is no longer active.`}:t.includes(`community_join_closed`)||t.includes(`community_invalid_request`)?{kind:`join_conflict`,message:`The community could not be joined in its current state.`}:{kind:`unknown`,message:t}}function XE(e,t,n){return PT({realtimeUrl:e.session.realtimeUrl,httpUrl:e.session.httpUrl,authorizationToken:e.session.token,channels:[e.session.channel],onEvent:t=>{let n=da.safeParse(t);n.success&&e.onEvent(n.data)},onReady:e.onReady,onError:e.onError},t,n)}function ZE(e){let{connection:t,preview:n,currentUserId:r,membershipVersion:i}=e,a=n?.id??null,o=n?.membership?.status===`active`,s=!n?.capabilities.requiresRulesAcceptance,[c,l]=(0,J.useState)([]),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)({}),[m,h]=(0,J.useState)([]),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(!1),[b,x]=(0,J.useState)(!1),[S,C]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),[E,D]=(0,J.useState)(null),[ee,O]=(0,J.useState)(null),[k,A]=(0,J.useState)(null),[j,te]=(0,J.useState)(!1),[M,N]=(0,J.useState)(null),[ne,P]=(0,J.useState)(null),re=(0,J.useRef)(null),F=(0,J.useRef)([]),ie=(0,J.useRef)(`mentions`),I=(0,J.useRef)(0),L=(0,J.useRef)({}),R=(0,J.useRef)(new Set),z=(0,J.useMemo)(()=>c.find(e=>e.id===u)??null,[c,u]),B=u?f[u]??null:null;(0,J.useEffect)(()=>{re.current=u},[u]),(0,J.useEffect)(()=>{F.current=c},[c]),(0,J.useEffect)(()=>{ie.current=n?.membership?.notificationMode??`mentions`},[n?.membership?.notificationMode]);let ae=(0,J.useCallback)(async()=>{if(!t||!a)return!1;_(!0),T(null);try{let e=await Z.communityChannels(t,a);return l(e.channels),d(t=>t&&e.channels.some(e=>e.id===t)?t:e.channels.find(e=>e.isDefault)?.id??e.channels[0]?.id??null),te(!1),!0}catch(e){let t=nD(e);return T(t),tD(t)&&te(!0),!1}finally{_(!1)}},[a,t]),V=(0,J.useCallback)(async e=>{if(!t||!a)return!1;let n=++I.current;y(!0),D(null);try{let r=await Z.communityMessages(t,a,e,{limit:50});return n===I.current&&(p(t=>({...t,[e]:{items:r.messages,hasMoreBefore:r.hasMoreBefore,preview:r.preview}})),te(!1),!0)}catch(e){if(n!==I.current)return!1;let t=nD(e);return D(t),tD(t)&&te(!0),!1}finally{n===I.current&&y(!1)}},[a,t]);(0,J.useEffect)(()=>{l(n?.channels??[]),p({}),d(n?.channels.find(e=>e.isDefault)?.id??n?.channels[0]?.id??null),T(null),D(null),O(null),te(!1),R.current.clear(),a&&ae()},[a,ae,i]),(0,J.useEffect)(()=>{u&&V(u)},[V,u]);let H=(0,J.useCallback)(async(e,n)=>{if(!t||!a||!o||!s||n<=0)return!1;if((L.current[e]??0)>=n)return!0;L.current[e]=n;try{let r=await Z.markCommunityRead(t,a,e,n);return l(t=>t.map(t=>t.id===e?{...t,unreadCount:0,readState:t.readState?{...t.readState,lastReadSequence:r.sequence,lastReadAt:new Date().toISOString()}:{lastReadSequence:r.sequence,lastReadAt:new Date().toISOString(),mutedAt:null,pinnedAt:null}}:t)),!0}catch(e){return tD(nD(e))&&te(!0),!1}},[a,t,o,s]);(0,J.useEffect)(()=>{let e=B?.items.at(-1)?.sequence??0;u&&e>0&&H(u,e)},[H,u,B?.items]);let U=(0,J.useCallback)(e=>{if(e.communityId!==a||R.current.has(e.id))return;R.current.add(e.id);let t=la.safeParse(e.payload.message);if(t.success&&e.type!==`read.updated`){let n=t.data;if(p(t=>{let r=t[e.channelId];if(!r)return t;let i=r.items.some(e=>e.id===n.id)?r.items.map(e=>e.id===n.id?n:e):[...r.items,n].sort((e,t)=>e.sequence-t.sequence);return{...t,[e.channelId]:{...r,items:i}}}),l(t=>t.map(t=>t.id===e.channelId?{...t,lastMessageSequence:Math.max(t.lastMessageSequence,n.sequence),unreadCount:re.current===e.channelId||n.authorUserId===r?0:Math.max(t.unreadCount+ +(e.type===`message.created`),0)}:t)),e.type===`message.created`&&n.authorUserId!==r){let t=F.current.find(t=>t.id===e.channelId),i=$E(n).includes(r??``),a=ie.current;!t?.readState?.mutedAt&&(a===`all`||a===`mentions`&&i)&&P({communityId:e.communityId,channelId:e.channelId,message:n})}re.current===e.channelId&&H(e.channelId,n.sequence)}else e.type===`read.updated`&&e.payload.userId===r&&ae()},[a,r,ae,H]);(0,J.useEffect)(()=>{if(!t||!a||!o||!s)return;let e=!1,n=null;return O(null),Promise.all([Z.communityRealtimeSession(t,a),Z.communityEvents(t,a)]).then(async([r,i])=>{if(e)return;let o=async()=>{let n=i.cursor;for(;;){let r=await Z.communityEvents(t,a,{after:n,limit:200});if(e)return;for(let e of r.events)U(e);if(n=r.cursor,!r.hasMore)return}},s=XE({session:r,onEvent:U,onReady:()=>{O(null),o().catch(e=>O(nD(e)))},onError:e=>O(nD(e))});n=()=>s.close(),await o()}).catch(t=>{if(!e){let e=nD(t);O(e),tD(e)&&te(!0)}}),()=>{e=!0,n?.()}},[U,a,t,o,i,s]);let oe=(0,J.useCallback)(async()=>{if(!t||!a||!u||b)return!1;let e=f[u],n=e?.items[0]?.sequence;if(!e?.hasMoreBefore||n==null)return!1;x(!0),D(null);try{let r=await Z.communityMessages(t,a,u,{beforeSequence:n,limit:50});return p(t=>{let n=t[u]??e,i=new Set(n.items.map(e=>e.id));return{...t,[u]:{...n,items:[...r.messages.filter(e=>!i.has(e.id)),...n.items],hasMoreBefore:r.hasMoreBefore}}}),!0}catch(e){return D(nD(e)),!1}finally{x(!1)}},[a,t,f,b,u]),W=(0,J.useCallback)(async e=>{if(!t||!a||!u||S)return!1;C(!0),A(null),N(null);try{let n=await Promise.all(e.attachments.map(e=>Z.uploadCommunityAttachment(t,a,u,e))),r=await Z.sendCommunityMessage(t,a,u,{body:e.body,clientRequestId:e.clientRequestId,mentionUserIds:e.mentionUserIds,attachmentIds:n.map(e=>e.id),replyToMessageId:e.replyToMessageId});return p(e=>{let t=e[u]??{items:[],hasMoreBefore:!1,preview:!1};return t.items.some(e=>e.id===r.id)?e:{...e,[u]:{...t,items:[...t.items,r]}}}),await H(u,r.sequence),!0}catch(t){let n=nD(t);return A(n),N({...e,message:n}),tD(n)&&te(!0),!1}finally{C(!1)}},[a,t,H,u,S]),G=(0,J.useCallback)(e=>W({body:e.body,clientRequestId:crypto.randomUUID(),mentionUserIds:e.mentionUserIds??[],attachments:e.attachments??[],replyToMessageId:e.replyToMessageId??null}),[W]),se=(0,J.useCallback)(async(e,n)=>{if(!t||!a||!u)return!1;A(null);try{let r=await Z.editCommunityMessage(t,a,u,e,n);return QE(p,u,r),!0}catch(e){return A(nD(e)),!1}},[a,t,u]),ce=(0,J.useCallback)(async e=>{if(!t||!a||!u)return!1;A(null);try{let n=await Z.deleteCommunityMessage(t,a,u,e);return QE(p,u,n),!0}catch(e){return A(nD(e)),!1}},[a,t,u]),le=(0,J.useCallback)(async(e,n)=>{if(!t||!a)return!1;A(null);try{let r=await Z.setCommunityChannelMuted(t,a,e,n);return l(t=>t.map(t=>t.id===e&&t.readState?{...t,readState:{...t.readState,mutedAt:r.mutedAt}}:t)),!0}catch(e){return A(nD(e)),!1}},[a,t]),ue=(0,J.useCallback)(async(e=``)=>{if(!t||!a||!o)return[];try{let n=await Z.searchCommunityMembers(t,a,{query:e,limit:50});return h(e=>eD(e,n.items)),n.items}catch(e){return A(nD(e)),[]}},[a,t,o]);(0,J.useEffect)(()=>{o&&s?ue():h([])},[o,s,ue]);let de=(0,J.useCallback)(async e=>{if(!t||!a||!u)return!1;try{let n=await Z.communityAttachmentDownload(t,a,u,e);return window.open(n.url,`_blank`,`noopener,noreferrer`),!0}catch(e){return A(nD(e)),!1}},[a,t,u]),fe=(0,J.useCallback)(()=>u?V(u):Promise.resolve(!1),[V,u]),pe=(0,J.useCallback)(()=>M?W(M):Promise.resolve(!1),[M,W]),me=(0,J.useCallback)(()=>N(null),[]),he=(0,J.useCallback)(()=>P(null),[]);return{channels:c,selectedChannelId:u,selectedChannel:z,messages:B?.items??[],hasMoreBefore:B?.hasMoreBefore??!1,previewMode:B?.preview??!o,members:m,channelsLoading:g,messagesLoading:v,olderMessagesLoading:b,sending:S,channelsError:w,messagesError:E,realtimeError:ee,actionError:k,lostMembership:j,failedSend:M,incomingNotification:ne,selectChannel:d,loadChannels:ae,loadMessages:fe,loadOlder:oe,sendMessage:G,retrySend:pe,dismissFailedSend:me,editMessage:se,deleteMessage:ce,setMuted:le,searchMembers:ue,downloadAttachment:de,dismissIncomingNotification:he}}function QE(e,t,n){e(e=>{let r=e[t];return r?{...e,[t]:{...r,items:r.items.map(e=>e.id===n.id?n:e)}}:e})}function $E(e){let t=e.metadata.mentionUserIds;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function eD(e,t){let n=new Map(e.map(e=>[e.userId,e]));for(let e of t)n.set(e.userId,e);return[...n.values()].slice(-200)}function tD(e){return e.includes(`community_membership_required`)||e.includes(`community_rules`)}function nD(e){return e instanceof Error?e.message:String(e)}function rD(e){let t=KE({connection:e.connection,refreshToken:e.refreshToken}),n=ZE({connection:e.connection,preview:t.preview,currentUserId:e.currentUserId,membershipVersion:t.membershipVersion}),r=n.incomingNotification,i=t.items,a=n.channels,o=t.selectCommunity,s=n.selectChannel,c=n.dismissIncomingNotification,{setView:l,showToast:u}=e,d=(0,J.useCallback)(()=>{t.showDiscovery(),l(`community`)},[t.showDiscovery,l]),f=(0,J.useCallback)(e=>{t.selectCommunity(e),l(`community`)},[t.selectCommunity,l]),p=(0,J.useCallback)(e=>{n.selectChannel(e),l(`community`)},[n.selectChannel,l]);return(0,J.useEffect)(()=>{if(!r)return;let e=i.find(e=>e.id===r.communityId),t=a.find(e=>e.id===r.channelId);u(`${e?.displayName??`Community`} · #${t?.displayName??`channel`}: ${r.message.body.slice(0,120)||`New message`}`,`info`,{actionLabel:`View`,onAction:()=>{o(r.communityId),s(r.channelId),l(`community`)}}),c()},[a,i,c,r,s,o,l,u]),{communities:t,chat:n,sidebar:{communityItems:t.items,communityChannels:n.channels,communityLoading:t.discoveryLoading,communityError:t.discoveryError,selectedCommunityId:t.selectedCommunityId,selectedCommunityChannelId:n.selectedChannelId,discoverCommunities:d,selectCommunity:f,selectCommunityChannel:p},view:{communities:t,chat:n,currentUserId:e.currentUserId}}}var iD=[];function aD(e){let t=(0,J.useCallback)(t=>gv(e,t),[e]),n=(0,J.useCallback)(()=>mv(e)??iD,[e]);return(0,J.useSyncExternalStore)(t,n,n)}function oD(e){let[t,n]=(0,J.useState)(()=>ii());return(0,J.useEffect)(()=>{let t=!0;return e?(Z.connectedAppStatus(e,{status:`all`}).then(e=>{t&&n(e.apps)}).catch(e=>{console.warn(`Unable to load connected app mention status.`,e),t&&n(ii())}),()=>{t=!1}):(n(ii()),()=>{t=!1})},[e]),t}function sD(){let{composerDraftStore:e,dispatch:t,setters:n,state:r}=Dw(),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)([]),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)([]),[m,h]=(0,J.useState)(null),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(Sv),[b,x]=(0,J.useState)({}),[S,C]=(0,J.useState)(()=>new Set),w=(0,J.useCallback)((e,t)=>{C(n=>{if(n.has(e)===t)return n;let r=new Set(n);return t?r.add(e):r.delete(e),r})},[]),[T,E]=(0,J.useState)(0),[D,ee]=(0,J.useState)(null),O=(0,J.useRef)(null),{confirmProjectAction:k,projectConfirmDialog:A,resolveProjectConfirmDialog:j}=Xg(),{query:te,searchOpen:M,archivedChatsOpen:N,sectionMenuOpen:ne,projectsExpanded:P,cloudProjectsExpanded:re,chatRowsVisibleCount:F,sidebarOpen:ie,view:I,selectedAppId:L,selectedProjectId:R,selectedSessionId:z,draftProvider:B,draftModel:ae,draftExperience:V,codexPermissionMode:H,codexReasoningEffort:U,openPondCommandAccessMode:oe,busy:W,diffPanelOpen:G,diffPanelExpanded:se,rightPanelMode:ce,rightChatPanels:le,terminalOpen:ue,settingsSection:de,newProjectDialogOpen:fe,newProjectMode:pe,newProjectName:me,newProjectPath:he,newProjectBusy:ge,commitDialogOpen:_e,commitMessage:ve,commitIncludeUnstaged:ye,commitNextStep:be,commitDraft:xe,branchDialogOpen:Se,branchDialogName:Ce,toasts:we,error:Te}=r,Ee=Mw(I===`labs`),{setQuery:De,setSearchOpen:Oe,setArchivedChatsOpen:ke,setSectionMenuOpen:Ae,setProjectsExpanded:je,setCloudProjectsExpanded:Me,setChatRowsVisibleCount:Ne,setSidebarOpen:K,setView:Pe,setSelectedAppId:Fe,setSelectedProjectId:Ie,setSelectedSessionId:Le,setPrompt:Re,setDraftProvider:ze,setDraftModel:Be,setDraftExperience:Ve,setCodexPermissionMode:He,setCodexReasoningEffort:Ue,setOpenPondCommandAccessMode:We,setDiffPanelOpen:Ge,setDiffPanelExpanded:Ke,setRightPanelMode:qe,setRightChatPanels:Je,setTerminalOpen:Ye,setSyncingWorkspaceAppId:Xe,setSettingsSection:Ze,setNewProjectDialogOpen:Qe,setNewProjectMode:$e,setNewProjectName:et,setNewProjectPath:tt,setNewProjectBusy:nt,setCommitDialogOpen:rt,setCommitMessage:it,setCommitIncludeUnstaged:at,setCommitNextStep:ot,setCommitDraft:st,setBranchDialogOpen:ct,setBranchDialogName:lt,setError:ut}=n,{connectionRef:dt,setError:ft,showToast:pt}=cw({appDispatch:t,error:Te,setErrorState:ut}),{appPreferences:mt,applyBootstrapPayload:ht,applyPreferencesPayload:gt,bootstrap:_t,codexHistorySessions:vt,connection:yt,events:bt,runtimeEventStore:xt,notificationAfterSequence:St,approvals:Ct,sessions:wt,startup:Tt,setAppPreferences:Et,setBootstrap:Dt,setCodexHistorySessions:Ot,setEvents:kt,setSessions:At}=aw({selectedSessionId:z,setDraftModel:Be,setDraftProvider:ze,setCodexPermissionMode:He,setCodexReasoningEffort:Ue,setOpenPondCommandAccessMode:We,setError:ft,setSelectedAppId:Fe,setSelectedProjectId:Ie,setSelectedSessionId:Le});dt.current=yt,oy(yt,pt,t),(0,J.useEffect)(()=>{_t&&p(_t.sidebarFileBookmarks??[])},[_t?.sidebarFileBookmarks]);let jt=(0,J.useMemo)(()=>[...bt].reverse().find(e=>e.name===`tool.completed`&&e.action===`manage_sidebar_file`)??null,[bt]),Mt=(0,J.useRef)(null);(0,J.useEffect)(()=>{yt&&jt&&Mt.current!==jt.id&&(Mt.current=jt.id,Z.sidebarFiles(yt).then(e=>p(e.items)).catch(e=>ft(e instanceof Error?e.message:String(e))))},[yt,jt,ft]);let Nt=(0,J.useCallback)(async(e,t)=>{if(!yt)return;let n=f;p(n=>t===`none`?n.filter(t=>t.id!==e.id):n.some(t=>t.id===e.id)?n.map(n=>n.id===e.id?{...n,status:t}:n):[...n,{...e,status:t}]);try{let n=await Z.patchSidebarFile(yt,{workspaceKind:e.workspaceKind,workspaceId:e.workspaceId,workspaceName:e.workspaceName,path:e.path,status:t,sourceSessionId:e.sourceSessionId});p(n.items)}catch(e){p(n),ft(e instanceof Error?e.message:String(e))}},[yt,ft,f]),Pt=oD(yt),Ft=_t?.profile?.activeProfile??`default`,It=sC(_t?yt:null,Ft),Lt=Vw({connection:_t?yt:null,profileId:Ft,enabled:I===`labs`||!!(z&&It.data?.creationSessionIds.includes(z))}),{projectsCollapsed:Rt,cloudProjectsCollapsed:zt,chatsCollapsed:Bt,savedForLaterCollapsed:Vt,sidebarWidth:Ht,sidebarResizing:Ut,diffPanelWidth:Wt,diffPanelResizing:Gt,toggleProjectsCollapsed:Kt,toggleCloudProjectsCollapsed:qt,toggleChatsCollapsed:Jt,toggleSavedForLaterCollapsed:Xt,startSidebarResize:Zt,startDiffPanelResize:Qt}=jw({connection:yt,preferences:_t?.preferences,sidebarOpen:ie,diffPanelExpanded:se,setBootstrap:Dt,setError:ft}),{cloudProjectById:$t,linkedProjectByAppId:en,localProjectById:tn,mentionableSandboxApps:nn,selectedApp:rn,selectedCloudProject:an,selectedProject:on,selectedProjectLinkedApp:sn,selectedProjectLinkedOpenPondApp:cn,selectedSession:ln,selectedSessionLinkedProject:un,sidebarSessions:dn}=Kv({bootstrap:_t,codexHistorySessions:vt,selectedAppId:L,selectedProjectId:R,selectedSessionId:z,sessions:wt}),fn=vv(ln?.experience??V),pn=oT(bt,Ct),{chatMentionApps:mn,connectedAppMentions:hn,pendingApproval:gn}=sy({bootstrap:_t,connectedAppRows:Pt,mentionableSandboxApps:nn,runtimeIndexes:pn,selectedApp:rn,selectedCloudProject:an,selectedProject:on,selectedSession:ln,selectedSessionId:z}),{codexHistoryEvents:_n,setCodexHistoryEvents:q}=Hy({connection:yt,selectedSessionId:z,selectedSessionLocallyActive:!!(z&&S.has(z)),selectedSessionStatus:ln?.status,setCodexHistorySessions:Ot,setError:ft}),{account:vn,accountPending:yn,accountSignedOut:bn,activeModel:xn,activeProvider:Sn,activeWorkspaceAppId:Cn,activeWorkspaceId:wn,activeWorkspaceKind:Tn,activeWorkspaceLocation:En,appDefaults:Dn,cloudLinked:On,selectedCodexHistoryPending:kn,selectedSessionProjectId:An,startMessage:jn,workspaceName:Mn}=Hv({bootstrap:_t,draftModel:ae,draftProvider:B,selectedApp:rn,selectedAppId:L,selectedCloudProject:an,selectedProject:on,selectedSession:ln,selectedSessionId:z,selectedSessionLinkedProject:un}),Nn=(0,J.useMemo)(()=>Iv(_t?.account??null),[_t?.account]),Pn=aD((0,J.useMemo)(()=>pv(_t?.account??null),[_t?.account])),Fn=(0,J.useMemo)(()=>Sr(Pn,Dn.defaultTeamId),[Dn.defaultTeamId,Pn]),In=Fn?.teamId??null,Ln=jE({connection:yt,accountScopeKey:Nn,teamId:In,currentUserId:vn?.profile?.id??null,refreshToken:_t?.accountMeta.asOf??null}),Rn=UE({connection:yt,teamId:In,applyBootstrapPayload:ht,refreshDirectory:Ln.refreshDirectory});GE({scope:JSON.stringify([Qn(yt),_t?.server.id,Nn,In]),notification:Ln.incomingNotification,dismiss:Ln.dismissIncomingNotification,selectThread:Ln.selectThread,setView:Pe,showToast:pt});let{communities:zn,sidebar:Bn,view:Vn}=rD({connection:yt,currentUserId:vn?.profile?.id??null,refreshToken:_t?.accountMeta.asOf??null,setView:Pe,showToast:pt}),Hn=Ln.aiThread?.conversationId??null,Un=I===`team`&&!!Hn&&G&&ce===`chat`;(0,J.useEffect)(()=>{I===`team`&&(Hn?(qe(`chat`),Ge(!0)):ce===`chat`&&Ge(!1))},[ce,Ge,qe,Hn,I]);let Wn=(0,J.useCallback)(()=>{Hn&&(Un?Ge(!1):(qe(`chat`),Ge(!0)))},[Ge,qe,Un,Hn]),Gn=(0,J.useMemo)(()=>$_(on,_t?.cloudProjects??[]),[_t?.cloudProjects,on]),Kn=ln?.provider===`codex`?oe:ln?.openPondCommandAccessMode??oe,qn=Cn,Jn=wn,Yn=Tn,Xn=Mn,{openPondActionCatalog:Zn,selectedActionCatalog:$n}=bT({cloudProjectById:$t,cloudProjects:_t?.cloudProjects??[],connection:yt,defaultTeamId:Dn.defaultTeamId,accountScopeKey:Nn,localProjects:_t?.localProjects??[],profile:_t?.profile,selectedCloudProject:an,selectedProject:on,reportError:ft}),{expandedProjectIds:er,expandProject:tr,toggleProjectExpanded:nr,setExpandedProjectIds:rr}=xT({selectedProjectId:R});ny({activeWorkspaceId:wn,activeWorkspaceKind:Tn,connection:yt,expandProject:tr,linkedProjectByAppId:en,providerSettings:_t?.providers??null,selectedAppId:L,selectedSession:ln,selectedSessionId:z,selectedSessionProjectId:An,setDiffPanelExpanded:Ke,setDraftModel:Be,setDraftProvider:ze,setError:ft,setSelectedAppId:Fe,setSelectedProjectId:Ie,setSessions:At,setTerminalOpen:Ye});let{changeCodexPermissionMode:ir,changeCodexReasoningEffort:ar}=cy({connection:yt,setBootstrap:Dt,setCodexPermissionMode:He,setCodexReasoningEffort:Ue,setError:ft}),{changeOpenPondCommandAccessMode:or}=GS({connection:yt,selectedSession:ln,setBootstrap:Dt,setError:ft,setOpenPondCommandAccessMode:We,setSessions:At}),sr=ry({connection:yt,setError:ft}),cr=(0,J.useCallback)(()=>{E(e=>e+1)},[]);(0,J.useEffect)(()=>{I===`chat`&&cr()},[I,z,R,L,cr]);let lr=ay({appDispatch:t,expandProject:tr,linkedProjectByAppId:en,requestComposerFocus:cr,onBeginNewChat:()=>{Op({kind:`chat`,sessionId:null}),ee(null),Ve(`work`)},setMentionedAppId:d}),ur=(0,J.useCallback)(e=>{let n=Yt(`local`,e);t({type:`selectProject`,projectId:n}),tr(n)},[t,tr]),{advanceAfterTurn:dr,begin:fr,bindSession:pr,dismiss:mr,handoff:hr,prepareTurn:gr,selectTask:_r}=eT({activeModel:xn,activeProvider:Sn,applyBootstrapPayload:ht,beginNewChat:lr,composerDraftStore:e,connection:yt,requestComposerFocus:cr,selectedLocalProjectId:on?.id??null,selectedSessionId:z,selectLocalProject:ur,setDraftModel:Be,setDraftProvider:ze,setError:ft,view:I});kw({connection:yt,events:bt,showToast:pt}),iC({searchOpen:M,sectionMenuOpen:ne,setSectionMenuOpen:Ae,setSearchOpen:Oe,setQuery:De}),(0,J.useEffect)(()=>{x({})},[_t?.server.id]);let{chatHistoryLoadStates:vr,loadMoreSelectedChatHistory:yr,selectedPagedSessionEvents:br,selectedRuntimeIndexes:xr}=iT({approvals:Ct,codexHistoryEvents:_n,connection:yt,runtimeIndexes:pn,runtimeEventStore:xt,selectedSessionId:z,serverId:_t?.server.id,setCodexHistoryEvents:q,setCodexHistorySessions:Ot,setError:ft}),{activeSessions:Cr,archivedSessions:wr,pinnedProjects:Tr,pinnedSessions:Er,savedForLaterSessions:Dr,pinnedFiles:Or,savedForLaterFiles:kr,pinnedItems:Ar,projectRows:jr,localProjectRows:Mr,visibleProjectRows:Nr,cloudProjectRows:Pr,projectSessionRowsByProjectId:Fr,childSessionRowsByParentId:Ir,sidebarProjectIdBySessionId:Lr,chatRows:Rr,visibleChatRows:zr,sessionEvents:Br,chatMessages:Vr,contextUsage:Hr,goalRuntime:Ur,subagentRuntime:Wr}=KS({localProjects:_t?.localProjects??[],cloudProjects:_t?.cloudProjects??[],teamId:Dn.defaultTeamId,sessions:dn,runtimeIndexes:xr,appPreferences:mt,selectedSessionId:z,selectedProjectId:R,archivedChatsOpen:N,projectsExpanded:P,chatRowsVisibleCount:F,sidebarFileBookmarks:f}),Gr=(0,J.useCallback)(()=>{let e=(z?Lr[z]:null)??R??(on?Yt(`local`,on.id):null)??(an?Yt(`cloud`,an.id):null);lr(null,e)},[lr,z,Lr,R,on,an]),{pendingChatUserMessages:Kr,recordPendingChatUserMessage:qr,visibleChatMessages:Jr}=WS({chatMessages:Vr,runtimeIndexes:xr,selectedSessionId:z}),Yr=(0,J.useMemo)(()=>kh({selectedAppId:L,selectedProjectId:R,selectedSessionId:z}),[L,R,z]),Xr=(0,J.useRef)(null);(0,J.useEffect)(()=>{let e=Xr.current;Xr.current=Yr,e&&e.kind===`draft`&&Yr.kind===`session`&&(Th(e,Yr)||s(t=>{let n=Ah({tabs:t,previousScope:e,activeScope:Yr});return n.some((e,n)=>e!==t[n])?n:t}))},[Yr]);let Zr=(0,J.useMemo)(()=>Nh(o),[o]),{goalRuntime:Qr,runningSessionIds:$r,selectedSessionRunning:ei,sidebarGoalRuntimeBySessionId:ti,sidebarSubagentRuntimeBySessionId:ni}=rC({codexHistoryEvents:_n,codexHistorySessions:vt,connection:yt,expandedProjectIds:er,goalRuntime:Ur,locallyActiveCodexHistorySessionIds:S,pinnedSessions:Er,savedForLaterSessions:Dr,projectSessionRowsByProjectId:Fr,rightChatHistoryEvents:b,runtimeIndexes:pn,selectedSession:ln,selectedSessionId:z,serverId:_t?.server.id,setCodexHistorySessions:Ot,setError:ft,sidebarSessions:dn,subagentRuntime:Wr,visibleChatRows:zr,visibleProjectRows:Nr}),{dragItem:ri,pinnedPreviewKeys:ii,startPinnedDrag:ai,clearSidebarDrag:oi,previewPinnedDrop:si,commitPinnedDrop:ci,commitPinnedPreviewDrop:li}=Wy({connection:yt,appPreferences:mt,sessions:dn,pinnedItems:Ar,setAppPreferences:Et,setCodexHistorySessions:Ot,setSessions:At,sidebarFileBookmarks:f,setSidebarFileBookmarks:p,setError:ft}),{clearTaskDrag:ui,commitTaskDrop:di,commitTaskPreviewDrop:fi,previewTaskDrop:pi,startTaskDrag:mi,taskDragSessionId:hi,taskPreviewSessionIds:gi}=Gy({connection:yt,sessions:dn,setCodexHistorySessions:Ot,setError:ft,setSessions:At}),{commandProjectRows:_i,contextWindowStatus:vi,pinnedRows:yi,sidebarWorkspaceAppIds:bi}=iy({activeProvider:Sn,contextCompaction:Dn.contextCompaction,contextUsage:Hr,pinnedItems:Ar,pinnedPreviewKeys:ii??[],pinnedProjects:Tr,projectRows:jr,visibleProjectRows:Nr}),xi=!(!qn||I!==`chat`&&I!==`labs`||!_e&&(!G||ce!==`changes`&&ce!==`goal`)),{workspaceStates:Si,workspaceBusy:Ci,diffBusy:wi,visibleWorkspaceState:Ti,visibleWorkspaceDiff:Ei,rememberWorkspaceState:Di,refreshWorkspace:Oi,refreshWorkspaceDiff:ki,setWorkspaceBusy:Ai}=ET({connection:yt,activeWorkspaceAppId:qn,view:I,shouldLoadWorkspaceDiff:xi,sidebarWorkspaceAppIds:bi,setError:ft});O.current=Di;let ji=(0,J.useCallback)((e=qn)=>!e||e!==qn||!xi?Promise.resolve(null):ki(e),[ki,xi,qn]),Mi=(0,J.useCallback)(async(e={})=>{qn&&xi&&await ki(qn,e)},[ki,xi,qn]),Ni=!(ln?.provider!==`codex`||!ln.cwd||tv(ln.workspaceKind)),Pi=!(!Ti||Ti.initialized||Tn===`local_project`||Sn===`codex`||Ni||kn),Fi=Tn===`local_project`&&!!on?.sandboxTemplate?.detected&&!on?.linkedOpenPondApp?.appId,[Ii,Li]=(0,J.useState)(null),[Ri,zi]=(0,J.useState)(null),{projectTarget:Bi,workspaceTarget:Vi}=Uv({accountPending:yn,accountSignedOut:bn,activeWorkspaceLocation:En,bootstrap:_t,busy:W,cloudLinked:On,selectedCloudProject:an,selectedProject:on,selectedSession:ln,pendingWorkspaceTarget:Ii,workspaceStates:Si,workspaceBusy:Ci});return(0,J.useEffect)(()=>{Li(null)},[ln?.id]),{composerDraftStore:e,appDispatch:t,pendingTerminalCommand:i,setPendingTerminalCommand:a,terminalTabs:o,setTerminalTabs:s,trainingDetailTasksetId:c,setTrainingDetailTasksetId:l,mentionedAppId:u,setMentionedAppId:d,cloudSetupDialog:m,setCloudSetupDialog:h,rightPanelTabRequest:g,setRightPanelTabRequest:_,workspaceDiffPanelViewState:v,setWorkspaceDiffPanelViewState:y,rightChatHistoryEvents:b,setRightChatHistoryEvents:x,locallyActiveCodexHistorySessionIds:S,setCodexHistoryTurnLocallyActive:w,mainComposerFocusRequestId:T,requestMainComposerFocus:cr,draftSubagentDelegationMode:D,setDraftSubagentDelegationMode:ee,confirmProjectAction:k,projectConfirmDialog:A,resolveProjectConfirmDialog:j,query:te,searchOpen:M,archivedChatsOpen:N,sectionMenuOpen:ne,projectsExpanded:P,cloudProjectsExpanded:re,sidebarOpen:ie,view:I,selectedAppId:L,selectedProjectId:R,selectedSessionId:z,draftProvider:B,draftModel:ae,draftExperience:V,activeExperience:fn,beginNewThread:Gr,codexPermissionMode:H,codexReasoningEffort:U,openPondCommandAccessMode:oe,busy:W,diffPanelOpen:G,diffPanelExpanded:se,rightPanelMode:ce,rightChatPanels:le,terminalOpen:ue,settingsSection:de,newProjectDialogOpen:fe,newProjectMode:pe,newProjectName:me,newProjectPath:he,newProjectBusy:ge,commitDialogOpen:_e,commitMessage:ve,commitIncludeUnstaged:ye,commitNextStep:be,commitDraft:xe,branchDialogOpen:Se,branchDialogName:Ce,toasts:we,error:Te,labDetailNavigation:Ee,setQuery:De,setSearchOpen:Oe,setArchivedChatsOpen:ke,setSectionMenuOpen:Ae,setProjectsExpanded:je,setCloudProjectsExpanded:Me,setChatRowsVisibleCount:Ne,setSidebarOpen:K,setView:Pe,setSelectedAppId:Fe,setSelectedProjectId:Ie,setSelectedSessionId:Le,setPrompt:Re,setDraftProvider:ze,setDraftModel:Be,setDraftExperience:Ve,setDiffPanelOpen:Ge,setDiffPanelExpanded:Ke,setRightPanelMode:qe,setRightChatPanels:Je,setTerminalOpen:Ye,setSyncingWorkspaceAppId:Xe,setSettingsSection:Ze,setNewProjectDialogOpen:Qe,setNewProjectMode:$e,setNewProjectName:et,setNewProjectPath:tt,setNewProjectBusy:nt,setCommitDialogOpen:rt,setCommitMessage:it,setCommitIncludeUnstaged:at,setCommitNextStep:ot,setCommitDraft:st,setBranchDialogOpen:ct,setBranchDialogName:lt,setError:ft,showToast:pt,appPreferences:mt,applyBootstrapPayload:ht,applyPreferencesPayload:gt,approvals:Ct,bootstrap:_t,connection:yt,events:bt,runtimeEventStore:xt,notificationAfterSequence:St,sessions:wt,startup:Tt,setAppPreferences:Et,setCodexHistorySessions:Ot,setEvents:kt,setSessions:At,training:Lt,trainingNavigation:It,projectsCollapsed:Rt,cloudProjectsCollapsed:zt,chatsCollapsed:Bt,savedForLaterCollapsed:Vt,sidebarWidth:Ht,sidebarResizing:Ut,diffPanelWidth:Wt,diffPanelResizing:Gt,toggleProjectsCollapsed:Kt,toggleCloudProjectsCollapsed:qt,toggleChatsCollapsed:Jt,toggleSavedForLaterCollapsed:Xt,startSidebarResize:Zt,startDiffPanelResize:Qt,cloudProjectById:$t,localProjectById:tn,selectedApp:rn,selectedCloudProject:an,selectedProject:on,selectedProjectLinkedApp:sn,selectedProjectLinkedOpenPondApp:cn,selectedSession:ln,sidebarSessions:dn,runtimeIndexes:pn,chatMentionApps:mn,connectedAppMentions:hn,pendingApproval:gn,codexHistoryEvents:_n,setCodexHistoryEvents:q,account:vn,accountPending:yn,accountSignedOut:bn,activeModel:xn,activeProvider:Sn,activeWorkspaceAppId:Cn,activeWorkspaceId:wn,activeWorkspaceKind:Tn,activeWorkspaceLocation:En,appDefaults:Dn,selectedSessionProjectId:An,startMessage:jn,workspaceName:Mn,accountScopeKey:Nn,organizations:Pn,teamChatOrganization:Fn,teamChatTeamId:In,teamChat:Ln,publishTeamProfileAgent:Rn,communities:zn,communitySidebar:Bn,communityView:Vn,teamAiThreadId:Hn,toggleTeamAiSidebar:Wn,selectedProjectConfirmedCloudProject:Gn,activeOpenPondCommandAccessMode:Kn,viewWorkspaceAppId:qn,viewWorkspaceId:Jn,viewWorkspaceKind:Yn,viewWorkspaceName:Xn,openPondActionCatalog:Zn,selectedActionCatalog:$n,expandedProjectIds:er,expandProject:tr,toggleProjectExpanded:nr,setExpandedProjectIds:rr,changeCodexPermissionMode:ir,changeCodexReasoningEffort:ar,changeOpenPondCommandAccessMode:or,resolveApproval:sr,beginNewChat:lr,advanceTrainingModelChatAfterTurn:dr,beginNewChatWithTrainingModel:fr,bindTrainingModelChatSession:pr,dismissTrainingChatHandoff:mr,trainingChatHandoff:hr,prepareTrainingModelChatTurn:gr,selectTrainingChatTaskForComposer:_r,chatHistoryLoadStates:vr,loadMoreSelectedChatHistory:yr,selectedPagedSessionEvents:br,activeSessions:Cr,archivedSessions:wr,pinnedSessions:Er,savedForLaterSessions:Dr,pinnedFiles:Or,savedForLaterFiles:kr,sidebarFileBookmarks:f,setSidebarFileStatus:Nt,projectRows:jr,localProjectRows:Mr,visibleProjectRows:Nr,cloudProjectRows:Pr,projectSessionRowsByProjectId:Fr,childSessionRowsByParentId:Ir,sidebarProjectIdBySessionId:Lr,chatRows:Rr,visibleChatRows:zr,chatRowsVisibleCount:F,sessionEvents:Br,chatMessages:Vr,goalRuntime:Qr,subagentRuntime:Wr,pendingChatUserMessages:Kr,recordPendingChatUserMessage:qr,visibleChatMessages:Jr,activeTerminalScope:Yr,terminalSummaries:Zr,runningSessionIds:$r,selectedSessionRunning:ei,sidebarGoalRuntimeBySessionId:ti,sidebarSubagentRuntimeBySessionId:ni,taskDragSessionId:hi,taskPreviewSessionIds:gi,startTaskDrag:mi,clearTaskDrag:ui,previewTaskDrop:pi,commitTaskDrop:di,commitTaskPreviewDrop:fi,dragItem:ri,startPinnedDrag:ai,clearSidebarDrag:oi,previewPinnedDrop:si,commitPinnedDrop:ci,commitPinnedPreviewDrop:li,commandProjectRows:_i,contextWindowStatus:vi,pinnedRows:yi,workspaceStates:Si,workspaceBusy:Ci,diffBusy:wi,visibleWorkspaceState:Ti,visibleWorkspaceDiff:Ei,rememberWorkspaceState:Di,refreshWorkspace:Oi,refreshWorkspaceDiff:ki,setWorkspaceBusy:Ai,refreshWorkspaceDiffWhenNeeded:ji,refreshVisibleWorkspaceDiff:Mi,managedWorkspace:!1,canSyncActiveWorkspace:Pi,canPublishOpenPondProject:Fi,pendingWorkspaceTarget:Ii,setPendingWorkspaceTarget:Li,pendingSidebarWorkspaceTarget:Ri,setPendingSidebarWorkspaceTarget:zi,projectTarget:Bi,workspaceTarget:Vi}}var cD=`openpond-coding-core-v1`,lD=`feature`;function uD(e){let t=new URL(`/sandboxes`,pD(e.accountBaseUrl));return t.searchParams.set(`teamId`,e.teamId),t.searchParams.set(`create`,`sandbox`),t.searchParams.set(`intent`,`cloud-coding`),t.searchParams.set(`source`,e.source),t.searchParams.set(`projectId`,e.projectId),t.searchParams.set(`workflowMode`,lD),t.searchParams.set(`runtimeProfileId`,cD),e.projectName?.trim()&&t.searchParams.set(`projectName`,e.projectName.trim()),e.baseBranch?.trim()&&t.searchParams.set(`baseBranch`,e.baseBranch.trim()),e.localProjectId?.trim()&&t.searchParams.set(`localProjectId`,e.localProjectId.trim()),t.toString()}function dD(e){let t=e.organizationSlug?.trim(),n=t?`/sandboxes/${encodeURIComponent(t)}/billing`:`/sandboxes/billing`,r=new URL(n,pD(e.accountBaseUrl));return!t&&e.teamId?.trim()&&r.searchParams.set(`teamId`,e.teamId.trim()),r.toString()}function fD(e){let t=e.organizationSlug?.trim(),n=e.projectSlug?.trim();return!t||!n?null:new URL(`/${encodeURIComponent(t)}/${encodeURIComponent(n)}`,pD(e.accountBaseUrl)).toString()}function pD(e){let t=e?.trim();if(!t)return`https://openpond.ai`;try{let e=new URL(t);return`${e.protocol}//${e.host}`}catch{return`https://openpond.ai`}}function mD({account:e,browserConversationId:t,cloudProjectById:n,cloudProjects:r,diffPanelOpen:i,rightPanelMode:a,selectedProjectId:o,setDiffPanelOpen:s,setNewProjectDialogOpen:c,setNewProjectMode:l,setNewProjectName:u,setRightPanelMode:d}){let f=(0,J.useCallback)(()=>{d(`changes`),s(!0)},[s,d]),p=(0,J.useCallback)(()=>{i&&a===`changes`?s(!1):f()},[i,a,s,f]),m=(0,J.useCallback)(()=>{d(`browser`),s(!0)},[s,d]),h=(0,J.useCallback)(()=>{d(`goal`),s(!0)},[s,d]),g=(0,J.useCallback)((e,n)=>{Xn({conversationId:t,href:e,explicitFile:n?.explicitFile,newTab:n?.newTab}).then(e=>{e&&m()})},[t,m]),_=(0,J.useCallback)(()=>{l(`cloud`),u(``),c(!0)},[c,l,u]),v=(0,J.useCallback)(t=>{let r=n.get(t);r&&g(uD({accountBaseUrl:e?.baseUrl??e?.activeProfile?.baseUrl??null,teamId:r.teamId,projectId:r.id,projectName:r.name,baseBranch:r.defaultBranch,source:`openpond-app`}),{newTab:!0})},[e,n,g]);return{createCloudEnvironmentFromSidebar:(0,J.useCallback)(()=>{let e=o?.startsWith(`cloud:`)?o.slice(6):r[0]?.id??null;e?v(e):_()},[r,_,o,v]),openCloudProjectDialog:_,openUrlInBrowserPanel:g,showBrowserPanel:m,showChangesPanel:f,showGoalSidebarTab:h,toggleChangesPanel:p}}function hD(e){let t=e.requestConversationId.trim();return t?t===e.currentConversationId?{reveal:!0,sessionIdToOpen:null}:new Set(e.sessionIds).has(t)?{reveal:!0,sessionIdToOpen:t}:{reveal:!1,sessionIdToOpen:null}:{reveal:!1,sessionIdToOpen:null}}function gD({browserConversationId:e,sessionIds:t,onOpenSession:n,onShowBrowserPanel:r}){(0,J.useEffect)(()=>window.openpond?.browser?.onRevealRequest?.(i=>{let a=hD({currentConversationId:e,requestConversationId:i.conversationId,sessionIds:t});a.reveal&&(a.sessionIdToOpen&&n(a.sessionIdToOpen),r())}),[e,n,r,t])}function _D(e){let t=bD(e.organizations,e.defaultTeamId),n=Dr(t),r=e.localProject??null;if(!r)return yD(`Open a local project to set up an Agent.`);let i=xD(r,e.projects),a=SD(r,i,e.agents),o=!!r.sandboxTemplate?.detected,s=t&&!n?`Ask an owner or admin to connect this project.`:null;return o?i?CD(r,i)?vD({state:`needs_sync`,actionLabel:`Sync Project`,project:i,agent:a,canManage:n,actionBlockedReason:s}):a?{state:`ready`,actionLabel:`Run Agent`,canAct:!0,reason:null,project:i,agent:a}:vD({state:`needs_agent`,actionLabel:`Create Agent`,project:i,agent:null,canManage:n,actionBlockedReason:s}):vD({state:`needs_project`,actionLabel:`Connect Project`,project:null,agent:null,canManage:n,actionBlockedReason:s}):vD({state:`missing_config`,actionLabel:`Add Agent config`,project:i,agent:a,canManage:n,actionBlockedReason:s})}function vD(e){return e.canManage?{state:e.state,actionLabel:e.actionLabel,canAct:!0,reason:null,project:e.project,agent:e.agent}:{state:`blocked`,actionLabel:`Ask admin`,canAct:!1,reason:e.actionBlockedReason,project:e.project,agent:e.agent}}function yD(e){return{state:`blocked`,actionLabel:`Ask admin`,canAct:!1,reason:e,project:null,agent:null}}function bD(e,t){if(e.length===0)return null;let n=t?.trim()??``;if(n){let t=e.find(e=>e.teamId===n);if(t)return t}return e.length===1?e[0]??null:e.find(e=>e.role===`owner`)??e.find(e=>e.role===`admin`)??e[0]??null}function xD(e,t){let n=e.linkedSandboxProject;return n?.projectId?t.find(e=>e.id===n.projectId)??null:null}function SD(e,t,n){if(!t)return null;let r=e.preferredSandboxAgentId;if(r){let e=n.find(e=>e.id===r&&e.projectId===t.id);if(e)return e}return n.find(e=>e.projectId===t.id)??null}function CD(e,t){if(t.sandboxManifestError||!t.sandboxManifestSyncedAt||!t.sandboxManifestHash)return!0;if(e.sandboxTemplate?.manifestHash&&t.sandboxManifestHash)return e.sandboxTemplate.manifestHash!==t.sandboxManifestHash;if(e.linkedSandboxProject?.manifestHash&&t.sandboxManifestHash)return e.linkedSandboxProject.manifestHash!==t.sandboxManifestHash;let n=e.sandboxTemplate?.manifestPath;return n&&t.sandboxManifestPath?!n.endsWith(t.sandboxManifestPath):!1}var wD=e=>e.slice(0,2e4);function TD({model:e,provider:t,providerSettings:n}){return{model:en(t,e,n),modelRef:fn(t,e,n)}}function ED(e,t){return e.some(e=>e.id===t.id)?e:[...e,t]}function DD(e,t){let n=new Date().toISOString(),r=`codex_history_optimistic_${n}_${Math.random().toString(36).slice(2,8)}`;return{id:r,sessionId:e,turnId:`${r}_turn`,name:`turn.started`,timestamp:n,source:`chat_action`,args:{prompt:t},status:`started`}}function OD(e,t){return{id:`${e.id}_failed`,sessionId:e.sessionId,turnId:e.turnId,name:`turn.failed`,timestamp:new Date().toISOString(),source:`server`,status:`failed`,error:t instanceof Error?t.message:String(t)}}function kD({action:e,prompt:t,runPayload:n,sessionId:r}){let i=new Date().toISOString(),a=`openpond_action_${n.run.id}`,o=n.run.status===`failed`?`failed`:n.run.status===`succeeded`?`completed`:`started`;return[{id:`${a}_user`,sessionId:r,turnId:a,name:`turn.started`,timestamp:i,source:`chat_action`,args:{prompt:t}},{id:`${a}_result`,sessionId:r,turnId:a,name:`workspace_action_result`,timestamp:n.run.updatedAt??i,source:`chat_action`,action:`sandbox_run_action`,appId:null,status:o,output:o===`completed`?`Ran ${e.label??e.name??e.id}`:`Started ${e.label??e.name??e.id}`,data:{openPondActionRun:!0,action:{name:e.id,label:e.label??e.name??e.id,implementation:e.implementation},agent:n.agent,run:n.run,sandbox:n.sandbox??null,actionSummary:n.run.actionSummary??null,responseSummary:n.run.responseSummary??null,traceSummary:n.run.traceSummary??null,evalSummary:n.run.evalSummary??null,sourceSummary:n.run.sourceSummary??null}}]}function AD({applyBootstrapPayload:e,connection:t,codexPermissionMode:n,codexReasoningEffort:r,openPondCommandAccessMode:i,draftModel:a,draftProvider:o,experience:s,expandProject:c,ensureCloudSessionReady:l,getPrompt:u,bootstrap:d,chatMessages:f,apps:p,connectedAppMentions:m,mentionedAppId:h,refreshWorkspace:g,refreshWorkspaceDiff:_,selectedApp:v,selectedActionCatalog:y,openPondActionCatalog:b,cloudProjects:x,accountScopeKey:S,selectedCloudProject:C,selectedProject:w,selectedProjectLinkedOpenPondApp:T,selectedSession:E,workspaceTarget:D,subagentDelegationMode:ee,setDraftModel:O,setDraftProvider:k,setError:A,setPrompt:j,setMentionedAppId:te,setCodexHistoryEvents:M,setCodexHistorySessions:N,onCodexHistoryTurnActivityChange:ne,onCodexHistoryTurnPayload:P,onPendingUserMessage:re,setEvents:F,setSelectedAppId:ie,setSelectedProjectId:I,setSelectedSessionId:L,setSessions:R,setView:z,setWorkspaceBusy:B}){function ae(t){Z.bootstrap(t).then(e).catch(e=>{console.warn(`[chat] Message was accepted, but the post-send bootstrap refresh failed.`,e),A(`Message sent, but the chat list could not refresh: ${e instanceof Error?e.message:String(e)}`)})}let V=(0,J.useRef)(new Set),H=d?.providers??null;function U(e,t){return e===`codex`?void 0:t}function oe(e){return!!(e&&e.provider!==`codex`&&(e.workspaceKind===`local_project`&&e.cwd?.trim()||(e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`)&&e.workspaceId))}function W(e,t){let n=t??Sn(e,H);wn(e,n),k(e),O(n),z(`chat`)}async function G(e,n){return(SC(n,S)??await wC({teamId:n,accountKey:S,fetchAgents:async e=>(await Z.listSandboxAgents(t,{teamId:e})).agents})).find(t=>t.projectId===e)??null}async function se(){if(!t)throw Error(`OpenPond App server is not connected.`);if(d?.account.state!==`signed_in`)throw Error(`Add an OpenPond account before syncing a Project to Cloud.`);let e=bD((await Z.organizations(t)).organizations.map(Tr).filter(e=>!!e).filter(e=>e.status===`active`),d?.preferences.defaultTeamId??null);if(!e)throw Error(`Add an OpenPond account before syncing a Project to Cloud.`);if(!Dr(e))throw Error(`You need owner or admin access to create projects in ${e.displayName}.`);return e}async function ce(n){if(!t)return!1;let r=w;if(!r)throw Error(`Select a local Project before using /sync-cloud.`);let a=await se(),o=r.linkedSandboxProject?.defaultBranch?.trim()||`main`,s=Yt(`local`,r.id),l=$_(r,x),u=await Z.createSession(t,{provider:`openpond`,modelRef:fn(`openpond`,le,H),openPondCommandAccessMode:U(`openpond`,i),appId:null,appName:null,workspaceKind:`local_project`,workspaceId:r.id,workspaceName:r.name,localProjectId:r.id,cloudProjectId:l?.id??null,cloudTeamId:l?.teamId??null,cwd:r.workspacePath,title:`Sync ${r.name} to Cloud`});R(e=>[u,...e]),n.onSessionCreated?.(u),n.selectSession&&(L(u.id),I(s),ie(null),z(`chat`),c(s)),n.clearPromptForTurn(),B(!0);try{let i=await Z.uploadLocalProjectCloudSource(t,r.id,{teamId:a.teamId,projectName:r.name,branch:o,chatSessionId:u.id,displayPrompt:n.displayPrompt});return e(i.bootstrap),c(s),c(Yt(`cloud`,i.project.id)),!0}catch(n){let r=await Z.bootstrap(t).catch(()=>null);throw r&&e(r),n}finally{B(!1)}}async function ue(e){if(!t||e.providerForTurn===`codex`||e.selectedSessionForTurn?.provider===`codex`)return!1;let n=oe(e.selectedSessionForTurn)?e.selectedSessionForTurn:null;if(!n&&e.selectedSessionForTurn)throw Error(`Select a project to use this.`);if(!n){if(C){let r=Yt(`cloud`,C.id),i=e.providerForTurn;n=await Z.createSession(t,{provider:i,modelRef:fn(i,e.modelForTurnValue,H),openPondCommandAccessMode:U(i,e.openPondCommandAccessModeForTurn),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:C.id,workspaceName:C.name,localProjectId:null,cloudProjectId:C.id,cloudTeamId:C.teamId,cwd:null,autoTitlePrompt:wD(e.command)}),R(e=>[n,...e]),e.onSessionCreated?.(n),e.selectSession&&(L(n.id),I(r),ie(null),z(`chat`),c(r))}else{let r=w;if(!r)throw Error(`Select a project to use this.`);let i=$_(r,x),a=Yt(`local`,r.id),o=e.providerForTurn;n=await Z.createSession(t,{provider:o,modelRef:fn(o,e.modelForTurnValue,H),openPondCommandAccessMode:U(o,e.openPondCommandAccessModeForTurn),appId:null,appName:null,workspaceKind:`local_project`,workspaceId:r.id,workspaceName:r.name,localProjectId:r.id,cloudProjectId:i?.id??null,cloudTeamId:i?.teamId??null,cwd:r.workspacePath,autoTitlePrompt:wD(e.command)}),R(e=>[n,...e]),e.onSessionCreated?.(n),e.selectSession&&(L(n.id),I(a),ie(null),z(`chat`),c(a))}}if(!n)throw Error(`Select a project to use this.`);e.clearPromptForTurn();let r=await Z.runSessionCommand(t,n.id,{command:e.command,cwd:n.cwd});return R(e=>dy(e,r.session)),F(e=>o_(e,r.events)),!0}async function de(d=[],S=null,O,k={}){let ie=O??u(),z=ie.trim()||(d.length>0?`Please review the attached files.`:``);if(!t||!z)return!1;let B=k.displayPrompt?.trim()||z,oe=k.provider??o,W=k.model??a,se=k.openPondCommandAccessMode??i,le=k.session!==void 0,de=le?k.session??null:E,fe=vv(k.experience??de?.experience??s),pe=fe===`development`||fe===`work`&&(de?.workspaceKind===`local_project`||!!de?.localProjectId||!!de?.cloudProjectId||!le&&!!(w||C||v||D===`hybrid`||D===`local`)),me=le||!pe?null:v,he=le||!pe?null:w,ge=le||!pe?null:C,_e=le||!pe?null:T,ve=!le&&pe&&D===`hybrid`,ye=k.selectSession??!0,be=k.chatMessages??f,xe=k.session===void 0?h:null,Se=k.clearPrompt===void 0?()=>{j(``),te(null)}:k.clearPrompt,Ce=S?null:Mn(z,y),we=S??Ce?.action??null,Te=Ce?.prompt||z,Ee=pe&&!we?Rn(z):null,De=we||Ee?null:jn(z),Oe=De&&!Ln({id:De.command},fe)?De:null,ke=k.usageAttribution??(De?{surface:`chat`,workflowKind:`slash_command`,commandName:`/${De.command}`,commandSource:`prompt_parse`}:void 0);A(null);let Ae=null,je=!1,Me=null;try{if(!pe&&oe===`codex`)throw Error(`Select a local workspace to use the Codex provider.`);if(Oe)throw Error(`/${Oe.command} isn't available in ${fe}.`);if(Ee&&oe!==`codex`&&de?.provider!==`codex`){if(d.length>0)throw Error(`Direct commands do not accept attachments.`);return await ue({command:Ee.command,clearPromptForTurn:Se,modelForTurnValue:W,onSessionCreated:k.onSessionCreated,openPondCommandAccessModeForTurn:se,providerForTurn:oe,selectedSessionForTurn:de,selectSession:ye})}if(!le&&De?.command===`sync-cloud`)return await ce({clearPromptForTurn:Se,displayPrompt:B,onSessionCreated:k.onSessionCreated,selectSession:ye});if(we){let n=kn(we);if(n){let r=de;if(!r||r.cloudProjectId!==n.projectId){r=await Z.createSession(t,{provider:`openpond`,modelRef:fn(`openpond`,W,H),openPondCommandAccessMode:U(`openpond`,se),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:n.projectId,workspaceName:n.projectName??n.agentName,localProjectId:null,cloudProjectId:n.projectId,cloudTeamId:n.teamId,cwd:null,autoTitlePrompt:wD(B)}),R(e=>[r,...e]),k.onSessionCreated?.(r),ye&&L(r.id);let e=Yt(`cloud`,n.projectId);ye&&I(e),ye&&c(e)}let i=await Z.runSandboxAgent(t,n.agentId,zn({agent:n,attachments:d,displayPrompt:B,prompt:Te}));return e(await Z.bootstrap(t)),Se(),F(e=>o_(e,kD({action:we,prompt:B,runPayload:i,sessionId:r.id}))),!0}let r=xn(we);if(r){let n=de;return(!n||n.provider!==`openpond`)&&(n=await Z.createSession(t,{provider:`openpond`,modelRef:fn(`openpond`,W,H),openPondCommandAccessMode:U(`openpond`,se),appId:null,appName:null,workspaceId:null,workspaceName:`OpenPond profile`,localProjectId:null,cloudProjectId:null,cloudTeamId:null,cwd:null,autoTitlePrompt:wD(B)}),R(e=>[n,...e]),k.onSessionCreated?.(n),ye&&L(n.id)),await Z.runProfileAction(t,bn({action:r,attachments:d,displayPrompt:B,prompt:Te,sessionId:n.id})),e(await Z.bootstrap(t)),Se(),!0}let i=pT({cloudProjects:x,selectedCloudProject:C,selectedProject:w});if(!i)throw Error(`Select a Project linked to an OpenPond Cloud Project before running an action.`);let a=de;(!a||a.cloudProjectId!==i.id)&&(a=await Z.createSession(t,{provider:`openpond`,modelRef:fn(`openpond`,W,H),openPondCommandAccessMode:U(`openpond`,se),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:i.id,workspaceName:i.name,localProjectId:i.localProjectId,cloudProjectId:i.id,cloudTeamId:i.teamId,cwd:null,autoTitlePrompt:wD(B)}),R(e=>[a,...e]),k.onSessionCreated?.(a),ye&&(L(a.id),I(i.selectionKey),c(i.selectionKey)));let o=await G(i.id,i.teamId);if(!o)throw Error(`No OpenPond Agent is available for this Project.`);Se();let s=await Z.runSandboxAgent(t,o.id,An({action:we,attachments:d,displayPrompt:B,prompt:Te,teamId:i.teamId}));return e(await Z.bootstrap(t)),F(e=>o_(e,kD({action:we,prompt:B,runPayload:s,sessionId:a.id}))),!0}let i=de;if(i&&$m(i.id)){Me=Jn({afterMessageId:be.at(-1)?.id??null,attachments:d,content:z,sessionId:i.id}),Se(),Ae=i.id,V.current.add(Ae),re?.(Me),ne?.(Ae,!0);let e=DD(i.id,z),a=e=>{(!le||E?.id===i.id)&&M(t=>ED(t,e)),k.onCodexHistoryOptimisticEvent?.(e)};a(e),N(e=>e.map(e=>e.id===i.id?{...e,status:`active`}:e));let o=await Z.sendCodexHistoryTurn(t,i.id,{prompt:z,attachments:d.length>0?d:void 0,model:en(`codex`,W,H),modelRef:fn(`codex`,W,H),...on(n),codexPermissionMode:n,codexReasoningEffort:r}).catch(t=>{throw a(OD(e,t)),t});return(!le||E?.id===i.id)&&M(e=>o_(e,o.events)),N(e=>dy(e,o.session)),P?.(o),ae(t),!0}let a=(xe?p.find(e=>e.id===xe&&Mr(ie,e)&&e.sandbox)??null:null)??kr(ie,Ar(p)),o=Or(ie,m).map(e=>e.ref);if(!i){let e=_e?.appId??me?.id??null,n=_e?.appName??me?.name??null,r=ge,a=le?null:$_(he,x),o=ve?ov({cloudProjects:x,selectedCloudProject:r,selectedProject:he}):null;if(o?.kind===`missing_cloud_project`)throw Error(o.message);let s=o?.kind===`ready`,l=s?oe:r?`openpond`:oe,u=fn(l,W,H),d=U(l,se),f=s?sv({modelRef:u,provider:l,target:o,title:z.slice(0,64)}):null;i=await Z.createSession(t,f?{...f,subagentDelegationMode:ee,metadata:{...f.metadata,...k.sessionMetadata??{}},...d?{openPondCommandAccessMode:d}:{},autoTitlePrompt:wD(z)}:{experience:fe,provider:l,modelRef:u,subagentDelegationMode:ee,...d?{openPondCommandAccessMode:d}:{},appId:e,appName:n,workspaceKind:r?`sandbox`:he?`local_project`:me?`sandbox_app`:void 0,workspaceId:he?.id??(me?e:void 0),workspaceName:r?.name??he?.name??n,localProjectId:he?.id??null,cloudProjectId:r?.id??a?.id??null,cloudTeamId:r?.teamId??a?.teamId??null,...!r&&!he&&!me&&D===`local`?{metadata:{...rv(),...k.sessionMetadata??{}}}:{cwd:he?he.workspacePath:null,...k.sessionMetadata?{metadata:k.sessionMetadata}:{}},autoTitlePrompt:wD(z)}),R(e=>[i,...e]),k.onSessionCreated?.(i),ye&&(L(i.id),r&&I(Yt(`cloud`,r.id)),i.workspaceKind===`local_project`&&i.workspaceId&&c(Yt(`local`,i.workspaceId)),r&&c(Yt(`cloud`,r.id)))}if(jD(i)&&tv(i.workspaceKind)&&i.provider!==`openpond`&&!iv(i))throw Error(`Cloud workspaces use OpenPond Chat. Switch to Local to use local providers.`);if(jD(i)&&tv(i.workspaceKind)&&l)try{i=await l(i)}catch(n){let r=n instanceof Error?n.message:String(n);throw await Z.recordPreflightTurnFailure(t,i.id,{prompt:z,error:r,target:iv(i)?`hybrid_sandbox`:`cloud_workspace`}).then(e).catch(()=>void 0),n}Me=Jn({afterMessageId:be.at(-1)?.id??null,attachments:d,content:z,sessionId:i.id}),Se(),Ae=i.id,V.current.add(Ae),re?.(Me),R(e=>e.map(e=>e.id===Ae?{...e,status:`active`}:e));let s=oe,u=TD({provider:s,model:W,providerSettings:H}),f=Jt(s,u.model??W,H),h=s===`codex`?on(n):{approvalPolicy:`on-request`,sandbox:`workspace-write`};await Z.sendTurn(t,i.id,{prompt:z,metadata:k.turnMetadata,attachments:d.length>0?d:void 0,mentionedAppIds:a?[a.id]:void 0,mentionedConnectedApps:o.length>0?o:void 0,openPondActionCatalog:b.length>0?b:void 0,usageAttribution:ke,...u,...h,codexPermissionMode:s===`codex`?n:`default`,codexReasoningEffort:f?nn(s,u.model??W,r,H):void 0}),je=!0,ae(t);let v=i.workspaceId??i.appId;return v&&i.workspaceKind!==`sandbox`&&i.workspaceKind!==`sandbox_template`&&g(v,!1).then(e=>{e?.initialized&&_(v)}),!0}catch(e){return A(e instanceof Error?e.message:String(e)),!1}finally{Ae&&V.current.delete(Ae),Ae&&$m(Ae)&&ne?.(Ae,!1),Ae&&($m(Ae)?N(e=>e.map(e=>e.id===Ae&&e.status===`active`?{...e,status:`idle`}:e)):je||R(e=>e.map(e=>e.id===Ae&&e.status===`active`?{...e,status:`idle`}:e)))}}async function fe(n,r){let i=V.current.values().next().value??null,a=n??E?.id??i;if(!t||!a)return!1;if(A(null),$m(a))try{let e=await Z.interruptCodexHistoryTurn(t,a);if(!e.interrupted){if(e.reason===`no_active_openpond_turn`){let e=await Z.codexHistoryThread(t,a,{tail:!0}),n={...e.session,status:`idle`};return E?.id===a&&M(t=>o_(t,e.events)),N(e=>dy(e,n)),A(`OpenPond no longer has a live interrupt handle for this Codex history turn. The chat was marked idle so you can send again.`),!0}return A(`This Codex history turn is still starting. Try stopping it again in a moment.`),!1}let n=await Z.codexHistoryThread(t,a,{tail:!0});return E?.id===a&&M(e=>o_(e,n.events)),N(e=>dy(e,n.session)),!0}catch(e){let t=e instanceof Error?e.message:String(e);return A(t===`Not found`?`OpenPond could not find this Codex history session, so it cannot interrupt it here.`:t),!1}try{return await Z.interruptTurn(t,a,r),e(await Z.bootstrap(t)),!0}catch(e){return A(e instanceof Error?e.message:String(e)),!1}}async function pe(n,r){t?(A(null),await Z.applyCreateImproveAction(t,n.id,{...r,runId:n.id,expectedRevision:n.revision,actionId:`web:${r.type}:${crypto.randomUUID()}`}),e(await Z.bootstrap(t))):A(`OpenPond App server is not connected.`)}async function me(e){await pe(e.run,{type:`approve_plan`})}async function he(e){await pe(e.run,{type:`cancel`,reason:null})}async function ge(e,t){await pe(e.run,{type:`revise_plan`,revision:t})}async function _e(e,t,n){await pe(e.run,{type:`answer_question`,questionId:t,value:n})}async function ve(e){await pe(e.run,{type:`pause`})}async function ye(e){await pe(e.run,{type:`resume`})}async function be(e,t){await pe(e.run,{type:`open_pull_request`,candidateId:t})}async function xe(e,t){await pe(e.run,{type:`apply_candidate`,candidateId:t})}async function Se(e,t){await pe(e.run,{type:`reject_candidate`,candidateId:t,reason:null})}async function Ce(e,t){await pe(e.run,{type:`reconcile_pull_request`,candidateId:t})}return{answerCreateImproveQuestion:_e,approveCreateImproveRun:me,applyCreateImproveCandidate:xe,cancelCreateImproveRun:he,changeDraftProvider:W,openCreateImprovePullRequest:be,pauseCreateImproveRun:ve,reconcileCreateImprovePullRequest:Ce,rejectCreateImproveCandidate:Se,resumeCreateImproveRun:ye,reviseCreateImproveRun:ge,sendPrompt:de,stopTurn:fe}}function jD(e){return e.experience===`development`||e.experience===`work`&&(e.workspaceKind===`local_project`||!!e.localProjectId||!!e.cloudProjectId||e.metadata?.workspaceTarget===`local`)}async function MD({branch:e,connection:t,session:n}){if(!tv(n.workspaceKind))return{sandbox:null,session:n,status:`already_running`};let r=await Z.ensureCloudWorkspaceReady(t,n.id,{branch:e,surface:`desktop`});return{bootstrap:await Z.bootstrap(t),output:r.output,sandbox:null,session:r.session,status:r.status}}function ND(e){return iv(e)?`Preparing Hybrid sandbox...`:`Starting Cloud workspace...`}function PD(e,t){if(e===`already_running`)return null;let n=iv(t)?`Hybrid sandbox`:`Cloud workspace`;return e===`waited_for_creating`?`${n} is ready.`:e===`started`?`Started ${n}.`:e===`resumed`?`Resumed ${n}.`:e===`restored`?`Restored ${n}.`:`Recreated ${n}.`}function FD(e,t){return!e.cloudProjectId||!e.cloudTeamId||t.some(t=>t.id===e.cloudProjectId&&t.teamId===e.cloudTeamId)}function ID({applyBootstrapPayload:e,cloudProjects:t,connection:n,localProjectById:r,selectedCloudProject:i,selectedProject:a,setWorkspaceBusy:o,showToast:s,visibleWorkspaceState:c}){return(0,J.useCallback)(async l=>{if(!n)throw Error(`OpenPond App server is not connected.`);let u=a??(l.localProjectId?r.get(l.localProjectId)??null:null);if(l.cloudProjectId&&l.cloudTeamId&&!FD(l,t))throw Error(`This Cloud session belongs to a different OpenPond account. Sync or select a Project in the current account.`);l.workspaceId||s(ND(l),`info`),o(!0);try{let t=await MD({branch:a?.linkedSandboxProject?.defaultBranch??i?.defaultBranch??c?.currentBranch??null,connection:n,localProject:u,session:l,source:iv(l)?`openpond-app-hybrid-chat-preflight`:`openpond-app-cloud-chat-preflight`});t.bootstrap&&e(t.bootstrap);let r=PD(t.status,l);return r&&s(r,`success`),t.session}finally{o(!1)}},[e,t,n,r,i,a,o,s,c?.currentBranch])}function LD(){return{diffPanelOpen:!1,diffPanelExpanded:!1,rightPanelMode:`home`,rightChatPanels:[]}}function RD(e){return{diffPanelOpen:e.diffPanelOpen,diffPanelExpanded:e.diffPanelExpanded,rightPanelMode:e.rightPanelMode,rightChatPanels:e.rightChatPanels}}function zD(e){return{...e,rightChatPanels:e.rightChatPanels.map(e=>({...e}))}}function BD(e,t){return e.diffPanelOpen!==t.diffPanelOpen||e.diffPanelExpanded!==t.diffPanelExpanded||e.rightPanelMode!==t.rightPanelMode||e.rightChatPanels.length!==t.rightChatPanels.length?!1:e.rightChatPanels.every((e,n)=>{let r=t.rightChatPanels[n];return!!(r&&e.id===r.id&&e.activationVersion===r.activationVersion&&e.sessionId===r.sessionId&&e.prompt===r.prompt&&e.provider===r.provider&&e.model===r.model&&e.scrollTop===r.scrollTop&&e.stickyToBottom===r.stickyToBottom)})}function VD(e){return`${e.conversationId}\u0000${e.workspaceSourceKey||`none`}`}var HD=`openpond.conversation-sidebar-recovery.v1`,UD=524288,WD=F({conversations:N(B(),F({diffPanelOpen:I(),diffPanelExpanded:I(),rightPanelMode:R([`home`,`changes`,`browser`,`goal`,`chat`,`training`]),rightChatPanels:j(F({id:B(),activationVersion:L(),sessionId:B().nullable(),prompt:B(),provider:me,model:B(),scrollTop:L(),stickyToBottom:I()})).max(100)})).refine(e=>Object.keys(e).length<=512),workspaces:N(B(),F({activeTab:R([`goal`,`summary`,`files`,`file`,`outputs`]),openFilePaths:j(B()).max(200),selectedPath:B().nullable(),filesTabOpen:I(),overviewTabs:j(L().int()).max(200),activeOverviewId:L().int(),tabOrder:j(B()).max(400)})).refine(e=>Object.keys(e).length<=1024)});function GD(e){try{let t=(e??window.localStorage).getItem(HD);if(t&&t.length<=UD){let e=WD.safeParse(JSON.parse(t));if(e.success)return e.data}}catch{}return{conversations:{},workspaces:{}}}function KD(e,t=window.localStorage){let n=JSON.stringify(WD.parse(e));if(n.length>UD)throw Error(`Sidebar state exceeds local recovery capacity.`);t.setItem(HD,n)}function qD(e){let{appDispatch:t,diffPanelExpanded:n,diffPanelOpen:r,rightChatPanels:i,rightPanelMode:a,selectedAppId:o,selectedCloudProject:s,selectedProjectId:c,selectedSession:l,selectedSessionId:u,setWorkspaceDiffPanelViewState:d,view:f,viewWorkspaceAppId:p,viewWorkspaceId:m,viewWorkspaceKind:h,workspaceDiffPanelViewState:g}=e,[_]=(0,J.useState)(GD),v=(0,J.useRef)(new Map(Object.entries(_.conversations))),y=(0,J.useRef)(new Map(Object.entries(_.workspaces))),b=(0,J.useRef)(null),x=(0,J.useRef)(null),S=u??`draft:${c??o??s?.id??`general`}`,C=VD({conversationId:S,workspaceSourceKey:(0,J.useMemo)(()=>m?`${h??`workspace`}:${m}`:p?`app:${p}`:l?.cwd&&!tv(l.workspaceKind)?`cwd:${l.cwd}`:`none`,[l?.cwd,l?.workspaceKind,f,p,m,h])}),w=(0,J.useMemo)(()=>RD({diffPanelExpanded:n,diffPanelOpen:r,rightChatPanels:i,rightPanelMode:a}),[n,r,i,a]);(0,J.useEffect)(()=>{let e=b.current;e&&v.current.set(e,zD(w))},[S,w]),(0,J.useEffect)(()=>{if(b.current===S)return;b.current=S;let e=v.current.get(S)??LD();BD(w,e)||t({type:`patch`,patch:zD(e)})},[S,w]),(0,J.useEffect)(()=>{let e=x.current;e&&y.current.set(e,Cv(g))},[C,g]),(0,J.useEffect)(()=>{if(x.current===C)return;x.current=C;let e=y.current.get(C)??Sv();d(t=>Tv(t,e)?t:Cv(e))},[C]);let T=(0,J.useCallback)(()=>{KD({conversations:Object.fromEntries(v.current),workspaces:Object.fromEntries(y.current)})},[]),E=(0,J.useCallback)(()=>t({type:`showToast`,toast:{id:Date.now(),createdAt:Date.now(),tone:`error`,message:`Sidebar selections could not be saved on this device.`,dedupeKey:`conversation-sidebar-recovery`,actionLabel:`Retry`,onAction:()=>(T(),!0)}}),[t,T]);return(0,J.useEffect)(()=>{let e=window.setTimeout(()=>{try{T()}catch{E()}},500);return()=>window.clearTimeout(e)},[T,E,S,w,C,g]),(0,J.useEffect)(()=>{let e=e=>{try{T()}catch{E(),e.preventDefault()}};return window.addEventListener(`beforeunload`,e),window.addEventListener(`pagehide`,e),window.addEventListener(`openpond:before-update`,e),()=>{window.removeEventListener(`beforeunload`,e),window.removeEventListener(`pagehide`,e),window.removeEventListener(`openpond:before-update`,e)}},[T,E]),{browserConversationId:S,handleWorkspaceDiffPanelViewStateChange:(0,J.useCallback)(e=>{d(t=>Tv(t,e)?t:Cv(e))},[])}}function JD({account:e,accountPending:t,accountSignedOut:n,activeWorkspaceKind:r,activeWorkspaceLocation:i,appDispatch:a,applyBootstrapPayload:o,busy:s,cloudSetupDialog:c,cloudProjects:l,connection:u,defaultTeamId:d,expandProject:f,localProjectById:p,selectedCloudProject:m,selectedProject:h,selectedSession:g,selectedSessionProjectId:_,setCloudSetupDialog:v,setDiffPanelOpen:y,setError:b,setSessions:x,setWorkspaceBusy:S,showToast:C,visibleWorkspaceState:w,workspaceBusy:T}){let E=e?.baseUrl??e?.activeProfile?.baseUrl??null,D=(0,J.useCallback)(async(e,t)=>{if(u)try{let n=await Z.previewLocalProjectCloudSource(u,e.id,{branch:t});v(r=>!r||r.status!==`confirm`||r.localProjectId!==e.id||r.branch!==t?r:{...r,branch:n.preview.branch,cloudProjectId:n.preview.targetProjectId,preview:n.preview,previewLoading:!1,previewError:null})}catch(n){let r=n instanceof Error?n.message:String(n);v(n=>!n||n.status!==`confirm`||n.localProjectId!==e.id||n.branch!==t?n:{...n,preview:null,previewLoading:!1,previewError:r})}},[u,v]),ee=(0,J.useCallback)(async()=>{let e=c;if(!e||e.status===`uploading`)return;if(e.projectKind===`cloud`){v(e=>e&&{...e,status:`ready`,error:null});return}if(!u){v(e=>e&&{...e,status:`error`,error:`OpenPond App server is not connected.`});return}let t=e.localProjectId??``,n=p.get(t);if(!n){v(e=>e&&{...e,status:`error`,error:`Project is no longer available.`});return}S(!0);let r=$_(n,l);v(e=>e&&{...e,status:`uploading`,error:null,previewLoading:!1});try{let t=bD((await Z.organizations(u)).organizations.map(Tr).filter(e=>!!e).filter(e=>e.status===`active`),d);if(!t)throw Error(`Add an OpenPond account before creating a Cloud environment.`);if(!Dr(t))throw Error(`You need owner or admin access to create projects in ${t.displayName}.`);let i=e.branch||n.linkedSandboxProject?.defaultBranch||`main`,s=Yt(`local`,n.id),c=await Z.createSession(u,{provider:`openpond`,appId:null,appName:null,workspaceKind:`local_project`,workspaceId:n.id,workspaceName:n.name,localProjectId:n.id,cloudProjectId:r?.id??null,cloudTeamId:r?.teamId??null,cwd:n.workspacePath,title:`Sync ${n.name} to Cloud`});x(e=>[c,...e]),a({type:`selectSession`,sessionId:c.id,projectId:s}),f(s);let l=await Z.uploadLocalProjectCloudSource(u,n.id,{teamId:t.teamId,projectName:n.name,branch:i,chatSessionId:c.id,displayPrompt:`/sync-cloud ${n.name}`});o(l.bootstrap),f(s),f(Yt(`cloud`,l.project.id));let p=uD({accountBaseUrl:E,teamId:l.project.teamId,projectId:l.project.id,projectName:l.project.name,baseBranch:l.upload.branch,localProjectId:n.id,source:`openpond-app`}),m=fD({accountBaseUrl:E,organizationSlug:l.project.organizationSlug,projectSlug:l.project.slug});v({status:`ready`,localProjectId:n.id,cloudProjectId:l.project.id,teamId:l.project.teamId,projectName:l.project.name,projectKind:`local`,projectUrl:m,setupUrl:p,branch:l.upload.branch,preview:e.preview??null,previewLoading:!1,previewError:null,upload:{branch:l.upload.branch,headCommit:l.upload.headCommit,fileCount:l.upload.fileCount,byteCount:l.upload.byteCount,skippedCount:l.upload.skippedCount,initializedEmptyProject:l.upload.initializedEmptyProject},error:null}),C(`Source uploaded to OpenPond Git. Cloud setup link is ready.`,`success`)}catch(e){let t=e instanceof Error?e.message:String(e),n=u?await Z.bootstrap(u).catch(()=>null):null;n&&o(n),b(t),v(e=>e&&{...e,status:`error`,error:t})}finally{S(!1)}},[E,a,o,c,l,u,d,f,p,v,b,x,S,C]),O=(0,J.useCallback)((e,r)=>{if(!u){C(`OpenPond App server is not connected.`,`error`);return}if(t){C(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(n){C(`Add an OpenPond account before using Cloud.`,`error`);return}let i=r||e.linkedSandboxProject?.defaultBranch||`main`;v({status:`confirm`,localProjectId:e.id,projectName:e.name,projectKind:`local`,projectUrl:null,setupUrl:null,branch:i,preview:null,previewLoading:!0,previewError:null,upload:null,error:null}),D(e,i)},[t,n,u,D,v,C]);return{changeWorkspaceTarget:(0,J.useCallback)(async e=>{if(e===i||T||s)return;if(b(null),e===`upload_cloud`){if(!h){C(`Select a local Project before uploading source.`,`error`);return}O(h,w?.currentBranch??null);return}if(e===`local`){let e=g?.localProjectId??h?.id??_??null,t=e?p.get(e)??null:null;if(!t){C(`No linked local workspace for this Cloud chat.`,`error`);return}if(tv(r)&&!window.confirm(`Switch to Local? Cloud changes will stay in the hosted workspace until you preserve or export them.`))return;let n=Yt(`local`,t.id);a({type:`selectProject`,projectId:n}),f(n),y(!1),C(`Switched to Local: ${t.name}`,`info`);return}if(!u){C(`OpenPond App server is not connected.`,`error`);return}if(t){C(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(n){C(`Add an OpenPond account before using Cloud.`,`error`);return}if(m){v({status:`ready`,cloudProjectId:m.id,teamId:m.teamId,projectName:m.name,projectKind:`cloud`,projectUrl:fD({accountBaseUrl:E,organizationSlug:m.organizationSlug,projectSlug:m.slug}),setupUrl:uD({accountBaseUrl:E,teamId:m.teamId,projectId:m.id,projectName:m.name,baseBranch:m.defaultBranch,source:`openpond-app`}),branch:m.defaultBranch??`main`,preview:null,previewLoading:!1,previewError:null,upload:null,error:null});return}let o=h;if(!o){C(`Select a Project before Cloud coding.`,`error`);return}let c=w?.currentBranch||o.linkedSandboxProject?.defaultBranch||`main`;O(o,c)},[E,t,n,r,i,a,s,u,l,f,p,O,m,h,g,_,v,y,b,C,w?.currentBranch,T]),moveProjectToCloud:(0,J.useCallback)(e=>{rn(e)&&O(e.project)},[O]),openCloudSetupForLocalProject:O,startCloudSetupUpload:ee}}function YD({advanceTrainingTurn:e,bindTrainingSession:t,composerDraftStore:n,onSessionCreated:r,onSubmitted:i,prepareTrainingTurn:a,sendPrompt:o,setMentionedAppId:s,showToast:c}){return(0,J.useCallback)(async(s=[],l=null,u,d={})=>{let f=u??n.getSnapshot(),p=a(f);if(p.active&&f.trim()&&!p.metadata)return c(p.error??`Load the selected generated Taskset question before sending, or close the generated-question handoff to write a normal prompt.`,`error`),!1;let m=await o(s,l,u,{clearPrompt:d.preservePrompt?()=>void 0:void 0,displayPrompt:d.displayPrompt,onSessionCreated:e=>{r(e),d.onSessionCreated?.(e),p.metadata&&t(e.id)},turnMetadata:p.metadata||d.turnMetadata?{...p.metadata,...d.turnMetadata}:void 0,sessionMetadata:p.metadata||d.sessionMetadata?{...d.sessionMetadata,trainingTasksetId:p.metadata?.trainingTasksetId,trainingTasksetName:p.metadata?.trainingTasksetName}:void 0});return m&&await i?.(),m&&p.metadata&&e(),m},[e,t,n,r,i,a,o,s,c])}function XD({appDispatch:e,connection:t,sessions:n,setDiffPanelOpen:r,setRightPanelMode:i,setSessions:a,setView:o}){return(0,J.useCallback)(async s=>{if(!t)return;let c=n.find(e=>!e.archived&&e.workspaceKind===`sandbox`&&e.workspaceId===s.sandboxId);if(c){e({type:`selectSession`,sessionId:c.id,appId:null,projectId:null}),i(`changes`),r(!0),o(`chat`);return}let l=s.name??`Sandbox ${s.sandboxId.slice(0,8)}`,u=await Z.createSession(t,{provider:`openpond`,appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:s.sandboxId,workspaceName:l,cwd:null,title:l});a(e=>[u,...e]),e({type:`selectSession`,sessionId:u.id,appId:null,projectId:null}),i(`changes`),r(!0),o(`chat`)},[e,t,n,r,i,a,o])}function ZD({connection:e,defaultTeamId:t,sessions:n,selectedProjectId:r,confirmProjectAction:i,applyBootstrapPayload:a,expandProject:o,setExpandedProjectIds:s,setSelectedAppId:c,setSelectedProjectId:l,setSelectedSessionId:u,setError:d,setView:f,showToast:p}){function m(e){let t=Yt(`local`,e.id);c(null),l(t),u(null),f(`chat`),o(t)}async function h(t){if(!e)return!1;d(null);try{let n=await Z.createLocalProject(e,t);return a(n.bootstrap),m(n.project),p(n.created===!1?`Opened ${n.project.name}`:`Created ${n.project.name}`,`success`),!0}catch(e){let t=e instanceof Error?e.message:String(e);return d(t),p(t,`error`),!1}}async function g(t){if(!e)return!1;let n=t.trim();if(!n)return!1;d(null);try{let t=await Z.createLocalProject(e,{createNew:!0,name:n});return a(t.bootstrap),m(t.project),p(`Created ${t.project.name}`,`success`),!0}catch(e){return d(e instanceof Error?e.message:String(e)),p(`Project could not be created`,`error`),!1}}async function _(n){if(!e)return!1;let r=n.trim();if(!r)return!1;d(null);try{let n=bD((await Z.organizations(e)).organizations.map(Tr).filter(e=>!!e).filter(e=>e.status===`active`),t);if(!n)throw Error(`Add an OpenPond account before creating a Cloud Project.`);if(!Dr(n))throw Error(`You need owner or admin access to create projects in ${n.displayName}.`);let i=`${wr(r)}-${Date.now().toString(36)}`,s=(await Z.upsertSandboxProject(e,{teamId:n.teamId,name:r,sourceType:`internal_repo`,normalizedSourceIdentity:i,internalRepoPath:i,defaultBranch:`main`,sourceConfig:{sourceType:`internal_repo`,sourceValue:i},metadata:{source:`openpond-app-new-cloud-project`}})).project;s=(await Z.uploadSandboxProjectSource(e,s.id,{teamId:n.teamId,branch:`main`,commitMessage:`Initialize cloud project`,entries:[{path:`README.md`,type:`file`,contentsBase64:Er(`# ${r}\n\nCreated in OpenPond Cloud.\n`)}]})).project,a(await Z.bootstrap(e));let d=Yt(`cloud`,s.id);return c(null),l(d),u(null),f(`chat`),o(d),p(`Created Cloud Project: ${s.name}`,`success`),!0}catch(e){let t=e instanceof Error?e.message:String(e);return d(t),p(t,`error`),!1}}async function v(t){if(!e)return;if(sn(t)){let n=`Archive ${t.project.name} in OpenPond Cloud?`;if(!(i?await i({title:`Archive Cloud Project`,body:`${t.project.name} will be archived in OpenPond Cloud. Existing task history stays available through Cloud history.`,confirmLabel:`Archive project`}):window.confirm(n)))return;d(null);try{await Z.archiveSandboxProject(e,t.project.id,{teamId:t.project.teamId}),a(await Z.bootstrap(e)),s(e=>{let n=new Set(e);return n.delete(t.id),n}),r===t.id&&(l(null),u(null)),p(`Archived ${t.project.name}`,`success`)}catch(e){d(e instanceof Error?e.message:String(e)),p(`Cloud Project could not be archived`,`error`)}return}if(!rn(t))return;let o=t.project,c=`Remove ${o.name} from Projects? The folder will not be deleted.`;if(i?await i({title:`Remove Project`,body:`${o.name} will be removed from the sidebar. The folder and files on disk will not be deleted.`,confirmLabel:`Remove project`}):window.confirm(c)){d(null);try{a(await Z.deleteLocalProject(e,o.id)),s(e=>{let n=new Set(e);return n.delete(t.id),n}),r===t.id&&(l(null),u(e=>{let t=n.find(t=>t.id===e);return t?.workspaceKind===`local_project`&&t.workspaceId===o.id?null:e})),p(`Removed ${o.name}`,`success`)}catch(e){d(e instanceof Error?e.message:String(e)),p(`Project could not be removed`,`error`)}}}return{createCloudProjectFromScratch:_,createProjectFromScratch:g,createProjectCollection:h,removeProject:v}}function QD(e,t,n,r){if(n===`cloud`){let n=t;return{appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:n.id,workspaceName:n.name,localProjectId:null,cloudProjectId:n.id,cloudTeamId:n.teamId,cwd:null,metadata:{...e.metadata,workspaceTarget:`cloud`}}}let i=t,a=$_(i,r);return{appId:i.linkedOpenPondApp?.appId??null,appName:i.linkedOpenPondApp?.appName??null,workspaceKind:`local_project`,workspaceId:i.id,workspaceName:i.name,localProjectId:i.id,cloudProjectId:a?.id??null,cloudTeamId:a?.teamId??null,cwd:i.workspacePath,metadata:rv(e.metadata)}}function $D({appDispatch:e,connection:t,selectedSession:n,setSessions:r,setWorkspaceBusy:i,busy:a,cloudProjectById:o,createCloudProjectFromScratch:s,createProjectFromScratch:c,createProjectCollection:l,expandProject:u,localProjectById:d,onCreateCloudEnvironment:f,onNewCloudProject:p,onNewLocalProject:m,onUseExistingFolderPath:h,newProjectBusy:g,newProjectMode:_,newProjectName:v,projectTargetValue:y,setDiffPanelOpen:b,setDraftModel:x,setDraftProvider:S,setError:C,setNewProjectBusy:w,setNewProjectDialogOpen:T,setNewProjectName:E,setNewProjectPath:D,showToast:ee,workspaceBusy:O}){let k=(0,J.useRef)({connection:t,sessionId:n?.id});return k.current={connection:t,sessionId:n?.id},{changeProjectTarget:(0,J.useCallback)(async s=>{let c=n?.nativeAgent&&n.nativeAgent.cwd!==n.cwd;if(s===y&&!c||a||O)return;if(C(null),s===`action:new-local-project`){m();return}if(s===`action:add-local-project`||s===`action:add-local-project-path`){h();return}if(s===`action:new-cloud-project`){p();return}if(s===`action:create-cloud-environment`){f();return}if(s===`none`){e({type:`selectProject`,projectId:null}),b(!1),ee(`Started a chat without project files.`,`info`);return}let l=s.indexOf(`:`),g=l>=0?s.slice(0,l):``,_=l>=0?s.slice(l+1):``;if(n&&(g===`local`||g===`cloud`)){let a=g===`local`?d.get(_):o.get(_);if(!a||!t)return;if($m(n.id)){ee(`Imported native history cannot change its project. Start a new task in that project.`,`error`);return}i(!0);try{let i=await Z.patchSession(t,n.id,QD(n,a,g,[...o.values()]));if(r(e=>e.map(e=>e.id===i.id?i:e)),k.current.connection!==t||k.current.sessionId!==n.id)return;let s=Yt(g,a.id);e({type:`selectSession`,sessionId:i.id,appId:i.appId,projectId:s}),u(s),ee(`Attached this chat to ${a.name}.`,`success`)}catch(e){k.current.sessionId===n.id&&ee(e instanceof Error?e.message:`Could not attach this chat.`,`error`)}finally{i(!1)}}else if(g===`local`){let t=d.get(_);if(!t){ee(`Project is no longer available.`,`error`);return}let n=Yt(`local`,t.id);e({type:`selectProject`,projectId:n}),u(n),b(!1)}else if(g===`cloud`){let t=o.get(_);if(!t){ee(`Cloud Project is no longer available.`,`error`);return}let n=Yt(`cloud`,t.id);e({type:`selectProject`,projectId:n}),u(n),S(`openpond`),x(e=>Qt(`openpond`,e)),b(!1)}},[e,t,n,r,i,a,o,u,d,f,p,m,h,y,b,x,S,C,ee,O]),submitNewProjectDialog:(0,J.useCallback)(async e=>{let t=v.trim();if(!g){if(_===`existing-local`?!e?.name.trim()||!e.sourceFolders.length:!t)return!1;w(!0);try{let n=_===`cloud`?await s(t):_===`existing-local`?await l(e):await c(t);return n&&(T(!1),E(``),D(``)),!!n}finally{w(!1)}}},[s,c,l,g,_,v,w,T,E,D])}}function eO(e){return{id:`right-chat-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,activationVersion:1,sessionId:e.sessionId,prompt:e.prompt??``,provider:e.provider,model:e.model,scrollTop:0,stickyToBottom:!0}}function tO(e){return e.reduce((e,t)=>!e||t.activationVersion>=e.activationVersion?t:e,null)}function nO(e,t){let n=Math.max(0,...e.map(e=>e.activationVersion))+1,r=!1,i=e.map(e=>e.id===t?(r=!0,{...e,activationVersion:n}):e);return r?i:[...e]}function rO(e,t){let n=Math.max(0,...e.map(e=>e.activationVersion))+1,r=!1,i=e.map(e=>e.sessionId===t.sessionId?(r=!0,{...e,activationVersion:n,prompt:t.prompt??e.prompt}):e);return r?i:[...e]}function iO(e){return!!(e.parentSessionId&&e.subagentRunId)}function aO(e){let t=e.sessions.filter(iO);return{knownSessionIds:new Set(t.map(e=>e.id)),newSessions:t.filter(t=>!e.knownSessionIds.has(t.id))}}function oO(e,t){let n=new Set(e.map(e=>e.sessionId).filter(Boolean)),r=t.filter(iO).filter(e=>!n.has(e.id)).map(e=>({id:`right-subagent-${e.id}`,activationVersion:1,sessionId:e.id,prompt:``,provider:e.provider,model:e.modelRef?.modelId??``,scrollTop:0,stickyToBottom:!0}));return r.length>0?[...e,...r]:e}function sO(e,t){let n=t.trim();switch(e.id){case`agent`:return{kind:`send_prompt`,prompt:`/agent ${n}`,requiresInstructions:!0};case`skill`:return{kind:`send_prompt`,prompt:`/skill ${n}`,requiresInstructions:!1};case`goal`:return{kind:`send_prompt`,prompt:`/goal ${n}`,requiresInstructions:!0};case`workflow`:return{kind:`send_prompt`,prompt:[`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: ${n}`].join(`
45
-
46
- `),requiresInstructions:!0};case`train`:return{kind:`open_training`,objective:n||null};case`submit-issue`:return{kind:`send_prompt`,prompt:In(n),requiresInstructions:!0};case`sync-cloud`:return{kind:`send_prompt`,prompt:`/sync-cloud ${n}`,requiresInstructions:!1}}}var cO=[];function lO(e){let{approvals:t,codexHistoryEvents:n,contextCompaction:r,pendingChatUserMessages:i,rightChatHistoryEvents:a,rightChatPanels:o,runningSessionIds:s,selectedSessionId:c,sidebarSessions:l}=e;return(0,J.useMemo)(()=>{let e=new Map(l.map(e=>[e.id,e])),u=uO(t);return o.map(t=>{let o=t.sessionId?e.get(t.sessionId)??null:null,l=$m(t.sessionId),d=l?(t.sessionId?a[t.sessionId]:void 0)??(t.sessionId===c?n:cO):cO,f=E_(d,[]),p=t.sessionId?u.get(t.sessionId)??null:null,m=!!(o&&s.has(o.id)),h=l?Gn({events:d}):null,g=o?.cwd??null,_=o?.appId??o?.localProjectId??(o?.workspaceKind===`local_project`?o.workspaceId??null:null)??(o?.cwd&&!tv(o.workspaceKind)?xi(o.cwd):null),v=t.sessionId?i[t.sessionId]??null:null;return{...t,session:o,title:Yn(h,o?.title??`New task`),messages:l?Kn(AS(d),v):[],createImproveRun:h,contextWindowStatus:Hn({provider:t.provider,snapshot:I_(f,t.sessionId),preferences:r}),goalRuntime:L_(f,t.sessionId),pendingApproval:p,running:m,workspaceRootPath:g,activeWorkspaceAppId:_,pendingUserMessage:v,runtimeSource:l?`history`:`live`}})},[t,n,r,i,a,o,s,c,l])}function uO(e){let t=new Map;for(let n of e){if(n.status!==`pending`)continue;let e=t.get(n.sessionId);(!e||Date.parse(n.createdAt)>Date.parse(e.createdAt))&&t.set(n.sessionId,n)}return t}function dO(e){let{applyPayload:t,connection:n,locallyActiveSessionIds:r,panels:i,sessions:a,setError:o}=e,s=(0,J.useMemo)(()=>{let e=new Set,t=[];for(let n of i)$m(n.sessionId)&&n.sessionId&&!e.has(n.sessionId)&&(e.add(n.sessionId),t.push(n.sessionId));return t.join(`
47
- `)},[i]),c=(0,J.useMemo)(()=>{if(!s)return``;let e=new Set(s.split(`
48
- `).filter(Boolean));return a.filter(t=>e.has(t.id)&&t.status===`active`).map(e=>e.id).join(`
49
- `)},[s,a]),l=(0,J.useMemo)(()=>s?s.split(`
50
- `).filter(e=>r.has(e)).join(`
51
- `):``,[r,s]);(0,J.useEffect)(()=>{if(!n||!s)return;let e=s.split(`
52
- `).filter(Boolean),r=new Set(c.split(`
53
- `).filter(Boolean)),i=new Set(l.split(`
54
- `).filter(Boolean)),a=e.map(e=>By({connection:n,locallyActive:i.has(e),onError:e=>o(e instanceof Error?e.message:String(e)),onPayload:n=>t(Ly(n,i.has(e))),reportedActive:r.has(e),sessionId:e,surface:`thread`}));return()=>a.forEach(e=>e())},[c,t,n,l,s,o])}var fO=[];function pO(e){let{activeModel:t,activeProvider:n,approvals:r,applyRightCodexHistoryPayload:i,codexHistoryEvents:a,connectedAppMentions:o,connection:s,contextCompaction:c,openLabTraining:l,locallyActiveCodexHistorySessionIds:u,openPondCommandAccessMode:d,pendingChatUserMessages:f,providerSettings:p,rightChatHistoryEvents:m,rightChatPanels:h,rightPanelMode:g,runtimeIndexes:_,runtimeEventStore:v,runningSessionIds:y,selectedSession:b,selectedSessionId:x,sendPrompt:S,setDiffPanelOpen:C,setError:w,setRightChatHistoryEvents:T,setRightChatPanels:E,setRightPanelMode:D,setRightPanelTabRequest:ee,setView:O,showChangesPanel:k,showToast:A,sidebarSessions:j,startupReady:te}=e,M=(0,J.useRef)(null),N=(0,J.useRef)(new Map),ne=(0,J.useRef)(new Set);(0,J.useEffect)(()=>{if(!s)return;let e=h.flatMap(e=>e.sessionId&&!$m(e.sessionId)?[e.sessionId]:[]);for(let t of e)Object.hasOwn(m,t)||ne.current.has(t)||(ne.current.add(t),Z.runtimeEventsPage(s,{sessionId:t,beforeSequence:2**53-1,limit:500}).then(e=>{let n=e.events.map(e=>e.event);T(e=>({...e,[t]:a_(e[t]??fO,n)}))}).catch(e=>{w(e instanceof Error?e.message:String(e))}).finally(()=>{ne.current.delete(t)}))},[s,m,h,w,T]);let P=(0,J.useCallback)((e,t)=>{ee(n=>({id:(n?.id??0)+1,tab:e,overview:t})),k()},[k]),re=(0,J.useCallback)((e=null,r={})=>{let i=e?.id?h.find(t=>t.sessionId===e.id)??null:null;if(i)return E(t=>rO(t,{sessionId:e.id,prompt:r.prompt})),C(!0),D(`chat`),r.preserveView||O(`chat`),i.id;let a=eO({sessionId:e?.id??null,provider:e?.provider??n,model:e?.modelRef?.modelId??t,prompt:r.prompt});return E(e=>[...e,a]),C(!0),D(`chat`),r.preserveView||O(`chat`),a.id},[t,n,h,C,E,D,O]);(0,J.useEffect)(()=>{if(!te)return;let e=M.current;if(!e){M.current=new Set(j.filter(e=>!!(e.parentSessionId&&e.subagentRunId)).map(e=>e.id));return}let t=aO({sessions:j,knownSessionIds:e});M.current=t.knownSessionIds;for(let e of t.newSessions)N.current.set(e.id,e);let n=b?.parentSessionId??b?.id??null;if(!n)return;let r=[...N.current.values()].filter(e=>e.parentSessionId===n);if(r.length!==0){for(let e of r)N.current.delete(e.id);E(e=>oO(e,r)),C(!0),D(`chat`)}},[b?.id,b?.parentSessionId,C,E,D,j,te]);let F=(0,J.useCallback)(()=>{h.length===0?re(null):(C(!0),D(`chat`),O(`chat`))},[re,h.length,C,D,O]),ie=(0,J.useCallback)(e=>{let t=h.length<=1&&h.some(t=>t.id===e),n=()=>{E(t=>t.filter(t=>t.id!==e))};if(t&&g===`chat`){if(P(`files`),typeof window>`u`){n();return}window.requestAnimationFrame(n)}else n()},[h,g,E,P]),I=(0,J.useCallback)((e,t)=>{E(n=>n.map(n=>n.id===e?{...n,prompt:t}:n))},[E]),L=(0,J.useCallback)(e=>{E(t=>nO(t,e))},[E]),R=(0,J.useCallback)((e,t)=>{E(n=>n.map(n=>n.id===e?{...n,...t}:n))},[E]),z=(0,J.useCallback)((e,t)=>{let n=h.find(t=>t.id===e);n&&wn(n.provider,t),E(n=>n.map(n=>n.id===e?{...n,model:t}:n))},[h,E]),B=(0,J.useCallback)((e,t,n)=>{let r=n??Sn(t,p);wn(t,r),E(n=>n.map(n=>n.id===e?{...n,provider:t,model:r}:n))},[p,E]);return dO({applyPayload:i,connection:s,locallyActiveSessionIds:u,panels:h,sessions:j,setError:w}),{activateRightChatPanel:L,closeRightChatPanel:ie,openRightChatPanel:re,rightChatPanelViews:lO({approvals:r,codexHistoryEvents:a,contextCompaction:c,pendingChatUserMessages:f,rightChatHistoryEvents:m,rightChatPanels:h,runningSessionIds:y,selectedSessionId:x,sidebarSessions:j}),showRightChatPanel:F,showRightPanelDiffTab:P,submitRightChatPrompt:(0,J.useCallback)(async(e,t=[],n=null,r=null,i={})=>{let s=h.find(t=>t.id===e);if(!s)return!1;let c=i.promptOverride??s.prompt,u=r?sO(r,c):null;if(u?.kind===`open_training`)return t.length>0?(A(`/train uses this chat; add other chats from Models.`,`error`),!1):(l({objective:u.objective,sessionId:s.sessionId}),i.preservePrompt||I(e,``),!0);if(r&&u?.kind===`send_prompt`&&u.requiresInstructions&&!c.trim())return A(`Add instructions after ${r.command}.`,`info`),!1;if(r&&t.length>0)return A(`${r.command} tasks do not accept attachments yet. Add file context in the task thread.`,`error`),!1;if(r?.id===`submit-issue`&&!Nn(o))return A(`Connect the GitHub app before using /submit-issue.`,`error`),!1;let f=s.sessionId?j.find(e=>e.id===s.sessionId)??null:null,p=s.provider===`codex`?d:f?.openPondCommandAccessMode??d,g=u?.kind===`send_prompt`?u.prompt:c,_=$m(s.sessionId)?(s.sessionId?m[s.sessionId]:void 0)??(s.sessionId===x?a:fO):v.getSessionEvents(s.sessionId),y=$m(s.sessionId)&&s.sessionId?e=>{let t=s.sessionId;T(n=>({...n,[t]:a_(n[t]??_,[e])}))}:void 0;return S(t,n,g,{session:f,selectSession:!1,provider:s.provider,model:s.model,openPondCommandAccessMode:p,chatMessages:AS(_),displayPrompt:i.displayPrompt,turnMetadata:i.turnMetadata,usageAttribution:r?.id===`submit-issue`?{surface:`chat`,workflowKind:`slash_command`,commandName:r.command,commandSource:`composer_selection`}:void 0,onCodexHistoryOptimisticEvent:y,clearPrompt:i.preservePrompt?()=>void 0:()=>I(e,``),onSessionCreated:t=>{E(n=>n.map(n=>n.id===e?{...n,sessionId:t.id,provider:t.provider,model:t.modelRef?.modelId??n.model}:n))}})},[a,o,m,h,_,v,x,l,d,S,E,O,j,A,I]),updateRightChatModel:z,updateRightChatPrompt:I,updateRightChatProvider:B,updateRightChatScrollState:R}}function mO(e){let{appPreferences:t,connection:n,selectedSessionId:r,setAppPreferences:i,setCodexHistorySessions:a,setError:o,setSelectedSessionId:s,setSessions:c}=e;async function l(e,r){if(!n)return;let a=t[e]??{},s={...a,...r,archived:r.pinned?!1:r.archived??a.archived};i(t=>({...t,[e]:s}));try{let t=await Z.patchSidebarAppPreference(n,e,r);i(n=>({...n,[e]:t}))}catch(t){o(t instanceof Error?t.message:String(t)),i(t=>({...t,[e]:a}))}}function u(e){l(e.id,{pinned:!e.pinned,archived:!1})}async function d(e,t){if(!n)return;let r=$m(e.id)?a:c,i={...e,...t};r(t=>t.some(t=>t.id===e.id)?t.map(t=>t.id===e.id?i:t):[i,...t]);try{let i=await Z.patchSession(n,e.id,t);r(e=>e.some(e=>e.id===i.id)?e.map(e=>e.id===i.id?i:e):[i,...e])}catch(t){o(t instanceof Error?t.message:String(t)),r(t=>t.map(t=>t.id===e.id?e:t))}}function f(e){d(e,{pinned:!1,savedForLater:!e.savedForLater,archived:!1})}function p(e,t=!e.pinned){d(e,{pinned:t,savedForLater:!1,archived:!1})}function m(e){d(e,{pinned:!1,savedForLater:!1,archived:!0}),r===e.id&&s(null)}function h(e){d(e,{archived:!1})}function g(e,t){let n=t.trim();n&&n!==e.title&&d(e,{title:n})}return{archiveSession:m,renameSession:g,restoreSession:h,toggleProjectPinned:u,toggleSessionPinned:p,toggleSessionSavedForLater:f}}function hO(e){return e.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,72)||`new-branch`}function gO({connection:e,activeWorkspaceAppId:t,appDefaults:n,bootstrap:r,branchDialogName:i,commitIncludeUnstaged:a,commitMessage:o,commitNextStep:s,draftModel:c,draftProvider:l,cloudProjects:u,selectedApp:d,selectedProject:f,selectedProjectLinkedOpenPondApp:p,selectedSession:m,sessions:h,title:g,visibleWorkspaceDiff:_,visibleWorkspaceState:v,workspaceBusy:y,workspaceName:b,appDispatch:x,applyBootstrapPayload:S,expandProject:C,refreshWorkspace:w,refreshWorkspaceDiff:T,rememberWorkspaceState:E,setBranchDialogOpen:D,setCommitDialogOpen:ee,setError:O,setSessions:k,setSettingsSection:A,setSyncingWorkspaceAppId:j,setView:te,setWorkspaceBusy:M,showToast:N}){function ne(){return`${dn(n.defaultBranchPrefix)}${hO(b??g??`new-branch`)}`}function P(){return b?`Update ${b}`:(_?.filesChanged??v?.changedFilesCount??0)===1?`Update workspace file`:`Update workspace files`}function re(e=`commit`){x({type:`openCommitDialog`,nextStep:e})}function F(){x({type:`openBranchDialog`,branchName:ne()})}function ie(){y||D(!1),A(`configuration`),te(`settings`),Op({kind:`settings`,section:`configuration`})}async function I(n){if(e&&t){M(!0),O(null);try{let r=await Z.checkoutWorkspaceBranch(e,t,{branch:n});E(r),r.initialized&&T(t)}catch(e){O(e instanceof Error?e.message:String(e))}finally{M(!1)}}}async function L(){if(!e||!t)return;let n=i.trim();if(n){M(!0),O(null);try{let r=await Z.createWorkspaceBranch(e,t,{branch:n});E(r),r.initialized&&T(t),D(!1),N(`Checked out ${n}`,`success`)}catch(e){O(e instanceof Error?e.message:String(e))}finally{M(!1)}}}async function R(e){j(e);let n=r?.apps.find(t=>t.id===e)?.name??r?.localProjects.find(t=>t.id===e)?.name??`Workspace`;try{let r=await w(e,!0);r?.initialized&&e===t&&T(e),r?.initialized&&!r.error?N(`${n} synced locally`,`success`):r?.error&&N(`Workspace sync failed`,`error`)}finally{j(t=>t===e?null:t)}}async function z(){t&&await R(t)}async function B(t,n,i={}){if(!e)return null;let a=m&&!$m(m.id)?m:null;if(xO(n,a,i)||a&&_O(a,f,d))return a;let o=a?await ae(a):null;if(o)return o;let s=vO(h,f,d);if(s){let e=s.workspaceKind===`local_project`&&s.workspaceId?Yt(`local`,s.workspaceId):null;return x({type:`selectSession`,sessionId:s.id,appId:s.appId,projectId:e}),s.workspaceKind===`local_project`&&s.workspaceId&&C(Yt(`local`,s.workspaceId)),s}let g=$_(f,u),_=await Z.createSession(e,{provider:l,modelRef:fn(l,c,r?.providers??null),appId:p?.appId??d?.id??null,appName:p?.appName??d?.name??null,workspaceKind:f?`local_project`:d?`sandbox_app`:void 0,workspaceId:f?.id??d?.id??null,workspaceName:f?.name??d?.name??null,localProjectId:f?.id??null,cloudProjectId:g?.id??null,cloudTeamId:g?.teamId??null,cwd:f?f.workspacePath:null,title:t});k(e=>[_,...e]);let v=_.workspaceKind===`local_project`&&_.workspaceId?Yt(`local`,_.workspaceId):null;return x({type:`selectSession`,sessionId:_.id,appId:_.appId,projectId:v}),_.workspaceKind===`local_project`&&_.workspaceId&&C(Yt(`local`,_.workspaceId)),_}async function ae(t){if(!e||!f||!p?.appId||$m(t.id)||t.workspaceKind===`local_project`||t.appId!==p.appId)return null;let n=$_(f,u),r=await Z.patchSession(e,t.id,{appId:p.appId,appName:p.appName,workspaceKind:`local_project`,workspaceId:f.id,workspaceName:f.name,localProjectId:f.id,cloudProjectId:n?.id??null,cloudTeamId:n?.teamId??null,cwd:f.workspacePath});return k(e=>e.map(e=>e.id===r.id?r:e)),x({type:`selectSession`,sessionId:r.id,appId:r.appId,projectId:Yt(`local`,f.id)}),C(Yt(`local`,f.id)),r}async function V(t,n={}){if(!e)return null;let r=await B(b?`${b} workspace`:`Workspace action`,t,n);if(!r)return null;let i=await Z.workspaceTool(e,r.id,{action:t,args:n,source:`ui_button`});N(i.output,i.ok?`success`:`error`),S(await Z.bootstrap(e));let a=i.appId??bO(r);return a&&(await w(a,!1))?.initialized&&await T(a),i}async function H(e,t={}){if(e===`git_commit`&&typeof t.message!=`string`)return re(`commit`),null;M(!0),O(null);try{return await V(e,t)}catch(e){return O(e instanceof Error?e.message:String(e)),null}finally{M(!1)}}async function U(){let e=o.trim()||P(),t=s===`commit_publish`,n=t&&!!v?.remoteUrl;if(!n||window.confirm(`Replace the current origin remote with the new OpenPond repo after committing?`)){M(!0),O(null);try{if(!(await V(`git_commit`,{message:e,includeUnstaged:a}))?.ok||s===`commit_push`&&!(await V(`git_push`,{runChecks:!1}))?.ok||t&&!(await V(`publish_openpond_repo`,{replaceOrigin:n}))?.ok)return;ee(!1)}catch(e){O(e instanceof Error?e.message:String(e))}finally{M(!1)}}}return{changeWorkspaceBranch:I,openCommitDialog:re,openCreateWorkspaceBranchDialog:F,openDefaultsSettingsFromBranchDialog:ie,runWorkspaceTool:H,submitCommitDialog:U,submitCreateWorkspaceBranch:L,syncWorkspaceLocally:z,syncWorkspaceLocallyForApp:R}}function _O(e,t,n){return!t&&!n||yO(e,t,n)}function vO(e,t,n){if(!t&&!n)return null;let r=null,i=-1/0;for(let a of e){if(a.archived||!yO(a,t,n))continue;let e=Date.parse(a.updatedAt),o=Number.isFinite(e)?e:0;(!r||o>i)&&(r=a,i=o)}return r}function yO(e,t,n){return t?e.workspaceKind===`local_project`&&e.workspaceId===t.id:n?e.appId===n.id||e.workspaceId===n.id:!1}function bO(e){return e.workspaceKind===`sandbox`?e.localProjectId??null:e.workspaceId??e.appId??null}function xO(e,t,n={}){return(SO(e)||wO(e,n))&&CO(t)}function SO(e){return e.startsWith(`sandbox_`)?e!==`sandbox_create`&&e!==`sandbox_templates`&&e!==`sandbox_template_launch`:!1}function CO(e){return e?.workspaceKind===`sandbox`||e?.workspaceKind===`sandbox_template`}function wO(e,t){if(e!==`sandbox_create`)return!1;let n=t.runtime;return!!(n&&typeof n==`object`&&!Array.isArray(n)&&typeof n.runtimeId==`string`&&n.runtimeId.trim())}function TO(e,t){return e.kind===`general`?`# general`:e.title?e.title:e.participants.find(e=>e.userId!==t)?.name??`Direct message`}var EO=[];function DO(e){let{composerDraftStore:t,appDispatch:n,mentionedAppId:r,setMentionedAppId:i,cloudSetupDialog:a,setCloudSetupDialog:o,setRightPanelTabRequest:s,workspaceDiffPanelViewState:c,setWorkspaceDiffPanelViewState:l,rightChatHistoryEvents:u,setRightChatHistoryEvents:d,locallyActiveCodexHistorySessionIds:f,setCodexHistoryTurnLocallyActive:p,draftSubagentDelegationMode:m,setDraftSubagentDelegationMode:h,confirmProjectAction:g,view:_,selectedAppId:v,selectedProjectId:y,selectedSessionId:b,draftProvider:x,draftModel:S,activeExperience:C,codexPermissionMode:w,codexReasoningEffort:T,openPondCommandAccessMode:E,busy:D,diffPanelOpen:ee,diffPanelExpanded:O,rightPanelMode:k,rightChatPanels:A,newProjectMode:j,newProjectName:te,newProjectBusy:M,commitMessage:N,commitIncludeUnstaged:ne,commitNextStep:P,branchDialogName:re,setSectionMenuOpen:F,setView:ie,setSelectedAppId:I,setSelectedProjectId:L,setSelectedSessionId:R,setPrompt:z,setDraftProvider:B,setDraftModel:ae,setDiffPanelOpen:V,setRightPanelMode:H,setRightChatPanels:U,setSyncingWorkspaceAppId:oe,setSettingsSection:W,setNewProjectDialogOpen:G,setNewProjectMode:se,setNewProjectName:ce,setNewProjectPath:le,setNewProjectBusy:ue,setCommitDialogOpen:de,setBranchDialogOpen:fe,setError:pe,showToast:me,appPreferences:he,applyBootstrapPayload:ge,approvals:_e,bootstrap:ve,connection:ye,events:be,runtimeEventStore:xe,sessions:Se,startup:Ce,setAppPreferences:we,setCodexHistorySessions:Te,setEvents:Ee,setSessions:De,cloudProjectById:Oe,localProjectById:ke,selectedApp:Ae,selectedCloudProject:je,selectedProject:Me,selectedProjectLinkedOpenPondApp:Ne,selectedSession:K,sidebarSessions:Pe,runtimeIndexes:Fe,connectedAppMentions:Ie,codexHistoryEvents:Le,setCodexHistoryEvents:Re,account:ze,accountPending:Be,accountSignedOut:Ve,activeModel:He,activeProvider:Ue,activeWorkspaceAppId:We,activeWorkspaceKind:Ge,activeWorkspaceLocation:Ke,appDefaults:qe,selectedSessionProjectId:Je,workspaceName:Ye,accountScopeKey:Xe,teamChat:Ze,communities:Qe,selectedProjectConfirmedCloudProject:$e,activeOpenPondCommandAccessMode:et,viewWorkspaceAppId:tt,viewWorkspaceId:nt,viewWorkspaceKind:rt,openPondActionCatalog:it,selectedActionCatalog:at,expandProject:ot,setExpandedProjectIds:st,advanceTrainingModelChatAfterTurn:ct,bindTrainingModelChatSession:lt,prepareTrainingModelChatTurn:ut,chatMessages:dt,pendingChatUserMessages:ft,recordPendingChatUserMessage:pt,runningSessionIds:mt,workspaceBusy:ht,visibleWorkspaceState:gt,visibleWorkspaceDiff:_t,rememberWorkspaceState:vt,refreshWorkspace:yt,setWorkspaceBusy:bt,refreshWorkspaceDiffWhenNeeded:xt,setPendingWorkspaceTarget:St,pendingSidebarWorkspaceTarget:Ct,setPendingSidebarWorkspaceTarget:wt,projectTarget:Tt,workspaceTarget:Et}=e,Dt=_===`apps`?`Apps`:_===`get-started`?`Walkthroughs`:_===`labs`?`Models`:_===`scheduled`?`Workflows`:_===`outputs`?`Outputs`:_===`projects`?`Projects`:_===`team`?Ze.detail?TO(Ze.detail.thread,Ze.currentUserId):`Team Chat`:_===`community`?Qe.preview?.displayName??`Communities`:K?.title??yv(C),{browserConversationId:Ot,handleWorkspaceDiffPanelViewStateChange:kt}=qD({appDispatch:n,diffPanelExpanded:O,diffPanelOpen:ee,rightChatPanels:A,rightPanelMode:k,selectedAppId:v,selectedCloudProject:je,selectedProjectId:y,selectedSession:K,selectedSessionId:b,setWorkspaceDiffPanelViewState:l,view:_,viewWorkspaceAppId:tt,viewWorkspaceId:nt,viewWorkspaceKind:rt,workspaceDiffPanelViewState:c}),At=JSON.stringify([Qn(ye),ve?.server.id,ve?.account.activeProfile,ve?.account.profile?.id,ve?.preferences.defaultTeamId]),jt=(0,J.useRef)(At);jt.current=At;let Mt=(0,J.useCallback)(async(e,t,n=()=>!0)=>{let r=()=>jt.current===At&&n();if(!ye||!r())return!1;let i=Pe.find(t=>t.id===e);if(!i&&e.startsWith(`codex_history_`)){let t=await Z.codexHistoryThread(ye,e,{tail:!0});if(!r())return!1;i=t.session}if(!i){let t=await Z.bootstrap(ye);if(!r())return!1;if(i=t.sessions.find(t=>t.id===e),!i)throw Error(`This thread is no longer available.`)}return t&&(await Z.taskInbox(ye,e),!r())||!await Op({kind:`chat`,sessionId:e},`push`,r)||!r()?!1:(De(e=>fy(e,i)),R(e),I(null),L(null),ie(`chat`),t&&fd(t),!0)},[ye,At,Pe,De,I,L,R,ie]),Nt=(0,J.useCallback)(()=>{se(`existing-local`),ce(``),le(``),G(!0)},[G,se,ce,le]),Pt=(0,J.useCallback)(()=>{se(`local`),ce(``),le(``),G(!0)},[G,se,ce,le]),{createCloudProjectFromScratch:Ft,createProjectFromScratch:It,createProjectCollection:Lt,removeProject:Rt}=ZD({connection:ye,defaultTeamId:qe.defaultTeamId,sessions:Se,selectedProjectId:y,confirmProjectAction:g,applyBootstrapPayload:ge,expandProject:ot,setExpandedProjectIds:st,setSelectedAppId:I,setSelectedProjectId:L,setSelectedSessionId:R,setError:pe,setView:ie,showToast:me}),{changeWorkspaceBranch:zt,openCommitDialog:Bt,openCreateWorkspaceBranchDialog:Vt,openDefaultsSettingsFromBranchDialog:Ht,runWorkspaceTool:Ut,submitCommitDialog:Wt,submitCreateWorkspaceBranch:Gt,syncWorkspaceLocally:Kt}=gO({connection:ye,activeWorkspaceAppId:We,appDefaults:qe,bootstrap:ve,branchDialogName:re,commitIncludeUnstaged:ne,commitMessage:N,commitNextStep:P,draftModel:S,draftProvider:x,cloudProjects:ve?.cloudProjects??[],selectedApp:Ae,selectedProject:Me,selectedProjectLinkedOpenPondApp:Ne,selectedSession:K,sessions:Se,title:Dt,visibleWorkspaceDiff:_t,visibleWorkspaceState:gt,workspaceBusy:ht,workspaceName:Ye,appDispatch:n,applyBootstrapPayload:ge,expandProject:ot,refreshWorkspace:yt,refreshWorkspaceDiff:xt,rememberWorkspaceState:vt,setBranchDialogOpen:fe,setCommitDialogOpen:de,setError:pe,setSessions:De,setSettingsSection:W,setSyncingWorkspaceAppId:oe,setView:ie,setWorkspaceBusy:bt,showToast:me}),qt=ID({applyBootstrapPayload:ge,cloudProjects:ve?.cloudProjects??[],connection:ye,localProjectById:ke,selectedCloudProject:je,selectedProject:Me,setWorkspaceBusy:bt,showToast:me,visibleWorkspaceState:gt}),Jt=ve?.preferences.subagents.delegationMode??`manual`,Yt=K?.subagentDelegationMode??m,Xt=!(C!==`development`||!ve?.preferences.subagents.enabled||Ue===`codex`||$m(b)||K?.subagentRunId),Zt=(0,J.useCallback)(e=>{if(!K){h(e);return}if(!ye||$m(K.id)||K.subagentRunId)return;let t=K.id,n=K.subagentDelegationMode??null;De(n=>n.map(n=>n.id===t?{...n,subagentDelegationMode:e}:n)),Z.patchSession(ye,t,{subagentDelegationMode:e}).then(e=>{De(t=>t.map(t=>t.id===e.id?e:t))}).catch(e=>{De(e=>e.map(e=>e.id===t?{...e,subagentDelegationMode:n}:e)),pe(e instanceof Error?e.message:String(e))})},[ye,K,pe,De]),Qt=(0,J.useCallback)(e=>{d(t=>t[e.session.id]===e.events?t:{...t,[e.session.id]:e.events}),Te(t=>fy(t,e.session))},[Te]),{answerCreateImproveQuestion:$t,applyCreateImproveCandidate:en,approveCreateImproveRun:tn,cancelCreateImproveRun:nn,changeDraftProvider:rn,openCreateImprovePullRequest:an,reconcileCreateImprovePullRequest:on,rejectCreateImproveCandidate:sn,pauseCreateImproveRun:cn,resumeCreateImproveRun:ln,reviseCreateImproveRun:un,sendPrompt:dn,stopTurn:pn}=AD({applyBootstrapPayload:ge,bootstrap:ve,chatMessages:dt,connection:ye,codexPermissionMode:w,codexReasoningEffort:T,openPondCommandAccessMode:et,draftModel:S,draftProvider:x,experience:C,expandProject:ot,getPrompt:t.getSnapshot,apps:ve?.apps??[],connectedAppMentions:Ie,mentionedAppId:r,ensureCloudSessionReady:qt,refreshWorkspace:yt,refreshWorkspaceDiff:xt,selectedApp:Ae,selectedActionCatalog:at,openPondActionCatalog:it,cloudProjects:ve?.cloudProjects??[],accountScopeKey:Xe,selectedCloudProject:je,selectedProject:Me,selectedProjectLinkedOpenPondApp:Ne,selectedSession:K,sessions:Se,workspaceTarget:Et.value,subagentDelegationMode:K?.subagentDelegationMode??m,setDraftModel:ae,setDraftProvider:B,setError:pe,setPrompt:z,setMentionedAppId:i,setCodexHistoryEvents:Re,setCodexHistorySessions:Te,onCodexHistoryTurnActivityChange:p,onCodexHistoryTurnPayload:Qt,onPendingUserMessage:pt,setEvents:Ee,setSelectedAppId:I,setSelectedProjectId:L,setSelectedSessionId:R,setSessions:De,setView:ie,setWorkspaceBusy:bt}),{archiveSession:mn,restoreSession:hn,renameSession:gn,toggleProjectPinned:_n,toggleSessionPinned:q,toggleSessionSavedForLater:vn}=mO({appPreferences:he,connection:ye,selectedSessionId:b,setAppPreferences:we,setCodexHistorySessions:Te,setError:pe,setSelectedSessionId:R,setSessions:De}),{changeWorkspaceTarget:yn,moveProjectToCloud:bn,startCloudSetupUpload:xn}=JD({account:ze,accountPending:Be,accountSignedOut:Ve,activeWorkspaceKind:Ge,activeWorkspaceLocation:Ke,appDispatch:n,applyBootstrapPayload:ge,busy:D,cloudSetupDialog:a,cloudProjects:ve?.cloudProjects??[],connection:ye,defaultTeamId:qe.defaultTeamId,expandProject:ot,localProjectById:ke,selectedCloudProject:je,selectedProject:Me,selectedSession:K,selectedSessionProjectId:Je,setCloudSetupDialog:o,setDiffPanelOpen:V,setError:pe,setSessions:De,setWorkspaceBusy:bt,showToast:me,visibleWorkspaceState:gt,workspaceBusy:ht}),Sn=(0,J.useCallback)(async e=>{if(C===`work`&&!K){if(e===`local`){St(`local`),me(Me?`Next task will use the local ${Me.name} checkout.`:`Next task will use an app-managed local workspace.`,`info`);return}if(e===`cloud`&&!Me&&!je){if(Be){me(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(Ve){me(`Add an OpenPond account before using Hosted.`,`error`);return}St(`cloud`),me(`Next task will use Hosted without a Project.`,`info`);return}}if(e===`hybrid`){let e=je?.id??$e?.id??K?.cloudProjectId??null,t=je?.teamId??$e?.teamId??K?.cloudTeamId??null;if(Be){me(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(Ve){me(`Add an OpenPond account before using Hybrid.`,`error`);return}if(!e||!t){St(null),me(`Upload/sync this Project to Cloud before using Hybrid.`,`error`);return}if(K&&!$m(K.id)){if(iv(K))return;if(!ye){me(`OpenPond App server is not connected.`,`error`);return}let n=await Z.patchSession(ye,K.id,{provider:x,modelRef:fn(x,S,ve?.providers??null),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:null,workspaceName:je?.name??$e?.name??Me?.name??K.workspaceName??`Hybrid workspace`,localProjectId:Me?.id??K.localProjectId??null,cloudProjectId:e,cloudTeamId:t,metadata:nv(K.metadata),cwd:Me?.workspacePath??K.cwd??null});De(e=>e.map(e=>e.id===n.id?n:e)),St(null),me(`Hybrid will use your selected model with hosted sandbox edits.`,`info`);return}St(`hybrid`),me(`Next message will use Hybrid with a hosted sandbox.`,`info`)}else St(null),await yn(e)},[Be,Ve,C,ve?.providers,yn,ye,S,x,je?.id,je?.name,je?.teamId,Me?.id,$e?.id,$e?.name,$e?.teamId,Me?.name,Me?.workspacePath,K,St,De,me]),Cn=(0,J.useCallback)((e,t)=>{I(null),L(e),R(null),ie(`chat`),ot(e),wt({projectId:e,target:t})},[ot,I,L,R,ie]);(0,J.useEffect)(()=>{if(!Ct||_!==`chat`||y!==Ct.projectId||b!==null)return;let e=Ct.target;wt(null),Sn(e)},[Sn,Ct,y,b,_]);let wn=YD({advanceTrainingTurn:ct,bindTrainingSession:lt,composerDraftStore:t,onSessionCreated:e=>{R(e.id),ie(`chat`),Op({kind:`chat`,sessionId:e.id}),h(null)},onSubmitted:async()=>{let e=K;if(ye&&e&&Qp(e))try{let t=await Z.patchSession(ye,e.id,{metadata:tm(e.metadata)});De(e=>e.map(e=>e.id===t.id?t:e))}catch(e){me(e instanceof Error?`Task started, but its Draft label could not be cleared: ${e.message}`:`Task started, but its Draft label could not be cleared.`,`error`)}},prepareTrainingTurn:ut,sendPrompt:dn,setMentionedAppId:i,showToast:me}),Tn=XD({appDispatch:n,connection:ye,sessions:Se,setDiffPanelOpen:V,setRightPanelMode:H,setSessions:De,setView:ie}),{createCloudEnvironmentFromSidebar:En,openCloudProjectDialog:Dn,openUrlInBrowserPanel:On,showBrowserPanel:kn,showChangesPanel:An,showGoalSidebarTab:jn}=mD({account:ze,browserConversationId:Ot,cloudProjectById:Oe,cloudProjects:ve?.cloudProjects??[],diffPanelOpen:ee,rightPanelMode:k,selectedProjectId:y,setDiffPanelOpen:V,setNewProjectDialogOpen:G,setNewProjectMode:se,setNewProjectName:ce,setRightPanelMode:H}),{changeProjectTarget:Mn,submitNewProjectDialog:Nn}=$D({appDispatch:n,connection:ye,selectedSession:K,setSessions:De,setWorkspaceBusy:bt,busy:D,cloudProjectById:Oe,createCloudProjectFromScratch:Ft,createProjectFromScratch:It,createProjectCollection:Lt,expandProject:ot,localProjectById:ke,newProjectBusy:M,newProjectMode:j,newProjectName:te,onCreateCloudEnvironment:En,onNewCloudProject:Dn,onNewLocalProject:Pt,onUseExistingFolderPath:Nt,projectTargetValue:Tt.value,setDiffPanelOpen:V,setDraftModel:ae,setDraftProvider:B,setError:pe,setNewProjectBusy:ue,setNewProjectDialogOpen:G,setNewProjectName:ce,setNewProjectPath:le,showToast:me,workspaceBusy:ht});gD({browserConversationId:Ot,sessionIds:(0,J.useMemo)(()=>Se.map(e=>e.id),[Se]),onOpenSession:Mt,onShowBrowserPanel:kn});let[Pn,Fn]=(0,J.useState)(null),In=(0,J.useCallback)(e=>{Fn({id:Date.now(),objective:e.objective,initialSessionIds:e.sessionId?[e.sessionId]:[]}),kp(Kf()),ie(`labs`)},[ie]),{activateRightChatPanel:Ln,closeRightChatPanel:Rn,openRightChatPanel:zn,rightChatPanelViews:Bn,showRightChatPanel:Vn,showRightPanelDiffTab:Hn,submitRightChatPrompt:Un,updateRightChatModel:Wn,updateRightChatPrompt:Gn,updateRightChatProvider:Kn,updateRightChatScrollState:qn}=pO({activeModel:He,activeProvider:Ue,approvals:_e,applyRightCodexHistoryPayload:Qt,codexHistoryEvents:Le,connectedAppMentions:Ie,connection:ye,contextCompaction:qe.contextCompaction,openLabTraining:In,locallyActiveCodexHistorySessionIds:f,openPondCommandAccessMode:E,pendingChatUserMessages:ft,providerSettings:ve?.providers??null,rightChatHistoryEvents:u,rightChatPanels:A,rightPanelMode:k,runtimeIndexes:Fe,runtimeEventStore:xe,runningSessionIds:mt,selectedSession:K,selectedSessionId:b,sendPrompt:dn,setDiffPanelOpen:V,setError:pe,setRightChatHistoryEvents:d,setRightChatPanels:U,setRightPanelMode:H,setRightPanelTabRequest:s,setView:ie,showChangesPanel:An,showToast:me,sidebarSessions:Pe,startupReady:Ce.ready});return{title:Dt,browserConversationId:Ot,handleWorkspaceDiffPanelViewStateChange:kt,openSessionInChat:Mt,openExistingProjectPathDialog:Nt,removeProject:Rt,changeProjectTarget:Mn,submitNewProjectDialog:Nn,changeWorkspaceBranch:zt,openCommitDialog:Bt,openCreateWorkspaceBranchDialog:Vt,openDefaultsSettingsFromBranchDialog:Ht,runWorkspaceTool:Ut,submitCommitDialog:Wt,submitCreateWorkspaceBranch:Gt,syncWorkspaceLocally:Kt,subagentDelegationDefaultMode:Jt,subagentDelegationMode:Yt,subagentDelegationAvailable:Xt,changeSubagentDelegationMode:Zt,answerCreateImproveQuestion:$t,applyCreateImproveCandidate:en,approveCreateImproveRun:tn,cancelCreateImproveRun:nn,changeDraftProvider:rn,openCreateImprovePullRequest:an,reconcileCreateImprovePullRequest:on,rejectCreateImproveCandidate:sn,pauseCreateImproveRun:cn,resumeCreateImproveRun:ln,reviseCreateImproveRun:un,sendPrompt:dn,stopTurn:pn,archiveSession:mn,restoreSession:hn,renameSession:gn,toggleProjectPinned:_n,toggleSessionPinned:q,toggleSessionSavedForLater:vn,moveProjectToCloud:bn,startCloudSetupUpload:xn,changeWorkspaceTarget:Sn,switchProjectWorkspaceTarget:Cn,sendPromptFromMainComposer:wn,openSandboxWorkspace:Tn,createCloudEnvironmentFromSidebar:En,openCloudProjectDialog:Dn,openUrlInBrowserPanel:On,showBrowserPanel:kn,showChangesPanel:An,showGoalSidebarTab:jn,rightChatTrainingLaunchRequest:Pn,setRightChatTrainingLaunchRequest:Fn,closeRightChatPanel:Rn,openRightChatPanel:zn,rightChatPanelViews:Bn,showRightChatPanel:Vn,showRightPanelDiffTab:Hn,submitRightChatPrompt:Un,activateRightChatPanel:Ln,updateRightChatModel:Wn,updateRightChatPrompt:Gn,updateRightChatProvider:Kn,updateRightChatScrollState:qn,openProfileSettings:(0,J.useCallback)(()=>{F(null),W(`profile`),ie(`settings`),Op({kind:`settings`,section:`profile`})},[F,W,ie]),diagnosticEvents:(0,J.useMemo)(()=>o_(ve?.diagnostics??EO,be.filter(e=>e.name===`diagnostic`)),[ve?.diagnostics,be]),toggleRightSidebar:(0,J.useCallback)(()=>{ee?V(!1):_===`labs`?(H(`changes`),s({id:Date.now(),tab:`summary`}),V(!0)):(H(`home`),_===`chat`&&s(e=>({id:(e?.id??0)+1,tab:`outputs`,overview:`new`})),V(!0))},[ee,V,H,s,_])}}var OO=`openpond:desktop-get-started:v1`,kO=`openpond:open-get-started`;function AO(){window.dispatchEvent(new Event(kO))}function jO(e,t){let n=setTimeout(r,5e3);function r(){t()?n=setTimeout(r,500):e()}return()=>clearTimeout(n)}var MO=(0,J.lazy)(()=>l(()=>import(`./GettingStartedDialog-sPaPMc61.js`).then(e=>({default:e.GettingStartedDialog})),__vite__mapDeps([91,1,2,3,14,9,38,25,27,21,42,43,44,45,49,92,52])));function NO({ready:e,connection:t,payload:n,onPayload:r}){let[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(()=>{try{return localStorage.getItem(OO)!==null}catch{return!1}}),c=Wh(),l=n?.account.state===`signed_in`||n?.account.state===`signed_out`||n?.account.state===`auth_error`,u=n?.account.state===`signed_in`&&!!(n.providers.providers.codex?.enabled&&n.providers.statuses.codex?.available)&&!!(n.providers.providers[`claude-code`]?.enabled&&n.providers.statuses[`claude-code`]?.available);(0,J.useEffect)(()=>{if(c&&e&&t&&l&&!o&&!u&&!i)return jO(()=>a(!0),()=>{let e=document.activeElement;return document.hidden||!!document.querySelector(`[role="dialog"]`)||e instanceof HTMLElement&&(e.isContentEditable||e.matches(`input, textarea`))})},[c,e,t?.serverUrl,t?.token,l,o,u,i]),(0,J.useEffect)(()=>{function n(){e&&t&&a(!0)}return window.addEventListener(kO,n),()=>window.removeEventListener(kO,n)},[e,t]);function d(){a(!1),s(!0);try{localStorage.setItem(OO,`dismissed`)}catch{}}return!i||!e||!t||!n?null:(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(MO,{connection:t,payload:n,onPayload:r,onClose:d},JSON.stringify([t.serverUrl,t.token]))})}var PO=new Set([`claude.ai`,`console.anthropic.com`,`platform.claude.com`,`console.claude.com`]);function FO(e){let t=e.replace(/\x1b\][\s\S]*?(?:\x07|\x1b\\)/gu,``).replace(/\x1b\[[0-?]*[ -/]*[@-~]/gu,``).replace(/\r/gu,``),n=null;for(let e of t.matchAll(/https:\/\/[^\s<>"']+(?=\s)/gu))try{let t=new URL(e[0]);if(t.protocol!==`https:`||t.username||t.password||t.port||!PO.has(t.hostname)||t.pathname!==`/oauth/authorize`||t.searchParams.get(`response_type`)!==`code`||!t.searchParams.get(`client_id`)||!t.searchParams.get(`state`)||!t.searchParams.get(`code_challenge`))continue;n=t.href}catch{}return{url:n,needsCode:/(?:paste|enter)\s+(?:(?:the|your)\s+)?(?:(?:authorization|authentication|login)\s+)?code\b/iu.test(t),needsEnter:/login successful[\s\S]*(?:press|hit)\s+(?:the\s+)?enter\b/iu.test(t)}}function IO(e){let t=e.trim();return t&&t.length<=4096&&!/[\s\x00-\x1f\x7f]/u.test(t)?`${t}\r`:null}var LO=(0,J.lazy)(()=>l(()=>import(`./TerminalOverlay-0pzEvy-C.js`).then(e=>({default:e.TerminalOverlay})),__vite__mapDeps([93,1,2,3,14,9,36,27,21,30,60,94])));function RO(e){let[t,n]=(0,J.useState)(0);return(0,Y.jsx)(zO,{...e,onRetry:()=>n(e=>e+1)},t)}function zO({connection:e,command:t,displayCommand:n=`claude auth login`,onClose:r,onComplete:i,openRequest:a,onRetry:o}){let[s,c]=(0,J.useState)(`dialog`);(0,J.useEffect)(()=>{c(`dialog`)},[a]);let[l,u]=(0,J.useState)([]),[d]=(0,J.useState)(()=>({kind:`draft`,id:`native-login-${crypto.randomUUID()}`})),[f]=(0,J.useState)(()=>({command:t,displayCommand:n})),[p,m]=(0,J.useState)({url:null,needsCode:!1,needsEnter:!1}),[h,g]=(0,J.useState)(),[_,v]=(0,J.useState)(``),[y,b]=(0,J.useState)(!1),[x,S]=(0,J.useState)(null);hr(x,{prefix:`Claude sign-in`});let C=mr(),w=(0,J.useRef)(``),T=(0,J.useRef)(0),E=(0,J.useRef)(!1),D=(0,J.useRef)(!1),ee=l.some(e=>e.commandStatus===`failed`||e.status===`error`),O=l.some(e=>e.status===`exited`&&e.lastExitCode!==0),k=!ee&&!l.some(e=>e.status===`exited`),A=(0,J.useCallback)(e=>{w.current=(w.current+e).slice(-65536);let t=FO(w.current);m(e=>e.url===t.url&&e.needsCode===t.needsCode&&e.needsEnter===t.needsEnter?e:t)},[]);(0,J.useEffect)(()=>{p.needsEnter&&!E.current&&k&&(E.current=!0,g({id:++T.current,data:`\r`}))},[p.needsEnter,k]),(0,J.useEffect)(()=>{!D.current&&l.some(e=>e.commandStatus===`success`&&e.lastExitCode===0)&&(D.current=!0,(i??r)())},[r,i,l]),(0,J.useEffect)(()=>{O&&S(`Sign-in did not complete. Try again or open the terminal for details.`)},[O]);async function j(){if(p.url&&k)try{let e=window.openpond?.browser;if(e?.openExternal){let t=await e.openExternal({conversationId:d.id,url:p.url});if(!t.ok)throw Error(t.error??`Could not open your browser.`)}else window.open(p.url,`_blank`,`noopener,noreferrer`)?.focus()}catch(e){S(e instanceof Error?e.message:String(e))}}async function te(){if(p.url&&k)try{await navigator.clipboard.writeText(p.url),C?.(`Sign-in link copied.`,`success`)}catch(e){S(e instanceof Error?e.message:`Could not copy the sign-in link.`)}}function M(e){e.preventDefault();let t=IO(_);t?k&&p.needsCode&&!y&&(S(null),g({id:++T.current,data:t}),v(``),b(!0)):S(`Paste the code from your browser as a single line.`)}return(0,za.createPortal)((0,Y.jsxs)(`div`,{className:`native-login-session`,children:[(0,Y.jsxs)(`div`,{className:`native-login-status`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`native-login-resume`,onClick:()=>c(`dialog`),children:[k?(0,Y.jsx)(ar,{size:15,className:`native-login-spin`}):(0,Y.jsx)(`img`,{src:`/agent-sources/claude-code.svg`,alt:``}),(0,Y.jsx)(`span`,{children:`Claude sign-in`})]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>c(s===`terminal`?`minimized`:`terminal`),"aria-expanded":s===`terminal`,children:[(0,Y.jsx)(ur,{size:15}),` `,s===`terminal`?`Hide terminal`:`Show terminal`]}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Cancel Claude sign-in`,onClick:r,children:(0,Y.jsx)(dr,{size:15})})]}),(0,Y.jsx)(`div`,{className:`native-setup-terminal native-login-terminal ${s===`terminal`?`expanded`:``}`,children:(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(LO,{open:s===`terminal`,background:!0,disposeOnUnmount:!0,connection:e,scope:d,tabs:l,onTabsChange:u,cwd:null,appId:null,workspaceName:`Claude sign-in`,queuedCommand:null,setupCommand:f,setupInput:h,onOutput:A,onClose:()=>c(`minimized`)})})}),s===`dialog`?(0,Y.jsxs)(xr,{ariaLabel:`Sign in to Claude`,backdropClassName:`git-dialog-backdrop native-login-backdrop`,className:`git-dialog native-login-dialog`,onClose:()=>c(`minimized`),children:[(0,Y.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Minimize Claude sign-in`,onClick:()=>c(`minimized`),children:(0,Y.jsx)(dr,{size:16})}),(0,Y.jsx)(`img`,{className:`native-login-icon`,src:`/agent-sources/claude-code.svg`,alt:``}),(0,Y.jsx)(`h2`,{children:`Sign in to Claude`}),(0,Y.jsx)(`p`,{children:`Finish signing in through your browser. This window will close when you’re connected.`}),k?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`native-login-actions`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`git-dialog-primary`,disabled:!p.url,onClick:()=>void j(),children:[(0,Y.jsx)(ir,{size:15}),` Continue in browser`]}),(0,Y.jsxs)(`button`,{type:`button`,className:`native-login-secondary`,disabled:!p.url,onClick:()=>void te(),children:[(0,Y.jsx)(rr,{size:15}),` Copy link`]})]}),(0,Y.jsxs)(`p`,{className:`native-login-progress`,role:`status`,children:[(0,Y.jsx)(ar,{size:14,className:`native-login-spin`}),` `,y?`Completing sign-in…`:p.url?`Waiting for browser sign-in…`:`Preparing your sign-in link…`]}),p.needsCode?(0,Y.jsxs)(`form`,{onSubmit:M,className:`native-login-code`,children:[(0,Y.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,Y.jsx)(`span`,{children:`If your browser gave you a code`}),(0,Y.jsx)(`input`,{type:`password`,autoComplete:`off`,spellCheck:!1,"aria-label":`Claude sign-in code`,value:_,disabled:y,onChange:e=>v(e.target.value),placeholder:`Paste the code`})]}),(0,Y.jsx)(`button`,{type:`submit`,className:`native-login-secondary`,disabled:y||!_.trim(),children:`Submit code`})]}):null]}):(0,Y.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,onClick:o,children:`Try again`}),(0,Y.jsxs)(`footer`,{children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>c(`terminal`),children:[(0,Y.jsx)(ur,{size:14}),` Terminal details`]}),(0,Y.jsx)(`button`,{type:`button`,onClick:r,children:`Cancel sign-in`})]})]}):null]}),document.body)}var BO=(0,J.createContext)(null);function VO({connection:e,onProviders:t,children:n}){let r=e?JSON.stringify([e.serverUrl,e.token]):null,[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(null),c=o?.key===r?o.result:null,[l,u]=(0,J.useState)(0),d=(0,J.useRef)(null),f=(0,J.useRef)(t);f.current=t;let p=mr(),[m,h]=(0,J.useState)(null);hr(m,{prefix:`Claude connection`});let g=i?.key===r&&i!==null;(0,J.useEffect)(()=>(a(null),s(null),h(null),()=>{d.current?.abort(),d.current=null}),[r]);let _=(0,J.useCallback)(t=>{e&&r&&(d.current?.abort(),h(null),s(null),a(n=>n?.key===r?n:{id:crypto.randomUUID(),key:r,connection:e,command:t}),u(e=>e+1))},[e,r]),v=(0,J.useCallback)(()=>u(e=>e+1),[]);async function y(){if(!i||i.key!==r)return;a(null);let e=new AbortController;d.current?.abort(),d.current=e;try{let t=await q(i.connection,`/v1/providers/claude-code/native-setup`,{method:`POST`,body:JSON.stringify({action:`check`}),signal:AbortSignal.any([e.signal,AbortSignal.timeout(45e3)])});if(e.signal.aborted)return;s({key:i.key,result:t}),f.current(t.settings),t.status===`ready`?p?.(`Claude connected.`,`success`):h(t.error??`Claude sign-in could not be verified. Refresh the connection in Settings.`)}catch(t){e.signal.aborted||h(t instanceof Error?t.message:`Could not verify the Claude connection.`)}finally{d.current===e&&(d.current=null)}}return(0,Y.jsxs)(BO.Provider,{value:{active:g,result:c,start:_,resume:v},children:[n,g&&i?(0,Y.jsx)(RO,{connection:i.connection,...i.command,openRequest:l,onClose:()=>a(null),onComplete:()=>void y()},i.id):null]})}function HO(){let e=(0,J.useContext)(BO);if(!e)throw Error(`Native login requires the app shell.`);return e}var UO=Vr();function WO(){return(0,Y.jsx)(m,{client:UO,children:(0,Y.jsx)(GO,{})})}function GO(){let e=sD(),t=DO(e);return o(e.startup),(0,Y.jsx)(gr,{showToast:e.showToast,children:(0,Y.jsxs)(VO,{connection:e.connection,onProviders:t=>{e.bootstrap&&e.applyBootstrapPayload({...e.bootstrap,providers:t})},children:[(0,Y.jsx)(uv,{primary:e,secondary:t}),(0,Y.jsx)(NO,{ready:e.startup.ready,connection:e.connection,payload:e.bootstrap,onPayload:e.applyBootstrapPayload})]})})}export{J_ as $,ws as $n,bf as $t,$ as A,nu as An,WO as App,om as At,kv as B,yl as Bn,Jf as Bt,jS as C,qd as Cn,Uh as Ct,Hb as D,bd as Dn,jh as Dt,BS as E,xd as En,Th as Et,eb as F,cu as Fn,wp as Ft,wv as G,As as Gn,Mf as Gt,Av as H,xl as Hn,qf as Ht,bv as I,fu as In,Tp as It,Tv as J,xs as Jn,Ef as Jt,Ev as K,Ps as Kn,Of as Kt,Cv as L,Nu as Ln,Ep as Lt,Zy as M,iu as Mn,Mp as Mt,Xy as N,Ou as Nn,Op as Nt,xb as O,Xu as On,$m as Ot,$y as P,Lu as Pn,kp as Pt,tv as Q,ps as Qn,xf as Qt,Sv as R,wl as Rn,Uf as Rt,wC as S,Jd as Sn,Wh as St,HS as T,Z as Tn,wh as Tt,Mv as U,Hc as Un,Vf as Ut,jv as V,Sl as Vn,Xf as Vt,xv as W,Uc as Wn,If as Wt,_v as X,Ss as Xn,Cf as Xt,pv as Y,ys as Yn,wf as Yt,mv as Z,_s as Zn,Sf as Zt,Uw as _,$d as _n,Fr as _r,mg as _t,bD as a,pf as an,mo as ar,E_ as at,ZC as b,Xd as bn,ag as bt,dD as c,uf as cn,Da as cr,a_ as ct,PE as d,of as dn,xi as dr,Jg as dt,yf as en,vs as er,G_ as et,KT as f,af as fn,Xr as fr,Vg as ft,Ww as g,ef as gn,ri as gr,dg as gt,UT as h,tf as hn,ei as hr,bg as ht,tO as i,mf as in,fo as ir,V_ as it,Yy as j,ru as jn,am as jt,Sb as k,Wu as kn,sm as kt,FE as l,lf as ln,Ta as lr,e_ as lt,WT as m,nf as mn,ii as mr,xg as mt,AO as n,gf as nn,po as nr,K_ as nt,_D as o,ff as on,co as or,I_ as ot,qT as p,rf as pn,ti as pr,zg as pt,Ov as q,Os as qn,Df as qt,TO as r,hf as rn,ho as rr,q_ as rt,fD as s,df as sn,so as sr,L_ as st,HO as t,vf as tn,Po as tr,W_ as tt,IE as u,cf as un,pa as ur,Yg as ut,Gw as v,Qd as vn,ug as vt,VS as w,Gd as wn,Mh as wt,XC as x,Yd as xn,Hh as xt,Sw as y,Zd as yn,pg as yt,Dv as z,Nl as zn,Kf as zt};