openpond 0.2.62 → 0.2.63

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 (496) hide show
  1. package/README.md +2 -0
  2. package/dist/app-server.d.ts +1053 -63
  3. package/dist/app-server.js +1 -1
  4. package/dist/chunks/{acp-DYRBDJRU.js → acp-H3MJCPHX.js} +1 -1
  5. package/dist/chunks/{acp-agent-UTLP7C3I.js → acp-agent-DWA7272M.js} +1 -1
  6. package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
  7. package/dist/chunks/{app-layer-N2H3RBEN.js → app-layer-K7H2WJ56.js} +1 -1
  8. package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
  9. package/dist/chunks/app-server-evaluations-XGMGS67X.js +2 -0
  10. package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
  11. package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
  12. package/dist/chunks/apps-QKAHJGQ4.js +2 -0
  13. package/dist/chunks/chunk-25XXZS3E.js +2 -0
  14. package/dist/chunks/chunk-27JGS3KB.js +12 -0
  15. package/dist/chunks/{chunk-7JBB4PXS.js → chunk-2HAWOMZK.js} +1 -1
  16. package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
  17. package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
  18. package/dist/chunks/{chunk-GEKORCMN.js → chunk-42V4NV2F.js} +1 -1
  19. package/dist/chunks/{chunk-VAJSRUAB.js → chunk-4FNCBA3Y.js} +1 -1
  20. package/dist/chunks/{chunk-F7D4BMTO.js → chunk-4L6DU6Z2.js} +1 -1
  21. package/dist/chunks/{chunk-SZKFNKWO.js → chunk-4SZ3HKHU.js} +1 -1
  22. package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
  23. package/dist/chunks/chunk-5FU5RLML.js +2 -0
  24. package/dist/chunks/{chunk-6SH4B7DV.js → chunk-5MHYGMJG.js} +1 -1
  25. package/dist/chunks/{chunk-MEK7DLX3.js → chunk-6EBCS57F.js} +1 -1
  26. package/dist/chunks/chunk-6RS4NAOY.js +2 -0
  27. package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
  28. package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
  29. package/dist/chunks/{chunk-P74RR2GB.js → chunk-7WYL2IDD.js} +1 -1
  30. package/dist/chunks/chunk-7YLXGILH.js +2 -0
  31. package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
  32. package/dist/chunks/{chunk-NWOK6NLE.js → chunk-AH26AQN7.js} +1 -1
  33. package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
  34. package/dist/chunks/chunk-B5R53U74.js +2 -0
  35. package/dist/chunks/{chunk-NKZNPTLA.js → chunk-BPZOABMC.js} +1 -1
  36. package/dist/chunks/{chunk-2IIBCCOK.js → chunk-BSPFY3Y5.js} +1 -1
  37. package/dist/chunks/{chunk-5OSM75X5.js → chunk-BU27SLZP.js} +2 -2
  38. package/dist/chunks/chunk-C2AXMKK4.js +2 -0
  39. package/dist/chunks/{chunk-AMO5DVKM.js → chunk-C2LAEGOW.js} +2 -2
  40. package/dist/chunks/{chunk-GNCEZ3UP.js → chunk-CZ5R4JXZ.js} +1 -1
  41. package/dist/chunks/{chunk-JIFUGA3U.js → chunk-DABBHWSF.js} +1 -1
  42. package/dist/chunks/{chunk-VK4TPZTA.js → chunk-DLANLLKH.js} +1 -1
  43. package/dist/chunks/{chunk-WGLVSGFA.js → chunk-DQI5TE6A.js} +2 -2
  44. package/dist/chunks/chunk-DTTFUANI.js +12 -0
  45. package/dist/chunks/{chunk-4TM75R7V.js → chunk-DUL6DXOI.js} +1 -1
  46. package/dist/chunks/{chunk-TGEGXTPR.js → chunk-ELX7VRSU.js} +1 -1
  47. package/dist/chunks/chunk-ERL2M773.js +3 -0
  48. package/dist/chunks/{chunk-4PZWGNX4.js → chunk-ERT32RZA.js} +4 -4
  49. package/dist/chunks/{chunk-RTJCELRR.js → chunk-EZRUWIP6.js} +1 -1
  50. package/dist/chunks/{chunk-LJDBR3RN.js → chunk-F6UQ6PPK.js} +1 -1
  51. package/dist/chunks/chunk-F7QTIHXX.js +2 -0
  52. package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
  53. package/dist/chunks/{chunk-FFWOTZQM.js → chunk-FVRII5XO.js} +1 -1
  54. package/dist/chunks/{chunk-C7M2WBWZ.js → chunk-FYYYECHE.js} +51 -49
  55. package/dist/chunks/chunk-G32BO6M5.js +4 -0
  56. package/dist/chunks/{chunk-NBE74GLF.js → chunk-G6OR5NB6.js} +1 -1
  57. package/dist/chunks/{chunk-GQGLPKU4.js → chunk-GGJUWIGR.js} +1 -1
  58. package/dist/chunks/{chunk-VSQXDS6H.js → chunk-GPL2Z65R.js} +1 -1
  59. package/dist/chunks/{chunk-INO67SEN.js → chunk-GS6ZUSIN.js} +2 -2
  60. package/dist/chunks/{chunk-47AXSBPV.js → chunk-GVARQXYI.js} +1 -1
  61. package/dist/chunks/chunk-GXCUH2VV.js +17 -0
  62. package/dist/chunks/{chunk-OCC43RSJ.js → chunk-GXZCMO6S.js} +1 -1
  63. package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
  64. package/dist/chunks/{chunk-HBLN4OLY.js → chunk-HUCBKXTU.js} +1 -1
  65. package/dist/chunks/{chunk-M5IX6VUA.js → chunk-IHB5GTOJ.js} +2 -2
  66. package/dist/chunks/{chunk-J3B2GM4A.js → chunk-IWWXIUAQ.js} +1 -1
  67. package/dist/chunks/chunk-J572ANHX.js +13 -0
  68. package/dist/chunks/{chunk-AKZPMKWP.js → chunk-J7ZTPXRQ.js} +1 -1
  69. package/dist/chunks/{chunk-CJUVHE4U.js → chunk-JORRZ4BB.js} +1 -1
  70. package/dist/chunks/chunk-JSQRLLN6.js +2 -0
  71. package/dist/chunks/chunk-KCOTDUGW.js +2 -0
  72. package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.js} +1 -1
  73. package/dist/chunks/{chunk-LRRBYIGH.js → chunk-LK2K3SPM.js} +2 -2
  74. package/dist/chunks/{chunk-557XSPVS.js → chunk-LKKMLBOH.js} +1 -1
  75. package/dist/chunks/{chunk-U456UP3N.js → chunk-LSZJ5M3X.js} +1 -1
  76. package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
  77. package/dist/chunks/{chunk-Y2KPHVZK.js → chunk-M3SCON53.js} +1 -1
  78. package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
  79. package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
  80. package/dist/chunks/{chunk-4RZBGKT7.js → chunk-N33D7KCW.js} +1 -1
  81. package/dist/chunks/chunk-N42HT64M.js +2 -0
  82. package/dist/chunks/{chunk-SD64CLJX.js → chunk-N4VHLJBZ.js} +1 -1
  83. package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
  84. package/dist/chunks/chunk-NG2L6D7G.js +2 -0
  85. package/dist/chunks/{chunk-GV3LFSMI.js → chunk-NLYZ5K7U.js} +1 -1
  86. package/dist/chunks/{chunk-F4TJ7WQV.js → chunk-NT7N6KLE.js} +1 -1
  87. package/dist/chunks/{chunk-PAE3PQEC.js → chunk-NZTCH6K5.js} +1 -1
  88. package/dist/chunks/{chunk-BEI4YULC.js → chunk-OG33QAG6.js} +1 -1
  89. package/dist/chunks/chunk-OTUBJV6C.js +6 -0
  90. package/dist/chunks/{chunk-RH43WLBX.js → chunk-PBTXLQAU.js} +1 -1
  91. package/dist/chunks/{chunk-3R4MSE2S.js → chunk-QJ6KUVAR.js} +1 -1
  92. package/dist/chunks/{chunk-7JXZNCBC.js → chunk-QU4UE73E.js} +1 -1
  93. package/dist/chunks/{chunk-WQMXEZVE.js → chunk-R6VJDOQM.js} +3 -3
  94. package/dist/chunks/{chunk-FUSCTBJI.js → chunk-R6WMY6AH.js} +1 -1
  95. package/dist/chunks/{chunk-EIX2V2KU.js → chunk-RDSVU6F6.js} +1 -1
  96. package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
  97. package/dist/chunks/{chunk-GW5SE3FM.js → chunk-RZUCVF2Q.js} +1 -1
  98. package/dist/chunks/{chunk-UC3FXTDL.js → chunk-SFKZITAG.js} +5 -5
  99. package/dist/chunks/{chunk-5A6ER3M2.js → chunk-SHJY5RLU.js} +1 -1
  100. package/dist/chunks/chunk-SI5W5LBV.js +2 -0
  101. package/dist/chunks/chunk-SO42ZB5K.js +2 -0
  102. package/dist/chunks/{chunk-2UDAKLJ4.js → chunk-TCOTXCV6.js} +1 -1
  103. package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
  104. package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
  105. package/dist/chunks/{chunk-X4ZT22SG.js → chunk-UPWJSNL5.js} +1 -1
  106. package/dist/chunks/chunk-URNMC46H.js +157 -0
  107. package/dist/chunks/{chunk-NLQ2UPN2.js → chunk-V7KR74NO.js} +1 -1
  108. package/dist/chunks/{chunk-HXZXDDKW.js → chunk-VHXDWAEH.js} +1 -1
  109. package/dist/chunks/{chunk-NE4ESZPT.js → chunk-W2TICQ62.js} +1 -1
  110. package/dist/chunks/chunk-WP2L2NY2.js +2 -0
  111. package/dist/chunks/chunk-WSOUMXH3.js +24 -0
  112. package/dist/chunks/chunk-WWQNMC7C.js +6 -0
  113. package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
  114. package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
  115. package/dist/chunks/{chunk-ZXT7V64X.js → chunk-XOB6FKQV.js} +1 -1
  116. package/dist/chunks/chunk-Y766IN7Y.js +2 -0
  117. package/dist/chunks/chunk-YCZZ62C2.js +2 -0
  118. package/dist/chunks/chunk-YM4PSVFW.js +4 -0
  119. package/dist/chunks/chunk-YNQWJWIC.js +10 -0
  120. package/dist/chunks/{chunk-GSWBNJGZ.js → chunk-Z3BWCFLV.js} +1 -1
  121. package/dist/chunks/{chunk-GOIKLFXK.js → chunk-ZG6353RM.js} +1 -1
  122. package/dist/chunks/{chunk-T6C5BNXK.js → chunk-ZPTKR3GB.js} +1 -1
  123. package/dist/chunks/{chunk-MNXNZDDW.js → chunk-ZYVHOVKL.js} +1 -1
  124. package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
  125. package/dist/chunks/cli-PSXMIJTF.js +2 -0
  126. package/dist/chunks/{configuration-command-BU2RPG33.js → configuration-command-XYKMXIWF.js} +1 -1
  127. package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
  128. package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
  129. package/dist/chunks/{connected-starting-assets-V5QXRK5Q.js → connected-starting-assets-JONPTII6.js} +1 -1
  130. package/dist/chunks/{continual-FLW6DAJK.js → continual-Z7MO2PF6.js} +1 -1
  131. package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
  132. package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
  133. package/dist/chunks/datasets-2PC2HP7N.js +2 -0
  134. package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
  135. package/dist/chunks/dist-47AYOIH6.js +2 -0
  136. package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
  137. package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
  138. package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
  139. package/dist/chunks/experiments-SZQYR6MH.js +2 -0
  140. package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
  141. package/dist/chunks/{help-PXUUREHZ.js → help-7HXFWIKS.js} +1 -1
  142. package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
  143. package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
  144. package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
  145. package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
  146. package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
  147. package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
  148. package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
  149. package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
  150. package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
  151. package/dist/chunks/hosted-profile-evaluation-preparation-2LSMZQNA.js +3 -0
  152. package/dist/chunks/{hosted-tasksets-X2YCFYEJ.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
  153. package/dist/chunks/human-review-M26UKGJL.js +2 -0
  154. package/dist/chunks/{import-JWZSZCE4.js → import-6SI4BEKS.js} +2 -2
  155. package/dist/chunks/learning-HM3NWOV5.js +2 -0
  156. package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
  157. package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
  158. package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
  159. package/dist/chunks/opchat-AG4CWVY4.js +3 -0
  160. package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
  161. package/dist/chunks/organizations-KDKX77XZ.js +2 -0
  162. package/dist/chunks/{profile-ELE2D7HU.js → profile-O5HL5DTQ.js} +1 -1
  163. package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
  164. package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
  165. package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
  166. package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
  167. package/dist/chunks/{runtime-776NUSE7.js → runtime-XBA744HJ.js} +2 -2
  168. package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
  169. package/dist/chunks/{sandbox-template-WP6YCGBK.js → sandbox-template-27U3FQN7.js} +1 -1
  170. package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
  171. package/dist/chunks/{send-turn-RPB65PME.js → send-turn-FIPWOXWV.js} +1 -1
  172. package/dist/chunks/src-BLWX6DRG.js +424 -0
  173. package/dist/chunks/{src-2R4CMCJ5.js → src-PU7QTFO5.js} +1 -1
  174. package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
  175. package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
  176. package/dist/chunks/{store-continual-support-reviews-R62D2HD6.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
  177. package/dist/chunks/{store-conversation-serving-25O7BAR2.js → store-conversation-serving-K324SQTO.js} +1 -1
  178. package/dist/chunks/{store-create-improve-T5E2GUKK.js → store-create-improve-3LQMIYAP.js} +1 -1
  179. package/dist/chunks/{store-datasets-5Y4U5L3R.js → store-datasets-3KSX7RSO.js} +1 -1
  180. package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
  181. package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
  182. package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
  183. package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
  184. package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
  185. package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
  186. package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
  187. package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
  188. package/dist/chunks/{store-local-experiments-LOH4F4TF.js → store-local-experiments-QTVHJAEP.js} +1 -1
  189. package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
  190. package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
  191. package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
  192. package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
  193. package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
  194. package/dist/chunks/{store-preference-comparison-RNIFLJRW.js → store-preference-comparison-DWV5XSMY.js} +1 -1
  195. package/dist/chunks/{store-schedules-DVQ2PP4F.js → store-schedules-2KUY4T6M.js} +1 -1
  196. package/dist/chunks/{store-sidebar-file-bookmarks-LXWFFYCZ.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
  197. package/dist/chunks/{store-sidebar-preferences-4HH7LX6N.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
  198. package/dist/chunks/{store-subagents-JLW4GD4Q.js → store-subagents-UGVEFA6M.js} +1 -1
  199. package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
  200. package/dist/chunks/{store-task-inventory-NJXRXFLC.js → store-task-inventory-GEQIZELY.js} +1 -1
  201. package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
  202. package/dist/chunks/{store-training-VRLU6NFX.js → store-training-CQV7PL3V.js} +1 -1
  203. package/dist/chunks/{store-training-jobs-3ZHG4LGI.js → store-training-jobs-XKN6K66J.js} +18 -10
  204. package/dist/chunks/{store-training-models-KWQD5PRP.js → store-training-models-Q7DTTR4S.js} +1 -1
  205. package/dist/chunks/{store-usage-ZRS3ILF2.js → store-usage-XGAX7NLB.js} +1 -1
  206. package/dist/chunks/{taskset-QDMCQQDJ.js → taskset-ARKJQKYQ.js} +1 -1
  207. package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
  208. package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
  209. package/dist/chunks/{teams-bot-GF272RGC.js → teams-bot-UTQAJA6H.js} +1 -1
  210. package/dist/chunks/training-3IWW4256.js +2 -0
  211. package/dist/chunks/{training-DF5UEPY3.js → training-RVIESURJ.js} +1 -1
  212. package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
  213. package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
  214. package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
  215. package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
  216. package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
  217. package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
  218. package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
  219. package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
  220. package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
  221. package/dist/chunks/{web-search-5RUXYIOF.js → web-search-7FBUBZ66.js} +1 -1
  222. package/dist/chunks/{workspaces-JRY2IE7H.js → workspaces-G3CMY7ZA.js} +1 -1
  223. package/dist/cli.js +1 -1
  224. package/dist/index.js +1 -1
  225. package/dist/sandbox/url.d.ts +3 -1
  226. package/dist/skills/LICENSE +21 -0
  227. package/dist/skills/manifest.json +168 -0
  228. package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
  229. package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
  230. package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
  231. package/dist/skills/openpond-cli/SKILL.md +11 -7
  232. package/dist/skills/openpond-cli/references/experiments-and-training.md +1 -1
  233. package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
  234. package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
  235. package/dist/web/assets/App-DY2R8Z6r.js +53 -0
  236. package/dist/web/assets/{AppDialog-BurL61qE.js → AppDialog-8Y0FYalT.js} +1 -1
  237. package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
  238. package/dist/web/assets/{AppToastContext-DZLErwj0.js → AppToastContext-BiQbbVxq.js} +1 -1
  239. package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
  240. package/dist/web/assets/{AttachmentTypeIcon-CpMSfHCK.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
  241. package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
  242. package/dist/web/assets/{CartesianChart-CEbM980A.js → CartesianChart-J4ChOjvG.js} +1 -1
  243. package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
  244. package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
  245. package/dist/web/assets/{CollaborationTabs-DrKJmJZK.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
  246. package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
  247. package/dist/web/assets/{CommunityView-BzpIq1lD.js → CommunityView-Okydjpqm.js} +1 -1
  248. package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
  249. package/dist/web/assets/{ComposerCreateImproveStrip-ChplO9YP.js → ComposerCreateImproveStrip-CSngc8-V.js} +1 -1
  250. package/dist/web/assets/{ConversationImportsSettings-DRHgc7j_.js → ConversationImportsSettings-DS73kyfj.js} +1 -1
  251. package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
  252. package/dist/web/assets/{GetStartedView-CaBk_mX6.js → GetStartedView-DGFPQ1We.js} +1 -1
  253. package/dist/web/assets/{GettingStartedDialog-JtFLyU3F.js → GettingStartedDialog-DFBYQdHz.js} +1 -1
  254. package/dist/web/assets/{HostedModelLearningReview-hhcjDifK.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
  255. package/dist/web/assets/{HostedModelLearningSettings-CY8198Y1.js → HostedModelLearningSettings-CHaTHwC8.js} +1 -1
  256. package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
  257. package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
  258. package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
  259. package/dist/web/assets/{LabSkillSidebar-HibUEEko.js → LabSkillSidebar-BwtlThO7.js} +1 -1
  260. package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
  261. package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
  262. package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
  263. package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
  264. package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
  265. package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
  266. package/dist/web/assets/{NewProjectDialog-t9Imnb__.js → NewProjectDialog-CjrjgkTN.js} +1 -1
  267. package/dist/web/assets/{OutputsPage-CeGq_F1S.js → OutputsPage-jzx93QQ3.js} +1 -1
  268. package/dist/web/assets/{PageChrome-VHME5V8j.js → PageChrome-C1M13qG2.js} +1 -1
  269. package/dist/web/assets/{ProjectsPage-2TMZoEPB.js → ProjectsPage-DZrjlMp2.js} +1 -1
  270. package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
  271. package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
  272. package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
  273. package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
  274. package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
  275. package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
  276. package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
  277. package/dist/web/assets/{TerminalOverlay-DlhRpi-X.js → TerminalOverlay-d7A2F9Lx.js} +2 -2
  278. package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
  279. package/dist/web/assets/{TrainingDraftPanel-BhhZPPuY.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
  280. package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
  281. package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
  282. package/dist/web/assets/{UsageSettingsSection-DTZslBeW.js → UsageSettingsSection-FhYymrfc.js} +2 -2
  283. package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
  284. package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
  285. package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
  286. package/dist/web/assets/{WorkspaceFileLocation-ChEeZffU.js → WorkspaceFileLocation-LrEWj4UK.js} +1 -1
  287. package/dist/web/assets/{WorkspaceGitDialogs-D_RUXhTi.js → WorkspaceGitDialogs-NRIMXnkS.js} +1 -1
  288. package/dist/web/assets/{WorkspaceMonacoEditor-BJxaiDrj.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
  289. package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
  290. package/dist/web/assets/{WorkspacePresentationPreview-A28Poeca.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
  291. package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
  292. package/dist/web/assets/bot-6OhUEmkE.js +1 -0
  293. package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
  294. package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
  295. package/dist/web/assets/{chevron-down-dYn0pd4Q.js → chevron-down-jmVA1BIf.js} +1 -1
  296. package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
  297. package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
  298. package/dist/web/assets/{chunk-ZFYI4P6C-BmsNtSkR.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
  299. package/dist/web/assets/{chunk-BYNVSWIQ-DWh9SmdB.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
  300. package/dist/web/assets/{client-choice-storage-DTTLbrYt.js → client-choice-storage-BdQ_YDuk.js} +1 -1
  301. package/dist/web/assets/{cloud-upload-CRMPCFnq.js → cloud-upload-Ck1ufAr8.js} +1 -1
  302. package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
  303. package/dist/web/assets/{copy-DR4ielPn.js → copy-CPkbMfXt.js} +1 -1
  304. package/dist/web/assets/{createLucideIcon-DmttVQ_a.js → createLucideIcon-CXQny8HU.js} +1 -1
  305. package/dist/web/assets/{cssMode-d-2GuNvW.js → cssMode-CYxYl_om.js} +1 -1
  306. package/dist/web/assets/{external-link-B4rPiZEp.js → external-link-CDKOLG_v.js} +1 -1
  307. package/dist/web/assets/{folder-open-BrIUcUk_.js → folder-open-CEtOb_lK.js} +1 -1
  308. package/dist/web/assets/{folder-plus-DwImGEt-.js → folder-plus-CVMYZs3e.js} +1 -1
  309. package/dist/web/assets/{git-commit-horizontal-Ds1mkrlW.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
  310. package/dist/web/assets/{htmlMode-s15GR0Fn.js → htmlMode-DoY4V_j0.js} +1 -1
  311. package/dist/web/assets/icons-D7jkCa2d.js +1 -0
  312. package/dist/web/assets/{image-CY-sHbfQ.js → image-B-PjDSwU.js} +1 -1
  313. package/dist/web/assets/{index-DYrLeSyY.js → index-D9WbJMSq.js} +2 -2
  314. package/dist/web/assets/index-g7UqJhnX.css +1 -0
  315. package/dist/web/assets/{info-aSvM8YlJ.js → info-CCnw-K3b.js} +1 -1
  316. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
  317. package/dist/web/assets/{jsonMode-vos9H2hz.js → jsonMode-CeOpZdPj.js} +1 -1
  318. package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
  319. package/dist/web/assets/{lspLanguageFeatures-pQmEaoMt.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
  320. package/dist/web/assets/{maximize-2-DgF6ZVOM.js → maximize-2-BZX38cpr.js} +1 -1
  321. package/dist/web/assets/message-square-CvgSecgD.js +1 -0
  322. package/dist/web/assets/{monaco.contribution-BPwsKvRB.js → monaco.contribution-CF2JDhi4.js} +2 -2
  323. package/dist/web/assets/{monaco.contribution-CJlccVX3.js → monaco.contribution-cbDqt48m.js} +2 -2
  324. package/dist/web/assets/{monaco.contribution-BbMpa0_-.js → monaco.contribution-m2ze2EsL.js} +2 -2
  325. package/dist/web/assets/{monaco.contribution-pWurLXbm.js → monaco.contribution-yeyow_-Q.js} +2 -2
  326. package/dist/web/assets/{monitor-DlEV241C.js → monitor-By0s4hxb.js} +1 -1
  327. package/dist/web/assets/{paperclip-fnRZSIRc.js → paperclip-BJ2QgJLa.js} +1 -1
  328. package/dist/web/assets/{pdf-CT3zVKCE.js → pdf-C4x-1jjP.js} +1 -1
  329. package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
  330. package/dist/web/assets/play-D_SuGDBM.js +1 -0
  331. package/dist/web/assets/plus-yw95Iaj8.js +1 -0
  332. package/dist/web/assets/{presentation-Bb8ecExR.js → presentation-I86G1Gd9.js} +1 -1
  333. package/dist/web/assets/{python-DXA1xp0A.js → python-CqFTPj8r.js} +1 -1
  334. package/dist/web/assets/{refresh-cw-B53QjxMO.js → refresh-cw-Dga35Eay.js} +1 -1
  335. package/dist/web/assets/requests-BCbaFiqV.js +1 -0
  336. package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
  337. package/dist/web/assets/{save-V1Q4Fcqa.js → save-BLKjYtzR.js} +1 -1
  338. package/dist/web/assets/settings-D7C-Auyi.js +21 -0
  339. package/dist/web/assets/{settings-lists-CtH1A57b.js → settings-lists-DMKA1lCN.js} +5 -5
  340. package/dist/web/assets/square-BY5lG2Ol.js +1 -0
  341. package/dist/web/assets/{square-terminal-Dmgkm5zY.js → square-terminal-B-n7vUex.js} +1 -1
  342. package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
  343. package/dist/web/assets/{toggleHighContrast-B-BD2K2Q.js → toggleHighContrast-BhmBE5XE.js} +1 -1
  344. package/dist/web/assets/training-QrdkRQZQ.js +2 -0
  345. package/dist/web/assets/{training-model-data-14942K_Z.js → training-model-data-DB-jg6L_.js} +12 -12
  346. package/dist/web/assets/{tsMode-DdgIcxK3.js → tsMode-BSWEII2p.js} +1 -1
  347. package/dist/web/assets/{upload-82Y6RjLi.js → upload-C4MPhQn8.js} +1 -1
  348. package/dist/web/assets/{useAccountSettings-BgHXNpq_.js → useAccountSettings-9oqWdRLs.js} +1 -1
  349. package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
  350. package/dist/web/assets/{useLocalAgentSchedules-CsKv22Hs.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
  351. package/dist/web/assets/{useQuery-CPC2wsWm.js → useQuery-BD0Uexmh.js} +1 -1
  352. package/dist/web/assets/{wifi-off-DXOoDN9l.js → wifi-off-Cloe0WuQ.js} +1 -1
  353. package/dist/web/assets/{workers-Clf4hKt5.js → workers-BXagz5eg.js} +1 -1
  354. package/dist/web/assets/x-Dqpel42h.js +1 -0
  355. package/dist/web/assets/{yaml-I1tf8Uxx.js → yaml-sBdvVbCc.js} +1 -1
  356. package/dist/web/index.html +2 -2
  357. package/docs/command-reference.md +22 -4
  358. package/package.json +5 -2
  359. package/dist/chunks/actions-command-6LF4Z4WK.js +0 -2
  360. package/dist/chunks/app-server-connected-apps-3T546FE7.js +0 -2
  361. package/dist/chunks/app-server-evaluations-TXD747QA.js +0 -2
  362. package/dist/chunks/app-server-harness-services-BBCDV5P3.js +0 -2
  363. package/dist/chunks/app-server-runtime-VEJPDAFP.js +0 -2
  364. package/dist/chunks/apps-CTT2XYRR.js +0 -2
  365. package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
  366. package/dist/chunks/chunk-4U2FNXQW.js +0 -2
  367. package/dist/chunks/chunk-547AUVKN.js +0 -2
  368. package/dist/chunks/chunk-557YG77L.js +0 -2
  369. package/dist/chunks/chunk-7KTARW23.js +0 -2
  370. package/dist/chunks/chunk-B42QQUZY.js +0 -2
  371. package/dist/chunks/chunk-EWOTDVDJ.js +0 -4
  372. package/dist/chunks/chunk-GAQLXFOT.js +0 -2
  373. package/dist/chunks/chunk-GLDYJM7O.js +0 -1
  374. package/dist/chunks/chunk-HKV7RX5E.js +0 -2
  375. package/dist/chunks/chunk-IWK3RTLR.js +0 -2
  376. package/dist/chunks/chunk-JX6OX6XE.js +0 -12
  377. package/dist/chunks/chunk-JY3YSI54.js +0 -2
  378. package/dist/chunks/chunk-LILXHGIA.js +0 -2
  379. package/dist/chunks/chunk-LJPO3TEL.js +0 -17
  380. package/dist/chunks/chunk-MNFW5WLD.js +0 -6
  381. package/dist/chunks/chunk-N5GPINVP.js +0 -2
  382. package/dist/chunks/chunk-N663LL27.js +0 -2
  383. package/dist/chunks/chunk-NOSBNHGC.js +0 -18
  384. package/dist/chunks/chunk-NR5VASQB.js +0 -2
  385. package/dist/chunks/chunk-O3MHHGC5.js +0 -151
  386. package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
  387. package/dist/chunks/chunk-PGO4FRHU.js +0 -10
  388. package/dist/chunks/chunk-QAVQJZCM.js +0 -2
  389. package/dist/chunks/chunk-RBDUMASL.js +0 -2
  390. package/dist/chunks/chunk-TM4VEMNN.js +0 -2
  391. package/dist/chunks/chunk-TUCKED4T.js +0 -4
  392. package/dist/chunks/chunk-TVTFEGTU.js +0 -2
  393. package/dist/chunks/chunk-TW3SRBLU.js +0 -22
  394. package/dist/chunks/chunk-UT6F6AIB.js +0 -12
  395. package/dist/chunks/chunk-VE6ZIGUQ.js +0 -2
  396. package/dist/chunks/chunk-VI32G77S.js +0 -2
  397. package/dist/chunks/chunk-VWRTE64Y.js +0 -2
  398. package/dist/chunks/chunk-XSB3T4JZ.js +0 -5
  399. package/dist/chunks/chunk-XWDFXM3S.js +0 -2
  400. package/dist/chunks/chunk-ZQHPGEYT.js +0 -2
  401. package/dist/chunks/cli-GCSO2OAI.js +0 -2
  402. package/dist/chunks/connected-app-executor-UDE7U4KG.js +0 -2
  403. package/dist/chunks/connected-evidence-GXIY2L7C.js +0 -2
  404. package/dist/chunks/core-commands-NJ6TGND4.js +0 -2
  405. package/dist/chunks/dataset-preparation-authoring-IUXUQK3L.js +0 -4
  406. package/dist/chunks/datasets-AH56DKLZ.js +0 -2
  407. package/dist/chunks/desktop-test-PYUTEOWO.js +0 -3
  408. package/dist/chunks/dist-5267UT3V.js +0 -2
  409. package/dist/chunks/evaluation-coordination-3AUICOC5.js +0 -2
  410. package/dist/chunks/experiment-improvements-YS7GGPDW.js +0 -2
  411. package/dist/chunks/experiments-EJZK7FPT.js +0 -2
  412. package/dist/chunks/experiments-signal-NKUIJCIY.js +0 -2
  413. package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +0 -2
  414. package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +0 -2
  415. package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +0 -2
  416. package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +0 -3
  417. package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +0 -2
  418. package/dist/chunks/hosted-profile-candidate-DKEMVIYG.js +0 -3
  419. package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +0 -2
  420. package/dist/chunks/hosted-profile-evaluation-control-ERCXAPZD.js +0 -2
  421. package/dist/chunks/hosted-profile-evaluation-inspection-Q3AIIIB6.js +0 -3
  422. package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +0 -3
  423. package/dist/chunks/human-review-5WM6MSON.js +0 -2
  424. package/dist/chunks/learning-KVLTMRLD.js +0 -2
  425. package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +0 -2
  426. package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +0 -2
  427. package/dist/chunks/model-projects-H22KENI4.js +0 -2
  428. package/dist/chunks/opchat-3S6TSDZO.js +0 -3
  429. package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +0 -2
  430. package/dist/chunks/organizations-62YNTZTO.js +0 -2
  431. package/dist/chunks/project-action-payload-32F4X2BB.js +0 -2
  432. package/dist/chunks/project-agent-O4REKO6T.js +0 -2
  433. package/dist/chunks/published-experiment-source-DAOTJLIN.js +0 -2
  434. package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +0 -2
  435. package/dist/chunks/sandbox-command-UQ26NDIX.js +0 -2
  436. package/dist/chunks/saved-work-PG52WCRQ.js +0 -2
  437. package/dist/chunks/src-AU6LG7E6.js +0 -421
  438. package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +0 -2
  439. package/dist/chunks/store-chat-resources-T4LR7K25.js +0 -2
  440. package/dist/chunks/store-evaluation-results-WUVJWCFU.js +0 -7
  441. package/dist/chunks/store-harness-workspaces-IFEFY5CK.js +0 -2
  442. package/dist/chunks/store-human-review-ZQNLZRGG.js +0 -7
  443. package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +0 -2
  444. package/dist/chunks/store-model-batch-review-QO4VVKWC.js +0 -2
  445. package/dist/chunks/store-model-configuration-C3HSOFD5.js +0 -3
  446. package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +0 -2
  447. package/dist/chunks/store-task-inbox-DL5RYFPO.js +0 -33
  448. package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +0 -9
  449. package/dist/chunks/taskset-packages-CBLJFWDQ.js +0 -2
  450. package/dist/chunks/training-error-L5V5IBX3.js +0 -2
  451. package/dist/chunks/training-hosted-I2NDBYGS.js +0 -2
  452. package/dist/chunks/training-hosted-report-4F25RZZ4.js +0 -2
  453. package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
  454. package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
  455. package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
  456. package/dist/web/assets/App-DHJVXTI2.js +0 -54
  457. package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +0 -2
  458. package/dist/web/assets/AppsView-ttlr9ckQ.js +0 -1
  459. package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +0 -1
  460. package/dist/web/assets/ChatTimelineEntry-BITv20Ze.js +0 -1
  461. package/dist/web/assets/CommandMenu-6oj8FUr6.js +0 -1
  462. package/dist/web/assets/ComposerAttachments-6en7m_ov.js +0 -2
  463. package/dist/web/assets/FilePagePreview-CW4J_1u7.js +0 -2
  464. package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +0 -1
  465. package/dist/web/assets/LabsRoute-B61l1b8P.js +0 -101
  466. package/dist/web/assets/MainChatThread-egKi0gLk.js +0 -2
  467. package/dist/web/assets/MainPane-2dj6Dg4l.js +0 -95
  468. package/dist/web/assets/MainPane-BwHw3UYp.css +0 -1
  469. package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +0 -2
  470. package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +0 -1
  471. package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +0 -1
  472. package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +0 -1
  473. package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +0 -1
  474. package/dist/web/assets/SettingsView-D2bu3tK_.js +0 -5
  475. package/dist/web/assets/TeamChatView-CN17AsgA.js +0 -1
  476. package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +0 -1
  477. package/dist/web/assets/TrainingMetricWorkbench-DBy8F1xp.js +0 -1
  478. package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +0 -1
  479. package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +0 -11
  480. package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +0 -35
  481. package/dist/web/assets/app-models-BviS9b7U.js +0 -1
  482. package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
  483. package/dist/web/assets/chat-resources-3SvnVeKv.js +0 -1
  484. package/dist/web/assets/chevron-right-sFx2xRvT.js +0 -1
  485. package/dist/web/assets/contracts-BHTOD1nd.js +0 -1
  486. package/dist/web/assets/icons-CK5-nxVC.js +0 -1
  487. package/dist/web/assets/index-Dezj4Z2p.css +0 -1
  488. package/dist/web/assets/loader-circle-cyf35w3i.js +0 -1
  489. package/dist/web/assets/play-wI_3FLr4.js +0 -1
  490. package/dist/web/assets/plus-DoJe4fLj.js +0 -1
  491. package/dist/web/assets/settings-BKmRueaw.js +0 -21
  492. package/dist/web/assets/square-BqSK-hv9.js +0 -1
  493. package/dist/web/assets/submit-issue-command-DRgUboVW.js +0 -3
  494. package/dist/web/assets/training-managed-adapter-BXNwgd3P.js +0 -1
  495. package/dist/web/assets/useAgentInventory-B-LNn3up.js +0 -1
  496. package/dist/web/assets/x-IPhrr4ju.js +0 -1
@@ -1,54 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CommandMenu-6oj8FUr6.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-DYrLeSyY.js","assets/index-Dezj4Z2p.css","assets/app-models-BviS9b7U.js","assets/settings-BKmRueaw.js","assets/schemas-lO3MoWQr.js","assets/common-BMjyKlX-.js","assets/icons-CK5-nxVC.js","assets/CommandMenu-CiQVR7W9.css","assets/SettingsView-D2bu3tK_.js","assets/client-choice-storage-DTTLbrYt.js","assets/api-client-Dgz-fOMl.js","assets/WorkspaceDiffPanel-D_iyg2D4.js","assets/useQuery-CPC2wsWm.js","assets/create-pipeline-CyUZrbbO.js","assets/query-scope-BRpcgljO.js","assets/createLucideIcon-DmttVQ_a.js","assets/training-model-data-14942K_Z.js","assets/copy-DR4ielPn.js","assets/x-IPhrr4ju.js","assets/folder-open-BrIUcUk_.js","assets/info-aSvM8YlJ.js","assets/loader-circle-cyf35w3i.js","assets/maximize-2-DgF6ZVOM.js","assets/plus-DoJe4fLj.js","assets/refresh-cw-B53QjxMO.js","assets/save-V1Q4Fcqa.js","assets/AppToastContext-DZLErwj0.js","assets/WorkspaceFileLocation-ChEeZffU.js","assets/chevron-right-sFx2xRvT.js","assets/ponder-desktop-Dm7tOkKo.js","assets/wifi-off-DXOoDN9l.js","assets/chevron-down-dYn0pd4Q.js","assets/cloud-upload-CRMPCFnq.js","assets/external-link-B4rPiZEp.js","assets/folder-plus-DwImGEt-.js","assets/git-commit-horizontal-Ds1mkrlW.js","assets/settings-lists-CtH1A57b.js","assets/NativeSetupTerminal-CNHTByLo.js","assets/AppDialog-BurL61qE.js","assets/PageChrome-VHME5V8j.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/settings-lists-CBaz4cGG.css","assets/play-wI_3FLr4.js","assets/organization-types-PP-yuR2J.js","assets/useAccountSettings-BgHXNpq_.js","assets/useLocalAgentSchedules-CsKv22Hs.js","assets/SettingsView-Y8f98GSE.css","assets/settings-forms-DLe1dTYN.css","assets/NewProjectDialog-t9Imnb__.js","assets/monitor-DlEV241C.js","assets/WorkspaceGitDialogs-D_RUXhTi.js","assets/upload-82Y6RjLi.js","assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js","assets/square-BqSK-hv9.js","assets/square-terminal-Dmgkm5zY.js","assets/ui-theme.generated-D-mc26qt.js","assets/WorkspaceEnvironmentMenu-Cp0fstH2.css","assets/MainPane-2dj6Dg4l.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/ComposerAttachments-6en7m_ov.js","assets/AttachmentTypeIcon-CpMSfHCK.js","assets/presentation-Bb8ecExR.js","assets/image-CY-sHbfQ.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BHTOD1nd.js","assets/training-managed-adapter-BXNwgd3P.js","assets/chunk-ZFYI4P6C-BmsNtSkR.js","assets/reward-checks-5AOStF27.js","assets/chat-resources-3SvnVeKv.js","assets/submit-issue-command-DRgUboVW.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-ujSvTf5h.js","assets/browser-url-LACq2Ngu.js","assets/CartesianChart-CEbM980A.js","assets/paperclip-fnRZSIRc.js","assets/models-route-Bl_TmMl6.js","assets/TrainingMetricWorkbench-DBy8F1xp.js","assets/MainPane-BwHw3UYp.css","assets/GettingStartedDialog-JtFLyU3F.js","assets/GettingStartedDialog-EsH-8Diz.css","assets/TerminalOverlay-DlhRpi-X.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-DYrLeSyY.js";import{C as u,T as d,_ as f,b as p,c as m,d as h,f as g,g as _,h as v,i as y,l as b,m as x,p as S,s as C,t as w,u as T,v as E,w as D,y as O}from"./useQuery-CPC2wsWm.js";import{a as k,b as A,c as j,d as M,g as N,i as ee,l as P,m as F,n as te,o as I,p as L,r as R,s as z,v as B,w as ne,x as V}from"./schemas-lO3MoWQr.js";import{c as H,d as re,i as U,l as ie,o as ae,s as W}from"./common-BMjyKlX-.js";import{C as oe,E as se,S as ce,T as le,_ as ue,a as de,b as fe,d as pe,f as me,g as he,h as ge,i as _e,k as ve,l as ye,m as G,n as be,o as xe,p as Se,r as Ce,s as we,t as Te,u as Ee,x as De,y as Oe}from"./settings-BKmRueaw.js";import{a as ke,n as Ae,o as je,r as Me,t as Ne}from"./client-choice-storage-DTTLbrYt.js";import{A as K,C as Pe,D as Fe,E as Ie,M as Le,O as Re,S as ze,T as Be,_ as Ve,b as He,f as Ue,h as We,j as Ge,l as Ke,m as qe,p as Je,u as Ye,w as Xe,x as Ze,y as Qe}from"./app-models-BviS9b7U.js";import{t as $e}from"./create-pipeline-CyUZrbbO.js";import{n as et,t as tt}from"./profile-ref-DSNkG6Ol.js";import{D as nt,F as rt,I as it,L as at,P as ot,V as st,c as ct,d as lt,i as ut,o as dt,s as ft}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{t as pt}from"./work-outputs-CK0nHe4g.js";import{P as mt,c as ht,f as gt,h as _t,l as vt,o as yt,p as bt,r as xt}from"./contracts-BHTOD1nd.js";import{F as St,I as Ct,J as wt,L as Tt,M as Et,N as Dt,P as Ot,Y as kt,Z as At,_ as jt,b as Mt,c as q,d as Nt,f as Pt,h as Ft,l as It,m as Lt,n as Rt,p as zt,r as Bt,s as Vt,t as Ht,u as Ut,v as Wt,x as Gt,y as Kt}from"./training-managed-adapter-BXNwgd3P.js";import{c as qt,m as Jt,n as Yt}from"./chat-resources-3SvnVeKv.js";import{$ as Xt,D as Zt,H as Qt,S as $t,Z as en,_ as tn,a as nn,c as rn,d as an,h as on,k as sn,q as cn,r as ln,s as un,u as dn,v as fn,z as pn}from"./chunk-ZFYI4P6C-BmsNtSkR.js";import{n as mn,t as hn}from"./ponder-desktop-Dm7tOkKo.js";import{a as gn,c as _n,d as vn,i as yn,l as bn,n as J,r as xn,u as Sn}from"./api-client-Dgz-fOMl.js";import{A as Cn,C as wn,E as Tn,F as En,I as Dn,L as On,M as kn,N as An,O as jn,P as Mn,R as Nn,T as Pn,b as Fn,d as In,h as Ln,i as Rn,k as zn,n as Bn,o as Vn,u as Hn,v as Un,x as Wn,y as Gn}from"./submit-issue-command-DRgUboVW.js";import{a as Kn,c as qn,i as Jn,n as Yn,o as Xn,r as Zn,s as Qn,t as $n}from"./browser-sidebar-links-ujSvTf5h.js";import{t as er}from"./query-scope-BRpcgljO.js";import"./icons-CK5-nxVC.js";import{t as tr}from"./createLucideIcon-DmttVQ_a.js";import{t as nr}from"./chevron-down-dYn0pd4Q.js";import{t as rr}from"./chevron-right-sFx2xRvT.js";import{t as ir}from"./copy-DR4ielPn.js";import{t as ar}from"./external-link-B4rPiZEp.js";import{t as or}from"./loader-circle-cyf35w3i.js";import{t as sr}from"./maximize-2-DgF6ZVOM.js";import{t as cr}from"./plus-DoJe4fLj.js";import{t as lr}from"./refresh-cw-B53QjxMO.js";import{t as ur}from"./square-terminal-Dmgkm5zY.js";import{t as dr}from"./x-IPhrr4ju.js";import{a as fr,i as pr,n as mr,r as hr,t as gr}from"./AppToastContext-DZLErwj0.js";import{a as _r,i as vr,n as yr,r as br,s as xr,t as Sr}from"./models-route-Bl_TmMl6.js";import{t as Cr}from"./NativeSetupTerminal-CNHTByLo.js";import{a as wr,i as Tr,t as Er}from"./PageChrome-VHME5V8j.js";import{t as Dr}from"./AppDialog-BurL61qE.js";import{a as Or,i as kr,o as Ar,r as jr,s as Mr,t as Nr}from"./organization-types-PP-yuR2J.js";import{a as Pr,d as Fr,f as Ir,n as Lr,u as Rr}from"./connected-app-mentions-D3wRZLwI.js";import{t as zr}from"./ui-theme.generated-D-mc26qt.js";var Br=class extends C{#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||Vr(),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=m({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 Vr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Hr=class extends g{#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 Br({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=Ur(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=Ur(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=Ur(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=Ur(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=>_(t,e))}findAll(e={}){return this.getAll().filter(t=>_(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(E))))}};function Ur(e){return e.options.scope?.id}var Wr=class extends g{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??v(r,t),a=this.get(i);return a||(a=new y({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=>f(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>f(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()})})}},Gr=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Wr,this.#t=e.mutationCache||new Hr,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=h.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=b.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(p(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=S(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(E).catch(E)}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(E)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(E)}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(p(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(p(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(E).catch(E)}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(E).catch(E)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return b.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(x(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{O(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(x(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{O(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||=v(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===u&&(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 Kr(e){return e}function qr(){return new Gr({defaultOptions:{queries:{staleTime:6e4,gcTime:9e5,retry:1,refetchOnWindowFocus:!1}}})}var Jr=F({id:B().trim().min(1).max(80),label:B().trim().min(1).max(160),description:B().trim().max(500).nullable().optional().default(null)}),Yr=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:k(Jr).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()}),Xr=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(``)}),Zr=`https://openpond.ai`,Qr=[`slack`,`google`,`github`,`turnkey`,`x`,`microsoft_teams`,`mcp`],$r={slack:[di(`slack.channel.bind`,`Bind channels`,`Bind Slack channels or threads to OpenPond profiles.`,`setup`,!1),di(`slack.message.ingest`,`Ingest messages`,`Ingest Slack channel or thread activity into OpenPond context.`,`setup`,!1)],microsoft_teams:[di(`microsoft_teams.channel.bind`,`Bind channels`,`Bind Teams channels or chats to OpenPond profiles.`,`setup`,!1),di(`microsoft_teams.message.ingest`,`Ingest messages`,`Ingest Teams channel or chat activity into OpenPond context.`,`setup`,!1)],google:[di(`google.drive.file.read`,`Read Drive files`,`Find and read Google Drive files.`,`read`,!0),di(`google.drive.file.write`,`Write Drive files`,`Create or update approved Google Drive files.`,`write`,!0),di(`google.docs.read`,`Read Docs`,`Read Google Docs content and structure.`,`read`,!0),di(`google.docs.write`,`Edit Docs`,`Apply approved Google Docs edits.`,`write`,!0),di(`google.comments.read`,`Read comments`,`Read Google file comments.`,`read`,!0),di(`google.comments.write`,`Write comments`,`Create or resolve approved Google comments.`,`write`,!0)],github:[di(`github.repo.read`,`Read repositories`,`Read repository metadata and file context.`,`read`,!0),di(`github.issue.read`,`Read issues`,`Read GitHub issues and comments.`,`read`,!0),di(`github.issue.write`,`Update issues`,`Create or update approved GitHub issue content.`,`write`,!0),di(`github.pull_request.read`,`Read pull requests`,`Read pull request metadata, diffs, checks, and reviews.`,`read`,!0),di(`github.pull_request.write`,`Update pull requests`,`Create approved comments or pull request updates.`,`write`,!0)],turnkey:[di(`turnkey.wallets.read`,`Read Agent Wallet`,`Read the connected OpenPond Agent Wallet address and metadata.`,`read`,!0),di(`turnkey.balances.read`,`Read wallet balances`,`Read balances for the connected OpenPond Agent Wallet.`,`read`,!0),di(`turnkey.activities.read`,`Read wallet activity`,`Read recent Turnkey activity for the connected OpenPond Agent Wallet.`,`read`,!0)],x:[di(`x.profile.read`,`Read profile`,`Read the connected X profile.`,`read`,!0),di(`x.search.read`,`Search X`,`Search public X posts when granted.`,`read`,!0),di(`x.mentions.read`,`Read mentions`,`Read mentions for the connected X account.`,`read`,!0),di(`x.post.write`,`Post`,`Create approved X posts.`,`write`,!0),di(`x.reply.write`,`Reply`,`Create approved X replies.`,`write`,!0)],mcp:[di(`mcp.tool.discover`,`Discover tools`,`Discover team-scoped MCP tools.`,`tooling`,!1),di(`mcp.tool.call`,`Call tools`,`Call approved MCP tools through the team endpoint.`,`tooling`,!1)]},ei={slack:[],microsoft_teams:[],google:[pi(`google.drive.search`,`search`,`Search Drive`,`Search Google Drive files by grounded query.`,[`google.drive.file.read`]),pi(`google.drive.read_file`,`read`,`Read Drive file`,`Read Drive file metadata or exported content by stable ref.`,[`google.drive.file.read`],{requiredKeys:[`ref`]}),pi(`google.docs.read`,`read`,`Read Google Doc`,`Read Google Docs content and structure by stable ref.`,[`google.docs.read`],{requiredKeys:[`ref`]}),pi(`google.comments.read`,`read`,`Read comments`,`Read comments for a grounded Google file ref.`,[`google.comments.read`],{requiredKeys:[`ref`]}),pi(`google.docs.update`,`write`,`Update Google Doc`,`Apply an explicitly approved Google Docs edit and return readback verification.`,[`google.docs.write`],{requiredKeys:[`ref`,`patch`]}),pi(`google.comments.create`,`write`,`Create comment`,`Create an explicitly approved Google file comment and return readback verification.`,[`google.comments.write`],{requiredKeys:[`ref`,`body`]}),pi(`google.comments.resolve`,`write`,`Resolve comment`,`Resolve an explicitly approved Google comment and return readback verification.`,[`google.comments.write`],{requiredKeys:[`ref`,`commentId`]})],github:[pi(`github.repo.search`,`search`,`Search repositories`,`Search accessible repositories by owner, name, or topic.`,[`github.repo.read`]),pi(`github.issue.search`,`search`,`Search issues`,`Search accessible GitHub issues.`,[`github.issue.read`]),pi(`github.pull_request.search`,`search`,`Search pull requests`,`Search accessible GitHub pull requests.`,[`github.pull_request.read`]),pi(`github.repo.read`,`read`,`Read repository`,`Read grounded repository metadata or file context.`,[`github.repo.read`],{requiredKeys:[`ref`]}),pi(`github.issue.read`,`read`,`Read issue`,`Read a grounded GitHub issue and comments.`,[`github.issue.read`],{requiredKeys:[`ref`]}),pi(`github.pull_request.read`,`read`,`Read pull request`,`Read a grounded pull request, checks, reviews, or diff summary.`,[`github.pull_request.read`],{requiredKeys:[`ref`]}),pi(`github.issue.create`,`write`,`Create issue`,`Create an explicitly approved GitHub issue and return readback verification.`,[`github.issue.write`],{requiredKeys:[`repo`,`title`,`body`]}),pi(`github.issue.comment`,`write`,`Comment on issue`,`Create an explicitly approved GitHub issue comment and return readback verification.`,[`github.issue.write`],{requiredKeys:[`ref`,`body`]}),pi(`github.issue.update`,`write`,`Update issue`,`Apply an explicitly approved issue metadata/content update and return readback verification.`,[`github.issue.write`],{requiredKeys:[`ref`]}),pi(`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`]}),pi(`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:[pi(`turnkey.wallets.read`,`read`,`Read Agent Wallet`,`Read the address and metadata for the connected OpenPond Agent Wallet.`,[`turnkey.wallets.read`]),pi(`turnkey.balances.read`,`read`,`Read wallet balances`,`Read supported-network balances for the connected OpenPond Agent Wallet.`,[`turnkey.balances.read`]),pi(`turnkey.activities.read`,`read`,`Read wallet activity`,`Read recent Turnkey activity for the connected OpenPond Agent Wallet.`,[`turnkey.activities.read`])],x:[pi(`x.profile.read`,`read`,`Read profile`,`Read the connected X account profile.`,[`x.profile.read`]),pi(`x.post.read`,`read`,`Read post`,`Read a public X post by stable ref, status URL, or post id.`,[`x.search.read`],{requiredKeys:[`ref`]}),pi(`x.search.posts`,`search`,`Search recent posts`,`Search public X posts from the X recent-search window by grounded query.`,[`x.search.read`]),pi(`x.mentions.search`,`search`,`Search mentions`,`Search mentions for the connected X account.`,[`x.mentions.read`]),pi(`x.mention.read`,`read`,`Read mention`,`Read a grounded mention or post ref.`,[`x.mentions.read`],{requiredKeys:[`ref`]}),pi(`x.post.create`,`write`,`Create post`,`Create an explicitly approved X post and return readback verification.`,[`x.post.write`],{requiredKeys:[`text`]}),pi(`x.reply.create`,`write`,`Create reply`,`Create an explicitly approved X reply and return readback verification.`,[`x.reply.write`],{requiredKeys:[`inReplyToRef`,`text`]})],mcp:[]},ti={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
- `)},ni=Qr.map(e=>{let t=vi(e),n=ti[e];return{...t,provider:e,body:n,sourceHash:`connected-app-skill:${e}:${Ti(n)}`,charCount:n.length}}),ri=[fi({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`}),fi({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`}),fi({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`}),fi({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`}),fi({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`}),fi({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`}),fi({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`})],ii=Qr.map(e=>{let t=ri.filter(t=>t.providerFamily===e),n=t[0];return{id:e,label:hi(e),shortLabel:n.shortLabel,category:n.category,icon:n.icon,description:n.description,setupSurfaces:t,capabilities:$r[e],skills:_i(e),tools:yi(e),operations:ei[e],leasePolicy:bi(e)}});function ai(e){let t=ci(e);return t?ri.find(e=>e.id===t)??null:null}function oi(e){let t=li(e);return t?ii.find(e=>e.id===t)??null:null}function si(e){let t=ai(e.appId),n=mi(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 ci(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,`_`);return t?t===`teams`||t===`microsoft`?`microsoft_teams`:ri.some(e=>e.id===t)?t:null:null}function li(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,`_`);return t?t===`teams`||t===`microsoft`?`microsoft_teams`:Qr.includes(t)?t:ai(t)?.providerFamily??null:null}function ui(e={}){let t=Si(e.connections??[]);return ri.map(e=>{let n=oi(e.providerFamily),r=e.statusSource===`integration_connection`?t.filter(t=>t.provider===e.providerFamily):[],i=r.some(e=>e.status===`active`),a=Ci(e,i);return{...e,providerLabel:n.label,setupSurfaceLabel:gi(e.setupSurface),status:a,statusLabel:wi(e,a,r),connections:r,connected:i,capabilities:xi(e,n.capabilities),capabilityLabels:xi(e,n.capabilities).map(e=>e.label),leasePolicy:n.leasePolicy}})}function di(e,t,n,r,i){return{id:e,label:t,description:n,access:r,leaseable:i}}function fi(e){return e}function pi(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 mi(e){let t=e?.trim();if(!t)return Zr;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?Zr:(e.pathname=`/`,e.search=``,e.hash=``,e.toString())}catch{return Zr}}function hi(e){return e===`microsoft_teams`?`Microsoft Teams`:e===`mcp`?`OpenPond MCP`:e===`x`?`X`:e[0].toUpperCase()+e.slice(1)}function gi(e){return e===`native_bot`?`Native app`:e===`oauth_connector`?`OAuth connector`:e===`wallet_connector`?`Wallet connector`:`MCP endpoint`}function _i(e){return[vi(e)]}function vi(e){return{name:`${e}-connected-app`,description:`Use ${hi(e)} safely through connected app tools.`,path:`integration_skills/${e}.md`}}function yi(e){if(e===`mcp`)return[];let t=$r[e],n=ei[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 ${hi(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 ${hi(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 ${hi(e)} write through a server-owned connected app connector.`,capabilityIds:i,write:!0}),a}function bi(e){let t=$r[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 xi(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 Si(e){return e.flatMap(e=>{let t=li(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 Ci(e,t){return e.statusSource===`integration_connection`?t?`connected`:`disconnected`:`setup_available`}function wi(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 Ti(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 Ei=`local_path:`;function Di(e){return`${Ei}${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:k(B()),dirty:I(),changedFilesCount:L(),untrackedFilesCount:L(),error:B().nullable(),updatedAt:B()});var Oi=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()}),ki=F({appId:B(),repoPath:B(),initialized:I(),dirty:I(),filesChanged:L(),additions:L(),deletions:L(),repoFiles:k(B()).optional().default([]),files:k(Oi),error:B().nullable(),updatedAt:B()});F({branch:B().trim().min(1).max(160)}),F({path:B().trim().min(1),content:B()});var Ai=F({line:L().int().nonnegative(),character:L().int().nonnegative()}),ji=F({start:Ai,end:Ai}),Mi=F({path:B(),range:ji,severity:R([`error`,`warning`,`info`,`hint`]),message:B(),source:B().nullable().optional().default(null),code:B().nullable().optional().default(null)}),Ni=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:k(Mi),servers:k(Ni),updatedAt:B()});var Pi=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:Pi.shape.operation,path:B(),results:V(),servers:k(Ni),updatedAt:B()});var Fi=F({pinned:I().optional(),archived:I().optional(),order:L().optional()});N(B(),Fi);var Ii=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:k(Ii)});var Li=R([`chat`,`work`,`development`]);R([`chat`,`models`,`console`,`development`]);var Ri=`work`,zi=N(B(),V()).default({}),Bi=L().int().nonnegative(),Vi=B().trim().min(1).max(1e5),Hi=F({kind:R([`personal`,`team`]),id:W}).strict(),Ui=F({name:W,release:U.nullable(),revision:Bi}).strict();F({schemaVersion:M(`openpond.harnessWorkspace.v1`),id:W,ownerScope:Hi,name:B().trim().min(1).max(240),location:R([`local`,`hosted`]),sourceRevision:B().trim().min(1).max(500),revision:Bi,dirty:I(),currentChannel:Ui,createdAt:H,updatedAt:H,metadata:zi}).strict();var Wi=R([`runtime`,`memory`,`prompt`,`skill`,`agent`,`product`,`taskset`,`training`]),Gi=R([`text_instruction`,`memory`,`dependency_selection`,`executable_code`,`business_logic`,`financial_logic`,`permission`,`connected_app`,`publication`,`deployment`,`training`,`model_binding`,`team_or_global`]),Ki=F({id:W,route:Wi,operation:R([`create`,`update`,`delete`]),target:B().trim().min(1).max(2e3),summary:B().trim().min(1).max(2e3),content:B().max(1e6).nullable(),contentHash:ae.nullable(),effects:k(Gi).min(1).max(20)}).strict().superRefine((e,t)=>{if(e.operation===`delete`){(e.content!==null||e.contentHash!==null)&&t.addIssue({code:`custom`,message:`delete edits cannot include replacement content`,path:[`content`]});return}if(e.content===null||e.contentHash===null){t.addIssue({code:`custom`,message:`create and update edits require content and contentHash`,path:[`content`]});return}let n=re(e.content);e.contentHash!==n&&t.addIssue({code:`custom`,message:`edit contentHash is ${e.contentHash}; expected ${n}`,path:[`contentHash`]})}),qi=F({workspaceId:W,revision:Bi,sourceRevision:B().trim().min(1).max(500),channelRevision:Bi}).strict(),Ji=F({id:W,revision:Bi,contentHash:ae}).strict(),Yi=F({schemaVersion:M(`openpond.harnessTurnSnapshot.v1`),workspaceId:W,workspaceRevision:Bi,sourceRevision:B().trim().min(1).max(500),channelName:W,channelRevision:Bi,harnessRelease:U,toolCatalogHash:ae.nullable().optional(),overlay:Ji.nullable().optional().default(null)}).strict();F({schemaVersion:M(`openpond.harnessRunOverlay.v1`),id:W,runId:W,baseHarnessRelease:U,workspace:qi,revision:Bi,status:R([`active`,`frozen`,`abandoned`]),edits:k(Ki).max(1e3),createdAt:H,updatedAt:H,metadata:zi}).strict().extend({contentHash:ae}).strict();var Xi=F({kind:R([`tool_event`,`recovery`,`validation`,`user_turn`,`work_output`,`work_receipt`]),id:W,contentHash:ae.nullable()}).strict(),Zi=F({id:W,kind:R([`dependency`,`schema`,`package`,`file_render`,`skill`,`prompt`,`business_formula`,`targeted_evaluation`,`observed_recovery`,`memory`,`component_activation`]),description:Vi,required:I()}).strict();F({schemaVersion:M(`openpond.harnessImprovementProposal.v1`),id:W,overlay:Ji,baseHarnessRelease:U,expectedWorkspace:qi,requestedScope:R([`personal`,`team`,`global`]),route:Wi,risk:R([`low`,`review`,`restricted`]),effects:k(Gi).min(1).max(20),evidence:k(Xi).min(1).max(1e3),edits:k(Ki).min(1).max(1e3),validationPlan:k(Zi).min(1).max(100),expectedOutcome:Vi,createdAt:H,metadata:zi}).strict().superRefine((e,t)=>{let n=new Set(e.effects);for(let[r,i]of e.edits.entries()){i.route!==e.route&&t.addIssue({code:`custom`,message:`every edit route must match the proposal route`,path:[`edits`,r,`route`]});for(let e of i.effects)n.has(e)||t.addIssue({code:`custom`,message:`edit effect ${e} is missing from proposal effects`,path:[`edits`,r,`effects`]})}new Set(e.validationPlan.map(e=>e.id)).size!==e.validationPlan.length&&t.addIssue({code:`custom`,message:`validation plan ids must be unique`,path:[`validationPlan`]})}).extend({contentHash:ae}).strict(),F({schemaVersion:M(`openpond.harnessTargetedValidationReceipt.v1`),id:W,proposal:U,validationId:W,kind:Zi.shape.kind,status:R([`passed`,`failed`,`blocked`,`skipped`]),summary:Vi,evidenceRefs:k(Xi).max(1e3),createdAt:H,metadata:zi}).strict().extend({contentHash:ae}).strict();var Qi=R([`advanced`,`retained`,`conflict`,`rolled_back`]);F({schemaVersion:M(`openpond.harnessAdvanceReceipt.v1`),id:W,workspaceId:W,ownerScope:Hi,proposal:U.nullable(),expectedWorkspaceRevision:Bi,observedWorkspaceRevision:Bi,previousChannelRevision:Bi,nextChannelRevision:Bi,previousRelease:U.nullable(),nextRelease:U.nullable(),validationReceipts:k(U).max(100),decision:Qi,reason:Vi,rollbackOf:U.nullable(),createdAt:H,metadata:zi}).strict().superRefine((e,t)=>{let n=e.nextChannelRevision===e.previousChannelRevision+1;[`advanced`,`rolled_back`].includes(e.decision)!==n&&t.addIssue({code:`custom`,message:`only successful advancement or rollback increments the channel revision`,path:[`nextChannelRevision`]}),e.decision===`rolled_back`&&e.rollbackOf===null&&t.addIssue({code:`custom`,message:`rollback receipts require rollbackOf`,path:[`rollbackOf`]}),e.decision!==`rolled_back`&&e.rollbackOf!==null&&t.addIssue({code:`custom`,message:`rollbackOf is only valid for rollback receipts`,path:[`rollbackOf`]})}).extend({contentHash:ae}).strict(),F({schemaVersion:M(`openpond.harnessOverlayMergeReceipt.v1`),id:W,workspaceId:W,baseHarnessRelease:U,leftOverlay:Ji,rightOverlay:Ji,decision:R([`merged`,`conflict`]),mergedOverlay:Ji.nullable(),conflictTargets:k(B().trim().min(1).max(2e3)).max(1e3),requiresRevalidation:M(!0),createdAt:H,metadata:zi}).strict().superRefine((e,t)=>{e.decision===`merged`!=(e.mergedOverlay!==null)&&t.addIssue({code:`custom`,message:`merged decisions require a merged overlay; conflicts cannot provide one`,path:[`mergedOverlay`]}),e.decision===`conflict`!=e.conflictTargets.length>0&&t.addIssue({code:`custom`,message:`conflict decisions require conflict targets and merged decisions cannot include them`,path:[`conflictTargets`]})}).extend({contentHash:ae}).strict();var $i=B().regex(/^[a-z][a-z0-9_-]{0,119}$/),ea=B().min(1).max(2e3).refine(e=>!e.includes(`\\`)&&!e.includes(`:`)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`workflow references require portable relative paths`),ta=F({id:$i,label:B().trim().min(1).max(240),description:B().max(4e3),inputSchema:N(B(),V()),invocation:j(`kind`,[F({kind:M(`instructions`),instructions:B().min(1).max(1e5).refine(e=>!!e.trim())}).strict(),F({kind:M(`agent_action`),actionId:B().trim().min(1).max(240)}).strict()]),skillPaths:k(ea).max(100)}).strict();F({schemaVersion:M(`openpond.profileWorkflows.v1`),workflows:k(ta).max(1e3)}).strict();var na=F({id:B().trim().min(1).max(240),agentId:B().regex(/^[a-zA-Z0-9_-]{1,240}$/),sourceActionId:B().trim().min(1).max(240),inputSchema:N(B(),V())}).strict();F({schemaVersion:M(`openpond.profileWorkflowActions.v1`),actions:k(na).max(200)}).strict();var ra=F({schemaVersion:M(`openpond.profileWorkflowBinding.v1`),profileId:B().trim().min(1).max(240),sourceRevision:B().trim().min(1).max(240),harnessRelease:U,catalogHash:ae,workflowId:$i}).strict(),ia=F({schemaVersion:M(`openpond.profileComponentBinding.v1`),profileId:B().trim().min(1).max(240),sourceRevision:B().trim().min(1).max(240),harnessRelease:U,target:j(`kind`,[F({kind:M(`profile`)}).strict(),F({kind:M(`skill`),skillPath:ea}).strict(),F({kind:M(`agent_action`),actionId:B().trim().min(1).max(240)}).strict()])}).strict(),aa=R([`openpond.lab`]),oa=F({id:B(),experience:Li.default(Ri),provider:Te,modelRef:se.nullable().optional(),openPondCommandAccessMode:me.default(`ask`),systemKind:aa.nullable().optional(),hiddenFromDefaultSidebar:I().optional(),parentSessionId:B().nullable().optional(),parentTurnId:B().nullable().optional(),subagentRunId:B().nullable().optional(),subagentRoleId:ce.nullable().optional(),subagentDelegationMode:Oe.nullable().optional(),title:B(),appId:B().nullable(),appName:B().nullable(),workspaceKind:ue.optional(),workspaceId:B().nullable().optional(),workspaceName:B().nullable().optional(),localProjectId:B().nullable().optional(),cloudProjectId:B().nullable().optional(),cloudTeamId:B().nullable().optional(),currentProfile:tt.nullable().optional(),profileWorkflowBinding:ra.nullable().optional(),profileComponentBinding:ia.nullable().optional(),metadata:N(B(),V()).optional(),cwd:B().nullable(),codexThreadId:B().nullable(),nativeAgent:F({provider:A([R([`claude-code`,`grok-build`,`opencode`]),le]),instanceId:B().min(1),sessionId:B().min(1),cwd:B().min(1)}).nullable().optional(),createdAt:B(),updatedAt:B(),status:R([`idle`,`active`,`failed`,`closed`]),runtimeSeconds:L().int().nonnegative().optional(),runtimeRunningSince:B().nullable().optional(),pinned:I(),savedForLater:I().optional(),archived:I(),order:L()});F({id:B(),sessionId:B(),providerTurnId:B().nullable(),modelRef:se.nullable().optional(),prompt:B(),startedAt:B(),completedAt:B().nullable(),status:R([`in_progress`,`completed`,`failed`,`interrupted`]),error:B().nullable(),metadata:N(B(),V()).optional().default({}),createImproveRun:$e.nullable().optional().default(null),profileSnapshot:et.nullable().optional(),harnessSnapshot:Yi.nullable().optional()});var sa=F({id:B().trim().min(1).max(191),agentId:B().trim().min(1).max(191).optional().nullable(),sourcePath:B().trim().min(1).max(2e3).optional().nullable(),sourceActionId:B().trim().min(1).max(191).optional().nullable(),name:B().trim().min(1).max(191).optional().nullable(),label:B().trim().min(1).max(160).optional().nullable(),description:B().trim().max(1e3).optional().nullable(),visibility:B().trim().max(80).optional().nullable(),inputSchema:A([B().trim().max(191),N(B(),V())]).optional().nullable(),outputSchema:A([B().trim().max(191),N(B(),V())]).optional().nullable(),approvalPolicy:N(B(),V()).optional().nullable(),artifactPolicy:N(B(),V()).optional().nullable(),setupRequirements:k(N(B(),V())).optional(),mcp:N(B(),V()).optional().nullable(),schedulePolicy:N(B(),V()).optional().nullable(),trace:N(B(),V()).optional().nullable(),implementation:N(B(),V()).optional().nullable(),invokesModel:I().optional()}),ca=[{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`]}],la=F({name:B(),description:B(),relativePath:B(),sourcePath:B(),charCount:L().int().nonnegative(),sourceHash:B(),resourceFiles:k(B()),validationStatus:R([`valid`,`error`]),validationMessages:k(B())}),ua=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:k(la),validationStatus:R([`valid`,`error`]),validationMessages:k(B())});ua.omit({installedAt:!0,updatedAt:!0,sourcePath:!0}).extend({sourcePath:ee()}),F({rootPath:B(),registryPath:B(),extensions:k(ua),error:B().nullable()}),F({source:B().trim().min(1),ref:B().trim().min(1).optional()});var da=R([`openpond_hosted`,`local_byok`,`codex_app_server`,`unknown`]),fa=R([`provider_usage`,`codex_context_usage`,`missing`]),pa=R([`provider_usage_body`,`provider_response_headers`]),ma=R([`chat_turn`,`tool_loop`,`slash_command`,`create_improve_planner`,`harness_refiner`,`context_compaction`,`subagent`,`codex_context`,`other`]),ha=R([`foreground`,`tool_loop`,`compaction`,`subagent`,`refiner`,`other`]),ga=R([`user_facing`,`background`,`system`]),_a=R([`started`,`completed`,`failed`,`interrupted`]),va=R([`composer_selection`,`prompt_parse`,`server_parser`,`model_tool`,`api`]),ya=R([`chat`,`settings`,`goal`,`create_improve`,`compaction`,`system`]),ba=R([`direct_chat`,`tool_loop`,`slash_command`,`planner`,`summary`,`scan`,`subagent`,`other`]),xa=F({surface:ya,workflowKind:ba,sessionId:B().trim().min(1).nullable().default(null),turnId:B().trim().min(1).nullable().default(null),goalId:B().trim().min(1).nullable().default(null),subagentRunId:B().trim().min(1).nullable().default(null),subagentRoleId:B().trim().min(1).nullable().default(null),createImproveRunId:B().trim().min(1).nullable().default(null),commandName:B().trim().min(1).max(160).nullable().default(null),commandSource:va.nullable().default(null),appId:B().trim().min(1).nullable().default(null),workspaceKind:ue.nullable().default(null),workspaceId:B().trim().min(1).nullable().default(null),localProjectId:B().trim().min(1).nullable().default(null),cloudProjectId:B().trim().min(1).nullable().default(null),sourceEventSequence:L().int().nonnegative().nullable().default(null)}),Sa=F({surface:ya.optional(),workflowKind:ba.optional(),goalId:B().trim().min(1).nullable().optional(),subagentRunId:B().trim().min(1).nullable().optional(),subagentRoleId:B().trim().min(1).nullable().optional(),createImproveRunId:B().trim().min(1).nullable().optional(),commandName:B().trim().min(1).max(160).nullable().optional(),commandSource:va.nullable().optional()}).strict(),Ca=B().trim().min(1).max(160),wa=F({id:B().trim().min(1),requestId:B().trim().min(1),requestOrdinal:L().int().nonnegative(),sessionId:B().trim().min(1).nullable(),turnId:B().trim().min(1).nullable(),provider:Ca,model:B().trim().min(1),route:da,source:fa,requestKind:ma,visibility:ga,status:_a,startedAt:B().trim().min(1),completedAt:B().trim().min(1).nullable(),durationMs:L().int().nonnegative().nullable(),firstTokenMs:L().int().nonnegative().nullable(),promptTokens:L().int().nonnegative().nullable(),cachedPromptTokens:L().int().nonnegative().nullable(),uncachedPromptTokens:L().int().nonnegative().nullable(),cacheWritePromptTokens:L().int().nonnegative().nullable(),cacheTelemetrySource:pa.nullable(),completionTokens:L().int().nonnegative().nullable(),totalTokens:L().int().nonnegative().nullable(),errorType:B().trim().min(1).max(160).nullable(),errorMessage:B().trim().min(1).max(2e3).nullable(),attribution:xa}),Ta=F({from:B().trim().min(1),to:B().trim().min(1),bucket:R([`day`,`all_time`])}),Ea=A([M(`all`),ga]),Da=R([`all`,`started`,`completed`,`failed`,`interrupted`,`missing`]);F({range:R([`7d`,`30d`,`90d`,`all`]).default(`30d`),visibility:Ea.default(`all`),status:Da.default(`all`),provider:Ca.optional(),model:B().trim().min(1).optional()}).extend({sessionId:B().trim().min(1).optional(),turnId:B().trim().min(1).optional(),limit:L().int().positive().max(500).default(100)}),F({sessionId:B().trim().min(1)});var Oa=F({requests:L().int().nonnegative(),promptTokens:L().int().nonnegative().nullable(),cacheTelemetryRequests:L().int().nonnegative(),cacheHitRequests:L().int().nonnegative(),cachedPromptTokens:L().int().nonnegative().nullable(),uncachedPromptTokens:L().int().nonnegative().nullable(),cacheWritePromptTokens:L().int().nonnegative().nullable(),cacheHitRate:L().min(0).max(1).nullable(),cacheRequestHitRate:L().min(0).max(1).nullable(),cacheTelemetryCoverage:L().min(0).max(1),completionTokens:L().int().nonnegative().nullable(),totalTokens:L().int().nonnegative().nullable(),averageLatencyMs:L().nonnegative().nullable(),p95LatencyMs:L().nonnegative().nullable(),averageFirstTokenMs:L().nonnegative().nullable(),p95FirstTokenMs:L().nonnegative().nullable(),failures:L().int().nonnegative(),failureRate:L().nonnegative(),firstSeenAt:B().trim().min(1),lastSeenAt:B().trim().min(1)}),ka=Oa.extend({provider:Ca,model:B().trim().min(1),route:da}),Aa=Oa.extend({sessionId:B().trim().min(1),title:B().trim().min(1).nullable(),workspaceKind:ue.nullable(),workspaceId:B().trim().min(1).nullable()}),ja=Oa.extend({commandName:B().trim().min(1),commandSource:va.nullable()}),Ma=Oa.extend({route:da}),Na=Oa.extend({status:_a}),Pa=Oa.extend({source:fa}),Fa=Oa.extend({cohort:ha}),Ia=F({date:B().trim().min(1),totalTokens:L().int().nonnegative(),requests:L().int().nonnegative(),models:k(F({provider:Ca,model:B().trim().min(1),totalTokens:L().int().nonnegative(),requests:L().int().nonnegative()}))}),La=F({requests:L().int().nonnegative(),completedRequests:L().int().nonnegative(),failedRequests:L().int().nonnegative(),missingUsageRequests:L().int().nonnegative(),promptTokens:L().int().nonnegative().nullable(),cacheTelemetryRequests:L().int().nonnegative(),cacheHitRequests:L().int().nonnegative(),cachedPromptTokens:L().int().nonnegative().nullable(),uncachedPromptTokens:L().int().nonnegative().nullable(),cacheWritePromptTokens:L().int().nonnegative().nullable(),cacheHitRate:L().min(0).max(1).nullable(),cacheRequestHitRate:L().min(0).max(1).nullable(),cacheTelemetryCoverage:L().min(0).max(1),completionTokens:L().int().nonnegative().nullable(),totalTokens:L().int().nonnegative().nullable(),averageLatencyMs:L().nonnegative().nullable(),p95LatencyMs:L().nonnegative().nullable(),averageFirstTokenMs:L().nonnegative().nullable(),p95FirstTokenMs:L().nonnegative().nullable(),failureRate:L().nonnegative(),activeModelCount:L().int().nonnegative(),peakDailyTokens:L().int().nonnegative(),longestRequestMs:L().int().nonnegative().nullable(),activeDays:L().int().nonnegative(),currentStreakDays:L().int().nonnegative(),longestStreakDays:L().int().nonnegative()});F({generatedAt:B().trim().min(1),range:Ta,filters:F({visibility:Ea,status:Da,provider:Ca.nullable(),model:B().trim().min(1).nullable()}),totals:La,daily:k(Ia),models:k(ka),threads:k(Aa),commands:k(ja),routes:k(Ma),statuses:k(Na),sources:k(Pa),cohorts:k(Fa)}),F({generatedAt:B().trim().min(1),range:Ta,filters:F({visibility:Ea,status:Da,provider:Ca.nullable(),model:B().trim().min(1).nullable(),sessionId:B().trim().min(1).nullable(),turnId:B().trim().min(1).nullable()}),limit:L().int().positive(),hasMore:I(),records:k(wa)});var Ra=F({turnId:B().trim().min(1),requests:L().int().nonnegative(),cacheTelemetryRequests:L().int().nonnegative(),cachedPromptTokens:L().int().nonnegative().nullable(),uncachedPromptTokens:L().int().nonnegative().nullable(),cacheWritePromptTokens:L().int().nonnegative().nullable(),cacheHitRate:L().min(0).max(1).nullable(),cacheTelemetryCoverage:L().min(0).max(1),providers:k(Ca)});F({generatedAt:B().trim().min(1),sessionId:B().trim().min(1),turns:k(Ra)});var za=R([`usage_spike`,`model_usage_spike`,`latency_regression`,`failure_cluster`,`missing_usage_frames`]);F({type:za,title:B().trim().min(1),summary:B().trim().min(1),severity:R([`nit`,`concern`,`blocker`]),payload:N(B(),V()).default({})});var Ba=R([`slack`,`microsoft_teams`,`github`,`google`,`turnkey`,`x`,`mcp`]),Va=R([`slack`,`microsoft_teams`,`github`,`google`,`turnkey`,`x`,`mcp`]),Ha=R([`native_bot`,`oauth_connector`,`wallet_connector`,`mcp_endpoint`]),Ua=F({kind:M(`integration`),provider:Ba,appIds:k(Va).min(1).max(4),setupSurfaces:k(Ha).min(1).max(4),connectionIds:k(B().trim().min(1)).max(8).optional(),capabilities:k(B().trim().min(1)).max(64).optional()}).strict(),Wa={maxAttachments:10,maxAttachmentBytes:12582912,maxAttachmentBase64Chars:16777232,maxTextChars:2e5},Ga=R([`image`,`text`,`file`]),Ka=F({sessionId:B().trim().min(1).max(200),turnId:B().trim().min(1).max(200),attachmentId:B().trim().min(1).max(200),storageName:B().trim().min(1).max(240),contentType:B().trim().min(1).max(160)}),qa=F({sessionId:B().trim().min(1).max(200),turnId:B().trim().min(1).max(200),attachmentId:B().trim().min(1).max(200),storageName:B().trim().min(1).max(1024),contentType:B().trim().min(1).max(160)}),Ja=F({id:B().trim().min(1),name:B().trim().min(1).max(240),mediaType:B().trim().min(1).max(160),sizeBytes:L().int().nonnegative().max(Wa.maxAttachmentBytes),kind:Ga,lineCount:L().int().nonnegative().max(Wa.maxAttachmentBytes+1).optional(),relativePath:B().trim().min(1).max(1024).optional(),text:B().max(Wa.maxTextChars).optional(),contentsBase64:B().max(Wa.maxAttachmentBase64Chars).optional()}),Ya=Ja.omit({text:!0,contentsBase64:!0}).extend({imagePreview:Ka.optional(),filePreview:qa.optional()});F({experience:Li.optional(),provider:Te.default(we),modelRef:se.optional(),openPondCommandAccessMode:me.optional(),systemKind:aa.nullable().optional(),hiddenFromDefaultSidebar:I().optional(),parentSessionId:B().trim().min(1).max(200).nullable().optional(),parentTurnId:B().trim().min(1).max(200).nullable().optional(),subagentRunId:B().trim().min(1).max(200).nullable().optional(),subagentRoleId:ce.nullable().optional(),subagentDelegationMode:Oe.nullable().optional(),appId:B().nullable().optional(),appName:B().nullable().optional(),workspaceKind:ue.optional(),workspaceId:B().nullable().optional(),workspaceName:B().nullable().optional(),localProjectId:B().nullable().optional(),cloudProjectId:B().nullable().optional(),cloudTeamId:B().nullable().optional(),currentProfile:tt.nullable().optional(),profileWorkflowBinding:oa.shape.profileWorkflowBinding,profileComponentBinding:oa.shape.profileComponentBinding,metadata:N(B(),V()).optional(),cwd:B().nullable().optional(),title:B().optional(),autoTitlePrompt:B().trim().min(1).max(2e4).optional()}),F({teamId:B().trim().min(1),projectName:B().trim().min(1).max(120).optional(),branch:B().trim().min(1).max(120).optional(),chatSessionId:B().trim().min(1).max(200).optional(),displayPrompt:B().trim().min(1).max(2e3).optional()}),F({branch:B().trim().min(1).max(120).optional()});var Xa=F({prompt:B().min(1),workflowInput:V().optional(),metadata:N(B(),V()).optional(),usageAttribution:Sa.optional().nullable(),cwd:B().nullable().optional(),model:B().nullable().optional(),modelRef:se.optional(),mentionedAppIds:k(B().trim().min(1)).max(8).optional(),mentionedConnectedApps:k(Ua).max(8).optional(),openPondActionCatalog:k(sa).max(100).optional(),attachments:k(Ja).max(Wa.maxAttachments).optional(),createImproveRun:$e.optional().nullable(),approvalPolicy:R([`untrusted`,`on-failure`,`on-request`,`never`]).default(`on-request`),sandbox:R([`read-only`,`workspace-write`,`danger-full-access`]).default(`workspace-write`),codexPermissionMode:be.default(`default`),codexReasoningEffort:Ce.optional()});F({prompt:B().min(1),error:B().min(1),target:R([`cloud_workspace`,`hybrid_sandbox`])}),F({reason:R([`manual`]).default(`manual`),model:B().nullable().optional(),modelRef:se.optional()}),F({experience:Li.optional(),provider:Te.optional(),modelRef:se.nullable().optional(),openPondCommandAccessMode:me.optional(),pinned:I().optional(),savedForLater:I().optional(),archived:I().optional(),order:L().optional(),title:B().optional(),parentSessionId:B().trim().min(1).max(200).nullable().optional(),parentTurnId:B().trim().min(1).max(200).nullable().optional(),subagentRunId:B().trim().min(1).max(200).nullable().optional(),subagentRoleId:ce.nullable().optional(),subagentDelegationMode:Oe.nullable().optional(),appId:B().nullable().optional(),appName:B().nullable().optional(),workspaceKind:ue.optional(),workspaceId:B().nullable().optional(),workspaceName:B().nullable().optional(),localProjectId:B().nullable().optional(),cloudProjectId:B().nullable().optional(),cloudTeamId:B().nullable().optional(),currentProfile:tt.nullable().optional(),metadata:N(B(),V()).optional(),cwd:B().nullable().optional()}),F({command:B().trim().min(1),cwd:B().trim().min(1).max(4096).nullable().optional(),timeoutSeconds:L().int().min(1).max(3600).optional()}),F({appIds:k(B()).min(1)}),F({expectedRevision:B().optional(),defaultChatProvider:Te.optional(),defaultChatModel:B().min(1).optional(),defaultChatModelRef:se.nullable().optional(),subagents:De.optional(),codexPermissionMode:be.optional(),codexReasoningEffort:Ce.optional(),openPondCommandAccessMode:me.optional(),defaultBranchPrefix:B().trim().max(48).optional(),defaultNewProjectDirectory:B().trim().max(4096).optional(),defaultTeamId:B().trim().max(191).nullable().optional(),advancedWorkspaceControls:I().optional(),steerActiveResponses:I().optional(),contextCompaction:_e.optional(),training:ge.optional(),sidebarWidth:L().int().min(244).max(560).optional(),diffPanelWidth:L().int().min(320).max(2400).optional(),sidebarSectionsCollapsed:G.optional(),editor:he.optional()}),F({message:B().trim().min(1).max(4e3),surface:B().trim().min(1).max(120).default(`app`),stack:B().max(12e3).nullable().optional(),context:N(B(),V()).optional()}).strict(),F({activeTemplateId:Se,templateName:B().trim().min(1).max(80),soul:B().trim().min(1).max(8e3),saveAsNew:I().optional().default(!1)}),F({decision:R([`accept`,`acceptForSession`,`decline`,`cancel`]),answers:N(B().min(1).max(2e3),B().trim().min(1).max(8e3)).optional()}),F({branch:B().trim().min(1).max(240).nullable().optional(),surface:R([`desktop`,`terminal`])}),F({handle:B().min(1),baseUrl:B().nullable().optional()}),F({handle:B().min(1),baseUrl:B().nullable().optional()}),F({handle:B().min(1).optional(),apiKey:B().min(1),baseUrl:B().nullable().optional(),apiBaseUrl:B().nullable().optional(),chatApiBaseUrl:B().nullable().optional(),environment:B().nullable().optional(),setActive:I().optional()}),F({handle:B().min(1),currentBaseUrl:B().nullable().optional(),apiKey:B().min(1).optional(),baseUrl:B().nullable().optional(),apiBaseUrl:B().nullable().optional(),chatApiBaseUrl:B().nullable().optional(),environment:B().nullable().optional(),setActive:I().optional()});var Za=N(B(),V());F({userId:B(),role:R([`owner`,`admin`,`member`]),name:B(),handle:B().nullable(),image:B().nullable()});var Qa=F({userId:B(),role:R([`owner`,`admin`,`member`]),name:B(),handle:B().nullable(),image:B().nullable(),lastReadSequence:L().int().nonnegative()}),$a=F({id:B(),messageId:B(),refType:R([`hosted_ai_thread`,`goal`,`openpond_session`,`project`,`agent_run`,`message_reply`]),refId:B(),preview:Za,createdAt:B()}),eo=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:eo,uploadUrl:B().url().nullable(),uploadHeaders:N(B(),B()),expiresAt:B().nullable()}),F({url:B().url(),expiresAt:B()});var to=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:Za,editedAt:B().nullable(),deletedAt:B().nullable(),createdAt:B(),refs:k($a),attachments:k(eo)}),no=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:k(Qa),lastMessage:to.nullable()});F({thread:no,messages:k(to),hasMoreBefore:I()}),F({threadId:B(),mutedAt:B().nullable()});var ro=R([`pending`,`running`,`completed`,`failed`,`interrupted`,`cancelled`]),io=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:ro,partialBody:B().nullable(),userMessageId:B(),assistantMessageId:B().nullable(),errorCode:B().nullable(),cancelledByUserId:B().nullable(),leaseExpiresAt:B().nullable(),heartbeatAt:B().nullable(),createdAt:B(),updatedAt:B()}),ao=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:k(ao),turns:k(io),activeTurn:io.nullable(),createdAt:B(),updatedAt:B()});var oo=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:Za,createdAt:B()});F({events:k(oo),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 so=N(B(),V()),co=B().nullable(),lo=R([`draft`,`published`,`archived`]),uo=R([`owner`,`admin`,`member`]),fo=R([`active`,`left`]),po=R([`mentions`,`all`,`none`]),mo=R([`public_preview`,`members`]),ho=R([`members`,`admins`]),go=F({canPreview:I(),canJoin:I(),canLeave:I(),canRead:I(),canPost:I(),canUpload:I(),canMention:I(),canManage:I(),requiresRulesAcceptance:I(),currentRulesVersionId:B().nullable()}),_o=F({id:B(),communityId:B(),version:L().int().positive(),title:B(),requiresReacceptance:I(),publishedAt:B()}),vo=_o.extend({bodyMarkdown:B(),contentHash:B()}),yo=F({role:uo,status:fo,notificationMode:po}),bo=F({id:B(),communityId:B(),userId:B(),role:uo,status:fo,notificationMode:po,joinedAt:B(),leftAt:co,createdAt:B(),updatedAt:B()}),xo=F({id:B(),slug:B(),displayName:B(),description:B(),imageUrl:B().nullable(),status:lo,visibility:R([`public`,`private`]),joinPolicy:R([`open`,`closed`]),historyVisibility:mo,featuredAt:co,publishedAt:co,archivedAt:co,memberCount:L().int().nonnegative(),membership:yo.nullable(),capabilities:go,currentRules:_o.nullable()});F({items:k(xo),nextCursor:B().nullable()});var So=F({lastReadSequence:L().int().nonnegative(),lastReadAt:co.optional(),mutedAt:co,pinnedAt:co}),Co=F({id:B(),communityId:B(),chatThreadId:B().nullable(),slug:B(),displayName:B(),topic:B(),position:L().int().nonnegative(),visibility:mo,postingPolicy:ho,isDefault:I(),archivedAt:co,lastMessageSequence:L().int().nonnegative(),unreadCount:L().int().nonnegative(),readState:So.nullable()});xo.omit({currentRules:!0}).extend({currentRules:vo.nullable(),channels:k(Co),previewMessageLimit:L().int().positive()});var wo=F({id:B(),messageId:B(),refType:R([`hosted_ai_thread`,`goal`,`openpond_session`,`project`,`agent_run`,`message_reply`]),refId:B(),preview:so,createdAt:B()}),To=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:co});F({attachment:To,uploadUrl:B().url().nullable(),uploadHeaders:N(B(),B()),expiresAt:co}),F({url:B().url(),expiresAt:B()});var Eo=F({id:B(),threadId:B(),teamId:ee(),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:so,editedAt:co,deletedAt:co,createdAt:B(),refs:k(wo),attachments:k(To)});F({messages:k(Eo),hasMoreBefore:I(),channelId:B(),readState:So.omit({lastReadAt:!0}).nullable(),preview:I()});var Do=F({userId:B(),handle:B().nullable(),name:B().nullable(),role:uo});F({items:k(Do),nextCursor:B().nullable()});var Oo=F({id:L().int().nonnegative(),communityId:B(),channelId:B(),threadId:B(),type:R([`thread.created`,`message.created`,`message.updated`,`message.deleted`,`read.updated`]),payload:so,createdAt:B()});F({events:k(Oo),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:bo,channels:k(Co)}),F({channels:k(Co)});var ko={bytes:5242880,records:1e3,files:100,messages:2e3},Ao=R([`json`,`jsonl`,`csv`,`hermes`,`openclaw`]),jo=F({path:B().min(1).max(500),text:B()}).strict(),Mo=F({id:B().min(1).max(200),familyKey:B().min(1).max(200),split:nt,kind:R([`task`,`attempt`]),input:xt,observedOutput:xt.nullable(),expected:xt.nullable(),sourceId:B().min(1).max(2e3),sourceHash:B().length(64),occurredAt:B().datetime().nullable(),metadata:xt,warnings:k(B().max(2e3)).max(100),needsContext:I()}).strict(),No=F({schemaVersion:M(`openpond.taskIntakePreview.v1`),format:Ao,contentHash:B().length(64),records:k(Mo).max(ko.records),issues:k(F({file:B(),row:L().int().positive().nullable(),message:B()}).strict()).max(1e3)}).strict();function Po(e,t){return`${e}-${re(t)}`}function Fo(e){if(typeof e!=`string`&&typeof e!=`number`)return null;let t=new Date(typeof e==`number`?e*1e3:e);return Number.isFinite(t.getTime())?t.toISOString():null}function Io(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>ko.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 Lo(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 Ro(e){return e.startsWith(``)?e.slice(1):e}var zo=F({role:B().min(1),content:P().nullable().optional()}).catchall(P()),Bo=F({id:B().min(1),messages:k(zo).min(1).max(ko.messages),lineage_session_ids:k(B()).optional(),parent_session_id:B().nullable().optional()}).catchall(P());function Vo(e){let t=Bo.parse(e),n=t.lineage_session_ids?.[0]??t.parent_session_id??t.id,{messages:r,segments:i,...a}=t;return Ko(`hermes`,t.id,n,t.messages,{sourceHash:re(e),metadata:{session:a},warnings:[`Imported session context and tools need review before this can become an executable task.`]})}var Ho=F({traceSchema:M(`openclaw-trajectory`),schemaVersion:M(1),traceId:B().min(1),sessionId:B().min(1),leafId:B().nullable(),eventCount:L().int().nonnegative(),warnings:k(xt).optional()}).catchall(P()),Uo=F({traceSchema:M(`openclaw-trajectory`),schemaVersion:M(1),traceId:B(),sessionId:B(),seq:L().int().nonnegative(),type:B(),ts:B()}).catchall(P()),Wo=F({header:xt.nullable(),leafId:B().nullable(),entries:k(F({id:B().min(1),type:B().min(1),parentId:B().nullable().optional(),message:zo.optional()}).catchall(P())).max(ko.messages)}).strict();function Go(e){let t=t=>{let n=e.find(e=>e.path===t);if(!n)throw Error(`OpenClaw bundle is missing ${t}.`);return Ro(n.text)},n=Ho.parse(JSON.parse(t(`manifest.json`))),r=Wo.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=>Uo.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 Ko(`openclaw`,n.sessionId,n.sessionId,o,{sourceHash:re(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 Ko(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??re({start:s,request:f}),m={id:Po(e,[t,p]),familyKey:Po(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:Fo(d?.timestamp??f.timestamp),metadata:i.metadata,warnings:[...i.warnings,...d?[]:[`No assistant response was recorded for this request.`]],needsContext:!0};if(st(m),o+=new TextEncoder().encode(JSON.stringify(m)).length,o>ko.bytes)throw Error(`Expanded history exceeds the 5 MiB preview limit. Export a smaller session selection.`);return Mo.parse(m)})}var qo=F({instruction:B().trim().min(1).max(1e5),context:A([B(),xt]).optional(),reference:A([B(),xt]).optional(),labels:A([B(),k(B()),xt]).optional(),id:B().min(1).max(200).optional(),familyKey:B().min(1).max(200).optional(),split:nt.optional()}).strict(),Jo=F({input:xt,observedOutput:xt.nullable().optional(),expectedOutput:xt.nullable().optional(),id:B().min(1).max(200).optional(),familyKey:B().min(1).max(200).optional(),split:nt.optional(),occurredAt:B().datetime().optional(),labels:xt.optional()}).strict();function Yo(e){let t=Ao.parse(e.format),n=k(jo).min(1).max(ko.files).parse(e.files);if(n.reduce((e,t)=>e+new TextEncoder().encode(t.text).length,0)>ko.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>ko.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){st(n);let e=re(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:${re(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>ko.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,re(t));for(let[e,t]of i)o.set(e,t);s+=c}catch(n){i.push({file:e,row:t,message:n instanceof ne?`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,()=>Go(n));else for(let e of n){let n=Ro(e.text);if(t===`jsonl`||t===`hermes`){for(let[r,a]of n.split(/\r?\n/u).entries())if(a.trim()){if(i.length>=ko.records)break;c(e.path,r+1,()=>t===`hermes`?Vo(JSON.parse(a)):[Xo(JSON.parse(a))])}}else{let r;try{let e=t===`csv`?Io(n):JSON.parse(n);r=Array.isArray(e)?e:[e]}catch(t){c(e.path,null,()=>{throw t});continue}if(r.length>ko.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),()=>[Xo(n)]))}}return No.parse({schemaVersion:`openpond.taskIntakePreview.v1`,format:t,contentHash:re({format:t,files:n}),records:r,issues:i.slice(0,1e3)})}function Xo(e){let t=A([qo,Jo]).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??Po(`family`,r),s=t.id??Po(`task`,{input:r,expected:i,observedOutput:a});return Mo.parse({id:s,familyKey:o,split:t.split??`train`,kind:a?`attempt`:`task`,input:r,expected:i,observedOutput:a,sourceId:s,sourceHash:re(e),occurredAt:n?null:Fo(t.occurredAt),metadata:t.labels===void 0?{}:{importedLabels:t.labels,labelOrigin:`unverified_import`},warnings:[],needsContext:!1})}var Y=e(r(),1),Zo=i(),X=a(),Qo=B().min(1).max(240),$o=B().regex(/^[a-f0-9]{64}$/),es=k(F({source:Zt,excerpts:k(F({role:R([`user`,`assistant`]),text:B().max(2e5),turnId:Qo}).strict()).max(200)}).strict()).min(1).max(20);j(`action`,[F({action:M(`messages`),id:Qo,evidence:es,instruction:B().max(2097152),buildSpecification:ln,currentProposal:wt.nullable().default(null)}).strict(),F({action:M(`validate`),evidence:es,content:B().max(2097152)}).strict()]),F({messages:k(F({role:R([`system`,`user`]),content:B()}).strict()).min(1).max(20),skillHash:$o}).strict(),F({proposal:wt,skillHash:$o}).strict();var ts=un.shape.id,ns=L().int().positive(),rs=B().regex(/^[a-f0-9]{64}$/),is={teamId:ts,modelId:ts};F({schemaVersion:M(`openpond.tasksetDraftCreate.v1`),operationId:ts,modelId:ts,expectedModelRevision:ns,name:un.shape.name}).strict(),F({schemaVersion:M(`openpond.tasksetDraftSourceDescriptor.v1`),...is,expectedModelRevision:ns,sourcePackageHash:rs}).strict(),F({schemaVersion:M(`openpond.tasksetDraftReadback.v1`),...is,draft:un,workspaceHash:rs,projectEtag:rs}).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 as=F({id:ts,revision:ns,name:un.shape.name,status:rn,updatedAt:un.shape.updatedAt,sourceTasksetRef:yt.nullable()}).strict();F({schemaVersion:M(`openpond.tasksetDraftList.v1`),...is,drafts:k(as).max(100),nextCursor:B().min(1).max(2e3).nullable()}).strict(),F({expectedDraftRevision:ns,draft:un}).strict(),F({expectedDraftRevision:ns,expectedModelRevision:ns}).strict();var os=F({expectedDraftRevision:ns,expectedWorkspaceHash:rs}).strict();F({schemaVersion:M(`openpond.tasksetDraftValidation.v1`),...is,draftId:ts,draftRevision:ns,workspaceHash:rs,valid:I(),issues:k(F({code:B().min(1),severity:R([`warning`,`error`]),message:B(),path:B().nullable()}).strict()),packageHash:rs.nullable(),tasksetRef:yt.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.`),os.extend({operationId:ts,expectedPackageHash:rs,expectedTasksetRef:yt}).strict(),F({schemaVersion:M(`openpond.tasksetDraftFileList.v1`),...is,draftId:ts,draftRevision:ns,files:k(en).max(10020)}).strict(),F({schemaVersion:M(`openpond.tasksetDraftFileReadback.v1`),...is,draftId:ts,draftRevision:ns,file:Xt}).strict(),F({schemaVersion:M(`openpond.tasksetDraftDeletion.v1`),...is,draftId:ts,revision:ns,deleted:M(!0)}).strict(),un.shape.id,L().int().positive();var ss=B().trim().min(1).max(500),cs=F({projectId:ss.optional(),tasksetId:ss.optional(),draftId:ss.optional(),taskId:ss.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(),ls=F({id:ss,method:R([`code`,`judge`,`human`]),required:I()}),us=F({tasksetId:ss,tasksetName:B(),tasksetRevision:L().int().positive(),tasksetHash:B(),taskId:ss,ordinal:L().int().nonnegative(),title:B(),description:B(),split:B(),scoring:k(ls),configuration:R([`configured`,`needs_reward`,`needs_checks`]),draftId:ss.nullable().default(null),modelId:ss.nullable().default(null)}),ds=F({items:k(us).max(100),nextCursor:B().nullable()});function fs(e,t){if(Yo({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})=>Jt(t,new TextEncoder().encode(e.text))),Jt(`${n}/manifest.json`,new TextEncoder().encode(JSON.stringify(i)))]}function ps(e,t,n){let r=No.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=nn.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&&lt(a)!==lt(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:${lt(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 un.parse({...e,tasks:i})}var ms=F({id:ft,purpose:B().trim().min(1).max(500),audience:R([`orchestrator`,`environment`,`privileged_scorer`,`trainer`,`infrastructure`]),required:I(),ttlSeconds:L().int().positive().max(86400),scopes:k(B().trim().min(1).max(500)).max(100).default([])}).strict(),hs=F({declarationId:ft,leaseRef:B().trim().min(8).max(1e3),audience:ms.shape.audience,expiresAt:ct}).strict(),gs=F({adapterId:ft,placement:R([`local`,`remote`,`colocated`,`provider_native`]),capabilityReceipt:dt,runtimeVersion:B().trim().min(1).max(200),dataPlane:F({provider:ft,dataPlaneId:ft,cellId:ft,runnerPoolId:ft,runtimeImageDigest:B().regex(/^sha256:[a-f0-9]{64}$/),capabilityReceipt:dt}).strict().nullable()}).strict(),_s=F({adapterId:ft,kind:R([`local`,`ssh`,`managed`,`custom`]),deviceOrPool:B().trim().min(1).max(1e3),capabilityReceipt:dt,provider:ft.nullable()}).strict(),vs=F({adapterId:ft,workerVersion:B().trim().min(1).max(200),workerImageDigest:B().regex(/^sha256:[a-f0-9]{64}$/).nullable(),upstreamRevision:B().trim().min(1).max(500),capabilityReceipt:dt}).strict(),ys=F({schemaVersion:M(`openpond.harnessRunManifest.v1`),executionMode:M(`qualification`).optional(),qualificationSamples:L().int().min(1).max(32).optional(),id:ft,harnessRelease:ut,datasetRelease:ut,evidenceSets:k(ut).max(1e4),model:F({source:B().trim().min(1).max(200),revision:B().trim().min(1).max(500),artifactHash:dt.nullable(),tokenizerRevision:B().trim().min(1).max(500),chatTemplateHash:dt}).strict(),recipe:F({method:B().trim().min(1).max(100),version:B().trim().min(1).max(200),configHash:dt}).strict(),runtimeTarget:gs,computeTarget:_s,engine:vs,resolvedBundleHash:dt,secretLeaseRefs:k(hs).max(1e3),approval:F({approvalHash:dt,approvedAt:ct,maximumSpendUsd:L().nonnegative().nullable()}).strict(),createdAt:ct}).strict().extend({contentHash:dt}).strict();F({schemaVersion:M(`openpond.resolvedTrainingBundle.v1`),executionMode:M(`qualification`).optional(),qualificationSamples:L().int().min(1).max(32).optional(),projection:M(`trainer`),harnessRelease:ut,datasetRelease:ut,evidenceSetRelease:ut.nullable(),files:k(F({path:B().trim().min(1).max(2e3),sha256:dt,sizeBytes:L().int().nonnegative()}).strict()).max(1e5)}).strict().extend({contentHash:dt}).strict();var bs=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}),xs=F({id:B().min(1),revision:L().int().positive(),scope:mn,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(),Ss=B().trim().min(1).max(240),Cs=B().trim().min(1),ws=B().trim().min(8).max(256),Ts=N(B(),V()).default({}),Es=R([`created`,`inspecting`,`awaiting_source_review`,`awaiting_mapping`,`awaiting_materialization_approval`,`materializing`,`validating`,`ready`,`cancelling`,`cancelled`,`failed`]),Ds=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()}),Os=F({path:B().trim().min(1).max(1e3),logicalType:B().trim().min(1).max(500),nullable:I(),sampleValues:k(V()).max(5)}),ks=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()}),As=F({schemaVersion:M(`openpond.huggingFaceDatasetInspection.v1`),id:Ss,locator:Ds,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:k(B().trim().min(1).max(500)).min(1).max(1e3),splits:k(ks).min(1).max(1e4),columns:k(Os).min(1).max(1e4),previewRows:k(N(B(),V())).max(25),sourceFiles:k(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:ws.nullable()})).max(1e5),inspectedAt:Cs,metadata:Ts}),js=R([`row_id`,`cluster_id`,`prompt`,`messages`,`demonstration`,`chosen`,`rejected`,`expected_output`,`privileged_context`,`reward`,`feedback`,`tag`,`metadata`]),Ms=F({sourcePath:B().trim().min(1).max(1e3),target:js,transform:R([`identity`,`string`,`json`,`messages`,`numeric`,`math_final_answer`]),policy:R([`visible`,`privileged`,`metadata`]),required:I()}),Ns=F({schemaVersion:M(`openpond.datasetImportMapping.v1`),sourceSchemaHash:ws,configuration:B().trim().min(1).max(500),upstreamSplits:k(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:k(Ms).min(1).max(1e4),nullPolicy:R([`reject`,`drop`,`preserve`]),invalidRowPolicy:R([`reject_import`,`drop_with_receipt`]),splitPolicy:F({seed:L().int(),assignments:N(B(),fn),validationPercent:L().min(0).max(100),frozenEvalPercent:L().min(0).max(100)}),importerVersion:B().trim().min(1).max(200),mappingHash:ws}),Ps=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()}),Fs=F({schemaVersion:M(`openpond.datasetImportJob.v1`),id:Ss,profileId:Ss,sourceKind:R([`huggingface`,`uploaded_file`]),status:Es,locator:Ds.nullable(),inspection:As.nullable(),mapping:Ns.nullable(),progress:Ps,targetStorageRoot:B().trim().min(1).max(4e3).nullable(),tasksetId:Ss.nullable(),tasksetRevision:L().int().positive().nullable(),artifactId:Ss.nullable(),error:B().trim().min(1).max(2e4).nullable(),cancellationRequested:I(),createdAt:Cs,updatedAt:Cs,completedAt:Cs.nullable(),metadata:Ts});F({profileId:Ss,url:B().trim().min(1).max(2e3)}),F({name:B().trim().min(1).max(500),objective:B().trim().min(1).max(2e4),mapping:Ns,targetStorageRoot:B().trim().min(1).max(4e3).nullable(),licenseApproved:I().default(!1)});var Is=B().trim().min(1).max(240),Ls=B().trim().min(1),Rs=N(B(),V()).default({}),zs=R([`nominated`,`needs_review`,`approved_for_creation`,`creating`,`needs_task_review`,`baselining`,`ready_for_export`,`rejected`,`dismissed`,`retired`,`blocked`]),Bs=F({id:Is,kind:R([`repeated_success`,`accepted_correction`,`agent_action_recurrence`,`outcome_linked_change`,`frontier_cost`,`expert_label`,`runtime_feedback`]),sourceRefIds:k(Is).min(1).max(1e4),occurredAt:Ls,signature:B().trim().min(1).max(2e3),summary:B().trim().min(1).max(5e3),confidence:L().min(0).max(1),consented:I(),metadata:Rs}),Vs=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)}),Hs=F({tactic:kt,eligible:I(),reasons:k(B().trim().min(1).max(5e3)).min(1).max(100),blockers:k(B().trim().min(1).max(5e3)).max(100).default([]),requiredSignals:k(B().trim().min(1).max(500)).max(100).default([]),generatedBy:R([`decision_table`,`baseline_reassessment`])}),Us=F({schemaVersion:M(`openpond.taskCandidate.v1`),id:Is,profileId:Is,status:zs,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:k(Bs).min(1).max(1e5),scorecard:Vs,recommendation:Hs,mergedIntoId:Is.nullable(),createdAt:Ls,updatedAt:Ls,metadata:Rs}),Ws=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:k(Us),generatedAt:Ls,config:Ws}),F({status:zs.optional(),mergeIntoId:Is.nullable().optional()}),F({profileId:Is,sourceIds:k(Is).max(1e5).default([]),sessionIds:k(Is).max(1e5).default([]),config:Ws.optional()});var Gs=F({schemaVersion:M(`openpond.taskMinerRun.v1`),id:Is,profileId:Is,status:R([`queued`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`]),config:Ws,sourceIds:k(Is).max(1e5),sessionIds:k(Is).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:k(Is).max(1e5),cancelRequested:I(),error:B().trim().min(1).max(2e4).nullable(),createdAt:Ls,startedAt:Ls.nullable(),completedAt:Ls.nullable(),updatedAt:Ls});function Ks(e){let t;return new te({type:`object`,get shape(){return t??=e()}})}var qs=R([`measuring`,`up_to_date`,`needs_attention`]),Js=R([`fixed`,`retained`,`regressed`,`unresolved`,`unavailable`]),Ys=F({evaluationRunId:W,attemptKey:W,artifactPath:B().trim().min(1).max(2e3),jsonPointer:B().trim().min(1).max(1e3),transcriptHash:ae.nullable(),traceHash:ae.nullable()}).strict(),Xs=F({level:M(.95),lower:L().finite(),upper:L().finite()}).strict(),Zs=F({panelId:W,panelRole:Gt,passLabel:W.nullable(),taskset:ie,attempted:L().int().nonnegative(),available:L().int().nonnegative(),passed:L().int().nonnegative(),strictSuccess:L().min(0).max(1).nullable(),strictSuccessCi95:Xs.nullable(),judgeScore:L().min(0).max(100).nullable(),judgeScoreCi95:Xs.nullable()}).strict(),Qs=F({schemaVersion:M(`openpond.modelCurrencySnapshot.v1`),id:W,contentHash:ae,seriesId:W,protocol:F({id:W,revision:L().int().positive(),contentHash:ae}).strict(),entryId:W,passLabel:W,parent:j(`kind`,[F({kind:M(`base_model`),id:W,revision:B().trim().min(1).max(500)}).strict(),F({kind:M(`model_version`),id:W,contentHash:ae}).strict()]),candidate:F({kind:M(`model_version`),id:W,contentHash:ae}).strict(),sources:F({evaluationRunIds:k(W).max(1e5),attemptIds:k(W).max(1e6),tasksets:k(ie).max(1e4),grader:U,judge:U.nullable(),calibration:U.nullable()}).strict(),matches:k(F({key:W,panelId:W,panelRole:Gt,taskId:W,issueFamilyId:W,seed:L().int(),repetition:L().int().nonnegative(),classification:Js,parentPassed:I().nullable(),candidatePassed:I().nullable(),parentAttempt:Ys.nullable(),candidateAttempt:Ys.nullable()}).strict()).max(1e6),taskIds:F({fixed:k(W).max(1e6),retained:k(W).max(1e6),regressed:k(W).max(1e6),unresolved:k(W).max(1e6),unavailable:k(W).max(1e6)}).strict(),panels:k(Zs).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:Xs.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:ae,toolSchema:U,application:U,harness:U,runtime:U,grader:U,autoRefinerEnabled:I()}).strict(),evidenceState:qs,evidenceReasons:k(W).max(100),projectedAt:H}).strict(),$s=j(`kind`,[F({kind:M(`base_model`),id:W,revision:B().trim().min(1).max(500),label:B().trim().min(1).max(300)}).strict(),F({kind:M(`model_version`),id:W,label:B().trim().min(1).max(300)}).strict(),F({kind:M(`captured_model`),id:W,label:B().trim().min(1).max(300)}).strict()]),ec=A([F({source:M(`evaluation_run`).default(`evaluation_run`),evaluationRunId:W,attemptId:W,modelLabel:B().trim().min(1).max(300).nullable().default(null),modelVersionId:W.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:W.nullable().default(null),response:V().refine(e=>e!==void 0,`An imported model response is required.`),reward:L().finite().nullable().default(null),components:N(B(),L().finite()).default({})}).strict()]),tc=A([F({taskId:W,target:$s,attempt:ec}).strict(),F({taskId:W,target:R([`base`,`current`]).default(`current`),attempt:ec}).strict(),F({taskId:W,target:R([`base`,`current`]).default(`current`),evaluationRunId:W,attemptId:W,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:W,seriesId:W,scheduleEntryId:W,dayOrdinal:L().int().positive().max(1e4),sourceTaskset:ie,taskIds:k(W).min(1).max(1e3),observedAttempts:k(tc).max(1e3).default([]),sourceFileName:B().trim().min(1).max(500).nullable().default(null),availableAt:H}).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}:${ac(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 nc=F({schemaVersion:M(`openpond.continualLearningDailyBatch.v1`),id:W,seriesId:W,scheduleEntryId:W,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:ie,tasks:k(F({taskId:W,taskContentHash:ae,familyKey:W,disposition:R([`include`,`defer`,`exclude`]).nullable(),oracleReview:R([`pending`,`confirmed`,`needs_correction`]),note:B().trim().max(2e3),observedAttempt:ec.nullable(),baselineAttempt:ec.nullable().default(null),responses:k(F({target:$s,attempt:ec}).strict()).max(100).default([]),stagedAt:H.nullable().default(null),queuedEntry:jt.nullable().default(null)}).strict()).min(1).max(1e3),intakeEvaluation:F({status:R([`awaiting`,`running`,`ready`,`failed`]),requestedTargets:k(R([`base`,`current`])).max(2).default([`base`,`current`]),requestedPolicies:k($s).max(100).default([]),runs:k(F({target:$s,runId:W}).strict()).max(100).default([]),baselineRunId:W.nullable(),currentRunId:W.nullable(),currentPolicy:j(`kind`,[F({kind:M(`base_model`),id:W}).strict(),F({kind:M(`model_version`),id:W}).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:jt.nullable(),reviewedBy:W.nullable(),reviewedAt:H.nullable(),availableAt:H,revision:L().int().positive(),createdAt:H,updatedAt:H}).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=>ic(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.`})}),rc=F({schemaVersion:M(`openpond.continualBenchIssueReview.v1`),id:W,seriesId:W,scheduleEntryId:W,passLabel:W,packet:Mt,splitManifest:F({id:W,contentHash:ae}).strict(),decisions:k(F({taskId:W,disposition:R([`include`,`defer`,`exclude`]).nullable(),note:B().trim().max(2e3)}).strict()).min(2).max(1e4),status:R([`pending`,`reviewed`,`queued`]),queuedEntry:jt.nullable(),reviewedBy:W.nullable(),reviewedAt:H.nullable(),revision:L().int().positive(),createdAt:H,updatedAt:H}).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 ic(e){return`${e.kind}:${e.id}`}function ac(e){return typeof e==`string`?e:ic(e)}var oc=B().trim().min(1).max(240),sc=B().trim().min(8).max(256),cc=R([`grpo`,`dapo`,`gspo-token`]),lc=F({id:oc,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),chatTemplateHash:sc}),uc=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()}),dc=F({method:M(`grpo`),groupSize:L().int().min(2).max(128),normalization:M(`group_standardized`),advantageEpsilon:L().positive().max(.01).default(1e-8),loss:cc,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:bs}),fc=F({method:M(`ppo`),valueModel:lc,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)}),pc=j(`method`,[dc,fc]),mc=F({rewardModelVersion:F({id:oc,contentHash:sc}).strict(),qualificationReport:F({id:oc,contentHash:sc}).strict().nullable().default(null),evaluationReferences:k(F({id:oc,contentHash:sc}).strict()).max(1e3).default([]),checkpoint:F({id:oc,contentHash:sc,objectRef:B().regex(/^r2:\/\/[A-Za-z0-9._/-]+$/),files:k(F({path:B().trim().min(1).max(512),sizeBytes:L().int().positive(),sha256:sc}).strict()).min(4).max(128)}).strict(),runtime:Lt,processorRelease:F({id:oc,contentHash:sc}).strict(),rewardComposerRelease:F({id:oc,contentHash:sc}).strict(),executionReceipt:F({id:oc,contentHash:sc}).strict()}).strict(),hc=F({schemaVersion:M(`openpond.policyOptimization.v1`),policyModel:lc,referenceModel:lc,dataset:F({tasksetId:oc,tasksetHash:sc,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:oc,version:B().trim().min(1).max(256),toolContractHash:sc}),reward:F({graderId:oc,graderHash:sc,learnedPreference:mc.nullable().default(null)}),kl:F({coefficient:L().nonnegative().nullable(),referenceConstraint:M(`fixed_reference`)}),budgets:uc,checkpointEverySteps:L().int().positive(),seed:L().int(),evaluationSplit:M(`frozen_eval`),optimizer:pc}),gc=`openpond.crossSystemOperations.v1`,_c=`1.0.0`,vc=`openpond.crossSystemTools.v1`,yc=[`search_crm`,`query_billing`,`search_support`,`run_python`],bc=R([`train`,`validation`,`frozen_eval`]),xc=R([`easy`,`medium`,`hard`]),Sc=R([`renewal_risk_v2`]);R([`renewal_exposure`,`collections_prioritization`,`invoice_reconciliation`,`sla_escalation`,`contract_billing_mismatch`]),F({seed:L().int().nonnegative(),split:bc,difficulty:xc,scenarioProfile:Sc.optional()});var Cc={anyOf:[{type:`string`,minLength:1,maxLength:256},{type:`null`}],default:null},wc={type:`integer`,minimum:1,maximum:50,default:25},Tc=[{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:Cc,limit:wc}}},{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:Cc,limit:wc}}},{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:Cc,limit:wc}}},{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}}}}],Ec=Hc({schemaVersion:vc,tools:Tc}),Dc=[`Use only the four registered synthetic Cross-System Operations tools. Contract ${Ec}.`,`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 Oc(e=`auto`){return[Dc,`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: ${Tc.map(kc).join(`; `)}`].join(`
12
- `)}Oc();function kc(e){let t=jc(e.parameters),n=jc(t.properties),r=Nc(t.required),i=Object.fromEntries(r.map(e=>[e,Ac(n[e])]));return`${e.name}(${JSON.stringify(i)})`}function Ac(e){let t=jc(e),n=Mc(t.anyOf);if(n.length)return n.map(Ac).join(`|`);let r=Mc(t.enum);if(r.length)return r.join(`|`);if(t.type===`array`)return[Ac(t.items)];if(t.type===`object`){let e=jc(t.properties),n=Nc(t.required);return Object.fromEntries(n.map(t=>[t,Ac(e[t])]))}return typeof t.type==`string`?t.type:`unknown`}function jc(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Mc(e){return Array.isArray(e)?e:[]}function Nc(e){return Mc(e).filter(e=>typeof e==`string`)}var Pc=R(yc),Fc=j(`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:Pc,arguments:N(B(),V())}),F({kind:M(`tool_result`),turn:L().int().nonnegative(),callId:B().trim().min(1).max(240),name:Pc,ok:I(),result:V(),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)})]),Ic=F({schemaVersion:M(gc),id:B().trim().min(1).max(240),worldId:B().trim().min(1).max(240),taskId:B().trim().min(1).max(240),toolContractHash:M(Ec),modelRef:F({providerId:B().trim().min(1),modelId:B().trim().min(1)}).nullable(),status:R([`completed`,`budget_exhausted`,`cancelled`,`infrastructure_failure`]),steps:k(Fc).max(1e3),startedAt:B().trim().min(1),completedAt:B().trim().min(1),infrastructureError:B().trim().min(1).max(2e4).nullable(),metadata:N(B(),V()).default({})}),Lc=F({schemaVersion:M(gc),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:V().nullable(),feedback:k(B().trim().min(1).max(5e3)).max(100)}),Rc=F({id:B().trim().min(1).max(240),type:M(`function`),function:F({name:Pc,arguments:B().max(2e4)})}),zc=F({role:R([`system`,`user`,`assistant`,`tool`]),content:B().max(2e5).nullable(),tool_call_id:B().trim().min(1).max(240).optional(),tool_calls:k(Rc).max(4).optional()});F({schemaVersion:M(gc),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(Ec),approval:F({status:M(`approved`),approvedBy:B().trim().min(1).max(240),approvedAt:B().trim().min(1)}),messages:k(zc).min(3).max(1e3)});var Bc=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:k(Pc).min(1).max(100),toolCallCount:L().int().positive(),messageCount:L().int().min(3),reward:L().min(0).max(1.15),messages:k(zc).min(3).max(1e3)}),Vc=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(Ec),status:R([`ready_for_review`,`approved`]),approval:Vc.nullable(),tasks:k(Bc).min(1).max(100)});function Hc(e){let t=Uc(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`${vc}:${Wc(n)}${Wc(r)}`}function Uc(e){return Array.isArray(e)?`[${e.map(Uc).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${Uc(t)}`).join(`,`)}}`:JSON.stringify(e)}function Wc(e){return(e>>>0).toString(16).padStart(8,`0`)}var Gc=F({schemaVersion:M(`openpond.singleTurnPolicyTrajectory.v1`),id:q,taskId:q,status:R([`completed`,`infrastructure_failure`]),promptHash:Vt,responseText:B().max(2e6),infrastructureError:B().trim().min(1).max(1e4).nullable(),startedAt:Ut,completedAt:Ut,metadata:It}),Kc=F({schemaVersion:M(`openpond.ppoTrajectory.v1`),id:q,taskId:q,policyModelId:q,referenceModelId:q,valueModelId:q,steps:k(F({index:L().int().nonnegative(),observationHash:Vt,actionTokenIds:k(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:Ut}),qc=F({schemaVersion:M(`openpond.exactAnswerVerifierResult.v1`),outcome:R([`correct`,`incorrect`,`parse_failure`,`infrastructure_failure`]),graderSetHash:Vt,score:L().min(0).max(1).nullable(),passed:I(),rewardEligible:I(),expectedAnswerHash:Vt,extractedAnswer:B().max(2e4).nullable(),feedback:k(B().trim().min(1).max(2e4)).max(1e3)}),Jc=F({schemaVersion:M(`openpond.rolloutTrajectoryReceipt.v1`),id:q,jobId:q,planId:q,tasksetId:q,tasksetHash:Vt,taskId:q,split:M(`train`),correlationId:q,provider:q,providerTrace:F({invocationId:q,experimentId:q,rolloutId:q,runId:q,rowId:q}),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:q,version:B().trim().min(1).max(256),worldId:q,worldHash:Vt,toolContractHash:Vt}),policy:F({modelId:q,checkpointId:q.nullable(),completionParametersHash:Vt}),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:A([Ic,Gc,Kc]).nullable(),verifier:A([Lc,qc]).nullable(),providerStatus:N(B(),V()).default({}),receivedAt:Ut,startedAt:Ut.nullable(),completedAt:Ut.nullable(),updatedAt:Ut}),Yc=`dataset-exact-answer`,Xc=`dataset-exact-answer-v1`,Zc=`no-tools-v1`,Qc=R([`sft`,`dpo`,`grpo`,`ppo`,`sdft`,`opd`,`opsd`,`sdpo`]),$c=R([`lora`,`full`]),el=R([`openpond_managed`]),tl=Ks(()=>({schemaVersion:M(`openpond.sftRecipe.v1`),method:M(`sft`),parameterization:M(`lora`),baseModel:F({id:q,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),chatTemplateHash:Vt}),dataset:F({trainSplit:M(`train`),validationSplit:R([`validation`,`frozen_eval`]),completionOnly:I(),maxSequenceLength:L().int().positive().max(32768),maxExamples:L().int().positive().max(1e5).default(1e3),selectionStrategy:M(`stable_hash_top_n`).default(`stable_hash_top_n`),selectionSeed:L().int().default(17)}),lora:F({rank:L().int().positive().max(256),alpha:L().positive().max(1024),dropout:L().min(0).max(1),targetModules:k(q).min(1).max(100)}),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()}),resourceLimits:F({cpuThreads:L().int().positive().max(256),memoryBytes:L().int().positive(),wallTimeMs:L().int().positive()})}));Ks(()=>({id:q,input:N(B(),V()),expectedOutput:N(B(),V()),tags:k(q).max(100).default([])})),Ks(()=>({id:q,prompt:B().min(1).max(5e5),chosen:B().min(1).max(5e5),rejected:B().min(1).max(5e5),sourceRefs:k(q).min(1).max(1e4)})),Ks(()=>({id:q,input:N(B(),V()),tags:k(q).max(100).default([])})),Ks(()=>({schemaVersion:M(`openpond.rewardModelRecipe.v1`),method:M(`reward_model`),parameterization:M(`lora_with_scalar_head`),runScope:R([`synthetic_smoke`,`human_preference`]),baseModel:F({id:q,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),processorRevision:B().trim().min(1).max(256),chatTemplateHash:Vt}).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:k(q).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 nl=Ks(()=>({schemaVersion:M(`openpond.rftRecipe.v1`),method:M(`grpo`),parameterization:M(`lora`),baseModel:F({id:q,revision:B().trim().min(1).max(256),tokenizerRevision:B().trim().min(1).max(256),chatTemplateHash:Vt}),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:bs}),loss:F({method:cc.default(`grpo`),klBeta:L().min(0).nullable().default(null)}).default({method:`grpo`,klBeta:null}),reward:F({graderId:q,graderHash:Vt,environmentId:q,environmentVersion:B().trim().min(1).max(256),toolContractHash:Vt,learnedPreference:mc.nullable().optional()}),resourceLimits:F({wallTimeMs:L().int().positive().max(864e5),maxGpuSeconds:L().int().positive().max(10800).optional(),maxRollouts:L().int().positive().max(1e5),maxPayloadBytes:L().int().positive().max(10485760)}),policyOptimization:hc.nullable().default(null),continuation:F({schemaVersion:M(`openpond.crossJobContinuationRequest.v1`),parentArtifact:U,sourceArtifact:F({jobId:q,artifactId:q,checkpointId:q,contentHash:Vt}).strict(),optimizerMode:R([`continue`,`reset`])}).strict().optional()})),rl=Ks(()=>({schemaVersion:M(`openpond.dpoRecipe.v1`),method:M(`dpo`),parameterization:M(`lora`),policyModel:lc,referenceModel:lc,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:k(q).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:Vt,invalidationHash:Vt}),resourceLimits:F({cpuThreads:L().int().positive().max(256),memoryBytes:L().int().positive(),wallTimeMs:L().int().positive()})})),il=Ks(()=>({schemaVersion:M(`openpond.ppoRecipe.v1`),method:M(`ppo`),parameterization:M(`lora`),policyOptimization:hc.extend({optimizer:fc}),lora:F({rank:L().int().positive().max(256),alpha:L().positive().max(1024),dropout:L().min(0).max(1),targetModules:k(q).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:q.nullable(),policyHash:Vt,referenceHash:Vt,valueModelHash:Vt,optimizerStateHash:Vt.nullable()}),resourceLimits:F({cpuThreads:L().int().positive().max(256),memoryBytes:L().int().positive(),wallTimeMs:L().int().positive()})})),al=Ks(()=>({schemaVersion:M(`openpond.unsupportedRecipe.v1`),method:Qc.exclude([`sft`,`dpo`,`grpo`,`ppo`]),parameterization:$c,unsupportedReason:B().trim().min(1).max(5e3)})),ol=A([tl,rl,nl,il,al]),sl=Ks(()=>({schemaVersion:M(`openpond.trainingDestinationCapabilities.v1`),destinationId:el,available:I(),methods:k(Qc),parameterizations:k($c),modelAllowlist:k(q).default([]),maxDatasetBytes:L().int().nonnegative().nullable(),environmentPlacements:k(R([`none`,`local`,`remote`,`colocated`,`provider_native`])),nonProduction:I(),unavailableReason:B().trim().min(1).max(5e3).nullable(),checkedAt:Ut})),cl=Ks(()=>({destinationId:el,available:I(),methods:k(Qc),parameterizations:k($c),nonProduction:I(),unavailableReason:B().trim().min(1).max(5e3).nullable()})),ll=Ks(()=>({schemaVersion:M(`openpond.baseModelCandidate.v1`),selectionKey:q,label:B().trim().min(1).max(500),sourceLabel:B().trim().min(1).max(500),preference:Et,available:I(),nonProduction:I(),unavailableReason:B().trim().min(1).max(5e3).nullable(),methods:k(Qc),executionOptions:k(cl).min(1)})),ul=Ks(()=>({code:q,severity:R([`warning`,`error`]),path:B().trim().max(2e3).nullable(),message:B().trim().min(1).max(5e3)})),dl=Ks(()=>({schemaVersion:M(`openpond.trainingCompatibility.v1`),compatible:I(),destinationId:el,tasksetId:q,recipeMethod:Qc,issues:k(ul),checkedAt:Ut})),fl=A([an,R([`destination_unavailable`,`destination_method_unsupported`,`destination_model_unsupported`,`destination_parameterization_unsupported`,`experimental_destination`])]);Ks(()=>({method:Qc,state:R([`recommended`,`compatible`,`needs_dataset_work`,`destination_unavailable`,`experimental_destination`]),reasonCodes:k(fl).default([]),reasons:k(B().trim().min(1).max(5e3)).default([]),destinationId:el.nullable().default(null)})),R([`small`,`standard`,`custom`,`small_experiment`]);var pl=Qt,ml=Ks(()=>({schemaVersion:M(`openpond.trainingPlan.v1`),id:q,modelId:q,tasksetId:q,tasksetHash:Vt,comparisonSeriesEntry:jt.nullable().optional(),evaluationTasksetRef:ie.nullable().optional(),harnessRelease:U.nullable().optional(),modelImprovementQualification:U.nullable().optional(),destinationId:el,recipe:ol,environmentPlacement:R([`none`,`local`,`remote`,`colocated`,`provider_native`]),compatibility:dl,dataPolicy:F({exportApproved:I(),approvedSourceIds:k(q),retentionDays:L().int().nonnegative().nullable(),region:B().trim().min(1).max(200).nullable()}),estimatedCostUsd:L().nonnegative().nullable(),createdAt:Ut,contentHash:Vt})),hl=Ks(()=>({path:B().trim().min(1).max(2e3),sha256:Vt,sizeBytes:L().int().nonnegative(),role:R([`manifest`,`task_data`,`grader`,`environment`,`recipe`,`policy`,`provenance`])})),gl=Ks(()=>({schemaVersion:M(`openpond.trainingBundle.v1`),id:q,planId:q,tasksetId:q,tasksetHash:Vt,recipeHash:Vt,files:k(hl).min(1).max(1e6),totalSizeBytes:L().int().nonnegative(),sourceIds:k(q),excludedSourceIds:k(q),containsRawChats:M(!1),containsSecrets:M(!1),containsHiddenGraderAssets:M(!1),createdAt:Ut,contentHash:Vt}));Ks(()=>({schemaVersion:M(`openpond.trainingBundleExport.v1`),manifest:gl,files:k(F({path:B().trim().min(1).max(2e3),sha256:Vt,sizeBytes:L().int().nonnegative(),encoding:M(`base64`),content:B()})).min(1),contentHash:Vt})),Ks(()=>({schemaVersion:M(`openpond.trainingPreparedStart.v1`),plan:ml,bundle:gl,approvalActor:q.nullable(),preparedAt:Ut})),Ks(()=>({schemaVersion:M(`openpond.trainingApproval.v1`),evaluationTasksetRef:ie.nullable().optional(),id:q,planId:q,bundleHash:Vt,harnessRelease:U.nullable().optional(),modelImprovementQualification:U.nullable().optional(),destinationId:el,modelId:q,method:Qc,parameterization:$c,maximumCostUsd:L().nonnegative().nullable(),approvedBy:q,approvedAt:Ut})),Ks(()=>({schemaVersion:M(`openpond.trainingJobSourceSnapshot.v1`),evaluationTasksetRef:ie.nullable().optional(),modelProjectId:q,sourceProjectRevision:L().int().positive(),profileId:q,taskset:F({id:q,revision:L().int().positive(),contentHash:Vt}).strict(),tasksetRelease:U,harnessRelease:U,baseModel:Et,method:Qc})).strict();var _l=R([`queued`,`starting`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`,`reconciling`]),vl=Ks(()=>({schemaVersion:M(`openpond.trainingJob.v1`),id:q,planId:q,bundleHash:Vt,approvalId:q,destinationId:el,status:_l,nonProduction:I(),workerPid:L().int().positive().nullable(),startedAt:Ut.nullable(),completedAt:Ut.nullable(),error:B().trim().min(1).max(2e4).nullable(),createdAt:Ut,updatedAt:Ut,metadata:It})),yl=Ks(()=>({schemaVersion:M(`openpond.trainingJobEvent.v1`),id:q,jobId:q,sequence:L().int().nonnegative(),type:R([`queued`,`start`,`progress`,`metric`,`checkpoint`,`cancel`,`complete`,`failure`,`reconcile`]),timestamp:Ut,payload:It})),bl=Ks(()=>({schemaVersion:M(`openpond.sftStepMetric.v1`),step:L().int().nonnegative(),maxSteps:L().int().positive(),timestamp:Ut,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()})),xl=Ks(()=>({schemaVersion:M(`openpond.policyOptimizationMetric.v1`),method:R([`grpo`,`ppo`]),step:L().int().nonnegative(),timestamp:Ut,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()})),Sl=Ks(()=>({schemaVersion:M(`openpond.managedTrainingRunEvidence.v2`),provider:q,providerRunId:q,state:q,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:q,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:q,policyVersion:L().int().nonnegative(),sha256:Vt.nullable(),sizeBytes:L().int().nonnegative().nullable()}).nullable(),movement:F({adapterDeltaNorm:L().nonnegative().nullable()}),evaluations:k(F({reference:F({id:q,contentHash:Vt}).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:q.nullable(),artifactId:q.nullable()}),syncedAt:Ut})),Cl=Ks(()=>({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()})),wl=Ks(()=>({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:k(B().trim().min(1).max(2e4)).max(1e3),components:k(F({graderId:q,score:L().min(0).max(1).nullable(),passed:I(),feedback:B().trim().max(2e4).nullable()})).max(1e3)})),Tl=Ks(()=>({taskId:q,input:N(B(),V()),baseOutput:N(B(),V()).nullable(),trainedOutput:N(B(),V()).nullable(),baseGrade:wl.nullable(),trainedGrade:wl.nullable()})),El=Ks(()=>({schemaVersion:M(`openpond.trainingEvaluationSummary.v1`),jobId:q,tasksetId:q,base:Cl,trained:Cl,meanScoreDelta:L().min(-1).max(1).nullable(),examples:k(Tl).max(1e6)})),Dl=Ks(()=>({schemaVersion:M(`openpond.trainingRunDetail.v1`),job:vl,events:k(yl),stepMetrics:k(bl),policyMetrics:k(xl).default([]),managedEvidence:Sl.nullable().default(null),evaluation:El.nullable(),generatedAt:Ut})),Ol=Ks(()=>({schemaVersion:M(`openpond.trainingArtifact.v1`),id:q,jobId:q,kind:R([`adapter`,`checkpoint`,`metrics`,`log`,`manifest`,`evaluation`]),path:B().trim().min(1).max(4e3),sha256:Vt,sizeBytes:L().int().nonnegative(),baseModelId:q.nullable(),baseModelRevision:B().trim().min(1).max(256).nullable(),tokenizerRevision:B().trim().min(1).max(256).nullable(),chatTemplateHash:Vt.nullable(),nonProduction:I(),createdAt:Ut,metadata:It})),kl=Ks(()=>({schemaVersion:M(`openpond.modelArtifactLineage.v1`),id:q,modelId:q,artifactId:q,jobId:q,tasksetId:q,tasksetHash:Vt,graderHash:Vt,planHash:Vt,bundleHash:Vt,recipeHash:Vt,workerVersion:B().trim().min(1).max(256),trainerVersion:B().trim().min(1).max(256),importedAt:Ut,frozenEvaluationArtifactId:q.nullable(),promotable:I(),pinned:I().default(!1),status:R([`imported`,`rejected`]).default(`imported`),rejectedAt:Ut.nullable().default(null),rejectionReason:B().trim().min(1).max(5e3).nullable().default(null),chatConfiguration:Rt.default(Ht),managedServing:Bt.nullable().default(null)})),Al=R([`chat_manual`,`agent`,`extension`,`authoring_optimizer`]),jl=Ks(()=>({schemaVersion:M(`openpond.modelBinding.v1`),id:q,profileId:q,role:Al,roleTargetId:q,modelArtifactLineageId:q,tasksetId:q,evaluationArtifactId:q.nullable(),status:R([`active`,`rolled_back`]),priorBindingId:q.nullable(),rollbackTargetBindingId:q.nullable(),promotedBy:q,promotedAt:Ut,rolledBackAt:Ut.nullable(),metadata:It}));Ks(()=>({schemaVersion:M(`openpond.trainingActivity.v1`),profileId:q,active:I(),activeCounts:F({jobs:L().int().nonnegative(),creations:L().int().nonnegative(),minerRuns:L().int().nonnegative(),datasetImports:L().int().nonnegative()}),revision:Vt,generatedAt:Ut})),Ks(()=>({schemaVersion:M(`openpond.tasksetOperationalState.v1`),tasksetId:q,attempts:k(Ct),artifacts:k(St),grades:k(Dt),evaluationResults:k(At).default([]),generatedAt:Ut}));var Ml=Ks(()=>({schemaVersion:M(`openpond.trainingState.v1`),profileId:q,sources:k(sn),creations:k(Tt),tasksetDrafts:k(un).default([]),tasksets:k(dn),benchmarkRuns:k(z()).default([]),benchmarkComparisons:k(z()).default([]),datasetImports:k(Fs).default([]),datasetArtifacts:k(tn).default([]),graderAuditReports:k(Ot),evaluationResults:k(z()).default([]),candidates:k(Us),minerConfig:Ws,minerRuns:k(Gs).default([]),modelProjects:k(pl).default([]),modelVersions:k(Pt).default([]),modelRuns:k(Nt).default([]),comparisonSeries:k(Kt).default([]),comparisonSeriesEntries:k(Wt).default([]),modelCurrencySnapshots:k(Qs).default([]),continualBenchIssueReviews:k(rc).default([]),continualLearningDailyBatches:k(nc).default([]),rewardModelVersions:k(Ft).default([]),rewardModelRuns:k(zt).default([]),modelTasksets:k(dn).default([]),plans:k(ml),bundles:k(gl),jobs:k(vl),artifacts:k(Ol),models:k(kl),rolloutReceipts:k(Jc).default([]),modelBindings:k(jl).default([]),destinations:k(sl),baseModelCandidates:k(ll).default([]),activityRevision:Vt.optional(),generatedAt:Ut})),Nl=32e3,Pl=R([`steer`,`message`,`followup`,`queued`,`result`]),Fl=R([`pending`,`included`,`resolved`,`cancelled`,`rejected`]),Il=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:Pl,body:B().trim().min(1).max(Nl),payload:N(B(),V()).default({}),idempotencyKey:B().min(1).max(200),replyTo:B().min(1).nullable(),expectedTurnId:B().min(1).nullable(),turnId:B().min(1).nullable(),requestIds:k(B()),state:Fl,revision:L().int().positive(),createdAt:B(),updatedAt:B(),error:B().nullable()}).strict(),Ll=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:k(qt).max(16).optional(),resources:k(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:tt.optional()}).strict()).max(32)}).strict(),Rl=k(Ll).max(16);F({expectedTurnId:B().trim().min(1),idempotencyKey:B().trim().min(1).max(200),prompt:B().trim().min(1).max(Nl),resourceContexts:Rl.optional()}).strict(),j(`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(Nl)}).strict(),F({action:M(`steer`),expectedRevision:L().int().positive(),expectedTurnId:B().trim().min(1)}).strict()]);var zl=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:k(Il),waits:k(zl)}),[`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
- `);var Bl=yt.shape.id,Vl=F({schemaVersion:M(`openpond.modelBatchReviewInspection.v1`),packageHash:B().regex(/^[a-f0-9]{64}$/),definition:gt,binding:mt,evidence:k(bt).min(1).max(1e4),decisions:k(vt).min(1).max(1e4)}).strict(),Hl=F({schemaVersion:M(`openpond.modelBatchReviewRequest.v1`),operationId:Bl,modelId:Bl,expectedModelRevision:L().int().positive(),tasksetRef:yt,rewardBindingRef:yt.nullable(),definition:F({name:B().trim().min(1).max(500).optional(),instructions:B().trim().min(1).max(2e4).optional(),inputSchema:xt.optional(),outputSchema:xt.optional(),requiredOutputs:gt.shape.requiredOutputs}).strict(),examples:k(F({evidence:yt,input:xt.optional(),expected:xt.nullable().optional(),evaluatorContext:xt.nullable().optional(),proposedTarget:xt.nullable().optional()}).strict()).max(1e4)}).strict(),Ul=F({schemaVersion:M(`openpond.modelBatchReviewReceipt.v1`),operationId:Bl,modelId:Bl,source:ht,evidence:k(bt).min(1).max(1e4),proposals:k(_t).max(1e4)}).strict();function Wl(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 Gl(e){return Math.min(500*2**Math.max(0,e),1e4)}async function Kl(e,t,n,r){ql(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),Xl(e,t,n),s=o.indexOf(`
16
-
17
- `)}}!r?.aborted&&o.trim()&&Xl(o,t,n)}function ql(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 Jl(e,t,n,r,i={}){let a=new AbortController,o=i.fetchImpl??fetch,s=i.reconnectDelayMs??Gl,c=Yl(i.afterSequence),l=!1;return(async()=>{let i=0;for(;!a.signal.aborted;)try{let n=Wl(e,a.signal,c),s=await o(n.url,n.init);if(ql(s),l=!0,i=0,await Kl(s,e=>{let n=Yl(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 Zl(s(i),a.signal),i+=1}})().catch(()=>void 0),{close(){a.abort()},isOpen(){return l}}}function Yl(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0?e:0}function Xl(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 Zl(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 Ql=5e3,$l=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:Ql,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 eu(e,t,n){let r=(0,Y.useRef)({scope:n,lifecycle:new $l}),[i,a]=(0,Y.useState)([]),[o,s]=(0,Y.useState)(0),c=(0,Y.useRef)(t);c.current=t;let l=(0,Y.useRef)(n);l.current=n,(0,Y.useEffect)(()=>{if(r.current.scope!==n){r.current={scope:n,lifecycle:new $l},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,Y.useCallback)((e,t)=>{r.current.lifecycle.pause(e,t,Date.now()),s(e=>e+1)},[]),d=(0,Y.useRef)(3),f=(0,Y.useCallback)(e=>{d.current!==e&&(d.current=e,r.current.lifecycle.setCapacity(e,Date.now()),s(e=>e+1))},[]),p=(0,Y.useCallback)(()=>l.current===n,[n]);return{cards:r.current.scope===n?i:[],onDismiss:t,onPause:u,onCapacity:f,isCurrent:p}}function tu(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function nu(e){return e.replace(/\s+/g,` `).trim().slice(0,120)}function ru(e,t){let n=t.eventsBySessionId.get(e)??[],r=new Map;for(let t of n){let n=tu(t.data);if(t.name===`user_question.asked`){let t=Yr.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=Xr.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=Xn(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 iu(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(t.includes(r.name))return r}}function au(e){let t=tu(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 ou(e,t,n){let r=n.eventsBySessionId.get(e.id)??[],i=iu(r,[`turn.completed`,`turn.failed`,`turn.interrupted`]);if(!i||i.id!==t.id||i.name!==`turn.completed`)return!0;let a=iu(r,[`turn.started`]);if(a?.turnId&&t.turnId&&a.turnId!==t.turnId||An(r)||Cn(e.metadata))return!0;let o=kn(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=Il.safeParse(tu(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 su=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(!au(i)){this.completions.delete(i.id);continue}let a=this.attentionSessions.has(i.id);this.attentionSessions.delete(i.id);let o=ru(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?nu(e.preview):void 0,target:e.target,kind:`attention`,updateOnly:!r})}}let c=this.completions.get(i.id);if(!c)continue;let l=iu(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):ou(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 cu(e){let t=(0,Y.useRef)(e);t.current=e;let n=(0,Y.useRef)(null),r=(0,Y.useRef)(new Set),[i,a]=(0,Y.useState)(0),[o,s]=(0,Y.useState)([]),[c,l]=(0,Y.useState)(()=>document.hasFocus()&&document.visibilityState!==`hidden`);(0,Y.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,Y.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,Y.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 su(i.afterSequence)},n.current.projector.ingest(r,Date.now()),a(e=>e+1))})),[e.scope,e.store,e.dispatch]),(0,Y.useEffect)(()=>{if(e.afterSequence===null)return;(!n.current||n.current.scope!==e.scope)&&(n.current={scope:e.scope,projector:new su(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 lu=`openpond-thread-notification-reveal`;function uu(e){window.dispatchEvent(new CustomEvent(lu,{detail:e}))}function du(e){let t=(0,Y.useRef)(e);t.current=e,(0,Y.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(lu,r),()=>{n?.(),window.removeEventListener(lu,r)}},[e])}var fu=new Set([`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`approval.requested`,`approval.resolved`,`task.input`,`task.wait`]);function pu(e){let t={};for(let n of e)n.sessionId&&fu.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 mu(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 hu(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*gu(e){for(let t of e.values())yield*t}function _u(e,t,n){let r=(0,Y.useRef)(n);r.current=n,(0,Y.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 J(e,`/v1/ponder/notifications`);if(n||i.bindingId!==a||!i.items.some(e=>e.id===t)||(await J(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([J(e,`/v1/ponder/settings`),J(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 vu={teamInvitations:e=>J(e,`/v1/team-invitations`),decideTeamInvitation:(e,t,n)=>J(e,`/v1/team-invitations/${t}`,{method:`POST`,body:JSON.stringify({token:n})}),organizations:e=>J(e,`/v1/organizations`),createOrganization:(e,t)=>J(e,`/v1/organizations`,{method:`POST`,body:JSON.stringify(t)}),updateOrganization:(e,t,n)=>J(e,`/v1/organizations/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),organizationMembers:(e,t)=>J(e,`/v1/organizations/${encodeURIComponent(t)}/members`),upsertOrganizationMember:(e,t,n)=>J(e,`/v1/organizations/${encodeURIComponent(t)}/members`,{method:`POST`,body:JSON.stringify(n)}),organizationMcpServer:(e,t)=>J(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server`),generateOrganizationMcpServer:(e,t,n)=>J(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server`,{method:`POST`,body:JSON.stringify(n)}),setOrganizationMcpServerStatus:(e,t,n)=>J(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server/${n}`,{method:`POST`})},yu={getGoal:(e,t)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/goal`),patchGoal:(e,t,n)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/goal`,{method:`PATCH`,body:JSON.stringify(n)}),taskInbox:(e,t)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/inbox`),steerTurn:(e,t,n)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/turns/steer`,{method:`POST`,body:JSON.stringify(n)}),queueTaskInput:(e,t,n,r)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/inbox`,{method:`POST`,body:JSON.stringify({input:n,idempotencyKey:r})}),updateTaskInput:(e,t,n,r)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/inbox/${encodeURIComponent(n)}`,{method:`PATCH`,body:JSON.stringify(r)}),sendTurn:(e,t,n)=>J(e,`/v1/sessions/${t}/turns`,{method:`POST`,body:JSON.stringify(n)}),runSessionCommand:(e,t,n)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/commands`,{method:`POST`,body:JSON.stringify(n)}),recordPreflightTurnFailure:(e,t,n)=>J(e,`/v1/sessions/${t}/preflight-turns/failure`,{method:`POST`,body:JSON.stringify(n)}),listCreateImproveRuns:(e,t={})=>J(e,`/v1/create-improve-runs?${bu(t).toString()}`),getCreateImproveRun:(e,t)=>J(e,`/v1/create-improve-runs/${encodeURIComponent(t)}`),getCreateImproveCandidateDiff:(e,t,n)=>J(e,`/v1/create-improve-runs/${encodeURIComponent(t)}/candidates/${encodeURIComponent(n)}/diff`),applyCreateImproveAction:(e,t,n)=>J(e,`/v1/create-improve-runs/${encodeURIComponent(t)}/actions`,{method:`POST`,body:JSON.stringify(n)}),interruptTurn:(e,t,n)=>J(e,`/v1/sessions/${t}/turns/interrupt`,{method:`POST`,body:JSON.stringify({reason:n})}),compactSession:(e,t,n={reason:`manual`})=>J(e,`/v1/sessions/${t}/compact`,{method:`POST`,body:JSON.stringify(n)}),workspaceTool:(e,t,n)=>J(e,`/v1/sessions/${t}/workspace-tools`,{method:`POST`,body:JSON.stringify(n)}),ensureCloudWorkspaceReady:(e,t,n)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/workspace/ensure-ready`,{method:`POST`,body:JSON.stringify(n)})};function bu(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 xu={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)),J(e,`/v1/sandboxes/${encodeURIComponent(t)}/files?${r.toString()}`)},sandboxUploadFile:(e,t,n)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}/files`,{method:`POST`,body:JSON.stringify(n)}),preserveSandboxSource:(e,t,n={})=>J(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 J(e,`/v1/sandboxes/${encodeURIComponent(t)}/files?${i.toString()}`);return{...a,contents:a.file.isBinary?``:xn(a.file.contentsBase64)}}},Su={sandboxGitStatus:(e,t)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}/git/status`),sandboxGitDiff:(e,t,n)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}/git/diff`,{method:`POST`,body:JSON.stringify(n)})},Cu={connectedAppStatus:(e,t={})=>{let n=gn(t);return n.set(`status`,t.status??`all`),J(e,`/v1/connected-apps/status${n.size>0?`?${n.toString()}`:``}`)},integrationConnections:(e,t={})=>{let n=gn(t);return t.status&&n.set(`status`,t.status),J(e,`/v1/integrations/connections${n.size>0?`?${n.toString()}`:``}`)},sandboxIntegrationLeases:(e,t)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`),attachSandboxIntegrationConnection:(e,t,n)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`,{method:`POST`,body:JSON.stringify(n)}),removeSandboxIntegrationLease:(e,t,n)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`,{method:`DELETE`,body:JSON.stringify({leaseId:n})})},wu={listSandboxProjects:(e,t)=>{let n=new URLSearchParams({teamId:t.teamId});return J(e,`/v1/sandbox-projects?${n.toString()}`)},getSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return J(e,`/v1/sandbox-projects/${encodeURIComponent(t)}?${r.toString()}`)},getSandboxProjectWorkspace:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return J(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/workspace?${r.toString()}`)},upsertSandboxProject:(e,t)=>J(e,`/v1/sandbox-projects`,{method:`POST`,body:JSON.stringify(t)}),syncSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return J(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 J(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 J(e,`/v1/sandbox-projects/${encodeURIComponent(t)}?${r.toString()}`,{method:`DELETE`})},listSandboxAgents:(e,t)=>{let n=new URLSearchParams({teamId:t.teamId});return J(e,`/v1/sandbox-agents?${n.toString()}`)},upsertSandboxAgent:(e,t)=>J(e,`/v1/sandbox-agents`,{method:`POST`,body:JSON.stringify(t)}),runSandboxAgent:(e,t,n)=>J(e,`/v1/sandbox-agents/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify(n)}),runProfileAction:(e,t)=>J(e,`/v1/profile/run`,{method:`POST`,body:JSON.stringify(t)})},Tu={sandbox:(e,t)=>J(e,`/v1/sandboxes/${encodeURIComponent(t)}`)},Eu={...Cu,...wu,...Tu,...Su,...xu},Du={communities:(e,t)=>{let n=new URLSearchParams;return t&&n.set(`cursor`,t),J(e,`/v1/communities${n.size?`?${n}`:``}`)},communityPreview:(e,t)=>J(e,`/v1/communities/${encodeURIComponent(t)}/preview`),communityRules:(e,t)=>J(e,`/v1/communities/${encodeURIComponent(t)}/rules/current`),joinCommunity:(e,t,n)=>J(e,`/v1/communities/${encodeURIComponent(t)}/join`,{method:`POST`,body:JSON.stringify({acceptedRulesVersionId:n})}),acceptCommunityRules:(e,t,n)=>J(e,`/v1/communities/${encodeURIComponent(t)}/rules/accept`,{method:`POST`,body:JSON.stringify({acceptedRulesVersionId:n})}),leaveCommunity:(e,t)=>J(e,`/v1/communities/${encodeURIComponent(t)}/leave`,{method:`POST`,body:`{}`}),communityChannels:(e,t)=>J(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)),J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages${i.size?`?${i}`:``}`)},sendCommunityMessage:(e,t,n,r)=>J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages`,{method:`POST`,body:JSON.stringify(r)}),editCommunityMessage:(e,t,n,r,i)=>J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages/${encodeURIComponent(r)}`,{method:`PATCH`,body:JSON.stringify({body:i})}),deleteCommunityMessage:(e,t,n,r)=>J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages/${encodeURIComponent(r)}`,{method:`DELETE`,body:`{}`}),markCommunityRead:(e,t,n,r)=>J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/read`,{method:`POST`,body:JSON.stringify({sequence:r})}),setCommunityChannelMuted:(e,t,n,r)=>J(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)),J(e,`/v1/communities/${encodeURIComponent(t)}/members/search${r.size?`?${r}`:``}`)},updateCommunityNotifications:(e,t,n)=>J(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)),J(e,`/v1/communities/${encodeURIComponent(t)}/events${r.size?`?${r}`:``}`)},communityRealtimeSession:(e,t)=>J(e,`/v1/communities/${encodeURIComponent(t)}/realtime-session`),uploadCommunityAttachment:(e,t,n,r)=>J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/attachments/upload`,{method:`POST`,body:JSON.stringify({attachment:r})}),communityAttachmentDownload:(e,t,n,r)=>J(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/attachments/${encodeURIComponent(r)}/download`)},Ou=`openpond-app-server-url`,ku=`openpond-app-token`,Au=750;function ju(){return window.location.protocol!==`http:`&&window.location.protocol!==`https:`?null:window.location.origin&&window.location.origin!==`null`?window.location.origin:null}function Mu(e){let t=e.getItem(Ou)?.trim(),n=e.getItem(ku)?.trim();return t&&n?{serverUrl:t,token:n}:null}function Nu(e){if(!e)return null;try{let t=`__openpond_storage_probe__`;return e.setItem(t,`1`),e.removeItem(t),e}catch{return null}}function Pu(e,t){e.setItem(Ou,t.serverUrl),e.setItem(ku,t.token)}function Fu(){let e=window.__OPENPOND_WEB_CONNECTION__,t=e?.serverUrl?.trim(),n=e?.token?.trim();return t&&n?{serverUrl:t,token:n}:null}function Iu(){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()||ju();return!r||!n?null:{serverUrl:r,token:n}}function Lu(){window.location.hash&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`)}function Ru(e,t){t&&(e.some(e=>e.serverUrl===t.serverUrl&&e.token===t.token)||e.push(t))}function zu(){let e=[],t=Nu(window.sessionStorage),n=Nu(window.localStorage),r=ju(),i=t?.getItem(ku)??n?.getItem(ku);return Ru(e,null),Ru(e,r&&i?{serverUrl:r,token:i.trim()}:null),Ru(e,t?Mu(t):null),Ru(e,n?Mu(n):null),e}async function Bu(e){let t=new AbortController,n=window.setTimeout(()=>t.abort(),Au);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 Vu(){if(window.openpond)return window.openpond.getConnection();let e=Nu(window.sessionStorage),t=Nu(window.localStorage),n=Iu();if(n&&await Bu(n.serverUrl))return t&&Pu(t,n),e&&Pu(e,n),Lu(),{...n,platform:navigator.platform};let r=Fu();if(r&&await Bu(r.serverUrl))return t&&Pu(t,r),e&&Pu(e,r),{...r,platform:navigator.platform};let i=zu();for(let n of i)if(await Bu(n.serverUrl))return t&&Pu(t,n),e&&Pu(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={...Du,bootstrap:(e,t)=>J(e,`/v1/bootstrap?refreshCodex=1`,{signal:t}),accountScopeSnapshot:e=>J(e,`/v1/bootstrap?ensureProfile=0`),localProjectActions:(e,t)=>J(e,`/v1/projects/${encodeURIComponent(t)}/actions`),extensionCatalog:e=>J(e,`/v1/extensions`),extensionPreview:(e,t)=>J(e,`/v1/extensions/preview`,{method:`POST`,body:JSON.stringify(t)}),extensionAdd:(e,t)=>J(e,`/v1/extensions`,{method:`POST`,body:JSON.stringify(t)}),extensionUpdate:(e,t,n={})=>J(e,`/v1/extensions/github/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repo)}/update`,{method:`POST`,body:JSON.stringify(n)}),extensionUpdateAll:e=>J(e,`/v1/extensions/update-all`,{method:`POST`}),extensionRemove:(e,t)=>J(e,`/v1/extensions/github/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repo)}`,{method:`DELETE`}),skillSourceFile:(e,t,n,r)=>J(e,`/v1/skills/${t}/${encodeURIComponent(n)}/source?path=${encodeURIComponent(r)}`),teamChatMembers:(e,t,n)=>J(e,`/v1/team-chat/members?teamId=${encodeURIComponent(t)}`,{signal:n}),teamChatAgents:(e,t)=>J(e,`/v1/team-chat/agents?teamId=${encodeURIComponent(t)}`),teamChatThreads:(e,t)=>J(e,`/v1/team-chat/threads?teamId=${encodeURIComponent(t)}`),teamChatRealtimeSession:(e,t)=>J(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)),J(e,`/v1/team-chat/events?${r.toString()}`)},teamChatGeneral:(e,t)=>J(e,`/v1/team-chat/threads/general`,{method:`POST`,body:JSON.stringify({teamId:t})}),teamChatDm:(e,t,n)=>J(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)),J(e,`/v1/team-chat/threads/${encodeURIComponent(n)}?${i.toString()}`)},uploadTeamChatAttachment:(e,t,n)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/attachments/upload`,{method:`POST`,body:JSON.stringify(n)}),teamChatAttachmentDownload:(e,t,n)=>J(e,`/v1/team-chat/attachments/${encodeURIComponent(n)}/download?teamId=${encodeURIComponent(t)}`),sendTeamChatMessage:(e,t,n)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages`,{method:`POST`,body:JSON.stringify(n)}),createTeamChatAgentRun:(e,t,n)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/agent-runs`,{method:`POST`,body:JSON.stringify(n)}),teamChatAgentConversation:(e,t,n)=>J(e,`/v1/team-chat/agent-runs/${encodeURIComponent(n)}?teamId=${encodeURIComponent(t)}`),editTeamChatMessage:(e,t,n,r)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages/${encodeURIComponent(n)}`,{method:`PATCH`,body:JSON.stringify(r)}),deleteTeamChatMessage:(e,t,n,r)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages/${encodeURIComponent(n)}`,{method:`DELETE`,body:JSON.stringify({teamId:r})}),markTeamChatRead:(e,t,n,r)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/read`,{method:`POST`,body:JSON.stringify({teamId:n,sequence:r})}),setTeamChatThreadMuted:(e,t,n,r)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/mute`,{method:`POST`,body:JSON.stringify({teamId:n,muted:r})}),createTeamChatAiThread:(e,t,n)=>J(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/ai-threads`,{method:`POST`,body:JSON.stringify(n)}),teamChatAiThread:(e,t,n)=>J(e,`/v1/team-chat/ai-threads/${encodeURIComponent(n)}?teamId=${encodeURIComponent(t)}`),sendTeamChatAiTurn:(e,t,n)=>J(e,`/v1/team-chat/ai-threads/${encodeURIComponent(t)}/turns`,{method:`POST`,body:JSON.stringify(n)}),executeTeamChatAiTurn:(e,t,n)=>J(e,`/v1/team-chat/ai-turns/${encodeURIComponent(t)}/execute`,{method:`POST`,body:JSON.stringify({teamId:n})}),cancelTeamChatAiTurnExecution:(e,t,n)=>J(e,`/v1/team-chat/ai-turns/${encodeURIComponent(t)}/execute/cancel`,{method:`POST`,body:JSON.stringify({teamId:n})}),usage:(e,t={})=>{let n=Hu(t),r=n.size?`?${n.toString()}`:``;return J(e,`/v1/usage${r}`)},usageRecords:(e,t={})=>{let n=Hu(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 J(e,`/v1/usage/records${r}`)},usageTurnCache:(e,t)=>J(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 J(e,`/v1/events/page${r}`)},sessionFiles:(e,t)=>J(e,`/v1/sessions/${encodeURIComponent(t)}/files`),workOutputs:e=>J(e,`/v1/work/outputs`),harnessHistory:e=>J(e,`/v1/harness`),refinerHistory:e=>J(e,`/v1/refiner`),updateRefinerProfile:(e,t)=>J(e,`/v1/refiner/update`,{method:`POST`,body:JSON.stringify(t)}),activateRefinerRelease:(e,t)=>J(e,`/v1/refiner/activate`,{method:`POST`,body:JSON.stringify(t)}),rollbackRefinerRelease:(e,t)=>J(e,`/v1/refiner/rollback`,{method:`POST`,body:JSON.stringify(t)}),updateHarnessBackgroundReview:(e,t)=>J(e,`/v1/harness/background-review`,{method:`POST`,body:JSON.stringify(t)}),reviewHarnessEvaluation:(e,t)=>J(e,`/v1/harness/evaluation-review`,{method:`POST`,body:JSON.stringify(t)}),updateHarnessEvaluationReviewSchedule:(e,t)=>J(e,`/v1/harness/evaluation-review/settings`,{method:`POST`,body:JSON.stringify(t)}),harnessReleaseDiff:(e,t)=>J(e,`/v1/harness/diff`,{method:`POST`,body:JSON.stringify(t)}),rollbackHarness:(e,t)=>J(e,`/v1/harness/rollback`,{method:`POST`,body:JSON.stringify(t)}),reviewHarnessProposal:(e,t)=>J(e,`/v1/harness/review`,{method:`POST`,body:JSON.stringify(t)}),runSubagentLifecycleAction:(e,t,n)=>J(e,`/v1/subagents/${encodeURIComponent(t)}/lifecycle`,{method:`POST`,body:JSON.stringify(n)}),trainingState:(e,t,n)=>J(e,`/v1/training?profileId=${encodeURIComponent(t)}`,{signal:n}),trainingActivity:(e,t,n)=>J(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),J(e,`/v1/training/catalog${r.size?`?${r.toString()}`:``}`)},datasetCatalog:(e,t)=>J(e,`/v1/training/datasets?profileId=${encodeURIComponent(t)}`),trainingRunDetail:(e,t,n={})=>J(e,`/v1/training/jobs/${encodeURIComponent(t)}/detail?evaluation=${n.includeEvaluation===!1?`false`:`true`}`),candidateReview:(e,t,n=!1,r=`models`)=>J(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision?refresh=${n}`),recordCandidateReview:(e,t,n,r=`models`)=>J(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision`,{method:`POST`,body:JSON.stringify(n)}),candidateReviewHistory:(e,t,n,r=`models`)=>J(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),J(e,`/v1/training/jobs/${encodeURIComponent(t)}/evaluations/${encodeURIComponent(n.id)}/tasks?${i}`)},trainingRequest:(e,t,n,r=`POST`)=>J(e,`/v1/training${t}`,{method:r,body:r===`GET`||r===`DELETE`?void 0:JSON.stringify(n)}),datasetStorageState:e=>J(e,`/v1/settings/dataset-storage`),updateDatasetStorage:(e,t)=>J(e,`/v1/settings/dataset-storage`,{method:`PATCH`,body:JSON.stringify({datasetStorePath:t})}),hostedSavedWork:e=>J(e,`/v1/saved-work`),createHostedSavedWork:(e,t)=>J(e,`/v1/saved-work`,{method:`POST`,body:JSON.stringify(t)}),updateHostedSavedWork:(e,t,n)=>J(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),deleteHostedSavedWork:(e,t)=>J(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}`,{method:`DELETE`}),runHostedSavedWork:(e,t,n)=>J(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 J(e,`/v1/chat-workflows${n}`)},createChatWorkflow:(e,t)=>J(e,`/v1/chat-workflows`,{method:`POST`,body:JSON.stringify(t)}),updateChatWorkflow:(e,t,n)=>J(e,`/v1/chat-workflows/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),deleteChatWorkflow:(e,t)=>J(e,`/v1/chat-workflows/${encodeURIComponent(t)}`,{method:`DELETE`}),runChatWorkflow:(e,t)=>J(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 J(e,`/v1/local-agent-schedules${r}`)},syncLocalAgentSchedules:e=>J(e,`/v1/local-agent-schedules/sync`,{method:`POST`,body:JSON.stringify({})}),patchLocalAgentSchedule:(e,t,n)=>J(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),runLocalAgentSchedule:(e,t,n={})=>J(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 J(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}/runs${i}`)},refreshOpenPondAccounts:e=>J(e,`/v1/openpond/accounts/refresh`,{method:`POST`,body:JSON.stringify({})}),refreshOpenPondAccount:e=>J(e,`/v1/openpond/account?refresh=1`),loadMoreOpenPondApps:(e,t)=>J(e,`/v1/openpond/apps/more?offset=${encodeURIComponent(String(t.offset))}&limit=${encodeURIComponent(String(t.limit))}`),switchOpenPondAccount:(e,t)=>J(e,`/v1/openpond/accounts/switch`,{method:`POST`,body:JSON.stringify(t)}),removeOpenPondAccount:(e,t)=>J(e,`/v1/openpond/accounts`,{method:`DELETE`,body:JSON.stringify(t)}),signOutOpenPondAccount:e=>J(e,`/v1/openpond/accounts/logout`,{method:`POST`,body:JSON.stringify({})}),saveOpenPondAccount:(e,t)=>J(e,`/v1/openpond/accounts/login`,{method:`POST`,body:JSON.stringify(t)}),updateOpenPondAccountConfig:(e,t)=>J(e,`/v1/openpond/accounts/config`,{method:`PATCH`,body:JSON.stringify(t)}),savePreferences:(e,t)=>J(e,`/v1/preferences`,{method:`PATCH`,body:JSON.stringify(t)}),saveProviderSettings:(e,t)=>J(e,`/v1/providers`,{method:`PATCH`,body:JSON.stringify(t)}),providerSettings:e=>J(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 J(e,`/v1/providers/${encodeURIComponent(t)}/models${i}`)},refreshProviderModels:(e,t,n)=>J(e,`/v1/providers/${encodeURIComponent(t)}/models`,{method:`POST`,body:JSON.stringify(n)}),saveProviderCredential:(e,t,n)=>J(e,`/v1/providers/${encodeURIComponent(t)}/credential`,{method:`PUT`,body:JSON.stringify(n)}),deleteProviderCredential:(e,t,n)=>J(e,`/v1/providers/${encodeURIComponent(t)}/credential`,{method:`DELETE`,body:JSON.stringify(n)}),startOpenAiSubscriptionAuth:(e,t)=>J(e,`/v1/providers/openai/subscription-auth`,{method:`POST`,body:JSON.stringify(t)}),validateProviderCredential:(e,t,n)=>J(e,`/v1/providers/${encodeURIComponent(t)}/validate`,{method:`POST`,body:JSON.stringify(n)}),savePersonalization:(e,t)=>J(e,`/v1/personalization`,{method:`PATCH`,body:JSON.stringify(t)}),recordClientDiagnostic:(e,t)=>J(e,`/v1/diagnostics/client`,{method:`POST`,body:JSON.stringify(t)}),profileCurrent:e=>J(e,`/v1/profile`),profileCatalog:e=>J(e,`/v1/profile/catalog`),profileWorkflows:e=>J(e,`/v1/profile/workflows`),profileEvaluations:e=>J(e,`/v1/profile/evaluations`),profileEvaluationDiscovery:(e,t,n)=>J(e,`/v1/profile/evaluations/discover`,{method:`POST`,body:JSON.stringify({profileRef:t}),signal:n}),profileEvaluationPrepare:(e,t)=>J(e,`/v1/profile/evaluations/prepare`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationRun:(e,t)=>J(e,`/v1/profile/evaluations/run`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationRunSuite:(e,t)=>J(e,`/v1/profile/evaluations/run-suite`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationCompare:(e,t)=>J(e,`/v1/profile/evaluations/compare`,{method:`POST`,body:JSON.stringify({id:`comparison-${crypto.randomUUID()}`,runIds:t})}),profileEvaluationSaveReport:(e,t,n)=>J(e,`/v1/profile/evaluations/reports`,{method:`POST`,body:JSON.stringify({id:`report-${crypto.randomUUID()}`,evidenceKind:t,evidenceId:n})}),profileSelect:(e,t)=>J(e,`/v1/profile/select`,{method:`POST`,body:JSON.stringify({ref:t})}),profileRemove:(e,t)=>J(e,`/v1/profile/remove`,{method:`POST`,body:JSON.stringify({ref:t})}),profilePublicationPreview:(e,t)=>J(e,`/v1/profile/publication/preview`,{method:`POST`,body:JSON.stringify(t)}),profilePublicationPublish:(e,t)=>J(e,`/v1/profile/publication/publish`,{method:`POST`,body:JSON.stringify(t)}),profileInstall:(e,t)=>J(e,`/v1/profile/install`,{method:`POST`,body:JSON.stringify(t)}),profileUpdate:(e,t)=>J(e,`/v1/profile/update`,{method:`POST`,body:JSON.stringify({ref:t})}),profileInit:(e,t)=>J(e,`/v1/profile/init`,{method:`POST`,body:JSON.stringify(t)}),profileLoad:(e,t)=>J(e,`/v1/profile/load`,{method:`POST`,body:JSON.stringify(t)}),profileCheck:(e,t)=>J(e,`/v1/profile/check`,{method:`POST`,body:JSON.stringify(t)}),profileAgentRename:(e,t,n)=>J(e,`/v1/profile/agents/${encodeURIComponent(t)}/name`,{method:`PATCH`,body:JSON.stringify(n)}),profileCommit:(e,t)=>J(e,`/v1/profile/commit`,{method:`POST`,body:JSON.stringify(t)}),profilePush:(e,t)=>J(e,`/v1/profile/push`,{method:`POST`,body:JSON.stringify(t)}),workspaceLspSettingsStatus:e=>J(e,`/v1/lsp/settings-status`),workspaceLspRuntimeStatus:e=>J(e,`/v1/lsp/status`),restartWorkspaceLsp:e=>J(e,`/v1/lsp/restart`,{method:`POST`}),remoteAccess:e=>J(e,`/v1/remote-access`),enableRemoteAccess:e=>J(e,`/v1/remote-access/enable`,{method:`POST`}),disableRemoteAccess:e=>J(e,`/v1/remote-access/disable`,{method:`POST`}),voiceTranscriptionStatus:(e,t={})=>J(e,`/v1/audio/transcriptions/status`,{signal:t.signal}),transcribeVoice:(e,t,n={})=>J(e,`/v1/audio/transcriptions`,{method:`POST`,body:JSON.stringify(t),signal:n.signal}),createSession:(e,t)=>J(e,`/v1/sessions`,{method:`POST`,body:JSON.stringify(t)}),patchSession:(e,t,n)=>J(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 J(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`),J(e,`/v1/codex-history/${encodeURIComponent(t)}?${r.toString()}`)},sendCodexHistoryTurn:(e,t,n)=>J(e,`/v1/codex-history/${encodeURIComponent(t)}/turns`,{method:`POST`,body:JSON.stringify(n)}),interruptCodexHistoryTurn:(e,t)=>J(e,`/v1/codex-history/${encodeURIComponent(t)}/turns/interrupt`,{method:`POST`}),patchSidebarAppPreference:(e,t,n)=>J(e,`/v1/sidebar/apps/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),reorderSidebarApps:(e,t)=>J(e,`/v1/sidebar/apps/reorder`,{method:`POST`,body:JSON.stringify(t)}),sidebarFiles:e=>J(e,`/v1/sidebar/files`),patchSidebarFile:(e,t)=>J(e,`/v1/sidebar/files`,{method:`PATCH`,body:JSON.stringify(t)}),workspaceStatus:(e,t,n=!1,r={})=>J(e,`/v1/workspaces/${encodeURIComponent(t)}${n?`?ensure=1`:``}`,{signal:r.signal}),createWorkspaceBranch:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/branches`,{method:`POST`,body:JSON.stringify(n)}),checkoutWorkspaceBranch:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/branch`,{method:`PATCH`,body:JSON.stringify(n)}),workspaceDiff:(e,t,n={})=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/diff`,{signal:n.signal}),resolveWorkspaceFile:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/resolve-file?path=${encodeURIComponent(n)}`),workspaceFileVersion:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/file-version?path=${encodeURIComponent(n)}`),workspaceFile:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}`),saveWorkspaceFile:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/file`,{method:`PATCH`,body:JSON.stringify(n)}),signWorkspaceImageUrl:(e,t)=>J(e,`/v1/assets/workspace-image-url`,{method:`POST`,body:JSON.stringify(t)}),signLocalImageUrl:(e,t)=>J(e,`/v1/assets/local-image-url`,{method:`POST`,body:JSON.stringify(t)}),signLocalVideoUrl:(e,t)=>J(e,`/v1/assets/local-video-url`,{method:`POST`,body:JSON.stringify(t)}),signChatAttachmentImageUrl:(e,t)=>J(e,`/v1/assets/chat-attachment-image-url`,{method:`POST`,body:JSON.stringify(t)}),chatAttachmentFile:(e,t)=>J(e,`/v1/assets/chat-attachment-file`,{method:`POST`,body:JSON.stringify(t)}),workspaceLspTouch:(e,t,n,r={})=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/lsp/touch`,{method:`POST`,body:JSON.stringify(n),signal:r.signal}),workspaceLspAction:(e,t,n)=>J(e,`/v1/workspaces/${encodeURIComponent(t)}/lsp/action`,{method:`POST`,body:JSON.stringify(n)}),workspaceTemplateConfig:(e,t)=>J(e,`/v1/openpond/apps/${encodeURIComponent(t)}/template-config`),...vu,...Eu,createLocalProject:(e,t)=>J(e,`/v1/projects`,{method:`POST`,body:JSON.stringify(t)}),updateLocalProjectAgentSetup:(e,t,n)=>J(e,`/v1/projects/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),uploadLocalProjectCloudSource:(e,t,n)=>J(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 J(e,`/v1/projects/${encodeURIComponent(t)}/cloud-source/preview${i}`)},deleteLocalProject:(e,t)=>J(e,`/v1/projects/${encodeURIComponent(t)}`,{method:`DELETE`}),gitAvailability:e=>J(e,`/v1/system/git`),installMacOSCommandLineTools:e=>J(e,`/v1/system/git/install-command-line-tools`,{method:`POST`,body:JSON.stringify({})}),...yu,resolveApproval:(e,t,n)=>J(e,`/v1/approvals/${t}`,{method:`POST`,body:JSON.stringify(n)})};function Hu(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 Uu=tr(`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`}]]),Wu=tr(`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`}]]),Gu=tr(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),Ku=tr(`bookmark`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z`,key:`1fy3hk`}]]),qu=tr(`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`}]]),Ju=tr(`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`}]]),Yu=tr(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Xu=tr(`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`}]]),Zu=tr(`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`}]]),Qu=tr(`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`}]]),$u=tr(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),ed=tr(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),td=tr(`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`}]]),nd=tr(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),rd=tr(`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`}]]),id=tr(`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`}]]),ad=tr(`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`}]]),od=tr(`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`}]]),sd=tr(`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`}]]),cd=tr(`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`}]]),ld=tr(`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`}]]),ud=tr(`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`}]]),dd=tr(`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`}]]),fd=tr(`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`}]]),pd=tr(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),md=tr(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),hd=tr(`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`}]]),gd=tr(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),_d=tr(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),vd=tr(`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`}]]),yd=tr(`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`}]]),bd=tr(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),xd=tr(`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`}]]),Sd=tr(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Cd=tr(`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`}]]),wd=tr(`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`}]]),Td=tr(`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`}]]),Ed=tr(`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`}]]),Dd=tr(`user-round`,[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]]),Od=tr(`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`}]]),kd=tr(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);function Ad({error:e,prefix:t,children:n}){return hr(e,{prefix:t}),e?n??null:null}function jd(){let[e,t]=(0,Y.useState)(null);return(0,Y.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 Md(e){let t=jd(),[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.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 Nd({hasRunningWork:e}){let{state:t,busy:n,error:r,run:i}=Md(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,X.jsxs)(`div`,{className:`sidebar-update-control`,children:[(0,X.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,X.jsx)(`span`,{className:`sidebar-update-icon${n?` sidebar-update-spinner`:``}`,"aria-hidden":`true`,children:n?(0,X.jsx)(or,{size:14}):s||o?(0,X.jsx)(lr,{size:14}):(0,X.jsx)(id,{size:14})}),(0,X.jsx)(`span`,{children:c})]}),(0,X.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,X.jsx)(Ad,{error:r}):null]})}function Pd(e,t,n,r){return J(e,t===`dataset`?`/v1/local-datasets`:`/v1/chat-experiments`,{method:`POST`,body:JSON.stringify(n),signal:r})}function Fd(e){let[t,n]=(0,Y.useState)({resources:[],links:[]});return(0,Y.useEffect)(()=>{if(n({resources:[],links:[]}),!e)return;let t=new AbortController,r,i=async()=>{try{let r=await Pd(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,Y.useMemo)(()=>new Set(t.links.map(e=>e.sessionId)),[t.links])}}var Id=tr(`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`}]]),Ld=tr(`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`}]]),Rd=tr(`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 zd({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,Y.useState)(!1),[v,y]=(0,Y.useState)(``),b=(0,Y.useRef)(null),x=(0,Y.useRef)(null),S=(0,Y.useRef)(!1),C=(0,Y.useRef)(null);function w(){C.current!==null&&clearTimeout(C.current),C.current=null}function T(){w(),S.current=!1,_(!1)}(0,Y.useEffect)(()=>()=>{C.current!==null&&clearTimeout(C.current)},[]);let[E,D]=(0,Y.useState)();(0,Y.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,Y.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 O=t.find(t=>t.value===e)??t[0],k=v.trim().toLowerCase(),A=k?t.filter(e=>[e.label,e.shortLabel,e.description].some(e=>e?.toLowerCase().includes(k))):t;return(0,Y.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,X.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,X.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,X.jsxs)(X.Fragment,{children:[a,(0,X.jsx)(`span`,{title:O?.label,children:O?.shortLabel??O?.label??e}),s===`right`?(0,X.jsx)(rr,{size:14}):(0,X.jsx)(nr,{size:14})]})}),g&&(0,X.jsxs)(`div`,{className:`dropdown-menu`,role:`menu`,style:d||s===`right`?E:void 0,children:[u?(0,X.jsxs)(`label`,{className:`dropdown-search`,onClick:e=>e.stopPropagation(),children:[(0,X.jsxs)(`span`,{className:`sr-only`,children:[`Search `,c]}),(0,X.jsx)(`input`,{autoFocus:!0,placeholder:`Search ${c.toLowerCase()}`,value:v,onChange:e=>y(e.target.value)})]}):null,A.map(t=>(0,X.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,X.jsxs)(`span`,{children:[t.icon===`plus`?(0,X.jsx)(cr,{size:13}):null,(0,X.jsx)(`span`,{children:t.label})]}),t.description&&(0,X.jsx)(`small`,{children:t.description})]},t.value)),A.length?null:(0,X.jsx)(`div`,{className:`dropdown-empty`,children:`No matches`})]})]})}function Bd(e){let t=xr(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 Vd=new Set,Hd=new Set,Ud=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`]),Wd={apps:`/apps`,outputs:`/outputs`,projects:`/projects`,scheduled:`/workflows`,"get-started":`/get-started`,team:`/team`,community:`/community`},Gd=!1,Kd=``,qd=null,Jd=null,Yd=``,Xd=0,Zd=null,Qd=!1,$d=null,ef=!1;function tf(e){let t=xr(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&&Ud.has(n[1])){let t=af(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(Wd).find(t=>Wd[t]===e.pathname);return r?{kind:`view`,view:r}:null}function nf(e){if(e.kind===`models`)return _r(e.route);if(e.kind===`models_unavailable`)return`${e.pathname}${e.search}`;if(e.kind===`settings`){let t=af(e.returnTo??null);return`/settings/${e.section}${t?`?${new URLSearchParams({returnTo:t})}`:``}`}return e.kind===`chat`?e.sessionId?`/chat/${encodeURIComponent(e.sessionId)}`:`/chat/new`:Wd[e.view]}function rf(e){let t=e?.kind===`settings`?af(e.returnTo??null):null;if(t){let e=new URL(t,`https://local.openpond.invalid`),n=xr(e);if(n)return{kind:`models`,route:n}}return{kind:`chat`,sessionId:null}}function af(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=xr(t);return n?_r(n):null}function of(){return`${window.location.pathname}${window.location.search}${Bd(window.location)}`}function sf(){if(typeof window>`u`)return;let e=Gd?Yd:of();e!==Kd&&(Kd=e,qd=tf(new URL(e,window.location.origin)),Jd=qd?.kind===`models`?qd.route:null)}function cf(){Kd=``,sf();for(let e of Hd)e()}async function lf(e){if(ef)return!1;ef=!0;try{for(let t of[...Vd].reverse())if(!await t(e))return!1;return!0}finally{ef=!1}}function uf(e){return{...window.history.state,openpondNavigationIndex:e}}async function df(){let e=of(),t=typeof window.history.state?.openpondNavigationIndex==`number`?window.history.state.openpondNavigationIndex:Xd-1;if(Zd&&t===Xd){let e=Zd;Zd=null,e();return}if($d===t||Vd.size===0){$d=null,Yd=e,Xd=t,window.history.replaceState(uf(Xd),``,e),cf();return}if(t===Xd)return;if(Qd||ef){Zd??=()=>void 0,window.history.go(Xd-t);return}Qd=!0;let n=t-Xd;try{await new Promise(e=>{Zd=e,window.history.go(-n)}),await lf(e)&&($d=t,window.history.go(n))}finally{Qd=!1}}function ff(){if(Gd||typeof window>`u`)return;let e=tf(window.location);Yd=e?`${nf(e)}${Bd(window.location)}`:of(),Xd=typeof window.history.state?.openpondNavigationIndex==`number`?window.history.state.openpondNavigationIndex:0,window.history.replaceState(uf(Xd),``,Yd),window.addEventListener(`popstate`,df),Gd=!0}function pf(e){return Hd.add(e),ff(),()=>{Hd.delete(e)}}function mf(e){return Vd.add(e),ff(),()=>{Vd.delete(e)}}async function hf(e){!Qd&&await lf(of())&&e()}function gf(){return(0,Y.useSyncExternalStore)(pf,()=>(sf(),Jd),()=>null)}function _f(){return(0,Y.useSyncExternalStore)(pf,()=>(sf(),qd),()=>null)}async function vf(e,t=`push`,n=()=>!0){if(typeof window>`u`||!n()||(ff(),Qd))return!1;if(e.kind===`settings`&&!e.returnTo){let t=tf(window.location),n=t?.kind===`models`?_r(t.route):t?.kind===`settings`?t.returnTo:void 0;n&&(e={...e,returnTo:n})}let r=nf(e);return of()===r?!0:!await lf(r)||!n()?!1:(t===`push`&&Xd++,window.history[t===`replace`?`replaceState`:`pushState`](uf(Xd),``,r),Yd=r,cf(),!0)}function yf(e,t=`push`){return vf({kind:`models`,route:e},t)}function bf({beginNewChat:e}){return(0,X.jsx)(`button`,{className:`sidebar-icon`,type:`button`,"aria-label":`New thread`,"data-tooltip":`New thread`,"data-tooltip-placement":`bottom`,onClick:async()=>{await vf({kind:`chat`,sessionId:null})&&e(null)},children:(0,X.jsx)(Ed,{size:16})})}function xf({productArea:e=`chat`,setSectionMenuOpen:t,setSelectedAppId:n,setSelectedProjectId:r,setSelectedSessionId:i,setView:a,view:o,modelProjects:s=[],modelTrainingActivityByProjectId:c={}}){let l=gf(),u=l?.modelId??null,d=l?.page??`models`;function f(){n(null),r(null),i(null),t(null)}async function p(t){await yf(vr(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 yf(br(l??vr(),e||null))&&(f(),a(`labs`))}async function h(e){await vf({kind:`view`,view:e})&&(f(),a(e))}let g=u?c[u]??null:null;return(0,X.jsxs)(`nav`,{className:`sidebar-nav`,"aria-label":`Primary`,children:[e===`chat`?null:(0,X.jsxs)(X.Fragment,{children:[[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(d)?null:(0,X.jsxs)(`div`,{className:`sidebar-model-project-picker`,children:[(0,X.jsx)(`span`,{className:`sidebar-nav-group-label`,children:`Model`}),(0,X.jsx)(zd,{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)})]}),Sr.filter(t=>e===`console`?[`home`,`inbox`,`datasets`,`graders`,`experiments`,`runs`].includes(t):t!==`home`&&t!==`tasksets`&&t!==`evaluations`).map(e=>{let t={"get-started":Xu,home:Id,inbox:zn,models:Uu,datasets:Xu,graders:Td,experiments:ed,tasks:Xu,tasksets:Xu,labeling:ed,rewards:Td,evaluations:ed,runs:Qu,versions:ld,serving:nd}[e];return(0,X.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,X.jsx)(t,{size:16}),(0,X.jsx)(`span`,{children:yr[e]}),e===`runs`&&g?(0,X.jsx)(`span`,{className:`sidebar-running-dot`,"aria-label":g.label}):null]},e)})]}),e===`chat`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`scheduled`?`active`:``}`,"aria-label":`Workflows`,type:`button`,onClick:()=>{h(`scheduled`)},children:[(0,X.jsx)(Zu,{size:18}),(0,X.jsx)(`span`,{children:`Workflows`})]}),(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`outputs`?`active`:``}`,"aria-label":`Outputs`,type:`button`,onClick:()=>{h(`outputs`)},children:[(0,X.jsx)(ad,{size:18}),(0,X.jsx)(`span`,{children:`Outputs`})]}),(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`apps`?`active`:``}`,"aria-label":`Apps`,type:`button`,onClick:()=>{h(`apps`)},children:[(0,X.jsx)(wd,{size:18}),(0,X.jsx)(`span`,{children:`Apps`})]}),(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`projects`?`active`:``}`,"aria-label":`Projects`,type:`button`,onClick:()=>{h(`projects`)},children:[(0,X.jsx)(cd,{size:18}),(0,X.jsx)(`span`,{children:`Projects`})]})]}):null]})}function Sf(e,t,n,r=!0){return w({queryKey:[`ponder-work`,er(e),n],enabled:!!(e&&t),staleTime:2e3,refetchInterval:r?3e3:!1,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:async()=>{let[t,n]=await Promise.all([J(e,`/v1/ponder/work`),J(e,`/v1/ponder/desktop`)]);return{...t,localHandoffs:xs.array().parse(t.localHandoffs),ownerScope:n.ownerScope}}})}function Cf(e,t){return Math.min(Math.max(e,15)+10,t)}function wf(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 Tf(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=Of(e),i=t?.linkedCloudSourceKnown===!1&&!!e.headCommit;return r?n.push(r):i?n.push(`upload required`):e.diverged?(e.ahead>0&&n.push(Af(`ahead`,e.ahead)),e.behind>0&&n.push(Af(`behind`,e.behind)),n.push(`diverged`)):(e.ahead>0&&n.push(Af(`ahead`,e.ahead)),e.behind>0&&n.push(Af(`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 Ef(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=kf(n);return d?`${a} / ${d}`:u?`${a} / upload required`:`${a} / ${l||!c?`needs sync`:`setup ready`}`}function Df(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(jf(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 Of(e){return e.linkedSourceHeadCommit?e.divergedFromLinkedSource?`diverged`:e.aheadOfLinkedSource>0?Af(`local ahead`,e.aheadOfLinkedSource):e.behindLinkedSource>0?Af(`cloud ahead`,e.behindLinkedSource):e.linkedSourceComparisonError&&e.headCommit&&e.linkedSourceHeadCommit!==e.headCommit?`sync unknown`:null:null}function kf(e){return e?.linkedSourceHeadCommit?e.dirty?`local dirty files not in cloud`:e.divergedFromLinkedSource?`diverged from local`:e.aheadOfLinkedSource>0?Af(`cloud behind local`,e.aheadOfLinkedSource):e.behindLinkedSource>0?Af(`cloud ahead local`,e.behindLinkedSource):e.linkedSourceComparisonError&&e.headCommit&&e.linkedSourceHeadCommit!==e.headCommit?`source check unavailable`:`synced`:null}function Af(e,t){return`${e} by ${jf(t)}`}function jf(e){return`${e} commit${e===1?``:`s`}`}function Mf({size:e=14,className:t}){return(0,X.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,X.jsx)(`path`,{d:`M12 13v8`}),(0,X.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,X.jsx)(`path`,{d:`m8 17 4-4 4 4`})]})}function Nf({kind:e,linkedCloud:t=!1,open:n=!1,className:r,baseSize:i=15}){let a=e===`cloud`?`cloud`:n?`folder-open`:`folder`;return(0,X.jsx)(`span`,{className:[`project-kind-icon`,e,t?`linked-cloud`:``,r??``].filter(Boolean).join(` `),"aria-hidden":`true`,children:(0,X.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,X.jsx)(If,{}):n?(0,X.jsx)(Ff,{}):(0,X.jsx)(Pf,{}),t&&e===`local`?(0,X.jsx)(Lf,{}):null]})})}function Pf(){return(0,X.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 Ff(){return(0,X.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 If(){return(0,X.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 Lf(){return(0,X.jsxs)(`g`,{className:`project-kind-icon-cloud-badge`,children:[(0,X.jsx)(`circle`,{cx:`18`,cy:`17`,r:`5`}),(0,X.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 Rf({title:e,pinned:t,savedForLater:n,archived:r,onRename:i,onTogglePin:a,onToggleSaveForLater:o,onDockRight:s,onArchive:c}){let l=(0,Y.useRef)(null),u=(0,Y.useRef)(null),[d,f]=(0,Y.useState)(null),p=[...i?[{label:`Rename`,Icon:Ed,action:i}]:[],{label:t?`Unpin`:`Pin`,Icon:t?yd:vd,action:a},...o?[{label:n?`Return to active`:`Save for later`,Icon:n?qu:Ku,action:o}]:[],...s?[{label:`Open in right panel`,Icon:_d,action:s}]:[],{label:r?`Reopen`:`Mark done`,Icon:r?Wu:$u,action:c}];function m(e=!1){f(null),e&&l.current?.focus()}return(0,Y.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,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`sidebar-row-actions sidebar-task-menu-trigger${d?` is-open`:``}`,children:(0,X.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,X.jsx)(hd,{size:16})})}),d&&(0,Zo.createPortal)((0,X.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,X.jsxs)(`button`,{type:`button`,role:`menuitem`,className:r===p.length-1?`task-menu-done`:void 0,onClick:()=>{m(!0),n()},children:[(0,X.jsx)(t,{size:15}),e]},e))}),document.body)]})}function zf({session:e,onSave:t,onClose:n}){let[r,i]=(0,Y.useState)(e.title),a=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let e=a.current;e&&(e.focus(),e.select())},[]),(0,Y.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,X.jsx)(`div`,{className:`git-dialog-backdrop rename-chat-backdrop`,role:`presentation`,onMouseDown:n,children:(0,X.jsxs)(`section`,{className:`git-dialog rename-chat-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`rename-chat-title`,onMouseDown:e=>e.stopPropagation(),children:[(0,X.jsx)(`h2`,{id:`rename-chat-title`,children:`Rename chat`}),(0,X.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,X.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:n,children:`Cancel`}),(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,autoFocus:!0,onClick:o,disabled:!r.trim(),children:`Save`})]})]})})}var Bf=`taskDraft`;function Vf(e){if(e?.experience!==`work`)return null;let t=e.metadata?.[Bf];if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t.prompt;return typeof n==`string`&&n.trim()?n:null}function Hf(e){return Vf(e)!==null}function Uf(e){return(e.split(/\r?\n/u).map(e=>e.trim()).find(Boolean)||`Task draft`).slice(0,64)}function Wf(e,t,n=new Date().toISOString()){let r={version:1,prompt:t,savedAt:n};return{...e??{},[Bf]:r}}function Gf(e){let t={...e??{}};return delete t[Bf],t}var Kf=24;function qf({title:e}){let t=(0,Y.useRef)(e),[n,r]=(0,Y.useState)(e);return(0,Y.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)},Kf);return()=>window.clearInterval(o)},[e]),(0,X.jsx)(`span`,{className:`sidebar-task-title-text`,"aria-label":e||`New task`,children:n||`New task`})}var Jf={codex:`Codex`,"claude-code":`Claude Code`,opencode:`OpenCode`,"grok-build":`Grok Build`};function Yf({session:e}){let t=Jf[e.provider],n=t??(ve(e.provider)?typeof e.metadata?.acpAgentName==`string`?e.metadata.acpAgentName:`ACP agent`:e.provider===`openpond`?`OpenPond`:e.provider);return(0,X.jsx)(`span`,{className:`conversation-source-icon`,role:`img`,"aria-label":n,title:n,children:t?(0,X.jsx)(`img`,{src:`/agent-sources/${e.provider}.svg`,alt:``}):e.provider===`openpond`?(0,X.jsx)(`img`,{src:c,alt:``}):ve(e.provider)?(0,X.jsx)(Yu,{size:15,"aria-hidden":`true`}):e.metadata?.nativeSource?(0,X.jsx)(kd,{size:15,"aria-hidden":`true`}):e.provider===`openai`?(0,X.jsx)(Yu,{size:15,"aria-hidden":`true`}):(0,X.jsx)(md,{size:15,"aria-hidden":`true`})})}var Xf=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}))})),Zf=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)}}}))})),Qf=e(Xf(),1),$f=e(Zf(),1);Qf.default.extend($f.default);var ep=Date.now(),tp,np=new Set,rp=()=>ep;function ip(e){return np.add(e),tp||=(ep=Date.now(),setInterval(()=>{ep=Date.now();for(let e of np)e()},3e4)),()=>{np.delete(e),np.size===0&&(clearInterval(tp),tp=void 0)}}function ap({value:e,className:t}){let n=(0,Y.useSyncExternalStore)(ip,rp,rp),r=e==null?null:(0,Qf.default)(e);return r?.isValid()?(0,X.jsx)(`time`,{className:t,dateTime:r.toISOString(),title:`Last activity ${r.format(`MMM D, YYYY h:mm A`)}`,children:r.from(n)}):null}var op=2650,sp=304,cp=260;function lp(){return{animationDelay:`${-(Date.now()%op)}ms`}}function up(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 dp({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,X.jsxs)(`section`,{className:[`sidebar-section`,r,n?`actions-visible`:``].filter(Boolean).join(` `),children:[(0,X.jsxs)(`div`,{className:`section-header`,children:[(0,X.jsxs)(`div`,{className:`section-title-row`,children:[c?(0,X.jsxs)(`div`,{className:`section-title-combo`,children:[(0,X.jsx)(`button`,{type:`button`,className:`section-title-link${s?` active`:``}`,onClick:c,children:(0,X.jsx)(`span`,{children:e})}),l&&(0,X.jsx)(`button`,{type:`button`,className:`section-chevron-button`,"aria-label":`${o?`Expand`:`Collapse`} ${e}`,"aria-expanded":!o,onClick:l,children:o?(0,X.jsx)(rr,{size:13}):(0,X.jsx)(nr,{size:13})})]}):l?(0,X.jsxs)(`button`,{type:`button`,className:`section-title-button`,"aria-label":`${o?`Expand`:`Collapse`} ${e}`,"aria-expanded":!o,onClick:l,children:[(0,X.jsx)(`span`,{children:e}),o?(0,X.jsx)(rr,{size:13}):(0,X.jsx)(nr,{size:13})]}):(0,X.jsx)(`span`,{children:e}),i]}),t&&(0,X.jsx)(`div`,{className:`section-actions`,children:t})]}),!o&&(0,X.jsx)(`div`,{className:`sidebar-section-body`,children:a})]})}function fp({children:e,expanded:t=!1,onClick:n}){return(0,X.jsx)(`button`,{type:`button`,className:`sidebar-show-more`,onClick:n,children:e??(t?`Show less`:`Show more`)})}function pp({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[O,k]=(0,Y.useState)(!1),A=c?.status===`queued`,j=c?.tone===`active`&&!A,M=(l?.activeCount??0)>0,N=h>0&&!!v,ee=M||j||!A&&(s??e.status===`active`),P=M&&l?l.label:j&&c?hp(c):`Running`,F=[`sidebar-task-row`,Hf(e)?`is-draft`:``,ee?`has-running-dot`:``,f?`sidebar-inbox-row`:``].filter(Boolean).join(` `),te=(0,Y.useMemo)(lp,[]),I=(0,X.jsx)(Rf,{title:e.title,pinned:!!e.pinned,savedForLater:!!e.savedForLater,archived:r,onRename:D?()=>k(!0):void 0,onTogglePin:y,onToggleSaveForLater:b,onDockRight:x,onArchive:S}),L=(0,X.jsxs)(Mp,{selected:t,dataSessionId:e.id,dragging:a,nested:i,placeholder:o,className:F||void 0,ariaExpanded:N?g:void 0,ariaDescribedBy:m,onSelect:_,onDragStart:C,onDragEnd:w,onDragOver:T,onDrop:E,onDoubleClick:D?()=>k(!0):void 0,children:[(0,X.jsx)(`span`,{className:`sidebar-source-slot`,children:n??(0,X.jsx)(Yf,{session:e})}),(0,X.jsxs)(`span`,{className:`sidebar-title-slot`,children:[N?(0,X.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,X.jsx)(nr,{size:13}):(0,X.jsx)(rr,{size:13})}):null,(0,X.jsxs)(`span`,{className:`row-label-shell`,title:e.title,children:[(0,X.jsx)(`span`,{className:`sidebar-session-title-line`,children:(0,X.jsx)(`span`,{className:`row-label sidebar-task-title`,"data-overflowing":`false`,onPointerEnter:up,children:(0,X.jsx)(qf,{title:e.title})})}),f?(0,X.jsxs)(`span`,{className:`sidebar-inbox-project`,children:[d?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`sidebar-inbox-project-name`,children:d}),(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`|`})]}):null,(0,X.jsx)(ap,{value:p??e.createdAt})]}):null]})]}),(0,X.jsxs)(`div`,{className:`row-meta`,children:[(0,X.jsxs)(`span`,{className:`row-meta-status`,children:[u?(0,X.jsx)(_p,{indicator:u}):null,ee?(0,X.jsx)(`span`,{className:`sidebar-running-dot${M?` subagent`:j?` goal`:``}`,style:te,"aria-label":P}):null]}),I,e.pinned?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-thread-pin`,"aria-label":`Unpin thread: ${e.title}`,title:`Unpin thread`,onClick:e=>{e.stopPropagation(),y()},children:(0,X.jsx)(vd,{size:16,"aria-hidden":`true`})}):null,f?(0,X.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,X.jsx)(xd,{size:19}):(0,X.jsx)($u,{size:21})}):null]})]});return(0,X.jsxs)(X.Fragment,{children:[L,O&&D?(0,X.jsx)(zf,{session:e,onSave:t=>D(e,t),onClose:()=>k(!1)}):null]})}function mp({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,X.jsxs)(Mp,{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,X.jsx)(od,{size:15}):(0,X.jsx)(td,{size:15}),(0,X.jsx)(`span`,{className:`row-label-shell`,title:d,children:(0,X.jsx)(`span`,{className:`row-label`,children:u})}),(0,X.jsx)(`div`,{className:`row-meta`,children:(0,X.jsxs)(`div`,{className:`sidebar-row-actions`,children:[(0,X.jsx)(Np,{label:e.status===`pinned`?`Unpin file`:`Pin file`,onClick:i,children:e.status===`pinned`?(0,X.jsx)(yd,{size:13}):(0,X.jsx)(vd,{size:13})}),(0,X.jsx)(Np,{label:e.status===`saved_for_later`?`Remove from Save for later`:`Save file for later`,onClick:a,children:e.status===`saved_for_later`?(0,X.jsx)(qu,{size:13}):(0,X.jsx)(Ku,{size:13})})]})})]})}function hp(e){return e.actionLabel}function gp({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,Y.useState)(!1),C=(0,Y.useRef)(null),[w,T]=(0,Y.useState)({}),E=!!p||!!g,D=e===`local`&&s!==!1&&!!t.linkedSandboxProject?.projectId,O=(0,Y.useCallback)(()=>{if(typeof window>`u`)return;let e=C.current?.getBoundingClientRect();if(!e)return;let t=Math.max(12,window.innerWidth-sp-12),n=Math.max(12,window.innerHeight-cp),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)},[]),k=(0,Y.useCallback)(()=>{O(),d()},[d,O]);function A(){S(!1)}return(0,X.jsxs)(`div`,{ref:C,className:[`sidebar-project-row-shell`,x?`project-menu-open`:``].filter(Boolean).join(` `),onFocusCapture:O,onPointerEnter:O,children:[(0,X.jsxs)(Mp,{selected:r,placeholder:l,className:[`sidebar-project-row`,x?`project-menu-open`:``].filter(Boolean).join(` `),ariaExpanded:a?i:void 0,onSelect:k,onDragStart:_,onDragEnd:v,onDragOver:y,onDrop:b,children:[(0,X.jsx)(Nf,{kind:e,linkedCloud:D,open:e===`local`&&i,className:`sidebar-row-icon`,baseSize:15}),(0,X.jsx)(`span`,{className:`row-label-shell`,children:(0,X.jsxs)(`span`,{className:`sidebar-project-title-line`,children:[(0,X.jsx)(`span`,{className:`row-label`,children:t.name}),(0,X.jsxs)(`span`,{className:`sidebar-row-updated-at`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`| `}),(0,X.jsx)(ap,{value:t.updatedAt})]}),a?(0,X.jsx)(`span`,{className:`sidebar-project-caret`,"aria-hidden":`true`,children:i?(0,X.jsx)(nr,{size:13}):(0,X.jsx)(rr,{size:13})}):null]})}),(0,X.jsxs)(`div`,{className:`row-meta`,children:[(0,X.jsx)(`span`,{className:`row-meta-status`,children:u?(0,X.jsx)(_p,{indicator:u}):null}),(0,X.jsxs)(`div`,{className:`sidebar-row-actions`,children:[(0,X.jsx)(Np,{label:n?`Unpin project`:`Pin project`,onClick:h,children:n?(0,X.jsx)(yd,{size:13}):(0,X.jsx)(vd,{size:13})}),E&&(0,X.jsx)(Ap,{open:x,onToggleOpen:()=>S(e=>!e)}),(0,X.jsx)(Np,{label:`New thread`,onClick:f,children:(0,X.jsx)(Ed,{size:13})})]})]})]}),(0,X.jsx)(vp,{kind:e,project:t,workspaceState:o,cloudLinkTrusted:s,cloudLinkWarning:c,onWorkspaceTargetSelect:m,style:w}),x&&(0,X.jsx)(jp,{onClose:A,onMoveToCloud:p?()=>{A(),p()}:void 0,onRemove:()=>{A(),g()}})]})}function _p({indicator:e}){return(0,X.jsx)(`span`,{className:`sidebar-terminal-indicator ${e.status}`,"data-tooltip":e.label,"aria-label":e.label,title:e.label,children:(0,X.jsx)(ur,{size:13})})}function vp({kind:e,project:t,workspaceState:n,cloudLinkTrusted:r,cloudLinkWarning:i,onWorkspaceTargetSelect:a,style:o}){let s=xp(e,t,n,r,i);return(0,X.jsxs)(`aside`,{className:`sidebar-project-locations-popover`,"aria-label":`${t.name} status`,style:o,children:[(0,X.jsx)(`div`,{className:`sidebar-project-locations-title`,children:t.name}),(0,X.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,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:[`sidebar-project-location-icon`,e.key].filter(Boolean).join(` `),"aria-hidden":`true`,children:e.icon}),(0,X.jsx)(`span`,{className:`sidebar-project-location-copy`,children:(0,X.jsx)(yp,{value:e.value})})]});return e.actionTarget?(0,X.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,X.jsx)(`div`,{className:t,children:n},e.key)})})]})}function yp({value:e}){let t=bp(e);return(0,X.jsxs)(`span`,{className:`sidebar-project-location-value`,"aria-label":e,children:[t.branch?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`sidebar-project-location-branch`,children:t.branch}),(0,X.jsx)(`span`,{className:`sidebar-project-location-separator`,"aria-hidden":`true`,children:`/`})]}):null,(0,X.jsx)(`span`,{className:`sidebar-project-location-status`,children:t.status})]})}function bp(e){let t=e.indexOf(` / `);return t===-1?{branch:null,status:e}:{branch:e.slice(0,t),status:e.slice(t+3)}}function xp(e,t,n,r=!0,i=null){return e===`cloud`?Cp(t):Sp(t,n,r,i)}function Sp(e,t,n=!0,r=null){let i=wp(e,t,n),a=Tp(t),o=Dp(e,n),s=n===!1&&r;return[{key:`local`,value:i,tone:a?`attention`:`local`,icon:e.source===`git`?(0,X.jsx)(cd,{size:13}):(0,X.jsx)(sd,{size:13}),actionTarget:`local`},{key:`cloud`,value:s||(o?Op(e,t,n):`not in cloud`),tone:s?`attention`:`cloud`,icon:(0,X.jsx)(nd,{size:13}),actionTarget:o?`cloud`:`upload_cloud`}]}function Cp(e){return[{key:`cloud`,value:kp(e),tone:e.syncedAt?`cloud`:`attention`,icon:(0,X.jsx)(nd,{size:13}),actionTarget:`cloud`}]}function wp(e,t,n){let r=Ep(e,t);return t?t.error?`${r} / status unavailable`:t.initialized?Tf(t,{branch:e.linkedSandboxProject?.defaultBranch??null,linkedCloudSourceKnown:e.linkedSandboxProject?.projectId&&n?!!e.linkedSandboxProject.lastUploadedCommit||!t.headCommit:!0}):`${r} / not checked out`:`${r} / available`}function Tp(e){return!!(e?.dirty||(e?.changedFilesCount??0)>0||(e?.untrackedFilesCount??0)>0)}function Ep(e,t){return t?.currentBranch??t?.defaultBranch??e.linkedSandboxProject?.defaultBranch??`local`}function Dp(e,t=!0){return!!(t&&e.linkedSandboxProject?.projectId||e.linkedOpenPondApp?.appId)}function Op(e,t,n){return Ef(e,null,t,{cloudLinkTrusted:n})}function kp(e){return`${e.defaultBranch??`main`} / ${e.syncedAt?`setup ready`:`needs setup`}`}function Ap({open:e,onToggleOpen:t}){return(0,X.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,X.jsx)(hd,{size:13})})}function jp({onClose:e,onMoveToCloud:t,onRemove:n}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,className:`sidebar-project-menu-backdrop`,"aria-label":`Close project actions`,onClick:t=>{t.stopPropagation(),e()}}),(0,X.jsxs)(`div`,{className:`section-menu-popover sidebar-project-row-popover`,role:`menu`,children:[t&&(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),t()},children:[(0,X.jsx)(Mf,{size:13}),(0,X.jsx)(`span`,{children:`Move to Cloud`})]}),(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),n()},children:[(0,X.jsx)(dr,{size:13}),(0,X.jsx)(`span`,{children:`Remove from Projects`})]})]})]})}function Mp({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,X.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 Np({children:e,label:t,onClick:n}){return(0,X.jsx)(`button`,{type:`button`,className:`sidebar-row-action`,"data-tooltip":t,"aria-label":t,onClick:e=>{e.stopPropagation(),n()},children:e})}function Pp({rows:e,count:t,setCount:n,selectedSessionId:r,emptyLabel:i,renderSession:a,renderWorkflow:o}){let s=(0,Y.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,Y.useMemo)(()=>hu(s,e=>e),[s]);return(0,X.jsxs)(`section`,{className:`sidebar-thread-inbox`,"aria-label":`Thread inbox`,children:[c.map(e=>(0,X.jsxs)(`div`,{children:[e.label?(0,X.jsx)(`h3`,{className:`sidebar-inbox-date`,children:e.label}):null,e.entries.map(e=>(0,X.jsx)(`div`,{children:e.kind===`workflow`?o(e.workflow):a(e.session)},e.id))]},e.key)),e.length===0&&i?(0,X.jsx)(`div`,{className:`empty-row`,children:i}):null,e.length>15?(0,X.jsxs)(`div`,{className:`sidebar-pagination-controls`,"aria-label":`Showing ${s.length} of ${e.length} threads`,children:[t<e.length?(0,X.jsx)(fp,{onClick:()=>n(Cf(t,e.length)),children:`Show more`}):null,t>15?(0,X.jsx)(fp,{onClick:()=>n(wf(t,e.length)),children:`Show less`}):null]}):null]})}function Fp({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,X.jsx)(zd,{className:`sidebar-team-avatars`,compact:!0,floating:!0,floatingMenuWidth:240,floatingMenuMaxHeight:228,openOnHover:!0,label:`${n} team members`,value:``,triggerContent:(0,X.jsxs)(`span`,{className:`sidebar-team-avatar-stack`,"aria-hidden":`true`,children:[i.slice(0,3).map(e=>(0,X.jsx)(Ip,{member:e},e.userId)),a>0?(0,X.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 Ip({member:e}){let[t,n]=(0,Y.useState)(null),r=(e.name.trim()||e.handle||`?`).split(/\s+/).slice(0,2).map(e=>Array.from(e)[0]?.toUpperCase()??``).join(``);return(0,X.jsx)(`span`,{className:`sidebar-team-avatar`,children:e.image&&e.image!==t?(0,X.jsx)(`img`,{src:e.image,alt:``,onError:()=>n(e.image)}):r})}function Lp({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`?od:md,[p,m]=(0,Y.useState)(!1),h=!!(o||s||c);return(0,X.jsxs)(`section`,{className:`sidebar-task-project-group`,children:[(0,X.jsxs)(`div`,{className:`sidebar-task-project-group-header-shell${p?` menu-open`:``}`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`sidebar-task-project-group-header`,"aria-controls":d,"aria-expanded":t,onClick:()=>{m(!1),a()},children:[l?(0,X.jsx)(Nf,{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,X.jsx)(f,{className:`sidebar-task-project-group-icon`,size:14,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`sidebar-task-project-group-name`,children:i}),(0,X.jsx)(`span`,{className:`sidebar-task-project-group-caret`,"aria-hidden":`true`,children:t?(0,X.jsx)(nr,{size:13}):(0,X.jsx)(rr,{size:13})})]}),u?(0,X.jsx)(`div`,{className:`sidebar-task-project-group-actions`,children:u}):null,!u&&l&&h?(0,X.jsxs)(`div`,{className:`sidebar-task-project-group-actions`,children:[s||c?(0,X.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,X.jsx)(hd,{size:13})}):null,o?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-row-action`,"data-tooltip":`New thread`,"aria-label":`New thread`,onClick:o,children:(0,X.jsx)(Ed,{size:13})}):null]}):null,p?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,className:`sidebar-task-project-group-menu-backdrop`,"aria-label":`Close project actions`,onClick:()=>m(!1)}),(0,X.jsxs)(`div`,{className:`section-menu-popover sidebar-task-project-group-menu`,role:`menu`,children:[s?(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),s()},children:(0,X.jsx)(`span`,{children:`Open project`})}):null,c?(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),c()},children:[(0,X.jsx)(dr,{size:13}),(0,X.jsx)(`span`,{children:`Remove from Projects`})]}):null]})]}):null]}),t?(0,X.jsx)(`div`,{id:d,className:`sidebar-task-project-group-content`,children:e}):null]})}function Rp({groups:e,renderSession:t,toggleSessionPinned:n,archiveSession:r,restoreSession:i}){let a=()=>{try{return new Set(JSON.parse(Ae.getItem(`openpond.sidebar.workflow-collapse.v1`)??`[]`))}catch{return new Set}},[o,s]=(0,Y.useState)(a);return je(()=>s(a())),e.map(({group:e,members:a,sessions:c,pinned:l,archived:u})=>{let d=!o.has(e.id);return(0,X.jsx)(`div`,{className:`sidebar-workflow-group${l?` is-pinned`:``}`,children:(0,X.jsx)(Lp,{groupKey:e.id,kind:`projectless`,label:e.title,expanded:d,actions:(0,X.jsxs)(X.Fragment,{children:[(0,X.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,X.jsx)(vd,{size:16,"aria-hidden":`true`})}),(0,X.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,X.jsx)(xd,{size:19}):(0,X.jsx)($u,{size:21})})]}),onToggle:()=>{let t=new Set(o);d?t.add(e.id):t.delete(e.id),s(t),Ae.setItem(`openpond.sidebar.workflow-collapse.v1`,JSON.stringify([...t].slice(-200)))},children:c.map(e=>t(e))})},e.id)})}function zp(e){let t=Vp(e.metadata?.trainingTasksetId)??Vp(e.metadata?.tasksetId);return t?{id:t,name:Vp(e.metadata?.trainingTasksetName)??Vp(e.metadata?.tasksetName)??Bp(t)}:null}function Bp(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 Vp(e){return typeof e==`string`&&e.trim()?e.trim():null}var Hp=`codex_history_`;function Up(e){return!!e?.startsWith(Hp)}function Wp(e){let t=[],n=new Set;for(let r of e)for(let e of[r.workspacePath,r.path]){let i=Yp(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 Gp(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=qp(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`||!Jp(e))return null;let i=Yp(e.cwd);if(!i)return null;for(let e of n)if(Xp(i,e.path))return e.projectId;return null}function Kp(e,t,n,r=new Set){if(e.localProjectId&&t.has(e.localProjectId))return Ie(`local`,e.localProjectId);if(e.workspaceKind===`local_project`&&e.workspaceId&&t.has(e.workspaceId))return Ie(`local`,e.workspaceId);if(e.metadata?.workspaceTarget===`hybrid`&&e.cwd){let t=qp(e.cwd,n);if(t)return Ie(`local`,t)}if(e.cloudProjectId&&r.has(e.cloudProjectId))return Ie(`cloud`,e.cloudProjectId);if(!e.cwd||e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`||!Jp(e))return null;let i=Yp(e.cwd);if(!i)return null;for(let e of n)if(Xp(i,e.path))return Ie(`local`,e.projectId);return null}function qp(e,t){let n=Yp(e);if(!n)return null;for(let e of t)if(Xp(n,e.path))return e.projectId;return null}function Jp(e){return e.workspaceKind===`local_project`||e.provider===`codex`||Up(e.id)}function Yp(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 Xp(e,t){let n=Zp(e),r=Zp(t);return n===r||n.startsWith(`${r}/`)}function Zp(e){return/^[A-Z]:\//.test(e)?e.toLowerCase():e}var Qp=[{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`}],$p=[{value:`recent`,label:`Recent first`},{value:`manual`,label:`Manual order`}];function em(e){let t=[];if(e.filter===`done`)t.push(...e.doneSessions.filter(e=>!zp(e)));else if(e.filter===`all`)t.push(...e.activeSessions.filter(e=>!zp(e)),...e.doneSessions.filter(e=>!zp(e)));else if(e.filter===`tasksets`)t.push(...e.activeSessions.filter(t=>nm(t,e.selectedTasksetId)),...e.doneSessions.filter(t=>nm(t,e.selectedTasksetId)));else for(let n of e.activeSessions)zp(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=>tm(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)=>am(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?am(e,t):e.order-t.order})}function tm(e,t){return t.showCodexChats===!1&&(e.provider===`codex`||Up(e.id))?!1:!t.onlyRunningTasks||t.inProgressSessionIds.has(e.id)}function nm(e,t){let n=zp(e);return!(!n||t&&n.id!==t)}function rm(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 im(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 am(e,t,n=null){let r=om(e),i=om(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 om(e){return e.pinned&&!e.savedForLater&&!e.archived}function sm(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(om),o=t.filter(e=>i.has(e.id)&&(a||!om(e)));return o.length?[{group:e,members:t,sessions:o,pinned:a,archived:t.every(e=>e.archived)}]:[]})}function cm(e,t,n,r,i){let a=[...new Map(e.map(e=>[e.id,e])).values()].filter(e=>!n.has(e.id)&&!om(e)).map(e=>({kind:`session`,id:`session:${e.id}`,session:e,time:mu(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=>mu(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 lm={showCodexChats:!0,onlyRunningTasks:!1},um=`openpond.sidebar-task-visibility.v1`;function dm(e=pm()){try{let t=e?.getItem(um);if(!t)return lm;let n=JSON.parse(t);return{showCodexChats:typeof n.showCodexChats==`boolean`?n.showCodexChats:lm.showCodexChats,onlyRunningTasks:typeof n.onlyRunningTasks==`boolean`?n.onlyRunningTasks:lm.onlyRunningTasks}}catch{return lm}}function fm(e,t=pm()){try{t?.setItem(um,JSON.stringify(e))}catch{}}function pm(){return typeof window>`u`?null:Ae}function mm(e){return`${e.kind}:${e.id}`}function hm(e,t){return!!(e&&t&&e.kind===t.kind&&e.id===t.id)}function gm(e){return{kind:`session`,id:e}}function _m(e){return{kind:`project`,id:e}}function vm(e){return{kind:`draft`,id:e}}function ym(e){return e.selectedSessionId?gm(e.selectedSessionId):e.selectedProjectId?_m(e.selectedProjectId):vm(e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`)}function bm(e){if(!e.previousScope||e.previousScope.kind!==`draft`||e.activeScope.kind!==`session`||hm(e.previousScope,e.activeScope))return[...e.tabs];let t=e.now??Date.now();return e.tabs.map(n=>hm(n.scope,e.previousScope)?{...n,scope:e.activeScope,updatedAt:t}:n)}function xm(e,t){return e.filter(e=>hm(e.scope,t))}function Sm(e,t){return!!(e&&hm(e.scope,t))}function Cm(e){let t={};for(let n of e){let e=mm(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=Tm(r.status,n.status,n.commandStatus),t[e]=r}return t}function wm(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 Tm(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 Em({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,Y.useRef)(null),[v,y]=(0,Y.useState)(!1),b=g.find(e=>e.id===h)?.name??Qp.find(t=>t.value===e)?.label??`Active`,x=d===`tasks-filter`;return(0,Y.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,X.jsx)(`div`,{className:`sidebar-task-list-controls`,ref:_,children:(0,X.jsxs)(`div`,{className:`section-menu`,children:[(0,X.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,X.jsx)(pd,{size:14})}),x?(0,X.jsxs)(`div`,{className:`section-menu-popover`,role:`menu`,"aria-label":`Filter ${r}`,children:[Qp.map(t=>(0,X.jsxs)(Y.Fragment,{children:[t.value===`tasksets`?(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-expanded":v,onClick:()=>y(e=>!e),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:v?(0,X.jsx)(nr,{size:13}):(0,X.jsx)(rr,{size:13})}),(0,X.jsx)(`span`,{children:t.label})]}):(0,X.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e===t.value,onClick:()=>{i(t.value),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===t.value?(0,X.jsx)($u,{size:13}):null}),(0,X.jsx)(`span`,{children:t.label})]}),t.value===`tasksets`&&v?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{className:`section-menu-taskset-option`,type:`button`,role:`menuitemradio`,"aria-checked":e===`tasksets`&&!h,onClick:()=>{c(null),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===`tasksets`&&!h?(0,X.jsx)($u,{size:13}):null}),(0,X.jsx)(`span`,{children:`All Tasksets`})]}),g.map(t=>(0,X.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,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===`tasksets`&&h===t.id?(0,X.jsx)($u,{size:13}):null}),(0,X.jsx)(`span`,{children:t.name}),(0,X.jsx)(`span`,{className:`section-menu-option-count`,"aria-hidden":`true`,children:t.chatCount})]},t.id))]}):null]},t.value)),(0,X.jsx)(`div`,{className:`section-menu-separator`,role:`separator`}),(0,X.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":p,onClick:()=>s(!p),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:p?(0,X.jsx)($u,{size:13}):null}),(0,X.jsx)(`span`,{children:`Show Codex chats, including pinned`})]}),(0,X.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":u,onClick:()=>o(!u),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:u?(0,X.jsx)($u,{size:13}):null}),(0,X.jsxs)(`span`,{children:[`Only running `,r,`, including pinned`]})]}),r===`tasks`&&!t?(0,X.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":n,onClick:()=>a(!n),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:n?(0,X.jsx)($u,{size:13}):null}),(0,X.jsx)(`span`,{children:`Group by project`})]}):null,t?null:$p.map(e=>(0,X.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":m===e.value,onClick:()=>{l(e.value),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:m===e.value?(0,X.jsx)($u,{size:13}):null}),(0,X.jsx)(`span`,{children:e.label})]},e.value))]}):null]})})}function Dm({onAddProject:e,onViewProjects:t}){let[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null),a=(0,Y.useRef)(null);return(0,Y.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,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`section-menu`,ref:i,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),r(!1),a.current?.focus())},children:[(0,X.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,X.jsx)(hd,{size:14})}),n?(0,X.jsxs)(`div`,{className:`section-menu-popover`,role:`menu`,"aria-label":`Project options`,children:[(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r(!1),t()},children:`View all projects`}),(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r(!1),e()},children:`Add project`})]}):null]}),(0,X.jsx)(`button`,{type:`button`,className:`section-icon`,onClick:e,"aria-label":`Add project`,title:`Add project`,children:`+`})]})}var Om=240,km=36;function Am(e,t,n=!1){let r=Math.max(12,t.width-Om-12),i=Math.max(12,t.height-km-(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 jm({detail:e,onClose:t}){if((0,Y.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,X.jsxs)(`aside`,{id:e.descriptionId,className:`sidebar-task-detail-popover`,style:e.style,role:`tooltip`,"aria-label":`Last updated for ${e.title}`,children:[(0,X.jsx)(`time`,{dateTime:e.updatedAt,children:r}),e.folderName?(0,X.jsxs)(`div`,{className:`sidebar-task-detail-folder`,children:[(0,X.jsx)(sd,{size:13,"aria-hidden":`true`}),(0,X.jsx)(`span`,{children:e.folderName})]}):null]})}function Mm({platform:e}){return!Pm()||Nm(e)?null:(0,X.jsxs)(`div`,{className:`window-controls`,"aria-label":`Window controls`,children:[(0,X.jsx)(`button`,{type:`button`,className:`window-control minimize`,title:`Minimize`,onClick:()=>void Fm(`minimize`),children:(0,X.jsx)(nr,{size:14})}),(0,X.jsx)(`button`,{type:`button`,className:`window-control maximize`,title:`Maximize`,onClick:()=>void Fm(`toggleMaximize`),children:(0,X.jsx)(sr,{size:12})}),(0,X.jsx)(`button`,{type:`button`,className:`window-control close`,title:`Close`,onClick:()=>void Fm(`close`),children:(0,X.jsx)(dr,{size:13})})]})}function Nm(e){let t=e?.toLowerCase()??``;return t===`darwin`||t.includes(`mac`)}function Pm(){if(typeof window>`u`)return!1;let e=window.openpond;return!!(e?.minimizeWindow||e?.toggleMaximizeWindow||e?.closeWindow)}async function Fm(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 Im={},Lm=new Set,Rm=new Map,zm=new Map;function Bm(){let e=Ae.getItem(`openpond.sidebar.presentation.v1`);return e===`inbox`||e===`grouped`?e:Pm()?`inbox`:`grouped`}function Vm(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 Hm({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=Lm,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=Rm,localProjectRows:D,openSidebarFile:O,pinnedRows:k,previewTaskDrop:A,previewPinnedDrop:j,projectRows:M,renameSession:N,restoreSession:ee,runningSessionIds:P,sectionMenuOpen:F,selectedProjectId:te,selectedSessionId:I,setChatRowsVisibleCount:L,setSectionMenuOpen:R,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:ne,setView:V,sidebarProjectIdBySessionId:H,startTaskDrag:re,startPinnedDrag:U,subagentRuntimeBySessionId:ie=zm,taskDragSessionId:ae,taskPreviewSessionIds:W,terminalSummaries:oe=Im,toggleSessionPinned:se,toggleSessionSavedForLater:ce,view:le,clearTaskDrag:ue,removeProject:de,toggleProjectPinned:fe,setSidebarFileStatus:pe,commitPinnedDrop:me,commitPinnedPreviewDrop:he,clearSidebarDrag:ge,dragItem:_e}){let[ve,ye]=(0,Y.useState)(Bm);je(()=>ye(Bm()));let G=ve===`inbox`,[be,xe]=(0,Y.useState)(`active`),[Se,Ce]=(0,Y.useState)(`recent`),[we,Te]=(0,Y.useState)(!0),[Ee,De]=(0,Y.useState)(!1),[Oe,ke]=(0,Y.useState)(!1),[Me,Ne]=(0,Y.useState)(dm);je(()=>Ne(dm()));let{onlyRunningTasks:K,showCodexChats:Pe}=Me,[Fe,Ie]=(0,Y.useState)(null),[Le,Re]=(0,Y.useState)(()=>new Set),[ze,Be]=(0,Y.useState)(()=>new Map),[Ve,He]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{te&&De(!1)},[te]);let Ue=`threads`,We=M??[...D,...b],Ge=(0,Y.useMemo)(()=>new Map(We.map(e=>[e.id,e.project.name])),[We]),Ke=(0,Y.useMemo)(()=>new Map(We.map(e=>[e.id,e])),[We]),qe=(0,Y.useMemo)(()=>{let t=new Set(P);for(let n of[...e,...Object.values(y).flat()]){let e=E.get(n.id),r=ie.get(n.id);(e?.tone===`active`&&e.status!==`queued`||(r?.activeCount??0)>0||dt(n.id)?.status===`running`)&&t.add(n.id)}return t},[e,y,E,P,ie,oe]),Je=(0,Y.useMemo)(()=>em({activeSessions:e,doneSessions:_,filter:`all`,inProgressSessionIds:qe,sort:`manual`}),[e,_,qe]),Ye=(0,Y.useMemo)(()=>em({activeSessions:e,doneSessions:_,filter:be,inProgressSessionIds:qe,onlyRunningTasks:K,selectedTasksetId:Fe,previewSessionIds:W,showCodexChats:Pe,sort:Se}),[e,_,qe,K,Fe,Pe,be,W,Se]),Xe=(0,Y.useMemo)(()=>{let t=new Map;for(let n of[...e,..._]){if(!tm(n,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe}))continue;let e=zp(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=sm(d,f,em({activeSessions:f.filter(e=>!e.archived&&!e.hiddenFromDefaultSidebar),doneSessions:f.filter(e=>e.archived&&!e.hiddenFromDefaultSidebar),filter:be,inProgressSessionIds:qe,onlyRunningTasks:K,selectedTasksetId:Fe,showCodexChats:Pe,sort:Se})),Qe=sm(d,f,f.filter(e=>!e.hiddenFromDefaultSidebar&&om(e)&&tm(e,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe}))).filter(e=>e.pinned),$e=new Set(Qe.flatMap(e=>e.members.map(e=>e.id))),et=(0,Y.useMemo)(()=>k.filter(e=>e.type!==`session`||!$e.has(e.session.id)&&tm(e.session,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe})),[qe,K,k,$e,Pe]),tt=(0,Y.useMemo)(()=>new Set(d.flatMap(e=>[e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId].filter(e=>!!e))),[d]),nt=(0,Y.useMemo)(()=>Ye.filter(e=>!om(e)&&!tt.has(e.id)),[Ye,tt]),rt=(0,Y.useMemo)(()=>nt.slice(0,Math.max(15,v)),[v,nt]),it=(0,Y.useMemo)(()=>{let e=Vm(rt,e=>{if(Hf(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=H[e.id],n=ft(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,H,rt,p]),at=rt.length<nt.length,ot=rt.length>15,st=(0,Y.useMemo)(()=>new Set(it.filter(e=>e.sessions.some(e=>e.id===I||qe.has(e.id))).map(e=>e.key)),[it,qe,I]),ct=Je.filter(e=>!om(e)).map(e=>e.id),lt=rt.map(e=>e.id),ut=JSON.stringify(Object.entries(y).filter(([e,t])=>t.some(e=>!e.archived)&&(ie.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,Y.useEffect)(()=>{let e=JSON.parse(ut);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]))},[ut]);function dt(e){return wm(oe[mm({kind:`session`,id:e})])}function ft(e){if(Hf(e))return`Draft`;if(p.has(e.id))return`Training`;let t=H[e.id];return t?Ge.get(t)??e.workspaceName??`Project`:null}function pt(e){if(h){h(e);return}vf({kind:`chat`,sessionId:e.id}),ne(e.id);let t=H[e.id]??null;z(t?null:e.appId),B(t),V(`chat`)}function mt(e){return(y[e.id]??[]).filter(e=>!e.archived&&!tt.has(e.id)&&tm(e,{inProgressSessionIds:qe,onlyRunningTasks:K,showCodexChats:Pe}))}function ht(e,t){return Le.has(e.id)||t.some(e=>e.id===I)}function gt(e){Re(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function _t(e){let t=mt(e);return t.length===0||!ht(e,t)?null:(0,X.jsx)(`div`,{className:`sidebar-child-session-group`,children:t.map(t=>(0,X.jsx)(pp,{session:t,selected:le===`chat`&&I===t.id,nested:!0,running:qe.has(t.id),goalRuntime:E.get(t.id)??null,subagentRuntime:ie.get(t.id)??null,terminalIndicator:dt(t.id),projectLabel:ft(e),onSelect:()=>pt(t),onTogglePin:()=>se(t),onToggleSaveForLater:()=>ce(t),onDockRight:()=>T(t),onArchive:()=>t.archived?ee(t):g(t),onRename:N},t.id))})}function vt(e,t){if(typeof window>`u`)return;let n=om(e)?ft(e):null;He({descriptionId:`sidebar-task-detail-${e.id}`,sessionId:e.id,title:e.title,updatedAt:e.updatedAt,folderName:n,style:Am(t.getBoundingClientRect(),{width:window.innerWidth,height:window.innerHeight},!!n)})}function yt(e,t={}){let n=e.archived,r=t.pinnedRow?.placeholder??ae===e.id,i=mt(e),a=t.pinnedRow?.dragProps??(!G&&Se===`manual`?{onDragStart:t=>re(t,{allSessionIds:ct,visibleSessionIds:lt,sessionId:e.id}),onDragEnd:ue,onDragOver:t=>{r||A(t,e.id)},onDrop:t=>{r?w():C(t,e.id)}}:{});return(0,X.jsxs)(`div`,{className:`sidebar-session-group`,onPointerEnter:t=>vt(e,t.currentTarget),onPointerLeave:()=>He(null),onFocusCapture:t=>vt(e,t.currentTarget),onBlurCapture:e=>{e.currentTarget.contains(e.relatedTarget)||He(null)},children:[(0,X.jsx)(pp,{session:e,selected:!n&&le===`chat`&&I===e.id,archived:n,inbox:G,activityAt:mu(e,m),placeholder:r,running:qe.has(e.id),goalRuntime:E.get(e.id)??null,subagentRuntime:ie.get(e.id)??null,terminalIndicator:dt(e.id),projectLabel:t.projectLabel===void 0?ft(e):t.projectLabel,metadataPresentation:t.metadataPresentation,ariaDescribedBy:Ve?.sessionId===e.id?Ve.descriptionId:void 0,childSessionCount:i.length,childSessionsExpanded:ht(e,i),onToggleChildSessions:()=>gt(e.id),onSelect:()=>{He(null),n&&ee(e),pt(e)},onTogglePin:()=>se(e),onToggleSaveForLater:()=>ce(e),onDockRight:()=>T(e),onArchive:()=>n?ee(e):g(e),onRename:N,...a}),!G&&!r?_t(e):null]},t.pinnedRow?.key??e.id)}function bt(e){e!==`tasksets`&&Ie(null),xe(e),L(15)}function xt(e){Ie(e),xe(`tasksets`),L(15)}function St(e){Ce(e),L(15)}function Ct(){L(e=>Cf(e,nt.length))}function wt(){L(e=>wf(e,nt.length))}function Tt(e){let t={id:e.id,type:e.type};return{onDragStart:e=>U(e,t),onDragEnd:ge,onDragOver:e=>j(e,t),onDrop:n=>{_e?.id===e.id&&_e.type===e.type?he():me(n,t)}}}function Et(e){let t=Tt(e),n=_e?.id===e.id&&_e.type===e.type;if(e.type===`project`){let r=e.item;return(0,X.jsx)(gp,{kind:r.kind,project:r.project,pinned:!0,selected:le===`chat`&&te===r.id,expanded:!1,disclosure:!1,placeholder:n,onSelect:()=>{z(null),B(r.id),ne(null),V(`chat`)},onNewChat:()=>x(r.id),onTogglePin:()=>fe(r),onRemove:()=>de(r),...t},e.key)}return e.type===`file`?(0,X.jsx)(mp,{file:e.file,placeholder:n,onSelect:()=>O(e.file),onTogglePin:()=>pe(e.file,`none`),onToggleSaveForLater:()=>pe(e.file,`saved_for_later`),...t},e.key):yt(e.session,{projectLabel:G&&!H[e.session.id]&&!p.has(e.session.id)?null:ft(e.session),pinnedRow:{key:e.key,dragProps:t,placeholder:n}})}function Dt(e){let t=st.has(e.key)||ze.get(e.key)!==!1;return(0,X.jsx)(Lp,{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?()=>{z(null),B(e.project.id),ne(null),V(`chat`)}:void 0,onRemoveProject:e.project?()=>de(e.project):void 0,project:e.project,children:e.sessions.map(t=>yt(t,{metadataPresentation:`flyout`,projectLabel:e.label}))},e.key)}let Ot=(0,X.jsx)(Em,{activityOrder:G,filter:be,groupByProject:we,noun:Ue,onFilterChange:bt,onGroupByProjectChange:Te,onOnlyRunningTasksChange:e=>{Ne(t=>{let n={...t,onlyRunningTasks:e};return fm(n),n}),L(15)},onShowCodexChatsChange:e=>{Ne(t=>{let n={...t,showCodexChats:e};return fm(n),n}),L(15)},onTasksetChange:xt,onSortChange:St,onlyRunningTasks:K,openMenu:F,setOpenMenu:R,showCodexChats:Pe,sort:Se,selectedTasksetId:Fe,tasksets:Xe}),kt=(0,Y.useMemo)(()=>{if(!G)return[];let e=Object.values(y).flat(),t=em({activeSessions:e.filter(e=>!e.archived),doneSessions:e.filter(e=>e.archived),filter:be,inProgressSessionIds:qe,onlyRunningTasks:K,selectedTasksetId:Fe,showCodexChats:Pe,sort:`recent`});return cm([...nt,...t],Ze,tt,m,qe)},[G,y,be,qe,K,Fe,Pe,nt,Ze,tt,m]);function At(e){return(0,X.jsx)(Rp,{groups:e,toggleSessionPinned:se,archiveSession:g,restoreSession:ee,renderSession:e=>yt(e,{projectLabel:ft(e)})})}return(0,X.jsxs)(`div`,{className:`sidebar-sections`,children:[(0,X.jsxs)(`div`,{className:`sidebar-threads-header`,children:[(0,X.jsx)(`span`,{children:`Threads`}),(0,X.jsxs)(`div`,{className:`sidebar-threads-header-actions`,children:[r&&i?.teamId===a?(0,X.jsx)(Fp,{members:o,currentUserId:s,teamName:i.displayName,onOpenDm:e=>{(async()=>{await vf({kind:`view`,view:`team`})&&l(e)})()}},`${n?.activeProfile??``}:${a}`):null,G?Ot:null,(0,X.jsx)(`button`,{type:`button`,className:`sidebar-icon${G?` active`:``}`,"aria-label":G?`Show Projects View`:`Show thread inbox`,"data-tooltip":G?`Projects View`:`Thread inbox`,"data-tooltip-placement":`bottom`,"aria-pressed":G,onClick:()=>{let e=G?`grouped`:`inbox`;ye(e),Ae.setItem(`openpond.sidebar.presentation.v1`,e)},children:G?(0,X.jsx)(Od,{size:16}):(0,X.jsx)(zn,{size:16})}),(0,X.jsx)(bf,{beginNewChat:t})]})]}),n?.activeProfile&&u?(0,X.jsxs)(`button`,{type:`button`,className:`sidebar-row sidebar-task-row sidebar-ponder-entry`,onClick:u,children:[(0,X.jsx)(`span`,{className:`conversation-source-icon`,"aria-hidden":`true`,children:(0,X.jsx)(`img`,{src:c,alt:``})}),(0,X.jsx)(`span`,{children:`Ponder Pal`})]}):null,et.length>0||Qe.length>0?(0,X.jsxs)(`div`,{className:`sidebar-pinned-rows`,children:[et.map(Et),At(Qe)]}):null,G?(0,X.jsx)(Pp,{rows:kt,count:v,setCount:L,selectedSessionId:I,emptyLabel:et.length===0&&Qe.length===0?rm(be,Ue):null,renderWorkflow:e=>At([e]),renderSession:e=>yt(e,{projectLabel:H[e.id]||p.has(e.id)?ft(e):null})}):(0,X.jsxs)(X.Fragment,{children:[At(Ze.filter(e=>!e.pinned)),it.filter(e=>e.key===`training`).map(Dt),(0,X.jsx)(dp,{label:`Projects`,className:`sidebar-projects-section development`,collapsed:Ee,onToggleCollapsed:()=>De(e=>!e),actions:(0,X.jsx)(Dm,{onAddProject:S,onViewProjects:()=>{(async()=>{await vf({kind:`view`,view:`projects`})&&(z(null),B(null),ne(null),V(`projects`))})()}}),children:it.filter(e=>e.kind===`project`).map(e=>Dt(we?e:{...e,sessions:[]}))}),(0,X.jsxs)(dp,{label:`Threads`,className:`sidebar-task-section sidebar-ordinary-section`,collapsed:Oe,onToggleCollapsed:()=>ke(e=>!e),actionsVisible:F===`tasks-filter`||be!==`active`||K||!Pe,actions:Ot,children:[(we?rt.filter(e=>!H[e.id]):rt).filter(e=>!p.has(e.id)).map(e=>yt(e)),nt.length===0&&et.length===0?(0,X.jsx)(`div`,{className:`empty-row`,children:rm(be,Ue)}):null,nt.length>15&&(at||ot)?(0,X.jsxs)(`div`,{className:`sidebar-pagination-controls`,"aria-label":`Showing ${rt.length} of ${nt.length} ${Ue}`,children:[at?(0,X.jsx)(fp,{onClick:Ct,children:`Show more`}):null,ot?(0,X.jsx)(fp,{onClick:wt,children:`Show less`}):null]}):null]})]}),(0,X.jsx)(jm,{detail:Ve,onClose:()=>He(null)})]})}var Um={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 Wm({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,X.jsxs)(`div`,{className:`sidebar-section native-importer-status`,children:[(0,X.jsx)(`strong`,{children:o}),e.connections.map(n=>{let o=n.backfill,s=o.stage===`complete`,c=o.admitted+o.skipped;return(0,X.jsxs)(`div`,{className:`native-importer-connection`,children:[(0,X.jsxs)(`span`,{children:[n.error?(0,X.jsx)(td,{size:12}):s?(0,X.jsx)($u,{size:12}):(0,X.jsx)(or,{size:12}),Um[n.source]??n.source]}),(0,X.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,X.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,X.jsx)(`progress`,{"aria-label":`${Um[n.source]??n.source} import progress`,value:c,max:o.total}):null,n.queued>0?(0,X.jsxs)(`small`,{children:[n.queued,` updates waiting to upload (`,new Intl.NumberFormat(void 0,{notation:`compact`}).format(n.pendingBytes),` bytes)`]}):null,n.lastAdmissionAt?(0,X.jsxs)(`small`,{children:[`Last synced `,(0,X.jsx)(`time`,{dateTime:n.lastAdmissionAt,children:new Date(n.lastAdmissionAt).toLocaleString()})]}):(0,X.jsx)(`small`,{children:`No uploads acknowledged yet`}),n.destinationLinks?.tasks?(0,X.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noopener noreferrer`,children:`View tasks`}):null,n.destinationLinks?.conversations?(0,X.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noopener noreferrer`,children:`View conversations`}):null,n.error?(0,X.jsx)(`small`,{role:`status`,children:n.error}):null,n.state===`disconnected`?(0,X.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>i(n.id),children:`Reconnect source`}):(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>r(n.state===`paused`?`resume`:`pause`,n.id),children:[n.state===`paused`?`Resume`:`Pause`,` `,Um[n.source]??n.source]}),(0,X.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>r(`disconnect`,n.id),children:[`Disconnect `,Um[n.source]??n.source]})]})]},n.id)}),(0,X.jsx)(`button`,{type:`button`,disabled:t||a,onClick:()=>n(`sync`),children:`Sync now`}),(0,X.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,X.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`stop`),children:`Stop importer`}):null,!e.running&&!a?(0,X.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`install`),children:`Reinstall background service`}):null]})}function Gm({title:e,inspection:t,busy:n,onSelect:r,onRefresh:i,onClose:a}){return(0,X.jsxs)(`section`,{className:`native-branch-picker`,"aria-label":`Choose Claude conversation branch`,children:[(0,X.jsx)(`strong`,{children:e||`Claude conversation`}),(0,X.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,X.jsxs)(`button`,{type:`button`,disabled:n,onClick:()=>r({leafId:e.leafId,revision:t.revision}),children:[(0,X.jsx)(`span`,{children:e.title||`Branch without a text message`}),(0,X.jsxs)(`small`,{children:[e.messages,` messages · `,e.updatedAt?new Date(e.updatedAt).toLocaleString():`Date unavailable`]}),(0,X.jsx)(`code`,{children:e.leafId})]},e.leafId)),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:i,children:`Refresh branches`}),(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:a,children:`Cancel`})]})]})}function Km({connection:e,selectedSessionId:t,selectedSession:n,active:r=!0,onOpen:i}){let a=(0,Y.useRef)({selectedSessionId:t,active:r});a.current={selectedSessionId:t,active:r};let o=(0,Y.useRef)(null),s=(0,Y.useRef)(0),c=(0,Y.useRef)(null);(0,Y.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,Y.useState)(null),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(null),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(null),C=(0,Y.useCallback)(async()=>{if(!e||c.current===s.current)return;let t=s.current;c.current=t,v(`refresh`);try{let n=await J(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,Y.useEffect)(()=>{C()},[C]),(0,Y.useEffect)(()=>{let e=window.setInterval(()=>{document.hidden||C()},3e4);return()=>window.clearInterval(e)},[C]),(0,Y.useEffect)(()=>{if(!r||!e||!l||l.sessionId!==t)return;let n=s.current,i=window.setInterval(()=>{document.hidden||J(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 J(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 J(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 J(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,Y.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 J(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 O(t,n){let r=s.current;if(e){v(t);try{let i=await J(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 k(t){let n=s.current;if(e){v(`connect`);try{let r=await J(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 A(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:O,connect:k,select:A}}function qm({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,X.jsxs)(`section`,{className:`sidebar-section native-conversations`,"aria-label":`Conversation import controls`,children:[(0,X.jsxs)(`div`,{className:`sidebar-section-heading`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:()=>u(e=>!e),"aria-expanded":o,children:`Import conversations`}),(0,X.jsx)(`button`,{type:`button`,className:`sidebar-icon`,"aria-label":`Refresh saved conversation history`,disabled:i!==null,onClick:()=>void f(),children:i===`refresh`?(0,X.jsx)(or,{size:14}):(0,X.jsx)(lr,{size:14})})]}),a?(0,X.jsx)(Cr,{connection:t,command:a,onClose:()=>{l(null),f()}}):null,s?(0,X.jsx)(Gm,{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,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void v(),children:`Connect an import source`}),c?(0,X.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void h(c),children:`View conversation branches`}):null,n&&Object.keys(n.nextCursors).length?(0,X.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void p(),children:`Load more saved conversations`}):null,n&&n.items.length===0?(0,X.jsx)(`p`,{children:`No saved conversations found in configured source locations.`}):null,n?.warnings.map(e=>(0,X.jsxs)(`p`,{children:[(0,X.jsx)(td,{size:12,"aria-hidden":`true`}),` `,e]},e)),n?.collector.connections.length?(0,X.jsx)(Wm,{status:n.collector,busy:i!==null,onControl:e=>void g(e),onConnectionControl:(e,t)=>void _(e,t),onReconnect:e=>void v(e)}):(0,X.jsx)(`p`,{children:`Connect an import source to upload conversations. Local history remains available without cloud sync.`})]}):null,r?(0,X.jsx)(Ad,{error:r}):null]}):null}function Jm(e){let{trainingSessionIds:t}=Fd(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,Y.useCallback)(e=>{i(e)},[i]),m=(0,Y.useCallback)(async t=>{if(!await vf({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`,_=Sf(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=Km({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,X.jsxs)(`aside`,{className:`sidebar`,inert:e.open===!1,children:[(0,X.jsxs)(`div`,{className:`sidebar-toolbar`,children:[(0,X.jsx)(`button`,{className:`sidebar-icon`,"aria-label":`Hide sidebar`,onClick:()=>c(!1),children:(0,X.jsx)(gd,{size:16})}),(0,X.jsx)(`div`,{className:`sidebar-brand`,children:(0,X.jsx)(`img`,{className:`sidebar-wordmark`,src:n,alt:`OpenPond`})}),(0,X.jsx)(Nd,{hasRunningWork:e.runningSessionIds.size>0||Object.values(e.terminalSummaries).some(e=>e.tabCount>0)})]}),(0,X.jsxs)(`div`,{className:`sidebar-scroll`,children:[r===`chat`?null:(0,X.jsx)(xf,{productArea:r,setSectionMenuOpen:p,setSelectedAppId:a,setSelectedProjectId:o,setSelectedSessionId:s,setView:l,view:u,modelProjects:d,modelTrainingActivityByProjectId:f}),r!==`chat`||u!==`chat`?null:(0,X.jsx)(Hm,{...e,trainingSessionIds:t,workflowGroups:v,workflowSessions:b,onSelectSession:x.select,setSectionMenuOpen:p}),r===`chat`&&u===`chat`?(0,X.jsx)(qm,{history:x}):null]})]})}function Ym(e){let t=(0,Y.useCallback)(t=>vn(e,t),[e]),n=(0,Y.useCallback)(()=>_n(e),[e]);return(0,Y.useSyncExternalStore)(t,n)}var Xm=[{destination:`walkthroughs`,icon:Ju,label:`Walkthroughs`},{destination:`external`,icon:Ju,label:`Docs`,url:`https://openpond.ai/docs`},{destination:`external`,icon:od,label:`Blog`,url:`https://openpond.ai/blog`},{destination:`external`,icon:rd,label:`Pricing`,url:`https://openpond.ai/pricing`},{destination:`external`,icon:dd,label:`Web app`,url:`https://openpond.ai/sandboxes`},{destination:`external`,icon:ud,label:`GitHub`,url:`https://github.com/openpond/openpond`},{destination:`external`,icon:md,label:`Submit issue`,url:`https://github.com/openpond/openpond/issues/new/choose`}];function Zm({onOpenWalkthroughs:e,onCloseAccount:t,walkthroughsActive:n}){let[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(null),o=(0,Y.useRef)(null);(0,Y.useLayoutEffect)(()=>{r&&o.current?.querySelector(`[role="menuitem"]`)?.focus()},[r]);function s(){i(!0)}function c(){i(!1),a.current?.focus()}return(0,X.jsxs)(`div`,{className:`user-auth-help`,onKeyDown:e=>{r&&(e.key===`Escape`||e.key===`ArrowLeft`)&&(e.preventDefault(),e.stopPropagation(),c())},children:[(0,X.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,X.jsx)(fd,{size:15}),(0,X.jsx)(`span`,{children:`Help`}),(0,X.jsx)(rr,{className:`user-auth-help-chevron`,size:14})]}),r?(0,X.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:Xm.map(r=>{let i=r.icon,a=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(i,{size:15}),(0,X.jsx)(`span`,{children:r.label})]});return r.destination===`walkthroughs`?(0,X.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,X.jsx)(`a`,{className:`user-auth-menu-link`,role:`menuitem`,href:r.url,target:`_blank`,rel:`noreferrer`,onClick:e=>{e.preventDefault(),t(),Qm(r.url)},children:a},r.label)})}):null]})}async function Qm(e){let t=window.openpond?.browser;t?.openExternal&&(await t.openExternal({conversationId:`openpond-help`,url:e})).ok||window.open(e,`_blank`,`noopener,noreferrer`)}function $m({hasRunningWork:e}){let{state:t,busy:n,pendingAction:r,error:i,run:a}=Md(e),[o,s]=(0,Y.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,X.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,X.jsx)(`span`,{className:`sidebar-update-icon sidebar-update-spinner`,"aria-hidden":`true`,children:(0,X.jsx)(or,{size:15})}):(0,X.jsx)(lr,{size:15,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`user-auth-update-label`,children:`Check for updates`}),h?(0,X.jsx)(`span`,{className:`user-auth-update-status`,role:i?`alert`:`status`,children:h}):null]})}function eh(e){return window.addEventListener(`openpond:theme-changed`,e),()=>window.removeEventListener(`openpond:theme-changed`,e)}function th(){return document.documentElement.dataset.theme===`light`?`light`:`dark`}function nh(){let e=document.documentElement.dataset.themePreference;return e===`dark`||e===`light`?e:`system`}function rh(){return(0,Y.useSyncExternalStore)(eh,nh,()=>`system`)}function ih(e){localStorage.setItem(`openpond:appearance`,e),window.dispatchEvent(new CustomEvent(`openpond:appearance`,{detail:e}))}function ah(){let e=(0,Y.useSyncExternalStore)(eh,th,()=>`dark`),[t,n]=(0,Y.useState)(null);hr(t);let r=e===`light`;return(0,X.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{ih(r?`dark`:`light`),n(null)}catch{n(`Could not save your appearance preference.`)}},children:[(0,X.jsx)(Ld,{size:15,"aria-hidden":`true`}),(0,X.jsx)(`span`,{children:`Dark mode`}),(0,X.jsx)(`span`,{className:`user-auth-theme-switch`,"aria-hidden":`true`})]})}function oh(e,t,n={}){return w({queryKey:[`provider-plan-usage`,er(e),t],enabled:!!e,queryFn:({signal:n})=>J(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 sh(e){return`${Math.floor(e)}%`}function ch(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 lh(e,t){return t?`Loading…`:e?.status===`signed_out`?`Sign in`:e?.status===`unsupported`?`Not available`:`Unavailable`}function uh({connection:e,provider:t}){let n=oh(e,t,{poll:!1});return(0,X.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,X.jsx)(lr,{size:13,className:n.isFetching?`settings-spin`:void 0})})}function dh({connection:e,provider:t,compact:n=!1,onOpen:r}){let i=oh(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=lh(a,i.isPending&&!!e),f=a?.windows.map(e=>`${e.label}: ${sh(e.remainingPercent)} remaining. ${ch(e)}.`).join(`
20
- `);return n?(0,X.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,X.jsxs)(`span`,{className:`plan-usage-compact-provider`,children:[(0,X.jsx)(`img`,{src:`/agent-sources/${t}.svg`,alt:``,"aria-hidden":`true`}),l]}),(0,X.jsx)(`span`,{className:`plan-usage-compact-values`,children:!c&&u&&o.length?o.map(e=>(0,X.jsxs)(`span`,{className:`plan-usage-compact-value`,children:[(0,X.jsx)(`small`,{children:e.label}),(0,X.jsx)(`strong`,{children:sh(e.remainingPercent)})]},e.id)):(0,X.jsx)(`strong`,{children:c?`Unavailable`:d})})]}):(0,X.jsx)(`section`,{className:`provider-plan-usage`,"aria-label":`${l} plan usage`,children:u?(0,X.jsxs)(X.Fragment,{children:[a.windows.map(e=>(0,X.jsxs)(`div`,{className:`plan-usage-window`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{children:e.label}),(0,X.jsxs)(`strong`,{children:[sh(e.remainingPercent),c?` · last known`:``]})]}),(0,X.jsx)(`meter`,{min:0,max:100,low:10,high:25,optimum:100,value:e.remainingPercent,"aria-label":`${l} ${e.label} remaining`}),(0,X.jsx)(`small`,{children:ch(e)})]},e.id)),c?(0,X.jsxs)(`small`,{role:`status`,children:[`Usage needs refreshing. Last checked `,new Date(a.fetchedAt).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}),`.`]}):null]}):(0,X.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 fh(...e){for(let t of e){let e=t?.trim();if(e)return e}return null}function ph(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`?fh(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 mh({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,Y.useState)(null),[_,v]=(0,Y.useState)(!1),y=(0,Y.useRef)(null),b=(0,Y.useMemo)(()=>ph(n),[n]),x=b.label.trim().slice(0,1).toUpperCase();return(0,Y.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,X.jsxs)(`div`,{className:`user-auth-footer`,ref:y,children:[(0,X.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,X.jsx)(`span`,{className:`user-auth-avatar`,"aria-hidden":`true`,children:b.image?(0,X.jsx)(`img`,{src:b.image,alt:``}):x?(0,X.jsx)(`span`,{children:x}):(0,X.jsx)(Dd,{size:16})}),(0,X.jsx)(`span`,{className:`user-auth-name`,children:b.label})]}),r?(0,X.jsxs)(`div`,{className:`user-auth-menu`,role:`menu`,"aria-label":`Account`,children:[(0,X.jsxs)(`div`,{className:`user-auth-menu-header`,children:[(0,X.jsx)(`span`,{className:`user-auth-menu-avatar`,"aria-hidden":`true`,children:b.image?(0,X.jsx)(`img`,{src:b.image,alt:``}):x?(0,X.jsx)(`span`,{children:x}):(0,X.jsx)(Dd,{size:17})}),(0,X.jsxs)(`span`,{className:`user-auth-menu-identity`,children:[(0,X.jsx)(`strong`,{children:b.label}),n?.state===`signed_in`&&n.environment?(0,X.jsx)(`small`,{title:n.baseUrl??void 0,children:n.environment===`production`?`Production`:n.environment===`staging`?`Staging`:n.environment}):null]})]}),i.length>0&&d?(0,X.jsx)(zd,{className:`user-auth-team-picker`,label:`Active team`,icon:(0,X.jsx)(wd,{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,X.jsx)(`div`,{className:`user-auth-plan-usage`,children:[`claude-code`,`codex`].map(n=>(0,X.jsx)(dh,{connection:e,provider:n,compact:!0,onOpen:()=>{s(!1),t()}},n))}),(0,X.jsx)(`div`,{className:`user-auth-menu-divider`}),o?(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,onClick:()=>{s(!1),o()},children:[(0,X.jsx)(Qu,{size:15}),(0,X.jsx)(`span`,{children:`Activity`})]}):null,(0,X.jsx)(ah,{}),(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,onClick:()=>{s(!1),c()},children:[(0,X.jsx)(Cd,{size:15}),(0,X.jsx)(`span`,{children:`Settings`})]}),(0,X.jsx)($m,{hasRunningWork:m}),(0,X.jsx)(Zm,{onOpenWalkthroughs:l,walkthroughsActive:u,onCloseAccount:()=>s(!1)}),n?.state===`signed_in`&&f?(0,X.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,X.jsx)(bd,{size:15}),(0,X.jsx)(`span`,{children:_?`Logging out…`:`Log out`})]}):null]}):null]})}function hh({sidebar:e,open:t}){let[n,r]=(0,Y.useState)(!1),i=Ym(e.connection),a=[{view:`chat`,label:`Home`,Icon:Id},{view:`training`,label:`Training`,Icon:Rd},{view:`scheduled`,label:`Workflows`,Icon:Zu},{view:`outputs`,label:`Outputs`,Icon:ad},{view:`apps`,label:`Apps`,Icon:wd},{view:`projects`,label:`Projects`,Icon:cd}];async function o(n){r(!1),e.productArea===`chat`&&e.view===n?n===`chat`&&e.setSidebarOpen(!t):await vf(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 vf({kind:`view`,view:`get-started`})&&(e.setSelectedAppId(null),e.setSelectedProjectId(null),e.setSelectedSessionId(null),e.setSectionMenuOpen(null),e.setView(`get-started`))}return(0,X.jsxs)(`nav`,{className:`desktop-navigation-rail`,"aria-label":`Desktop destinations`,children:[(0,X.jsxs)(`div`,{className:`desktop-rail-destinations`,children:[(0,X.jsx)(`button`,{type:`button`,className:`desktop-rail-button desktop-rail-brand`,"aria-label":`OpenPond`,"data-rail-tooltip":`OpenPond`,onClick:()=>void o(`chat`),children:(0,X.jsx)(`img`,{src:c,alt:``})}),a.map(({view:n,label:i,Icon:a})=>{if(n===`training`)return(0,X.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,X.jsx)(a,{size:19})},n);let s=e.productArea===`chat`&&e.view===n;return(0,X.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,X.jsx)(a,{size:19})},n)}),[{view:`team`,label:`Team chat`,Icon:md,onOpen:e.onOpenTeamChat},{view:`community`,label:`Discover communities`,Icon:dd,onOpen:e.discoverCommunities}].map(({view:t,label:n,Icon:i,onOpen:a})=>(0,X.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,X.jsx)(i,{size:19})},t))]}),(0,X.jsxs)(`div`,{className:`desktop-rail-account`,children:[i.error?(0,X.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 vf({kind:`settings`,section:`diagnostics`}),children:(0,X.jsx)(td,{size:18})}):null,(0,X.jsx)(mh,{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 vf({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 vf({kind:`settings`,section:`usage`}),onOpenSettings:()=>void vf({kind:`settings`,section:`account`})})]})]})}function gh({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,X.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,X.jsxs)(`section`,{className:`git-dialog cloud-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Set up Cloud coding`,children:[(0,X.jsx)(`button`,{className:`git-dialog-close`,disabled:i,type:`button`,onClick:t,"aria-label":`Close Cloud setup`,title:`Close`,children:(0,X.jsx)(dr,{size:14})}),(0,X.jsx)(`div`,{className:`git-dialog-icon`,children:a?(0,X.jsx)(ed,{size:18}):(0,X.jsx)(nd,{size:18})}),(0,X.jsx)(`h2`,{children:a?`Cloud repo ready`:`Set up Cloud coding`}),(0,X.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,X.jsxs)(`div`,{className:`cloud-setup-summary`,children:[(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Project`}),(0,X.jsx)(`strong`,{children:e.projectName})]}),(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Source`}),(0,X.jsx)(`strong`,{children:s?`OpenPond Git`:`Local project upload`})]}),(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Branch`}),(0,X.jsx)(`strong`,{children:c?.branch??e.branch??`main`})]}),!s&&(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Cloud project`}),(0,X.jsx)(`strong`,{children:c?.targetProjectId??e.cloudProjectId??`New on upload`})]})]}),!a&&!s&&(0,X.jsx)(`div`,{className:`cloud-setup-upload-preview`,role:`status`,"aria-live":`polite`,children:e.previewLoading?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:`Calculating upload preview`}),(0,X.jsx)(`span`,{children:`Checking tracked and unignored files before anything is pushed.`})]}):e.previewError?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:`Preview unavailable`}),(0,X.jsx)(`span`,{children:`Close and reopen setup to try the preview again.`})]}):c?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:c.initializedEmptyProject?`Will initialize an empty project`:`Will upload ${c.fileCount} files`}),(0,X.jsx)(`span`,{children:yh({byteCount:c.byteCount,skippedCount:c.skippedCount,headCommit:c.headCommit,targetProjectName:c.targetProjectName})})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:`Upload preview pending`}),(0,X.jsx)(`span`,{children:`File count, byte count, and skipped files will appear here before upload.`})]})}),i&&(0,X.jsxs)(`div`,{className:`cloud-setup-progress`,role:`status`,"aria-live":`polite`,children:[(0,X.jsx)(or,{className:`cloud-setup-spinner`,size:16}),(0,X.jsx)(`span`,{children:`Uploading source to OpenPond Git...`})]}),a&&e.upload&&(0,X.jsxs)(`div`,{className:`cloud-setup-upload-result`,children:[(0,X.jsx)(`strong`,{children:e.upload.initializedEmptyProject?`Initialized empty project`:`Uploaded ${e.upload.fileCount} files`}),(0,X.jsx)(`span`,{children:yh({byteCount:e.upload.byteCount,skippedCount:e.upload.skippedCount,headCommit:e.upload.headCommit,targetProjectName:e.upload.branch})})]}),a&&e.setupUrl&&(0,X.jsxs)(`div`,{className:`cloud-setup-next`,children:[e.projectUrl?(0,X.jsxs)(`span`,{children:[`Your repo is ready here:`,` `,(0,X.jsxs)(`a`,{href:e.projectUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>_h(t,e.projectUrl,n,{newTab:!0}),children:[`Project page`,(0,X.jsx)(ar,{size:13})]})]}):(0,X.jsx)(`span`,{children:`Your repo is ready. Next step:`}),(0,X.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>_h(t,e.setupUrl,n),children:[`Setup the Cloud sandbox`,(0,X.jsx)(ar,{size:13})]})]}),(0,X.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,X.jsx)(`button`,{className:`git-dialog-secondary`,disabled:i,type:`button`,onClick:t,children:a?`Done`:`Cancel`}),a?e.setupUrl?(0,X.jsxs)(`a`,{className:`git-dialog-primary cloud-setup-primary-link`,href:e.setupUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>_h(t,e.setupUrl,n),children:[`Open setup`,(0,X.jsx)(ar,{size:13})]}):null:(0,X.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 _h(e,t,n,r={}){t&&n&&(e.preventDefault(),n(t,r))}function vh(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 yh({byteCount:e,skippedCount:t,headCommit:n,targetProjectName:r}){let i=[vh(e),`${t} skipped`],a=bh(n);return a&&i.push(`local ${a}`),i.push(r),i.join(` · `)}function bh(e){let t=e?.trim();return t?t.slice(0,7):null}var xh=(0,Y.lazy)(()=>l(()=>import(`./CommandMenu-6oj8FUr6.js`).then(e=>({default:e.CommandMenu})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),Sh=(0,Y.lazy)(()=>l(()=>import(`./SettingsView-D2bu3tK_.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([10,1,2,3,6,5,7,11,12,4,13,14,15,16,8,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]))),Ch=(0,Y.lazy)(()=>l(()=>import(`./NewProjectDialog-t9Imnb__.js`).then(e=>({default:e.NewProjectDialog})),__vite__mapDeps([50,1,2,3,8,21,17,36,51,20]))),wh=(0,Y.lazy)(()=>l(()=>import(`./WorkspaceGitDialogs-D_RUXhTi.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([52,2,1,3,8,34,17,37,53,20]))),Th=(0,Y.lazy)(()=>l(()=>import(`./WorkspaceGitDialogs-D_RUXhTi.js`).then(e=>({default:e.BranchDialog})),__vite__mapDeps([52,2,1,3,8,34,17,37,53,20])));function Eh({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,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Sh,{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 Dh({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:O,setCommitIncludeUnstaged:k,setCommitMessage:A,setCommitNextStep:j,setNewProjectDialogOpen:M,setNewProjectName:N,setNewProjectPath:ee,setQuery:P,setSearchOpen:F,submitCommitDialog:te,submitCreateWorkspaceBranch:I,submitNewProjectDialog:L}){return(0,X.jsxs)(X.Fragment,{children:[v&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(xh,{open:v,query:_,projects:g,sessions:e,onQueryChange:P,onClose:()=>{F(!1),P(``)},onNewChat:()=>{F(!1),P(``),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?Ie(`local`,e.workspaceId):null}),S({type:`patch`,patch:{searchOpen:!1,query:``}})}})}),d&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Ch,{open:d,mode:p,name:m,path:h,directory:f,busy:u,onNameChange:N,onPathChange:ee,onClose:()=>{u||M(!1)},onSubmit:L})}),r&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(wh,{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:A,onIncludeUnstagedChange:k,onNextStepChange:j,onDraftChange:O,onClose:()=>{x||D(!1)},onSubmit:te})}),n&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Th,{open:n,branchName:t,busy:x,onBranchNameChange:T,onSetPrefix:w,onClose:()=>{x||E(!1)},onSubmit:I})})]})}function Oh({cards:e,onDismiss:t,onPause:n,onCapacity:r,isCurrent:i}){let a=(0,Y.useRef)(null),o=(0,Y.useRef)(new Map),s=(0,Y.useRef)(new Map),[c,l]=(0,Y.useState)(new Map),[u,d]=(0,Y.useState)(new Set),f=(0,Y.useRef)(new Set),[p,m]=(0,Y.useState)(new Map),h=(0,Y.useRef)(e);h.current=e;let g=e.map(e=>`${e.toast.id}:${e.phase}:${e.parked}`).join(`|`);(0,Y.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,Y.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,X.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,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`app-toast-title`,title:f,children:f}),m?(0,X.jsx)(`span`,{className:`app-toast-description${d?` app-toast-action-error`:``}`,title:m,role:d?`alert`:void 0,children:m}):null]});return(0,X.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,X.jsxs)(`div`,{className:`app-toast ${r.tone} ${i?``:a}`,role:r.tone===`error`?`alert`:`status`,"aria-live":r.tone===`error`?`assertive`:`polite`,children:[(0,X.jsx)(`button`,{type:`button`,className:`app-toast-close`,"aria-label":`Dismiss notification`,onClick:()=>{_(r.id),t(r.id)},children:(0,X.jsx)(dr,{size:14})}),s?(0,X.jsx)(`button`,{type:`button`,className:`app-toast-body`,disabled:l,onClick:()=>void v(e),children:h}):(0,X.jsx)(`div`,{className:`app-toast-body`,children:h}),s?(0,X.jsx)(`div`,{className:`app-toast-actions`,children:(0,X.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 kh(e,t,n){if(t.scope!==e.scope)throw Error(`Review workspace changed. Reload the assignment.`);return J(e.connection,`/v1/human-review?location=${e.location}`,{method:`POST`,body:JSON.stringify(it.parse(t)),signal:n})}function Ah(e,t,n){let r=at.parse(e);if(r.scope!==t.scope||r.id!==n)throw Error(`Review response identity differs from the requested assignment.`);return r}var jh={inbox:async(e,t,n)=>Mh(await kh(e,{...t,endpoint:`inbox`,scope:e.scope},n),e),get:async(e,t,n)=>Ah(await kh(e,{endpoint:`get`,scope:e.scope,id:t},n),e,t),inspect:async(e,t,n,r,i)=>Nh(await kh(e,{endpoint:`inspect`,scope:e.scope,id:t,...n===void 0?{}:{slot:n},...r?{afterId:r}:{}},i),t),command:async(e,t)=>Ah(await kh(e,{endpoint:`command`,scope:e.scope,command:t}),e,t.id)};function Mh(e,t){let n=ot.parse(e);if(n.items.some(e=>e.scope!==t.scope))throw Error(`Inbox response belongs to another workspace.`);return n}function Nh(e,t){let n=rt.parse(e);if(n.some(e=>e.reviewId!==t))throw Error(`Evidence response belongs to another assignment.`);return n}function Ph({context:e,onOpen:t}){let[n,r]=(0,Y.useState)(null);return(0,Y.useEffect)(()=>{let t=new AbortController,n=0;async function i(){let i=++n;try{let a=await jh.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,X.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,X.jsx)(zn,{size:17,"aria-hidden":`true`}),n?(0,X.jsx)(`span`,{className:`human-review-inbox-count`,"aria-hidden":`true`,children:n>99?`99+`:n}):null]})}function Fh({connection:e,teamId:t,actorId:n,projectId:r}){return!e||!t||!n?null:(0,X.jsx)(Ph,{context:{connection:e,scope:t,actorId:n,location:`hosted`},onOpen:()=>{yf(vr(`inbox`,null,{area:`console`,projectId:r}))}})}var Ih=(0,Y.lazy)(()=>l(()=>import(`./WorkspaceEnvironmentMenu-Fn-NlfMQ.js`).then(e=>({default:e.WorkspaceEnvironmentMenu})),__vite__mapDeps([54,1,2,3,6,8,17,33,35,37,22,51,44,26,55,56,53,20,28,45,57,58])));function Lh({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:O,onOpenCommitDialog:k,onWorkspaceBranchChange:A,onWorkspaceBranchCreate:j,connection:M,onBootstrap:N,onOpenSandboxWorkspace:ee,onShowSidebar:P,platform:F,showWorkspaceControls:te=!0}){let I=f?.filesChanged??0;return(0,X.jsxs)(`header`,{className:`app-titlebar`,children:[(0,X.jsxs)(`div`,{className:`titlebar-left`,children:[t&&!e&&(0,X.jsx)(`button`,{className:`titlebar-icon`,title:`Show sidebar`,onClick:P,children:(0,X.jsx)(gd,{size:16})}),i?(0,X.jsx)(`button`,{className:`titlebar-icon`,type:`button`,"aria-label":i.label,title:i.label,onClick:i.onSelect,children:(0,X.jsx)(Gu,{size:16})}):null,(0,X.jsx)(wr,{children:r?.length?(0,X.jsx)(`nav`,{className:`titlebar-breadcrumbs`,"aria-label":`Breadcrumb`,children:r.map((e,t)=>{let n=t===r.length-1;return(0,X.jsxs)(`div`,{className:`titlebar-breadcrumb-item`,children:[e.onSelect&&!n?(0,X.jsx)(`button`,{type:`button`,onClick:e.onSelect,children:e.label}):(0,X.jsx)(`strong`,{children:e.label}),!n&&(0,X.jsx)(rr,{size:14})]},`${e.label}-${t}`)})}):(0,X.jsxs)(`div`,{className:`titlebar-title`,children:[(0,X.jsx)(`strong`,{children:n}),a&&(0,X.jsx)(`span`,{children:a})]})})]}),(0,X.jsxs)(`div`,{className:`titlebar-right`,children:[(0,X.jsx)(Er,{className:`page-chrome-actions`}),(0,X.jsx)(Fh,{connection:M,teamId:h??null,actorId:g??null,projectId:_??null}),te&&(0,X.jsxs)(`div`,{className:`titlebar-actions`,children:[(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Ih,{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:O,onOpenCommitDialog:k,onWorkspaceBranchChange:A,onWorkspaceBranchCreate:j,connection:M,onBootstrap:N,onOpenSandboxWorkspace:ee})}),(0,X.jsx)(`button`,{type:`button`,className:`titlebar-icon`,title:`Search chats and projects`,"aria-label":`Search chats and projects`,onClick:T,children:(0,X.jsx)(Sd,{size:16})}),(0,X.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,X.jsx)(ur,{size:16})}),v&&(0,X.jsx)(`button`,{type:`button`,className:`topbar-diff-button ${S?`active`:``}`,title:`${S?`Hide`:`Show`} sidebar${I?`, ${I} changed files`:``}`,"aria-label":`${S?`Hide`:`Show`} sidebar`,"aria-pressed":S,onClick:C,children:(0,X.jsx)(_d,{size:16})})]}),x&&w&&!v?(0,X.jsx)(`div`,{className:`titlebar-actions`,children:(0,X.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,X.jsx)(_d,{size:16})})}):null,(0,X.jsx)(Mm,{platform:F})]})]})}function Rh(){let[e,t]=(0,Y.useState)(null),n=(0,Y.useRef)(null);return{confirmAction:(0,Y.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,Y.useCallback)(e=>{let r=n.current;n.current=null,t(null),r?.resolve(e)},[])}}function zh({state:e,onResolve:t}){let n=(0,Y.useId)(),r=(0,Y.useId)();if((0,Y.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,X.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,onMouseDown:()=>t(!1),children:(0,X.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,X.jsx)(`h2`,{id:n,children:e.title}),(0,X.jsx)(`p`,{id:r,children:e.body}),(0,X.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>t(!1),children:e.cancelLabel}),(0,X.jsx)(`button`,{type:`button`,className:i,autoFocus:!0,onClick:()=>t(!0),children:e.confirmLabel})]})]})})}function Bh(){let{confirmAction:e,confirmDialog:t,resolveConfirmDialog:n}=Rh();return{confirmProjectAction:(0,Y.useCallback)(t=>e({tone:`danger`,...t}),[e]),projectConfirmDialog:t,resolveProjectConfirmDialog:n}}function Vh({state:e,onResolve:t}){return(0,X.jsx)(zh,{state:e,onResolve:t})}var Hh=new Map,Uh=(e,t,n)=>{let r=Hh.get(e)??{commits:0,maxActualDurationMs:0,totalActualDurationMs:0};r.commits+=1,r.maxActualDurationMs=Math.max(r.maxActualDurationMs,n),r.totalActualDurationMs+=n,Hh.set(e,r)};function Wh({children:e,id:t}){return(0,X.jsx)(Y.Profiler,{id:t,onRender:Uh,children:e})}typeof window<`u`&&(window.__OPENPOND_RENDER_COMMITS__={get:()=>Object.fromEntries([...Hh.entries()].map(([e,t])=>[e,{...t}])),reset:()=>Hh.clear()});var Gh=(0,Y.lazy)(()=>l(()=>import(`./MainPane-2dj6Dg4l.js`).then(e=>({default:e.MainPane})),__vite__mapDeps([59,1,2,3,14,6,7,5,11,12,4,15,60,61,62,8,18,17,19,20,63,64,65,66,67,68,69,70,71,31,72,73,74,75,76,16,77,33,30,34,35,21,23,24,78,44,25,26,55,56,28,79,40,41,80,81])));function Kh({className:e,style:t,sidebar:n,topBar:r,mainPane:i,cloudSetup:a,projectConfirm:o,lazyPanels:s,toast:c}){return(0,X.jsx)(Tr,{children:(0,X.jsxs)(`div`,{className:e,style:t,children:[(0,X.jsx)(hh,{sidebar:n,open:r.sidebarOpen}),r.sidebarAvailable===!1?null:(0,X.jsxs)(Wh,{id:`sidebar`,children:[(0,X.jsx)(Jm,{...n,open:r.sidebarOpen}),r.sidebarOpen?(0,X.jsx)(`div`,{className:`sidebar-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,onPointerDown:n.onSidebarResizeStart}):null]}),(0,X.jsxs)(`div`,{className:`content-shell`,children:[(0,X.jsx)(Lh,{...r}),(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`main`,{className:`main-pane`,"aria-busy":`true`,"aria-label":`Loading workspace`}),children:(0,X.jsx)(Gh,{...i})}),(0,X.jsx)(`div`,{className:`app-toast-anchor`,children:(0,X.jsx)(Oh,{...c})})]}),(0,X.jsx)(gh,{...a}),(0,X.jsx)(Vh,{...o}),(0,X.jsx)(Dh,{...s})]})})}function qh({settings:e,toast:t}){return(0,X.jsxs)(`div`,{className:`app-settings-shell`,children:[(0,X.jsx)(Eh,{...e}),(0,X.jsx)(`div`,{className:`app-toast-anchor`,children:(0,X.jsx)(Oh,{...t})})]})}var Jh=5e3;function Yh(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(tg).map(({event:e})=>e)}function Xh(e,t,n=Jh){return Zh(Yh(e,t),n)}function Zh(e,t=Jh){return e.length<=t?e:e.slice(e.length-t)}function Qh(e,t){if(t.length===0)return Zh(e);if(e.length===0)return Zh(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 Zh([...n.values()].sort((e,t)=>tg(e,t)).map(({event:e})=>e))}function $h(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 eg(e){let t=null;for(let n of e)n.sequence!==void 0&&(t===null||n.sequence<t)&&(t=n.sequence);return t}function tg(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 ng(e){if(e<1e3)return String(e);let t=e/1e3;return t>=10||Number.isInteger(t)?`${Math.round(t)}k`:`${t.toFixed(1)}k`}function rg(e){return e===null?`unknown`:e>=85?`high`:e>=65?`medium`:`low`}function ig(e,t){let n=e?.triggerPercent??85;return e?.autoEnabled===!1?t>=n?`Auto compaction is off. Start a new chat or turn it on before the provider limit is reached.`:`Auto compaction is off.`:`Auto compacts at ${n}% context when supported.`}function ag(e){return e===`codex`||e===`claude-code`}function og(e){return e===`openpond`}function sg(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.name!==`session.context.updated`)continue;let r=de.safeParse(n.data);if(r.success)return r.data}return null}function cg(e){if(e.snapshot&&e.snapshot.provider===e.provider){let t=e.snapshot.usedTokens,n=e.snapshot.maxContextTokens,r=Math.min(100,Math.round(e.snapshot.percentFull)),i=`${r}% full`,a=`${ng(t)} / ${ng(n)} tokens used`,o=ag(e.provider)?`Context and compaction are managed by ${e.provider===`claude-code`?`Claude Code`:`Codex app-server`}.`:ig(e.preferences,r);return{usedTokens:t,maxTokens:n,percent:r,summary:i,tokensLabel:a,detail:o,tooltip:`Context window: ${i} ${a}. ${o}`,tone:rg(r)}}if(ag(e.provider)){let t=e.provider===`claude-code`?`Claude Code`:`Codex app-server`,n=`Context is managed by ${t}.`;return{usedTokens:0,maxTokens:null,percent:null,summary:`Managed externally`,tokensLabel:t,detail:n,tooltip:`Context window: ${n}`,tone:`unknown`}}if(!og(e.provider)){let e=`Context pressure is unavailable until this provider has model context metadata.`;return{usedTokens:0,maxTokens:null,percent:null,summary:`Limit unknown`,tokensLabel:`Provider metadata unavailable`,detail:e,tooltip:`Context window: ${e}`,tone:`unknown`}}let t=`Send a message to measure hosted context.`;return{usedTokens:0,maxTokens:null,percent:null,summary:`Not measured yet`,tokensLabel:`Hosted context`,detail:t,tooltip:`Context window: ${t}`,tone:`unknown`}}function lg(e,t){if(!t)return null;let n=new Map,r=[];for(let i of e){if(!i.name.startsWith(`subagent.`))continue;let e=fg(i);e&&r.push(e);let a=dg(i);a?.parentSessionId===t&&n.set(a.id,a)}if(n.size===0)return null;let i=[...n.values()].sort((e,t)=>mg(t).localeCompare(mg(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)=>mg(t).localeCompare(mg(e))),d=i.reduce((e,t)=>{let n=_g(t.metadata?.usage);return e.totalTokens+=yg(n?.totalTokens),e.promptTokens+=yg(n?.promptTokens),e.completionTokens+=yg(n?.completionTokens),e.requestCount+=yg(n?.requestCount),e},{totalTokens:0,promptTokens:0,completionTokens:0,requestCount:0}),f=i.flatMap(e=>hg([...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=>gg([...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=>ug(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:mg(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?`${xg(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 ug(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:gg([...e.report?.artifacts??[],e.report?.patchRef,e.report?.diffRef]),testsRun:e.report?.testsRun??[],validationAttempts:e.progress.validationAttempts.map(e=>e.command),blockers:hg([...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:pg(e),updatedAt:mg(e)}}function dg(e){let t=_g(e.data),n=[t?.run,_g(t?.message)?.run];for(let e of n){let t=oe.safeParse(e);if(t.success)return t.data}return null}function fg(e){let t=fe.safeParse(_g(e.data)?.message);return t.success?t.data:null}function pg(e){let t=_g(_g(e.metadata?.workspaceHandoff)?.workspaceRetention);return t?.status===`retained`?{status:`retained`,reason:vg(t.reason),retainedAt:vg(t.retainedAt),expiresAt:vg(t.expiresAt),retentionDays:bg(t.retentionDays),trigger:vg(t.trigger),cleanupAfterExpiry:t.cleanupAfterExpiry===!0}:null}function mg(e){return e.updatedAt??e.completedAt??e.startedAt??e.createdAt}function hg(e){return[...new Set(e.map(e=>e?.trim()).filter(e=>!!e))]}function gg(e){let t=new Map;for(let n of e)n&&t.set(`${n.kind}:${n.id}`,n);return[...t.values()]}function _g(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function vg(e){return typeof e==`string`&&e.trim()?e.trim():null}function yg(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function bg(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function xg(e){return e.slice(0,1).toUpperCase()+e.slice(1).replace(/[-_]+/g,` `)}var Sg=[];function Cg(e,t){return wg(e,t,null)}function wg(e,t,n){let r=n&&jg(n.events,e)?Eg(n.indexes,n.events.length,e):Tg(e),i=Ag(t);return{...r,...i}}function Tg(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 Dg(t)}function Eg(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)??Sg,n=sg(t);n?i.set(e,n):i.delete(e);let l=kg(t);l?(a.set(e,l),l.tone===`active`?s.add(e):s.delete(e)):(a.delete(e),s.delete(e));let u=lg(t,e);u?(o.set(e,u),Og({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 Dg(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=sg(a);e&&t.set(r,e);let o=kg(a);o&&(n.set(r,o),o.tone===`active`&&i.add(r))}for(let[t,o]of e){let e=lg(o,t);e&&(r.set(t,e),Og({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 Og(e){if(e.latestGoalRuntimeBySessionId.has(e.sessionId))return;let t=An(e.sessionEvents);t&&(e.latestGoalRuntimeBySessionId.set(e.sessionId,t),t.tone===`active`&&e.activeGoalSessionIds.add(e.sessionId))}function kg(e){return qn(e)??kn(e)??An(e)}function Ag(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||Lg(a.createdAt)>Lg(s.createdAt))&&i.set(a.sessionId,a)}return{approvalsById:t,approvalsByStatus:n,pendingApprovalsBySessionId:r,latestPendingApprovalBySessionId:i}}function jg(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 Mg(e,t){return t?e.eventsBySessionId.get(t)??Sg:Sg}function Ng(e,t){return t?e.latestContextUsageBySessionId.get(t)??null:null}function Pg(e,t){return t?e.latestGoalRuntimeBySessionId.get(t)??null:null}function Fg(e,t){return t?e.latestSubagentRuntimeBySessionId.get(t)??null:null}function Ig(e,t){return t?e.latestPendingApprovalBySessionId.get(t)??null:null}function Lg(e){let t=Date.parse(e);return Number.isFinite(t)?t:-1/0}function Rg(e,t){return e?.conversationId===t}function zg(e,t){return e?.id===t?null:e}function Bg(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 Vg(e){return JSON.stringify([e.source,e.repositoryId,e.profileId])}function Hg(e,t){return e.profiles.find(e=>Vg(e.ref)===t)?.ref??null}function Ug(e,t){return!!(e&&t&&e.source===t.source&&e.repositoryId===t.repositoryId&&e.profileId===t.profileId)}function Wg(e,t){return e.profiles.find(e=>Ug(e.ref,t))?.state??null}function Gg(e,t){let n=new Map(ca.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 Kg(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 qg(e,t){return e===`labs`?`models`:`chat`}var Jg=`uploaded to a different account`;function Yg(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 Xg(e,t){let n=Yg(e,t);return n.state===`confirmed`?n.cloudProject:null}function Zg(e,t){return Yg(e,t).state===`different_account`?Jg:null}function Qg(e){return e===`sandbox`||e===`sandbox_template`||e===`sandbox_app`}function $g(e={}){return{...e,workspaceTarget:`hybrid`}}function e_(e={}){return{...e,workspaceTarget:`local`}}function t_(e){return e?.metadata?.workspaceTarget===`hybrid`}function n_(e){return!!(e&&e.provider===`openpond`&&e.workspaceKind===`local_project`&&e.cloudProjectId&&e.title.trim().endsWith(` Cloud`))}function r_({cloudProjects:e,selectedCloudProject:t,selectedProject:n}){let r=n?.linkedSandboxProject??null,i=e?Xg(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 i_({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:$g(),cwd:n.cwd,title:r}}function a_(e){return(0,Y.useEffect)(()=>{let t=Vf(e.selectedSession);t&&!e.composerDraftStore.getSnapshot()&&e.composerDraftStore.set(t)},[e.composerDraftStore,e.selectedSession?.id]),(0,Y.useCallback)(async t=>{let n=t.trim();if(!e.connection||!n||e.activeExperience===`chat`)return!1;let r=Uf(n);try{let t,i=e.selectedSession;if(i&&Hf(i))t=await Z.patchSession(e.connection,i.id,{title:r,metadata:Wf(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=r_({cloudProjects:e.cloudProjects,selectedCloudProject:e.selectedCloudProject,selectedProject:e.selectedProject});if(t.kind!==`ready`)throw Error(t.message);let i=i_({modelRef:s,provider:o,target:t,title:r});l={...i,experience:`work`,metadata:Wf(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:Wf(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 o_=[];function s_({primary:e,secondary:t}){let[n,r]=(0,Y.useState)(null),i=(0,Y.useRef)(new Set),[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(null),l=_f(),u=l?.kind===`models`&&[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(l.route.page),{composerDraftStore:d,appDispatch:f,pendingTerminalCommand:p,setPendingTerminalCommand:m,terminalTabs:h,setTerminalTabs:g,trainingDetailTasksetId:_,setTrainingDetailTasksetId:v,mentionedAppId:y,setMentionedAppId:b,cloudSetupDialog:x,setCloudSetupDialog:S,rightPanelTabRequest:C,workspaceDiffPanelViewState:w,mainComposerFocusRequestId:T,requestMainComposerFocus:E,projectConfirmDialog:D,resolveProjectConfirmDialog:O,query:k,searchOpen:A,archivedChatsOpen:j,sectionMenuOpen:M,cloudProjectsExpanded:N,sidebarOpen:ee,view:P,selectedAppId:F,selectedProjectId:te,selectedSessionId:I,codexPermissionMode:L,codexReasoningEffort:R,busy:z,diffPanelOpen:B,diffPanelExpanded:ne,rightPanelMode:V,activeExperience:H,beginNewThread:re,terminalOpen:U,settingsSection:ie,newProjectDialogOpen:ae,newProjectMode:W,newProjectName:oe,newProjectPath:se,newProjectBusy:ce,commitDialogOpen:le,commitMessage:ue,commitIncludeUnstaged:de,commitNextStep:fe,commitDraft:pe,branchDialogOpen:me,branchDialogName:he,toasts:ge,labDetailNavigation:_e,setQuery:ve,setSearchOpen:ye,setArchivedChatsOpen:G,setSectionMenuOpen:be,setCloudProjectsExpanded:xe,setChatRowsVisibleCount:Se,setSidebarOpen:Ce,setView:we,setSelectedAppId:Te,setSelectedProjectId:Ee,setSelectedSessionId:De,setPrompt:Oe,setDraftProvider:ke,setDraftModel:Ae,setDraftExperience:je,setDiffPanelOpen:Me,setDiffPanelExpanded:Ne,setRightPanelMode:K,setTerminalOpen:Pe,setSettingsSection:Fe,setNewProjectDialogOpen:Le,setNewProjectName:ze,setNewProjectPath:Be,setCommitDialogOpen:Ve,setCommitMessage:He,setCommitIncludeUnstaged:Ue,setCommitNextStep:We,setCommitDraft:Ge,setBranchDialogOpen:Ke,setBranchDialogName:qe,setError:Je,showToast:Xe,applyBootstrapPayload:Ze,applyPreferencesPayload:Qe,bootstrap:$e,connection:et,startup:tt,training:nt,trainingNavigation:rt,cloudProjectsCollapsed:it,chatsCollapsed:at,savedForLaterCollapsed:ot,sidebarWidth:st,sidebarResizing:ct,diffPanelWidth:lt,diffPanelResizing:ut,toggleCloudProjectsCollapsed:dt,toggleChatsCollapsed:ft,toggleSavedForLaterCollapsed:pt,startSidebarResize:mt,startDiffPanelResize:ht,selectedApp:gt,selectedCloudProject:_t,selectedProject:vt,selectedProjectLinkedApp:yt,selectedSession:bt,sidebarSessions:xt,runtimeIndexes:St,runtimeEventStore:Ct,notificationAfterSequence:wt,chatMentionApps:Tt,connectedAppMentions:Et,pendingApproval:Dt,pendingChatUserMessages:Ot,account:kt,activeModel:At,activeProvider:jt,appDefaults:Mt,startMessage:q,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:Yt,toggleProjectExpanded:Xt,changeCodexPermissionMode:Zt,changeCodexReasoningEffort:Qt,changeOpenPondCommandAccessMode:$t,resolveApproval:en,beginNewChat:tn,beginNewChatWithTrainingModel:nn,dismissTrainingChatHandoff:rn,trainingChatHandoff:an,selectTrainingChatTaskForComposer:on,chatHistoryLoadStates:sn,loadMoreSelectedChatHistory:cn,selectedPagedSessionEvents:ln,activeSessions:un,archivedSessions:dn,pinnedSessions:fn,savedForLaterSessions:pn,savedForLaterFiles:mn,sidebarFileBookmarks:hn,setSidebarFileStatus:gn,setSessions:_n,projectRows:vn,localProjectRows:yn,cloudProjectRows:bn,projectSessionRowsByProjectId:J,childSessionRowsByParentId:xn,sidebarProjectIdBySessionId:Sn,chatRows:Cn,visibleChatRows:wn,chatRowsVisibleCount:Tn,sessionEvents:En,goalRuntime:Dn,subagentRuntime:On,visibleChatMessages:kn,activeTerminalScope:An,terminalSummaries:jn,runningSessionIds:Mn,selectedSessionRunning:Pn,sidebarGoalRuntimeBySessionId:Fn,sidebarSubagentRuntimeBySessionId:In,taskDragSessionId:Ln,taskPreviewSessionIds:Rn,startTaskDrag:zn,clearTaskDrag:Bn,previewTaskDrop:Vn,commitTaskDrop:Hn,commitTaskPreviewDrop:Un,dragItem:Wn,startPinnedDrag:Gn,clearSidebarDrag:Kn,previewPinnedDrop:qn,commitPinnedDrop:Jn,commitPinnedPreviewDrop:Yn,commandProjectRows:Xn,contextWindowStatus:Zn,pinnedRows:Qn,workspaceBusy:$n,diffBusy:tr,visibleWorkspaceState:nr,visibleWorkspaceDiff:rr,refreshVisibleWorkspaceDiff:ir,managedWorkspace:ar,canSyncActiveWorkspace:or,canPublishOpenPondProject:sr,projectTarget:cr,workspaceTarget:lr}=e,{title:ur,browserConversationId:dr,handleWorkspaceDiffPanelViewStateChange:fr,openSessionInChat:pr,changeProjectTarget:mr,submitNewProjectDialog:hr,changeWorkspaceBranch:_r,openCommitDialog:yr,openCreateWorkspaceBranchDialog:br,openDefaultsSettingsFromBranchDialog:xr,runWorkspaceTool:Sr,submitCommitDialog:Cr,submitCreateWorkspaceBranch:wr,syncWorkspaceLocally:Tr,answerCreateImproveQuestion:Er,applyCreateImproveCandidate:Dr,approveCreateImproveRun:Or,cancelCreateImproveRun:kr,changeDraftProvider:Ar,openCreateImprovePullRequest:jr,reconcileCreateImprovePullRequest:Mr,rejectCreateImproveCandidate:Nr,pauseCreateImproveRun:Pr,resumeCreateImproveRun:Fr,reviseCreateImproveRun:Ir,stopTurn:Lr,archiveSession:Rr,restoreSession:zr,renameSession:Br,toggleSessionPinned:Vr,toggleProjectPinned:Hr,toggleSessionSavedForLater:Ur,moveProjectToCloud:Wr,startCloudSetupUpload:Gr,changeWorkspaceTarget:Kr,sendPromptFromMainComposer:qr,openSandboxWorkspace:Jr,openCloudProjectDialog:Yr,openExistingProjectPathDialog:Xr,openUrlInBrowserPanel:Zr,showBrowserPanel:Qr,showGoalSidebarTab:$r,rightChatTrainingLaunchRequest:ei,setRightChatTrainingLaunchRequest:ti,closeRightChatPanel:ni,openRightChatPanel:ri,rightChatPanelViews:ii,showRightChatPanel:ai,showRightPanelDiffTab:oi,submitRightChatPrompt:si,activateRightChatPanel:ci,updateRightChatModel:li,updateRightChatPrompt:ui,updateRightChatProvider:di,updateRightChatScrollState:fi,openProfileSettings:pi,diagnosticEvents:mi,toggleRightSidebar:hi,removeProject:gi}=t,_i=JSON.stringify([er(et),$e?.server.id,$e?.account.activeProfile,$e?.account.profile?.id,Ft]),vi=eu(ge,(0,Y.useCallback)(e=>f({type:`clearToast`,toastId:e}),[f]),_i);du(_i),cu({scope:_i,afterSequence:wt,store:Ct,indexes:St,sessions:xt,visibleSessionIds:(0,Y.useMemo)(()=>{let e=new Set;if(P===`chat`&&I&&e.add(I),B&&V===`chat`)for(let t of ii)t.sessionId&&e.add(t.sessionId);return e},[P,I,B,V,ii]),toasts:ge,showToast:Xe,dispatch:f,openThread:(0,Y.useCallback)((e,t)=>pr(e.sessionId,e,t),[pr])}),_u(et,$e?.account.activeProfile&&$e.preferences.defaultTeamId?JSON.stringify([$e.account.baseUrl,$e.account.activeProfile,$e.account.profile?.id,$e.account.state,$e.preferences.defaultTeamId]):null,()=>{vf({kind:`chat`,sessionId:null}).then(e=>{e&&(De(null),we(`chat`),r(`activity`))})});let yi=$e?.account.activeProfile&&$e?.preferences.defaultTeamId?`${$e.account.activeProfile.handle}:${$e.preferences.defaultTeamId}`:null;(0,Y.useEffect)(()=>{if(!(!yi||P!==`chat`||l?.kind!==`chat`||l.sessionId||I||i.current.has(yi))){i.current.add(yi);try{let e=localStorage.getItem(`openpond:ponder-mode:v1:${yi}`);(e===`clean`||e===`activity`)&&r(e)}catch{}}},[yi,l,P,I]),(0,Y.useEffect)(()=>{if(yi&&i.current.has(yi))try{localStorage.setItem(`openpond:ponder-mode:v1:${yi}`,n??`off`)}catch{}},[yi,n]);let bi=(0,Y.useCallback)(e=>{Te(null),Ee(e),De(null),we(`chat`),Yt(e),E()},[Yt,E,Te,Ee,De,we]),xi=(0,Y.useCallback)((e=null)=>{r(null);let t=I?Sn[I]??null:null;!e&&t?bi(t):tn(e)},[tn,bi,I,Sn]),Si=(0,Y.useCallback)(async e=>{if(et&&$e)try{let t=await Z.savePreferences(et,{defaultTeamId:e});Qe(t)}catch(e){let t=e instanceof Error?e.message:String(e);throw Je(t),Xe(`Could not switch teams`,`error`),e}},[Qe,$e,et,Je,Xe]),Ci=(0,Y.useCallback)(async()=>{if(et)try{let e=await Z.signOutOpenPondAccount(et);Ze(e),Xe(`Logged out`,`success`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Je(t),Xe(`Could not log out`,`error`),e}},[Ze,et,Je,Xe]),wi=Mt.defaultTeamId??null,Ti=(0,Y.useMemo)(()=>vn.filter(e=>e.kind===`local`||wi!==null&&e.project.teamId===wi),[vn,wi]),Ei=(0,Y.useMemo)(()=>{let e={};for(let t of un){let n=Sn[t.id];n&&(e[n]=(e[n]??0)+1)}for(let t of yn){if(t.kind!==`local`)continue;let n=t.project.linkedSandboxProject?.projectId;if(!n||!t.cloudLinkTrusted)continue;let r=Ie(`cloud`,n);e[t.id]=(e[t.id]??0)+(e[r]??0)}return e},[un,yn,Sn]),[Di,Oi]=(0,Y.useState)(null),[ki,Ai]=(0,Y.useState)(null),ji=Gg($e?.profile,$e?.extensionCatalog),[Mi,Ni]=(0,Y.useState)(null),[Pi,Fi]=(0,Y.useState)(null),[Ii,Li]=(0,Y.useState)(null),Ri=(0,Y.useCallback)(async()=>{await vf({kind:`view`,view:`team`})&&(Te(null),Ee(null),De(null),be(null),we(`team`))},[be,Te,Ee,De,we]),zi=(0,Y.useCallback)(async()=>{await vf({kind:`view`,view:`community`})&&(Te(null),Ee(null),De(null),be(null),Rt.discoverCommunities())},[Rt.discoverCommunities,be,Te,Ee,De]),Bi=a_({activeExperience:H,activeModel:At,activeOpenPondCommandAccessMode:Ht,activeProvider:jt,cloudProjects:$e?.cloudProjects??o_,composerDraftStore:d,connection:et,requestComposerFocus:E,selectedCloudProject:_t,selectedProject:vt,selectedSession:bt,setMentionedAppId:b,setSelectedSessionId:De,setSessions:_n,setView:we,showToast:Xe,workspaceTarget:lr.value}),Vi=(0,Y.useCallback)(async e=>{if(!et)throw Error(`OpenPond is not connected.`);let t=jt,n=At;t===`codex`&&(t=Re($e?.providers,{enabledOnly:!0}).find(e=>e.value!==`codex`)?.value??`openpond`,n=Ye(t,$e?.providers)??`openpond-chat`);let r=xt.find(t=>t.id===e.sourceSessionId),i=await Z.createSession(et,{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:Kg({sourceTaskId:e.sourceSessionId,sourceExperience:r?.experience??null,targetExperience:e.target,sourceMessageIds:e.sourceMessageIds??[],sourceContext:e.sourceContext,output:e.output})}});return _n(e=>[i,...e]),je(e.target),ke(t),Ae(n),d.set(e.prompt),vf({kind:`chat`,sessionId:i.id}),f({type:`selectSession`,sessionId:i.id,appId:null,projectId:null}),Te(null),Ee(null),Pe(!1),we(`chat`),K(`home`),Me(e.target===`work`),Ne(!1),i},[At,Ht,jt,f,$e?.providers,d,et,Ne,Me,je,Ae,ke,K,Te,Ee,_n,Pe,we,xt]),Hi=(0,Y.useCallback)(e=>{Ni(e),Fi(null),tn(null),Ce(!0)},[tn,Ce]);(0,Y.useEffect)(()=>{let e=e=>{let t=e.detail?.prompt;typeof t!=`string`||!t||t.length>25e4||(tn(null),je(`work`),d.set(t),we(`chat`),Ce(!0))};return window.addEventListener(`openpond:diagnostic-draft`,e),()=>window.removeEventListener(`openpond:diagnostic-draft`,e)},[tn,d,je,Ce,we]);let Ui=(0,Y.useCallback)(e=>{tn(null),je(`work`),d.set(`$openpond-refiner-authoring ${e}`),we(`chat`),Ce(!0)},[tn,d,je,Ce,we]),Wi=(0,Y.useCallback)(e=>{Fi(Bg(e)),Ni(null),tn(null),Ce(!0)},[tn,Ce]);(0,Y.useEffect)(()=>{!Mi&&!Pi||P!==`chat`||I||te||F||(Oi(Mi),Ai(Pi),Ni(null),Fi(null),K(`home`),Ne(!1),Me(!0))},[Mi,Pi,F,te,I,Ne,Me,K,P]),(0,Y.useEffect)(()=>{(Di||ki)&&(P===`chat`&&B&&V===`home`||(Oi(null),Ai(null)))},[B,ki,Di,V,P]);let Gi=(0,Y.useCallback)(()=>{Oi(null),Ai(null),Ne(!1),Me(!1)},[Ne,Me]),Ki=(0,Y.useCallback)(e=>{let t;if(e.workspaceKind===`local`){let n=Ie(`local`,e.workspaceId);t=`draft:${n}`,Te(null),Ee(n),De(null),Yt(n),we(`chat`)}else{let n=xt.find(t=>t.id===e.sourceSessionId||t.workspaceId===e.workspaceId);if(!n){Xe(`This saved file's cloud chat is no longer available.`,`error`);return}t=n.id,pr(n.id)}K(`changes`),Me(!0),Li({id:Date.now(),conversationId:t,file:e}),e.available||Xe(`File unavailable: ${e.path}`,`error`)},[Yt,pr,Me,K,Te,Ee,De,we,Xe,xt]);(0,Y.useEffect)(()=>{if(!Rg(Ii,dr))return;let e=window.setTimeout(()=>{K(`changes`),Me(!0),Li(e=>zg(e,Ii.id))},0);return()=>window.clearTimeout(e)},[dr,Me,K,Ii]);let qi=l?.kind===`models`&&l.route.area===`console`?`console`:qg(P,H);(0,Y.useEffect)(()=>{l&&(l.kind===`models`||l.kind===`models_unavailable`?P!==`labs`&&we(`labs`):l.kind===`settings`?(Te(null),Ee(null),De(null),Fe(l.section),P!==`settings`&&we(`settings`)):l.kind===`view`?(Te(null),Ee(null),De(null),P!==l.view&&we(l.view)):(l.sessionId!==null&&(r(null),Te(null),Ee(null)),De(l.sessionId),P!==`chat`&&we(`chat`)))},[l,Te,Ee,De,Fe,we,P]);let Ji=(0,Y.useCallback)(e=>{be(null),Te(null),Ee(null),De(null),e===`models`||e===`console`?(yf(e===`console`?vr(`datasets`,null,{area:`console`}):vr()),we(`labs`)):(e===`chat`&&vf({kind:`chat`,sessionId:null}),re())},[re,vf,be,Te,Ee,De,we]),Yi=(0,Y.useCallback)(async(e,t)=>{let n=await nt.actions.acceptHarnessReview(e,t,{providerId:jt,modelId:At},R);return n?(v(n.materializedTasksetId??null),yf(vr()),we(`labs`),!0):(Xe(`Taskset review could not be opened.`,`error`),!1)},[At,jt,R,yf,vr,v,we,Xe,nt.actions]),Xi=(0,Y.useMemo)(()=>pu(gu(St.eventsBySessionId)),[St.eventsBySessionId]);if(!tt.ready)return null;if(P===`settings`)return(0,X.jsx)(gr,{showToast:Xe,children:(0,X.jsx)(qh,{settings:{payload:$e,connection:et,diagnostics:mi,initialSection:ie,onPayload:Ze,onError:Je,onToast:Xe,onOpenSourceSession:pr,onStartRefinerAuthoring:Ui,onAcceptEvaluationReview:Yi,onOpenSkill:Hi,onOpenExtension:Wi,teamChatCurrentUserId:It.currentUserId,teamChatEnabled:Ft!==null,teamChatNotificationMode:It.notificationMode,teamChatThreads:It.threads,onTeamChatNotificationModeChange:It.setNotificationMode,onTeamChatThreadMuteChange:It.setThreadMuted,diffPanelWidth:lt,diffPanelResizing:ut,diffPanelExpanded:ne,onDiffPanelResizeStart:ht,onDiffPanelExpandedChange:Ne,onBack:()=>{let e=rf(l);vf(e),we(e.kind===`models`?`labs`:`chat`),Ce(!0)}},toast:{...vi}})});let Zi=Pm(),Qi=qi===`console`||P===`chat`,$i=Qi&&ee,ea=et?.platform??navigator.platform,ta=Zi&&Nm(ea),na=An,ra=nr?.initialized?nr.repoPath:bt?.cwd??null,ia={"--sidebar-width":`${st}px`,"--diff-panel-width":`${lt}px`},aa=P===`chat`||P===`labs`||P===`scheduled`&&a||P===`team`&&!!Bt,oa=[`app-shell`,ta?`platform-macos`:``,$i?`sidebar-open`:`sidebar-closed`,ct?`sidebar-resizing`:``,ut?`diff-panel-resizing`:``].filter(Boolean).join(` `),sa=I?sn[I]:null,ca=I?sa?.cursorSequence??eg(Xh(ln,Mg(St,I))):null,la=!!I&&!!et&&(Up(I)?!0:!!$e?.eventWindow?.hasMoreBefore&&!!ca)&&(sa?.hasMore??!0),ua=!!sa?.loading;return(0,X.jsx)(gr,{showToast:Xe,children:(0,X.jsx)(Kh,{className:oa,style:ia,sidebar:{activityTimes:Xi,onOpenPonder:()=>{vf({kind:`chat`,sessionId:null}),De(null),we(`chat`),r(`activity`)},productArea:qi,modelProjects:(rt.data?.projects??[]).filter(e=>e.teamId===null||e.teamId===(Mt.defaultTeamId?.trim()??null)),modelTrainingActivityByProjectId:rt.data?.activityByProjectId??{},onProductAreaChange:Ji,experience:H,view:P,selectedAppId:F,selectedProjectId:te,selectedSessionId:I,selectedTeamThreadId:It.selectedThreadId,teamChatEnabled:Ft!==null,organizations:Nt,selectedTeamId:Mt.defaultTeamId??null,teamChatOrganization:Pt,teamChatLoading:It.loading,currentUserId:It.currentUserId,teamMembers:It.members,teamThreads:It.threads,...Rt,onOpenTeamChat:Ri,discoverCommunities:zi,account:kt,connection:et,profile:$e?.profile,cloudProjectsCollapsed:it,chatsCollapsed:at,savedForLaterCollapsed:ot,archivedChatsOpen:j,cloudProjectsExpanded:N,sectionMenuOpen:M,dragItem:Wn,taskDragSessionId:Ln,taskPreviewSessionIds:Rn,allSessions:xt,activeSessions:un,archivedSessions:dn,pinnedRows:Qn,pinnedSessions:fn,savedForLaterSessions:pn,savedForLaterFiles:mn,projectRows:vn,localProjectRows:yn,cloudProjectRows:bn,projectSessionRowsByProjectId:J,childSessionRowsByParentId:xn,sidebarProjectIdBySessionId:Sn,terminalSummaries:jn,runningSessionIds:Mn,goalRuntimeBySessionId:Fn,subagentRuntimeBySessionId:In,visibleChatRows:wn,chatRows:Cn,chatRowsVisibleCount:Tn,expandedProjectIds:Jt,currentVersion:$e?.server.version??null,platform:ea,arch:et?.arch??null,onSidebarResizeStart:mt,requestComposerFocus:E,setSidebarOpen:Ce,setView:we,setSelectedAppId:Te,setSelectedProjectId:Ee,setSelectedSessionId:De,setSearchOpen:ye,setSectionMenuOpen:be,setSettingsSection:Fe,onSelectTeam:Si,onLogOut:Ci,onToggleCloudProjectsCollapsed:dt,onToggleChatsCollapsed:ft,onToggleSavedForLaterCollapsed:pt,setArchivedChatsOpen:G,setCloudProjectsExpanded:xe,setChatRowsVisibleCount:Se,beginNewChat:xi,beginProjectChat:bi,onAddProject:Xr,dockSessionRight:ri,selectTeamThread:e=>{we(`team`),It.selectThread(e)},openTeamDm:e=>{we(`team`),It.openDm(e)},toggleSessionPinned:Vr,toggleProjectPinned:Hr,toggleSessionSavedForLater:Ur,openSidebarFile:Ki,setSidebarFileStatus:(e,t)=>void gn(e,t),archiveSession:Rr,restoreSession:zr,renameSession:Br,removeProject:gi,expandProject:Yt,toggleProjectExpanded:Xt,startPinnedDrag:Gn,clearSidebarDrag:Kn,previewPinnedDrop:qn,commitPinnedDrop:Jn,commitPinnedPreviewDrop:Yn,startTaskDrag:zn,clearTaskDrag:Bn,previewTaskDrop:Vn,commitTaskDrop:Hn,commitTaskPreviewDrop:Un},topBar:{sidebarOpen:$i,sidebarAvailable:Qi,title:P===`chat`&&n?`Ponder Pal`:ur,backAction:_e.backAction,breadcrumbs:_e.breadcrumbs,workspaceName:Kt,workspaceId:Wt,busy:z,workspaceState:nr,workspaceKind:Gt,selectedApp:yt??gt,selectedProject:vt,workspaceDiff:rr,managedWorkspace:ar,workspaceBusy:$n,defaultTeamId:Mt.defaultTeamId,activityActorId:$e?.account.profile?.id??null,activityProjectId:l?.kind===`models`?l.route.projectId??null:null,showDiffControls:P===`chat`&&H===`development`,diffPanelOpen:B,terminalOpen:U,rightSidebarAvailable:aa,rightSidebarOpen:P===`labs`&&u?s?.open??!1:P===`scheduled`?a:B,onToggleDiffPanel:hi,onToggleRightSidebar:P===`labs`&&u?s?.toggle:P===`scheduled`?()=>o(e=>!e):P===`team`&&Bt?Vt:hi,onOpenSearch:()=>{be(null),ye(!0)},onToggleTerminal:()=>Pe(e=>!e),onRunTerminalCommand:e=>{m({id:Date.now(),scope:na,command:e}),Pe(!0)},onWorkspaceToolAction:Sr,onOpenCommitDialog:yr,onWorkspaceBranchChange:_r,onWorkspaceBranchCreate:br,connection:et,onBootstrap:Ze,onOpenSandboxWorkspace:Jr,onShowSidebar:()=>Ce(!0),platform:ea,showWorkspaceControls:P!==`team`&&P!==`community`&&P!==`labs`&&P!==`scheduled`&&P!==`outputs`&&P!==`projects`&&(H===`development`||H===`work`&&!!(vt||bt?.localProjectId||bt?.cloudProjectId||bt?.workspaceKind===`local_project`))},mainPane:{ponderMode:n,onPonderModeChange:r,experience:H,view:P,teamChat:{currentUserId:It.currentUserId,members:It.members,agents:It.agents,profile:$e?.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:et,providerSettings:$e?.providers??null,provider:jt,model:At,codexPermissionMode:L,codexReasoningEffort:R,openPondCommandAccessMode:Ht,contextWindowStatus:Zn,showToast:Xe,onProviderChange:Ar,onModelChange:e=>{Nn(jt,e),Ae(e)},onCodexPermissionModeChange:Zt,onCodexReasoningEffortChange:Qt,onOpenPondCommandAccessModeChange:$t,onOpenProviderSettings:()=>{vf({kind:`view`,view:`apps`})},onSendMessage:It.sendMessage,onPublishProfileAgent:Lt,onOpenAiThread:async e=>{await It.openAiThread(e),K(`chat`),Me(!0)},onOpenAgentConversation:async e=>{await It.openAgentConversation(e),K(`chat`),Me(!0)},onCloseAiThread:()=>Me(!1),onCloseAgentConversation:()=>{It.closeAgentConversation(),Me(!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:$e,runtimeEvents:En,chatMessages:kn,pendingUserMessage:I?Ot[I]??null:null,contextWindowStatus:Zn,goalRuntime:Dn,subagentRuntime:On,selectedSessionId:I,composerDraftStore:d,mainComposerFocusRequestId:T,labCloseDetailRequestId:_e.closeDetailRequestId,labCloseDetailKind:_e.closeDetailKind,sideChatTrainingLaunchRequest:ei,onSideChatTrainingLaunchHandled:e=>ti(t=>t?.id===e?null:t),mentionApps:Tt,connectedAppMentions:Et,profileSkills:ji,selectedMentionAppId:y,busy:z,turnRunning:Pn,activeProvider:jt,activeModel:At,codexPermissionMode:L,codexReasoningEffort:R,openPondCommandAccessMode:Ht,pendingApproval:Dt,activeWorkspaceAppId:Ut,activeWorkspaceId:Wt,activeWorkspaceKind:Gt,projectTarget:cr,actionCatalog:qt,workspaceTarget:lr,connection:et,workspaceName:Kt,workspaceState:nr,workspaceDiff:rr,workspaceBusy:$n,diffBusy:tr,forceChatThread:!!I,diffPanelOpen:B,diffPanelExpanded:ne,rightPanelMode:V,rightPanelTabRequest:C,rightChatPanels:ii,runtimeEventStore:Ct,nativeSkillSidebar:Di,extensionSkillSidebar:ki,workspaceDiffPanelViewState:w,sidebarFileOpenRequest:Ii,sidebarFileBookmarks:hn,onSetSidebarFileStatus:(e,t)=>void gn(e,t),browserConversationId:dr,terminalScope:na,terminalTabs:h,terminalCwd:ra,pendingTerminalCommand:p,terminalOpen:U,onToggleTerminal:()=>Pe(e=>!e),onWorkspaceDiffPanelViewStateChange:fr,training:nt,trainingSessions:xt,trainingChatHandoff:an,trainingDetailTasksetId:_,onTrainingDetailTasksetIdChange:v,onTrainingChatTaskSelect:on,onTrainingChatHandoffDismiss:rn,onOpenSession:pr,onExperienceHandoff:Vi,cloudProjects:$e?.cloudProjects??[],projects:Ti,projectsAccountBaseUrl:kt?.baseUrl??kt?.activeProfile?.baseUrl??null,projectsTeamName:Pt?.displayName??null,projectTaskCounts:Ei,onNewCloudProject:Yr,onNewLocalProject:Xr,onNewProjectTask:e=>bi(e.id),onToggleProjectPinned:Hr,onUploadLocalProject:Wr,chatHistoryHasMore:la,chatHistoryLoading:ua,onDiffPanelResizeStart:ht,onToggleDiffPanelExpanded:()=>Ne(e=>!e),onShowDiffPanel:()=>oi(`files`),onShowFilePreview:()=>oi(`file`),onShowBrowserPanel:Qr,onShowFilesPanel:()=>oi(`files`),onShowExperimentsPanel:()=>oi(`outputs`,`experiments`),onShowGoalSidebarTab:$r,onShowTrainingDraftPanel:()=>{K(`training`),Me(!0)},onShowRightChatPanel:ai,onAddRightChat:()=>ri(null),onOpenRightChatForSession:(e,t)=>{let n=t??xt.find(t=>t.id===e)??null;n&&ri(n,{preserveView:!0})},onLabDetailOpenChange:_e.onDetailOpenChange,evaluationSidebarActive:P===`labs`&&u,onEvaluationSidebarControl:c,scheduledDetailOpen:a,onScheduledDetailOpenChange:o,onTerminalTabsChange:g,onCloseRightChatPanel:ni,onCloseNativeSkillSidebar:Gi,onActivateRightChatPanel:ci,onRightChatModelChange:li,onRightChatPromptChange:ui,onRightChatScrollStateChange:fi,onRightChatProviderChange:di,onSubmitRightChat:si,onStopRightChat:e=>Lr(e),onCloseTerminal:()=>Pe(!1),onLoadMoreChatHistory:cn,canSyncWorkspace:or,startMessage:q,onPayload:Ze,onError:Je,setView:we,onOpenProfileSettings:pi,onOpenProviderSettings:()=>{vf({kind:`view`,view:`apps`})},onOpenTrainingSettings:()=>{vf({kind:`settings`,section:`training`})},onOpenDatasetStorageSettings:()=>{vf({kind:`settings`,section:`dataset-storage`})},changeDraftProvider:Ar,changeProjectTarget:mr,changeWorkspaceTarget:Kr,setDraftProvider:ke,setDraftModel:Ae,onBeginNewChatWithModel:nn,changeCodexPermissionMode:Zt,changeCodexReasoningEffort:Qt,changeOpenPondCommandAccessMode:$t,resolveApproval:en,answerCreateImproveQuestion:Er,applyCreateImproveCandidate:Dr,approveCreateImproveRun:Or,cancelCreateImproveRun:kr,openCreateImprovePullRequest:jr,reconcileCreateImprovePullRequest:Mr,rejectCreateImproveCandidate:Nr,pauseCreateImproveRun:Pr,resumeCreateImproveRun:Fr,reviseCreateImproveRun:Ir,setMentionedAppId:b,showToast:Xe,onSaveTaskDraft:Bi,sendPrompt:qr,stopTurn:e=>Lr(void 0,e),syncWorkspaceLocally:Tr,refreshWorkspaceDiff:ir},cloudSetup:{state:x,onClose:()=>S(null),onOpenBrowserUrl:Zr,onStart:()=>void Gr()},projectConfirm:{state:D,onResolve:O},lazyPanels:{activeSessions:un,branchDialogName:he,branchDialogOpen:me,commitDialogOpen:le,commitDraft:pe,commitIncludeUnstaged:de,commitMessage:ue,commitNextStep:fe,canPublishOpenPondProject:sr,connection:et,expandProject:Yt,newProjectBusy:ce,newProjectDialogOpen:ae,newProjectDirectory:Mt.defaultNewProjectDirectory,newProjectMode:W,newProjectName:oe,newProjectPath:se,projectRows:Xn,query:k,searchOpen:A,visibleWorkspaceDiff:rr,visibleWorkspaceState:nr,workspaceBusy:$n,appDispatch:f,beginNewChat:()=>tn(null),openDefaultsSettingsFromBranchDialog:xr,setBranchDialogName:qe,setBranchDialogOpen:Ke,setCommitDialogOpen:Ve,setCommitDraft:Ge,setCommitIncludeUnstaged:Ue,setCommitMessage:He,setCommitNextStep:We,setNewProjectDialogOpen:Le,setNewProjectName:ze,setNewProjectPath:Be,setPrompt:Oe,setQuery:ve,setSearchOpen:ye,submitCommitDialog:Cr,submitCreateWorkspaceBranch:wr,submitNewProjectDialog:hr},toast:{...vi}})})}var c_=new Map,l_=new Map;function u_(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 d_(e){let t=e?.trim();if(!t)return null;let n=c_.get(t);return n?.updatedAt?n.organizations:null}function f_(e,t){let n=e?.trim();if(n){c_.set(n,{organizations:t,promise:null,updatedAt:Date.now()});for(let e of l_.get(n)??[])e()}}function p_(e,t){let n=e?.trim();if(!n)return()=>void 0;let r=l_.get(n)??new Set;return r.add(t),l_.set(n,r),()=>{r.delete(t),r.size===0&&l_.delete(n)}}function m_(e){let t=e.accountKey?.trim();if(!t)return Promise.resolve([]);let n=c_.get(t);if(!e.force&&n?.updatedAt)return Promise.resolve(n.organizations);if(n?.promise)return n.promise;let r=e.fetchOrganizations().then(e=>(c_.get(t)?.promise===r&&f_(t,e),e)).catch(e=>{let n=c_.get(t);throw n?.promise===r&&c_.set(t,{organizations:n.organizations,promise:null,updatedAt:n.updatedAt}),e});return c_.set(t,{organizations:n?.organizations??[],promise:r,updatedAt:n?.updatedAt??0}),r}function h_(e){return e===`development`?`development`:`work`}function g_(e){return`New thread`}var __=`openpond.config.json`;function v_(e,t,n){return t<=0?-1:n===`Home`?0:n===`End`?t-1:n===`ArrowRight`?(e+1)%t:(e-1+t)%t}function y_(){return{activeTab:`files`,openFilePaths:[],selectedPath:null,filesTabOpen:!1,overviewTabs:[0],activeOverviewId:0,tabOrder:[`overview-0`]}}function b_(e){return{activeTab:e.activeTab,openFilePaths:[...e.openFilePaths],selectedPath:e.selectedPath,filesTabOpen:e.filesTabOpen,overviewTabs:[...e.overviewTabs],activeOverviewId:e.activeOverviewId,tabOrder:[...e.tabOrder]}}function x_(e,t=null){let n=j_(e.openFilePaths.map(e=>C_(e,t)).filter(Boolean)),r=e.selectedPath&&C_(e.selectedPath,t)||null;return{...b_(e),activeTab:e.activeTab===`file`&&!r?`files`:e.activeTab,openFilePaths:n,selectedPath:r}}function S_(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 C_(e,t=null){let n=A_(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 w_(e){return e.startsWith(`/`)||/^[A-Za-z]:\//.test(e)}function T_(e){return{path:e,status:`unchanged`,additions:0,deletions:0,patch:``,content:null}}function E_(e,t){let n=M_(e.path);return!n||e.path.endsWith(`/`)||e.content==null&&/Could not access .+\/null['"]?/.test(e.patch)?!0:t.some(e=>{let t=M_(e);return!!(t&&t.startsWith(`${n}/`))})}function D_(e){return/\.(?:md|markdown|mdx)$/i.test(e)||/(?:^|\/)readme$/i.test(e)}function O_(e){return/\.(?:doc|docx|pdf|pptx)$/i.test(e)}function k_(e){return/\.pptx$/i.test(e.path)||e.contentType===`application/vnd.openxmlformats-officedocument.presentationml.presentation`}function A_(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 j_(e){return Array.from(new Set(e))}function M_(e){let t=e.replace(/\\/g,`/`).replace(/^\.\/+/,``).split(`/`).filter(Boolean);return t.length===0?null:t.join(`/`)}function N_(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 P_(...e){for(let t of e){let e=t?.trim();if(e)return e}return``}function F_({draftProvider:e,hasSelectedCloudProject:t,selectedSessionHybridWorkspace:n}){return t&&!n?`openpond`:e}var I_=[{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 L_(...e){return P_(...e.map(e=>{let t=e?.trim();return t&&!t.includes(`@`)?t:null}))}function R_(e){if(e?.state!==`signed_in`)return``;let t=e.accounts.find(e=>e.isActive)??null;return L_(e.profile?.name,e.label,t?.displayLabel,e.profile?.handle,t?.handle,e.activeProfile?.handle)}function z_({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=Up(c)&&!s,f=s?Qg(s.workspaceKind):!1,p=t_(s),m=s?n_(s):!1,h=s?.cwd&&(!f||p)?Di(s.cwd):null,g=e?.providers??null,_=Xg(o,e?.cloudProjects??[]),v=F_({draftProvider:n,hasSelectedCloudProject:!!a,selectedSessionHybridWorkspace:p}),y=ze(v,t,g),b=Pe(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`,O=R_(w),k=O?`Welcome, ${O}`:`Welcome`,A=s?.workspaceName??s?.appName??a?.name??o?.name??r?.name??null,j=Qg(x)?`cloud`:`local`,M=o?.name??l?.name??(s?.workspaceKind===`local_project`?s.workspaceName:null)??`Local workspace`,N=(j===`cloud`?A: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:j,appDefaults:b,cloudLinked:!!(a?.id||_?.id||s?.cloudProjectId||j===`cloud`),cloudTargetName:N,localTargetName:M,selectedCodexHistoryPending:d,selectedSessionCloudWorkspace:f,selectedSessionLocalPathWorkspaceId:h,selectedSessionPendingCloudStart:m,selectedSessionProjectId:u,startMessage:k,workspaceName:A}}function B_({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=Xg(s,r?.cloudProjects??[]),p=!s?.linkedSandboxProject?.projectId||!!f,m=(0,Y.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,...I_,{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||t_(c)),_=s?u[s.id]??null:null,v=Tf(_,{branch:s?.linkedSandboxProject?.defaultBranch??null,path:s?.workspacePath??c?.cwd??null,linkedCloudSourceKnown:s?.linkedSandboxProject?.projectId&&p?!!s.linkedSandboxProject.lastUploadedCommit||!_?.headCommit:!0}),y=Ef(s,o??f,_,{cloudLinkTrusted:p}),b=Df(s,_,{cloudLinkTrusted:p});return{projectTarget:m,workspaceTarget:(0,Y.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:(t_(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 V_(e){return new Set(e.map(e=>e.id))}function H_(e,t){let n=e?.linkedOpenPondApp??null;return n?.appId&&t.has(n.appId)?n:null}function U_({bootstrap:e,codexHistorySessions:t,selectedProjectId:n,selectedSessionId:r,selectedAppId:i,sessions:a}){let o=(0,Y.useMemo)(()=>e?.apps.find(e=>e.id===i)??null,[e?.apps,i]),s=(0,Y.useMemo)(()=>new Map((e?.localProjects??[]).map(e=>[e.id,e])),[e?.localProjects]),c=(0,Y.useMemo)(()=>new Map((e?.cloudProjects??[]).map(e=>[e.id,e])),[e?.cloudProjects]),l=(0,Y.useMemo)(()=>Be(n),[n]),u=(0,Y.useMemo)(()=>l?.kind===`local`?s.get(l.id)??null:null,[s,l]),d=(0,Y.useMemo)(()=>l?.kind===`cloud`?c.get(l.id)??null:null,[c,l]),f=(0,Y.useMemo)(()=>V_(e?.apps??[]),[e?.apps]),p=(0,Y.useMemo)(()=>Ir(e?.apps??[]),[e?.apps]),m=(0,Y.useMemo)(()=>{let t=[];for(let n of e?.localProjects??[]){let e=H_(n,f);e&&t.push([e.appId,n.id])}return new Map(t)},[e?.localProjects,f]),h=(0,Y.useMemo)(()=>new Set((e?.localProjects??[]).map(e=>e.id)),[e?.localProjects]),g=(0,Y.useMemo)(()=>Wp(e?.localProjects??[]),[e?.localProjects]),_=(0,Y.useRef)([]),v=(0,Y.useMemo)(()=>W_(a,t,_.current),[t,a]),y=(0,Y.useMemo)(()=>v.find(e=>e.id===r)??null,[v,r]),b=(0,Y.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=Gp(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,Y.useMemo)(()=>y?.cloudProjectId?c.get(y.cloudProjectId)??null:null,[c,y]),S=u??b,C=d??x,w=(0,Y.useMemo)(()=>H_(S,f),[f,S]);return{cloudProjectById:c,currentAppIds:f,linkedProjectByAppId:m,localProjectById:s,mentionableSandboxApps:p,selectedApp:o,selectedCloudProject:C,selectedProject:S,selectedProjectLinkedApp:(0,Y.useMemo)(()=>w?e?.apps.find(e=>e.id===w.appId)??null:null,[e?.apps,w]),selectedProjectLinkedOpenPondApp:w,selectedSession:y,selectedSessionLinkedProject:b,sidebarSessions:v}}function W_(e,t,n){let r=new Map;for(let t of e){let e=K_(t);r.set(e,t)}for(let e of t){let t=K_(e),n=r.get(t);r.set(t,n?G_(n,e):e)}let i=Array.from(r.entries());if(!n)return i.sort((e,t)=>q_(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)=>q_(e[1],t[1])),...a];return n.splice(0,n.length,...s.map(([e])=>e)),s.map(e=>e[1])}function G_(e,t){return{...e,metadata:J_(e.metadata,t.metadata),status:e.status===`active`||t.status===`active`?`active`:e.status,updatedAt:Y_(e.updatedAt,t.updatedAt)}}function K_(e){return e.codexThreadId?`codex:${e.codexThreadId}`:`session:${e.id}`}function q_(e,t){let n=X_(t)-X_(e);return n===0?e.title.localeCompare(t.title):n}function J_(e,t){let n={...e??{},...t??{}};return Object.keys(n).length>0?n:void 0}function Y_(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 X_(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 Z_(e){return!!(e&&Qg(e.workspaceKind)&&!t_(e)&&e.provider!==`openpond`)}function Q_(e,t){let n=He(e,t);return`${e.id}\u0000${n.provider}\u0000${n.model}`}function $_({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,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!o)return;let e=l??(c?null:i.get(o)??null);if(!e)return;let t=Ie(`local`,e);m(null),h(t),r(t)},[r,i,o,c,l,m,h]),(0,Y.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key==="`"&&(e.preventDefault(),_(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]),(0,Y.useEffect)(()=>{u(!1)},[e,t,u]),(0,Y.useEffect)(()=>{if(!c){v.current=null;return}if(!s||s.id!==c)return;let e=Q_(s,a);if(v.current===e)return;v.current=e;let t=He(s,a);f(t.provider),d(t.model)},[a,s,c,d,f]),(0,Y.useEffect)(()=>{n&&s&&Z_(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=>ze(`openpond`,e))}).catch(e=>{p(e instanceof Error?e.message:String(e))})},[n,s,d,f,p,g])}function ev({connection:e,setError:t}){return(0,Y.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 tv({activeProvider:e,contextCompaction:t,contextUsage:n,pinnedItems:r,pinnedPreviewKeys:i,pinnedProjects:a,projectRows:o,visibleProjectRows:s}){let c=(0,Y.useMemo)(()=>Xe(r,i),[r,i]),l=(0,Y.useMemo)(()=>cg({provider:e,snapshot:n,preferences:t}),[e,t,n]),u=(0,Y.useMemo)(()=>Array.from(new Set([...a,...s].filter(We).map(e=>e.project.id))),[a,s]);return{commandProjectRows:(0,Y.useMemo)(()=>o,[o]),contextWindowStatus:l,pinnedRows:c,sidebarWorkspaceAppIds:u}}function nv({appDispatch:e,expandProject:t,linkedProjectByAppId:n,requestComposerFocus:r,onBeginNewChat:i,setMentionedAppId:a}){return(0,Y.useCallback)((o=null)=>{i?.();let s=o?.id?n.get(o.id)??null:null;if(s){let n=Ie(`local`,s);a(null),e({type:`selectProject`,projectId:n}),t(n),r()}else a(null),e({type:`beginNewChat`,appId:o?.id??null}),r()},[e,t,n,i,r,a])}function rv(e,t,n){let r=Ym(e),i=d();(0,Y.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,Y.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 iv({bootstrap:e,connectedAppRows:t,mentionableSandboxApps:n,runtimeIndexes:r,selectedApp:i,selectedCloudProject:a,selectedProject:o,selectedSession:s,selectedSessionId:c}){let l=(0,Y.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,Y.useMemo)(()=>Lr(t),[t]),pendingApproval:(0,Y.useMemo)(()=>Ig(r,c),[r,c])}}function av({connection:e,setBootstrap:t,setCodexPermissionMode:n,setCodexReasoningEffort:r,setError:i}){return{changeCodexPermissionMode:(0,Y.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,Y.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 ov(e,t){if(!e)return t;let n=mv(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 hv(e,n)?e:n}function sv(e,t){let n=ov(e,t),r=e?{...n,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order,updatedAt:e.updatedAt}:n;return e&&hv(e,r)?e:r}function cv(e,t){let n=!1,r=!1,i=e.map(e=>{if(e.id!==t.id)return e;n=!0;let i=ov(e,t);return i!==e&&(r=!0),i});return n?r?i:e:[t,...e]}function lv(e,t){let n=!1,r=!1,i=e.map(e=>{if(e.id!==t.id)return e;n=!0;let i=sv(e,t);return i!==e&&(r=!0),i});return n?r?i:e:[t,...e]}function uv(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=_v(t,e,n,r);if(i)return i}return ov(t,e)})}function dv(e,t,n,r=Date.now()){let i=new Map(e.map(e=>[e.id,e])),a=new Map(uv(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)||(fv(e,t)?e:null)).filter(e=>!!e);return[...s,...c]}function fv(e,t){let n=Date.parse(e.updatedAt);if(!Number.isFinite(n))return!1;let r=gv(t);return r===null||n>=r}function pv(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&&(vv(n,t)||(e[t.id]=r))}}function mv(e,t){let n=Date.parse(e),r=Date.parse(t);return Number.isFinite(n)&&Number.isFinite(r)&&n>r}function hv(e,t){return JSON.stringify(e)===JSON.stringify(t)}function gv(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 _v(e,t,n,r){let i=n[t.id];return i===void 0?null:r-i>6e4||vv(e,t)?(delete n[t.id],null):{...t,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order}}function vv(e,t){return e.pinned===t.pinned&&e.savedForLater===t.savedForLater&&e.archived===t.archived&&e.order===t.order}var yv=5e3,bv=5e4,xv=16,Sv=3e4,Cv=new Map;function wv(e,t){return Cv.get(Ev(e,t))?.payload??null}async function Tv(e,t,n={}){let r=Ev(e,t),i=Cv.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<=Sv)return Dv(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=Cv.get(r)?.payload??i?.payload;if(e.unchanged){if(!t)throw Error(`Codex history revision matched without a cached thread.`);return Cv.set(r,{fetchedAt:Date.now(),payload:t,revision:e.revision}),Dv(r,Cv.get(r)),t}let n={session:e.session,events:e.events},a=o&&t&&!e.reset?{...n,events:kv(t.events,n.events)}:n;return Cv.set(r,{fetchedAt:Date.now(),payload:a,revision:e.revision}),Ov(),a}).catch(e=>{throw Cv.get(r)?.promise===l&&Cv.delete(r),e});return Cv.set(r,{fetchedAt:i?.fetchedAt??0,payload:i?.payload,promise:l,revision:i?.revision}),Ov(),l}function Ev(e,t){return`${e.serverUrl}\n${e.token}\n${t}`}function Dv(e,t){Cv.delete(e),Cv.set(e,t)}function Ov(){for(;Cv.size>xv;){let e=Cv.keys().next().value;if(!e)return;Cv.delete(e)}}function kv(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 Av=500,jv=2500,Mv=15e3;function Nv(e){return e.active?e.surface===`thread`?Av:2e3:e.surface===`thread`?jv:Mv}function Pv(e,t){return!t||e.session.status===`active`?e:{...e,session:{...e.session,status:`active`}}}function Fv(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??wv,clearTimer:e.clearTimer??(e=>globalThis.clearTimeout(e)),loadPayload:e.loadPayload??Tv,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=Rv(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 Nv({active:t.some(e=>e.locallyActive||e.reportedActive)||e.latestPayload?.session.status===`active`||kn(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 Iv=Fv();function Lv(e){return Iv.subscribe(e)}function Rv(e,t){return`${e.serverUrl}\n${e.token}\n${t}`}function zv({connection:e,selectedSessionId:t,selectedSessionLocallyActive:n,selectedSessionStatus:r,setCodexHistorySessions:i,setError:a}){let[o,s]=(0,Y.useState)({events:[],sessionId:null}),c=Up(t)?t:null,l=c&&o.sessionId===c?o.events:[],u=(0,Y.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,Y.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 Lv({connection:e,locallyActive:t,onError:e=>a(e instanceof Error?e.message:String(e)),onPayload:e=>{let n=Pv(e,t);s(e=>e.sessionId===c?{events:Xh(e.events,n.events),sessionId:c}:{events:n.events,sessionId:c}),a(e=>e===`Session not found`?null:e),i(e=>lv(e,n.session))},reportedActive:r===`active`,sessionId:c,surface:`thread`})},[e,c,n,r,i,a]),{codexHistoryEvents:l,setCodexHistoryEvents:u}}function Bv(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 Vv({connection:e,appPreferences:t,sessions:n,pinnedItems:r,setAppPreferences:i,setCodexHistorySessions:a,setSessions:o,sidebarFileBookmarks:s,setSidebarFileBookmarks:c,setError:l}){let[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(null),m=(0,Y.useRef)(null),h=(0,Y.useRef)(null);function g(e,t){e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`${t.type}:${t.id}`),Bv(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=Je(e),a=h.current??r.map(e=>e.key),o=K(a,Le(n),Le(t),i);Ge(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(Ge(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(K(i,Le(n),Le(t),Je(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 Hv({connection:e,sessions:t,setCodexHistorySessions:n,setError:r,setSessions:i}){let[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(null);function d(e,t){e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`session:${t.sessionId}`),Bv(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=K(r,n.sessionId,t,Je(e));Uv(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=K(r,n.sessionId,t,Je(e));g(im(n.allSessionIds,n.visibleSessionIds,i)),p()}function h(){let e=l.current;e&&g(im(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 Uv(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function Wv(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 Gv=64e3,Kv=2400,qv={"--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`},Jv={...Object.fromEntries(Object.entries(qv).map(([e,t])=>[e,zr.dark[t]])),"--font-web":`"Figtree",Inter,system-ui,sans-serif`,"--color-scheme":`dark`};N(R(Object.keys(Jv)),B().min(1).max(300));var Yv=F({width:L().int().min(280).max(1440),height:L().int().min(80).max(Kv)}),Xv=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:pt,heights:k(Yv).min(1).max(4)}),Zv=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(Gv),width:L().int().min(280).max(1440).default(680),assets:k(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:k(B().min(1).max(56e5)).min(1).max(2),heights:k(Yv).min(1).max(4),console:k(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 Qv(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 $v(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(t(r))return r}return null}function ey(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 ty(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 ny(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=Yt.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 ry(e,t,n){if(t.name===`workspace_action_result`){let r=$v(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:ly([...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 iy(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`])??ay(t)??ay($(t?.run))??ay($(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=ly([...sy(`artifact`,t?.artifactRefs,`Artifact`),...sy(`artifact`,s?.artifactRefs,`Artifact`),...sy(`artifact`,o?.artifactRefs,`Artifact`),...sy(`artifact`,c?.artifactRefs,`Artifact`),...sy(`trace`,t?.traceArtifactRefs,`Trace`),...sy(`trace`,u?.artifactRefs,`Trace`),...sy(`eval`,t?.evalResultArtifactRefs,`Eval`),...sy(`eval`,d?.artifactRefs,`Eval`),...sy(`output`,t?.outputRefs,`Output`)]),p=Q(l,[`sourceRef`,`ref`]);return p&&f.push({id:uy(`source`,p),kind:`source`,label:`Source`,target:p}),{actionName:r,title:Q(s,[`label`,`title`,`name`])??Q(a,[`selectedActionLabel`])??my(r),status:oy(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:ly(f),childCalls:dy(t,i,a)}}function ay(e){return e?Q(e,[`actionName`,`name`])??Q($(e.action),[`actionName`,`name`])??Q($(e.actionSummary),[`actionName`,`name`])??Q($(e.selectedEntrypoint),[`name`]):null}function oy(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 sy(e,t,n){return(Array.isArray(t)?t:t?[t]:[]).flatMap(t=>{let r=cy(e,t,n);return r?[r]:[]})}function cy(e,t,n){if(typeof t==`string`&&t.trim()){let r=t.trim();return{id:uy(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:uy(e,i),kind:e,label:a,target:i}}function ly(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 uy(e,t){return`${e}:${t}`}function dy(e,t,n){return[e?.childCalls,e?.childRuns,e?.implementationCalls,t?.childCalls,t?.childRuns,n?.childCalls,n?.childRuns].flatMap(e=>fy(e)).slice(0,6)}function fy(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:py(n),detail:a}]})}function py(e){let t=Q(e,[`status`,`state`]);return t===`running`||t===`completed`||t===`failed`||t===`pending`?t:t===`succeeded`?`completed`:`unknown`}function my(e){let t=e.replace(/[._-]+/g,` `).trim();return t?t.replace(/\b\w/g,e=>e.toUpperCase()):e}var hy=new Set([`.avif`,`.gif`,`.jpeg`,`.jpg`,`.png`,`.webp`]);function gy(e){if(!e)return!1;let t=e.split(`?`)[0]?.split(`#`)[0]??e,n=t.lastIndexOf(`.`);return n<0?!1:hy.has(t.slice(n).toLowerCase())}function _y(e){return e.split(`/`).filter(Boolean).pop()??e}function vy(e){if(!xy(e))return;let t=$(e.data),n=(typeof t?.openpondImagePreviewPath==`string`?t.openpondImagePreviewPath:null)??Sy(e.data)??Sy(e.args)??Sy(e.output);if(n&&gy(n))return{path:n,appId:e.appId??null,title:_y(n)}}function yy(e){if(e.name!==`tool.completed`&&e.name!==`workspace_action_result`)return[];let t=[],n=new Set;return by(e.data,t,n),t.slice(0,12)}function by(e,t,n,r=0){if(r>7||e==null)return;if(Array.isArray(e)){for(let i of e)by(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`])??_y(a),contentType:o,sizeBytes:typeof i.sizeBytes==`number`?i.sizeBytes:null}));for(let e of Object.values(i))by(e,t,n,r+1)}function xy(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 Sy(e,t=0,n=``){if(t>5||e==null)return null;if(typeof e==`string`){if(Cy(n)&&gy(e.trim()))return e.trim();let r=Qv(e);if(r!==null){let e=Sy(r,t+1,n);if(e)return e}return wy(e)}if(Array.isArray(e)){for(let r of e){let e=Sy(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(!Cy(e))continue;let r=Sy(n,t+1,e);if(r)return r}for(let[e,n]of Object.entries(r)){if(Cy(e))continue;let r=Sy(n,t+1,e);if(r)return r}return null}function Cy(e){return/^(path|filePath|filepath|imagePath|image|localPath|uri|url)$/i.test(e)}function wy(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 Ty(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=Dy(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 Ey(e){if(e.action!==`connected_app_search`&&e.action!==`connected_app_read`&&e.action!==`connected_app_write`)return null;let t=Oy(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 Dy(e){return Oy(e).providerLabel}function Oy(e){let t=$(e.args),n=$(e.data),r=$(n?.result),i=li(Q(t,[`provider`])??Q(r,[`provider`])??Q(n,[`provider`])??void 0);return{providerLabel:Q(r,[`providerLabel`])??Q(n,[`providerLabel`])??(i?oi(i)?.label:null)??`connected app`,providerOperation:Q(t,[`operation`]),operation:Q(r,[`operation`])??Q(n,[`operation`]),capabilityCount:ky(t?.capabilityIds)||ky(r?.capabilityIds)||ky(n?.capabilityIds)}}function ky(e){return Array.isArray(e)?e.length:0}function Ay(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()||jy(e)}}return t===`<turn_aborted>`?{kind:`turn_aborted`,text:jy(`turn_aborted`)}:t===`<goal_context>`?{kind:`goal_context`,text:jy(`goal_context`)}:null}function jy(e){return e===`turn_aborted`?`The previous turn was interrupted.`:`Goal context updated.`}function My(e){return e.name===`diagnostic`&&$(e.data)?.kind===`goal_context`}var Ny=`Steered by user`;function Py(e){return e?.trim().toLowerCase()===Ny.toLowerCase()}function Fy(e,t){if(!t.turnId)return;Vy(e,t.turnId);let n=Iy(t);if(!n)return;let r=By(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 Iy(e){let t=$(e.data),n=$(t?.activity);return n?Ry(n,e):zy(e,t)}function Ly(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 · ${Xy(e.route??`external`)} issue routed`;let t=e.result===`applied`?`Applied`:`Needs review`;return`Refiner · ${e.summary} — ${t}`}function Ry(e,t){let n=Jy(e.state,[`running`,`completed`,`failed`]);if(!n)return null;let r=n===`failed`?`failed`:Jy(e.result,[`no_action`,`routed`,`applied`,`retained`]),i=qy(e.reason)??t.output??t.error??null;return{state:n,visibility:Jy(e.visibility,[`always`,`material_only`])??`material_only`,result:n===`running`?null:r,workspaceId:qy(e.workspaceId),decision:Jy(e.decision,[`no_action`,`route`,`propose`]),route:qy(e.route),operation:Jy(e.operation,[`create`,`update`,`delete`]),target:qy(e.target),summary:qy(e.summary)??Yy(n,r),expectedOutcome:qy(e.expectedOutcome),reason:i,evidenceBasis:Hy(e.evidenceBasis),critiqueStatus:Jy(e.critiqueStatus,[`not_applicable`,`pending`,`passed`,`rejected`,`failed`])??(n===`running`?`pending`:`not_applicable`),validationStatus:Jy(e.validationStatus,[`not_applicable`,`pending`,`passed`,`failed`])??(n===`running`?`pending`:`not_applicable`),validations:Uy(e.validationReceipts),edits:Wy(e.edits),refs:{trigger:Gy(e.trigger),outcome:Gy(e.outcome),proposal:Gy(e.proposal),applyReceipt:Gy(e.applyReceipt),advanceReceipt:Gy(e.advanceReceipt),inputHarness:Gy(e.inputHarness),outputHarness:Gy(e.outputHarness)}}}function zy(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=qy(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:qy(i?.route),operation:null,target:null,summary:Yy(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:Gy(t?.trigger),outcome:Gy(i),proposal:Gy(a),applyReceipt:null,advanceReceipt:null,inputHarness:null,outputHarness:null}}}function By(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 Vy(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 Hy(e){let t=$(e),n=Jy(t?.kind,[`single_deterministic`,`recurrent_independent`]);return!t||!n?null:{kind:n,supportingEvidenceIds:Ky(t.supportingEvidenceIds),counterevidence:Ky(t.counterevidence)}}function Uy(e){return Array.isArray(e)?e.flatMap(e=>{let t=$(e),n=qy(t?.id),r=Jy(t?.status,[`passed`,`failed`,`blocked`,`skipped`]),i=qy(t?.summary);return n&&r&&i?[{id:n,status:r,summary:i}]:[]}):[]}function Wy(e){return Array.isArray(e)?e.flatMap(e=>{let t=$(e),n=qy(t?.id),r=Jy(t?.operation,[`create`,`update`,`delete`]),i=qy(t?.target),a=qy(t?.summary);return!n||!r||!i||!a?[]:[{id:n,operation:r,target:i,summary:a,content:typeof t?.content==`string`?t.content:null}]}):[]}function Gy(e){let t=$(e),n=qy(t?.id),r=qy(t?.contentHash);return n&&r?`${n} · ${r.slice(0,12)}`:null}function Ky(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e.trim()):[]}function qy(e){return typeof e==`string`&&e.trim()?e.trim():null}function Jy(e,t){return typeof e==`string`&&t.includes(e)?e:null}function Yy(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 Xy(e){return e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e}var Zy=8192;function Qy(e,t){let n=db(t);if($(t.data)?.nativeBackgroundTask===!0&&n.callId){let r=$v(e,e=>e.turnId===t.turnId&&e.role===`activity_group`&&!!e.activities?.some(e=>e.callId===n.callId));if(r){r.activities=ib(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(n.subagentMessage){e.push({id:t.id,role:`activity_group`,activities:[n],timestamp:t.timestamp,turnId:t.turnId});return}let r=eb(e,t.turnId);r?(r.activities=ib(r.activities??[],t,n),r.timestamp=t.timestamp):($y(e,t),e.push({id:t.id,role:`activity_group`,activities:[n],timestamp:t.timestamp,turnId:t.turnId,traceState:`running`,traceStartedAt:t.timestamp}))}function $y(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 eb(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 tb(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 nb(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)}tb(e,t,`interrupted`),!Py(t.output)&&e.push({id:t.id,role:`status_divider`,content:rb(t),timestamp:t.timestamp,turnId:t.turnId,statusKind:`interruption`,statusState:`failed`,statusTone:`danger`})}function rb(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 ib(e,t,n=db(t)){let r=[...e];if(t.name===`tool.started`&&$(t.data)?.nativeTool===!0&&n.callId){let e=$v(r,e=>e.callId===n.callId&&e.state===`running`);if(e){let t=e.timestamp;return Object.assign(e,n,{timestamp:t}),r}}return hb(r,t,n)||fb(r,t,n)||pb(r,t,n)||mb(r,t,n)?r:[...r,n]}function ab(e){return e.name===`session.compaction.started`||e.name===`session.compaction.completed`||e.name===`session.compaction.failed`}function ob(e,t){let n={id:t.id,role:`status_divider`,content:sb(t),timestamp:t.timestamp,turnId:t.turnId,statusKind:`compaction`,statusState:cb(t),statusTone:lb(t)};if(t.name!==`session.compaction.started`){let r=$v(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 sb(e){let t=ub(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 cb(e){return e.name===`session.compaction.started`?`running`:e.name===`session.compaction.completed`?`completed`:`failed`}function lb(e){return e.name===`session.compaction.failed`?`danger`:e.name===`session.compaction.completed`?`success`:`info`}function ub(e){return $(e.data)?.reason===`auto`?`auto`:`manual`}function db(e){e=ey(e);let t=vy(e),n=e.name===`assistant.reasoning.delta`?`reasoning`:Db(e),r=Ob(e),i=Nb(e),a=Mb(e),o=Pb(e),s=Fb(e),c=yy(e),l=ty(e),u=Qb(e);return{id:e.id,...u?{plan:u}:{},label:s?s.direction===`received`?`Child message received`:`Child message sent`:yb(e),content:s?.summary??Sb(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:jb(e)??void 0}:{},...n&&e.name===`command.output`?{detail:Wb(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:Zb(JSON.stringify(e.args,null,2))}:{},...n!==`command`&&e.name===`tool.completed`&&$(e.data)?.nativeTool===!0&&e.output?{detail:Zb(e.output)}:{},...n===`command`?{terminal:Gb(e)}:{},...l?{detail:Zb(l)}:{},...a?{meta:a}:{},...i?{receipt:i}:{},...o?{openSession:o}:{},...s?{subagentMessage:s}:{},state:vb(e),...t?{imagePreview:t}:{},...c.length>0?{artifacts:c}:{}}}function fb(e,t,n){if(t.name===`tool.completed`){let r=gb(e,t);if(!r)return!1;let i=Kb(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=Wb(t);return a&&a!==r.content&&(r.detail=Xb(r.detail,a)),!0}if(t.name===`command.output`){let r=gb(e,t);if(!r)return!1;let i=Wb(t);return i&&(r.detail=Xb(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 pb(e,t,n){if(t.name!==`tool.completed`||n.kind===`command`)return!1;let r=jb(t),i=$v(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=Xb(i.detail,a)),n.detail&&(i.detail=Xb(i.detail,n.detail)),i.plan=n.plan??i.plan,i.meta=n.meta,i.receipt=n.receipt,i.imagePreview=n.imagePreview??i.imagePreview,i.artifacts=n.artifacts,!0}function mb(e,t,n){if(t.name!==`workspace_action_result`)return!1;let r=_b(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 hb(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 gb(e,t){let n=jb(t);if(n){let t=$v(e,e=>e.kind===`command`&&e.callId===n);if(t)return t}return $v(e,e=>e.kind===`command`)}function _b(e,t){let n=bb[t.action??``]??{started:`Running workspace action`,completed:`Workspace action completed`};return $v(e,e=>e.state===`running`&&e.label===n.started&&e.kind!==`command`&&!e.controlKind)}function vb(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 yb(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 My(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`:xy(e)&&e.name===`tool.started`?`Reading image`:xy(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`:Ty(e)||wb(e)||Cb(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`?xb(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 bb={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 xb(e){let t=bb[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 Sb(e,t){if(e.name===`assistant.reasoning.delta`)return e.output??``;if(t)return t.path;let n=Ay(e.output??``);if(n)return n.text;if(My(e)||e.name===`turn.interrupted`)return e.output??e.error??``;let r=Tb(e);if(r)return r;let i=Eb(e);if(i)return i;let a=Ey(e);if(a)return a;let o=kb(e);if(o)return o;if(e.name===`command.output`)return Ub(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 Cb(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 wb(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 Tb(e){return e.action?.startsWith(`openpond_browser_`)?Q($($(e.data)?.result),[`output`])||Q($(Qv(e.output??``)),[`output`])||Q($(e.args),[`url`])||(e.action===`openpond_browser_type`?`Text redacted`:e.error??e.output??e.action):null}function Eb(e){if(e.action!==`openpond_create_improve`)return null;let t=Q($($(e.data)?.result),[`nextStep`]);if(t)return t;let n=Q($(Qv(e.output??``)),[`output`]);if(n)return n;let r=$(e.args);return Q(r,[`reason`])||Q(r,[`objective`])||(e.error??null)}function Db(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`||kb(e)||r&&/(^|[._-])exec_command$/i.test(r))return`command`}function Ob(e){if(e.name===`turn.interrupted`)return`turn_aborted`;if(My(e))return`goal_context`}function kb(e){let t=$(e.data),n=Q(t,[`type`]),r=Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`]),i=$(t?.result),a=$($(Qv(e.output??``))?.data);return(Q(t,[`command`,`cmd`])??Q($(t?.input),[`command`,`cmd`])??Q($(t?.arguments),[`command`,`cmd`])??Q($(t?.args),[`command`,`cmd`])??Ab(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 Ab(e){return e?Q($(Qv(e)),[`command`,`cmd`]):null}function jb(e){return Q($(e.data),[`callId`,`call_id`,`toolCallId`,`tool_call_id`,`id`,`itemId`,`item_id`])}function Mb(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(zb(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?` ${Hb(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 ${Vb(e)}`:`checkpoint saved`)}else n.push(`checkpoint clean`)}let c=Rb(t);return c&&(n.push(`receipt ${Hb(c.id)}`),n.push(`${Bb(c.totalUsd)} ${c.status}`)),n.length>0?n.join(` · `):null}function Nb(e){let t=Rb($(e.data));return t?{id:t.id,status:t.status,totalUsd:t.totalUsd}:void 0}function Pb(e){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 Fb(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:Ib(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 Ib(e){let t=e.replace(/\s+/g,` `).trim();return t?Lb(/^(.*?[.!?])(?:\s|$)/.exec(t)?.[1]??t,96):`No message body`}function Lb(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 Rb(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 zb(e){return e<1e3?`${Math.max(0,Math.round(e))} ms`:e<1e4?`${(e/1e3).toFixed(1)} s`:`${Math.round(e/1e3)} s`}function Bb(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function Vb(e){return e.length>12?e.slice(0,12):e}function Hb(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function Ub(e){let t=e.replace(/\r\n/g,`
22
- `).trim();if(!t)return``;let n=qb(t);if(n!==null)return Zb(n);let r=t.indexOf(`
23
- Output:
24
- `);return r>=0&&Yb(t.slice(0,r))&&(t=t.slice(r+9).trim()),t=t.replace(/^Total output lines: \d+\n\n/,``),Zb(t.trim())}function Wb(e){let t=Ub(e.output??``);if(t)return t;let n=$($(e.data)?.result);return n?Zb(Jb(n)):``}function Gb(e){let t=$(e.data),n=$(t?.result),r=$($(Qv(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 Kb(e,t){let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function qb(e){let t=$(Qv(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?Jb(r,Q(t,[`output`])):typeof t.output==`string`?t.output.trim():``}function Jb(e,t=null){let n=[Q(e,[`stdout`])?.replace(/\r\n/g,`
25
- `).trimEnd()??``,Q(e,[`stderr`])?.replace(/\r\n/g,`
26
- `).trimEnd()??``].filter(Boolean);return n.length>0?n.join(`
27
- `):t?.replace(/\r\n/g,`
28
- `).trim()??``}function Yb(e){return/^(Chunk ID|Exit code):/m.test(e)&&/Wall time:/m.test(e)}function Xb(e,t){let n=e??``;return n?n===t||n.includes(t)?n:t.includes(n)?Zb(t):Zb(`${n}${n.endsWith(`
29
- `)||t.startsWith(`
30
- `)?``:`
31
- `}${t}`):Zb(t)}function Zb(e){return e.length<=65536?e:`${e.slice(0,Zy)}
32
-
33
- … output omitted from live view; full output remains in task history …
34
-
35
- ${e.slice(-57270)}`}function Qb(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 $b=/\bopenpond\s+opchat\b/i,ex=/\b(?:50[0-9]|52[0-9]|53[0-9])\b|bad\s+gateway|gateway\s+timeout|service\s+unavailable/i;function tx(e){let t=e?.trim()||`Turn failed`;return $b.test(t)&&ex.test(t)?`Server connection lost. Retry your message.`:t}function nx(e,t){if((rx(t,`code`)??rx(t,`errorCode`))===`opchat_quota_exceeded`)return`opchat_quota_exceeded`;let n=t&&typeof t==`object`?t.error:null;if(n&&typeof n==`object`&&(rx(n,`code`)??rx(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 rx(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim()?n.trim():null}function ix(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=ax(r.activities??[]);if(e.length===0){r.deliverables=void 0;continue}let i=t.get(r.turnId)??``,a=i?ox(e,i):[];r.deliverables=a.length>0?a:n.has(r.turnId)?[e[e.length-1]]:void 0}}function ax(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 ox(e,t){let n=lx(t);return e.filter(e=>sx(e).some(e=>t.includes(e)||n.includes(e)))}function sx(e){let t=new Set;for(let n of[e.path,e.title,cx(e.path)]){let e=n.trim();e&&(t.add(e),t.add(lx(e)))}return[...t]}function cx(e){return e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e}function lx(e){try{return decodeURIComponent(e)}catch{return e}}var ux=8;function dx(e){if(e.name!==`tool.completed`||e.status===`failed`||e.action!==`web_search`&&e.action!==`web_fetch`)return[];let t=px(e.data),n=e.output?px(Qv(e.output)):null;return mx(t??n)}function fx(e,t){if(t.length===0)return e;let n=[],r=new Set;for(let i of[...e??[],...t]){let e=_x(i.url);if(e&&!r.has(e)&&(r.add(e),n.push(i),n.length>=ux))break}return n.length>0?n:void 0}function px(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=px(n[e],t+1);if(r)return r}return null}function mx(e){if(!e)return[];let t=[],n=new Set;for(let r=0;r<e.results.length;r+=1){let i=hx(e.results[r],r,e.provider);if(!i)continue;let a=_x(i.url);if(a&&!n.has(a)&&(n.add(a),t.push(i),t.length>=ux))break}return t}function hx(e,t,n){let r=$(e);if(!r)return null;let i=Q(r,[`url`,`href`]);if(!i||!gx(i))return null;let a=Q(r,[`title`])??bx(i)??`Source ${t+1}`;return{id:Q(r,[`id`])??`source_${t+1}`,title:a,url:i,sourceName:Q(r,[`sourceName`,`source_name`,`source`])??bx(i),snippet:Q(r,[`snippet`,`description`]),provider:n,faviconUrl:vx(Q(r,[`faviconUrl`,`favicon_url`,`iconUrl`,`icon_url`]))??yx(i),publishedAt:Q(r,[`publishedAt`,`published_at`]),updatedAt:Q(r,[`updatedAt`,`updated_at`])}}function gx(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function _x(e){try{let t=new URL(e);return t.hash=``,t.toString()}catch{return null}}function vx(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 yx(e){try{return new URL(`/favicon.ico`,e).toString()}catch{return null}}function bx(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function xx(e){let t=$(e.data),n=Il.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=hn.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:`Ponder 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 Sx(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 Cx(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:Sx(r.output??r.content??n.content),...c==null?{}:{error:Sx(c)}}}}function wx(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 Tx=new WeakMap;function Ex(e){let t=Tx.get(e);if(t)return t;let n=Dx(e);return Tx.set(e,n),n}function Dx(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=Cx(c,a);if(e.source===`server`&&$(e.data)?.chatResource)continue;if(e.name===`visual.published`){let n=Xv.safeParse($(e.data)?.visual);n.success&&n.data.sessionId===e.sessionId&&!t.some(e=>e.id===n.data.publicationId)&&($y(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=xx(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=Il.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,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),$y(t,e),Ox(t,e);let n=Nx(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`?Wv(n):null;if(s){t.push({id:e.id,role:`assistant`,nativeTaskNotification:s,timestamp:e.timestamp,turnId:e.turnId});continue}let c=Ay(n);if(c){Qy(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:Px(e.args),timestamp:e.timestamp,turnId:e.turnId});let l=Fx(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=Fx(e.data);if(!n)continue;let r=$v(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=wx(t,s,e);if(l)$y(t,e),l.sources=fx(l.sources,Ax(i,e.turnId)??[]);else if(e.name===`assistant.delta`){let n=e.output??``;if(!n)continue;$y(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=fx(a.sources,Ax(i,e.turnId)??[]);else{let r=Ax(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;$y(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=Yr.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=Xr.safeParse(n?.resolution);if(!r.success)continue;let i=$v(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=$v(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),tb(t,e,`completed`)}else if(e.name===`turn.failed`){tb(t,e,`failed`);let n=e.error??`Turn failed`,r=nx(n,e.data);t.push({id:e.id,role:`error`,content:tx(n),...r?{errorKind:r}:{},timestamp:e.timestamp,turnId:e.turnId})}else if(e.name===`turn.interrupted`)nb(t,e);else if(ab(e))ob(t,e);else if(e.name.startsWith(`harness.refiner.`))Fy(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.`)||My(e)){if(jx(e))continue;let n=iy(e);if(n){ry(t,e,n);continue}let r=dx(e);r.length>0&&kx(t,i,e.turnId,r),Qy(t,e)}if(e.name===`workspace.diff`){let n=Mx(e.data);if(!n||n.filesChanged===0)continue;let r=$v(t,t=>t.role===`assistant`&&t.turnId===e.turnId);r&&(r.changeSummary=n,r.timestamp=e.timestamp)}}}return ix(t),ny(t,e)}function Ox(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 kx(e,t,n,r){if(!n)return;let i=e[e.length-1];i?.role!==`assistant`||i.turnId!==n?t.set(n,fx(t.get(n),r)):i.sources=fx(i.sources,r)}function Ax(e,t){if(!t)return;let n=e.get(t);return n&&e.delete(t),n}function jx(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 Mx(e){let t=ki.safeParse(e);return t.success?t.data:null}function Nx(e){if(!e||typeof e!=`object`||!(`prompt`in e))return``;let t=e.prompt;return typeof t==`string`?t:``}function Px(e){if(!e||typeof e!=`object`||!(`attachments`in e))return;let t=Ya.array().safeParse(e.attachments);return t.success&&t.data.length>0?t.data:void 0}function Fx(e){let t=$(e);if(!t)return null;let n=$e.safeParse(t.createImproveRun);return n.success?n.data:null}function Ix(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 Lx(e){let t=zx(e);return t?t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}):``}function Rx(e){let t=zx(e);return t?t.toLocaleString():``}function zx(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Bx(e){let{chatMessages:t,runtimeIndexes:n,selectedSessionId:r}=e,[i,a]=(0,Y.useState)({}),o=(0,Y.useCallback)(e=>{a(t=>({...t,[e.sessionId]:e}))},[]);return(0,Y.useEffect)(()=>{a(e=>{let t=e;for(let[r,i]of Object.entries(e)){let a=Ex(Mg(n,r));Jn(a,i)&&(t===e&&(t={...e}),delete t[r])}return t})},[n]),{pendingChatUserMessages:i,recordPendingChatUserMessage:o,visibleChatMessages:(0,Y.useMemo)(()=>Yn(t,r?i[r]:null),[t,i,r])}}function Vx({connection:e,selectedSession:t,setBootstrap:n,setError:r,setOpenPondCommandAccessMode:i,setSessions:a}){return{changeOpenPondCommandAccessMode:(0,Y.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 Hx({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,Y.useMemo)(()=>e.filter(e=>!e.hiddenFromDefaultSidebar),[e]),p=(0,Y.useMemo)(()=>r.filter(e=>!e.archived&&Ux(e)),[r]),m=(0,Y.useMemo)(()=>p.filter(e=>e.pinned),[p]),h=(0,Y.useMemo)(()=>p.filter(e=>!!e.savedForLater),[p]),g=(0,Y.useMemo)(()=>r.filter(e=>e.archived&&Ux(e)),[r]),_=(0,Y.useMemo)(()=>new Set(e.map(e=>e.id)),[e]),v=(0,Y.useMemo)(()=>new Set(t.map(e=>e.id)),[t]),y=(0,Y.useMemo)(()=>Wp(e),[e]),b=(0,Y.useMemo)(()=>{let e={};for(let t of r){let n=Kp(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,Y.useMemo)(()=>p.filter(e=>!e.pinned&&!e.savedForLater&&!e.appId&&!b[e.id]),[p,b]),S=(0,Y.useMemo)(()=>g.filter(e=>!e.appId&&!Kp(e,_,y,v)),[g,v,_,y]),C=(0,Y.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,Y.useMemo)(()=>{let e={};for(let t of r){if(!Wx(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,Y.useMemo)(()=>f.map((e,n)=>{let r=Ie(`local`,e.id),i=Zg(e,t);return{id:r,kind:`local`,project:e,pinned:!!a[r]?.pinned,order:a[r]?.order??n,cloudLinkTrusted:!i,cloudLinkWarning:i}}).sort(Gx),[a,t,f]),E=(0,Y.useMemo)(()=>t.filter(e=>!!n&&e.teamId===n).map((e,t)=>{let n=Ie(`cloud`,e.id);return{id:n,kind:`cloud`,project:e,pinned:!!a[n]?.pinned,order:a[n]?.order??t,cloudLinkTrusted:!0,cloudLinkWarning:null}}).sort(Gx),[a,t,n]),D=(0,Y.useMemo)(()=>new Set(f.map(e=>Xg(e,t)?.id??null).filter(e=>!!e)),[t,f]),O=(0,Y.useMemo)(()=>E.filter(e=>!D.has(e.project.id)),[E,D]),k=(0,Y.useMemo)(()=>[...T,...O].sort(Gx),[O,T]),A=(0,Y.useMemo)(()=>k.filter(e=>e.pinned),[k]),j=(0,Y.useMemo)(()=>d.filter(e=>e.status===`pinned`),[d]),M=(0,Y.useMemo)(()=>d.filter(e=>e.status===`saved_for_later`),[d]),N=k,ee=(0,Y.useMemo)(()=>Kx(N,l,s),[N,l,s]),P=(0,Y.useMemo)(()=>[...A.map(e=>({type:`project`,key:Le({type:`project`,id:e.id}),id:e.id,item:e,order:e.order})),...m.map(e=>({type:`session`,key:Le({type:`session`,id:e.id}),id:e.id,session:e,order:e.order})),...j.map((e,t)=>({type:`file`,key:Le({type:`file`,id:e.id}),id:e.id,file:e,order:e.order??A.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)}),[j,A,m]),F=(0,Y.useMemo)(()=>c?[...x,...S]:x,[c,S,x]),te=(0,Y.useMemo)(()=>F.slice(0,Math.max(15,u)),[F,u]),I=(0,Y.useMemo)(()=>Mg(i,o),[i,o]);return{activeSessions:p,pinnedSessions:m,savedForLaterSessions:h,pinnedFiles:j,savedForLaterFiles:M,chatSessions:x,archivedSessions:g,pinnedProjects:A,pinnedItems:P,projectRows:N,localProjectRows:T,visibleProjectRows:ee,cloudProjectRows:O,projectSessionRowsByProjectId:C,childSessionRowsByParentId:w,sidebarProjectIdBySessionId:b,chatRows:F,visibleChatRows:te,sessionEvents:I,chatMessages:(0,Y.useMemo)(()=>Ex(I),[I]),contextUsage:Ng(i,o),goalRuntime:Pg(i,o),subagentRuntime:Fg(i,o)}}function Ux(e){return Wx(e)?!1:!e.hiddenFromDefaultSidebar||e.metadata?.benchmarkRuntime===`desktop_local_work`}function Wx(e){return!!(e.parentSessionId&&e.subagentRunId)}function Gx(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 Kx(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 qx(e){return e.name===`turn.completed`||e.name===`turn.failed`||e.name===`turn.interrupted`}function Jx(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&&qx(t)&&!(n&&t.turnId&&t.turnId!==n))return t.name===`turn.completed`?`completed`:`blocked`}return`pending`}function Yx(e,t){if(e.systemKind)return!1;let n=Mg(t,e.id);if(n.length===0)return!1;let r=Jx(n);return r===`pending`||r===`none`&&Zx(n)===`pending`}function Xx(e,t){if(e.systemKind||e.status!==`active`)return!1;let n=Mg(t,e.id);if(n.length===0)return!0;let r=Jx(n);return r===`pending`||r===`none`&&Zx(n)!==`terminal`}function Zx(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 Qx({goalRuntime:e,goalRuntimeBySessionId:t,runtimeIndexes:n,selectedSession:r,selectedSessionId:i,sidebarSessions:a,subagentRuntimeBySessionId:o}){let s=(0,Y.useMemo)(()=>new Map(a.map(e=>[e.id,e])),[a]),c=(0,Y.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,Y.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||Yx(t,n)&&e.add(t.id);return r&&Yx(r,n)&&e.add(r.id),e},[c,n,r,a,s,o]);return{runningSessionIds:(0,Y.useMemo)(()=>{let e=new Set(l);for(let t of a)Xx(t,n)&&e.add(t.id);return r&&Xx(r,n)&&e.add(r.id),e},[l,n,r,a]),selectedSessionRunning:!!(r&&!r.systemKind&&l.has(r.id))}}function $x(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,Y.useState)({});(0,Y.useEffect)(()=>{x({})},[m]);let S=(0,Y.useMemo)(()=>{let e=[],t=new Set,r=n=>{n&&n.id!==p&&Up(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,Y.useCallback)(e=>{x(t=>t[e.session.id]===e.events?t:{...t,[e.session.id]:e.events}),h(t=>lv(t,e.session))},[h]),w=(0,Y.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,Y.useMemo)(()=>S?S.split(`
40
- `).filter(e=>o.has(e)).join(`
41
- `):``,[S,o]);(0,Y.useEffect)(()=>{f&&p&&Up(p)&&t.length!==0&&C({session:f,events:t})},[C,t,f,p]),(0,Y.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=>Lv({connection:e,locallyActive:i.has(t),onPayload:e=>C(Pv(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,Y.useMemo)(()=>new Map(g.map(e=>[e.id,e])),[g]),D=(0,Y.useMemo)(()=>{let e=new Map(d.latestGoalRuntimeBySessionId);for(let t of g){let n=t.status===`active`?Cn(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`?Cn(t.metadata):null,a=qn(r)??kn(r)??(t?.status===`active`?An(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=qn(t)??An(t)??Cn(f.metadata);n?e.set(p,n):e.delete(p)}else(!Up(p)||t.length>0)&&e.delete(p)}return e},[t.length,b,a,u,d.latestGoalRuntimeBySessionId,f?.status,f?.metadata,p,E,g]),O=(0,Y.useMemo)(()=>[...D.values()].some(e=>e.tone===`active`&&!!e.observedAt),[D]),k=jn(O),A=(0,Y.useMemo)(()=>O?new Map([...D].map(([e,t])=>[e,Mn(t,k)??t])):D,[D,k,O]),j=p?A.get(p)??a:a,M=(0,Y.useMemo)(()=>{let e=new Map(d.latestSubagentRuntimeBySessionId);return p&&(_?e.set(p,_):e.delete(p)),e},[d.latestSubagentRuntimeBySessionId,p,_]),{runningSessionIds:N,selectedSessionRunning:ee}=Qx({goalRuntime:j,goalRuntimeBySessionId:A,runtimeIndexes:d,selectedSession:f,selectedSessionId:p,sidebarSessions:g,subagentRuntimeBySessionId:M});return{goalRuntime:j,runningSessionIds:N,selectedSessionRunning:ee,sidebarGoalRuntimeBySessionId:A,sidebarSubagentRuntimeBySessionId:M}}function eS({searchOpen:e,sectionMenuOpen:t,setSectionMenuOpen:n,setSearchOpen:r,setQuery:i}){(0,Y.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 tS({afterSequence:e,appendEvents:t,connection:n,setApprovals:r,setSessions:i,setError:a,onDisconnected:o}){(0,Y.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=nS(e);n.length>0&&i(e=>n.reduce(cv,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=Jl(n,e=>{c||(g(),_(),b(e))},()=>{c||(g(),l=window.setTimeout(()=>{T.isOpen()||(bn(s),o?.())},2e3))},()=>{c||(g(),_(),window.dispatchEvent(new Event(`openpond-runtime-connected`)),_n(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 nS(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=oa.safeParse(e[r]);i.success&&t.set(i.data.id,i.data)}return[...t.values()]}function rS(e,t){return w({queryKey:[`training-navigation`,er(e),t],queryFn:({signal:n})=>J(e,`/v1/training/navigation?profileId=${encodeURIComponent(t)}`,{signal:n}),enabled:!!e,refetchInterval:3e4,refetchIntervalInBackground:!1})}function iS(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function aS(e){return typeof e==`string`&&e.trim()?e.trim():null}function oS(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.name!==`create_improve.updated`)continue;let r=iS(iS(n.data)?.createImproveRun);if(r?.state!==`ready_local`&&r?.state!==`released`||iS(r.adapter)?.kind!==`local`)continue;let i=aS(r.id)??n.id;return[n.sessionId??`global`,n.turnId??`turn`,i].join(`:`)}return null}var sS=244,cS=560,lS=320,uS=2400,dS=440;function fS(e){let t=typeof window>`u`?cS:Math.min(cS,Math.max(sS,window.innerWidth-420));return Math.min(t,Math.max(sS,Math.round(e)))}function pS(e){let t=typeof window>`u`?uS:Math.min(uS,Math.max(lS,window.innerWidth-dS));return Math.min(t,Math.max(lS,Math.round(e)))}function mS(e,t){return!!(e&&e.serverUrl===t.serverUrl&&e.token===t.token&&e.platform===t.platform)}function hS(e,t){let{error:n}=Ym(e);(0,Y.useEffect)(()=>{if(!e||!n)return;let r=window.setInterval(t,5e3);return()=>window.clearInterval(r)},[e,n,t])}var gS=new Map;function _S(e,t){let n=e?.trim();return n?`${t?.trim()||`global`}|${n}`:null}function vS(e,t){let n=_S(e,t);if(!n)return null;let r=gS.get(n);return r?.updatedAt?r.agents:null}function yS(e,t,n){let r=_S(e,n);r&&gS.set(r,{agents:t,promise:null,updatedAt:Date.now()})}function bS(e){let t=e.teamId?.trim();if(!t)return Promise.resolve([]);let n=_S(t,e.accountKey);if(!n)return Promise.resolve([]);let r=gS.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=>(gS.get(n)?.promise===i&&yS(t,r,e.accountKey),r)).catch(e=>{let t=gS.get(n);throw t?.promise===i&&gS.set(n,{agents:t.agents,promise:null,updatedAt:t.updatedAt}),e});return gS.set(n,{agents:r?.agents??[],promise:i,updatedAt:r?.updatedAt??0}),i}var xS=[`pinned`,`projects`,`cloudProjects`,`chats`,`savedForLater`];function SS(e,t,n,r=Date.now()){for(let i of OS(t,n))kS(t[i],n[i])||(e[i]=r)}function CS(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=jS(e,a),c=e[a];s&&!kS(c,t[a])&&(i[a]=c)}return i}function wS(e,t,n,r=Date.now()){for(let i of xS)t[i]!==n[i]&&(e[i]=r)}function TS(e,t,n,r=Date.now()){let i={...t};for(let a of xS){let o=n[a];o!==void 0&&(r-o>6e4||e[a]===t[a]?delete n[a]:i[a]=e[a])}return AS(e,i)?e:i}function ES(e,t,n=Date.now()){return e===t?null:{value:t,changedAt:n}}function DS(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 OS(e,t){return new Set([...Object.keys(e),...Object.keys(t)])}function kS(e,t){return e?.pinned===t?.pinned&&e?.archived===t?.archived&&e?.order===t?.order}function AS(e,t){return xS.every(n=>e[n]===t[n])}function jS(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var MS=`\0openpond-unscoped-runtime-events`,NS=[],PS=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=NS;summaryEventsSnapshot=NS;clock=0;eventCount=0;constructor(e={}){if(this.perSessionLimit=BS(e.perSessionLimit??5e3,`perSessionLimit`),this.totalLimit=BS(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 RS();let t=new Map,n=0;for(let r of e){if(this.eventKeyById.has(r.id)){n+=1;continue}let e=r.sessionId||MS,i=t.get(e);i?i.push(r):t.set(e,[r]),this.eventKeyById.set(r.id,e)}if(t.size===0)return{...RS(),duplicateEventCount:n};let r=new Set,i=0,a=0,o=!1;for(let[e,n]of t){n.some(VS)&&(o=!0);let t=this.entries.get(e),s=t?.snapshot.events??NS,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(VS)&&(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:$h(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),LS({acceptedEventCount:i,duplicateEventCount:n,evictedEventCount:a,changedKeys:r})}mergeBootstrap(e){let t=IS(e),n=new Set([...this.entries.keys(),...t.keys()]),r=[];for(let e of n){let n=t.get(e)??NS,i=this.entries.get(e)?.snapshot.events??NS;r.push(...Qh(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=NS,this.summaryEventsSnapshot=NS;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!==MS)]),unscopedEventsChanged:r.unscopedEventsChanged||o.has(MS)}}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=NS,this.summaryEventsSnapshot=NS,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??FS:FS;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(zS),this.allEventsSnapshot=e,e};getSummaryEvents=()=>(this.summaryEventsSnapshot||=this.getAllEvents(),this.summaryEventsSnapshot);getStats(){let e=0;for(let[t,n]of this.entries)t!==MS&&n.retained&&(e+=1);return{eventCount:this.eventCount,retainedSessionCount:e,sessionCount:this.entries.size-+!!this.entries.has(MS),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:$h(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()}}},FS=Object.freeze({events:NS,latestSequence:null,revision:0});function IS(e){let t=new Map;for(let n of e){let e=n.sessionId||MS,r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function LS(e){return{acceptedEventCount:e.acceptedEventCount,duplicateEventCount:e.duplicateEventCount,evictedEventCount:e.evictedEventCount,changedSessionIds:new Set([...e.changedKeys].filter(e=>e!==MS)),unscopedEventsChanged:e.changedKeys.has(MS)}}function RS(){return{acceptedEventCount:0,duplicateEventCount:0,evictedEventCount:0,changedSessionIds:new Set,unscopedEventsChanged:!1}}function zS(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 BS(e,t){if(!Number.isInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function VS(e){return e.name!==`assistant.delta`&&e.name!==`assistant.reasoning.delta`&&e.name!==`command.output`}var HS=256,US=15e3,WS=5e3,GS=3e4,KS=new class{options;entries=new Map;connection=null;accountScope=null;generation=0;constructor(e={}){this.options=e}activateConnection(e){JS(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,YS(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??WS),lastAccessedAt:t}),this.prune(),null});return this.entries.set(e,{state:`loading`,promise:o,expiresAt:r+(this.options.loadingTtlMs??GS),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??US));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??HS;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??US:0;return e.expiresAt<=t+n}now(){return(this.options.now??Date.now)()}};function qS(e,t,...n){return[t,e.serverUrl,...n].join(`\0`)}function JS(e,t){return e?.serverUrl===t?.serverUrl&&e?.token===t?.token&&e?.platform===t?.platform}function YS(e,t,n){e.delete(t),e.set(t,n)}async function XS(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 ZS(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(0),s=(0,Y.useRef)(null),c=(0,Y.useCallback)(()=>{if(s.current)return s.current.promise;let t=new AbortController;i(!0);let r=XS(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,Y.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,Y.useCallback)(()=>o(e=>e+1),[]),recover:(0,Y.useCallback)(()=>{c().catch(()=>void 0)},[c])}}function QS(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 $S({connection:e,events:t,refreshRef:n,setBootstrap:r,setError:i}){(0,Y.useEffect)(()=>{if(!e)return;let t=QS({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,Y.useEffect)(()=>{a&&n.current?.refresh()},[e,n,a])}var eC=6e4;function tC(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,Y.useState)(null),[m,h]=(0,Y.useState)(null),[g]=(0,Y.useState)(()=>new PS),_=(0,Y.useSyncExternalStore)(g.subscribeSummary,g.getSummaryEvents,g.getSummaryEvents),v=(0,Y.useCallback)(e=>{let t=g.getAllEvents(),n=typeof e==`function`?e(t):e;n!==t&&g.replace(n)},[g]),y=(0,Y.useCallback)(e=>{g.appendLive(e)},[g]),[b,x]=(0,Y.useState)(null),[S,C]=(0,Y.useState)([]),[w,T]=(0,Y.useState)([]),[E,D]=(0,Y.useState)([]),[O,k]=(0,Y.useState)({}),[A,j]=(0,Y.useState)(`connecting`),M=u_(m?.account),N=(0,Y.useRef)({}),ee=(0,Y.useRef)({}),P=(0,Y.useRef)({}),F=(0,Y.useRef)([]),te=(0,Y.useRef)([]),I=(0,Y.useRef)(null),L=(0,Y.useRef)(null),R=(0,Y.useRef)(!1),z=(0,Y.useRef)(null),B=(0,Y.useRef)(null),ne=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{KS.activateConnection(f),KS.activateAccountScope(M)},[f,M]);let V=(0,Y.useCallback)(e=>{R.current||j(e)},[]),H=(0,Y.useCallback)(e=>{k(t=>{let n=typeof e==`function`?e(t):e;return SS(N.current,t,n),n})},[]),re=(0,Y.useCallback)(e=>{C(t=>{let n=typeof e==`function`?e(t):e;return pv(ee.current,t,n),F.current=n,n})},[]),U=(0,Y.useCallback)(e=>{T(t=>{let n=typeof e==`function`?e(t):e;return pv(P.current,t,n),te.current=n,n})},[]),ie=(0,Y.useCallback)(()=>{R.current||(R.current=!0,j(`ready`))},[]),ae=(0,Y.useCallback)(e=>{ne.current?.invalidate();let t=I.current,n=!t||t===e.server.id;I.current=e.server.id,x(t=>t?.serverId===e.server.id?t:{afterSequence:e.eventWindow?.latestSequence??$h(e.events)??0,serverId:e.server.id}),h(e),n?g.mergeBootstrap(e.events):g.replace(e.events),C(t=>{let r=n?dv(t,e.sessions,ee.current):uv(t,e.sessions,ee.current);return F.current=r,r}),T(t=>{let r=n?dv(t,e.codexHistorySessions??[],P.current):uv(t,e.codexHistorySessions??[],P.current);return te.current=r,r}),D(e.approvals),k(t=>CS(t,e.sidebarAppPreferences,N.current)),l(t=>t&&e.apps.some(e=>e.id===t)?t:null),u(t=>{if(!t)return null;let n=Be(t);return n?.kind===`local`&&e.localProjects.some(e=>e.id===n.id)?Ie(`local`,n.id):n?.kind===`cloud`&&(e.cloudProjects??[]).some(e=>e.id===n.id)?Ie(`cloud`,n.id):e.localProjects.some(e=>e.id===t)?Ie(`local`,t):(e.cloudProjects??[]).some(e=>e.id===t)?Ie(`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=F.current.find(e=>e.id===t)??te.current.find(e=>e.id===t)??null;return i&&!i.archived&&fv(i,r)?t:null})},[g,l,u,d]),W=(0,Y.useCallback)(e=>{ne.current?.invalidate(),h(t=>t&&{...t,preferences:e.preferences})},[]);$S({connection:f,events:_,refreshRef:ne,setBootstrap:h,setError:c});let oe=(0,Y.useSyncExternalStore)(ke,()=>Ae.getItem(En),()=>null);(0,Y.useEffect)(()=>{if(t)return;let e=Pe(m?.preferences),i=On();r(i?.provider??e.defaultChatProvider),n(i?.model??e.defaultChatModel)},[t,m?.preferences.defaultChatProvider,m?.preferences.defaultChatModel,oe,n,r]),(0,Y.useEffect)(()=>{i(Pe(m?.preferences).codexPermissionMode)},[m?.preferences.codexPermissionMode,i]),(0,Y.useEffect)(()=>{a(Pe(m?.preferences).codexReasoningEffort)},[m?.preferences.codexReasoningEffort,a]),(0,Y.useEffect)(()=>{o(Pe(m?.preferences).openPondCommandAccessMode)},[m?.preferences.openPondCommandAccessMode,o]),(0,Y.useEffect)(()=>{if(!f||!m||m.account.state!==`signed_in`){L.current=null;return}let e=u_(m.account);if(!e){L.current=null;return}let t=m.preferences.defaultTeamId?.trim()??``,n=rC(e,t,m.accountMeta.asOf??`initial`);if(L.current===n)return;L.current=n;let r=!1,i=t=>bS({teamId:t,accountKey:e,fetchAgents:async e=>(await Z.listSandboxAgents(f,{teamId:e})).agents}).catch(()=>{!r&&L.current===n&&(L.current=null)});return m_({accountKey:e,force:!0,fetchOrganizations:()=>nC(f)}).then(async e=>{if(r||e.length===0)return;if(t&&e.some(e=>e.teamId===t)){await i(t);return}let n=kr(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||(L.current=null,c(e instanceof Error?e.message:String(e)))}),()=>{r=!0}},[m?.account,m?.accountMeta.asOf,m?.preferences.defaultTeamId,f,c]),(0,Y.useEffect)(()=>{if(!f||!M)return;let e=!1,t=()=>{e||(e=!0,m_({accountKey:M,force:!0,fetchOrganizations:()=>nC(f)}).catch(()=>void 0).finally(()=>{e=!1}))},n=()=>{document.visibilityState===`visible`&&t()},r=window.setInterval(t,eC);return window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,n),()=>{window.clearInterval(r),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,n)}},[f,M]),je(()=>{let e=Ne();c(e||(e=>e?.startsWith(`Preference changes have not been saved.`)?null:e))}),(0,Y.useEffect)(()=>{f&&M!==z.current&&(z.current=M,Me(f,{force:!0}).catch(e=>c(String(e))))},[f,M,c]);let se=ZS((0,Y.useCallback)(async e=>{V(`connecting`),x(null);let t=await Vu();e.throwIfAborted(),p(e=>mS(e,t)?e:t),V(`account`);let[n]=await Promise.all([Z.bootstrap(t,e),Me(t,{signal:e})]);e.throwIfAborted(),z.current=u_(n.account),ae(n),ie(),Sn(t),c(e=>e&&(fr(e)||e===`Event stream disconnected`)?null:e)},[ae,ie,V,c]));hS(f,se.recover),tS({afterSequence:b?.afterSequence??null,appendEvents:y,connection:f,setApprovals:D,setSessions:re,setError:c,onDisconnected:se.recover}),(0,Y.useEffect)(()=>{if(!f||!m){B.current=null;return}let e=oS(_);e&&B.current!==e&&(B.current=e,Z.profileCurrent(f).then(e=>{h(t=>t&&{...t,profile:e})}).catch(e=>{B.current=null,c(e instanceof Error?e.message:String(e))}))},[m,f,_,c]);let ce=(0,Y.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:O,applyBootstrapPayload:ae,applyPreferencesPayload:W,approvals:E,bootstrap:m,codexHistorySessions:w,connection:f,events:_,runtimeEventStore:g,notificationAfterSequence:b?.afterSequence??null,refreshOpenPondAccount:ce,sessions:S,startup:{...s(A),error:se.error,retrying:se.retrying,retry:se.retry},setAppPreferences:H,setBootstrap:h,setCodexHistorySessions:U,setEvents:v,setSessions:re}}async function nC(e){return(await Z.organizations(e)).organizations.map(jr).filter(e=>!!e).filter(e=>e.status===`active`)}function rC(e,t,n){return`${e}::${t||`none`}::${n}`}function iC({appDispatch:e,error:t,setErrorState:n}){let r=(0,Y.useRef)(null),i=(0,Y.useRef)(null),a=(0,Y.useRef)(null),o=(0,Y.useRef)(0),s=(0,Y.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,Y.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(aC(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,Y.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 aC(e){return pr(e)}function oC(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 sC={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:we,draftModel:xe,draftExperience:`work`,codexPermissionMode:ye,codexReasoningEffort:Ee,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 cC(e){return e.selectedSessionId?`session:${e.selectedSessionId}`:e.selectedProjectId?`project:${e.selectedProjectId}`:e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`}function lC(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 uC(e){return lC(e.promptDrafts,cC(e),e.prompt)}function dC(e,t,n={}){let r=cC({...e,...t}),i=uC(e),a=n.clearSelectedDraft?lC(i,r,``):n.preserveCurrentPrompt?lC(i,r,e.prompt):i;return{...e,...t,promptDrafts:a,prompt:n.clearSelectedDraft?``:n.preserveCurrentPrompt?e.prompt:a[r]??``}}function fC(e){return e===`draftExperience`||e===`selectedAppId`||e===`selectedProjectId`||e===`selectedSessionId`}function pC(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:lC(e.promptDrafts,cC(e),t)}}return fC(t.key)?dC(e,{[t.key]:r}):{...e,[t.key]:r}}case`patch`:return{...e,...t.patch};case`selectApp`:return dC(e,{selectedAppId:t.appId,selectedProjectId:null,selectedSessionId:null,view:`chat`});case`selectProject`:return dC(e,{selectedAppId:null,selectedProjectId:t.projectId,selectedSessionId:null,view:`chat`},{preserveCurrentPrompt:!0});case`selectSession`:{let n=t.projectId??null;return dC(e,{selectedSessionId:t.sessionId,selectedAppId:n?null:t.appId??null,selectedProjectId:n,view:`chat`})}case`beginNewChat`:return dC(e,{selectedSessionId:null,selectedAppId:t.appId,selectedProjectId: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:oC(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 mC(e,t){return n=>e({type:`field`,key:t,value:n})}function hC(e){return{setQuery:mC(e,`query`),setSearchOpen:mC(e,`searchOpen`),setArchivedChatsOpen:mC(e,`archivedChatsOpen`),setSectionMenuOpen:mC(e,`sectionMenuOpen`),setProjectsExpanded:mC(e,`projectsExpanded`),setCloudProjectsExpanded:mC(e,`cloudProjectsExpanded`),setChatRowsVisibleCount:mC(e,`chatRowsVisibleCount`),setSidebarOpen:mC(e,`sidebarOpen`),setView:mC(e,`view`),setSelectedAppId:mC(e,`selectedAppId`),setSelectedProjectId:mC(e,`selectedProjectId`),setSelectedSessionId:mC(e,`selectedSessionId`),setPrompt:mC(e,`prompt`),setDraftProvider:mC(e,`draftProvider`),setDraftModel:mC(e,`draftModel`),setDraftExperience:mC(e,`draftExperience`),setCodexPermissionMode:mC(e,`codexPermissionMode`),setCodexReasoningEffort:mC(e,`codexReasoningEffort`),setOpenPondCommandAccessMode:mC(e,`openPondCommandAccessMode`),setBusy:mC(e,`busy`),setDiffPanelOpen:mC(e,`diffPanelOpen`),setDiffPanelExpanded:mC(e,`diffPanelExpanded`),setRightPanelMode:mC(e,`rightPanelMode`),setRightChatPanels:mC(e,`rightChatPanels`),setTerminalOpen:mC(e,`terminalOpen`),setSyncingWorkspaceAppId:mC(e,`syncingWorkspaceAppId`),setSettingsSection:mC(e,`settingsSection`),setNewProjectDialogOpen:mC(e,`newProjectDialogOpen`),setNewProjectMode:mC(e,`newProjectMode`),setNewProjectName:mC(e,`newProjectName`),setNewProjectPath:mC(e,`newProjectPath`),setNewProjectBusy:mC(e,`newProjectBusy`),setCommitDialogOpen:mC(e,`commitDialogOpen`),setCommitMessage:mC(e,`commitMessage`),setCommitIncludeUnstaged:mC(e,`commitIncludeUnstaged`),setCommitNextStep:mC(e,`commitNextStep`),setCommitDraft:mC(e,`commitDraft`),setBranchDialogOpen:mC(e,`branchDialogOpen`),setBranchDialogName:mC(e,`branchDialogName`),setError:mC(e,`error`)}}function gC(e){return e.selectedSessionId?`session:${e.selectedSessionId}`:e.selectedProjectId?`project:${e.selectedProjectId}`:e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`}function _C(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=Rl.safeParse(t.resourceContexts);return n.success&&r.set(e,n.data),[e,t.prompt]})),a=i.get(gC(n))??``,o=new Set,s=e=>{if(!Object.is(a,e)){a=e;for(let e of o)e()}},c=()=>{let e=gC(n);a?i.set(e,a):i.delete(e)},l=(e,t={})=>{let o=a;c(),n={...n,...e};let l=gC(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:()=>gC(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(gC(n),e),setForScope(e,t){let c=gC(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:null})}};return u}function vC(e){return(0,Y.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}var yC=`openpond.desktop-update-drafts.v1`,bC=524288;function xC(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>bC)throw Error(`Unsent drafts exceed local recovery capacity.`);t.setItem(yC,n)}function SC(e){try{let t=(e??window.localStorage).getItem(yC);if(!t||t.length>bC)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=Rl.safeParse(n.resourceContexts);typeof n.prompt==`string`&&i.success&&(r[e]={prompt:n.prompt,resourceContexts:i.data})}}return r}catch{return{}}}function CC(){let[e,t]=(0,Y.useReducer)(pC,sC),[n]=(0,Y.useState)(()=>_C(void 0,SC()));(0,Y.useEffect)(()=>{let e=()=>xC(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,Y.useCallback)(e=>{n.applyAppAction(e),t(e)},[n]);return{composerDraftStore:n,dispatch:r,setters:(0,Y.useMemo)(()=>({...hC(r),setPrompt:n.set}),[n,r]),state:e}}function wC(e){return!!(e&&e.includes(`Git is required for OpenPond app workspaces`)&&e.includes(`Command Line Tools`))}function TC(e){let{connection:t,events:n,showToast:r}=e,i=(0,Y.useRef)(new Set),a=(0,Y.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,Y.useCallback)((e=`OpenPond needs Git to create and sync local projects.`)=>{r(e,`error`,{actionLabel:`Install Tools`,onAction:()=>void a()})},[r,a]);(0,Y.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,Y.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`&&wC(t)&&(i.current.add(e.id),o(`OpenPond needs Git before it can update this project.`))}},[n,o])}function EC(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 DC({connection:e,preferences:t,sidebarOpen:n,diffPanelExpanded:r,setBootstrap:i,setError:a}){let[o,s]=(0,Y.useState)(()=>Pe().sidebarSectionsCollapsed),c=(0,Y.useRef)(o),l=(0,Y.useRef)({}),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=(0,Y.useRef)(null),[p,m]=(0,Y.useState)(332),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(560),[y,b]=(0,Y.useState)(!1),{projects:x,cloudProjects:S,chats:C,savedForLater:w}=o;(0,Y.useEffect)(()=>{if(h)return;let e=DS(fS(Pe(t).sidebarWidth),u.current);u.current=e.localChange,m(e.value)},[t,h]),(0,Y.useEffect)(()=>{if(y)return;let e=DS(pS(Pe(t).diffPanelWidth),d.current);d.current=e.localChange,v(e.value)},[y,t]),(0,Y.useEffect)(()=>{let e=Pe(t).sidebarSectionsCollapsed;s(t=>{let n=TS(t,e,l.current);return c.current=n,n})},[t]);let T=(0,Y.useCallback)(e=>{i(t=>t&&{...t,preferences:e.preferences})},[i]);(0,Y.useEffect)(()=>{if(!e)return;let t=EC({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,Y.useCallback)(e=>f.current?.write({sidebarWidth:e}),[]),D=(0,Y.useCallback)(e=>f.current?.write({diffPanelWidth:e}),[]),O=(0,Y.useCallback)(e=>f.current?.write({sidebarSectionsCollapsed:e}),[]),k=(0,Y.useCallback)(e=>{let t=c.current;wS(l.current,t,e),c.current=e,s(e),O(e)},[O]);return{projectsCollapsed:x,cloudProjectsCollapsed:S,chatsCollapsed:C,savedForLaterCollapsed:w,sidebarWidth:p,sidebarResizing:h,diffPanelWidth:_,diffPanelResizing:y,toggleProjectsCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,projects:!e.projects})},[k]),toggleCloudProjectsCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,cloudProjects:!e.cloudProjects})},[k]),toggleChatsCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,chats:!e.chats})},[k]),toggleSavedForLaterCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,savedForLater:!e.savedForLater})},[k]),startSidebarResize:(0,Y.useCallback)(e=>{if(!n)return;e.preventDefault();let t=e.clientX,r=p,i=r;g(!0);function a(e){i=fS(r+e.clientX-t),m(i)}function o(){window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o);let e=ES(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,Y.useCallback)(e=>{if(r)return;e.preventDefault();let t=e.clientX,n=_,i=n;b(!0);function a(e){i=pS(n-(e.clientX-t)),v(i)}function o(){window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o);let e=ES(n,i);e&&(d.current=e),b(!1),D(i)}window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o,{once:!0})},[r,_,D])}}function OC(e){let[t,n]=(0,Y.useState)({id:0,kind:null}),[r,i]=(0,Y.useState)(null),a=(0,Y.useCallback)((e=null)=>{n(t=>({id:t.id+1,kind:e}))},[]),o=(0,Y.useCallback)(e=>{i(e)},[]);return{backAction:null,breadcrumbs:(0,Y.useMemo)(()=>{if(e)return kC(r,a)},[e,r,a]),closeDetailKind:t.kind,closeDetailRequestId:t.id,onDetailOpenChange:o}}function kC(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 AC(e,t,n){return{inspectModelBatch:async n=>{if(!e)throw Error(`Connect to OpenPond to inspect this batch.`);return Vl.parse(await Z.trainingRequest(e,`/models/batch-review/inspect`,{profileId:t,modelId:n},`POST`))},beginModelBatchReview:async e=>{let t=await n(e);return t?Ul.parse(t):null}}}function jC(e,t,n,r){async function i(n,r){if(!e)throw Error(`Connect to OpenPond to load tasks.`);let i=cs.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={})=>ds.parse(await i(`/tasks`,e)),taskInventoryDetail:async e=>{let t=await i(`/tasks/detail`,e);return{item:us.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 MC(e,t){return cn({id:e.id,profileId:e.profileId,name:e.name,objective:e.objective,defaultBaseModel:e.defaultBaseModel,defaultDestinationId:e.defaultDestinationId,trainingSetup:e.trainingSetup},t)}async function NC(e,t,n){if(!e)throw Error(`Connect to the execution owner to check this configuration.`);let r=await MC(t,n);return pn.parse(await Z.trainingRequest(e,`/models/check`,r,`POST`))}function PC(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 pn.parse(await Z.trainingRequest(e,`/model-starters/check`,t))},createModelFromStarter:e=>t(`create-model-from-starter`,`/model-starters/create`,e)}}var FC=1e4,IC=3e4;function LC(e){let{connection:t,profileId:n,enabled:r=!0}=e,i=d(),a=er(t),o=(0,Y.useMemo)(()=>[`training`,a,n],[a,n]),s=(0,Y.useCallback)(async({signal:e})=>Ml.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,[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(null),g=(0,Y.useRef)(null);g.current=l?.activityRevision??null;let _=(0,Y.useCallback)(async()=>{if(!t)return null;try{let e=await i.fetchQuery({queryKey:o,queryFn:s,staleTime:0});return h(null),e}catch(e){return h(RC(e)),null}},[t,i,o,s]),v=(0,Y.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,Y.useCallback)(async(e,n,r,i=`POST`,a={})=>{if(!t)return null;a.silent||p(e);try{let e=await Z.trainingRequest(t,n,r,i);return await v(),a.silent||h(null),e}catch(e){return a.silent||h(RC(e)),null}finally{a.silent||p(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,Y.useEffect)(()=>{if(!t||!r)return;let e=!0,i=null,a=new AbortController,o=b?FC:IC,s=async()=>{let r=o;if(document.visibilityState===`hidden`)e&&(i=window.setTimeout(()=>void s(),IC));else{try{let i=await Z.trainingActivity(t,n,a.signal);if(!e)return;r=i.active?FC:IC,(g.current===null||g.current!==i.revision)&&await _()}catch(t){e&&h(RC(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,Y.useMemo)(()=>({...PC(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)=>NC(t,e,n),...AC(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 MC(e,t),`PUT`),listHostedModelProjects:async(e={})=>{if(!t)return null;e.silent||p(`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||h(null),r}catch(t){return e.silent||h(RC(t)),null}finally{e.silent||p(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}),...jC(t,n,y,e=>h(RC(e))),tasksetGraderDetails:async e=>{if(!t)return null;try{return await Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/graders`,{},`GET`)}catch(e){return h(RC(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;p(`scan-base-models`);try{let e=await _();return h(null),e}catch(e){return h(RC(e)),null}finally{p(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 yn(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;p(`download-artifact`);try{let n=await yn(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 h(RC(e)),!1}finally{p(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;p(`download-bundle`);try{let r=await yn(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 h(RC(e)),!1}finally{p(null)}}return{connection:t,payload:l,loading:u,busyAction:f,error:m??c.error?.message??null,refresh:_,actions:x}}function RC(e){return e instanceof Error?e.message:String(e)}function zC({modelId:e,taskset:t}){let n=t.metadata.toolContractHash===Ec?`cross_system`:t.environment.kind===`stateful_harness`&&t.environment.actionBindings?.length?`harness`:null,r=n?qC(t,n):[];return{model:{providerId:`openpond`,modelId:e},tasksetId:t.id,tasksetName:t.name,taskRuntime:n,sourceProjectId:JC(t),tasks:r,selectedTaskIndex:0,sessionId:null}}function BC(e){return{model:{providerId:`openpond`,modelId:e.modelId},tasksetId:e.tasksetId,tasksetName:e.modelName,taskRuntime:null,sourceProjectId:null,tasks:[],selectedTaskIndex:0,sessionId:null}}function VC(e){return e?.tasks.length?e.tasks[YC(e,e.selectedTaskIndex)]??null:null}function HC(e,t){return{...e,selectedTaskIndex:YC(e,t)}}function UC(e){return HC(e,e.selectedTaskIndex+1)}function WC(e,t,n){if(!e||GC(e,n))return null;let r=VC(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 GC(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 KC({model:e,connection:t,loadBootstrap:n,applyBootstrap:r}){e.providerId===`openpond`&&t&&r(await n(t))}function qC(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 JC(e){let t=new Set(e.sourceRefs.filter(on).flatMap(e=>{let t=e.workspaceId?.trim();return t?[t]:[]}));return t.size===1?t.values().next().value??null:null}function YC(e,t){return e.tasks.length?Math.max(0,Math.min(Math.trunc(t),e.tasks.length-1)):0}function XC({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,Y.useState)(null),g=(0,Y.useCallback)(e=>{e.sourceProjectId?l(e.sourceProjectId):r(null)},[r,l]),_=(0,Y.useCallback)(e=>{if(!m)return;let t={...HC(m,e),sessionId:m.sessionId?null:m.sessionId},n=VC(t);h(t),n&&(m.sessionId&&g(t),i.set(n.prompt),o())},[g,i,m,o]),v=(0,Y.useCallback)(()=>{let e=VC(m);e&&i.getSnapshot().trim()===e.prompt.trim()&&i.set(``),h(null)},[i,m]),y=(0,Y.useCallback)(e=>{let t=e.model;KC({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=VC(n);r&&i.set(r.prompt)}).catch(f)},[n,g,i,a,u,d,f]),b=(0,Y.useCallback)(n=>{let r=!!(m&&m.model.providerId===t&&m.model.modelId===e);return{active:r,error:r?GC(m,s):null,metadata:r?WC(m,n,s):null}},[e,t,m,s]),x=(0,Y.useCallback)(e=>{h(t=>t&&{...t,sessionId:e})},[]),S=(0,Y.useCallback)(()=>{if(!m)return;let e={...UC(m),sessionId:null},t=VC(e);h(e),t&&(g(e),i.set(t.prompt),o())},[g,i,m,o]);return(0,Y.useEffect)(()=>{let e=VC(m);e&&p===`chat`&&!c&&i.set(t=>t.trim()?t:e.prompt)},[i,m,s,c,p]),(0,Y.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 ZC(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 QC=[],$C=500;function ew(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,Y.useState)({}),[p,m]=(0,Y.useState)({}),h=(0,Y.useRef)(new Set);(0,Y.useEffect)(()=>{f({}),m({}),h.current.clear()},[s]);let g=(0,Y.useCallback)(async()=>{if(!r||!o||h.current.has(o))return!1;let e=p[o];if(e?.hasMore===!1)return!1;if(Up(o)){let t=Math.max(e?.totalMatchingEvents??0,n.length,800),i=Math.min(bv,Math.max(yv,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 Tv(r,o,{force:!0,limit:i,tail:!1});return c(e.events),l(t=>lv(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=Yh(d[o]??QC,a.getSessionEvents(o)),i=e?.cursorSequence??tw(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:$C}),t=e.events.map(e=>e.event);return f(e=>({...e,[o]:Yh(t,e[o]??QC)})),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]??QC:QC;return(0,Y.useEffect)(()=>{if(!r||!o||Up(o))return;let e=o,t=ZC({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,Y.useMemo)(()=>Up(o)?Cg(n,[]):!o||_.length===0?i:Cg(Yh(_,a.getSessionEvents(o)),t),[t,n,i,_,o])}}function tw(e){let t=null;for(let n of e)n.sequence!==void 0&&(t===null||n.sequence<t)&&(t=n.sequence);return t}function nw(e,t){let n=(0,Y.useRef)(null);return(0,Y.useMemo)(()=>{let r=wg(e,t,n.current);return n.current={events:e,indexes:r},r},[t,e])}function rw(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function iw(e){return Array.isArray(e)?e.filter(e=>!!rw(e)):[]}function aw(e){return typeof e==`string`&&e.trim()?e.trim():null}function ow(e){return aw(e)??rw(e)}function sw(e){if(!e)return[];let t=rw(e.sandboxActionRegistry),n=rw(e.sandboxManifest),r=new Map;for(let e of[...iw(n?.actionCatalog),...iw(t?.actions),...iw(n?.actions)]){let t=aw(e.id)??aw(e.name);if(!t)continue;let n=r.get(t);r.set(t,{id:t,name:aw(e.name)??n?.name??t,label:aw(e.label)??n?.label??cw(t),description:aw(e.description)??n?.description??null,visibility:aw(e.visibility)??n?.visibility??`default`,inputSchema:ow(e.inputSchema)??n?.inputSchema??null,outputSchema:ow(e.outputSchema)??n?.outputSchema??null,implementation:rw(e.implementation)??n?.implementation??null,mcp:rw(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 cw(e){let t=e.replace(/[._-]+/g,` `).trim();return t?t.replace(/\b\w/g,e=>e.toUpperCase()):e}function lw(e){if(e.selectedCloudProject)return{id:e.selectedCloudProject.id,teamId:e.selectedCloudProject.teamId,name:e.selectedCloudProject.name,selectionKey:Ie(`cloud`,e.selectedCloudProject.id),localProjectId:null};let t=e.selectedProject?.linkedSandboxProject??null;if(!t?.projectId||!t.teamId)return null;let n=e.cloudProjects?Xg(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:Ie(`cloud`,n?.id??t.projectId),localProjectId:e.selectedProject?.id??null}}var uw=new Map;function dw(e,t){let n=e?.trim();return n?`${t?.trim()||`global`}|${n}`:null}function fw(e,t){let n=dw(e,t);if(!n)return null;let r=uw.get(n);return r?.updatedAt?r.projects:null}function pw(e,t,n){let r=dw(e,n);r&&uw.set(r,{projects:t,promise:null,updatedAt:Date.now()})}function mw(e){let t=e.teamId?.trim();if(!t)return Promise.resolve([]);let n=dw(t,e.accountKey);if(!n)return Promise.resolve([]);let r=uw.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=>(pw(t,n,e.accountKey),n)).catch(e=>{let t=uw.get(n);throw t?.promise===i&&uw.set(n,{projects:t.projects,promise:null,updatedAt:t.updatedAt}),e});return uw.set(n,{projects:r?.projects??[],promise:i,updatedAt:r?.updatedAt??0}),i}function hw(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 gw({cloudProjectById:e,cloudProjects:t,connection:n,defaultTeamId:r,accountScopeKey:i,localProjects:a,profile:o,selectedCloudProject:s,selectedProject:c,reportError:l}){let[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)([]),[m,h]=(0,Y.useState)([]),g=(0,Y.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,Y.useMemo)(()=>lw({cloudProjects:t,selectedCloudProject:s,selectedProject:c}),[t,s,c]);(0,Y.useEffect)(()=>{if(!n||g.length===0){h([]);return}let e=!1,t=g.flatMap(e=>vS(e,i)??[]);return h(hw(t)),Promise.all(g.map(e=>bS({teamId:e,accountKey:i,fetchAgents:async e=>(await Z.listSandboxAgents(n,{teamId:e})).agents}))).then(t=>{e||h(hw(t.flat()))}).catch(()=>{e||h(hw(t))}),()=>{e=!0}},[i,n,_]),(0,Y.useEffect)(()=>{if(!n||!v){d(null);return}let e=fw(v.teamId,i);e&&d(e.find(e=>e.id===v.id)??null);let t=!1;return mw({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,Y.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,Y.useMemo)(()=>{let e=new Map;for(let t of sw(u))e.set(t.id,t);for(let t of f)e.set(t.id,t);return[...e.values()]},[f,u]),b=(0,Y.useMemo)(()=>Wn(o),[o]),x=(0,Y.useMemo)(()=>[...m.map(t=>Gn(t,e.get(t.projectId)?.name??null)),...b,...y],[e,b,y,m]);return{openPondActionCatalog:(0,Y.useMemo)(()=>[...b,...y],[b,y]),selectedActionCatalog:x,selectedProjectActionCatalog:y}}function _w({selectedProjectId:e}){let[t,n]=(0,Y.useState)(()=>new Set),r=(0,Y.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),i=(0,Y.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);return(0,Y.useEffect)(()=>{e&&r(e)},[r,e]),{expandedProjectIds:t,expandProject:r,toggleProjectExpanded:i,setExpandedProjectIds:n}}function vw(){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 yw(e,t,n){return`workspace-status:${e.serverUrl}:${t}:${n?`ensure`:`read`}`}function bw(e,t){return`workspace-diff:${e.serverUrl}:${t}`}function xw(e){return e instanceof Error&&e.name===`AbortError`}function Sw({connection:e,activeWorkspaceAppId:t,view:n,shouldLoadWorkspaceDiff:r,sidebarWorkspaceAppIds:i,setError:a}){let[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)({}),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),g=(0,Y.useRef)(new Set),_=(0,Y.useRef)(new Set),v=(0,Y.useRef)(vw()),y=t?c[t]??(o?.appId===t?o:null):null,b=u?.appId===t?u:null,x=n===`chat`||n===`labs`,S=(0,Y.useCallback)(e=>{g.current.add(e.appId),s(e),l(t=>({...t,[e.appId]:e}))},[]),C=(0,Y.useCallback)(async(t,n=!1)=>{if(!e||!t)return s(null),null;p(!0);let r=v.current.request(yw(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 xw(e)||(s(null),a(e instanceof Error?e.message:String(e))),null}finally{r.release(),p(!1)}},[e,S,a]),w=(0,Y.useCallback)(async(n=t,r={})=>{if(!e||!n)return d(null),null;r.silent||h(!0);let i=v.current.request(bw(e,n),t=>Z.workspaceDiff(e,n,{signal:t}));try{let e=await i.promise;return d(e),e}catch(e){return xw(e)||(d(null),a(e instanceof Error?e.message:String(e))),null}finally{i.release(),r.silent||h(!1)}},[t,e,a]);return(0,Y.useEffect)(()=>{if(!e||!t||!x){s(null),d(null),p(!1);return}let n=!1,r=v.current.request(yw(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=>{xw(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,Y.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,Y.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(yw(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,Y.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 Cw(e){let{connection:t,accountScopeKey:n,currentUserId:r,teamId:i}=e;return Kr({queryKey:[`team-members`,er(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 ww=1,Tw=15e3,Ew=15e3,Dw=3e5,Ow=5e3,kw=1e4;function Aw(e,t=(e,t)=>new WebSocket(e,t),n={}){let r=new jw(e,t,n.reconnectDelayMs??Mw);return r.open(),{close:()=>r.close()}}var jw=class{input;webSocketFactory;reconnectDelayMs;socket=null;closed=!1;generation=0;reconnectAttempt=0;reconnectTimer=null;connectionAckTimer=null;subscriptionAckTimer=null;keepAliveTimer=null;keepAliveTimeoutMs=Dw;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===ww)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-${Nw(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.`))},Tw))},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=Fw(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=Iw(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=Pw();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.`))},Ew)}startKeepAliveMonitor(){this.keepAliveTimer&&clearInterval(this.keepAliveTimer),this.keepAliveTimer=setInterval(()=>{Date.now()-this.lastKeepAliveAt<=this.keepAliveTimeoutMs||this.failConnection(Error(`Team chat realtime connection became stale.`))},Ow)}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 Mw(e){let t=Math.min(kw,500*2**Math.min(e,5));return Math.max(100,Math.floor(Math.random()*t))}function Nw(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/,``)}function Pw(){return globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}function Fw(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:Dw}function Iw(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 Lw(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 Aw({realtimeUrl:e.session.realtimeUrl,httpUrl:e.session.httpUrl,authorizationToken:e.session.token,channels:r,onEvent:t=>{let n=oo.safeParse(t);n.success&&e.onEvent(n.data)},onReady:e.onReady,onError:e.onError},t,n)}function Rw(e){return e.refs.find(e=>e.refType===`message_reply`)??null}function zw(e){return{id:e.id,authorType:e.authorType,authorUserId:e.authorUserId,authorAgentId:e.authorAgentId,body:e.body,deleted:!!e.deletedAt}}function Bw(e,t){let n=Rw(e);if(!n)return null;let r=t.get(n.refId);return r?zw(r):Ww(n)}function Vw(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 Hw(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 Uw(e){return e.deleted?`Message deleted`:e.body.replace(/\s+/g,` `).trim()||`Attachment`}function Ww(e){let t=e.preview;return{id:e.refId,authorType:Gw(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 Gw(e){return e===`agent`||e===`system`?e:`user`}function Kw(e,t,n){return n===t.conversationId?{...e,aiThread:t}:e}function qw(e,t){return!e||e.thread.id!==t.thread.id?t:{...t,messages:$w([...e.messages,...t.messages]),hasMoreBefore:e.messages.length>t.messages.length?e.hasMoreBefore:t.hasMoreBefore}}function Jw(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=nT(r,e,`message.created`,!0,e.authorUserId);return{...e,thread:r,messages:$w([...e.messages,...n])}}function Yw(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=nT(t,n,`message.created`,!0,n.authorUserId);return t}).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt))}function Xw(e,t,n){for(let r of e)r.clientRequestId&&!r.id.startsWith(`pending:`)&&(t.delete(r.clientRequestId),n.delete(r.clientRequestId))}function Zw(e,t,n){let r=e.get(t);r&&e.set(t,{...r,metadata:{...r.metadata,deliveryStatus:n}})}function Qw(e,t,n){let r=e.get(t);r&&e.set(t,{...r,metadata:{...r.metadata,uploadProgress:n}})}function $w(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 eT(e){return e.type!==`message.created`&&e.type!==`message.updated`&&e.type!==`message.deleted`?null:to.safeParse(e.payload.message).data??null}function tT(e,t,n){let r=eT(t);if(r){let i=e.selectedThreadId===r.threadId,a=e.detail?.thread.id===r.threadId?{...e.detail,thread:nT(e.detail.thread,r,t.type,i,n),messages:$w([...e.detail.messages,r])}:e.detail,o=e.threads.some(e=>e.id===r.threadId)?e.threads.map(e=>e.id===r.threadId?nT(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 nT(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 rT(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:Vw(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 iT(e,t){let n=e.detail?.thread.id===t.threadId?{...e.detail,thread:nT(e.detail.thread,t,`message.created`,!0,t.authorUserId),messages:$w([...e.detail.messages,t])}:e.detail;return{...e,detail:n,threads:e.threads.map(e=>e.id===t.threadId?nT(e,t,`message.created`,!0,t.authorUserId):e).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt)),error:null}}function aT(e,t,n){return tT(e,{id:0,teamId:t.teamId,threadId:t.threadId,conversationId:null,type:`message.created`,payload:{message:t},createdAt:t.createdAt},n)}function oT(e,t){return sT(e,t,`failed`)}function sT(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 cT(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 lT(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?dT(e.detail.thread,r):e.detail.thread,messages:n}:null;return{...e,detail:i,threads:e.threads.map(e=>e.lastMessageId===t?dT(e,r):e)}}function uT(e){if(e.length>Wa.maxAttachments)return null;let t=[];for(let n of e){if(n.kind!==`image`||!fT(n.mediaType)||!n.contentsBase64||n.sizeBytes<=0||n.sizeBytes>Wa.maxAttachmentBytes)return null;t.push({...n,kind:`image`,mediaType:n.mediaType,contentsBase64:n.contentsBase64})}return t}function dT(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 fT(e){return e===`image/png`||e===`image/jpeg`||e===`image/webp`||e===`image/gif`}var pT={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 mT(e){let t=e instanceof Error?e.message:String(e),n=t.trim().toLowerCase();for(let[e,t]of Object.entries(pT))if(n.includes(e))return t;return n.includes(`event stream ended`)?`Team chat realtime disconnected. Messages will continue to refresh automatically.`:tx(t)}var hT=`openpond.team-chat.notification-mode`;function gT(){try{return typeof window>`u`?null:Ae}catch{return null}}function _T(e=gT()){let t=e?.getItem(hT);return t===`direct_mentions`||t===`none`?t:`all`}function vT(e,t=gT()){try{t?.setItem(hT,e)}catch{}}function yT(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 bT(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 xT={members:[],agents:[],threads:[],selectedThreadId:null,detail:null,aiThread:null,agentConversation:null,loading:!1,busy:!1,error:null};function ST(e,t){return e.map(e=>e.id===t&&e.unreadCount!==0?{...e,unreadCount:0}:e)}function CT(e){return!e||e.thread.unreadCount===0?e:{...e,thread:{...e.thread,unreadCount:0}}}function wT(e){return{teamId:e.teamId,body:e.body.trim(),clientRequestId:e.clientRequestId,selectedAgentId:e.conversation.agent.id,conversationId:e.conversation.conversationId}}function TT(e){return{teamId:e.teamId,body:e.body.trim(),clientRequestId:e.clientRequestId,selectedActionKey:e.selectedActionKey,approvalId:e.approvalId??null}}async function ET(e,t=Z.markTeamChatRead){return e.lastMessageSequence<=0?!1:t(e.connection,e.threadId,e.teamId,e.lastMessageSequence).then(()=>!0,()=>!1)}function DT(e){let t=w(Cw(e)),n=t.isError?xT.members:t.data??xT.members,[r,i]=(0,Y.useState)(xT),a=(0,Y.useRef)(r);a.current={...r,members:n};let[o,s]=(0,Y.useState)(_T);je(()=>s(_T()));let[c,l]=(0,Y.useState)(null),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=(0,Y.useRef)(0),p=(0,Y.useRef)(new Map),m=(0,Y.useRef)(new Map),h=(0,Y.useRef)(0),g=(0,Y.useRef)(null),_=(0,Y.useRef)(0),v=(0,Y.useRef)(new Set),y=(0,Y.useRef)(0),b=(0,Y.useRef)(!1),x=(0,Y.useRef)(new Map),S=(0,Y.useRef)(new Map),[C,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(null),O=(0,Y.useCallback)(e=>{s(e),vT(e)},[]),k=(0,Y.useCallback)(e=>{l(t=>t?.eventId===e?null:t)},[]),A=(0,Y.useCallback)(async()=>{if(!e.connection||!e.teamId)return[];let t=Yw((await Z.teamChatThreads(e.connection,e.teamId)).threads,x.current);return i(e=>({...e,threads:t})),t},[e.connection,e.teamId]),j=(0,Y.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]),M=(0,Y.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);Xw(a.messages,x.current,S.current);let o=Jw(a,x.current);return m.current.get(n)===r&&(i(e=>e.selectedThreadId===n?{...e,threads:ST(e.threads,n),detail:CT(qw(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]),N=(0,Y.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=>Kw(e,a,d.current)),a},[e.connection,e.teamId]),ee=(0,Y.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,Y.useEffect)(()=>{u.current=r.selectedThreadId},[r.selectedThreadId]),(0,Y.useEffect)(()=>{g.current=r.agentConversation?.run.id??null},[r.agentConversation?.run.id]),(0,Y.useEffect)(()=>{let e=r.agentConversation?.run.status;if(!e||![`pending`,`queued`,`running`].includes(e))return;let t=window.setInterval(()=>{ee().catch(e=>{i(t=>({...t,error:OT(e)}))})},2500);return()=>window.clearInterval(t)},[ee,r.agentConversation?.run.status]),(0,Y.useEffect)(()=>{if(!e.connection||!e.teamId||!e.currentUserId){i(xT),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=CT(l);i(e=>({...e,agents:o.agents,threads:ST(s.threads,c),selectedThreadId:c,detail:d,loading:!1,error:null})),ET({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:OT(e)}))}})(),()=>{t=!0}},[e.connection,e.currentUserId,e.refreshToken,e.teamId]);let P=(0,Y.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=eT(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||yT({mode:o,currentUserId:e.currentUserId,message:n,thread:i})&&(y.current=t.id,l(bT({eventId:t.id,message:n,thread:i,members:r.members})))};i?s(i):A().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=>tT(n,t,e.currentUserId)),t.type===`thread.created`&&A().catch(e=>{i(t=>({...t,error:OT(e)}))}),(t.type===`ai_thread.created`||t.type===`ai_turn.updated`)&&(M(t.threadId).catch(e=>{i(t=>({...t,error:OT(e)}))}),t.conversationId===d.current&&N(t.conversationId).catch(e=>{i(t=>({...t,error:OT(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,N,M,A]),F=(0,Y.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)P(e);_.current=n.cursor,t=n.hasMore}}finally{b.current=!1}}},[P,e.connection,e.teamId]);(0,Y.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 F(),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||(F().catch(()=>void 0),n=window.setTimeout(()=>void r(),1e4))}};return r(),()=>{t=!0,n!==null&&window.clearTimeout(n),T(null)}},[F,e.connection,e.teamId,E]);let te=r.threads.map(e=>e.id).sort().join(`,`);(0,Y.useEffect)(()=>{if(!C)return;let e=Lw({session:C,threadIds:te?te.split(`,`):[],onEvent:P,onReady:()=>{F().catch(e=>{i(t=>({...t,error:OT(e)}))})},onError:()=>{F().catch(()=>void 0)}});return()=>{e.close()}},[P,F,C,te]),(0,Y.useEffect)(()=>{if(!e.connection||!e.teamId||E!==e.teamId)return;let t=window.setInterval(()=>{F().catch(()=>void 0)},15e3);return()=>window.clearInterval(t)},[F,e.connection,e.teamId,E]);let I=(0,Y.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:ST(e.threads,t),selectedThreadId:t,detail:e.detail?.thread.id===t?CT(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;Xw(r.messages,x.current,S.current);let a=Jw(r,x.current);i(e=>({...e,threads:ST(e.threads,t),detail:CT(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:OT(e)}))}},[e.connection,e.teamId]),L=(0,Y.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;Xw(r.messages,x.current,S.current);let a=Jw(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 ET({connection:e.connection,teamId:e.teamId,threadId:a.thread.id,lastMessageSequence:a.thread.lastMessageSequence}),await A(),a}catch(e){return h.current===n&&i(t=>({...t,busy:!1,error:OT(e)})),null}},[e.connection,e.teamId,A]),R=(0,Y.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:$w(n),hasMoreBefore:r.hasMoreBefore}}}),!0}catch(e){return i(t=>({...t,loading:!1,error:OT(e)})),!1}},[e.connection,e.teamId,r.detail]),z=(0,Y.useCallback)(async t=>{let n=u.current,a=uT(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([M(n),A()]),i(e=>({...e,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:OT(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,TT({teamId:e.teamId,body:t.body,clientRequestId:o,selectedActionKey:t.selectedActionKey,approvalId:t.approvalId})),await Promise.all([M(n),A()]),i(e=>({...e,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:OT(e)})),!1}}S.current.set(o,{inputs:a,uploaded:null});let s=rT({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=>iT(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})),Qw(x.current,o,`${t+1} of ${a.length}`),i(e=>cT(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=>aT(t,c,e.currentUserId)),!0}catch(e){return Zw(x.current,o,`failed`),i(t=>({...oT(t,o),error:OT(e)})),!1}},[e.connection,e.currentUserId,e.teamId,M,A,r.detail?.thread.lastMessageSequence]),B=(0,Y.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:OT(e)}))}}},[e.connection,e.teamId]),ne=(0,Y.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:OT(e)}))}}},[e.connection,e.teamId]),V=(0,Y.useCallback)(()=>{g.current=null,i(e=>({...e,agentConversation:null}))},[]),H=(0,Y.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,wT({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),M(n),A()]);return i(e=>({...e,agentConversation:o,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:OT(e)})),!1}},[e.connection,e.teamId,M,A,r.agentConversation]),re=(0,Y.useCallback)(()=>{f.current+=1,d.current=null,i(e=>({...e,aiThread:null}))},[]),U=(0,Y.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=>({...Kw(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:OT(e)})),!1}},[e.connection,e.teamId]),ie=(0,Y.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]),ae=(0,Y.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 M(t.threadId),!0}catch(e){return i(t=>({...t,error:OT(e)})),!1}},[e.connection,e.teamId,M]),W=(0,Y.useCallback)(async t=>{if(!e.connection||!e.teamId)return!1;try{return await Z.deleteTeamChatMessage(e.connection,t.threadId,t.id,e.teamId),await M(t.threadId),!0}catch(e){return i(t=>({...t,error:OT(e)})),!1}},[e.connection,e.teamId,M]),oe=(0,Y.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`);Zw(x.current,t.clientRequestId,`sending`),i(e=>sT(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})),Qw(x.current,t.clientRequestId,`${n+1} of ${r.inputs.length}`),i(e=>cT(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=>aT(t,s,e.currentUserId)),!0}catch(e){return Zw(x.current,t.clientRequestId,`failed`),i(n=>({...sT(n,t.clientRequestId,`failed`),error:OT(e)})),!1}},[e.connection,e.currentUserId,e.teamId]),se=(0,Y.useCallback)(e=>{e.id.startsWith(`pending:`)&&(e.clientRequestId&&S.current.delete(e.clientRequestId),e.clientRequestId&&x.current.delete(e.clientRequestId),i(t=>lT(t,e.id)))},[]),ce=(0,Y.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:OT(e)})),!1}},[e.connection,e.teamId]);return{...r,members:n,error:r.error??(t.error?OT(t.error):null),currentUserId:e.currentUserId,notificationMode:o,incomingNotification:c,setNotificationMode:O,dismissIncomingNotification:k,setThreadMuted:ce,selectThread:I,openDm:L,loadMoreMessages:R,sendMessage:z,openAiThread:B,openAgentConversation:ne,closeAgentConversation:V,sendAgentTurn:H,closeAiThread:re,sendAiTurn:U,stopAiTurn:ie,editMessage:ae,deleteMessage:W,retryMessage:oe,dismissFailedMessage:se,refreshDirectory:j,refresh:async()=>{await Promise.all([j(),A(),M(),N(),ee()])}}}function OT(e){return mT(e)}var kT=`local-profile-agent`;function AT(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?[]:[LT(n.agentName),LT(e.name),LT(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(LT(e.name))||n.has(LT(e.id))?[]:[FT(t,e)]);return[...e.hostedActions,...a]}function jT(e){return e?.implementation?.type===kT}function MT(e){let t=e.implementation?.profileAgentId;return typeof t==`string`&&t.trim()?t.trim():null}function NT(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 PT(e,t){let n=t.runtimeAgentId?.trim()??``,r=t.profileName?.trim()??``,i=LT(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=>LT(e)===i)):!1})??null}function FT(e,t){return{id:`local-profile:${e.activeProfile??`default`}:${t.id}:chat`,name:t.name,label:t.name,description:IT(e),approvalPolicy:{required:!1,risk:`write`},setupRequirements:e.setupGate.blockingRequirements,invokesModel:!0,implementation:{type:kT,profileAgentId:t.id,profileName:e.activeProfile??`default`}}}function IT(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 LT(e){return typeof e==`string`?e.trim().toLowerCase().replace(/[^a-z0-9]+/g,``):``}var RT=5;function zT(e){return(0,Y.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=NT(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<RT&&(s=PT((await e.refreshDirectory()).agents,{runtimeAgentId:o,profileName:n.activeProfile,agentName:i.name}),!s);t+=1)t<4&&await BT(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 BT(e){return new Promise(t=>{setTimeout(t,e)})}function VT(e){let t=(0,Y.useRef)(e.scope);t.current=e.scope,(0,Y.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 vf({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 HT(e){let{connection:t,refreshToken:n=null}=e,[r,i]=(0,Y.useState)([]),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(null),[y,b]=(0,Y.useState)(null),[x,S]=(0,Y.useState)(null),[C,w]=(0,Y.useState)(0),T=(0,Y.useRef)(0),E=(0,Y.useMemo)(()=>r.find(e=>e.id===s)??null,[r,s]),D=(0,Y.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(WT(e)),!1}finally{f(!1)}},[t]),O=(0,Y.useCallback)(async()=>{if(!t||!a||d)return!1;f(!0),v(null);try{let e=await Z.communities(t,a);return i(t=>UT(t,e.items)),o(e.nextCursor),!0}catch(e){return v(WT(e)),!1}finally{f(!1)}},[t,d,a]),k=(0,Y.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(WT(e)),null}finally{T.current===n&&m(!1)}},[t]),A=(0,Y.useCallback)(e=>{let t=r.find(t=>t.id===e);t&&(c(t.id),u(e=>e?.id===t.id?e:null),S(null),k(t))},[r,k]),j=(0,Y.useCallback)(()=>{T.current+=1,c(null),u(null),b(null),S(null)},[]);(0,Y.useEffect)(()=>{t?D():(i([]),u(null),c(null))},[t,D,n]),(0,Y.useEffect)(()=>{E&&l?.id!==E.id&&!p&&k(E)},[k,l?.id,p,E]);let M=(0,Y.useCallback)(async()=>{let e=E;await D(),e&&await k(e)},[k,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:O,showDiscovery:j,selectCommunity:A,join:(0,Y.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 M(),!0}catch(e){let t=GT(e);return S(t),t.kind===`rules_stale`&&await M(),!1}finally{g(!1)}},[t,h,l,M]),acceptRules:(0,Y.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 M(),!0}catch(e){let t=GT(e);return S(t),t.kind===`rules_stale`&&await M(),!1}finally{g(!1)}},[t,h,l,M]),leave:(0,Y.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 M(),!0}catch(e){return S(GT(e)),!1}finally{g(!1)}},[t,h,l,M]),updateNotifications:(0,Y.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(GT(e)),!1}finally{g(!1)}},[t,h,l]),clearMembershipError:()=>S(null)}}function UT(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 WT(e){return e instanceof Error?e.message:String(e)}function GT(e){let t=WT(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 KT(e,t,n){return Aw({realtimeUrl:e.session.realtimeUrl,httpUrl:e.session.httpUrl,authorizationToken:e.session.token,channels:[e.session.channel],onEvent:t=>{let n=Oo.safeParse(t);n.success&&e.onEvent(n.data)},onReady:e.onReady,onError:e.onError},t,n)}function qT(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,Y.useState)([]),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)({}),[m,h]=(0,Y.useState)([]),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(!1),[S,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(null),[O,k]=(0,Y.useState)(null),[A,j]=(0,Y.useState)(null),[M,N]=(0,Y.useState)(!1),[ee,P]=(0,Y.useState)(null),[F,te]=(0,Y.useState)(null),I=(0,Y.useRef)(null),L=(0,Y.useRef)([]),R=(0,Y.useRef)(`mentions`),z=(0,Y.useRef)(0),B=(0,Y.useRef)({}),ne=(0,Y.useRef)(new Set),V=(0,Y.useMemo)(()=>c.find(e=>e.id===u)??null,[c,u]),H=u?f[u]??null:null;(0,Y.useEffect)(()=>{I.current=u},[u]),(0,Y.useEffect)(()=>{L.current=c},[c]),(0,Y.useEffect)(()=>{R.current=n?.membership?.notificationMode??`mentions`},[n?.membership?.notificationMode]);let re=(0,Y.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),N(!1),!0}catch(e){let t=QT(e);return T(t),ZT(t)&&N(!0),!1}finally{_(!1)}},[a,t]),U=(0,Y.useCallback)(async e=>{if(!t||!a)return!1;let n=++z.current;y(!0),D(null);try{let r=await Z.communityMessages(t,a,e,{limit:50});return n===z.current&&(p(t=>({...t,[e]:{items:r.messages,hasMoreBefore:r.hasMoreBefore,preview:r.preview}})),N(!1),!0)}catch(e){if(n!==z.current)return!1;let t=QT(e);return D(t),ZT(t)&&N(!0),!1}finally{n===z.current&&y(!1)}},[a,t]);(0,Y.useEffect)(()=>{l(n?.channels??[]),p({}),d(n?.channels.find(e=>e.isDefault)?.id??n?.channels[0]?.id??null),T(null),D(null),k(null),N(!1),ne.current.clear(),a&&re()},[a,re,i]),(0,Y.useEffect)(()=>{u&&U(u)},[U,u]);let ie=(0,Y.useCallback)(async(e,n)=>{if(!t||!a||!o||!s||n<=0)return!1;if((B.current[e]??0)>=n)return!0;B.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 ZT(QT(e))&&N(!0),!1}},[a,t,o,s]);(0,Y.useEffect)(()=>{let e=H?.items.at(-1)?.sequence??0;u&&e>0&&ie(u,e)},[ie,u,H?.items]);let ae=(0,Y.useCallback)(e=>{if(e.communityId!==a||ne.current.has(e.id))return;ne.current.add(e.id);let t=Eo.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:I.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=L.current.find(t=>t.id===e.channelId),i=YT(n).includes(r??``),a=R.current;!t?.readState?.mutedAt&&(a===`all`||a===`mentions`&&i)&&te({communityId:e.communityId,channelId:e.channelId,message:n})}I.current===e.channelId&&ie(e.channelId,n.sequence)}else e.type===`read.updated`&&e.payload.userId===r&&re()},[a,r,re,ie]);(0,Y.useEffect)(()=>{if(!t||!a||!o||!s)return;let e=!1,n=null;return k(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)ae(e);if(n=r.cursor,!r.hasMore)return}},s=KT({session:r,onEvent:ae,onReady:()=>{k(null),o().catch(e=>k(QT(e)))},onError:e=>k(QT(e))});n=()=>s.close(),await o()}).catch(t=>{if(!e){let e=QT(t);k(e),ZT(e)&&N(!0)}}),()=>{e=!0,n?.()}},[ae,a,t,o,i,s]);let W=(0,Y.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(QT(e)),!1}finally{x(!1)}},[a,t,f,b,u]),oe=(0,Y.useCallback)(async e=>{if(!t||!a||!u||S)return!1;C(!0),j(null),P(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 ie(u,r.sequence),!0}catch(t){let n=QT(t);return j(n),P({...e,message:n}),ZT(n)&&N(!0),!1}finally{C(!1)}},[a,t,ie,u,S]),se=(0,Y.useCallback)(e=>oe({body:e.body,clientRequestId:crypto.randomUUID(),mentionUserIds:e.mentionUserIds??[],attachments:e.attachments??[],replyToMessageId:e.replyToMessageId??null}),[oe]),ce=(0,Y.useCallback)(async(e,n)=>{if(!t||!a||!u)return!1;j(null);try{let r=await Z.editCommunityMessage(t,a,u,e,n);return JT(p,u,r),!0}catch(e){return j(QT(e)),!1}},[a,t,u]),le=(0,Y.useCallback)(async e=>{if(!t||!a||!u)return!1;j(null);try{let n=await Z.deleteCommunityMessage(t,a,u,e);return JT(p,u,n),!0}catch(e){return j(QT(e)),!1}},[a,t,u]),ue=(0,Y.useCallback)(async(e,n)=>{if(!t||!a)return!1;j(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 j(QT(e)),!1}},[a,t]),de=(0,Y.useCallback)(async(e=``)=>{if(!t||!a||!o)return[];try{let n=await Z.searchCommunityMembers(t,a,{query:e,limit:50});return h(e=>XT(e,n.items)),n.items}catch(e){return j(QT(e)),[]}},[a,t,o]);(0,Y.useEffect)(()=>{o&&s?de():h([])},[o,s,de]);let fe=(0,Y.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 j(QT(e)),!1}},[a,t,u]),pe=(0,Y.useCallback)(()=>u?U(u):Promise.resolve(!1),[U,u]),me=(0,Y.useCallback)(()=>ee?oe(ee):Promise.resolve(!1),[ee,oe]),he=(0,Y.useCallback)(()=>P(null),[]),ge=(0,Y.useCallback)(()=>te(null),[]);return{channels:c,selectedChannelId:u,selectedChannel:V,messages:H?.items??[],hasMoreBefore:H?.hasMoreBefore??!1,previewMode:H?.preview??!o,members:m,channelsLoading:g,messagesLoading:v,olderMessagesLoading:b,sending:S,channelsError:w,messagesError:E,realtimeError:O,actionError:A,lostMembership:M,failedSend:ee,incomingNotification:F,selectChannel:d,loadChannels:re,loadMessages:pe,loadOlder:W,sendMessage:se,retrySend:me,dismissFailedSend:he,editMessage:ce,deleteMessage:le,setMuted:ue,searchMembers:de,downloadAttachment:fe,dismissIncomingNotification:ge}}function JT(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 YT(e){let t=e.metadata.mentionUserIds;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function XT(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 ZT(e){return e.includes(`community_membership_required`)||e.includes(`community_rules`)}function QT(e){return e instanceof Error?e.message:String(e)}function $T(e){let t=HT({connection:e.connection,refreshToken:e.refreshToken}),n=qT({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,Y.useCallback)(()=>{t.showDiscovery(),l(`community`)},[t.showDiscovery,l]),f=(0,Y.useCallback)(e=>{t.selectCommunity(e),l(`community`)},[t.selectCommunity,l]),p=(0,Y.useCallback)(e=>{n.selectChannel(e),l(`community`)},[n.selectChannel,l]);return(0,Y.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 eE=[];function tE(e){let t=(0,Y.useCallback)(t=>p_(e,t),[e]),n=(0,Y.useCallback)(()=>d_(e)??eE,[e]);return(0,Y.useSyncExternalStore)(t,n,n)}function nE(e){let[t,n]=(0,Y.useState)(()=>ui());return(0,Y.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(ui())}),()=>{t=!1}):(n(ui()),()=>{t=!1})},[e]),t}function rE(){let{composerDraftStore:e,dispatch:t,setters:n,state:r}=CC(),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)([]),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)([]),[m,h]=(0,Y.useState)(null),[g,_]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(y_),[b,x]=(0,Y.useState)({}),[S,C]=(0,Y.useState)(()=>new Set),w=(0,Y.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,Y.useState)(0),[D,O]=(0,Y.useState)(null),k=(0,Y.useRef)(null),{confirmProjectAction:A,projectConfirmDialog:j,resolveProjectConfirmDialog:M}=Bh(),{query:N,searchOpen:ee,archivedChatsOpen:P,sectionMenuOpen:F,projectsExpanded:te,cloudProjectsExpanded:I,chatRowsVisibleCount:L,sidebarOpen:R,view:z,selectedAppId:B,selectedProjectId:ne,selectedSessionId:V,draftProvider:H,draftModel:re,draftExperience:U,codexPermissionMode:ie,codexReasoningEffort:ae,openPondCommandAccessMode:W,busy:oe,diffPanelOpen:se,diffPanelExpanded:ce,rightPanelMode:le,rightChatPanels:ue,terminalOpen:de,settingsSection:fe,newProjectDialogOpen:pe,newProjectMode:me,newProjectName:he,newProjectPath:ge,newProjectBusy:_e,commitDialogOpen:ve,commitMessage:ye,commitIncludeUnstaged:G,commitNextStep:be,commitDraft:xe,branchDialogOpen:Se,branchDialogName:Ce,toasts:we,error:Te}=r,Ee=OC(z===`labs`),{setQuery:De,setSearchOpen:Oe,setArchivedChatsOpen:ke,setSectionMenuOpen:Ae,setProjectsExpanded:je,setCloudProjectsExpanded:Me,setChatRowsVisibleCount:Ne,setSidebarOpen:K,setView:Pe,setSelectedAppId:Fe,setSelectedProjectId:Le,setSelectedSessionId:Re,setPrompt:ze,setDraftProvider:Be,setDraftModel:Ve,setDraftExperience:He,setCodexPermissionMode:Ue,setCodexReasoningEffort:We,setOpenPondCommandAccessMode:Ge,setDiffPanelOpen:Ke,setDiffPanelExpanded:qe,setRightPanelMode:Je,setRightChatPanels:Ye,setTerminalOpen:Xe,setSyncingWorkspaceAppId:Ze,setSettingsSection:Qe,setNewProjectDialogOpen:$e,setNewProjectMode:et,setNewProjectName:tt,setNewProjectPath:nt,setNewProjectBusy:rt,setCommitDialogOpen:it,setCommitMessage:at,setCommitIncludeUnstaged:ot,setCommitNextStep:st,setCommitDraft:ct,setBranchDialogOpen:lt,setBranchDialogName:ut,setError:dt}=n,{connectionRef:ft,setError:pt,showToast:mt}=iC({appDispatch:t,error:Te,setErrorState:dt}),{appPreferences:ht,applyBootstrapPayload:gt,applyPreferencesPayload:_t,bootstrap:vt,codexHistorySessions:yt,connection:bt,events:xt,runtimeEventStore:St,notificationAfterSequence:Ct,approvals:wt,sessions:Tt,startup:Et,setAppPreferences:Dt,setBootstrap:Ot,setCodexHistorySessions:kt,setEvents:At,setSessions:jt}=tC({selectedSessionId:V,setDraftModel:Ve,setDraftProvider:Be,setCodexPermissionMode:Ue,setCodexReasoningEffort:We,setOpenPondCommandAccessMode:Ge,setError:pt,setSelectedAppId:Fe,setSelectedProjectId:Le,setSelectedSessionId:Re});ft.current=bt,rv(bt,mt,t),(0,Y.useEffect)(()=>{vt&&p(vt.sidebarFileBookmarks??[])},[vt?.sidebarFileBookmarks]);let Mt=(0,Y.useMemo)(()=>[...xt].reverse().find(e=>e.name===`tool.completed`&&e.action===`manage_sidebar_file`)??null,[xt]),q=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{bt&&Mt&&q.current!==Mt.id&&(q.current=Mt.id,Z.sidebarFiles(bt).then(e=>p(e.items)).catch(e=>pt(e instanceof Error?e.message:String(e))))},[bt,Mt,pt]);let Nt=(0,Y.useCallback)(async(e,t)=>{if(!bt)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(bt,{workspaceKind:e.workspaceKind,workspaceId:e.workspaceId,workspaceName:e.workspaceName,path:e.path,status:t,sourceSessionId:e.sourceSessionId});p(n.items)}catch(e){p(n),pt(e instanceof Error?e.message:String(e))}},[bt,pt,f]),Pt=nE(bt),Ft=vt?.profile?.activeProfile??`default`,It=rS(vt?bt:null,Ft),Lt=LC({connection:vt?bt:null,profileId:Ft,enabled:z===`labs`||!!(V&&It.data?.creationSessionIds.includes(V))}),{projectsCollapsed:Rt,cloudProjectsCollapsed:zt,chatsCollapsed:Bt,savedForLaterCollapsed:Vt,sidebarWidth:Ht,sidebarResizing:Ut,diffPanelWidth:Wt,diffPanelResizing:Gt,toggleProjectsCollapsed:Kt,toggleCloudProjectsCollapsed:qt,toggleChatsCollapsed:Jt,toggleSavedForLaterCollapsed:Yt,startSidebarResize:Xt,startDiffPanelResize:Zt}=DC({connection:bt,preferences:vt?.preferences,sidebarOpen:R,diffPanelExpanded:ce,setBootstrap:Ot,setError:pt}),{cloudProjectById:Qt,linkedProjectByAppId:$t,localProjectById:en,mentionableSandboxApps:tn,selectedApp:nn,selectedCloudProject:rn,selectedProject:an,selectedProjectLinkedApp:on,selectedProjectLinkedOpenPondApp:sn,selectedSession:cn,selectedSessionLinkedProject:ln,sidebarSessions:un}=U_({bootstrap:vt,codexHistorySessions:yt,selectedAppId:B,selectedProjectId:ne,selectedSessionId:V,sessions:Tt}),dn=h_(cn?.experience??U),fn=nw(xt,wt),{chatMentionApps:pn,connectedAppMentions:mn,pendingApproval:hn}=iv({bootstrap:vt,connectedAppRows:Pt,mentionableSandboxApps:tn,runtimeIndexes:fn,selectedApp:nn,selectedCloudProject:rn,selectedProject:an,selectedSession:cn,selectedSessionId:V}),{codexHistoryEvents:gn,setCodexHistoryEvents:_n}=zv({connection:bt,selectedSessionId:V,selectedSessionLocallyActive:!!(V&&S.has(V)),selectedSessionStatus:cn?.status,setCodexHistorySessions:kt,setError:pt}),{account:vn,accountPending:yn,accountSignedOut:bn,activeModel:J,activeProvider:xn,activeWorkspaceAppId:Sn,activeWorkspaceId:Cn,activeWorkspaceKind:wn,activeWorkspaceLocation:Tn,appDefaults:En,cloudLinked:Dn,selectedCodexHistoryPending:On,selectedSessionProjectId:kn,startMessage:An,workspaceName:jn}=z_({bootstrap:vt,draftModel:re,draftProvider:H,selectedApp:nn,selectedAppId:B,selectedCloudProject:rn,selectedProject:an,selectedSession:cn,selectedSessionId:V,selectedSessionLinkedProject:ln}),Mn=(0,Y.useMemo)(()=>N_(vt?.account??null),[vt?.account]),Nn=tE((0,Y.useMemo)(()=>u_(vt?.account??null),[vt?.account])),Pn=(0,Y.useMemo)(()=>Or(Nn,En.defaultTeamId),[En.defaultTeamId,Nn]),Fn=Pn?.teamId??null,In=DT({connection:bt,accountScopeKey:Mn,teamId:Fn,currentUserId:vn?.profile?.id??null,refreshToken:vt?.accountMeta.asOf??null}),Ln=zT({connection:bt,teamId:Fn,applyBootstrapPayload:gt,refreshDirectory:In.refreshDirectory});VT({scope:JSON.stringify([er(bt),vt?.server.id,Mn,Fn]),notification:In.incomingNotification,dismiss:In.dismissIncomingNotification,selectThread:In.selectThread,setView:Pe,showToast:mt});let{communities:Rn,sidebar:zn,view:Bn}=$T({connection:bt,currentUserId:vn?.profile?.id??null,refreshToken:vt?.accountMeta.asOf??null,setView:Pe,showToast:mt}),Vn=In.aiThread?.conversationId??null,Hn=z===`team`&&!!Vn&&se&&le===`chat`;(0,Y.useEffect)(()=>{z===`team`&&(Vn?(Je(`chat`),Ke(!0)):le===`chat`&&Ke(!1))},[le,Ke,Je,Vn,z]);let Un=(0,Y.useCallback)(()=>{Vn&&(Hn?Ke(!1):(Je(`chat`),Ke(!0)))},[Ke,Je,Hn,Vn]),Wn=(0,Y.useMemo)(()=>Xg(an,vt?.cloudProjects??[]),[vt?.cloudProjects,an]),Gn=cn?.provider===`codex`?W:cn?.openPondCommandAccessMode??W,Kn=Sn,qn=Cn,Jn=wn,Yn=jn,{openPondActionCatalog:Xn,selectedActionCatalog:Zn}=gw({cloudProjectById:Qt,cloudProjects:vt?.cloudProjects??[],connection:bt,defaultTeamId:En.defaultTeamId,accountScopeKey:Mn,localProjects:vt?.localProjects??[],profile:vt?.profile,selectedCloudProject:rn,selectedProject:an,reportError:pt}),{expandedProjectIds:Qn,expandProject:$n,toggleProjectExpanded:tr,setExpandedProjectIds:nr}=_w({selectedProjectId:ne});$_({activeWorkspaceId:Cn,activeWorkspaceKind:wn,connection:bt,expandProject:$n,linkedProjectByAppId:$t,providerSettings:vt?.providers??null,selectedAppId:B,selectedSession:cn,selectedSessionId:V,selectedSessionProjectId:kn,setDiffPanelExpanded:qe,setDraftModel:Ve,setDraftProvider:Be,setError:pt,setSelectedAppId:Fe,setSelectedProjectId:Le,setSessions:jt,setTerminalOpen:Xe});let{changeCodexPermissionMode:rr,changeCodexReasoningEffort:ir}=av({connection:bt,setBootstrap:Ot,setCodexPermissionMode:Ue,setCodexReasoningEffort:We,setError:pt}),{changeOpenPondCommandAccessMode:ar}=Vx({connection:bt,selectedSession:cn,setBootstrap:Ot,setError:pt,setOpenPondCommandAccessMode:Ge,setSessions:jt}),or=ev({connection:bt,setError:pt}),sr=(0,Y.useCallback)(()=>{E(e=>e+1)},[]);(0,Y.useEffect)(()=>{z===`chat`&&sr()},[z,V,ne,B,sr]);let cr=nv({appDispatch:t,expandProject:$n,linkedProjectByAppId:$t,requestComposerFocus:sr,onBeginNewChat:()=>{vf({kind:`chat`,sessionId:null}),O(null),He(`work`)},setMentionedAppId:d}),lr=(0,Y.useCallback)(e=>{let n=Ie(`local`,e);t({type:`selectProject`,projectId:n}),$n(n)},[t,$n]),{advanceAfterTurn:ur,begin:dr,bindSession:fr,dismiss:pr,handoff:mr,prepareTurn:hr,selectTask:gr}=XC({activeModel:J,activeProvider:xn,applyBootstrapPayload:gt,beginNewChat:cr,composerDraftStore:e,connection:bt,requestComposerFocus:sr,selectedLocalProjectId:an?.id??null,selectedSessionId:V,selectLocalProject:lr,setDraftModel:Ve,setDraftProvider:Be,setError:pt,view:z});TC({connection:bt,events:xt,showToast:mt}),eS({searchOpen:ee,sectionMenuOpen:F,setSectionMenuOpen:Ae,setSearchOpen:Oe,setQuery:De}),(0,Y.useEffect)(()=>{x({})},[vt?.server.id]);let{chatHistoryLoadStates:_r,loadMoreSelectedChatHistory:vr,selectedPagedSessionEvents:yr,selectedRuntimeIndexes:br}=ew({approvals:wt,codexHistoryEvents:gn,connection:bt,runtimeIndexes:fn,runtimeEventStore:St,selectedSessionId:V,serverId:vt?.server.id,setCodexHistoryEvents:_n,setCodexHistorySessions:kt,setError:pt}),{activeSessions:xr,archivedSessions:Sr,pinnedProjects:Cr,pinnedSessions:wr,savedForLaterSessions:Tr,pinnedFiles:Er,savedForLaterFiles:Dr,pinnedItems:kr,projectRows:Ar,localProjectRows:jr,visibleProjectRows:Mr,cloudProjectRows:Nr,projectSessionRowsByProjectId:Pr,childSessionRowsByParentId:Fr,sidebarProjectIdBySessionId:Ir,chatRows:Lr,visibleChatRows:Rr,sessionEvents:zr,chatMessages:Br,contextUsage:Vr,goalRuntime:Hr,subagentRuntime:Ur}=Hx({localProjects:vt?.localProjects??[],cloudProjects:vt?.cloudProjects??[],teamId:En.defaultTeamId,sessions:un,runtimeIndexes:br,appPreferences:ht,selectedSessionId:V,selectedProjectId:ne,archivedChatsOpen:P,projectsExpanded:te,chatRowsVisibleCount:L,sidebarFileBookmarks:f}),Wr=(0,Y.useCallback)(()=>{He(`work`),t({type:`beginNewChat`,appId:null}),Pe(`chat`)},[t,He,Pe]),{pendingChatUserMessages:Gr,recordPendingChatUserMessage:Kr,visibleChatMessages:qr}=Bx({chatMessages:Br,runtimeIndexes:br,selectedSessionId:V}),Jr=(0,Y.useMemo)(()=>ym({selectedAppId:B,selectedProjectId:ne,selectedSessionId:V}),[B,ne,V]),Yr=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let e=Yr.current;Yr.current=Jr,e&&e.kind===`draft`&&Jr.kind===`session`&&(hm(e,Jr)||s(t=>{let n=bm({tabs:t,previousScope:e,activeScope:Jr});return n.some((e,n)=>e!==t[n])?n:t}))},[Jr]);let Xr=(0,Y.useMemo)(()=>Cm(o),[o]),{goalRuntime:Zr,runningSessionIds:Qr,selectedSessionRunning:$r,sidebarGoalRuntimeBySessionId:ei,sidebarSubagentRuntimeBySessionId:ti}=$x({codexHistoryEvents:gn,codexHistorySessions:yt,connection:bt,expandedProjectIds:Qn,goalRuntime:Hr,locallyActiveCodexHistorySessionIds:S,pinnedSessions:wr,savedForLaterSessions:Tr,projectSessionRowsByProjectId:Pr,rightChatHistoryEvents:b,runtimeIndexes:fn,selectedSession:cn,selectedSessionId:V,serverId:vt?.server.id,setCodexHistorySessions:kt,setError:pt,sidebarSessions:un,subagentRuntime:Ur,visibleChatRows:Rr,visibleProjectRows:Mr}),{dragItem:ni,pinnedPreviewKeys:ri,startPinnedDrag:ii,clearSidebarDrag:ai,previewPinnedDrop:oi,commitPinnedDrop:si,commitPinnedPreviewDrop:ci}=Vv({connection:bt,appPreferences:ht,sessions:un,pinnedItems:kr,setAppPreferences:Dt,setCodexHistorySessions:kt,setSessions:jt,sidebarFileBookmarks:f,setSidebarFileBookmarks:p,setError:pt}),{clearTaskDrag:li,commitTaskDrop:ui,commitTaskPreviewDrop:di,previewTaskDrop:fi,startTaskDrag:pi,taskDragSessionId:mi,taskPreviewSessionIds:hi}=Hv({connection:bt,sessions:un,setCodexHistorySessions:kt,setError:pt,setSessions:jt}),{commandProjectRows:gi,contextWindowStatus:_i,pinnedRows:vi,sidebarWorkspaceAppIds:yi}=tv({activeProvider:xn,contextCompaction:En.contextCompaction,contextUsage:Vr,pinnedItems:kr,pinnedPreviewKeys:ri??[],pinnedProjects:Cr,projectRows:Ar,visibleProjectRows:Mr}),bi=!(!Kn||z!==`chat`&&z!==`labs`||!ve&&(!se||le!==`changes`&&le!==`goal`)),{workspaceStates:xi,workspaceBusy:Si,diffBusy:Ci,visibleWorkspaceState:wi,visibleWorkspaceDiff:Ti,rememberWorkspaceState:Ei,refreshWorkspace:Di,refreshWorkspaceDiff:Oi,setWorkspaceBusy:ki}=Sw({connection:bt,activeWorkspaceAppId:Kn,view:z,shouldLoadWorkspaceDiff:bi,sidebarWorkspaceAppIds:yi,setError:pt});k.current=Ei;let Ai=(0,Y.useCallback)((e=Kn)=>!e||e!==Kn||!bi?Promise.resolve(null):Oi(e),[Oi,bi,Kn]),ji=(0,Y.useCallback)(async(e={})=>{Kn&&bi&&await Oi(Kn,e)},[Oi,bi,Kn]),Mi=!(cn?.provider!==`codex`||!cn.cwd||Qg(cn.workspaceKind)),Ni=!(!wi||wi.initialized||wn===`local_project`||xn===`codex`||Mi||On),Pi=wn===`local_project`&&!!an?.sandboxTemplate?.detected&&!an?.linkedOpenPondApp?.appId,[Fi,Ii]=(0,Y.useState)(null),[Li,Ri]=(0,Y.useState)(null),{projectTarget:zi,workspaceTarget:Bi}=B_({accountPending:yn,accountSignedOut:bn,activeWorkspaceLocation:Tn,bootstrap:vt,busy:oe,cloudLinked:Dn,selectedCloudProject:rn,selectedProject:an,selectedSession:cn,pendingWorkspaceTarget:Fi,workspaceStates:xi,workspaceBusy:Si});return(0,Y.useEffect)(()=>{Ii(null)},[cn?.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:sr,draftSubagentDelegationMode:D,setDraftSubagentDelegationMode:O,confirmProjectAction:A,projectConfirmDialog:j,resolveProjectConfirmDialog:M,query:N,searchOpen:ee,archivedChatsOpen:P,sectionMenuOpen:F,projectsExpanded:te,cloudProjectsExpanded:I,sidebarOpen:R,view:z,selectedAppId:B,selectedProjectId:ne,selectedSessionId:V,draftProvider:H,draftModel:re,draftExperience:U,activeExperience:dn,beginNewThread:Wr,codexPermissionMode:ie,codexReasoningEffort:ae,openPondCommandAccessMode:W,busy:oe,diffPanelOpen:se,diffPanelExpanded:ce,rightPanelMode:le,rightChatPanels:ue,terminalOpen:de,settingsSection:fe,newProjectDialogOpen:pe,newProjectMode:me,newProjectName:he,newProjectPath:ge,newProjectBusy:_e,commitDialogOpen:ve,commitMessage:ye,commitIncludeUnstaged:G,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:Le,setSelectedSessionId:Re,setPrompt:ze,setDraftProvider:Be,setDraftModel:Ve,setDraftExperience:He,setDiffPanelOpen:Ke,setDiffPanelExpanded:qe,setRightPanelMode:Je,setRightChatPanels:Ye,setTerminalOpen:Xe,setSyncingWorkspaceAppId:Ze,setSettingsSection:Qe,setNewProjectDialogOpen:$e,setNewProjectMode:et,setNewProjectName:tt,setNewProjectPath:nt,setNewProjectBusy:rt,setCommitDialogOpen:it,setCommitMessage:at,setCommitIncludeUnstaged:ot,setCommitNextStep:st,setCommitDraft:ct,setBranchDialogOpen:lt,setBranchDialogName:ut,setError:pt,showToast:mt,appPreferences:ht,applyBootstrapPayload:gt,applyPreferencesPayload:_t,approvals:wt,bootstrap:vt,connection:bt,events:xt,runtimeEventStore:St,notificationAfterSequence:Ct,sessions:Tt,startup:Et,setAppPreferences:Dt,setCodexHistorySessions:kt,setEvents:At,setSessions:jt,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:Yt,startSidebarResize:Xt,startDiffPanelResize:Zt,cloudProjectById:Qt,localProjectById:en,selectedApp:nn,selectedCloudProject:rn,selectedProject:an,selectedProjectLinkedApp:on,selectedProjectLinkedOpenPondApp:sn,selectedSession:cn,sidebarSessions:un,runtimeIndexes:fn,chatMentionApps:pn,connectedAppMentions:mn,pendingApproval:hn,codexHistoryEvents:gn,setCodexHistoryEvents:_n,account:vn,accountPending:yn,accountSignedOut:bn,activeModel:J,activeProvider:xn,activeWorkspaceAppId:Sn,activeWorkspaceId:Cn,activeWorkspaceKind:wn,activeWorkspaceLocation:Tn,appDefaults:En,selectedSessionProjectId:kn,startMessage:An,workspaceName:jn,accountScopeKey:Mn,organizations:Nn,teamChatOrganization:Pn,teamChatTeamId:Fn,teamChat:In,publishTeamProfileAgent:Ln,communities:Rn,communitySidebar:zn,communityView:Bn,teamAiThreadId:Vn,toggleTeamAiSidebar:Un,selectedProjectConfirmedCloudProject:Wn,activeOpenPondCommandAccessMode:Gn,viewWorkspaceAppId:Kn,viewWorkspaceId:qn,viewWorkspaceKind:Jn,viewWorkspaceName:Yn,openPondActionCatalog:Xn,selectedActionCatalog:Zn,expandedProjectIds:Qn,expandProject:$n,toggleProjectExpanded:tr,setExpandedProjectIds:nr,changeCodexPermissionMode:rr,changeCodexReasoningEffort:ir,changeOpenPondCommandAccessMode:ar,resolveApproval:or,beginNewChat:cr,advanceTrainingModelChatAfterTurn:ur,beginNewChatWithTrainingModel:dr,bindTrainingModelChatSession:fr,dismissTrainingChatHandoff:pr,trainingChatHandoff:mr,prepareTrainingModelChatTurn:hr,selectTrainingChatTaskForComposer:gr,chatHistoryLoadStates:_r,loadMoreSelectedChatHistory:vr,selectedPagedSessionEvents:yr,activeSessions:xr,archivedSessions:Sr,pinnedSessions:wr,savedForLaterSessions:Tr,pinnedFiles:Er,savedForLaterFiles:Dr,sidebarFileBookmarks:f,setSidebarFileStatus:Nt,projectRows:Ar,localProjectRows:jr,visibleProjectRows:Mr,cloudProjectRows:Nr,projectSessionRowsByProjectId:Pr,childSessionRowsByParentId:Fr,sidebarProjectIdBySessionId:Ir,chatRows:Lr,visibleChatRows:Rr,chatRowsVisibleCount:L,sessionEvents:zr,chatMessages:Br,goalRuntime:Zr,subagentRuntime:Ur,pendingChatUserMessages:Gr,recordPendingChatUserMessage:Kr,visibleChatMessages:qr,activeTerminalScope:Jr,terminalSummaries:Xr,runningSessionIds:Qr,selectedSessionRunning:$r,sidebarGoalRuntimeBySessionId:ei,sidebarSubagentRuntimeBySessionId:ti,taskDragSessionId:mi,taskPreviewSessionIds:hi,startTaskDrag:pi,clearTaskDrag:li,previewTaskDrop:fi,commitTaskDrop:ui,commitTaskPreviewDrop:di,dragItem:ni,startPinnedDrag:ii,clearSidebarDrag:ai,previewPinnedDrop:oi,commitPinnedDrop:si,commitPinnedPreviewDrop:ci,commandProjectRows:gi,contextWindowStatus:_i,pinnedRows:vi,workspaceStates:xi,workspaceBusy:Si,diffBusy:Ci,visibleWorkspaceState:wi,visibleWorkspaceDiff:Ti,rememberWorkspaceState:Ei,refreshWorkspace:Di,refreshWorkspaceDiff:Oi,setWorkspaceBusy:ki,refreshWorkspaceDiffWhenNeeded:Ai,refreshVisibleWorkspaceDiff:ji,managedWorkspace:!1,canSyncActiveWorkspace:Ni,canPublishOpenPondProject:Pi,pendingWorkspaceTarget:Fi,setPendingWorkspaceTarget:Ii,pendingSidebarWorkspaceTarget:Li,setPendingSidebarWorkspaceTarget:Ri,projectTarget:zi,workspaceTarget:Bi}}var iE=`openpond-coding-core-v1`,aE=`feature`;function oE(e){let t=new URL(`/sandboxes`,lE(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`,aE),t.searchParams.set(`runtimeProfileId`,iE),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 sE(e){let t=e.organizationSlug?.trim(),n=t?`/sandboxes/${encodeURIComponent(t)}/billing`:`/sandboxes/billing`,r=new URL(n,lE(e.accountBaseUrl));return!t&&e.teamId?.trim()&&r.searchParams.set(`teamId`,e.teamId.trim()),r.toString()}function cE(e){let t=e.organizationSlug?.trim(),n=e.projectSlug?.trim();return!t||!n?null:new URL(`/${encodeURIComponent(t)}/${encodeURIComponent(n)}`,lE(e.accountBaseUrl)).toString()}function lE(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 uE({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,Y.useCallback)(()=>{d(`changes`),s(!0)},[s,d]),p=(0,Y.useCallback)(()=>{i&&a===`changes`?s(!1):f()},[i,a,s,f]),m=(0,Y.useCallback)(()=>{d(`browser`),s(!0)},[s,d]),h=(0,Y.useCallback)(()=>{d(`goal`),s(!0)},[s,d]),g=(0,Y.useCallback)((e,n)=>{$n({conversationId:t,href:e,explicitFile:n?.explicitFile,newTab:n?.newTab}).then(e=>{e&&m()})},[t,m]),_=(0,Y.useCallback)(()=>{l(`cloud`),u(``),c(!0)},[c,l,u]),v=(0,Y.useCallback)(t=>{let r=n.get(t);r&&g(oE({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,Y.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 dE(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 fE({browserConversationId:e,sessionIds:t,onOpenSession:n,onShowBrowserPanel:r}){(0,Y.useEffect)(()=>window.openpond?.browser?.onRevealRequest?.(i=>{let a=dE({currentConversationId:e,requestConversationId:i.conversationId,sessionIds:t});a.reveal&&(a.sessionIdToOpen&&n(a.sessionIdToOpen),r())}),[e,n,r,t])}function pE(e){let t=gE(e.organizations,e.defaultTeamId),n=Nr(t),r=e.localProject??null;if(!r)return hE(`Open a local project to set up an Agent.`);let i=_E(r,e.projects),a=vE(r,i,e.agents),o=!!r.sandboxTemplate?.detected,s=t&&!n?`Ask an owner or admin to connect this project.`:null;return o?i?yE(r,i)?mE({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}:mE({state:`needs_agent`,actionLabel:`Create Agent`,project:i,agent:null,canManage:n,actionBlockedReason:s}):mE({state:`needs_project`,actionLabel:`Connect Project`,project:null,agent:null,canManage:n,actionBlockedReason:s}):mE({state:`missing_config`,actionLabel:`Add Agent config`,project:i,agent:a,canManage:n,actionBlockedReason:s})}function mE(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 hE(e){return{state:`blocked`,actionLabel:`Ask admin`,canAct:!1,reason:e,project:null,agent:null}}function gE(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 _E(e,t){let n=e.linkedSandboxProject;return n?.projectId?t.find(e=>e.id===n.projectId)??null:null}function vE(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 yE(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 bE=e=>e.slice(0,2e4);function xE({model:e,provider:t,providerSettings:n}){return{model:Ve(t,e,n),modelRef:Qe(t,e,n)}}function SE(e,t){return e.some(e=>e.id===t.id)?e:[...e,t]}function CE(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 wE(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 TE({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 EE({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:O,setDraftModel:k,setDraftProvider:A,setError:j,setPrompt:M,setMentionedAppId:N,setCodexHistoryEvents:ee,setCodexHistorySessions:P,onCodexHistoryTurnActivityChange:F,onCodexHistoryTurnPayload:te,onPendingUserMessage:I,setEvents:L,setSelectedAppId:R,setSelectedProjectId:z,setSelectedSessionId:B,setSessions:ne,setView:V,setWorkspaceBusy:H}){function re(t){Z.bootstrap(t).then(e).catch(e=>{console.warn(`[chat] Message was accepted, but the post-send bootstrap refresh failed.`,e),j(`Message sent, but the chat list could not refresh: ${e instanceof Error?e.message:String(e)}`)})}let U=(0,Y.useRef)(new Set),ie=d?.providers??null;function ae(e,t){return e===`codex`?void 0:t}function W(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 oe(e,t){let n=t??Dn(e,ie);Nn(e,n),A(e),k(n),V(`chat`)}async function se(e,n){return(vS(n,S)??await bS({teamId:n,accountKey:S,fetchAgents:async e=>(await Z.listSandboxAgents(t,{teamId:e})).agents})).find(t=>t.projectId===e)??null}async function ce(){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=gE((await Z.organizations(t)).organizations.map(jr).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(!Nr(e))throw Error(`You need owner or admin access to create projects in ${e.displayName}.`);return e}async function le(n){if(!t)return!1;let r=w;if(!r)throw Error(`Select a local Project before using /sync-cloud.`);let a=await ce(),o=r.linkedSandboxProject?.defaultBranch?.trim()||`main`,s=Ie(`local`,r.id),l=Xg(r,x),u=await Z.createSession(t,{provider:`openpond`,modelRef:Qe(`openpond`,pe,ie),openPondCommandAccessMode:ae(`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`});ne(e=>[u,...e]),n.onSessionCreated?.(u),n.selectSession&&(B(u.id),z(s),R(null),V(`chat`),c(s)),n.clearPromptForTurn(),H(!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(Ie(`cloud`,i.project.id)),!0}catch(n){let r=await Z.bootstrap(t).catch(()=>null);throw r&&e(r),n}finally{H(!1)}}async function ue(e){if(!t||e.providerForTurn===`codex`||e.selectedSessionForTurn?.provider===`codex`)return!1;let n=W(e.selectedSessionForTurn)?e.selectedSessionForTurn:null;if(!n&&e.selectedSessionForTurn)throw Error(`Select a project to use this.`);if(!n){if(C){let r=Ie(`cloud`,C.id),i=e.providerForTurn;n=await Z.createSession(t,{provider:i,modelRef:Qe(i,e.modelForTurnValue,ie),openPondCommandAccessMode:ae(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:bE(e.command)}),ne(e=>[n,...e]),e.onSessionCreated?.(n),e.selectSession&&(B(n.id),z(r),R(null),V(`chat`),c(r))}else{let r=w;if(!r)throw Error(`Select a project to use this.`);let i=Xg(r,x),a=Ie(`local`,r.id),o=e.providerForTurn;n=await Z.createSession(t,{provider:o,modelRef:Qe(o,e.modelForTurnValue,ie),openPondCommandAccessMode:ae(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:bE(e.command)}),ne(e=>[n,...e]),e.onSessionCreated?.(n),e.selectSession&&(B(n.id),z(a),R(null),V(`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 ne(e=>cv(e,r.session)),L(e=>Xh(e,r.events)),!0}async function de(d=[],S=null,k,A={}){let R=k??u(),V=R.trim()||(d.length>0?`Please review the attached files.`:``);if(!t||!V)return!1;let H=A.displayPrompt?.trim()||V,W=A.provider??o,oe=A.model??a,ce=A.openPondCommandAccessMode??i,de=A.session!==void 0,fe=de?A.session??null:E,pe=h_(A.experience??fe?.experience??s),me=pe===`development`||pe===`work`&&(fe?.workspaceKind===`local_project`||!!fe?.localProjectId||!!fe?.cloudProjectId||!de&&!!(w||C||v||D===`hybrid`||D===`local`)),he=de||!me?null:v,ge=de||!me?null:w,_e=de||!me?null:C,ve=de||!me?null:T,ye=!de&&me&&D===`hybrid`,G=A.selectSession??!0,be=A.chatMessages??f,xe=A.session===void 0?h:null,Se=A.clearPrompt===void 0?()=>{M(``),N(null)}:A.clearPrompt,Ce=S?null:Ln(V,y),we=S??Ce?.action??null,Te=Ce?.prompt||V,Ee=me&&!we?Hn(V):null,De=we||Ee?null:In(V),Oe=De&&!Vn({id:De.command},pe)?De:null,ke=A.usageAttribution??(De?{surface:`chat`,workflowKind:`slash_command`,commandName:`/${De.command}`,commandSource:`prompt_parse`}:void 0);j(null);let Ae=null,je=!1,Me=null;try{if(!me&&W===`codex`)throw Error(`Select a local workspace to use the Codex provider.`);if(Oe)throw Error(`/${Oe.command} isn't available in ${pe}.`);if(Ee&&W!==`codex`&&fe?.provider!==`codex`){if(d.length>0)throw Error(`Direct commands do not accept attachments.`);return await ue({command:Ee.command,clearPromptForTurn:Se,modelForTurnValue:oe,onSessionCreated:A.onSessionCreated,openPondCommandAccessModeForTurn:ce,providerForTurn:W,selectedSessionForTurn:fe,selectSession:G})}if(!de&&De?.command===`sync-cloud`)return await le({clearPromptForTurn:Se,displayPrompt:H,onSessionCreated:A.onSessionCreated,selectSession:G});if(we){let n=Pn(we);if(n){let r=fe;if(!r||r.cloudProjectId!==n.projectId){r=await Z.createSession(t,{provider:`openpond`,modelRef:Qe(`openpond`,oe,ie),openPondCommandAccessMode:ae(`openpond`,ce),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:bE(H)}),ne(e=>[r,...e]),A.onSessionCreated?.(r),G&&B(r.id);let e=Ie(`cloud`,n.projectId);G&&z(e),G&&c(e)}let i=await Z.runSandboxAgent(t,n.agentId,Un({agent:n,attachments:d,displayPrompt:H,prompt:Te}));return e(await Z.bootstrap(t)),Se(),L(e=>Xh(e,TE({action:we,prompt:H,runPayload:i,sessionId:r.id}))),!0}let r=Tn(we);if(r){let n=fe;return(!n||n.provider!==`openpond`)&&(n=await Z.createSession(t,{provider:`openpond`,modelRef:Qe(`openpond`,oe,ie),openPondCommandAccessMode:ae(`openpond`,ce),appId:null,appName:null,workspaceId:null,workspaceName:`OpenPond profile`,localProjectId:null,cloudProjectId:null,cloudTeamId:null,cwd:null,autoTitlePrompt:bE(H)}),ne(e=>[n,...e]),A.onSessionCreated?.(n),G&&B(n.id)),await Z.runProfileAction(t,wn({action:r,attachments:d,displayPrompt:H,prompt:Te,sessionId:n.id})),e(await Z.bootstrap(t)),Se(),!0}let i=lw({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=fe;(!a||a.cloudProjectId!==i.id)&&(a=await Z.createSession(t,{provider:`openpond`,modelRef:Qe(`openpond`,oe,ie),openPondCommandAccessMode:ae(`openpond`,ce),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:i.id,workspaceName:i.name,localProjectId:i.localProjectId,cloudProjectId:i.id,cloudTeamId:i.teamId,cwd:null,autoTitlePrompt:bE(H)}),ne(e=>[a,...e]),A.onSessionCreated?.(a),G&&(B(a.id),z(i.selectionKey),c(i.selectionKey)));let o=await se(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,Fn({action:we,attachments:d,displayPrompt:H,prompt:Te,teamId:i.teamId}));return e(await Z.bootstrap(t)),L(e=>Xh(e,TE({action:we,prompt:H,runPayload:s,sessionId:a.id}))),!0}let i=fe;if(i&&Up(i.id)){Me=Zn({afterMessageId:be.at(-1)?.id??null,attachments:d,content:V,sessionId:i.id}),Se(),Ae=i.id,U.current.add(Ae),I?.(Me),F?.(Ae,!0);let e=CE(i.id,V),a=e=>{(!de||E?.id===i.id)&&ee(t=>SE(t,e)),A.onCodexHistoryOptimisticEvent?.(e)};a(e),P(e=>e.map(e=>e.id===i.id?{...e,status:`active`}:e));let o=await Z.sendCodexHistoryTurn(t,i.id,{prompt:V,attachments:d.length>0?d:void 0,model:Ve(`codex`,oe,ie),modelRef:Qe(`codex`,oe,ie),...Ke(n),codexPermissionMode:n,codexReasoningEffort:r}).catch(t=>{throw a(wE(e,t)),t});return(!de||E?.id===i.id)&&ee(e=>Xh(e,o.events)),P(e=>cv(e,o.session)),te?.(o),re(t),!0}let a=(xe?p.find(e=>e.id===xe&&Rr(R,e)&&e.sandbox)??null:null)??Fr(R,Ir(p)),o=Pr(R,m).map(e=>e.ref);if(!i){let e=ve?.appId??he?.id??null,n=ve?.appName??he?.name??null,r=_e,a=de?null:Xg(ge,x),o=ye?r_({cloudProjects:x,selectedCloudProject:r,selectedProject:ge}):null;if(o?.kind===`missing_cloud_project`)throw Error(o.message);let s=o?.kind===`ready`,l=s?W:r?`openpond`:W,u=Qe(l,oe,ie),d=ae(l,ce),f=s?i_({modelRef:u,provider:l,target:o,title:V.slice(0,64)}):null;i=await Z.createSession(t,f?{...f,subagentDelegationMode:O,metadata:{...f.metadata,...A.sessionMetadata??{}},...d?{openPondCommandAccessMode:d}:{},autoTitlePrompt:bE(V)}:{experience:pe,provider:l,modelRef:u,subagentDelegationMode:O,...d?{openPondCommandAccessMode:d}:{},appId:e,appName:n,workspaceKind:r?`sandbox`:ge?`local_project`:he?`sandbox_app`:void 0,workspaceId:ge?.id??(he?e:void 0),workspaceName:r?.name??ge?.name??n,localProjectId:ge?.id??null,cloudProjectId:r?.id??a?.id??null,cloudTeamId:r?.teamId??a?.teamId??null,...!r&&!ge&&!he&&D===`local`?{metadata:{...e_(),...A.sessionMetadata??{}}}:{cwd:ge?ge.workspacePath:null,...A.sessionMetadata?{metadata:A.sessionMetadata}:{}},autoTitlePrompt:bE(V)}),ne(e=>[i,...e]),A.onSessionCreated?.(i),G&&(B(i.id),r&&z(Ie(`cloud`,r.id)),i.workspaceKind===`local_project`&&i.workspaceId&&c(Ie(`local`,i.workspaceId)),r&&c(Ie(`cloud`,r.id)))}if(DE(i)&&Qg(i.workspaceKind)&&i.provider!==`openpond`&&!t_(i))throw Error(`Cloud workspaces use OpenPond Chat. Switch to Local to use local providers.`);if(DE(i)&&Qg(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:V,error:r,target:t_(i)?`hybrid_sandbox`:`cloud_workspace`}).then(e).catch(()=>void 0),n}Me=Zn({afterMessageId:be.at(-1)?.id??null,attachments:d,content:V,sessionId:i.id}),Se(),Ae=i.id,U.current.add(Ae),I?.(Me),ne(e=>e.map(e=>e.id===Ae?{...e,status:`active`}:e));let s=W,u=xE({provider:s,model:oe,providerSettings:ie}),f=Fe(s,u.model??oe,ie),h=s===`codex`?Ke(n):{approvalPolicy:`on-request`,sandbox:`workspace-write`};await Z.sendTurn(t,i.id,{prompt:V,metadata:A.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?Ue(s,u.model??oe,r,ie):void 0}),je=!0,re(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 j(e instanceof Error?e.message:String(e)),!1}finally{Ae&&U.current.delete(Ae),Ae&&Up(Ae)&&F?.(Ae,!1),Ae&&(Up(Ae)?P(e=>e.map(e=>e.id===Ae&&e.status===`active`?{...e,status:`idle`}:e)):je||ne(e=>e.map(e=>e.id===Ae&&e.status===`active`?{...e,status:`idle`}:e)))}}async function fe(n,r){let i=U.current.values().next().value??null,a=n??E?.id??i;if(!t||!a)return!1;if(j(null),Up(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&&ee(t=>Xh(t,e.events)),P(e=>cv(e,n)),j(`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 j(`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&&ee(e=>Xh(e,n.events)),P(e=>cv(e,n.session)),!0}catch(e){let t=e instanceof Error?e.message:String(e);return j(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 j(e instanceof Error?e.message:String(e)),!1}}async function me(n,r){t?(j(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))):j(`OpenPond App server is not connected.`)}async function he(e){await me(e.run,{type:`approve_plan`})}async function ge(e){await me(e.run,{type:`cancel`,reason:null})}async function _e(e,t){await me(e.run,{type:`revise_plan`,revision:t})}async function ve(e,t,n){await me(e.run,{type:`answer_question`,questionId:t,value:n})}async function ye(e){await me(e.run,{type:`pause`})}async function G(e){await me(e.run,{type:`resume`})}async function be(e,t){await me(e.run,{type:`open_pull_request`,candidateId:t})}async function xe(e,t){await me(e.run,{type:`apply_candidate`,candidateId:t})}async function Se(e,t){await me(e.run,{type:`reject_candidate`,candidateId:t,reason:null})}async function Ce(e,t){await me(e.run,{type:`reconcile_pull_request`,candidateId:t})}return{answerCreateImproveQuestion:ve,approveCreateImproveRun:he,applyCreateImproveCandidate:xe,cancelCreateImproveRun:ge,changeDraftProvider:oe,openCreateImprovePullRequest:be,pauseCreateImproveRun:ye,reconcileCreateImprovePullRequest:Ce,rejectCreateImproveCandidate:Se,resumeCreateImproveRun:G,reviseCreateImproveRun:_e,sendPrompt:de,stopTurn:fe}}function DE(e){return e.experience===`development`||e.experience===`work`&&(e.workspaceKind===`local_project`||!!e.localProjectId||!!e.cloudProjectId||e.metadata?.workspaceTarget===`local`)}async function OE({branch:e,connection:t,session:n}){if(!Qg(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 kE(e){return t_(e)?`Preparing Hybrid sandbox...`:`Starting Cloud workspace...`}function AE(e,t){if(e===`already_running`)return null;let n=t_(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 jE(e,t){return!e.cloudProjectId||!e.cloudTeamId||t.some(t=>t.id===e.cloudProjectId&&t.teamId===e.cloudTeamId)}function ME({applyBootstrapPayload:e,cloudProjects:t,connection:n,localProjectById:r,selectedCloudProject:i,selectedProject:a,setWorkspaceBusy:o,showToast:s,visibleWorkspaceState:c}){return(0,Y.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&&!jE(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(kE(l),`info`),o(!0);try{let t=await OE({branch:a?.linkedSandboxProject?.defaultBranch??i?.defaultBranch??c?.currentBranch??null,connection:n,localProject:u,session:l,source:t_(l)?`openpond-app-hybrid-chat-preflight`:`openpond-app-cloud-chat-preflight`});t.bootstrap&&e(t.bootstrap);let r=AE(t.status,l);return r&&s(r,`success`),t.session}finally{o(!1)}},[e,t,n,r,i,a,o,s,c?.currentBranch])}function NE(){return{diffPanelOpen:!1,diffPanelExpanded:!1,rightPanelMode:`home`,rightChatPanels:[]}}function PE(e){return{diffPanelOpen:e.diffPanelOpen,diffPanelExpanded:e.diffPanelExpanded,rightPanelMode:e.rightPanelMode,rightChatPanels:e.rightChatPanels}}function FE(e){return{...e,rightChatPanels:e.rightChatPanels.map(e=>({...e}))}}function IE(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 LE(e){return`${e.conversationId}\u0000${e.workspaceSourceKey||`none`}`}var RE=`openpond.conversation-sidebar-recovery.v1`,zE=524288,BE=F({conversations:N(B(),F({diffPanelOpen:I(),diffPanelExpanded:I(),rightPanelMode:R([`home`,`changes`,`browser`,`goal`,`chat`,`training`]),rightChatPanels:k(F({id:B(),activationVersion:L(),sessionId:B().nullable(),prompt:B(),provider:Te,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:k(B()).max(200),selectedPath:B().nullable(),filesTabOpen:I(),overviewTabs:k(L().int()).max(200),activeOverviewId:L().int(),tabOrder:k(B()).max(400)})).refine(e=>Object.keys(e).length<=1024)});function VE(e){try{let t=(e??window.localStorage).getItem(RE);if(t&&t.length<=zE){let e=BE.safeParse(JSON.parse(t));if(e.success)return e.data}}catch{}return{conversations:{},workspaces:{}}}function HE(e,t=window.localStorage){let n=JSON.stringify(BE.parse(e));if(n.length>zE)throw Error(`Sidebar state exceeds local recovery capacity.`);t.setItem(RE,n)}function UE(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,Y.useState)(VE),v=(0,Y.useRef)(new Map(Object.entries(_.conversations))),y=(0,Y.useRef)(new Map(Object.entries(_.workspaces))),b=(0,Y.useRef)(null),x=(0,Y.useRef)(null),S=u??`draft:${c??o??s?.id??`general`}`,C=LE({conversationId:S,workspaceSourceKey:(0,Y.useMemo)(()=>m?`${h??`workspace`}:${m}`:p?`app:${p}`:l?.cwd&&!Qg(l.workspaceKind)?`cwd:${l.cwd}`:`none`,[l?.cwd,l?.workspaceKind,f,p,m,h])}),w=(0,Y.useMemo)(()=>PE({diffPanelExpanded:n,diffPanelOpen:r,rightChatPanels:i,rightPanelMode:a}),[n,r,i,a]);(0,Y.useEffect)(()=>{let e=b.current;e&&v.current.set(e,FE(w))},[S,w]),(0,Y.useEffect)(()=>{if(b.current===S)return;b.current=S;let e=v.current.get(S)??NE();IE(w,e)||t({type:`patch`,patch:FE(e)})},[S,w]),(0,Y.useEffect)(()=>{let e=x.current;e&&y.current.set(e,b_(g))},[C,g]),(0,Y.useEffect)(()=>{if(x.current===C)return;x.current=C;let e=y.current.get(C)??y_();d(t=>S_(t,e)?t:b_(e))},[C]);let T=(0,Y.useCallback)(()=>{HE({conversations:Object.fromEntries(v.current),workspaces:Object.fromEntries(y.current)})},[]),E=(0,Y.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,Y.useEffect)(()=>{let e=window.setTimeout(()=>{try{T()}catch{E()}},500);return()=>window.clearTimeout(e)},[T,E,S,w,C,g]),(0,Y.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,Y.useCallback)(e=>{d(t=>S_(t,e)?t:b_(e))},[])}}function WE({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,Y.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]),O=(0,Y.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=Xg(n,l);v(e=>e&&{...e,status:`uploading`,error:null,previewLoading:!1});try{let t=gE((await Z.organizations(u)).organizations.map(jr).filter(e=>!!e).filter(e=>e.status===`active`),d);if(!t)throw Error(`Add an OpenPond account before creating a Cloud environment.`);if(!Nr(t))throw Error(`You need owner or admin access to create projects in ${t.displayName}.`);let i=e.branch||n.linkedSandboxProject?.defaultBranch||`main`,s=Ie(`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(Ie(`cloud`,l.project.id));let p=oE({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=cE({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]),k=(0,Y.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,Y.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}k(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(Qg(r)&&!window.confirm(`Switch to Local? Cloud changes will stay in the hosted workspace until you preserve or export them.`))return;let n=Ie(`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:cE({accountBaseUrl:E,organizationSlug:m.organizationSlug,projectSlug:m.slug}),setupUrl:oE({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`;k(o,c)},[E,t,n,r,i,a,s,u,l,f,p,k,m,h,g,_,v,y,b,C,w?.currentBranch,T]),moveProjectToCloud:(0,Y.useCallback)(e=>{We(e)&&k(e.project)},[k]),openCloudSetupForLocalProject:k,startCloudSetupUpload:O}}function GE({advanceTrainingTurn:e,bindTrainingSession:t,composerDraftStore:n,onSessionCreated:r,onSubmitted:i,prepareTrainingTurn:a,sendPrompt:o,setMentionedAppId:s,showToast:c}){return(0,Y.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 KE({appDispatch:e,connection:t,sessions:n,setDiffPanelOpen:r,setRightPanelMode:i,setSessions:a,setView:o}){return(0,Y.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 qE({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=Ie(`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=gE((await Z.organizations(e)).organizations.map(jr).filter(e=>!!e).filter(e=>e.status===`active`),t);if(!n)throw Error(`Add an OpenPond account before creating a Cloud Project.`);if(!Nr(n))throw Error(`You need owner or admin access to create projects in ${n.displayName}.`);let i=`${Ar(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:Mr(`# ${r}\n\nCreated in OpenPond Cloud.\n`)}]})).project,a(await Z.bootstrap(e));let d=Ie(`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(qe(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(!We(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 JE(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=Xg(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:e_(e.metadata)}}function YE({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:O,workspaceBusy:k}){let A=(0,Y.useRef)({connection:t,sessionId:n?.id});return A.current={connection:t,sessionId:n?.id},{changeProjectTarget:(0,Y.useCallback)(async s=>{let c=n?.nativeAgent&&n.nativeAgent.cwd!==n.cwd;if(s===y&&!c||a||k)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),O(`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(Up(n.id)){O(`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,JE(n,a,g,[...o.values()]));if(r(e=>e.map(e=>e.id===i.id?i:e)),A.current.connection!==t||A.current.sessionId!==n.id)return;let s=Ie(g,a.id);e({type:`selectSession`,sessionId:i.id,appId:i.appId,projectId:s}),u(s),O(`Attached this chat to ${a.name}.`,`success`)}catch(e){A.current.sessionId===n.id&&O(e instanceof Error?e.message:`Could not attach this chat.`,`error`)}finally{i(!1)}}else if(g===`local`){let t=d.get(_);if(!t){O(`Project is no longer available.`,`error`);return}let n=Ie(`local`,t.id);e({type:`selectProject`,projectId:n}),u(n),b(!1)}else if(g===`cloud`){let t=o.get(_);if(!t){O(`Cloud Project is no longer available.`,`error`);return}let n=Ie(`cloud`,t.id);e({type:`selectProject`,projectId:n}),u(n),S(`openpond`),x(e=>ze(`openpond`,e)),b(!1)}},[e,t,n,r,i,a,o,u,d,f,p,m,h,y,b,x,S,C,O,k]),submitNewProjectDialog:(0,Y.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 XE(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 ZE(e){return e.reduce((e,t)=>!e||t.activationVersion>=e.activationVersion?t:e,null)}function QE(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 $E(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 eD(e){return!!(e.parentSessionId&&e.subagentRunId)}function tD(e){let t=e.sessions.filter(eD);return{knownSessionIds:new Set(t.map(e=>e.id)),newSessions:t.filter(t=>!e.knownSessionIds.has(t.id))}}function nD(e,t){let n=new Set(e.map(e=>e.sessionId).filter(Boolean)),r=t.filter(eD).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 rD(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:Bn(n),requiresInstructions:!0};case`sync-cloud`:return{kind:`send_prompt`,prompt:`/sync-cloud ${n}`,requiresInstructions:!1}}}var iD=[];function aD(e){let{approvals:t,codexHistoryEvents:n,contextCompaction:r,pendingChatUserMessages:i,rightChatHistoryEvents:a,rightChatPanels:o,runningSessionIds:s,selectedSessionId:c,sidebarSessions:l}=e;return(0,Y.useMemo)(()=>{let e=new Map(l.map(e=>[e.id,e])),u=oD(t);return o.map(t=>{let o=t.sessionId?e.get(t.sessionId)??null:null,l=Up(t.sessionId),d=l?(t.sessionId?a[t.sessionId]:void 0)??(t.sessionId===c?n:iD):iD,f=Cg(d,[]),p=t.sessionId?u.get(t.sessionId)??null:null,m=!!(o&&s.has(o.id)),h=l?Qn({events:d}):null,g=o?.cwd??null,_=o?.appId??o?.localProjectId??(o?.workspaceKind===`local_project`?o.workspaceId??null:null)??(o?.cwd&&!Qg(o.workspaceKind)?Di(o.cwd):null),v=t.sessionId?i[t.sessionId]??null:null;return{...t,session:o,title:Kn(h,o?.title??`New task`),messages:l?Yn(Ex(d),v):[],createImproveRun:h,contextWindowStatus:cg({provider:t.provider,snapshot:Ng(f,t.sessionId),preferences:r}),goalRuntime:Pg(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 oD(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 sD(e){let{applyPayload:t,connection:n,locallyActiveSessionIds:r,panels:i,sessions:a,setError:o}=e,s=(0,Y.useMemo)(()=>{let e=new Set,t=[];for(let n of i)Up(n.sessionId)&&n.sessionId&&!e.has(n.sessionId)&&(e.add(n.sessionId),t.push(n.sessionId));return t.join(`
47
- `)},[i]),c=(0,Y.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,Y.useMemo)(()=>s?s.split(`
50
- `).filter(e=>r.has(e)).join(`
51
- `):``,[r,s]);(0,Y.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=>Lv({connection:n,locallyActive:i.has(e),onError:e=>o(e instanceof Error?e.message:String(e)),onPayload:n=>t(Pv(n,i.has(e))),reportedActive:r.has(e),sessionId:e,surface:`thread`}));return()=>a.forEach(e=>e())},[c,t,n,l,s,o])}var cD=[];function lD(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:O,setView:k,showChangesPanel:A,showToast:j,sidebarSessions:M,startupReady:N}=e,ee=(0,Y.useRef)(null),P=(0,Y.useRef)(new Map),F=(0,Y.useRef)(new Set);(0,Y.useEffect)(()=>{if(!s)return;let e=h.flatMap(e=>e.sessionId&&!Up(e.sessionId)?[e.sessionId]:[]);for(let t of e)Object.hasOwn(m,t)||F.current.has(t)||(F.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]:Yh(e[t]??cD,n)}))}).catch(e=>{w(e instanceof Error?e.message:String(e))}).finally(()=>{F.current.delete(t)}))},[s,m,h,w,T]);let te=(0,Y.useCallback)((e,t)=>{O(n=>({id:(n?.id??0)+1,tab:e,overview:t})),A()},[A]),I=(0,Y.useCallback)((e=null,r={})=>{let i=e?.id?h.find(t=>t.sessionId===e.id)??null:null;if(i)return E(t=>$E(t,{sessionId:e.id,prompt:r.prompt})),C(!0),D(`chat`),r.preserveView||k(`chat`),i.id;let a=XE({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||k(`chat`),a.id},[t,n,h,C,E,D,k]);(0,Y.useEffect)(()=>{if(!N)return;let e=ee.current;if(!e){ee.current=new Set(M.filter(e=>!!(e.parentSessionId&&e.subagentRunId)).map(e=>e.id));return}let t=tD({sessions:M,knownSessionIds:e});ee.current=t.knownSessionIds;for(let e of t.newSessions)P.current.set(e.id,e);let n=b?.parentSessionId??b?.id??null;if(!n)return;let r=[...P.current.values()].filter(e=>e.parentSessionId===n);if(r.length!==0){for(let e of r)P.current.delete(e.id);E(e=>nD(e,r)),C(!0),D(`chat`)}},[b?.id,b?.parentSessionId,C,E,D,M,N]);let L=(0,Y.useCallback)(()=>{h.length===0?I(null):(C(!0),D(`chat`),k(`chat`))},[I,h.length,C,D,k]),R=(0,Y.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(te(`files`),typeof window>`u`){n();return}window.requestAnimationFrame(n)}else n()},[h,g,E,te]),z=(0,Y.useCallback)((e,t)=>{E(n=>n.map(n=>n.id===e?{...n,prompt:t}:n))},[E]),B=(0,Y.useCallback)(e=>{E(t=>QE(t,e))},[E]),ne=(0,Y.useCallback)((e,t)=>{E(n=>n.map(n=>n.id===e?{...n,...t}:n))},[E]),V=(0,Y.useCallback)((e,t)=>{let n=h.find(t=>t.id===e);n&&Nn(n.provider,t),E(n=>n.map(n=>n.id===e?{...n,model:t}:n))},[h,E]),H=(0,Y.useCallback)((e,t,n)=>{let r=n??Dn(t,p);Nn(t,r),E(n=>n.map(n=>n.id===e?{...n,provider:t,model:r}:n))},[p,E]);return sD({applyPayload:i,connection:s,locallyActiveSessionIds:u,panels:h,sessions:M,setError:w}),{activateRightChatPanel:B,closeRightChatPanel:R,openRightChatPanel:I,rightChatPanelViews:aD({approvals:r,codexHistoryEvents:a,contextCompaction:c,pendingChatUserMessages:f,rightChatHistoryEvents:m,rightChatPanels:h,runningSessionIds:y,selectedSessionId:x,sidebarSessions:M}),showRightChatPanel:L,showRightPanelDiffTab:te,submitRightChatPrompt:(0,Y.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?rD(r,c):null;if(u?.kind===`open_training`)return t.length>0?(j(`/train uses this chat; add other chats from Models.`,`error`),!1):(l({objective:u.objective,sessionId:s.sessionId}),i.preservePrompt||z(e,``),!0);if(r&&u?.kind===`send_prompt`&&u.requiresInstructions&&!c.trim())return j(`Add instructions after ${r.command}.`,`info`),!1;if(r&&t.length>0)return j(`${r.command} tasks do not accept attachments yet. Add file context in the task thread.`,`error`),!1;if(r?.id===`submit-issue`&&!Rn(o))return j(`Connect the GitHub app before using /submit-issue.`,`error`),!1;let f=s.sessionId?M.find(e=>e.id===s.sessionId)??null:null,p=s.provider===`codex`?d:f?.openPondCommandAccessMode??d,g=u?.kind===`send_prompt`?u.prompt:c,_=Up(s.sessionId)?(s.sessionId?m[s.sessionId]:void 0)??(s.sessionId===x?a:cD):v.getSessionEvents(s.sessionId),y=Up(s.sessionId)&&s.sessionId?e=>{let t=s.sessionId;T(n=>({...n,[t]:Yh(n[t]??_,[e])}))}:void 0;return S(t,n,g,{session:f,selectSession:!1,provider:s.provider,model:s.model,openPondCommandAccessMode:p,chatMessages:Ex(_),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:()=>z(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,k,M,j,z]),updateRightChatModel:V,updateRightChatPrompt:z,updateRightChatProvider:H,updateRightChatScrollState:ne}}function uD(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=Up(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 dD(e){return e.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,72)||`new-branch`}function fD({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:O,setError:k,setSessions:A,setSettingsSection:j,setSyncingWorkspaceAppId:M,setView:N,setWorkspaceBusy:ee,showToast:P}){function F(){return`${Ze(n.defaultBranchPrefix)}${dD(b??g??`new-branch`)}`}function te(){return b?`Update ${b}`:(_?.filesChanged??v?.changedFilesCount??0)===1?`Update workspace file`:`Update workspace files`}function I(e=`commit`){x({type:`openCommitDialog`,nextStep:e})}function L(){x({type:`openBranchDialog`,branchName:F()})}function R(){y||D(!1),j(`configuration`),N(`settings`),vf({kind:`settings`,section:`configuration`})}async function z(n){if(e&&t){ee(!0),k(null);try{let r=await Z.checkoutWorkspaceBranch(e,t,{branch:n});E(r),r.initialized&&T(t)}catch(e){k(e instanceof Error?e.message:String(e))}finally{ee(!1)}}}async function B(){if(!e||!t)return;let n=i.trim();if(n){ee(!0),k(null);try{let r=await Z.createWorkspaceBranch(e,t,{branch:n});E(r),r.initialized&&T(t),D(!1),P(`Checked out ${n}`,`success`)}catch(e){k(e instanceof Error?e.message:String(e))}finally{ee(!1)}}}async function ne(e){M(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?P(`${n} synced locally`,`success`):r?.error&&P(`Workspace sync failed`,`error`)}finally{M(t=>t===e?null:t)}}async function V(){t&&await ne(t)}async function H(t,n,i={}){if(!e)return null;let a=m&&!Up(m.id)?m:null;if(_D(n,a,i)||a&&pD(a,f,d))return a;let o=a?await re(a):null;if(o)return o;let s=mD(h,f,d);if(s){let e=s.workspaceKind===`local_project`&&s.workspaceId?Ie(`local`,s.workspaceId):null;return x({type:`selectSession`,sessionId:s.id,appId:s.appId,projectId:e}),s.workspaceKind===`local_project`&&s.workspaceId&&C(Ie(`local`,s.workspaceId)),s}let g=Xg(f,u),_=await Z.createSession(e,{provider:l,modelRef:Qe(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});A(e=>[_,...e]);let v=_.workspaceKind===`local_project`&&_.workspaceId?Ie(`local`,_.workspaceId):null;return x({type:`selectSession`,sessionId:_.id,appId:_.appId,projectId:v}),_.workspaceKind===`local_project`&&_.workspaceId&&C(Ie(`local`,_.workspaceId)),_}async function re(t){if(!e||!f||!p?.appId||Up(t.id)||t.workspaceKind===`local_project`||t.appId!==p.appId)return null;let n=Xg(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 A(e=>e.map(e=>e.id===r.id?r:e)),x({type:`selectSession`,sessionId:r.id,appId:r.appId,projectId:Ie(`local`,f.id)}),C(Ie(`local`,f.id)),r}async function U(t,n={}){if(!e)return null;let r=await H(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`});P(i.output,i.ok?`success`:`error`),S(await Z.bootstrap(e));let a=i.appId??gD(r);return a&&(await w(a,!1))?.initialized&&await T(a),i}async function ie(e,t={}){if(e===`git_commit`&&typeof t.message!=`string`)return I(`commit`),null;ee(!0),k(null);try{return await U(e,t)}catch(e){return k(e instanceof Error?e.message:String(e)),null}finally{ee(!1)}}async function ae(){let e=o.trim()||te(),t=s===`commit_publish`,n=t&&!!v?.remoteUrl;if(!n||window.confirm(`Replace the current origin remote with the new OpenPond repo after committing?`)){ee(!0),k(null);try{if(!(await U(`git_commit`,{message:e,includeUnstaged:a}))?.ok||s===`commit_push`&&!(await U(`git_push`,{runChecks:!1}))?.ok||t&&!(await U(`publish_openpond_repo`,{replaceOrigin:n}))?.ok)return;O(!1)}catch(e){k(e instanceof Error?e.message:String(e))}finally{ee(!1)}}}return{changeWorkspaceBranch:z,openCommitDialog:I,openCreateWorkspaceBranchDialog:L,openDefaultsSettingsFromBranchDialog:R,runWorkspaceTool:ie,submitCommitDialog:ae,submitCreateWorkspaceBranch:B,syncWorkspaceLocally:V,syncWorkspaceLocallyForApp:ne}}function pD(e,t,n){return!t&&!n||hD(e,t,n)}function mD(e,t,n){if(!t&&!n)return null;let r=null,i=-1/0;for(let a of e){if(a.archived||!hD(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 hD(e,t,n){return t?e.workspaceKind===`local_project`&&e.workspaceId===t.id:n?e.appId===n.id||e.workspaceId===n.id:!1}function gD(e){return e.workspaceKind===`sandbox`?e.localProjectId??null:e.workspaceId??e.appId??null}function _D(e,t,n={}){return(vD(e)||bD(e,n))&&yD(t)}function vD(e){return e.startsWith(`sandbox_`)?e!==`sandbox_create`&&e!==`sandbox_templates`&&e!==`sandbox_template_launch`:!1}function yD(e){return e?.workspaceKind===`sandbox`||e?.workspaceKind===`sandbox_template`}function bD(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 xD(e,t){return e.kind===`general`?`# general`:e.title?e.title:e.participants.find(e=>e.userId!==t)?.name??`Direct message`}var SD=[];function CD(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:O,diffPanelExpanded:k,rightPanelMode:A,rightChatPanels:j,newProjectMode:M,newProjectName:N,newProjectBusy:ee,commitMessage:P,commitIncludeUnstaged:F,commitNextStep:te,branchDialogName:I,setSectionMenuOpen:L,setView:R,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:ne,setPrompt:V,setDraftProvider:H,setDraftModel:re,setDiffPanelOpen:U,setRightPanelMode:ie,setRightChatPanels:ae,setSyncingWorkspaceAppId:W,setSettingsSection:oe,setNewProjectDialogOpen:se,setNewProjectMode:ce,setNewProjectName:le,setNewProjectPath:ue,setNewProjectBusy:de,setCommitDialogOpen:fe,setBranchDialogOpen:pe,setError:me,showToast:he,appPreferences:ge,applyBootstrapPayload:_e,approvals:ve,bootstrap:ye,connection:G,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:$e,selectedProjectConfirmedCloudProject:et,activeOpenPondCommandAccessMode:tt,viewWorkspaceAppId:nt,viewWorkspaceId:rt,viewWorkspaceKind:it,openPondActionCatalog:at,selectedActionCatalog:ot,expandProject:st,setExpandedProjectIds:ct,advanceTrainingModelChatAfterTurn:lt,bindTrainingModelChatSession:ut,prepareTrainingModelChatTurn:dt,chatMessages:ft,pendingChatUserMessages:pt,recordPendingChatUserMessage:mt,runningSessionIds:ht,workspaceBusy:gt,visibleWorkspaceState:_t,visibleWorkspaceDiff:vt,rememberWorkspaceState:yt,refreshWorkspace:bt,setWorkspaceBusy:xt,refreshWorkspaceDiffWhenNeeded:St,setPendingWorkspaceTarget:Ct,pendingSidebarWorkspaceTarget:wt,setPendingSidebarWorkspaceTarget:Tt,projectTarget:Et,workspaceTarget:Dt}=e,Ot=_===`apps`?`Apps`:_===`get-started`?`Walkthroughs`:_===`labs`?`Models`:_===`scheduled`?`Workflows`:_===`outputs`?`Outputs`:_===`projects`?`Projects`:_===`team`?Ze.detail?xD(Ze.detail.thread,Ze.currentUserId):`Team Chat`:_===`community`?$e.preview?.displayName??`Communities`:K?.title??g_(C),{browserConversationId:kt,handleWorkspaceDiffPanelViewStateChange:At}=UE({appDispatch:n,diffPanelExpanded:k,diffPanelOpen:O,rightChatPanels:j,rightPanelMode:A,selectedAppId:v,selectedCloudProject:je,selectedProjectId:y,selectedSession:K,selectedSessionId:b,setWorkspaceDiffPanelViewState:l,view:_,viewWorkspaceAppId:nt,viewWorkspaceId:rt,viewWorkspaceKind:it,workspaceDiffPanelViewState:c}),jt=JSON.stringify([er(G),ye?.server.id,ye?.account.activeProfile,ye?.account.profile?.id,ye?.preferences.defaultTeamId]),Mt=(0,Y.useRef)(jt);Mt.current=jt;let q=(0,Y.useCallback)(async(e,t,n=()=>!0)=>{let r=()=>Mt.current===jt&&n();if(!G||!r())return!1;let i=Pe.find(t=>t.id===e);if(!i){let t=await Z.bootstrap(G);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(G,e),!r())||!await vf({kind:`chat`,sessionId:e},`push`,r)||!r()?!1:(De(e=>lv(e,i)),ne(e),z(null),B(null),R(`chat`),t&&uu(t),!0)},[G,jt,Pe,De,z,B,ne,R]),Nt=(0,Y.useCallback)(()=>{ce(`existing-local`),le(``),ue(``),se(!0)},[se,ce,le,ue]),Pt=(0,Y.useCallback)(()=>{ce(`local`),le(``),ue(``),se(!0)},[se,ce,le,ue]),{createCloudProjectFromScratch:Ft,createProjectFromScratch:It,createProjectCollection:Lt,removeProject:Rt}=qE({connection:G,defaultTeamId:qe.defaultTeamId,sessions:Se,selectedProjectId:y,confirmProjectAction:g,applyBootstrapPayload:_e,expandProject:st,setExpandedProjectIds:ct,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:ne,setError:me,setView:R,showToast:he}),{changeWorkspaceBranch:zt,openCommitDialog:Bt,openCreateWorkspaceBranchDialog:Vt,openDefaultsSettingsFromBranchDialog:Ht,runWorkspaceTool:Ut,submitCommitDialog:Wt,submitCreateWorkspaceBranch:Gt,syncWorkspaceLocally:Kt}=fD({connection:G,activeWorkspaceAppId:We,appDefaults:qe,bootstrap:ye,branchDialogName:I,commitIncludeUnstaged:F,commitMessage:P,commitNextStep:te,draftModel:S,draftProvider:x,cloudProjects:ye?.cloudProjects??[],selectedApp:Ae,selectedProject:Me,selectedProjectLinkedOpenPondApp:Ne,selectedSession:K,sessions:Se,title:Ot,visibleWorkspaceDiff:vt,visibleWorkspaceState:_t,workspaceBusy:gt,workspaceName:Ye,appDispatch:n,applyBootstrapPayload:_e,expandProject:st,refreshWorkspace:bt,refreshWorkspaceDiff:St,rememberWorkspaceState:yt,setBranchDialogOpen:pe,setCommitDialogOpen:fe,setError:me,setSessions:De,setSettingsSection:oe,setSyncingWorkspaceAppId:W,setView:R,setWorkspaceBusy:xt,showToast:he}),qt=ME({applyBootstrapPayload:_e,cloudProjects:ye?.cloudProjects??[],connection:G,localProjectById:ke,selectedCloudProject:je,selectedProject:Me,setWorkspaceBusy:xt,showToast:he,visibleWorkspaceState:_t}),Jt=ye?.preferences.subagents.delegationMode??`manual`,Yt=K?.subagentDelegationMode??m,Xt=!(C!==`development`||!ye?.preferences.subagents.enabled||Ue===`codex`||Up(b)||K?.subagentRunId),Zt=(0,Y.useCallback)(e=>{if(!K){h(e);return}if(!G||Up(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(G,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)),me(e instanceof Error?e.message:String(e))})},[G,K,me,De]),Qt=(0,Y.useCallback)(e=>{d(t=>t[e.session.id]===e.events?t:{...t,[e.session.id]:e.events}),Te(t=>lv(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:fn}=EE({applyBootstrapPayload:_e,bootstrap:ye,chatMessages:ft,connection:G,codexPermissionMode:w,codexReasoningEffort:T,openPondCommandAccessMode:tt,draftModel:S,draftProvider:x,experience:C,expandProject:st,getPrompt:t.getSnapshot,apps:ye?.apps??[],connectedAppMentions:Ie,mentionedAppId:r,ensureCloudSessionReady:qt,refreshWorkspace:bt,refreshWorkspaceDiff:St,selectedApp:Ae,selectedActionCatalog:ot,openPondActionCatalog:at,cloudProjects:ye?.cloudProjects??[],accountScopeKey:Xe,selectedCloudProject:je,selectedProject:Me,selectedProjectLinkedOpenPondApp:Ne,selectedSession:K,sessions:Se,workspaceTarget:Dt.value,subagentDelegationMode:K?.subagentDelegationMode??m,setDraftModel:re,setDraftProvider:H,setError:me,setPrompt:V,setMentionedAppId:i,setCodexHistoryEvents:Re,setCodexHistorySessions:Te,onCodexHistoryTurnActivityChange:p,onCodexHistoryTurnPayload:Qt,onPendingUserMessage:mt,setEvents:Ee,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:ne,setSessions:De,setView:R,setWorkspaceBusy:xt}),{archiveSession:pn,restoreSession:mn,renameSession:hn,toggleProjectPinned:gn,toggleSessionPinned:_n,toggleSessionSavedForLater:vn}=uD({appPreferences:ge,connection:G,selectedSessionId:b,setAppPreferences:we,setCodexHistorySessions:Te,setError:me,setSelectedSessionId:ne,setSessions:De}),{changeWorkspaceTarget:yn,moveProjectToCloud:bn,startCloudSetupUpload:J}=WE({account:ze,accountPending:Be,accountSignedOut:Ve,activeWorkspaceKind:Ge,activeWorkspaceLocation:Ke,appDispatch:n,applyBootstrapPayload:_e,busy:D,cloudSetupDialog:a,cloudProjects:ye?.cloudProjects??[],connection:G,defaultTeamId:qe.defaultTeamId,expandProject:st,localProjectById:ke,selectedCloudProject:je,selectedProject:Me,selectedSession:K,selectedSessionProjectId:Je,setCloudSetupDialog:o,setDiffPanelOpen:U,setError:me,setSessions:De,setWorkspaceBusy:xt,showToast:he,visibleWorkspaceState:_t,workspaceBusy:gt}),xn=(0,Y.useCallback)(async e=>{if(C===`work`&&!K){if(e===`local`){Ct(`local`),he(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){he(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(Ve){he(`Add an OpenPond account before using Hosted.`,`error`);return}Ct(`cloud`),he(`Next task will use Hosted without a Project.`,`info`);return}}if(e===`hybrid`){let e=je?.id??et?.id??K?.cloudProjectId??null,t=je?.teamId??et?.teamId??K?.cloudTeamId??null;if(Be){he(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(Ve){he(`Add an OpenPond account before using Hybrid.`,`error`);return}if(!e||!t){Ct(null),he(`Upload/sync this Project to Cloud before using Hybrid.`,`error`);return}if(K&&!Up(K.id)){if(t_(K))return;if(!G){he(`OpenPond App server is not connected.`,`error`);return}let n=await Z.patchSession(G,K.id,{provider:x,modelRef:Qe(x,S,ye?.providers??null),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:null,workspaceName:je?.name??et?.name??Me?.name??K.workspaceName??`Hybrid workspace`,localProjectId:Me?.id??K.localProjectId??null,cloudProjectId:e,cloudTeamId:t,metadata:$g(K.metadata),cwd:Me?.workspacePath??K.cwd??null});De(e=>e.map(e=>e.id===n.id?n:e)),Ct(null),he(`Hybrid will use your selected model with hosted sandbox edits.`,`info`);return}Ct(`hybrid`),he(`Next message will use Hybrid with a hosted sandbox.`,`info`)}else Ct(null),await yn(e)},[Be,Ve,C,ye?.providers,yn,G,S,x,je?.id,je?.name,je?.teamId,Me?.id,et?.id,et?.name,et?.teamId,Me?.name,Me?.workspacePath,K,Ct,De,he]),Sn=(0,Y.useCallback)((e,t)=>{z(null),B(e),ne(null),R(`chat`),st(e),Tt({projectId:e,target:t})},[st,z,B,ne,R]);(0,Y.useEffect)(()=>{if(!wt||_!==`chat`||y!==wt.projectId||b!==null)return;let e=wt.target;Tt(null),xn(e)},[xn,wt,y,b,_]);let Cn=GE({advanceTrainingTurn:lt,bindTrainingSession:ut,composerDraftStore:t,onSessionCreated:e=>{ne(e.id),R(`chat`),vf({kind:`chat`,sessionId:e.id}),h(null)},onSubmitted:async()=>{let e=K;if(G&&e&&Hf(e))try{let t=await Z.patchSession(G,e.id,{metadata:Gf(e.metadata)});De(e=>e.map(e=>e.id===t.id?t:e))}catch(e){he(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:dt,sendPrompt:dn,setMentionedAppId:i,showToast:he}),wn=KE({appDispatch:n,connection:G,sessions:Se,setDiffPanelOpen:U,setRightPanelMode:ie,setSessions:De,setView:R}),{createCloudEnvironmentFromSidebar:Tn,openCloudProjectDialog:En,openUrlInBrowserPanel:Dn,showBrowserPanel:On,showChangesPanel:kn,showGoalSidebarTab:An}=uE({account:ze,browserConversationId:kt,cloudProjectById:Oe,cloudProjects:ye?.cloudProjects??[],diffPanelOpen:O,rightPanelMode:A,selectedProjectId:y,setDiffPanelOpen:U,setNewProjectDialogOpen:se,setNewProjectMode:ce,setNewProjectName:le,setRightPanelMode:ie}),{changeProjectTarget:jn,submitNewProjectDialog:Mn}=YE({appDispatch:n,connection:G,selectedSession:K,setSessions:De,setWorkspaceBusy:xt,busy:D,cloudProjectById:Oe,createCloudProjectFromScratch:Ft,createProjectFromScratch:It,createProjectCollection:Lt,expandProject:st,localProjectById:ke,newProjectBusy:ee,newProjectMode:M,newProjectName:N,onCreateCloudEnvironment:Tn,onNewCloudProject:En,onNewLocalProject:Pt,onUseExistingFolderPath:Nt,projectTargetValue:Et.value,setDiffPanelOpen:U,setDraftModel:re,setDraftProvider:H,setError:me,setNewProjectBusy:de,setNewProjectDialogOpen:se,setNewProjectName:le,setNewProjectPath:ue,showToast:he,workspaceBusy:gt});fE({browserConversationId:kt,sessionIds:(0,Y.useMemo)(()=>Se.map(e=>e.id),[Se]),onOpenSession:q,onShowBrowserPanel:On});let[Nn,Pn]=(0,Y.useState)(null),Fn=(0,Y.useCallback)(e=>{Pn({id:Date.now(),objective:e.objective,initialSessionIds:e.sessionId?[e.sessionId]:[]}),yf(vr()),R(`labs`)},[R]),{activateRightChatPanel:In,closeRightChatPanel:Ln,openRightChatPanel:Rn,rightChatPanelViews:zn,showRightChatPanel:Bn,showRightPanelDiffTab:Vn,submitRightChatPrompt:Hn,updateRightChatModel:Un,updateRightChatPrompt:Wn,updateRightChatProvider:Gn,updateRightChatScrollState:Kn}=lD({activeModel:He,activeProvider:Ue,approvals:ve,applyRightCodexHistoryPayload:Qt,codexHistoryEvents:Le,connectedAppMentions:Ie,connection:G,contextCompaction:qe.contextCompaction,openLabTraining:Fn,locallyActiveCodexHistorySessionIds:f,openPondCommandAccessMode:E,pendingChatUserMessages:pt,providerSettings:ye?.providers??null,rightChatHistoryEvents:u,rightChatPanels:j,rightPanelMode:A,runtimeIndexes:Fe,runtimeEventStore:xe,runningSessionIds:ht,selectedSession:K,selectedSessionId:b,sendPrompt:dn,setDiffPanelOpen:U,setError:me,setRightChatHistoryEvents:d,setRightChatPanels:ae,setRightPanelMode:ie,setRightPanelTabRequest:s,setView:R,showChangesPanel:kn,showToast:he,sidebarSessions:Pe,startupReady:Ce.ready});return{title:Ot,browserConversationId:kt,handleWorkspaceDiffPanelViewStateChange:At,openSessionInChat:q,openExistingProjectPathDialog:Nt,removeProject:Rt,changeProjectTarget:jn,submitNewProjectDialog:Mn,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:fn,archiveSession:pn,restoreSession:mn,renameSession:hn,toggleProjectPinned:gn,toggleSessionPinned:_n,toggleSessionSavedForLater:vn,moveProjectToCloud:bn,startCloudSetupUpload:J,changeWorkspaceTarget:xn,switchProjectWorkspaceTarget:Sn,sendPromptFromMainComposer:Cn,openSandboxWorkspace:wn,createCloudEnvironmentFromSidebar:Tn,openCloudProjectDialog:En,openUrlInBrowserPanel:Dn,showBrowserPanel:On,showChangesPanel:kn,showGoalSidebarTab:An,rightChatTrainingLaunchRequest:Nn,setRightChatTrainingLaunchRequest:Pn,closeRightChatPanel:Ln,openRightChatPanel:Rn,rightChatPanelViews:zn,showRightChatPanel:Bn,showRightPanelDiffTab:Vn,submitRightChatPrompt:Hn,activateRightChatPanel:In,updateRightChatModel:Un,updateRightChatPrompt:Wn,updateRightChatProvider:Gn,updateRightChatScrollState:Kn,openProfileSettings:(0,Y.useCallback)(()=>{L(null),oe(`profile`),R(`settings`),vf({kind:`settings`,section:`profile`})},[L,oe,R]),diagnosticEvents:(0,Y.useMemo)(()=>Xh(ye?.diagnostics??SD,be.filter(e=>e.name===`diagnostic`)),[ye?.diagnostics,be]),toggleRightSidebar:(0,Y.useCallback)(()=>{O?U(!1):_===`labs`?(ie(`changes`),s({id:Date.now(),tab:`summary`}),U(!0)):(ie(`home`),_===`chat`&&s(e=>({id:(e?.id??0)+1,tab:`outputs`,overview:`new`})),U(!0))},[O,U,ie,s,_])}}var wD=`openpond:desktop-get-started:v1`,TD=`openpond:open-get-started`;function ED(){window.dispatchEvent(new Event(TD))}function DD(e,t){let n=setTimeout(r,5e3);function r(){t()?n=setTimeout(r,500):e()}return()=>clearTimeout(n)}var OD=(0,Y.lazy)(()=>l(()=>import(`./GettingStartedDialog-JtFLyU3F.js`).then(e=>({default:e.GettingStartedDialog})),__vite__mapDeps([82,1,2,3,12,8,35,17,23,25,20,39,40,41,42,46,83,49])));function kD({ready:e,connection:t,payload:n,onPayload:r}){let[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(()=>{try{return localStorage.getItem(wD)!==null}catch{return!1}}),c=Pm(),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,Y.useEffect)(()=>{if(c&&e&&t&&l&&!o&&!u&&!i)return DD(()=>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,Y.useEffect)(()=>{function n(){e&&t&&a(!0)}return window.addEventListener(TD,n),()=>window.removeEventListener(TD,n)},[e,t]);function d(){a(!1),s(!0);try{localStorage.setItem(wD,`dismissed`)}catch{}}return!i||!e||!t||!n?null:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(OD,{connection:t,payload:n,onPayload:r,onClose:d},JSON.stringify([t.serverUrl,t.token]))})}var AD=new Set([`claude.ai`,`console.anthropic.com`,`platform.claude.com`,`console.claude.com`]);function jD(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||!AD.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 MD(e){let t=e.trim();return t&&t.length<=4096&&!/[\s\x00-\x1f\x7f]/u.test(t)?`${t}\r`:null}var ND=(0,Y.lazy)(()=>l(()=>import(`./TerminalOverlay-DlhRpi-X.js`).then(e=>({default:e.TerminalOverlay})),__vite__mapDeps([84,1,2,3,12,8,33,17,25,20,28,57,85])));function PD(e){let[t,n]=(0,Y.useState)(0);return(0,X.jsx)(FD,{...e,onRetry:()=>n(e=>e+1)},t)}function FD({connection:e,command:t,displayCommand:n=`claude auth login`,onClose:r,onComplete:i,openRequest:a,onRetry:o}){let[s,c]=(0,Y.useState)(`dialog`);(0,Y.useEffect)(()=>{c(`dialog`)},[a]);let[l,u]=(0,Y.useState)([]),[d]=(0,Y.useState)(()=>({kind:`draft`,id:`native-login-${crypto.randomUUID()}`})),[f]=(0,Y.useState)(()=>({command:t,displayCommand:n})),[p,m]=(0,Y.useState)({url:null,needsCode:!1,needsEnter:!1}),[h,g]=(0,Y.useState)(),[_,v]=(0,Y.useState)(``),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(null);hr(x,{prefix:`Claude sign-in`});let C=mr(),w=(0,Y.useRef)(``),T=(0,Y.useRef)(0),E=(0,Y.useRef)(!1),D=(0,Y.useRef)(!1),O=l.some(e=>e.commandStatus===`failed`||e.status===`error`),k=l.some(e=>e.status===`exited`&&e.lastExitCode!==0),A=!O&&!l.some(e=>e.status===`exited`),j=(0,Y.useCallback)(e=>{w.current=(w.current+e).slice(-65536);let t=jD(w.current);m(e=>e.url===t.url&&e.needsCode===t.needsCode&&e.needsEnter===t.needsEnter?e:t)},[]);(0,Y.useEffect)(()=>{p.needsEnter&&!E.current&&A&&(E.current=!0,g({id:++T.current,data:`\r`}))},[p.needsEnter,A]),(0,Y.useEffect)(()=>{!D.current&&l.some(e=>e.commandStatus===`success`&&e.lastExitCode===0)&&(D.current=!0,(i??r)())},[r,i,l]),(0,Y.useEffect)(()=>{k&&S(`Sign-in did not complete. Try again or open the terminal for details.`)},[k]);async function M(){if(p.url&&A)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 N(){if(p.url&&A)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 ee(e){e.preventDefault();let t=MD(_);t?A&&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,Zo.createPortal)((0,X.jsxs)(`div`,{className:`native-login-session`,children:[(0,X.jsxs)(`div`,{className:`native-login-status`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`native-login-resume`,onClick:()=>c(`dialog`),children:[A?(0,X.jsx)(or,{size:15,className:`native-login-spin`}):(0,X.jsx)(`img`,{src:`/agent-sources/claude-code.svg`,alt:``}),(0,X.jsx)(`span`,{children:`Claude sign-in`})]}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(s===`terminal`?`minimized`:`terminal`),"aria-expanded":s===`terminal`,children:[(0,X.jsx)(ur,{size:15}),` `,s===`terminal`?`Hide terminal`:`Show terminal`]}),(0,X.jsx)(`button`,{type:`button`,"aria-label":`Cancel Claude sign-in`,onClick:r,children:(0,X.jsx)(dr,{size:15})})]}),(0,X.jsx)(`div`,{className:`native-setup-terminal native-login-terminal ${s===`terminal`?`expanded`:``}`,children:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ND,{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:j,onClose:()=>c(`minimized`)})})}),s===`dialog`?(0,X.jsxs)(Dr,{ariaLabel:`Sign in to Claude`,backdropClassName:`git-dialog-backdrop native-login-backdrop`,className:`git-dialog native-login-dialog`,onClose:()=>c(`minimized`),children:[(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Minimize Claude sign-in`,onClick:()=>c(`minimized`),children:(0,X.jsx)(dr,{size:16})}),(0,X.jsx)(`img`,{className:`native-login-icon`,src:`/agent-sources/claude-code.svg`,alt:``}),(0,X.jsx)(`h2`,{children:`Sign in to Claude`}),(0,X.jsx)(`p`,{children:`Finish signing in through your browser. This window will close when you’re connected.`}),A?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`native-login-actions`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`git-dialog-primary`,disabled:!p.url,onClick:()=>void M(),children:[(0,X.jsx)(ar,{size:15}),` Continue in browser`]}),(0,X.jsxs)(`button`,{type:`button`,className:`native-login-secondary`,disabled:!p.url,onClick:()=>void N(),children:[(0,X.jsx)(ir,{size:15}),` Copy link`]})]}),(0,X.jsxs)(`p`,{className:`native-login-progress`,role:`status`,children:[(0,X.jsx)(or,{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,X.jsxs)(`form`,{onSubmit:ee,className:`native-login-code`,children:[(0,X.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,X.jsx)(`span`,{children:`If your browser gave you a code`}),(0,X.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,X.jsx)(`button`,{type:`submit`,className:`native-login-secondary`,disabled:y||!_.trim(),children:`Submit code`})]}):null]}):(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,onClick:o,children:`Try again`}),(0,X.jsxs)(`footer`,{children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(`terminal`),children:[(0,X.jsx)(ur,{size:14}),` Terminal details`]}),(0,X.jsx)(`button`,{type:`button`,onClick:r,children:`Cancel sign-in`})]})]}):null]}),document.body)}var ID=(0,Y.createContext)(null);function LD({connection:e,onProviders:t,children:n}){let r=e?JSON.stringify([e.serverUrl,e.token]):null,[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null),c=o?.key===r?o.result:null,[l,u]=(0,Y.useState)(0),d=(0,Y.useRef)(null),f=(0,Y.useRef)(t);f.current=t;let p=mr(),[m,h]=(0,Y.useState)(null);hr(m,{prefix:`Claude connection`});let g=i?.key===r&&i!==null;(0,Y.useEffect)(()=>(a(null),s(null),h(null),()=>{d.current?.abort(),d.current=null}),[r]);let _=(0,Y.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,Y.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 J(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,X.jsxs)(ID.Provider,{value:{active:g,result:c,start:_,resume:v},children:[n,g&&i?(0,X.jsx)(PD,{connection:i.connection,...i.command,openRequest:l,onClose:()=>a(null),onComplete:()=>void y()},i.id):null]})}function RD(){let e=(0,Y.useContext)(ID);if(!e)throw Error(`Native login requires the app shell.`);return e}var zD=qr();function BD(){return(0,X.jsx)(D,{client:zD,children:(0,X.jsx)(VD,{})})}function VD(){let e=rE(),t=CD(e);return o(e.startup),(0,X.jsx)(gr,{showToast:e.showToast,children:(0,X.jsxs)(LD,{connection:e.connection,onProviders:t=>{e.bootstrap&&e.applyBootstrapPayload({...e.bootstrap,providers:t})},children:[(0,X.jsx)(s_,{primary:e,secondary:t}),(0,X.jsx)(kD,{ready:e.startup.ready,connection:e.connection,payload:e.bootstrap,onPayload:e.applyBootstrapPayload})]})})}export{Qg as $,Di as $n,hd as $t,_y as A,Xc as An,BD as App,Up as At,w_ as B,ys as Bn,zd as Bt,Dx as C,Uu as Cn,Mm as Ct,xx as D,Hl as Dn,mm as Dt,Ix as E,vu as En,Sm as Et,Xv as F,ol as Fn,vf as Ft,v_ as G,Yo as Gn,Td as Gt,O_ as H,vs as Hn,Ad as Ht,Zv as I,Dl as In,yf as It,T_ as J,jo as Jn,xd as Jt,x_ as K,Lo as Kn,Cd as Kt,__ as L,_c as Ln,mf as Lt,Kv as M,Sl as Mn,Xf as Mt,Jv as N,jl as Nn,Yf as Nt,Ly as O,Rl as On,hm as Ot,qv as P,nl as Pn,Sf as Pt,d_ as Q,oa as Qn,_d as Qt,b_ as R,Ec as Rn,hf as Rt,bS as S,Gu as Sn,Ym as St,Rx as T,yu as Tn,Nm as Tt,D_ as U,ps as Un,Dd as Ut,E_ as V,gs as Vn,Pd as Vt,k_ as W,fs as Wn,Ed as Wt,u_ as X,Wa as Xn,yd as Xt,S_ as Y,Ao as Yn,bd as Yt,m_ as Z,Xa as Zn,vd as Zt,zC as _,Xu as _n,uh as _t,gE as a,ld as an,Vr as ar,Rg as at,qS as b,qu as bn,eh as bt,sE as c,od as cn,Pg as ct,AT as d,nd as dn,Wh as dt,md as en,ni as er,Gg as et,Hw as f,td as fn,zh as ft,BC as g,Zu as gn,dh as gt,zw as h,Qu as hn,kh as ht,ZE as i,ud as in,li as ir,Wg as it,$ as j,Zc as jn,Zf as jt,gy as k,Yc as kn,xm as kt,jT as l,id as ln,cg as lt,Bw as m,$u as mn,jh as mt,ED as n,fd as nn,ui as nr,Vg as nt,pE as o,cd as on,Cg as ot,Uw as p,ed as pn,Rh as pt,C_ as q,ko as qn,Sd as qt,xD as r,dd as rn,oi as rr,Ug as rt,cE as s,sd as sn,Ng as st,RD as t,pd as tn,si as tr,Hg as tt,MT as u,rd as un,Yh as ut,VC as v,Yu as vn,th as vt,Lx as w,Z as wn,Pm as wt,KS as x,Ku as xn,rh as xt,vC as y,Ju as yn,ih as yt,y_ as z,_s as zn,gf as zt};