openpond 0.2.65 → 0.2.67

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 (375) hide show
  1. package/dist/app-server.d.ts +23 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{acp-PHMBLRCV.js → acp-NASAJV5E.js} +1 -1
  4. package/dist/chunks/{acp-agent-A7GK2VSH.js → acp-agent-C3CRF6DT.js} +1 -1
  5. package/dist/chunks/{actions-command-VLKMHCMI.js → actions-command-BYPLSGZL.js} +1 -1
  6. package/dist/chunks/{app-layer-J66CQ2QN.js → app-layer-XIEZ6ALX.js} +1 -1
  7. package/dist/chunks/{app-server-evaluations-V6LRWDUF.js → app-server-evaluations-5YZUFXQ2.js} +1 -1
  8. package/dist/chunks/{app-server-harness-services-6ZRLA3YD.js → app-server-harness-services-N5F5QVZI.js} +1 -1
  9. package/dist/chunks/{app-server-runtime-OMR2VE6L.js → app-server-runtime-HJ2N57DL.js} +1 -1
  10. package/dist/chunks/{apps-IHUFERZO.js → apps-WJTW64NW.js} +1 -1
  11. package/dist/chunks/{chunk-ZWW227M3.js → chunk-263WS3TB.js} +1 -1
  12. package/dist/chunks/{chunk-HX6GXMDK.js → chunk-26ID6A5C.js} +1 -1
  13. package/dist/chunks/{chunk-DSJZS77R.js → chunk-2RSGVLZT.js} +4 -4
  14. package/dist/chunks/{chunk-L4EJ5R3B.js → chunk-2UZHLO2V.js} +1 -1
  15. package/dist/chunks/{chunk-QYQZQVVN.js → chunk-375PADDM.js} +1 -1
  16. package/dist/chunks/{chunk-FUFI4THX.js → chunk-43QYVOYA.js} +1 -1
  17. package/dist/chunks/{chunk-H5ML7735.js → chunk-46RMTR2Z.js} +1 -1
  18. package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-4B7EGNYX.js} +1 -1
  19. package/dist/chunks/{chunk-2GJD23CM.js → chunk-4EZI4KCT.js} +1 -1
  20. package/dist/chunks/{chunk-DMO3UIS7.js → chunk-4JJ4RYIB.js} +1 -1
  21. package/dist/chunks/{chunk-UM6EQOT2.js → chunk-4NN5OLKW.js} +2 -2
  22. package/dist/chunks/{chunk-66HFW4OU.js → chunk-4VZJQRQI.js} +1 -1
  23. package/dist/chunks/{chunk-7PKTCMZ6.js → chunk-543QHE3D.js} +1 -1
  24. package/dist/chunks/{chunk-TVDZXDQW.js → chunk-5QOFUGYQ.js} +1 -1
  25. package/dist/chunks/{chunk-6S2MWJVD.js → chunk-5TPYBXWM.js} +1 -1
  26. package/dist/chunks/{chunk-WLZJOCLA.js → chunk-5ZNE43XC.js} +1 -1
  27. package/dist/chunks/{chunk-KOKBDIGR.js → chunk-6HQUIKC5.js} +1 -1
  28. package/dist/chunks/{chunk-3BJ7LPE3.js → chunk-6IS5OLI5.js} +1 -1
  29. package/dist/chunks/{chunk-VS3AMJEK.js → chunk-6LFTQBXP.js} +1 -1
  30. package/dist/chunks/{chunk-VD2TQCMH.js → chunk-7HAGSE7L.js} +1 -1
  31. package/dist/chunks/{chunk-NTM3KQ25.js → chunk-ADOCQA4D.js} +1 -1
  32. package/dist/chunks/{chunk-4D3CICBG.js → chunk-ATFV2NA4.js} +1 -1
  33. package/dist/chunks/{chunk-YU4JYWCA.js → chunk-AXO6OHJB.js} +1 -1
  34. package/dist/chunks/{chunk-5KJMFK65.js → chunk-AXYAEWWA.js} +1 -1
  35. package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-B2K5WQZE.js} +1 -1
  36. package/dist/chunks/{chunk-ANG2YMMD.js → chunk-B7XJBP4U.js} +1 -1
  37. package/dist/chunks/{chunk-E2S2EMYQ.js → chunk-BBIA24GD.js} +6 -6
  38. package/dist/chunks/{chunk-CYQLXS2U.js → chunk-BUZ7CBJC.js} +1 -1
  39. package/dist/chunks/{chunk-MVPKU72J.js → chunk-CJDGLPNX.js} +1 -1
  40. package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-CSU7RDA5.js} +1 -1
  41. package/dist/chunks/{chunk-JLW5BQVO.js → chunk-CWAQOFLP.js} +1 -1
  42. package/dist/chunks/{chunk-WKHGXLJD.js → chunk-CX7HKSQ4.js} +2 -2
  43. package/dist/chunks/{chunk-M5QPL5NO.js → chunk-D5OFN47Z.js} +1 -1
  44. package/dist/chunks/{chunk-QCJY6FTC.js → chunk-FCXDPVGJ.js} +1 -1
  45. package/dist/chunks/{chunk-FEQ7HNJR.js → chunk-FE2ENE3U.js} +1 -1
  46. package/dist/chunks/{chunk-6TRVEA3T.js → chunk-FVK4W27G.js} +1 -1
  47. package/dist/chunks/{chunk-7FBWUVX7.js → chunk-GC6RJBRZ.js} +1 -1
  48. package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-H2XG5N7D.js} +1 -1
  49. package/dist/chunks/chunk-H6EUFJJK.js +2 -0
  50. package/dist/chunks/{chunk-V3S2B6WU.js → chunk-IDILAYCW.js} +1 -1
  51. package/dist/chunks/{chunk-KGUPAPGR.js → chunk-IF5A3XWP.js} +1 -1
  52. package/dist/chunks/chunk-IHAEZ73V.js +2 -0
  53. package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-IR2Y2VQY.js} +1 -1
  54. package/dist/chunks/{chunk-WBO6FQHR.js → chunk-IXZ5ZGIL.js} +1 -1
  55. package/dist/chunks/{chunk-67HXM6AL.js → chunk-K3LS5SK7.js} +1 -1
  56. package/dist/chunks/{chunk-4MQHIFZL.js → chunk-K6DB5QWG.js} +1 -1
  57. package/dist/chunks/{chunk-QJJNHKLT.js → chunk-KQD36SBJ.js} +1 -1
  58. package/dist/chunks/{chunk-LXZLLTYQ.js → chunk-LI56PPCN.js} +1 -1
  59. package/dist/chunks/{chunk-KAWXVMHI.js → chunk-MX7KV5DA.js} +1 -1
  60. package/dist/chunks/{chunk-LARJARMS.js → chunk-N54CPLVD.js} +1 -1
  61. package/dist/chunks/{chunk-JRGECNP3.js → chunk-OE2OOWEQ.js} +1 -1
  62. package/dist/chunks/{chunk-B32CW3NT.js → chunk-OY4B7Y3T.js} +1 -1
  63. package/dist/chunks/chunk-OYIFH2OM.js +2 -0
  64. package/dist/chunks/{chunk-C5B3FMV3.js → chunk-P6NQYXN6.js} +1 -1
  65. package/dist/chunks/{chunk-D7R2AAX2.js → chunk-QFL2VQKX.js} +1 -1
  66. package/dist/chunks/{chunk-Y3B6ZUE6.js → chunk-QOUOU7FE.js} +1 -1
  67. package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QQLS5FB7.js} +1 -1
  68. package/dist/chunks/chunk-R5GRESW3.js +2 -0
  69. package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-R6MMWEH4.js} +1 -1
  70. package/dist/chunks/{chunk-XHBMK6LC.js → chunk-R6VI7MX5.js} +1 -1
  71. package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-RS526BG7.js} +1 -1
  72. package/dist/chunks/{chunk-EVQISX7M.js → chunk-RWRKUO5D.js} +1 -1
  73. package/dist/chunks/{chunk-DXA2UHBE.js → chunk-SD2XDZQW.js} +1 -1
  74. package/dist/chunks/{chunk-S6UCVXBC.js → chunk-SODAOLAP.js} +1 -1
  75. package/dist/chunks/{chunk-UK5LGSGT.js → chunk-SVNEPXU3.js} +1 -1
  76. package/dist/chunks/{chunk-5WPMI6QX.js → chunk-TERKCK4I.js} +1 -1
  77. package/dist/chunks/{chunk-OKEC2EIE.js → chunk-TS5HNRZB.js} +1 -1
  78. package/dist/chunks/{chunk-5KWKSR4P.js → chunk-TSQ2I6XV.js} +1 -1
  79. package/dist/chunks/{chunk-YRDPVTEI.js → chunk-TV2LE2BD.js} +1 -1
  80. package/dist/chunks/chunk-U3MVH2YT.js +2 -0
  81. package/dist/chunks/{chunk-FS2VKOT7.js → chunk-UBTP3QWI.js} +1 -1
  82. package/dist/chunks/{chunk-7XOUM6RK.js → chunk-UKSSFB4Q.js} +1 -1
  83. package/dist/chunks/{chunk-W7NXFRHN.js → chunk-UNE52L3Y.js} +1 -1
  84. package/dist/chunks/{chunk-ZUT4EM64.js → chunk-UXO33ST5.js} +1 -1
  85. package/dist/chunks/{chunk-FHLSLOKH.js → chunk-V3ILZQER.js} +1 -1
  86. package/dist/chunks/chunk-V3T2OJBZ.js +33 -0
  87. package/dist/chunks/{chunk-QAEZNFAM.js → chunk-V5AOM5MZ.js} +1 -1
  88. package/dist/chunks/{chunk-LI3FTPAH.js → chunk-VEXJV5H5.js} +1 -1
  89. package/dist/chunks/{chunk-AF3AVDPP.js → chunk-VPAEFG7X.js} +1 -1
  90. package/dist/chunks/{chunk-FGOTSCSE.js → chunk-W3ZILZUL.js} +1 -1
  91. package/dist/chunks/{chunk-U2BD545L.js → chunk-WD6ANOLL.js} +1 -1
  92. package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-WDKZMXIU.js} +1 -1
  93. package/dist/chunks/chunk-WGISITX6.js +4 -0
  94. package/dist/chunks/{chunk-55Q64WWF.js → chunk-XD4ZIQZ2.js} +1 -1
  95. package/dist/chunks/{chunk-W22KWKF6.js → chunk-XDFXKRTI.js} +1 -1
  96. package/dist/chunks/{chunk-GRLQHYAU.js → chunk-XEU4J4GJ.js} +1 -1
  97. package/dist/chunks/{chunk-IEVJLG3V.js → chunk-XGJG2ZKE.js} +1 -1
  98. package/dist/chunks/chunk-XHU4BZQY.js +13 -0
  99. package/dist/chunks/{chunk-DIDQHTAX.js → chunk-XKZ4PFMQ.js} +1 -1
  100. package/dist/chunks/{chunk-B666Z2NS.js → chunk-XT5WUQGT.js} +1 -1
  101. package/dist/chunks/{chunk-N2AV7PHV.js → chunk-YKTJPCYZ.js} +3 -3
  102. package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-YMCF5GR2.js} +1 -1
  103. package/dist/chunks/{chunk-LYVHYT3L.js → chunk-YONDU5TN.js} +1 -1
  104. package/dist/chunks/{chunk-BTJACFU3.js → chunk-YQBL5P6R.js} +1 -1
  105. package/dist/chunks/{chunk-SAZTOGX6.js → chunk-YR5URT73.js} +1 -1
  106. package/dist/chunks/{chunk-OXRVILDW.js → chunk-ZVMQLIRA.js} +1 -1
  107. package/dist/chunks/{chunk-MHPCVQOE.js → chunk-ZWEY66RT.js} +1 -1
  108. package/dist/chunks/cli-HV32F7HD.js +2 -0
  109. package/dist/chunks/command-NWOZXU57.js +58 -0
  110. package/dist/chunks/{configuration-command-465ODYTC.js → configuration-command-ZEIBQKB3.js} +1 -1
  111. package/dist/chunks/{connected-app-executor-7DYMZCD7.js → connected-app-executor-DFHWNMRM.js} +1 -1
  112. package/dist/chunks/{connected-evidence-XPAZQRFQ.js → connected-evidence-WOM6N5HO.js} +1 -1
  113. package/dist/chunks/{connected-starting-assets-2YX3QVDB.js → connected-starting-assets-66Y46ZPM.js} +1 -1
  114. package/dist/chunks/{continual-HQCFY7GN.js → continual-TNPTWTKK.js} +1 -1
  115. package/dist/chunks/{core-commands-PJOGRBHJ.js → core-commands-GWRHH53F.js} +1 -1
  116. package/dist/chunks/{dataset-preparation-authoring-KWRTMKN6.js → dataset-preparation-authoring-WJ2XEUO7.js} +1 -1
  117. package/dist/chunks/{datasets-OTE2I4VT.js → datasets-XIMF54QN.js} +1 -1
  118. package/dist/chunks/{desktop-test-Q6REQJ7K.js → desktop-test-HF42V2EP.js} +1 -1
  119. package/dist/chunks/dist-T6ES2TSM.js +2 -0
  120. package/dist/chunks/{evaluation-coordination-KRCY2H4C.js → evaluation-coordination-WZT6FDMS.js} +1 -1
  121. package/dist/chunks/{experiment-improvements-7MI2VYBR.js → experiment-improvements-H35VS6XZ.js} +1 -1
  122. package/dist/chunks/{experiments-CNUQKJZE.js → experiments-F54C32EE.js} +1 -1
  123. package/dist/chunks/{experiments-signal-4N344D4Y.js → experiments-signal-ONIGTGYR.js} +1 -1
  124. package/dist/chunks/{help-ZUKVY6RO.js → help-O53DTZGN.js} +1 -1
  125. package/dist/chunks/host-profile-evaluation-tools-LMCJ3MDJ.js +2 -0
  126. package/dist/chunks/{host-profile-external-dataset-YRKG2GL5.js → host-profile-external-dataset-4HOXANWK.js} +1 -1
  127. package/dist/chunks/{hosted-app-server-composition-DWSU6ASL.js → hosted-app-server-composition-Y64A2A2B.js} +1 -1
  128. package/dist/chunks/{hosted-experiment-improvement-NZTPZTDH.js → hosted-experiment-improvement-B2V2WIUI.js} +1 -1
  129. package/dist/chunks/hosted-harness-runtime-C7I4KSDK.js +2 -0
  130. package/dist/chunks/{hosted-profile-candidate-3CAT3XBI.js → hosted-profile-candidate-CXPVEEYQ.js} +1 -1
  131. package/dist/chunks/{hosted-profile-compiler-RXU626Q6.js → hosted-profile-compiler-FGCI2VRW.js} +1 -1
  132. package/dist/chunks/{hosted-profile-evaluation-control-CBDRKJ5J.js → hosted-profile-evaluation-control-INNUYMBD.js} +1 -1
  133. package/dist/chunks/{hosted-profile-evaluation-inspection-CHYKDYUQ.js → hosted-profile-evaluation-inspection-UPTBRYMS.js} +1 -1
  134. package/dist/chunks/{hosted-profile-evaluation-preparation-H5S7JZMD.js → hosted-profile-evaluation-preparation-TIQSVKLQ.js} +1 -1
  135. package/dist/chunks/{hosted-tasksets-AMGDDB2R.js → hosted-tasksets-7VMYOTIO.js} +1 -1
  136. package/dist/chunks/{human-review-HOBGC6RC.js → human-review-7XC77NQP.js} +1 -1
  137. package/dist/chunks/{import-Q3YRFVY7.js → import-OBAKUJPM.js} +1 -1
  138. package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
  139. package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
  140. package/dist/chunks/learning-3XDGIYUL.js +2 -0
  141. package/dist/chunks/{learning-XTY5VOTK.js → learning-CRR6NRPN.js} +1 -1
  142. package/dist/chunks/{local-harness-improvement-runtime-XEA73RGS.js → local-harness-improvement-runtime-UIKQSAMM.js} +1 -1
  143. package/dist/chunks/{local-harness-taskset-review-SW35G4DM.js → local-harness-taskset-review-6KJN3EQL.js} +1 -1
  144. package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-HP4DELCP.js} +1 -1
  145. package/dist/chunks/{opchat-2LLDIWEJ.js → opchat-NWYWWIA7.js} +1 -1
  146. package/dist/chunks/{opchat-bounded-chat-FLDS36LU.js → opchat-bounded-chat-ICURZM6R.js} +1 -1
  147. package/dist/chunks/{organizations-VIFSOY6P.js → organizations-7DBQGCCV.js} +1 -1
  148. package/dist/chunks/{profile-KIHMW2WB.js → profile-3WZJ65CT.js} +1 -1
  149. package/dist/chunks/{project-action-payload-2G57RL74.js → project-action-payload-7DRABTHY.js} +1 -1
  150. package/dist/chunks/{project-agent-TJLQNMLA.js → project-agent-AXJOWXRU.js} +1 -1
  151. package/dist/chunks/{published-experiment-source-D3C2AWQD.js → published-experiment-source-YBBPLNF2.js} +1 -1
  152. package/dist/chunks/{refiner-profile-service-PPGGNVOV.js → refiner-profile-service-ATEFPF5O.js} +1 -1
  153. package/dist/chunks/{runtime-VSOOPNYN.js → runtime-XP4DEGR3.js} +1 -1
  154. package/dist/chunks/{sandbox-command-CQO6BEMQ.js → sandbox-command-CF2PJCFX.js} +1 -1
  155. package/dist/chunks/{sandbox-template-MU33IILL.js → sandbox-template-YFMHEMUQ.js} +1 -1
  156. package/dist/chunks/{saved-work-LAVTNKPT.js → saved-work-3OAVRBH3.js} +1 -1
  157. package/dist/chunks/setup-RHIMFI2Y.js +2 -0
  158. package/dist/chunks/{src-662QOKNP.js → src-GQPWOPYA.js} +1 -1
  159. package/dist/chunks/{src-CHQVWHV7.js → src-V236S6MV.js} +112 -112
  160. package/dist/chunks/{standalone-experiment-turn-owner-KKYIGGPF.js → standalone-experiment-turn-owner-CDRMGLWW.js} +1 -1
  161. package/dist/chunks/{store-chat-resources-ZWDYMDJF.js → store-chat-resources-P4EKCLSY.js} +1 -1
  162. package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-VVRQO2JK.js} +1 -1
  163. package/dist/chunks/{store-conversation-serving-WRT4N7N2.js → store-conversation-serving-YFEZYQD3.js} +1 -1
  164. package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-2XI36AET.js} +1 -1
  165. package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-UFY422NG.js} +1 -1
  166. package/dist/chunks/{store-evaluation-results-BEPR4LVD.js → store-evaluation-results-VBH4R2U7.js} +1 -1
  167. package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-SGUEYDO2.js} +1 -1
  168. package/dist/chunks/{store-human-review-HJ3D7ZFA.js → store-human-review-RFCVZ3HP.js} +1 -1
  169. package/dist/chunks/{store-learned-preference-migration-validation-EXNRDHCO.js → store-learned-preference-migration-validation-FNBGGZU6.js} +1 -1
  170. package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-BFOT4QVT.js} +1 -1
  171. package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-DYTMWQTC.js} +1 -1
  172. package/dist/chunks/{store-local-experiments-CBJA56X2.js → store-local-experiments-XPXGYXNM.js} +1 -1
  173. package/dist/chunks/{store-model-batch-review-YIVD7T2T.js → store-model-batch-review-J2L5JQV2.js} +1 -1
  174. package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-NJFWSYSA.js} +1 -1
  175. package/dist/chunks/{store-model-project-preparation-WWU5CJTV.js → store-model-project-preparation-OCLIFKI2.js} +1 -1
  176. package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-MZAYONCK.js} +1 -1
  177. package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-3BREANOX.js} +1 -1
  178. package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-5HRZCDUT.js} +1 -1
  179. package/dist/chunks/{store-taskset-drafts-G3WFVN4M.js → store-taskset-drafts-BNKUVHPA.js} +1 -1
  180. package/dist/chunks/{store-training-DUVIDYK5.js → store-training-S3FXWLT6.js} +1 -1
  181. package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-2LCXPA7G.js} +1 -1
  182. package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-7AMKS7ZW.js} +1 -1
  183. package/dist/chunks/{taskset-7FQCJ55X.js → taskset-PLKWRT4X.js} +1 -1
  184. package/dist/chunks/{taskset-packages-NRRPON7B.js → taskset-packages-SXBLYHSP.js} +1 -1
  185. package/dist/chunks/{taskset-packages-RW4SFGDU.js → taskset-packages-V5T4V7YN.js} +1 -1
  186. package/dist/chunks/{teams-bot-D3LWA4S5.js → teams-bot-VQXUA7U4.js} +1 -1
  187. package/dist/chunks/{tool-learning-NGO7QHYK.js → tool-learning-47XQKELE.js} +1 -1
  188. package/dist/chunks/{training-XFM3OOPN.js → training-7VQNCOGH.js} +1 -1
  189. package/dist/chunks/{training-XILDD5RG.js → training-VKLPNCMC.js} +1 -1
  190. package/dist/chunks/{training-hosted-6BX2IASC.js → training-hosted-NNE6BP6S.js} +1 -1
  191. package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
  192. package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-WQ2IP5FP.js} +1 -1
  193. package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
  194. package/dist/chunks/training-hosted-serving-report-VZ4SMLMG.js +2 -0
  195. package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
  196. package/dist/chunks/{training-model-start-E5MP3URL.js → training-model-start-G7YDZ7ZG.js} +1 -1
  197. package/dist/cli.js +1 -1
  198. package/dist/index.js +1 -1
  199. package/dist/skills/manifest.json +1 -1
  200. package/dist/web/assets/App-DmEA-Lia.js +53 -0
  201. package/dist/web/assets/{AppDialog-BILEK4np.js → AppDialog-BvskhHE9.js} +1 -1
  202. package/dist/web/assets/AppTerminalPanel-ScQKJV4z.js +2 -0
  203. package/dist/web/assets/{AppToastContext-C-FsCKXW.js → AppToastContext-D2788RqX.js} +1 -1
  204. package/dist/web/assets/AppsView-B1uNg9IQ.js +1 -0
  205. package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
  206. package/dist/web/assets/{AttachmentTypeIcon-Bh7Ft_UL.js → AttachmentTypeIcon-DVluUHuc.js} +1 -1
  207. package/dist/web/assets/{BrowserSidebar-BG2MLJ9I.js → BrowserSidebar-DfVQoJHn.js} +1 -1
  208. package/dist/web/assets/{CartesianChart-CS6ES_XT.js → CartesianChart-DdBZ69lI.js} +1 -1
  209. package/dist/web/assets/{ChatTimelineEntry-Dr5X_XyN.js → ChatTimelineEntry-Bbc6HRks.js} +1 -1
  210. package/dist/web/assets/{CollaborationTabs-CPJ2w67F.js → CollaborationTabs-ba6WupeJ.js} +1 -1
  211. package/dist/web/assets/{CommandMenu-Fe1V7NJd.js → CommandMenu-D7wTaEgl.js} +1 -1
  212. package/dist/web/assets/{CommunityView-DHTcmOnI.js → CommunityView-mO58f2B0.js} +1 -1
  213. package/dist/web/assets/{ComposerAttachments-Ck9VWD6o.js → ComposerAttachments-aO90qXYz.js} +1 -1
  214. package/dist/web/assets/{ComposerCreateImproveStrip-yiXO7cf8.js → ComposerCreateImproveStrip-BPUJBSyS.js} +1 -1
  215. package/dist/web/assets/{ConversationImportsSettings-_VLzUnHQ.js → ConversationImportsSettings-Bo836wKJ.js} +1 -1
  216. package/dist/web/assets/{FilePagePreview-BpcM1DfE.js → FilePagePreview-C6wIp6uX.js} +2 -2
  217. package/dist/web/assets/{GetStartedView-BH-WJ-rW.js → GetStartedView-CxMv8q-h.js} +1 -1
  218. package/dist/web/assets/{GettingStartedDialog-CdQfj7RA.js → GettingStartedDialog-CEb0cS-o.js} +1 -1
  219. package/dist/web/assets/{HostedModelLearningReview-C3GsOlu9.js → HostedModelLearningReview-BQIS7hkd.js} +1 -1
  220. package/dist/web/assets/HostedModelLearningSettings-BQ-YeFMT.js +1 -0
  221. package/dist/web/assets/{HtmlVisual-CH0tb3fv.js → HtmlVisual-CCuUkYT8.js} +1 -1
  222. package/dist/web/assets/{LabModelVersionDetailPage-J2t9yILv.js → LabModelVersionDetailPage-BkHeVbAx.js} +1 -1
  223. package/dist/web/assets/{LabSkillSidebar-DdDYvfj2.js → LabSkillSidebar-CFROlATQ.js} +1 -1
  224. package/dist/web/assets/LabsRoute-YA9YckKj.js +101 -0
  225. package/dist/web/assets/MainChatThread-DpyPgGKW.js +2 -0
  226. package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BOWkynGB.css} +1 -1
  227. package/dist/web/assets/MainPane-WOeodByM.js +10 -0
  228. package/dist/web/assets/NativeSetupTerminal-fmG2c65K.js +2 -0
  229. package/dist/web/assets/{NativeSkillSidebar-DPYavzau.js → NativeSkillSidebar-MAJWS4mL.js} +1 -1
  230. package/dist/web/assets/{NewProjectDialog-BtmvE9Sp.js → NewProjectDialog-MQiUBVx3.js} +1 -1
  231. package/dist/web/assets/{OutputsPage-BMRY7RK2.js → OutputsPage-DpF-aRTu.js} +1 -1
  232. package/dist/web/assets/{PageChrome-5VRxH6Rp.js → PageChrome-8gH2hyDb.js} +1 -1
  233. package/dist/web/assets/{ProjectsPage-1LHqxOMo.js → ProjectsPage-BQ98oGyu.js} +1 -1
  234. package/dist/web/assets/{RightChatPanelStack-D_7KgExz.js → RightChatPanelStack-Bs7A4dLs.js} +1 -1
  235. package/dist/web/assets/RightSidebarHomePanel-C-D4kba2.js +1 -0
  236. package/dist/web/assets/{ScheduledWorkPage-Dtz4zJ0T.js → ScheduledWorkPage-CGCqZz_H.js} +1 -1
  237. package/dist/web/assets/{SettingsView-BeDYNPcD.js → SettingsView-CqpMFLxy.js} +3 -3
  238. package/dist/web/assets/{TasksetDraftEditorPrimitives-CcvKO3YA.js → TasksetDraftEditorPrimitives-DJvIvzBb.js} +1 -1
  239. package/dist/web/assets/{TeamChatView-DaXxOkTe.js → TeamChatView-DjmIaLO1.js} +1 -1
  240. package/dist/web/assets/{TerminalOverlay-CF8uB4qA.js → TerminalOverlay-D--M876l.js} +1 -1
  241. package/dist/web/assets/{TrainingCreationPanel-DmMO7x5T.js → TrainingCreationPanel-DDUoHQHU.js} +1 -1
  242. package/dist/web/assets/{TrainingDraftPanel-DCHbXjSx.js → TrainingDraftPanel-CwLXn3Z7.js} +1 -1
  243. package/dist/web/assets/{TrainingRunLineage-CwisTWs_.js → TrainingRunLineage-CtYe1KGX.js} +1 -1
  244. package/dist/web/assets/{UsageSettingsSection-Drt7gwRb.js → UsageSettingsSection-CGwPregx.js} +1 -1
  245. package/dist/web/assets/WorkSidebarPanel-C6wWuo7U.js +1 -0
  246. package/dist/web/assets/{WorkspaceDiffPanel-Dmbrg0-y.js → WorkspaceDiffPanel-JDOUmrC-.js} +3 -3
  247. package/dist/web/assets/{WorkspaceEnvironmentMenu-KEZm1gdb.js → WorkspaceEnvironmentMenu-sfL5LZeB.js} +1 -1
  248. package/dist/web/assets/{WorkspaceFileLocation-ChbOKrPO.js → WorkspaceFileLocation-D-ctFM4d.js} +1 -1
  249. package/dist/web/assets/{WorkspaceGitDialogs-BS2JQKNQ.js → WorkspaceGitDialogs-CQ28j3R7.js} +1 -1
  250. package/dist/web/assets/{WorkspaceMonacoEditor-CN1hE_C4.js → WorkspaceMonacoEditor-BrZs6-EW.js} +3 -3
  251. package/dist/web/assets/{WorkspacePdfPreview-Clb4m0le.js → WorkspacePdfPreview-CU6PSjjN.js} +2 -2
  252. package/dist/web/assets/{WorkspacePresentationPreview-CwQsdvAR.js → WorkspacePresentationPreview-IjXVXpIy.js} +1 -1
  253. package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-CKXrDTEU.js} +1 -1
  254. package/dist/web/assets/{bot-BNFltD5O.js → bot-Cd761lRF.js} +1 -1
  255. package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-D9v2cyJa.js} +1 -1
  256. package/dist/web/assets/chat-resources-BUDXdoG0.js +1 -0
  257. package/dist/web/assets/{chevron-down-BnnT0tnM.js → chevron-down-DEbd6Ek-.js} +1 -1
  258. package/dist/web/assets/chevron-right-DLYNg_Oq.js +1 -0
  259. package/dist/web/assets/{chevron-up-BAnwJJN3.js → chevron-up-DFJJccDl.js} +1 -1
  260. package/dist/web/assets/chunk-GHPCQXG5-DKDBSd8H.js +9 -0
  261. package/dist/web/assets/chunk-GJRXJL6G-luaxRTYI.js +1 -0
  262. package/dist/web/assets/chunk-H3JZ3P5T-CzpTARDY.js +2 -0
  263. package/dist/web/assets/chunk-JDQVAG3R-C0-rh1aR.js +1 -0
  264. package/dist/web/assets/chunk-TLSP5JKG-BrrVo5rJ.js +1 -0
  265. package/dist/web/assets/chunk-XMVSQIK4-BBU7r_NH.js +1 -0
  266. package/dist/web/assets/client-BNjO4Xi8.js +1 -0
  267. package/dist/web/assets/{client-choice-storage-Iuzoszas.js → client-choice-storage-DUWsS4X0.js} +1 -1
  268. package/dist/web/assets/{cloud-upload-CdSXJ7ms.js → cloud-upload-CoM1FGeB.js} +1 -1
  269. package/dist/web/assets/{common-BMjyKlX-.js → common-CFsO2ppZ.js} +1 -1
  270. package/dist/web/assets/{copy-CBFg6m0d.js → copy-BGOhV6Pk.js} +1 -1
  271. package/dist/web/assets/{create-pipeline-CyUZrbbO.js → create-pipeline-DRR0Qeec.js} +1 -1
  272. package/dist/web/assets/{createLucideIcon-DF2VR6WA.js → createLucideIcon-Bv-_eGcE.js} +1 -1
  273. package/dist/web/assets/{cssMode-BSQUZhUO.js → cssMode-SclUkqPt.js} +1 -1
  274. package/dist/web/assets/{external-link-Cql9bKdv.js → external-link-CVXsNeO3.js} +1 -1
  275. package/dist/web/assets/{folder-open-BXdVB5J1.js → folder-open-MnOmh19D.js} +1 -1
  276. package/dist/web/assets/{folder-plus-Cma2HulC.js → folder-plus-BRddLBtO.js} +1 -1
  277. package/dist/web/assets/{git-commit-horizontal-eF--16ps.js → git-commit-horizontal-Bm4rkXug.js} +1 -1
  278. package/dist/web/assets/{htmlMode-aLPlQtyU.js → htmlMode-X3mQtOeh.js} +1 -1
  279. package/dist/web/assets/icons-CZxmQtZs.js +1 -0
  280. package/dist/web/assets/{image-CqKPwnBn.js → image-BViGUAiq.js} +1 -1
  281. package/dist/web/assets/{index-CM0IRu1U.js → index-LXNhSUEL.js} +2 -2
  282. package/dist/web/assets/{info-CqeYEqG0.js → info-DYPIbKKD.js} +1 -1
  283. package/dist/web/assets/intake-contracts-wCkD2ErR.js +1 -0
  284. package/dist/web/assets/{jsonMode-fu7bEcHB.js → jsonMode-BoKiIdHd.js} +1 -1
  285. package/dist/web/assets/loader-circle-JFgFNsP5.js +1 -0
  286. package/dist/web/assets/{lspLanguageFeatures-DraXQA4w.js → lspLanguageFeatures-CO2mzpy1.js} +1 -1
  287. package/dist/web/assets/{maximize-2-yMp8X9ts.js → maximize-2-DXZCQO0b.js} +1 -1
  288. package/dist/web/assets/{message-square-DbIMQqfj.js → message-square-cOCAL8J1.js} +1 -1
  289. package/dist/web/assets/{monaco.contribution-BQhp1CJs.js → monaco.contribution-C7CAQIKF.js} +2 -2
  290. package/dist/web/assets/{monaco.contribution-Bd8EqYGR.js → monaco.contribution-CVe3mWSY.js} +2 -2
  291. package/dist/web/assets/{monaco.contribution-CYWKnVxQ.js → monaco.contribution-hrusiaZi.js} +2 -2
  292. package/dist/web/assets/{monaco.contribution-CmbWO0tB.js → monaco.contribution-wacA5FjV.js} +2 -2
  293. package/dist/web/assets/{monitor-DFE2fTkT.js → monitor-B35XSAvn.js} +1 -1
  294. package/dist/web/assets/{paperclip-D_qsKbVs.js → paperclip-CKgDxioG.js} +1 -1
  295. package/dist/web/assets/{pdf-DkQRsi4n.js → pdf-Ct3M2mVw.js} +1 -1
  296. package/dist/web/assets/play-DzqLr7fM.js +1 -0
  297. package/dist/web/assets/plus-Ddp1vXnw.js +1 -0
  298. package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-D-zB6X4L.js} +1 -1
  299. package/dist/web/assets/{presentation-BN_kIBPL.js → presentation-B0S9v7ib.js} +1 -1
  300. package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-CCxrOCio.js} +1 -1
  301. package/dist/web/assets/{python-DB9pj5Hr.js → python-C0-pUUAU.js} +1 -1
  302. package/dist/web/assets/{refresh-cw-B27ohHfn.js → refresh-cw-D45mW-vs.js} +1 -1
  303. package/dist/web/assets/{requests-BCbaFiqV.js → requests-DjSt-duM.js} +1 -1
  304. package/dist/web/assets/{reward-checks-Bcq9ETCA.js → reward-checks-D139zwha.js} +2 -2
  305. package/dist/web/assets/{save-D-rwjKop.js → save-Gu4R_82E.js} +1 -1
  306. package/dist/web/assets/schemas-C9IwV7NS.js +64 -0
  307. package/dist/web/assets/{settings-D7C-Auyi.js → settings-DdonLCIN.js} +1 -1
  308. package/dist/web/assets/settings-lists-CFHFtO0D.js +5 -0
  309. package/dist/web/assets/square-Dqduqyyu.js +1 -0
  310. package/dist/web/assets/{square-terminal-CeoK51wH.js → square-terminal-DS3zwi6X.js} +1 -1
  311. package/dist/web/assets/{submit-issue-command-DZNW7Evj.js → submit-issue-command-Gk3RKrY-.js} +1 -1
  312. package/dist/web/assets/{toggleHighContrast-Bs8L1gx0.js → toggleHighContrast-BnYUBgZB.js} +1 -1
  313. package/dist/web/assets/training-QBuGBGJd.js +2 -0
  314. package/dist/web/assets/{training-model-data-wHvE7xL1.js → training-model-data-CxR3xpmK.js} +1 -1
  315. package/dist/web/assets/{tsMode-C7EqshxC.js → tsMode-BVNyOY8h.js} +1 -1
  316. package/dist/web/assets/{upload-BWgjC2Jf.js → upload-ABSJxuUM.js} +1 -1
  317. package/dist/web/assets/{useAccountSettings-Dva1MpsJ.js → useAccountSettings-4_XfwJQi.js} +1 -1
  318. package/dist/web/assets/{useAgentInventory-CrjIOmvb.js → useAgentInventory-CVuamyT3.js} +1 -1
  319. package/dist/web/assets/{useLocalAgentSchedules-P-UaUKMb.js → useLocalAgentSchedules-CmwN4ohy.js} +1 -1
  320. package/dist/web/assets/{useQuery-Bn3KqR4r.js → useQuery-CCjwL8VI.js} +1 -1
  321. package/dist/web/assets/{wifi-off--mKrSPFc.js → wifi-off-DGJH7Pke.js} +1 -1
  322. package/dist/web/assets/{work-outputs-CK0nHe4g.js → work-outputs-CnbRtTLg.js} +1 -1
  323. package/dist/web/assets/{workers-p0Kn2KMK.js → workers-CjtQ2aBD.js} +1 -1
  324. package/dist/web/assets/x-B-_zJVOZ.js +1 -0
  325. package/dist/web/assets/{yaml-BeIdC4tu.js → yaml-N1KUjBZ8.js} +1 -1
  326. package/dist/web/index.html +1 -1
  327. package/docs/command-reference.md +7 -1
  328. package/package.json +1 -1
  329. package/dist/chunks/chunk-3MVKXAH7.js +0 -2
  330. package/dist/chunks/chunk-G4E3WGLM.js +0 -13
  331. package/dist/chunks/chunk-I3NYYOSS.js +0 -2
  332. package/dist/chunks/chunk-JBFPTEVE.js +0 -2
  333. package/dist/chunks/chunk-LOIYNRBC.js +0 -33
  334. package/dist/chunks/chunk-MMJU6PZV.js +0 -2
  335. package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
  336. package/dist/chunks/chunk-YBKDEEEH.js +0 -2
  337. package/dist/chunks/cli-TE7RP5H7.js +0 -2
  338. package/dist/chunks/command-NDHFZAKA.js +0 -13
  339. package/dist/chunks/dist-J4KHAVO3.js +0 -2
  340. package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
  341. package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
  342. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
  343. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
  344. package/dist/chunks/learning-NJLTGZFQ.js +0 -2
  345. package/dist/chunks/setup-HSRCZ3WR.js +0 -2
  346. package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
  347. package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
  348. package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
  349. package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
  350. package/dist/web/assets/App-BZuSv1XM.js +0 -53
  351. package/dist/web/assets/AppTerminalPanel-BvxZ8bwD.js +0 -2
  352. package/dist/web/assets/AppsView-BMaq5oxx.js +0 -1
  353. package/dist/web/assets/HostedModelLearningSettings-SSMst6dl.js +0 -1
  354. package/dist/web/assets/LabsRoute-MJwIjSKg.js +0 -101
  355. package/dist/web/assets/MainChatThread-BcwtaTDZ.js +0 -2
  356. package/dist/web/assets/MainPane-DDO6diPt.js +0 -10
  357. package/dist/web/assets/NativeSetupTerminal-BPSUFpRm.js +0 -2
  358. package/dist/web/assets/RightSidebarHomePanel-iznJwDMf.js +0 -1
  359. package/dist/web/assets/WorkSidebarPanel-BrIIRtGW.js +0 -1
  360. package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
  361. package/dist/web/assets/chevron-right-C8K5PZj7.js +0 -1
  362. package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
  363. package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
  364. package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
  365. package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
  366. package/dist/web/assets/icons-c3vt7y6n.js +0 -1
  367. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
  368. package/dist/web/assets/loader-circle-pxp89T5x.js +0 -1
  369. package/dist/web/assets/play-BtlX2stU.js +0 -1
  370. package/dist/web/assets/plus-DbASL_gy.js +0 -1
  371. package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
  372. package/dist/web/assets/settings-lists-DgSaJQA4.js +0 -5
  373. package/dist/web/assets/square-C2caJ3NG.js +0 -1
  374. package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
  375. package/dist/web/assets/x-D9GTV9ke.js +0 -1
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-CM0IRu1U.js";import{n as r}from"./PageChrome-5VRxH6Rp.js";var i=e(t(),1),a=n(),o=[],s=new WeakMap,c=[`button:not([disabled])`,`[href]`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`summary`,`[tabindex]:not([tabindex='-1'])`,`[contenteditable='true']`].join(`,`);function l({ariaLabel:e,backdropClassName:t=`training-dialog-backdrop`,children:n,className:s,contained:c=!1,dismissDisabled:l=!1,initialFocusKey:u,inertExclusionSelector:p,onClose:m}){let h=(0,i.useRef)(null),g=(0,i.useRef)(Symbol(`app-dialog`)),_=(0,i.useRef)(null),v=(0,i.useRef)(l),y=(0,i.useRef)(m);v.current=l,y.current=m,(0,i.useEffect)(()=>{let e=g.current;_.current=document.activeElement instanceof HTMLElement?document.activeElement:null,o.push(e);let t=c?h.current?.closest(`.main-pane`)??null:null,n=f(h.current,t,p);function r(t){o.at(-1)===e&&(p&&t.target instanceof Element&&t.target.closest(p)||(t.key===`Escape`?(t.preventDefault(),t.stopPropagation(),v.current||y.current()):t.key!==`Tab`||c||d(t,h.current)))}return document.addEventListener(`keydown`,r,!0),()=>{document.removeEventListener(`keydown`,r,!0);let t=o.lastIndexOf(e);t>=0&&o.splice(t,1),n();let i=_.current;i?.isConnected&&i.focus()}},[c,p]),(0,i.useEffect)(()=>{let e=window.requestAnimationFrame(()=>{let e=h.current;(e?.querySelector(`[data-autofocus]`)??e)?.focus()});return()=>window.cancelAnimationFrame(e)},[u]);function b(e){e.target===e.currentTarget&&!l&&m()}function x(e){e.key===`Escape`&&e.stopPropagation()}return(0,a.jsx)(`div`,{className:t,role:`presentation`,onMouseDown:b,children:(0,a.jsx)(`section`,{ref:h,"aria-busy":l||void 0,"aria-label":e,"aria-modal":c?void 0:`true`,className:s,role:`dialog`,tabIndex:-1,onKeyDown:x,onMouseDown:e=>e.stopPropagation(),children:(0,a.jsx)(r,{children:n})})})}function u(e){return e?Array.from(e.querySelectorAll(c)).filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`&&e.getClientRects().length>0):[]}function d(e,t){if(!t)return;let n=u(t);if(n.length===0){e.preventDefault(),t.focus();return}let r=n.indexOf(document.activeElement),i=e.shiftKey?r<=0?n.length-1:r-1:r<0||r===n.length-1?0:r+1;e.preventDefault(),n[i]?.focus()}function f(e,t=null,n){if(!e)return()=>void 0;let r=[],i=e.parentElement??e;for(;i.parentElement&&i!==document.body;){let e=i.parentElement;for(let t of Array.from(e.children)){if(t===i||!(t instanceof HTMLElement)||n&&t.matches(n))continue;let e=s.get(t)??{count:0,ariaHidden:t.getAttribute(`aria-hidden`),inert:t.inert};e.count+=1,s.set(t,e),r.push(t),t.inert=!0,t.setAttribute(`aria-hidden`,`true`)}if(i=e,t&&i===t)break}return()=>{for(let e of r.reverse()){let t=s.get(e);!t||--t.count>0||(s.delete(e),e.inert=t.inert,t.ariaHidden===null?e.removeAttribute(`aria-hidden`):e.setAttribute(`aria-hidden`,t.ariaHidden))}}}export{l as t};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import{n as r}from"./PageChrome-8gH2hyDb.js";var i=e(t(),1),a=n(),o=[],s=new WeakMap,c=[`button:not([disabled])`,`[href]`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`summary`,`[tabindex]:not([tabindex='-1'])`,`[contenteditable='true']`].join(`,`);function l({ariaLabel:e,backdropClassName:t=`training-dialog-backdrop`,children:n,className:s,contained:c=!1,dismissDisabled:l=!1,initialFocusKey:u,inertExclusionSelector:p,onClose:m}){let h=(0,i.useRef)(null),g=(0,i.useRef)(Symbol(`app-dialog`)),_=(0,i.useRef)(null),v=(0,i.useRef)(l),y=(0,i.useRef)(m);v.current=l,y.current=m,(0,i.useEffect)(()=>{let e=g.current;_.current=document.activeElement instanceof HTMLElement?document.activeElement:null,o.push(e);let t=c?h.current?.closest(`.main-pane`)??null:null,n=f(h.current,t,p);function r(t){o.at(-1)===e&&(p&&t.target instanceof Element&&t.target.closest(p)||(t.key===`Escape`?(t.preventDefault(),t.stopPropagation(),v.current||y.current()):t.key!==`Tab`||c||d(t,h.current)))}return document.addEventListener(`keydown`,r,!0),()=>{document.removeEventListener(`keydown`,r,!0);let t=o.lastIndexOf(e);t>=0&&o.splice(t,1),n();let i=_.current;i?.isConnected&&i.focus()}},[c,p]),(0,i.useEffect)(()=>{let e=window.requestAnimationFrame(()=>{let e=h.current;(e?.querySelector(`[data-autofocus]`)??e)?.focus()});return()=>window.cancelAnimationFrame(e)},[u]);function b(e){e.target===e.currentTarget&&!l&&m()}function x(e){e.key===`Escape`&&e.stopPropagation()}return(0,a.jsx)(`div`,{className:t,role:`presentation`,onMouseDown:b,children:(0,a.jsx)(`section`,{ref:h,"aria-busy":l||void 0,"aria-label":e,"aria-modal":c?void 0:`true`,className:s,role:`dialog`,tabIndex:-1,onKeyDown:x,onMouseDown:e=>e.stopPropagation(),children:(0,a.jsx)(r,{children:n})})})}function u(e){return e?Array.from(e.querySelectorAll(c)).filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`&&e.getClientRects().length>0):[]}function d(e,t){if(!t)return;let n=u(t);if(n.length===0){e.preventDefault(),t.focus();return}let r=n.indexOf(document.activeElement),i=e.shiftKey?r<=0?n.length-1:r-1:r<0||r===n.length-1?0:r+1;e.preventDefault(),n[i]?.focus()}function f(e,t=null,n){if(!e)return()=>void 0;let r=[],i=e.parentElement??e;for(;i.parentElement&&i!==document.body;){let e=i.parentElement;for(let t of Array.from(e.children)){if(t===i||!(t instanceof HTMLElement)||n&&t.matches(n))continue;let e=s.get(t)??{count:0,ariaHidden:t.getAttribute(`aria-hidden`),inert:t.inert};e.count+=1,s.set(t,e),r.push(t),t.inert=!0,t.setAttribute(`aria-hidden`,`true`)}if(i=e,t&&i===t)break}return()=>{for(let e of r.reverse()){let t=s.get(e);!t||--t.count>0||(s.delete(e),e.inert=t.inert,t.ariaHidden===null?e.removeAttribute(`aria-hidden`):e.setAttribute(`aria-hidden`,t.ariaHidden))}}}export{l as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalOverlay-D--M876l.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-LXNhSUEL.js","assets/index-g7UqJhnX.css","assets/api-client-Dgz-fOMl.js","assets/icons-CZxmQtZs.js","assets/chevron-down-DEbd6Ek-.js","assets/createLucideIcon-Bv-_eGcE.js","assets/plus-Ddp1vXnw.js","assets/x-B-_zJVOZ.js","assets/AppToastContext-D2788RqX.js","assets/ui-theme.generated-D-mc26qt.js","assets/App-DmEA-Lia.js","assets/useQuery-CCjwL8VI.js","assets/schemas-C9IwV7NS.js","assets/common-CFsO2ppZ.js","assets/settings-DdonLCIN.js","assets/client-choice-storage-DUWsS4X0.js","assets/requests-DjSt-duM.js","assets/create-pipeline-DRR0Qeec.js","assets/profile-ref-CCxrOCio.js","assets/chunk-H3JZ3P5T-CzpTARDY.js","assets/work-outputs-CnbRtTLg.js","assets/training-QBuGBGJd.js","assets/chunk-GJRXJL6G-luaxRTYI.js","assets/chunk-GHPCQXG5-DKDBSd8H.js","assets/reward-checks-D139zwha.js","assets/intake-contracts-wCkD2ErR.js","assets/chunk-JDQVAG3R-C0-rh1aR.js","assets/ponder-desktop-D-zB6X4L.js","assets/chat-resources-BUDXdoG0.js","assets/app-models-CKXrDTEU.js","assets/model-display-zPvC4L2B.js","assets/submit-issue-command-Gk3RKrY-.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-D9v2cyJa.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/bot-Cd761lRF.js","assets/chevron-right-DLYNg_Oq.js","assets/copy-BGOhV6Pk.js","assets/external-link-CVXsNeO3.js","assets/loader-circle-JFgFNsP5.js","assets/maximize-2-DXZCQO0b.js","assets/message-square-cOCAL8J1.js","assets/refresh-cw-D45mW-vs.js","assets/square-terminal-DS3zwi6X.js","assets/models-route-CWcJuOd0.js","assets/NativeSetupTerminal-fmG2c65K.js","assets/AppDialog-BvskhHE9.js","assets/PageChrome-8gH2hyDb.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/organization-types-PP-yuR2J.js","assets/App-DpFKLxuA.css","assets/TerminalOverlay-DoUFGstN.css"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n,t as r}from"./index-LXNhSUEL.js";var i=e(t(),1),a=n(),o=(0,i.lazy)(()=>r(()=>import(`./TerminalOverlay-D--M876l.js`).then(e=>({default:e.TerminalOverlay})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55])));function s({open:e,connection:t,scope:n,tabs:r,onTabsChange:s,cwd:c,appId:l,workspaceName:u,queuedCommand:d,onClose:f}){let[p,m]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{e&&m(!0)},[e]),p?(0,a.jsx)(i.Suspense,{fallback:null,children:(0,a.jsx)(o,{open:e,connection:t,scope:n,tabs:r,onTabsChange:s,cwd:c,appId:l,workspaceName:u,queuedCommand:d,onClose:f})}):null}export{s as AppTerminalPanel};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-CM0IRu1U.js";var r=e(t(),1),i=[/^(?:(?:type)?error:\s*)?failed to fetch\.?$/i,/^networkerror when attempting to fetch resource\.?$/i,/^load failed\.?$/i,/^(?:ConnectionRequestError:\s*)?Couldn[’']t connect to OpenPond\.?$/i,/^Event stream disconnected$/i];function a(e,t=`Something went wrong.`){let n=(e instanceof Error?e.message:String(e??``)).trim();return n?o(n)?`Couldn’t connect to OpenPond.`:n:t}function o(e){let t=e.trim();return i.some(e=>e.test(t))||/(?:^|:\s*)(?:ConnectionRequestError:\s*)?Couldn[’']t connect to OpenPond\.?$/i.test(t)}var s=n(),c=(0,r.createContext)(null);function l({children:e,showToast:t}){return(0,s.jsx)(c.Provider,{value:t,children:e})}function u(){return(0,r.useContext)(c)}function d(e,t={}){let n=u(),i=(0,r.useRef)(null),s=t.enabled??!0,c=t.fallback??`Something went wrong.`,l=t.prefix?.trim()??``,d=e instanceof Error?e.message:String(e??``),f=e==null||e===``||o(d)?null:`${l}${l?`: `:``}${a(e,c)}`;(0,r.useEffect)(()=>{!s||!f?i.current=null:i.current!==f&&(i.current=f,n?.(f,`error`,{dedupeKey:`error:${f}`}))},[s,f,n])}export{o as a,a as i,u as n,d as r,l as t};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";var r=e(t(),1),i=[/^(?:(?:type)?error:\s*)?failed to fetch\.?$/i,/^networkerror when attempting to fetch resource\.?$/i,/^load failed\.?$/i,/^(?:ConnectionRequestError:\s*)?Couldn[’']t connect to OpenPond\.?$/i,/^Event stream disconnected$/i];function a(e,t=`Something went wrong.`){let n=(e instanceof Error?e.message:String(e??``)).trim();return n?o(n)?`Couldn’t connect to OpenPond.`:n:t}function o(e){let t=e.trim();return i.some(e=>e.test(t))||/(?:^|:\s*)(?:ConnectionRequestError:\s*)?Couldn[’']t connect to OpenPond\.?$/i.test(t)}var s=n(),c=(0,r.createContext)(null);function l({children:e,showToast:t}){return(0,s.jsx)(c.Provider,{value:t,children:e})}function u(){return(0,r.useContext)(c)}function d(e,t={}){let n=u(),i=(0,r.useRef)(null),s=t.enabled??!0,c=t.fallback??`Something went wrong.`,l=t.prefix?.trim()??``,d=e instanceof Error?e.message:String(e??``),f=e==null||e===``||o(d)?null:`${l}${l?`: `:``}${a(e,c)}`;(0,r.useEffect)(()=>{!s||!f?i.current=null:i.current!==f&&(i.current=f,n?.(f,`error`,{dedupeKey:`error:${f}`}))},[s,f,n])}export{o as a,a as i,u as n,d as r,l as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,l as n,m as r,s as i}from"./index-LXNhSUEL.js";import{T as a,t as o}from"./useQuery-CCjwL8VI.js";import{a as s,c,d as l,m as u,o as d,p as f,r as p,v as m}from"./schemas-C9IwV7NS.js";import{U as h,d as g,i as _,it as v}from"./chunk-H3JZ3P5T-CzpTARDY.js";import{C as y}from"./app-models-CKXrDTEU.js";import{n as b}from"./api-client-Dgz-fOMl.js";import"./icons-CZxmQtZs.js";import{t as x}from"./chevron-right-DLYNg_Oq.js";import{t as S}from"./external-link-CVXsNeO3.js";import{a as C,i as w,n as T,t as E}from"./settings-lists-CFHFtO0D.js";import{t as D}from"./plus-Ddp1vXnw.js";import{t as O}from"./refresh-cw-D45mW-vs.js";import{t as k}from"./x-B-_zJVOZ.js";import{r as A}from"./AppToastContext-D2788RqX.js";import{i as j}from"./models-route-CWcJuOd0.js";import{t as M}from"./NativeSetupTerminal-fmG2c65K.js";import{At as N,Bt as P,Gt as F,Mn as I,Nn as L,Nt as R,Rt as z,bn as ee,kt as B,un as te}from"./App-DmEA-Lia.js";import{D as V,O as ne}from"./MainPane-WOeodByM.js";import{i as H,n as U,r as W,t as re}from"./client-BNjO4Xi8.js";import{n as G,r as ie,t as ae}from"./useAgentInventory-CVuamyT3.js";/* empty css */var K=e(t(),1),q=r();function oe({context:e,baseUrl:t,onClose:n}){let[r,i]=(0,K.useState)(`claude_code`),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(null),l=C(n);A(s);async function u(){try{await navigator.clipboard.writeText(`Read ${new URL(`/agent-setup.md`,t).href} and connect ${re(r)} tool capture to my private saved Fix-it dataset. Reuse my existing OpenPond home and account and select workspace ${e.teamId}. Inspect openpond tool-learning --help and the Model commands. Reuse an owner-controlled private capture Model, or create one if needed, without activating training. All my connected agents should contribute to the same Fix-it dataset. I consent to bounded, sanitized tool arguments, error excerpts and follow-up actions from the workspace I select being saved as dataset records until I remove them; raw capture buffers retain their separate bounded retention. Confirm the actual client version and exact permitted tool names, then use tool-learning setup --client ${r} --team-id ${e.teamId} --project-id <private-capture-model> --workspace <chosen-workspace> --environment-file <bounded-context-file> --tools <exact-tool-names> --allow-upload with my existing home/account. Preserve unrelated hooks and permissions. ${r===`codex`?`Use the installed openpond-fix-it skill and tool-learning run for captured Codex CLI tasks; ordinary Codex desktop chats are outside this connection.`:``} Use doctor to verify observed capture and inspect the uploaded records through the normal dataset commands. Do not import conversation history, start OpenPond inference or training, provision compute, or activate a specialist.`),c(null),o(!0)}catch{c(`The setup prompt could not be copied. Please retry.`)}}return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:n,children:(0,q.jsxs)(`section`,{ref:l,className:`git-dialog provider-details-dialog agent-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Connect Fix-it`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{className:`git-dialog-close`,"aria-label":`Close`,onClick:n,children:(0,q.jsx)(k,{size:16})}),(0,q.jsx)(`div`,{className:`provider-dialog-header`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Connect Fix-it`}),(0,q.jsx)(`span`,{children:`Tool capture to your saved dataset`})]})}),(0,q.jsxs)(`div`,{className:`provider-dialog-body`,children:[(0,q.jsx)(`div`,{className:`agent-sync-form`,children:(0,q.jsxs)(`label`,{children:[`Coding agent`,(0,q.jsx)(z,{label:`Fix-it coding agent`,value:r,onChange:e=>{i(e),o(!1)},options:[{value:`claude_code`,label:`Claude Code`},{value:`opencode`,label:`OpenCode`},{value:`codex`,label:`Codex CLI`},{value:`openpond`,label:`OpenPond`}]})]})}),r===`codex`?(0,q.jsx)(`p`,{className:`provider-dialog-note`,children:`Captures tasks launched through the installed Codex CLI skill. Existing desktop chats are outside this connection.`}):null,(0,q.jsx)(`div`,{className:`settings-button-row`,children:(0,q.jsx)(`button`,{className:`agent-connect-button`,onClick:()=>void u(),children:a?`Setup prompt copied`:`Copy capture setup prompt`})}),(0,q.jsx)(`p`,{className:`provider-dialog-note`,children:`Paste this into your agent in the workspace you want to connect. Captures stay in your saved dataset until removed. Training stays off.`})]})]})})}function se({context:e,baseUrl:t}){let n=U(e),r=W(e),[i,a]=(0,K.useState)(!1);A(n.error);let o=n.data,s=r.data?.installations.filter(e=>e.state!==`revoked`)??[];function c(){n.refetch(),r.refetch()}return(0,q.jsxs)(`section`,{className:`connected-agents-view`,"aria-label":`Fix-it connections`,children:[(0,q.jsxs)(`header`,{className:`agent-connections-heading`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Fix-it`}),(0,q.jsx)(`p`,{children:`Tool errors from all your connected agents go to one private saved dataset.`})]}),(0,q.jsxs)(`div`,{className:`agent-connections-actions`,children:[(0,q.jsx)(`button`,{onClick:c,disabled:n.isFetching||r.isFetching,children:`Refresh`}),(0,q.jsx)(`button`,{className:`agent-connect-button`,onClick:()=>a(!0),children:`Connect agent`})]})]}),(0,q.jsxs)(`div`,{className:`evaluation-card`,children:[(0,q.jsxs)(`h3`,{children:[`Destination: `,o?.name??`Fix-it`]}),(0,q.jsx)(`p`,{role:`status`,"aria-live":`polite`,children:o?`${o.taskCount??0} saved ${o.taskCount===1?`record`:`records`}`:n.isPending?`Loading dataset…`:n.error?null:`No capture dataset available`}),(0,q.jsx)(`button`,{className:`training-text-button`,disabled:!o,onClick:()=>o&&void R({kind:`models`,route:j(`datasets`,null,{area:`console`,resourceId:o.id,detailTab:`tasks`,projectId:null,executionLocation:`hosted`})}),children:`Open dataset`}),n.error?(0,q.jsx)(`button`,{className:`training-text-button`,onClick:()=>void n.refetch(),children:`Retry`}):null]}),(0,q.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Agent`}),(0,q.jsx)(`th`,{children:`Capture`}),(0,q.jsx)(`th`,{children:`Tools`}),(0,q.jsx)(`th`,{children:`Dataset`})]})}),(0,q.jsxs)(`tbody`,{children:[s.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`div`,{children:re(e.client)}),(0,q.jsx)(`small`,{children:e.clientVersion})]}),(0,q.jsx)(`td`,{children:e.state===`enabled`?`Enabled`:`Paused`}),(0,q.jsx)(`td`,{children:e.collectionPolicy.permittedTools.join(`, `)}),(0,q.jsx)(`td`,{children:o?.name??`Fix-it`})]},e.id)),(0,q.jsx)(H,{columns:4,loading:r.isPending,error:r.error?.message,retry:()=>void r.refetch(),empty:!s.length,children:`Connect a coding agent to start capturing tool errors.`})]})]})}),(0,q.jsx)(`p`,{className:`evaluation-meta-line`,children:`Captures are saved as dataset records. Recovery candidates need separate review before training.`}),i?(0,q.jsx)(oe,{context:e,baseUrl:t,onClose:()=>a(!1)}):null]})}function ce({agent:e,account:t,native:n,inventory:r,projects:i,teamId:a,learningControl:o,connected:s,onHide:c,onManage:l}){let u=r?.collector.connections.filter(t=>t.source===e.id)??[],d=r?.sources.some(t=>t.source===e.id&&t.available&&t.capabilities.history);return(0,q.jsxs)(`article`,{className:`agent-connection-card`,"aria-label":e.name,children:[(0,q.jsxs)(`div`,{className:`agent-card-title`,children:[(0,q.jsx)(`img`,{src:e.icon,alt:``}),(0,q.jsx)(`span`,{children:e.name}),(0,q.jsx)(`button`,{type:`button`,className:`agent-hide`,"aria-label":`Hide ${e.name}`,onClick:c,children:(0,q.jsx)(k,{size:14})})]}),e.id===`openpond_chat`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`small`,{children:t?.state===`signed_in`?`Connected to OpenPond`:`Sign in to OpenPond`}),(0,q.jsx)(`p`,{children:`Use Pal from the sidebar.`}),(0,q.jsx)(`button`,{type:`button`,className:`agent-account-link`,onClick:()=>void R({kind:`settings`,section:`account`}),children:`Account setup`})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`small`,{children:n?n.available?n.enabled?`Ready to chat`:`Installed · chat disabled`:n.lastError??`Check installation`:`Conversation import`}),(0,q.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:!s,onClick:l,children:n?.available||u.length?`Manage`:`Connect`}),(0,q.jsx)(`div`,{className:`agent-card-sync`,children:u.length?u.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:ie(e,r.collector)}),(0,q.jsxs)(`small`,{children:[i.find(t=>t.id===e.projectId&&e.teamId===a)?.content.name??e.projectId,` `,`· `,e.admitted,` tasks`]}),e.teamId===a?null:(0,q.jsxs)(`small`,{children:[`Team: `,e.teamId]}),e.queued?(0,q.jsxs)(`small`,{children:[e.queued,` updates queued`]}):null,e.lastAdmissionAt?(0,q.jsxs)(`small`,{children:[`Last sync: `,new Date(e.lastAdmissionAt).toLocaleString()]}):null,e.error?(0,q.jsx)(P,{error:e.error}):null]},e.id)):(0,q.jsx)(`small`,{children:r?d?`History available · sync not connected`:`No local history found`:`Reading local setup…`})})]}),o]})}function le(e,t,n,r){let i=(0,K.useRef)({providers:t,onProvider:n});i.current={providers:t,onProvider:n};let a=JSON.stringify([`claude-code`,`opencode`,`grok-build`].map(e=>{let n=t?.providers[e];return[e,n?.binaryPath,n?.sourceHome,n?.enabled]}));(0,K.useEffect)(()=>{if(!e||!i.current.providers)return;let t=!1,n=[`claude-code`,`opencode`,`grok-build`].map(n=>{let a=i.current.providers?.providers[n],o=new AbortController,s=r>0?{promise:b(e,`/v1/providers/${n}/native-setup`,{method:`POST`,body:JSON.stringify({action:`check`}),signal:o.signal}),release:()=>o.abort()}:V(e,n,i.current.providers?.providers[n]);return s.promise.then(o=>{t||(r>0&&o.session&&!o.error&&ne(e,n,o,a),i.current.onProvider(n,o.settings))},()=>{}),s});return()=>{t=!0,n.forEach(e=>e.release())}},[e,a,r])}var J=m().trim().min(1).max(240),ue=f().int().positive(),de=p([`dataset`,`evaluator`,`model`,`training_configuration`,`training_run`,`harness`,`environment`,`experiment`,`learning_policy`,`deployment`]),fe=u({kind:de,resourceId:J,release:_.nullable(),role:p([`training`,`validation`,`holdout`,`target`,`reward`,`evaluation`,`serving`,`source`])}).strict(),pe=c(`kind`,[u({kind:l(`model`),providerId:J,modelId:J,artifact:_.nullable(),messages:s(u({role:p([`system`,`user`,`assistant`]),content:m().max(1e5)}).strict()).max(100)}).strict(),u({kind:l(`harness`),profileRepositoryId:J,source:v}).strict(),u({kind:l(`agent`),source:h}).strict(),u({kind:l(`suite`),profileRepositoryId:J,suiteId:J,sources:s(v).min(1).max(1e3)}).strict().superRefine((e,t)=>{let n=e.sources[0],r=new Set;for(let[i,a]of e.sources.entries())r.has(a.definitionId)&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite definitions must be unique.`}),r.add(a.definitionId),(a.profileId!==n.profileId||a.sourceRevision!==n.sourceRevision||a.catalogHash!==n.catalogHash||g(a.harnessRelease)!==g(n.harnessRelease))&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite checks must belong to the same pinned Profile source and Harness release.`})})]),me=u({name:m().trim().min(1).max(200),description:m().max(1e4),targets:s(u({id:J,name:m().trim().min(1).max(200),target:pe}).strict()).max(100),defaultTargetId:J.nullable(),resources:s(fe).max(1e3)}).strict().superRefine((e,t)=>{new Set(e.targets.map(e=>e.id)).size!==e.targets.length&&t.addIssue({code:`custom`,path:[`targets`],message:`Target identities must be unique.`}),e.defaultTargetId&&!e.targets.some(t=>t.id===e.defaultTargetId)&&t.addIssue({code:`custom`,path:[`defaultTargetId`],message:`Default target must belong to this Project.`}),new Set(e.resources.map(e=>g(e))).size!==e.resources.length&&t.addIssue({code:`custom`,path:[`resources`],message:`Resource links must be unique.`})}),he=u({schemaVersion:l(`openpond.trainingProject.v1`),id:J,teamId:J,creatorUserId:J,ownerScope:p([`workspace`,`personal`]).optional(),revision:ue,content:me,archived:d(),createdAt:m().datetime(),updatedAt:m().datetime()}).strict();u({operationId:J,id:J,expectedRevision:f().int().nonnegative(),content:me,ownerScope:p([`workspace`,`personal`]).optional()}).strict(),u({operationId:J,expectedRevision:ue,archived:d()}).strict();var ge=u({teamId:J,projects:s(he).max(100),nextCursor:J.nullable()}).strict();u({operation:p([`evaluate`,`train`,`enable_learning`,`accept_candidate`,`serve`]),support:p([`supported`,`unsupported`]),state:p([`ready`,`needs_setup`,`blocked`]),reasons:s(u({code:J,message:m().min(1).max(2e3),field:m().nullable(),action:p([`choose_target`,`choose_data`,`choose_evaluator`,`configure_runtime`,`request_access`,`configure_budget`,`wait`,`review_evidence`]).nullable()}).strict()).max(100)}).strict().superRefine((e,t)=>{e.state===`ready`&&(e.support!==`supported`||e.reasons.length)&&t.addIssue({code:`custom`,message:`Ready operations must be supported with no blockers.`}),e.state!==`ready`&&!e.reasons.length&&t.addIssue({code:`custom`,message:`Unavailable operations must explain the next step.`})});var Y=new WeakMap;function _e(e,t,n){let r=JSON.stringify([t?.activeProfile,t?.profile?.id,n]),i=e?Y.get(e)?.get(r):void 0,[a,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(null),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(0),p=t?.state===`signed_in`?a?.key===r&&a.connection===e?a.value:i:void 0;(0,K.useEffect)(()=>{if(!e||!n||t?.state!==`signed_in`)return;let i=new AbortController;u(!0),c(null);async function a(){let t=[],a=new Set,s;do{let r=ge.parse(await b(e,`/v1/training/evaluation-workspace`,{method:`POST`,body:JSON.stringify({teamId:n,operation:`projects`,value:{cursor:s}}),signal:i.signal}));if(r.teamId!==n)throw Error(`The hosted project workspace changed. Refresh connections.`);if(t.push(...r.projects.filter(e=>!e.archived)),s=r.nextCursor??void 0,s&&a.has(s))throw Error(`Project pagination stalled. Refresh connections.`);s&&a.add(s)}while(s&&!i.signal.aborted);if(i.signal.aborted)return;let c=Y.get(e);c||(c=new Map,Y.set(e,c));let l=c.get(r)?.selected,u={projects:t,selected:l&&t.some(e=>e.id===l)?l:t.length===1?t[0].id:``};c.set(r,u),o({key:r,connection:e,value:u})}return a().catch(e=>{i.signal.aborted||c(e instanceof Error?e.message:`Unable to list hosted projects.`)}).finally(()=>{i.signal.aborted||u(!1)}),()=>i.abort()},[e,r,n,t?.state,d]);let m=(0,K.useCallback)(t=>{if(!e)return;let n=Y.get(e)?.get(r);if(!n||!n.projects.some(e=>e.id===t))return;let i={...n,selected:t};Y.get(e).set(r,i),o({key:r,connection:e,value:i})},[e,r]);return{projects:p?.projects??[],projectId:p?.selected??``,select:m,error:s,loading:l,refresh:()=>f(e=>e+1)}}var ve=e(N(),1),ye=e(B(),1);function be({connection:e,connectionId:t,disabled:n,projectName:r,onUpload:i,onClose:a}){let[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(`all`),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(()=>new Map),[m,h]=(0,K.useState)(!0),[g,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(0);w(e,g,()=>y(e=>e+1));let x=(0,K.useRef)(null),S=(0,K.useRef)(0);(0,K.useEffect)(()=>{let n=new AbortController;x.current?.abort(),x.current=n,h(!0),d(null),_(null);let r=window.setTimeout(()=>{let r=v!==S.current;S.current=v,b(e,`/v1/native-history/collector`,{method:`POST`,signal:n.signal,body:JSON.stringify({command:`conversations`,connectionId:t,query:o,range:c,refresh:r})}).then(e=>{n.signal.aborted||d(e)}).catch(e=>{n.signal.aborted||_(e instanceof Error?e.message:`Unable to list conversations.`)}).finally(()=>{n.signal.aborted||h(!1)})},200);return()=>{window.clearTimeout(r),n.abort(),x.current?.abort()}},[e,t,o,c,v]);async function C(){if(m||u?.nextOffset==null)return;let n=new AbortController;x.current=n,h(!0),_(null);try{let r=await b(e,`/v1/native-history/collector`,{method:`POST`,signal:n.signal,body:JSON.stringify({command:`conversations`,connectionId:t,query:o,range:c,offset:u.nextOffset})});n.signal.aborted||d(e=>({...r,items:[...new Map([...e?.items??[],...r.items].map(e=>[e.key,e])).values()]}))}catch(e){n.signal.aborted||_(e instanceof Error?e.message:`Unable to load more conversations.`)}finally{n.signal.aborted||h(!1)}}function T(e,t){p(n=>{let r=new Map(n);return t?r.set(e.key,e):r.delete(e.key),r})}let E=u?.items??[],D=E.filter(e=>!e.issue),O=D.length>0&&D.every(e=>f.has(e.key)),k=new Set(E.map(e=>e.key)),A=[...f.keys()].filter(e=>!k.has(e)).length;return(0,q.jsxs)(`section`,{className:`conversation-upload-picker`,"aria-label":`Choose conversations to upload`,children:[(0,q.jsx)(`h3`,{children:`Choose conversations`}),(0,q.jsxs)(`p`,{children:[`Upload to `,(0,q.jsx)(`strong`,{children:r}),`. This selection also sets which conversations later syncs update. Previously uploaded data stays in the project.`]}),(0,q.jsxs)(`div`,{className:`conversation-upload-toolbar`,children:[(0,q.jsx)(`input`,{autoFocus:!0,type:`search`,"aria-label":`Search conversations`,placeholder:`Search title, folder, or session ID`,value:o,disabled:n,onChange:e=>s(e.target.value)}),(0,q.jsx)(z,{label:`Conversation activity`,value:c,disabled:n,onChange:l,options:[{value:`all`,label:`All dates`},{value:`week`,label:`Active last week`},{value:`day`,label:`Active last day`}]})]}),(0,q.jsxs)(`div`,{className:`conversation-upload-selection`,role:`status`,children:[(0,q.jsxs)(`span`,{children:[f.size,` selected`,A?` · ${A} outside this view`:``,u?` · ${u.total} matching`:``]}),(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Refresh`}),(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||!f.size,onClick:()=>p(new Map),children:`Clear selection`})]}),(0,q.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame conversation-upload-table`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:(0,q.jsx)(`input`,{type:`checkbox`,className:`training-chat-checkbox`,"aria-label":`Select visible conversations`,checked:O,disabled:n||m||!D.length,onChange:e=>{let t=e.target.checked;p(e=>{let n=new Map(e);return D.forEach(e=>{t?n.set(e.key,e):n.delete(e.key)}),n})}})}),(0,q.jsx)(`th`,{children:`Conversation`}),(0,q.jsx)(`th`,{children:`Last activity`})]})}),(0,q.jsxs)(`tbody`,{children:[E.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`input`,{type:`checkbox`,className:`training-chat-checkbox`,"aria-label":`Select ${e.title}`,checked:f.has(e.key),disabled:n||!!e.issue,onChange:t=>T(e,t.target.checked)})}),(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`span`,{className:`conversation-upload-title`,title:e.title,children:e.title}),(0,q.jsx)(`small`,{title:e.cwd??e.nativeSessionId,children:e.cwd??e.nativeSessionId}),e.issue?(0,q.jsx)(`small`,{role:`status`,children:e.issue}):e.approved?(0,q.jsx)(`small`,{children:`Already approved for sync`}):null]}),(0,q.jsx)(`td`,{children:(0,q.jsx)(`time`,{dateTime:e.updatedAt,children:new Date(e.updatedAt).toLocaleDateString()})})]},e.key)),m?(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:3,role:`status`,children:`Loading conversations…`})}):!E.length&&!g?(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:3,children:o.trim()||c!==`all`?`No conversations match these filters.`:`No saved conversations found in this installation.`})}):null]})]})}),g?(0,q.jsx)(P,{error:g,children:(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Retry`})}):null,u?.nextOffset==null?null:(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>void C(),children:`Load more conversations`}),(0,q.jsx)(`p`,{children:`The complete selected conversations are uploaded, including their prompts, responses, and tool history. Date filters help you find conversations; they do not trim their contents.`}),(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:n||!f.size,onClick:()=>void i([...f.keys()]),children:`Upload ${f.size} conversation${f.size===1?``:`s`}`}),(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n,onClick:a,children:`Cancel`})]})]})}ve.default.extend(ye.default);function xe({agent:e,inventory:t,connection:n,account:r,teamId:i,projects:a,projectId:o,onRefresh:s,learningUrl:c}){let l=t?.sources.filter(t=>t.source===e.id)??[],[u,d]=(0,K.useState)(l.length===1?l[0].instanceId:``),[f,p]=(0,K.useState)(o),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(!1),[x,S]=(0,K.useState)(null),C=l.find(e=>e.instanceId===u)??(!u&&l.length===1?l[0]:void 0),w=t?.collector.connections.filter(t=>t.source===e.id)??[],T=r?.baseUrl??r?.activeProfile?.baseUrl,E=r?.apiBaseUrl;async function D(e,t,r){if(!(!n||v||g)){y(!0),S(null);try{let a=await b(n,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:e,...t?{connectionId:t}:{},...r?{sessionKeys:r}:{},...e===`connect`?{setup:{sourceInstanceId:C?.instanceId,teamId:i,projectId:f,accountBaseUrl:T,apiBaseUrl:E,range:`all`}}:{}})});a.command?_(a.command):await s()}catch(e){S(e instanceof Error?e.message:`Unable to update this connection.`)}finally{y(!1)}}}let O=v||g!==null,k=w.find(e=>e.id===m),A=g&&n?(0,q.jsx)(M,{connection:n,command:g,onComplete:()=>{_(null),h(null),s()},onClose:()=>{_(null),s()}}):null;return k&&n?(0,q.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,q.jsx)(be,{connection:n,connectionId:k.id,projectName:a.find(e=>e.id===k.projectId&&k.teamId===i)?.content.name??k.projectId,disabled:O||!!t?.collector.running,onClose:()=>h(null),onUpload:e=>D(`upload`,k.id,e)},k.id),x?(0,q.jsx)(P,{error:x}):null,A]}):(0,q.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,q.jsxs)(`p`,{children:[`Sync saved `,e.name,` conversations to an existing OpenPond project. Connecting authorizes the destination. Choose conversations and confirm an upload when ready.`]}),w.map(n=>(0,q.jsxs)(`section`,{className:`agent-retained-connection`,"aria-label":`${e.name} sync connection`,children:[(0,q.jsx)(`strong`,{children:ie(n,t.collector)}),(0,q.jsxs)(`span`,{children:[`Project:`,` `,n.teamId===i?a.find(e=>e.id===n.projectId)?.content.name??n.projectId:n.projectId,` `,`· Team: `,n.teamId]}),(0,q.jsx)(`small`,{children:n.accountBaseUrl??`Hosted destination`}),(0,q.jsx)(`small`,{className:`agent-source-path`,children:n.sourceRoot}),(0,q.jsxs)(`span`,{children:[n.admitted,` tasks imported · `,n.queued,` updates queued`]}),(0,q.jsx)(`small`,{children:n.selectedConversations===null?`All history approved for sync`:`${n.selectedConversations} conversations approved for sync`}),n.backfill.total>0&&n.backfill.stage!==`complete`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`progress`,{"aria-label":`History import progress`,value:n.backfill.admitted+n.backfill.skipped,max:n.backfill.total}),(0,q.jsxs)(`small`,{children:[n.backfill.admitted+n.backfill.skipped,` of`,` `,n.backfill.total,` conversations processed`]})]}):null,(0,q.jsx)(`small`,{children:n.lastAdmissionAt?`Last synced ${(0,ve.default)(n.lastAdmissionAt).fromNow()}`:`No uploads acknowledged yet`}),n.error?(0,q.jsx)(P,{error:n.error}):null,(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:O||n.state!==`active`||t?.collector.running,onClick:()=>h(n.id),children:`Choose conversations…`}),n.state===`disconnected`?(0,q.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(`reconnect`,n.id),children:`Reconnect`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(n.state===`paused`?`resume`:`pause`,n.id),children:n.state===`paused`?`Resume`:`Pause`}),(0,q.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>{window.confirm(`Disconnect this conversation source? Imported data stays in its project.`)&&D(`disconnect`,n.id)},children:`Disconnect`})]}),n.destinationLinks.tasks?(0,q.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noreferrer`,children:`View tasks`}):null,n.destinationLinks.conversations?(0,q.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noreferrer`,children:`View conversations`}):null]})]},n.id)),(0,q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),D(`connect`)},className:`agent-sync-form`,children:[(0,q.jsx)(`h3`,{children:w.length?`Add another connection`:`Connect conversations`}),(0,q.jsxs)(`label`,{className:`agent-source-field`,children:[`Source installation`,(0,q.jsx)(z,{label:`Source installation`,value:C?.instanceId??``,disabled:O,onChange:d,options:[{value:``,label:`Select installation`},...l.map(e=>({value:e.instanceId,label:e.root,disabled:!e.available||!e.capabilities.history}))]})]}),C?.reason?(0,q.jsx)(`small`,{children:C.reason}):null,l.some(e=>e.available&&e.capabilities.history)?null:(0,q.jsxs)(`small`,{children:[`No readable conversation history found.`,` `,e.provider?`Use Agent setup to check the installation, or create a conversation in this agent first.`:`Open this agent and create a conversation, then refresh connections.`]}),(0,q.jsxs)(`label`,{children:[`Project`,(0,q.jsx)(z,{label:`Upload destination project`,value:f,disabled:O||!i,onChange:p,searchable:!0,options:[{value:``,label:`Select project`},...a.map(e=>({value:e.id,label:e.content.name}))]})]}),(0,q.jsx)(`p`,{children:`No conversations are uploaded during setup. Continual imports are off by default and can be scheduled after choosing conversations.`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>R({kind:`settings`,section:`conversation-imports`}),children:`Manage continual imports in Settings`}),r?.state!==`signed_in`||!i?(0,q.jsx)(`small`,{children:`Sign in and select a default team in Account settings to choose a hosted project.`}):null,(0,q.jsx)(`button`,{type:`submit`,className:`agent-connect-button`,disabled:O||!C?.available||!C.capabilities.history||!a.some(e=>e.id===f)||!i||!T||!E||r?.state!==`signed_in`,children:v?`Opening setup…`:`Connect conversations`})]}),c?(0,q.jsx)(`a`,{className:`agent-learning-link`,href:c,target:`_blank`,rel:`noreferrer`,children:`Configure continual learning in Console`}):null,t?(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`CLI setup`}),(0,q.jsxs)(`small`,{className:`agent-source-path`,children:[`Importer directory: `,t.directory]}),(0,q.jsx)(`code`,{children:t.statusCommand})]}):null,x?(0,q.jsx)(P,{error:x}):null,A]})}var X=e=>JSON.stringify([e.origin,e.sourceInstanceId]),Se=e=>({id:e.id,revision:e.revision,contentHash:e.contentHash});function Z(e,t,n,r,i){return b(e,`/v1/conversation-learning/${n}?${new URLSearchParams({teamId:t})}`,{method:r===void 0?`GET`:`POST`,...r===void 0?{}:{body:JSON.stringify(r)},signal:i})}function Ce(e,t,n,r){let i=a(),s=[`native-conversation-learning`,e?.serverUrl,n,t];return{...o({queryKey:s,enabled:!!(e&&t&&r),queryFn:({signal:n})=>Z(e,t,`options`,void 0,n),staleTime:15e3,refetchInterval:3e4}),refresh:()=>i.invalidateQueries({queryKey:s})}}function we(e,t,n,r,i){return Z(e,t,`policies`,{...n?{id:n.id}:{},expectedRevision:n?.revision??0,configuration:r,enabled:i})}function Q(e,t,n=[]){let r=t?.configuration;return{projectId:e,name:r?.name??`Continuous learning`,mode:r?.mode??`activate`,definition:r?.definition??null,configurationId:r?.configuration?.id??``,trainingPolicyId:r?.learningPolicy?.id??``,graderIds:[],sourceKeys:[...new Set([...r?.sources.filter(e=>e.enabled).map(X)??[],...n.map(X)])],adapter:r?.adapter??{kind:`complete_text`,qualitativeOnly:!0},generator:r?.generator??null,graderSelection:r?.graderSelection??(t?{mode:`manual`}:{mode:`auto`,modelId:`gpt-6-luna`,sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}),schedule:r?.schedule??{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,hour:2,minute:0,endHour:6,endMinute:0},limits:r?.limits??{perCycleUsd:5,dailyUsd:5,monthlyUsd:25,gradeUsd:.2,maximumTasks:10,minimumExamples:5,maxGpuSeconds:10800,maximumAttempts:2,lookbackDays:30},exceptions:r?.exceptions??`block`,minimumScore:r?.minimumScore??.8,selection:r?.selection??{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1},acceptance:r?.acceptance??{minimumCasesPerCheck:20,minimumImprovement:.05,windowCasesPerCheck:20},failurePolicy:r?.failurePolicy??{pauseAfterConsecutiveFailures:3},...r?.serving?{serving:r.serving}:{serving:{targetId:``,canarySeconds:120,rollbackOnRuntimeFailure:!0}}}}function $(e,t){let n=e?.configurations.find(e=>e.id===t);return e?.trainingPolicies.filter(e=>e.modelProjectId===n?.portableProjectId&&e.training.recipe.id===`model-recipe-${n?.etag}`&&!e.id.startsWith(`conversation-training-`))??[]}async function Te(e,t,n,r,i,a){let o=r.configurations.find(e=>e.id===n.configurationId),s=$(r,n.configurationId).find(e=>e.id===n.trainingPolicyId);if(!n.name.trim())throw Error(`Enter a policy name.`);if(!r.projects.some(e=>e.id===n.projectId))throw Error(`This owned Project is unavailable for continuous learning.`);if(n.configurationId&&(!o||!r.projects.find(e=>e.id===n.projectId)?.configurationIds.includes(o.id)))throw Error(`Choose a model configuration attached to this Project.`);if(n.mode!==`evaluate`&&(!o||!s))throw Error(`Choose an owned model and its reviewed training setup.`);if(n.limits.perCycleUsd>n.limits.dailyUsd||n.limits.dailyUsd>n.limits.monthlyUsd)throw Error(`Daily and monthly spending limits must cover the run limit.`);if(n.limits.minimumExamples>n.limits.maximumTasks-Math.floor(n.limits.maximumTasks*(n.selection?.replayFraction??0)))throw Error(`Leave capacity for the minimum new examples after replay.`);let c=r.sources.filter(e=>e.projectId===n.projectId&&n.sourceKeys.includes(X(e)));if(!c.length)throw Error(`Select a source agent for this Project.`);let l=[...(i?.configuration.sources??[]).filter(e=>!c.some(t=>X(t)===X(e))).map(e=>({...e,enabled:!1})),...c.map(e=>({origin:e.origin,sourceInstanceId:e.sourceInstanceId,enabled:!0}))],u=n.definition;if(o&&(i?.configuration.configuration?.id!==o.id||i.configuration.configuration.expectedEtag!==o.etag))u=await Z(e,t,`definitions`,{projectId:n.projectId,configuration:{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}});else if(n.graderIds.length){let i=r.graders.flatMap(e=>e&&n.graderIds.includes(e.id)?[Se(e)]:[]);u=await Z(e,t,`definitions`,{projectId:n.projectId,graders:i})}if(!u)throw Error(`Select evaluation rubrics or an existing task definition.`);let d=n.serving,f=r.servingTargets.find(e=>e.id===d?.targetId);if(n.mode===`activate`&&d?.targetId&&(!f||!f.enabled||f.projectId!==n.projectId))throw Error(`Select an available serving target in this Project.`);if(n.mode===`activate`&&(!d?.targetId||f?.hostedPonder)&&(d={targetId:(await Z(e,t,`serving-targets`,{action:`ensure_hosted_ponder`,projectId:n.projectId,bindingId:r.ponderBindingId})).id,canarySeconds:d?.canarySeconds??120,rollbackOnRuntimeFailure:!0}),n.mode===`activate`&&!d?.targetId)throw Error(`Choose a serving target, or enable the policy to register hosted Pal.`);let{sourceKeys:p,configurationId:m,trainingPolicyId:h,graderIds:g,..._}=n,v={..._,name:n.name.trim(),definition:u,sources:l,configuration:o?{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}:null,learningPolicy:s?Se(s):null,...n.mode===`activate`?{serving:d}:{}};return n.mode!==`activate`&&delete v.serving,n.mode===`evaluate`&&delete v.acceptance,we(e,t,i,v,a)}function Ee({draft:e,options:t,loading:n,onChange:r}){let i=t?.sources.filter(t=>t.projectId===e.projectId)??[],a=i.filter(e=>[`active`,`paused`].includes(e.state)),o=a.length>0&&a.every(t=>e.sourceKeys.includes(X(t))),s=t=>r({...e,sourceKeys:t}),c=t?.graders.flatMap(e=>e?[e]:[])??[];return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Source agents`}),(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:o,disabled:!a.length,ref:t=>{t&&(t.indeterminate=!o&&a.some(t=>e.sourceKeys.includes(X(t))))},onChange:t=>s(t.target.checked?[...new Set([...e.sourceKeys,...a.map(X)])]:e.sourceKeys.filter(e=>!a.some(t=>X(t)===e)))}),`Select all`,` `,(0,q.jsxs)(`small`,{children:[`(`,i.filter(t=>e.sourceKeys.includes(X(t))).length,` selected)`]})]}),(0,q.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Source agents`,children:[i.map(t=>{let n=X(t),r=e.sourceKeys.includes(n),i=G.find(e=>e.id===(t.origin.startsWith(`native_`)?`openpond_chat`:t.origin)),a=t.origin===`native_chat`?`Pal Chat`:t.origin===`native_work`?`Pal Work`:i?.name??t.name;return(0,q.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:r,disabled:!r&&![`active`,`paused`].includes(t.state),onChange:t=>s(t.target.checked?[...new Set([...e.sourceKeys,n])]:e.sourceKeys.filter(e=>e!==n))}),i?(0,q.jsx)(`img`,{src:i.icon,alt:``}):null,(0,q.jsxs)(`span`,{children:[a,(0,q.jsx)(`small`,{children:t.sourceInstanceId?t.name===t.origin?`Local connection`:t.name:t.origin.startsWith(`native_`)?`Hosted conversations`:`Uploaded history`})]}),(0,q.jsx)(`small`,{children:t.state})]},n)}),i.length?null:(0,q.jsx)(`p`,{role:`status`,children:n?`Fetching source agents…`:`Connect or import an agent into this Project first.`})]}),(0,q.jsx)(`p`,{children:`Paused agents can use uploaded conversations. Selecting them leaves collection paused.`})]}),(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Evaluation rubrics`}),e.configurationId?(0,q.jsx)(`p`,{children:`The training configuration pins the task definition and its rubrics. Choose grader selection in Preparation.`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,disabled:!c.length,checked:c.length>0&&c.every(t=>e.graderIds.includes(t.id)),onChange:t=>r({...e,graderIds:t.target.checked?c.map(e=>e.id):[]})}),`Select all `,(0,q.jsxs)(`small`,{children:[`(`,e.graderIds.length,` selected)`]})]}),(0,q.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Evaluation rubrics`,children:[c.map(t=>(0,q.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:e.graderIds.includes(t.id),onChange:n=>r({...e,graderIds:n.target.checked?[...e.graderIds,t.id]:e.graderIds.filter(e=>e!==t.id)})}),(0,q.jsxs)(`span`,{children:[t.name,(0,q.jsxs)(`small`,{children:[`Version `,t.revision]})]})]},`${t.id}:${t.revision}`)),c.length?null:(0,q.jsx)(`p`,{role:`status`,children:n?`Fetching evaluation rubrics…`:`No owned evaluation rubrics are available.`})]}),e.definition&&!e.graderIds.length?(0,q.jsx)(`p`,{children:`The saved task definition and rubrics remain unchanged.`}):null,(0,q.jsxs)(`label`,{children:[`Existing task definition`,(0,q.jsxs)(`select`,{value:e.definition?.id??``,onChange:n=>{let i=t?.definitions.find(e=>e.id===n.target.value);r({...e,definition:i?{id:i.id,revision:i.revision,contentHash:i.contentHash}:null,graderIds:[]})},children:[(0,q.jsx)(`option`,{value:``,children:`Select a definition or choose rubrics above`}),e.definition&&!t?.definitions.some(t=>t.id===e.definition?.id)?(0,q.jsx)(`option`,{value:e.definition.id,children:`Saved task definition`}):null,t?.definitions.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[e.name,` (version `,e.revision,`)`]},e.id))]})]})]}),(0,q.jsxs)(`label`,{children:[`Minimum verified score`,(0,q.jsx)(`input`,{type:`number`,min:0,max:1,step:.01,value:e.minimumScore,onChange:t=>r({...e,minimumScore:Number(t.target.value)})})]})]})]})}function De({draft:e,options:t,loading:n,onChange:r}){let i=t?.projects.find(t=>t.id===e.projectId)?.configurationIds??[],a=$(t,e.configurationId),o=e.graderSelection??{mode:`manual`};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[`Mode`,(0,q.jsxs)(`select`,{value:e.mode,onChange:t=>r({...e,mode:t.target.value}),children:[(0,q.jsx)(`option`,{value:`evaluate`,children:`Evaluate only`}),(0,q.jsx)(`option`,{value:`train`,children:`Train automatically, approve candidate`}),(0,q.jsx)(`option`,{value:`activate`,children:`Train and activate automatically`})]})]}),(0,q.jsxs)(`label`,{children:[`Model to train`,(0,q.jsxs)(`select`,{value:e.configurationId,onChange:n=>{let i=n.target.value,a=$(t,i);r({...e,configurationId:i,trainingPolicyId:a.length===1?a[0].id:``,adapter:i?{kind:`reference_text`,inputPointer:`/prompt`,match:`contained`}:{kind:`complete_text`,qualitativeOnly:!0}})},children:[(0,q.jsx)(`option`,{value:``,children:n?`Fetching configurations…`:`Select configuration`}),t?.configurations.filter(e=>i.includes(e.id)).map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.mode===`evaluate`?null:(0,q.jsxs)(`label`,{children:[`Reviewed training setup`,(0,q.jsxs)(`select`,{value:e.trainingPolicyId,onChange:t=>r({...e,trainingPolicyId:t.target.value}),children:[(0,q.jsx)(`option`,{value:``,children:`Select reviewed setup`}),a.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[`Reviewed setup (version `,e.revision,`)`]},e.id))]})]}),e.configurationId?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[`Task construction`,(0,q.jsxs)(`select`,{value:e.adapter.kind,onChange:t=>r({...e,adapter:t.target.value===`reference_text`?{kind:`reference_text`,inputPointer:`/prompt`,match:`contained`}:{kind:`complete_text`,qualitativeOnly:!0}}),children:[(0,q.jsx)(`option`,{value:`reference_text`,children:`Match a published executable task`}),(0,q.jsx)(`option`,{value:`complete_text`,children:`Complete text context and calibrated judges`})]})]}),e.adapter.kind===`reference_text`?(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,q.jsxs)(`label`,{children:[`Public task input field`,(0,q.jsx)(`input`,{value:e.adapter.inputPointer,onChange:t=>r({...e,adapter:{kind:`reference_text`,inputPointer:t.target.value,match:e.adapter.kind===`reference_text`?e.adapter.match:`contained`}})})]}),(0,q.jsxs)(`label`,{children:[`Reference matching`,(0,q.jsxs)(`select`,{value:e.adapter.match,onChange:t=>r({...e,adapter:{kind:`reference_text`,inputPointer:e.adapter.kind===`reference_text`?e.adapter.inputPointer:`/prompt`,match:t.target.value}}),children:[(0,q.jsx)(`option`,{value:`contained`,children:`Contained`}),(0,q.jsx)(`option`,{value:`exact`,children:`Exact`})]})]})]}):null,(0,q.jsxs)(`label`,{children:[`Grader selection`,(0,q.jsxs)(`select`,{value:o.mode,onChange:t=>r({...e,graderSelection:t.target.value===`auto`?{mode:`auto`,modelId:`gpt-6-luna`,sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}:{mode:`manual`}}),children:[(0,q.jsx)(`option`,{value:`auto`,children:`Choose compatible rubrics automatically`}),(0,q.jsx)(`option`,{value:`manual`,children:`Use the pinned rubrics`})]})]}),o.mode===`auto`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[`Selection model`,(0,q.jsxs)(`select`,{value:o.modelId,onChange:t=>r({...e,graderSelection:{...o,modelId:t.target.value}}),children:[t?.generators.some(e=>e.id===o.modelId)?null:(0,q.jsx)(`option`,{value:o.modelId,children:o.modelId}),t?.generators.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`sampleSize`,`Sample examples`,1,30],[`maximumOutputTokens`,`Output token limit`,256,4096],[`maximumSpendUsd`,`Selection spending limit ($)`,.01,1e5]].map(([t,n,i,a])=>(0,q.jsxs)(`label`,{children:[n,(0,q.jsx)(`input`,{type:`number`,min:i,max:a,step:t===`maximumSpendUsd`?.01:1,value:o[t],onChange:n=>r({...e,graderSelection:{...o,[t]:Number(n.target.value)}})})]},t))})]}):null]}):null,(0,q.jsxs)(`label`,{children:[`Answer improvement model`,(0,q.jsxs)(`select`,{value:e.generator?.modelId??``,onChange:t=>r({...e,generator:t.target.value?{modelId:t.target.value,maximumOutputTokens:e.generator?.maximumOutputTokens??2048,maximumSpendUsd:e.generator?.maximumSpendUsd??.1}:null}),children:[(0,q.jsx)(`option`,{value:``,children:`Use recorded answers only`}),t?.generators.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.generator?(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,q.jsxs)(`label`,{children:[`Per improved answer limit ($)`,(0,q.jsx)(`input`,{type:`number`,min:.01,step:.01,value:e.generator.maximumSpendUsd,onChange:t=>r({...e,generator:{...e.generator,maximumSpendUsd:Number(t.target.value)}})})]}),(0,q.jsxs)(`label`,{children:[`Output token limit`,(0,q.jsx)(`input`,{type:`number`,min:256,max:16384,value:e.generator.maximumOutputTokens,onChange:t=>r({...e,generator:{...e.generator,maximumOutputTokens:Number(t.target.value)}})})]})]}):null,e.mode===`activate`?(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Serving authorization`}),(0,q.jsxs)(`label`,{children:[`Serving target`,(0,q.jsxs)(`select`,{value:e.serving?.targetId??``,onChange:t=>r({...e,serving:{targetId:t.target.value,canarySeconds:e.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}),children:[(0,q.jsx)(`option`,{value:``,children:`Pal in this Project`}),t?.servingTargets.filter(t=>t.projectId===e.projectId&&t.enabled).map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.hostedPonder?`Hosted Pal`:`${e.role} / ${e.roleTargetId}`},e.id))]})]}),(0,q.jsxs)(`label`,{children:[`Runtime canary (seconds)`,(0,q.jsx)(`input`,{type:`number`,min:30,max:600,value:e.serving?.canarySeconds??120,onChange:t=>r({...e,serving:{targetId:e.serving?.targetId??``,canarySeconds:Number(t.target.value),rollbackOnRuntimeFailure:!0}})})]}),(0,q.jsx)(`p`,{children:`Saving authorizes the selected target. Failed runtime checks restore its prior model. Training runs only within the saved policy's schedule and limits.`})]}):null]})}var Oe=(e,t)=>e===void 0||t===void 0?``:`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;function ke({draft:e,onChange:t}){let n=(n,r)=>t({...e,limits:{...e.limits,[n]:r}});return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Run window`}),(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,q.jsxs)(`label`,{children:[`From`,(0,q.jsx)(`input`,{type:`time`,required:!0,value:Oe(e.schedule.hour,e.schedule.minute),onChange:n=>{let[r,i]=n.target.value.split(`:`).map(Number);t({...e,schedule:{...e.schedule,hour:r,minute:i}})}})]}),(0,q.jsxs)(`label`,{children:[`Until`,(0,q.jsx)(`input`,{type:`time`,value:Oe(e.schedule.endHour,e.schedule.endMinute),onChange:n=>{let[r,i]=n.target.value.split(`:`).map(Number),{endHour:a,endMinute:o,...s}=e.schedule;t({...e,schedule:n.target.value?{...s,endHour:r,endMinute:i}:s})}})]})]}),(0,q.jsxs)(`label`,{children:[`Timezone`,(0,q.jsx)(`input`,{required:!0,value:e.schedule.timezone,onChange:n=>t({...e,schedule:{...e.schedule,timezone:n.target.value}})})]}),(0,q.jsx)(`p`,{children:`Queued learning starts within this window. A run already started may finish afterward.`})]}),(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Maximum spending`}),(0,q.jsx)(`p`,{children:`These are limits, not prices. Evaluation, answer improvements and training count toward them.`}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`perCycleUsd`,`Per run ($)`],[`dailyUsd`,`Per day ($)`],[`monthlyUsd`,`Per month ($)`]].map(([t,r])=>(0,q.jsxs)(`label`,{children:[r,(0,q.jsx)(`input`,{type:`number`,required:!0,min:.01,max:1e5,step:.01,value:e.limits[t],onChange:e=>n(t,Number(e.target.value))})]},t))})]}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Advanced limits`}),(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[[[`gradeUsd`,`Per evaluation ceiling ($)`,0,1e3,.01],[`maximumTasks`,`Maximum tasks`,1,200,1],[`minimumExamples`,`Minimum training examples`,1,200,1],[`maximumAttempts`,`Maximum correction attempts`,1,5,1],[`lookbackDays`,`Uploaded history window (days)`,1,30,1]].map(([t,r,i,a,o])=>(0,q.jsxs)(`label`,{children:[r,(0,q.jsx)(`input`,{type:`number`,required:!0,min:i,max:a,step:o,value:e.limits[t],onChange:e=>n(t,Number(e.target.value))})]},t)),(0,q.jsxs)(`label`,{children:[`Maximum GPU session (hours)`,(0,q.jsx)(`input`,{type:`number`,required:!0,min:.01,max:3,step:.01,value:e.limits.maxGpuSeconds/3600,onChange:e=>n(`maxGpuSeconds`,Math.round(Number(e.target.value)*3600))})]}),(0,q.jsxs)(`label`,{children:[`Pause after failed cycles`,(0,q.jsx)(`input`,{type:`number`,required:!0,min:1,max:20,value:e.failurePolicy?.pauseAfterConsecutiveFailures??3,onChange:n=>t({...e,failurePolicy:{pauseAfterConsecutiveFailures:Number(n.target.value)}})})]})]}),(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:e.exceptions===`eligible_remainder`,onChange:n=>t({...e,exceptions:n.target.checked?`eligible_remainder`:`block`})}),`Use the independently verified remainder when exceptions occur`]})]}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Training data balance`}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`maximumSourceShare`,`Maximum from one agent`,100],[`maximumFailureShare`,`Maximum from one error type`,100],[`maximumLengthShare`,`Maximum from one conversation length`,100],[`replayFraction`,`Previously learned examples`,50],[`auditFraction`,`Examples checked for quality`,100]].map(([n,r,i])=>(0,q.jsxs)(`label`,{children:[r,` (%)`,(0,q.jsx)(`input`,{type:`number`,min:+!!n.startsWith(`maximum`),max:i,value:Math.round((e.selection?.[n]??0)*100),onChange:r=>t({...e,selection:{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1,...e.selection,[n]:Number(r.target.value)/100}})})]},n))})]}),e.mode===`evaluate`?null:(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Checks before using the trained model`}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`windowCasesPerCheck`,`New examples per quality check`,2,1e4],[`minimumCasesPerCheck`,`Minimum paired examples`,2,1e4],[`minimumImprovement`,`Required improvement`,1e-4,1]].map(([n,r,i,a])=>(0,q.jsxs)(`label`,{children:[r,(0,q.jsx)(`input`,{type:`number`,min:i,max:a,step:n===`minimumImprovement`?.01:1,value:e.acceptance?.[n]??i,onChange:r=>t({...e,acceptance:{minimumCasesPerCheck:20,windowCasesPerCheck:20,minimumImprovement:.05,...e.acceptance,[n]:Number(r.target.value)}})})]},n))}),(0,q.jsx)(`p`,{children:`Current and trained models use the same unseen examples. Insufficient evidence keeps the current model active.`})]})]})}function Ae({connection:e,teamId:t,projectId:n,projectName:r,initialPolicy:i,bindings:a,query:o,onClose:s}){let[c,l]=(0,K.useState)(i),[u,d]=(0,K.useState)(()=>Q(n,i,i?[]:a)),[f,p]=(0,K.useState)(!!o.data),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(null),[b,x]=(0,K.useState)(i?.status===`enabled`||!i),[S,w]=(0,K.useState)(`sources`),[T,E]=(0,K.useState)(!1),[D,O]=(0,K.useState)(null),A=(0,K.useRef)(f);A.current=f;let j=o.data?.policies.filter(e=>e.configuration.projectId===n)??[];(0,K.useEffect)(()=>{if(!o.data||A.current)return;let e=o.data.policies.find(e=>e.configuration.projectId===n&&e.status===`enabled`)??o.data.policies.find(e=>e.configuration.projectId===n);l(e),d(Q(n,e,e?[]:a)),x(e?.status===`enabled`||!e),p(!0)},[o.data,n,a]);let M=()=>{g||(m?E(!0):s())},N=C(M);function F(e){let t=j.find(t=>t.id===e);t&&(l(t),d(Q(n,t)),x(t.status===`enabled`),h(!1),O(null),E(!1),y(null))}function I(e){d(e),h(!0)}async function L(){if(o.data&&f&&!g&&!o.isError){_(!0),y(null);try{await Te(e,t,u,o.data,c,b),await o.refresh(),h(!1),s()}catch(e){y(e instanceof Error?e.message:`Unable to save continuous learning.`)}finally{_(!1)}}}let R={draft:u,options:o.data,loading:o.isPending,onChange:I};return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:M,children:(0,q.jsxs)(`section`,{ref:N,className:`git-dialog provider-details-dialog agent-learning-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Continuous learning`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close continuous learning`,disabled:g,onClick:M,children:(0,q.jsx)(k,{size:16})}),(0,q.jsx)(`div`,{className:`provider-dialog-header`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Continuous learning`}),(0,q.jsx)(`span`,{children:r})]})}),T?(0,q.jsxs)(`div`,{className:`agent-learning-discard`,role:`alert`,children:[(0,q.jsx)(`p`,{children:`Discard unsaved policy changes?`}),(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>{E(!1),O(null)},children:`Keep editing`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>D?F(D):s(),children:`Discard changes`})]})]}):null,j.length>1?(0,q.jsxs)(`label`,{className:`agent-learning-policy-picker`,children:[`Learning policy`,(0,q.jsx)(`select`,{disabled:g,value:c?.id??``,onChange:e=>{m?(O(e.target.value),E(!0)):F(e.target.value)},children:j.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[e.configuration.name,` (`,e.status,`)`]},e.id))})]}):null,(0,q.jsx)(`div`,{className:`surface-tabs provider-agent-tabs`,role:`tablist`,"aria-label":`Continuous learning settings`,children:[[`sources`,`Sources & rubrics`],[`preparation`,`Preparation`],[`schedule`,`Run window & budget`]].map(([e,t])=>(0,q.jsx)(`button`,{type:`button`,id:`learning-tab-${e}`,role:`tab`,"aria-selected":S===e,"aria-controls":`learning-panel-${e}`,tabIndex:S===e?0:-1,onClick:()=>w(e),onKeyDown:t=>{let n=[`sources`,`preparation`,`schedule`],r=n.indexOf(e);if([`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t.key)){t.preventDefault();let e=n[t.key===`Home`?0:t.key===`End`?2:(r+(t.key===`ArrowRight`?1:2))%3];w(e),document.getElementById(`learning-tab-${e}`)?.focus()}},children:t},e))}),(0,q.jsxs)(`form`,{className:`agent-learning-form`,onSubmit:e=>{e.preventDefault(),L()},children:[(0,q.jsx)(`fieldset`,{disabled:!f||g,children:(0,q.jsxs)(`label`,{children:[`Policy name`,(0,q.jsx)(`input`,{required:!0,maxLength:200,value:u.name,onChange:e=>I({...u,name:e.target.value})})]})}),(0,q.jsx)(`div`,{id:`learning-panel-${S}`,role:`tabpanel`,"aria-labelledby":`learning-tab-${S}`,children:(0,q.jsx)(`fieldset`,{disabled:!f||g,children:S===`sources`?(0,q.jsx)(Ee,{...R}):S===`preparation`?(0,q.jsx)(De,{...R}):(0,q.jsx)(ke,{...R})})}),o.isPending?(0,q.jsx)(`p`,{role:`status`,children:`Fetching available sources, rubrics and models…`}):null,o.isError?(0,q.jsx)(P,{error:o.error.message,children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>void o.refetch(),children:`Retry settings`})}):null,v?(0,q.jsx)(P,{error:v}):null,(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:b,disabled:!f||g,onChange:e=>{x(e.target.checked),h(!0)}}),`Enable this policy after saving`]}),(0,q.jsx)(`p`,{children:`Saving enables only the reviewed sources, schedule and limits. No training is dispatched by opening this dialog.`}),(0,q.jsxs)(`div`,{className:`settings-button-row agent-learning-footer`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:g,onClick:M,children:`Cancel`}),(0,q.jsx)(`button`,{type:`submit`,className:`primary`,disabled:!f||!o.data||o.isError||g||!u.sourceKeys.length,children:g?`Saving…`:b?`Save and enable`:`Save paused`})]})]})]})})}function je({agent:e,inventory:t,connection:n,teamId:r,projectId:i,projectName:a,query:o,signedIn:s}){let[c,l]=(0,K.useState)(!1),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(``),v=(0,K.useMemo)(()=>new Set(t?.collector.connections.filter(t=>t.source===e.id&&t.teamId===r&&t.projectId===i&&t.state!==`disconnected`).map(e=>e.sourceInstanceId)??[]),[t,e.id,r,i]),y=o.data?.sources.filter(t=>t.projectId===i&&(e.id===`openpond_chat`?[`native_chat`,`native_work`].includes(t.origin)&&t.sourceInstanceId===null:t.origin===e.id&&t.sourceInstanceId!==null&&v.has(t.sourceInstanceId)))??[],b=[...new Set(y.flatMap(e=>e.sourceInstanceId?[e.sourceInstanceId]:[]))],x=b.includes(g)?g:b[0],S=y.filter(e=>e.sourceInstanceId===null||e.sourceInstanceId===x).map(e=>({origin:e.origin,sourceInstanceId:e.sourceInstanceId,enabled:!0})),C=o.data?.policies.filter(e=>e.configuration.projectId===i)??[],w=C.filter(e=>e.status===`enabled`&&e.configuration.sources.some(e=>e.enabled&&S.some(t=>X(t)===X(e)))),T=w[0]??C.find(e=>e.status===`enabled`)??C[0],E=!!(n&&r&&i&&s&&o.data?.projects.some(e=>e.id===i));async function D(e,t){if(!n||!r||!o.data)return;let a={...e.configuration,sources:e.configuration.sources.map(e=>S.some(t=>X(t)===X(e))?{...e,enabled:t}:e)};if(t)for(let e of S)a.sources.some(t=>X(t)===X(e))||a.sources.push(e);let s=o.data.servingTargets.find(e=>e.id===a.serving?.targetId);if(t&&a.mode===`activate`&&a.serving?.targetId&&(!s||!s.enabled||s.projectId!==i))throw Error(`Review the policy's serving target before adding a source.`);if(t&&a.mode===`activate`&&(!a.serving?.targetId||s?.hostedPonder)){let e=await Z(n,r,`serving-targets`,{action:`ensure_hosted_ponder`,projectId:i,bindingId:o.data.ponderBindingId});a={...a,serving:{targetId:e.id,canarySeconds:a.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}}return we(n,r,e,a,a.sources.some(e=>e.enabled))}async function O(e){if(!f){p(!0),h(null);try{if(e){let e=C.find(e=>e.id===u);if(!e)throw Error(`Refresh the learning policy before joining.`);await D(e,!0),d(null)}else for(let e of w)await D(e,!1);await o.refresh()}catch(e){h(e instanceof Error?e.message:`Unable to update this learning source.`),await o.refresh()}finally{p(!1)}}}return(0,q.jsxs)(`div`,{className:`agent-learning-control`,children:[b.length>1?(0,q.jsxs)(`label`,{children:[`Learning connection`,(0,q.jsx)(`select`,{"aria-label":`${e.name} learning connection`,value:x,disabled:f,onChange:e=>_(e.target.value),children:b.map(e=>(0,q.jsx)(`option`,{value:e,children:y.find(t=>t.sourceInstanceId===e)?.name??`Local connection`},e))})]}):null,(0,q.jsxs)(`div`,{className:`agent-learning-control-row`,children:[(0,q.jsxs)(`label`,{className:`provider-toggle`,children:[(0,q.jsx)(`input`,{type:`checkbox`,"aria-label":`${e.name} continuous learning`,checked:w.length>0,disabled:!E||!S.length||o.isPending||o.isError||f,onChange:e=>{if(e.target.checked){let e=C.find(e=>e.status===`enabled`);e?d(e.id):l(!0)}else O(!1)}}),(0,q.jsx)(`span`,{"aria-hidden":`true`})]}),(0,q.jsx)(`button`,{type:`button`,className:`agent-learning-settings`,disabled:!n||!r||!i||!s||f,onClick:()=>l(!0),children:`Continuous learning`}),(0,q.jsx)(`small`,{children:o.isError?`Needs attention`:o.isPending?`Loading…`:w.length?`On schedule`:C.length?`Paused`:`Off`})]}),i&&!S.length&&o.data?(0,q.jsx)(`small`,{children:`Sync this agent to the selected Project to use its local connection.`}):null,m?(0,q.jsx)(P,{error:m}):null,c&&n&&r?(0,q.jsx)(Ae,{connection:n,teamId:r,projectId:i,projectName:a,initialPolicy:T,bindings:S,query:o,onClose:()=>l(!1)},i):null,u?(0,q.jsx)(Me,{policies:C.filter(e=>e.status===`enabled`),policyId:u,agentName:e.name,busy:f,error:m,onChoose:d,onClose:()=>{f||d(null)},onJoin:()=>void O(!0)}):null]})}function Me({policies:e,policyId:t,agentName:n,busy:r,error:i,onChoose:a,onClose:o,onJoin:s}){let c=C(o),l=e.find(e=>e.id===t);return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:o,children:(0,q.jsxs)(`section`,{ref:c,className:`git-dialog agent-learning-join`,role:`dialog`,"aria-modal":`true`,"aria-label":`Add learning source`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{type:`button`,className:`git-dialog-close`,disabled:r,"aria-label":`Cancel`,onClick:o,children:(0,q.jsx)(k,{size:16})}),(0,q.jsxs)(`h2`,{children:[`Add `,n,` to `,l?.configuration.name??`continuous learning`,`?`]}),(0,q.jsx)(`p`,{children:`This agent will contribute conversations to the existing model, schedule and spending limits. Collection settings stay unchanged.`}),e.length>1?(0,q.jsxs)(`label`,{children:[`Existing policy`,(0,q.jsx)(`select`,{value:t,disabled:r,onChange:e=>a(e.target.value),children:e.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.configuration.name},e.id))})]}):null,i?(0,q.jsx)(P,{error:i}):null,(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:r,onClick:o,children:`Cancel`}),(0,q.jsx)(`button`,{type:`button`,className:`primary`,disabled:r||!l,onClick:s,children:r?`Adding…`:`Add agent`})]})]})})}function Ne(e){let[t,n]=(0,K.useState)(!1),r=e.payload?.account,i=e.payload?.preferences.defaultTeamId??r?.accounts.find(e=>e.isActive)?.apiKeyAccess?.teamId,a=r?.baseUrl??r?.activeProfile?.baseUrl;return(0,q.jsxs)(q.Fragment,{children:[e.connection&&i&&a&&r?.state===`signed_in`?(0,q.jsx)(se,{context:{connection:e.connection,teamId:i,accountKey:JSON.stringify(r.activeProfile)},baseUrl:a}):(0,q.jsxs)(`section`,{className:`connected-agents-view`,children:[(0,q.jsx)(`h2`,{children:`Fix-it`}),(0,q.jsx)(`p`,{children:`Sign in and select a workspace to connect an agent.`})]}),(0,q.jsx)(`div`,{className:`connected-agents-view`,children:(0,q.jsx)(`button`,{className:`training-text-button`,"aria-expanded":t,onClick:()=>n(e=>!e),children:t?`Hide history imports`:`History import tools`})}),t?(0,q.jsx)(Pe,{...e}):null]})}function Pe({connection:e,payload:t,onPayload:n,onToast:r}){let{inventory:i,error:a,loading:o,refresh:s}=ae(e),[c,l]=(0,K.useState)(null),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(0),m=`openpond-agent-cards:${JSON.stringify(t?.account.activeProfile??null)}`,[h,g]=(0,K.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(m)??`null`);return Array.isArray(e)?e.filter(e=>typeof e==`string`&&G.some(t=>t.id===e)):[`oh_my_pi`]}catch{return[`oh_my_pi`]}});(0,K.useEffect)(()=>{try{localStorage.setItem(m,JSON.stringify(h))}catch{}},[m,h]);let[_,v]=(0,K.useState)(!1),b=(0,K.useRef)(null);(0,K.useEffect)(()=>{if(!_)return;let e=e=>{b.current?.contains(e.target)||v(!1)},t=e=>{e.key===`Escape`&&(v(!1),b.current?.querySelector(`button`)?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[_]);let x=(0,K.useRef)({payload:t,onPayload:n});x.current={payload:t,onPayload:n};let S=(0,K.useRef)(!0);(0,K.useEffect)(()=>(S.current=!0,()=>{S.current=!1}),[]);let C=t?.account??null,w=t?.preferences.defaultTeamId??C?.accounts.find(e=>e.isActive)?.apiKeyAccess?.teamId??null,k=(0,K.useCallback)(e=>{l(e),e&&r?.(e,`error`)},[r]),A=(0,K.useCallback)(e=>{let t=x.current;S.current&&t.payload&&t.onPayload({...t.payload,providers:e})},[]),j=(0,K.useCallback)((e,t)=>{let n=x.current;if(!S.current||!n.payload)return;let r=n.payload.providers,i={...n.payload,providers:{...r,statuses:{...r.statuses,[e]:t.statuses[e]},modelCaches:{...r.modelCaches,[e]:t.modelCaches[e]}}};x.current={...n,payload:i},n.onPayload(i)},[]);le(e,t?.providers,j,f);let M=(0,K.useCallback)(e=>{let t=x.current;t.payload&&t.onPayload({...t.payload,preferences:e.preferences})},[]),N=E({connection:e,onError:k,onPayload:n,onPreferences:M,onProviders:A,preferences:y(t?.preferences),providers:t?.providers}),F=_e(e,C,w),{projects:I,projectId:L,loading:ee,error:B}=F,te=Ce(e,w,JSON.stringify([C?.activeProfile??null,C?.profile?.id??null]),C?.state===`signed_in`),V=C?.baseUrl??C?.activeProfile?.baseUrl,ne=V&&w?`${V.replace(/\/$/u,``)}/console/connections?${new URLSearchParams({teamId:w,...L?{project:L}:{}})}`:null,H=u?.provider,U=H?t?.providers.statuses[H]:null,W=u?(0,q.jsx)(xe,{agent:u,inventory:i,connection:e,account:C,teamId:w,projects:I,projectId:L,onRefresh:s,learningUrl:ne},u.id):null;return(0,q.jsxs)(`section`,{className:`connected-agents-view`,"aria-label":`Continuous learning`,children:[(0,q.jsxs)(`div`,{className:`agent-connections-heading`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Conversation history imports`}),(0,q.jsx)(`p`,{children:`Import existing conversations and manage their original learning setup.`})]}),(0,q.jsxs)(`div`,{className:`agent-connections-actions`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:o||!e,"aria-label":`Refresh agent connections`,onClick:()=>{s(),F.refresh(),p(e=>e+1)},children:(0,q.jsx)(O,{size:15})}),(0,q.jsxs)(`div`,{className:`agent-more`,ref:b,children:[(0,q.jsx)(`button`,{type:`button`,"aria-expanded":_,onClick:()=>v(e=>!e),children:`More agents`}),_?(0,q.jsxs)(`div`,{className:`agent-more-menu`,children:[G.filter(e=>h.includes(e.id)).map(e=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{g(t=>t.filter(t=>t!==e.id)),v(!1)},children:[(0,q.jsx)(D,{size:14}),(0,q.jsx)(`span`,{children:e.name})]},e.id)),h.length===0?(0,q.jsx)(`span`,{children:`All agents shown`}):null]}):null]})]})]}),(0,q.jsxs)(`label`,{className:`agent-project-scope`,children:[`Project`,(0,q.jsx)(z,{label:`Connections project`,value:L,disabled:!I.length,onChange:F.select,searchable:!0,options:[{value:``,label:ee&&!I.length?`Fetching projects…`:`Select project`},...I.map(e=>({value:e.id,label:e.content.name}))]})]}),B?(0,q.jsx)(P,{error:B}):null,a?(0,q.jsx)(P,{error:a}):null,c?(0,q.jsx)(P,{error:c}):null,(0,q.jsx)(`div`,{className:`agent-connections-grid`,children:G.filter(e=>!h.includes(e.id)).map(n=>(0,q.jsx)(ce,{agent:n,account:C,native:n.provider?t?.providers.statuses[n.provider]:null,inventory:i,projects:I,teamId:w,learningControl:(0,q.jsx)(je,{agent:n,inventory:i,connection:e,teamId:w,projectId:L,projectName:I.find(e=>e.id===L)?.content.name??`Selected Project`,query:te,signedIn:C?.state===`signed_in`}),connected:!!e,onHide:()=>g(e=>[...e,n.id]),onManage:()=>d(n)},`${JSON.stringify([C?.activeProfile,C?.profile?.id])}:${w}:${L}:${n.id}`))}),i?(0,q.jsxs)(`div`,{className:`agent-importer-footer`,children:[(0,q.jsx)(`span`,{children:i.collector.running?`Import in progress`:`No import running`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>R({kind:`settings`,section:`conversation-imports`}),children:`Conversation import settings`})]}):null,u&&H&&U&&t?(0,q.jsx)(T,{checkNativeProvider:N.checkNativeProvider,connection:e,account:C,codex:t.codex,providerId:H,providerBusy:N.providerBusy,settings:t.providers,status:U,onClose:()=>d(null),onDeleteCredential:N.deleteProviderCredential,onRefreshModels:N.refreshProviderModels,onSaveConfig:N.saveProviderConfig,onSaveCredential:N.saveProviderCredential,onStartOpenAiSubscriptionAuth:N.startOpenAiSubscriptionAuth,onValidate:N.validateProvider,conversationPanel:W}):u?(0,q.jsx)(Fe,{agent:u,onClose:()=>d(null),children:W}):null]})}function Fe({agent:e,onClose:t,children:n}){let r=C(t);return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:t,children:(0,q.jsxs)(`section`,{ref:r,className:`git-dialog provider-details-dialog agent-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`${e.name} connection`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close`,onClick:t,children:(0,q.jsx)(k,{size:16})}),(0,q.jsx)(`div`,{className:`provider-dialog-header`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:e.name}),(0,q.jsx)(`span`,{children:`Conversation syncing`})]})}),n]})})}var Ie=[`For agents`,`Featured`,`Productivity`,`Developer tools`],Le=new Set([`slack`,`google`,`github`,`mcp`]);function Re({account:e,connection:t,defaultTeamId:n,onToast:r,payload:i,onPayload:a}){let[o,s]=(0,K.useState)(`apps`),c=(0,K.useId)(),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(``),[p,m]=(0,K.useState)(`For agents`),[h,g]=(0,K.useState)(()=>L()),[_,v]=(0,K.useState)(null),y=e?.baseUrl??e?.activeProfile?.baseUrl??null,b=ze(n,_),x=(0,K.useMemo)(()=>h.filter(e=>Ue(e,p)).filter(e=>We(e,d)),[p,d,h]);(0,K.useEffect)(()=>{let e=!0;return!t||o!==`apps`?(g(L()),v(null),()=>{e=!1}):(ee.connectedAppStatus(t,{status:`all`}).then(t=>{e&&(g(t.apps),v(t.teamId?.trim()||null))}).catch(t=>{e&&(console.warn(`Unable to load connected app status.`,t),g(L()),v(null))}),()=>{e=!1})},[t,o]);function S(e){Ke(I({appId:e.id,baseUrl:y,teamId:b})).catch(e=>{r?.(e instanceof Error?e.message:String(e),`error`)})}return(0,q.jsxs)(`div`,{className:`apps-workspace-view`,children:[(0,q.jsx)(`div`,{className:`apps-page-tabs`,role:`tablist`,"aria-label":`Apps pages`,onKeyDown:e=>{if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=e.key===`Home`?`apps`:e.key===`End`?`agents`:o===`agents`?`apps`:`agents`;s(t),e.currentTarget.querySelector(`#${CSS.escape(`${c}-${t}`)}`)?.focus()},children:[{value:`apps`,label:`Apps`},{value:`agents`,label:`Fix-it`}].map(e=>(0,q.jsx)(`button`,{type:`button`,role:`tab`,id:`${c}-${e.value}`,"aria-controls":`${c}-${e.value}-panel`,tabIndex:o===e.value?0:-1,"aria-selected":o===e.value,onClick:()=>s(e.value),children:e.label},e.value))}),(0,q.jsx)(`div`,{role:`tabpanel`,id:`${c}-${o}-panel`,"aria-labelledby":`${c}-${o}`,children:o===`agents`?(0,q.jsx)(Ne,{connection:t,payload:i,onPayload:a,onToast:r},JSON.stringify([e?.activeProfile,n])):(0,q.jsxs)(`section`,{className:`connected-apps-view`,"aria-label":`Apps`,children:[(0,q.jsxs)(`div`,{className:`connected-apps-header`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h1`,{children:`Apps`}),(0,q.jsx)(`p`,{children:`Connect apps that agents can use for chat, knowledge, files, and workflow actions.`})]}),(0,q.jsxs)(`label`,{className:`connected-apps-search`,children:[(0,q.jsx)(F,{size:15}),(0,q.jsx)(`input`,{"aria-label":`Search apps`,onChange:e=>f(e.target.value),placeholder:`Search apps`,type:`search`,value:d})]})]}),(0,q.jsxs)(`section`,{className:`connected-apps-hero`,"aria-label":`App context`,children:[(0,q.jsxs)(`div`,{className:`connected-apps-hero-copy`,children:[(0,q.jsx)(`span`,{className:`connected-apps-hero-icon`,children:(0,q.jsx)(He,{appId:`github`})}),(0,q.jsx)(`h2`,{children:`Work with your apps`}),(0,q.jsx)(`p`,{children:`Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond.`})]}),(0,q.jsxs)(`div`,{className:`connected-apps-context-card`,"aria-hidden":`true`,children:[(0,q.jsx)(`strong`,{children:`Agent context`}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`files`,children:`Files`}),(0,q.jsx)(`span`,{className:`chat`,children:`Chat`}),(0,q.jsx)(`span`,{className:`oauth`,children:`OAuth`}),(0,q.jsx)(`span`,{className:`mcp`,children:`MCP`})]})]})]}),(0,q.jsx)(`div`,{className:`connected-apps-filters`,role:`tablist`,"aria-label":`App categories`,children:Ie.map(e=>(0,q.jsx)(`button`,{"aria-selected":p===e,className:p===e?`active`:``,onClick:()=>m(e),role:`tab`,type:`button`,children:e},e))}),(0,q.jsxs)(`div`,{className:`connected-apps-list`,children:[x.map(e=>(0,q.jsx)(Be,{app:e,onSelect:()=>u(e)},e.id)),x.length===0?(0,q.jsx)(`div`,{className:`connected-apps-empty`,children:`No apps match the current search.`}):null]}),l?(0,q.jsx)(Ve,{app:l,onClose:()=>u(null),onInstall:()=>S(l)}):null]})})]})}function ze(e,t){return e?.trim()||t?.trim()||null}function Be({app:e,onSelect:t}){return(0,q.jsxs)(`button`,{className:`connected-app-row`,onClick:t,type:`button`,children:[(0,q.jsxs)(`span`,{className:`connected-app-row-main`,children:[(0,q.jsx)(He,{appId:e.id}),(0,q.jsxs)(`span`,{className:`connected-app-copy`,children:[(0,q.jsxs)(`span`,{className:`connected-app-title`,children:[(0,q.jsx)(`strong`,{children:e.label}),(0,q.jsxs)(`span`,{children:[e.shortLabel===e.label?e.category:e.shortLabel,` / `,e.setupSurfaceLabel]})]}),(0,q.jsx)(`span`,{children:e.description}),(0,q.jsxs)(`span`,{className:`connected-app-capability-row`,children:[e.capabilityLabels.slice(0,2).map(e=>(0,q.jsx)(`span`,{children:e},e)),e.capabilityLabels.length>2?(0,q.jsxs)(`span`,{children:[`+`,e.capabilityLabels.length-2]}):null]})]})]}),(0,q.jsx)(`span`,{className:`connected-app-status-pill ${e.status}`,children:e.statusLabel}),(0,q.jsx)(x,{size:16})]})}function Ve({app:e,onClose:t,onInstall:n}){let r=e.connections.filter(e=>e.status===`active`);return(0,q.jsx)(`div`,{className:`connected-app-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,q.jsxs)(`section`,{className:`connected-app-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`connected-app-dialog-title`,children:[(0,q.jsx)(`button`,{className:`connected-app-dialog-close`,type:`button`,"aria-label":`Close app details`,onClick:t,children:(0,q.jsx)(k,{size:17})}),(0,q.jsxs)(`div`,{className:`connected-app-dialog-identity`,children:[(0,q.jsx)(`span`,{className:`openpond-mark`,children:(0,q.jsx)(`img`,{alt:``,src:i})}),(0,q.jsxs)(`span`,{className:`connection-dots`,"aria-hidden":`true`,children:[(0,q.jsx)(`span`,{}),(0,q.jsx)(`span`,{}),(0,q.jsx)(`span`,{})]}),(0,q.jsx)(He,{appId:e.id})]}),(0,q.jsxs)(`h2`,{id:`connected-app-dialog-title`,children:[`Connect `,e.label]}),(0,q.jsxs)(`div`,{className:`connected-app-approval`,children:[(0,q.jsx)(te,{size:16}),(0,q.jsx)(`span`,{children:e.statusLabel})]}),(0,q.jsxs)(`div`,{className:`connected-app-dialog-body`,children:[(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:e.setupSurfaceLabel}),(0,q.jsx)(`p`,{children:`The web flow shows the provider account, workspace, and requested access before anything is connected.`})]}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:`Connected account`}),(0,q.jsx)(`p`,{children:qe(r)})]}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:`Available capabilities`}),(0,q.jsx)(`div`,{className:`connected-app-dialog-capabilities`,children:e.capabilities.map(e=>(0,q.jsx)(`span`,{children:e.label},e.id))})]}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:`Sandbox lease policy`}),(0,q.jsx)(`p`,{children:e.leasePolicy.leaseable?`Leaseable for ${e.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:`Managed as setup or tool discovery; no OAuth lease is required.`})]})]}),(0,q.jsxs)(`button`,{className:`connected-app-dialog-primary`,type:`button`,onClick:n,children:[(0,q.jsx)(`span`,{children:e.installLabel}),(0,q.jsx)(S,{size:15})]})]})})}function He({appId:e}){return(0,q.jsx)(`span`,{className:`connected-app-icon app-${e}`,children:(0,q.jsx)(`img`,{alt:``,src:Ge(e)})})}function Ue(e,t){return t===`For agents`?!0:t===`Featured`?Le.has(e.id):t===`Productivity`?e.category===`Productivity`||e.category===`Chat`:e.category===`Developer tools`||e.id===`mcp`}function We(e,t){let n=t.trim().toLowerCase();return!n||[e.id,e.label,e.shortLabel,e.category,e.description,e.providerFamily,e.setupSurface].some(e=>e.toLowerCase().includes(n))}function Ge(e){return n(e)}async function Ke(e){let t=window.openpond?.browser;if(t){let n=await t.openExternal({conversationId:`connected-apps`,url:e});if(!n.ok)throw Error(n.error??`Unable to open app setup.`)}else window.open(e,`_blank`,`noopener,noreferrer`)}function qe(e){return e.length===0?`No active OAuth connection for this setup surface.`:e.map(e=>{let t=e.accountLabel??`Connected account`;return e.workspaceLabel?`${t} / ${e.workspaceLabel}`:t}).join(`, `)}export{Re as AppsView};
@@ -1 +1 @@
1
- .agent-learning-control{gap:8px;margin-top:auto;display:grid}.agent-learning-control-row{align-items:center;gap:8px;display:flex}.agent-learning-settings{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.agent-learning-control-row>small{margin-left:auto}.agent-learning-dialog{width:min(760px,100vw - 32px);max-height:90vh;overflow-y:auto}.agent-learning-form{gap:18px;display:grid}.agent-learning-form fieldset{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.agent-learning-form legend{margin:0 0 12px;font-size:13px;font-weight:500}.agent-learning-form label,.agent-learning-policy-picker,.agent-learning-control>label,.agent-learning-join>label{color:var(--text-secondary);gap:7px;font-size:13px;display:grid}.agent-learning-form input:not([type=checkbox]),.agent-learning-form select,.agent-learning-policy-picker select,.agent-learning-control select,.agent-learning-join select{border:1px solid var(--border-strong);background:var(--surface-input);width:100%;min-width:0;min-height:34px;color:var(--text-primary);border-radius:6px;padding:7px 10px}.agent-learning-policy-picker{margin-bottom:16px}.agent-learning-form p,.agent-learning-join p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.agent-learning-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.agent-learning-form .agent-learning-check{align-items:center;gap:8px;display:flex}.agent-learning-options{border:1px solid var(--border-strong);border-radius:6px;max-height:244px;overflow:auto}.agent-learning-form .agent-learning-option{align-items:center;gap:10px;min-height:49px;padding:8px 12px;display:flex}.agent-learning-option+.agent-learning-option{border-top:1px solid var(--border-strong)}.agent-learning-option>span{flex:1;min-width:0}.agent-learning-option small{color:var(--text-muted);overflow-wrap:anywhere;font-size:11px;display:block}.agent-learning-option img{object-fit:contain;width:22px;height:22px}.agent-learning-option>small{text-transform:capitalize}.agent-learning-options>p{padding:14px}.agent-learning-form details{gap:14px;display:grid}.agent-learning-form details summary{color:var(--text-secondary);cursor:pointer;margin-bottom:14px;font-size:13px}.agent-learning-footer{justify-content:flex-end}.agent-learning-join{gap:18px;width:min(520px,100vw - 32px);display:grid}.agent-learning-join h2{margin:0;padding-right:20px;font-size:16px;font-weight:500}.agent-learning-join .settings-button-row{justify-content:flex-end}.agent-learning-discard{margin-bottom:18px;padding:12px 0}.agent-learning-discard p{font-size:13px}.agent-learning-control button:disabled{cursor:default;opacity:.5}@media (width<=620px){.agent-learning-columns{grid-template-columns:minmax(0,1fr)}}.apps-workspace-view{width:100%;min-width:0;overflow-y:auto}.apps-page-tabs{gap:8px;width:min(1120px,100% - 48px);margin:24px auto 0;display:flex}.apps-page-tabs button,.agent-connections-actions button,.agent-importer-footer button{color:var(--text-secondary);background:0 0;border:0;border-radius:6px;padding:8px 12px}.apps-page-tabs button[aria-selected=true]{background:var(--state-selected);color:var(--text-primary)}.connected-agents-view{gap:18px;width:min(1120px,100% - 48px);margin:28px auto 40px;display:grid}.agent-connections-heading,.agent-connections-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.agent-connections-heading h2{margin:0;font-size:18px;font-weight:500}.agent-connections-heading p{color:var(--text-muted);font-size:14px}.agent-more{position:relative}.agent-more-menu{z-index:20;background:var(--surface-floating);min-width:180px;box-shadow:0 8px 24px var(--shadow-color);border-radius:8px;padding:6px;position:absolute;top:100%;right:0}.agent-more-menu button{align-items:center;gap:8px;width:100%;display:flex}.agent-more-menu button:hover{background:var(--state-hover)}.agent-project-scope{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.agent-project-scope select{min-width:200px;max-width:100%}.connected-agents-view select,.agent-sync-form select{border:1px solid var(--border-strong);background:var(--surface-panel);color:var(--text-primary);border-radius:6px;min-height:34px;padding:6px 10px}.agent-connections-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:12px;display:grid}.agent-connection-card{background:var(--surface-panel);border-radius:8px;flex-direction:column;gap:14px;min-width:0;padding:14px;display:flex}.agent-card-title{align-items:center;gap:9px;display:flex}.agent-card-title img{object-fit:contain;width:24px;height:24px}.agent-card-title span{flex:1}.agent-hide{color:var(--text-muted);opacity:0;background:0 0;border:0;padding:3px}.agent-connection-card:hover .agent-hide,.agent-hide:focus-visible{opacity:1}.agent-connection-card small{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}.agent-connection-card p{color:var(--text-muted);margin:0;font-size:13px}.agent-connect-button{background:var(--accent-primary-fill);color:var(--text-on-accent);cursor:pointer;border:0;border-radius:6px;align-self:center;padding:8px 12px}.agent-connect-button:disabled{opacity:.5;cursor:default}.agent-card-sync{flex:1;gap:8px;font-size:13px;display:grid}.agent-card-sync>div{gap:4px;display:grid}.agent-learning-link{color:var(--accent-primary);margin-top:auto;font-size:12px;text-decoration:none}.agent-learning-link:hover{text-decoration:underline}.agent-importer-footer{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.agent-importer-footer code{overflow-wrap:anywhere;margin-top:8px;display:block}.agent-conversation-setup{gap:18px;display:grid}.agent-conversation-setup p{margin:0}.agent-retained-connection{border:1px solid var(--border-strong);border-radius:8px;gap:8px;padding:12px;font-size:13px;display:grid}.agent-retained-connection small,.agent-sync-form small{color:var(--text-muted);overflow-wrap:anywhere}.agent-retained-connection progress{width:100%;accent-color:var(--accent-primary)}.agent-conversation-setup .settings-button-row{flex-wrap:wrap}.agent-conversation-setup a{color:var(--accent-primary)}.agent-source-path{overflow-wrap:anywhere}.agent-sync-form{gap:12px;display:grid}.agent-sync-form h3{margin:0;font-size:14px;font-weight:500}.agent-sync-form label{gap:6px;font-size:13px;display:grid}.agent-sync-form .agent-sync-checkbox,.agent-sync-checkbox{align-items:center;gap:8px;display:flex}.agent-sync-form select{width:100%;min-width:0}.agent-conversation-setup code{overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.provider-details-dialog:has(.agent-conversation-setup){max-height:85vh;overflow-y:auto}.provider-details-dialog [hidden]{display:none}.provider-dialog-backdrop>.git-dialog.provider-details-dialog:has(.conversation-upload-picker){flex-direction:column;width:min(840px,100vw - 40px);max-width:calc(100vw - 40px);max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.provider-details-dialog:has(.conversation-upload-picker)>:is(.provider-dialog-header,.provider-chat-toggle,.provider-agent-tabs){flex-shrink:0}.provider-details-dialog:has(.conversation-upload-picker)>[role=tabpanel]:has(.conversation-upload-picker){min-height:0;overflow-y:auto}.provider-details-dialog:has(.conversation-upload-picker)>.agent-conversation-setup{min-height:0;overflow-y:auto}.conversation-upload-picker{gap:12px;min-width:0;display:grid}.conversation-upload-picker h3{margin:6px 0 0;font-size:14px;font-weight:500}.conversation-upload-picker p{color:var(--text-secondary);font-size:12px;line-height:1.6}.conversation-upload-toolbar,.conversation-upload-selection{justify-content:space-between;align-items:center;gap:12px;display:flex}.conversation-upload-toolbar input{border:1px solid var(--border-strong);background:var(--surface-panel);min-width:0;color:var(--text-primary);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.conversation-upload-selection{color:var(--text-secondary);font-size:12px}.conversation-upload-table{max-height:360px;overflow:auto}.conversation-upload-table table{table-layout:fixed;width:100%}.conversation-upload-table th:first-child{width:48px}.conversation-upload-table th:last-child{width:120px}.conversation-upload-table thead{z-index:1;position:sticky;top:0}.conversation-upload-title,.conversation-upload-table small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conversation-upload-table small{color:var(--text-muted);font-size:11px;line-height:1.6}.conversation-upload-table time{white-space:nowrap;color:var(--text-secondary)}.conversation-upload-picker>.settings-button-row{z-index:2;background:var(--surface-floating);padding:10px 0;position:sticky;bottom:0}.agent-sync-form .dropdown-select{min-width:0}.agent-sync-form .dropdown-trigger{width:100%}@media (width<=650px){.conversation-upload-toolbar{flex-direction:column;align-items:stretch}.conversation-upload-table th:last-child{width:100px}.agent-connections-heading{flex-direction:column;align-items:flex-start}.agent-project-scope{flex-direction:column;align-items:stretch}.agent-connections-grid{grid-template-columns:minmax(0,1fr)}}.agent-account-link{color:var(--accent-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.agent-account-link:hover{text-decoration:underline}.connected-apps-view{align-content:start;justify-self:center;gap:20px;width:min(960px,100% - 72px);min-width:0;padding:42px 0 40px;display:grid}.connected-apps-header{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:24px;min-width:0;display:grid}.connected-apps-header h1,.connected-apps-hero h2{color:var(--text-primary);letter-spacing:0;margin:0}.connected-apps-header h1{font-size:24px;font-weight:650;line-height:1.15}.connected-apps-header p{color:var(--text-muted);margin:6px 0 0;font-size:14px;line-height:1.45}.connected-apps-search{min-width:0;display:grid;position:relative}.connected-apps-search svg{color:var(--text-disabled);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.connected-apps-search input{border:1px solid var(--border-default);background:var(--surface-input);width:100%;min-width:0;height:38px;color:var(--text-primary);border-radius:999px;outline:none;padding:0 14px 0 38px;font-size:13px}.connected-apps-search input:focus{border-color:var(--border-strong)}.connected-apps-hero{background:linear-gradient(135deg, var(--status-warning), var(--accent-info) 48%, var(--accent-primary));border-radius:24px;grid-template-columns:minmax(0,1fr) 300px;gap:40px;min-width:0;padding:28px 32px;display:grid;overflow:hidden}.connected-apps-hero-copy{max-width:390px;color:var(--text-primary);align-content:start;gap:0;display:grid}.connected-apps-hero-icon,.connected-apps-context-card,.connected-app-icon{place-items:center;display:grid}.connected-apps-hero-icon{background:var(--action-primary);border-radius:999px;width:44px;height:44px}.connected-apps-hero-icon .connected-app-icon{background:0 0}.connected-apps-hero h2{margin-top:46px;font-size:24px;font-weight:560;line-height:1.2}.connected-apps-hero p{color:var(--text-primary);margin:12px 0 0;font-size:14px;line-height:1.45}.connected-apps-context-card{background:var(--state-selected);min-height:190px;color:var(--text-on-primary);box-shadow:0 20px 42px var(--shadow-color);border-radius:18px;align-content:start;justify-items:stretch;padding:18px}.connected-apps-context-card strong{font-size:14px;line-height:1.2}.connected-apps-context-card div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;font-size:12px;display:grid}.connected-apps-context-card span{min-width:0;color:var(--text-on-primary);border-radius:7px;padding:8px 11px}.connected-apps-context-card .files{background:var(--accent-info)}.connected-apps-context-card .chat{background:var(--status-success)}.connected-apps-context-card .oauth{background:var(--status-warning)}.connected-apps-context-card .mcp{background:var(--action-primary)}.connected-apps-filters{flex-wrap:wrap;gap:10px;display:flex}.connected-apps-filters button{height:36px;color:var(--text-secondary);background:0 0;border:0;border-radius:999px;padding:0 17px;font-size:14px}.connected-apps-filters button:hover{background:var(--state-hover)}.connected-apps-filters button.active{background:var(--state-selected);color:var(--text-primary)}.connected-apps-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 44px;min-width:0;display:grid}.connected-app-row{min-width:0;min-height:88px;color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(0,1fr) max-content 20px;align-items:center;gap:14px;padding:8px 6px;transition:background-color .14s;display:grid}.connected-app-row:hover,.connected-app-row:focus-visible{background:var(--state-hover);outline:none}.connected-app-row>svg{color:var(--text-disabled)}.connected-app-row-main{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:16px;min-width:0;display:grid}.connected-app-icon{background:var(--surface-page);border-radius:999px;width:44px;height:44px}.connected-app-icon img{object-fit:contain;width:18px;height:18px;display:block}.connected-app-icon.app-google img,.connected-app-icon.app-slack img,.connected-app-icon.app-slack_oauth img,.connected-app-icon.app-microsoft_teams img,.connected-app-icon.app-microsoft_teams_oauth img{width:19px;height:19px}.connected-app-icon.app-mcp{background:color-mix(in srgb, var(--accent-info) 12%, var(--surface-panel))}.connected-app-icon.app-mcp img{width:22px;height:22px}.connected-app-copy,.connected-app-title{min-width:0;display:block}.connected-app-title{color:var(--text-primary);font-size:14px;font-weight:520;line-height:1.25}.connected-app-title strong,.connected-app-title span,.connected-app-copy>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.connected-app-title span{color:var(--text-muted);margin-top:1px;font-size:11px;font-weight:450}.connected-app-copy>span:nth-child(2){color:var(--text-muted);margin-top:3px;font-size:13px;line-height:1.25}.connected-app-capability-row{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.connected-app-capability-row span,.connected-app-dialog-capabilities span{border:1px solid var(--border-default);background:var(--surface-raised);min-width:0;max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:11px;line-height:1.2;overflow:hidden}.connected-app-status-pill{background:var(--state-hover);min-width:86px;color:var(--text-muted);text-align:center;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;line-height:1.2}.connected-app-status-pill.connected{background:color-mix(in srgb, var(--status-success) 13%, transparent);color:var(--status-success)}.connected-app-status-pill.disconnected{background:var(--surface-raised);color:var(--text-muted)}.connected-apps-empty{border:1px solid var(--border-default);min-height:80px;color:var(--text-muted);border-radius:8px;grid-column:1/-1;place-items:center;font-size:13px;display:grid}.connected-app-dialog-backdrop{z-index:80;background:var(--backdrop);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.connected-app-dialog{border:1px solid var(--border-default);background:var(--surface-floating);width:min(480px,100%);max-height:calc(100vh - 40px);color:var(--text-primary);box-shadow:0 26px 70px var(--shadow-color);border-radius:18px;gap:18px;padding:32px 24px 24px;display:grid;position:relative;overflow:auto}.connected-app-dialog-close{border:1px solid var(--border-default);background:var(--surface-raised);width:28px;height:28px;color:var(--text-secondary);border-radius:7px;place-items:center;padding:0;display:inline-grid;position:absolute;top:14px;right:14px}.connected-app-dialog-close:hover{background:var(--state-hover);color:var(--text-primary)}.connected-app-dialog-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.connected-app-dialog-identity,.connection-dots,.connected-app-approval,.connected-app-dialog-primary{justify-content:center;align-items:center;display:flex}.connected-app-dialog-identity{gap:14px;padding-top:2px}.openpond-mark{background:var(--surface-page);border-radius:10px;place-items:center;width:56px;height:56px;display:grid}.openpond-mark img{object-fit:contain;width:34px;height:34px}.connected-app-dialog-identity .connected-app-icon{border-radius:10px;width:56px;height:56px}.connected-app-dialog-identity .connected-app-icon img{width:25px;height:25px}.connection-dots{gap:5px}.connection-dots span{background:var(--state-selected);border-radius:999px;width:5px;height:5px}.connected-app-dialog h2{text-align:center;color:var(--text-primary);letter-spacing:0;margin:0;font-size:20px;line-height:1.2}.connected-app-approval{color:var(--status-success);gap:7px;font-size:14px}.connected-app-dialog-body{border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.connected-app-dialog-body section{padding:14px 16px}.connected-app-dialog-body section+section{border-top:1px solid var(--border-default)}.connected-app-dialog-body h3{color:var(--text-primary);margin:0 0 6px;font-size:13px;font-weight:650}.connected-app-dialog-body p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.connected-app-dialog-capabilities{flex-wrap:wrap;gap:6px;display:flex}.connected-app-dialog-primary{background:var(--action-primary);height:38px;color:var(--text-on-primary);border:0;border-radius:999px;gap:7px;font-size:14px}.connected-app-dialog-primary:hover{background:var(--action-primary)}@media (width<=840px){.connected-apps-view{width:min(100% - 28px,680px);padding-top:24px}.connected-apps-header,.connected-apps-hero,.connected-apps-list{grid-template-columns:minmax(0,1fr)}.connected-app-row{grid-template-columns:minmax(0,1fr) 20px}.connected-app-status-pill{grid-column:1/-1;width:fit-content;margin-left:60px}.connected-apps-context-card{display:none}.connected-apps-hero h2{margin-top:30px}}
1
+ .agent-learning-control{gap:8px;margin-top:auto;display:grid}.agent-learning-control-row{align-items:center;gap:8px;display:flex}.agent-learning-settings{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.agent-learning-control-row>small{margin-left:auto}.agent-learning-dialog{width:min(760px,100vw - 32px);max-height:90vh;overflow-y:auto}.agent-learning-form{gap:18px;display:grid}.agent-learning-form fieldset{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.agent-learning-form legend{margin:0 0 12px;font-size:13px;font-weight:500}.agent-learning-form label,.agent-learning-policy-picker,.agent-learning-control>label,.agent-learning-join>label{color:var(--text-secondary);gap:7px;font-size:13px;display:grid}.agent-learning-form input:not([type=checkbox]),.agent-learning-form select,.agent-learning-policy-picker select,.agent-learning-control select,.agent-learning-join select{border:1px solid var(--border-strong);background:var(--surface-input);width:100%;min-width:0;min-height:34px;color:var(--text-primary);border-radius:6px;padding:7px 10px}.agent-learning-policy-picker{margin-bottom:16px}.agent-learning-form p,.agent-learning-join p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.agent-learning-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.agent-learning-form .agent-learning-check{align-items:center;gap:8px;display:flex}.agent-learning-options{border:1px solid var(--border-strong);border-radius:6px;max-height:244px;overflow:auto}.agent-learning-form .agent-learning-option{align-items:center;gap:10px;min-height:49px;padding:8px 12px;display:flex}.agent-learning-option+.agent-learning-option{border-top:1px solid var(--border-strong)}.agent-learning-option>span{flex:1;min-width:0}.agent-learning-option small{color:var(--text-muted);overflow-wrap:anywhere;font-size:11px;display:block}.agent-learning-option img{object-fit:contain;width:22px;height:22px}.agent-learning-option>small{text-transform:capitalize}.agent-learning-options>p{padding:14px}.agent-learning-form details{gap:14px;display:grid}.agent-learning-form details summary{color:var(--text-secondary);cursor:pointer;margin-bottom:14px;font-size:13px}.agent-learning-footer{justify-content:flex-end}.agent-learning-join{gap:18px;width:min(520px,100vw - 32px);display:grid}.agent-learning-join h2{margin:0;padding-right:20px;font-size:16px;font-weight:500}.agent-learning-join .settings-button-row{justify-content:flex-end}.agent-learning-discard{margin-bottom:18px;padding:12px 0}.agent-learning-discard p{font-size:13px}.agent-learning-control button:disabled{cursor:default;opacity:.5}@media (width<=620px){.agent-learning-columns{grid-template-columns:minmax(0,1fr)}}.apps-workspace-view{width:100%;min-width:0;overflow-y:auto}.apps-page-tabs{gap:8px;width:min(1120px,100% - 48px);margin:24px auto 0;display:flex}.apps-page-tabs button,.agent-connections-actions button,.agent-importer-footer button{color:var(--text-secondary);background:0 0;border:0;border-radius:6px;padding:8px 12px}.apps-page-tabs button[aria-selected=true]{background:var(--state-selected);color:var(--text-primary)}.connected-agents-view{gap:18px;width:min(1120px,100% - 48px);margin:28px auto 40px;display:grid}.agent-connections-heading,.agent-connections-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.agent-connections-heading h2{margin:0;font-size:18px;font-weight:500}.agent-connections-heading p{color:var(--text-muted);font-size:14px}.agent-more{position:relative}.agent-more-menu{z-index:20;background:var(--surface-floating);min-width:180px;box-shadow:0 8px 24px var(--shadow-color);border-radius:8px;padding:6px;position:absolute;top:100%;right:0}.agent-more-menu button{align-items:center;gap:8px;width:100%;display:flex}.agent-more-menu button:hover{background:var(--state-hover)}.agent-project-scope{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.agent-project-scope select{min-width:200px;max-width:100%}.connected-agents-view select,.agent-sync-form select{border:1px solid var(--border-strong);background:var(--surface-panel);color:var(--text-primary);border-radius:6px;min-height:34px;padding:6px 10px}.agent-connections-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:12px;display:grid}.agent-connection-card{background:var(--surface-panel);border-radius:8px;flex-direction:column;gap:14px;min-width:0;padding:14px;display:flex}.agent-card-title{align-items:center;gap:9px;display:flex}.agent-card-title img{object-fit:contain;width:24px;height:24px}.agent-card-title span{flex:1}.agent-hide{color:var(--text-muted);opacity:0;background:0 0;border:0;padding:3px}.agent-connection-card:hover .agent-hide,.agent-hide:focus-visible{opacity:1}.agent-connection-card small{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}.agent-connection-card p{color:var(--text-muted);margin:0;font-size:13px}.agent-connect-button{background:var(--accent-primary-fill);color:var(--text-on-accent);cursor:pointer;border:0;border-radius:6px;align-self:center;padding:8px 12px}.agent-connect-button:disabled{opacity:.5;cursor:default}.agent-card-sync{flex:1;gap:8px;font-size:13px;display:grid}.agent-card-sync>div{gap:4px;display:grid}.agent-learning-link{color:var(--accent-primary);margin-top:auto;font-size:12px;text-decoration:none}.agent-learning-link:hover{text-decoration:underline}.agent-importer-footer{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.agent-importer-footer code{overflow-wrap:anywhere;margin-top:8px;display:block}.agent-conversation-setup{gap:18px;display:grid}.agent-conversation-setup p{margin:0}.agent-retained-connection{border:1px solid var(--border-strong);border-radius:8px;gap:8px;padding:12px;font-size:13px;display:grid}.agent-retained-connection small,.agent-sync-form small{color:var(--text-muted);overflow-wrap:anywhere}.agent-retained-connection progress{width:100%;accent-color:var(--accent-primary)}.agent-conversation-setup .settings-button-row{flex-wrap:wrap}.agent-conversation-setup a{color:var(--accent-primary)}.agent-source-path{overflow-wrap:anywhere}.agent-sync-form{gap:12px;display:grid}.agent-sync-form h3{margin:0;font-size:14px;font-weight:500}.agent-sync-form label{gap:6px;font-size:13px;display:grid}.agent-sync-form .agent-sync-checkbox,.agent-sync-checkbox{align-items:center;gap:8px;display:flex}.agent-sync-form select{width:100%;min-width:0}.agent-conversation-setup code{overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.provider-details-dialog:has(.agent-conversation-setup){max-height:85vh;overflow-y:auto}.provider-details-dialog [hidden]{display:none}.provider-dialog-backdrop>.git-dialog.provider-details-dialog:has(.conversation-upload-picker){flex-direction:column;width:min(840px,100vw - 40px);max-width:calc(100vw - 40px);max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.provider-details-dialog:has(.conversation-upload-picker)>:is(.provider-dialog-header,.provider-chat-toggle,.provider-agent-tabs){flex-shrink:0}.provider-details-dialog:has(.conversation-upload-picker)>[role=tabpanel]:has(.conversation-upload-picker){min-height:0;overflow-y:auto}.provider-details-dialog:has(.conversation-upload-picker)>.agent-conversation-setup{min-height:0;overflow-y:auto}.conversation-upload-picker{gap:12px;min-width:0;display:grid}.conversation-upload-picker h3{margin:6px 0 0;font-size:14px;font-weight:500}.conversation-upload-picker p{color:var(--text-secondary);font-size:12px;line-height:1.6}.conversation-upload-toolbar,.conversation-upload-selection{justify-content:space-between;align-items:center;gap:12px;display:flex}.conversation-upload-toolbar input{border:1px solid var(--border-strong);background:var(--surface-panel);min-width:0;color:var(--text-primary);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.conversation-upload-selection{color:var(--text-secondary);font-size:12px}.conversation-upload-table{max-height:360px;overflow:auto}.conversation-upload-table table{table-layout:fixed;width:100%}.conversation-upload-table th:first-child{width:48px}.conversation-upload-table th:last-child{width:120px}.conversation-upload-table thead{z-index:1;position:sticky;top:0}.conversation-upload-title,.conversation-upload-table small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conversation-upload-table small{color:var(--text-muted);font-size:11px;line-height:1.6}.conversation-upload-table time{white-space:nowrap;color:var(--text-secondary)}.conversation-upload-picker>.settings-button-row{z-index:2;background:var(--surface-floating);padding:10px 0;position:sticky;bottom:0}.agent-sync-form .dropdown-select{min-width:0}.agent-sync-form .dropdown-trigger{width:100%}@media (width<=650px){.conversation-upload-toolbar{flex-direction:column;align-items:stretch}.conversation-upload-table th:last-child{width:100px}.agent-connections-heading{flex-direction:column;align-items:flex-start}.agent-project-scope{flex-direction:column;align-items:stretch}.agent-connections-grid{grid-template-columns:minmax(0,1fr)}}.agent-account-link{color:var(--accent-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.agent-account-link:hover{text-decoration:underline}.agent-connections-actions{flex-shrink:0}.agent-connections-actions button{white-space:nowrap}.connected-apps-view{align-content:start;justify-self:center;gap:20px;width:min(960px,100% - 72px);min-width:0;padding:42px 0 40px;display:grid}.connected-apps-header{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:24px;min-width:0;display:grid}.connected-apps-header h1,.connected-apps-hero h2{color:var(--text-primary);letter-spacing:0;margin:0}.connected-apps-header h1{font-size:24px;font-weight:650;line-height:1.15}.connected-apps-header p{color:var(--text-muted);margin:6px 0 0;font-size:14px;line-height:1.45}.connected-apps-search{min-width:0;display:grid;position:relative}.connected-apps-search svg{color:var(--text-disabled);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.connected-apps-search input{border:1px solid var(--border-default);background:var(--surface-input);width:100%;min-width:0;height:38px;color:var(--text-primary);border-radius:999px;outline:none;padding:0 14px 0 38px;font-size:13px}.connected-apps-search input:focus{border-color:var(--border-strong)}.connected-apps-hero{background:linear-gradient(135deg, var(--status-warning), var(--accent-info) 48%, var(--accent-primary));border-radius:24px;grid-template-columns:minmax(0,1fr) 300px;gap:40px;min-width:0;padding:28px 32px;display:grid;overflow:hidden}.connected-apps-hero-copy{max-width:390px;color:var(--text-primary);align-content:start;gap:0;display:grid}.connected-apps-hero-icon,.connected-apps-context-card,.connected-app-icon{place-items:center;display:grid}.connected-apps-hero-icon{background:var(--action-primary);border-radius:999px;width:44px;height:44px}.connected-apps-hero-icon .connected-app-icon{background:0 0}.connected-apps-hero h2{margin-top:46px;font-size:24px;font-weight:560;line-height:1.2}.connected-apps-hero p{color:var(--text-primary);margin:12px 0 0;font-size:14px;line-height:1.45}.connected-apps-context-card{background:var(--state-selected);min-height:190px;color:var(--text-on-primary);box-shadow:0 20px 42px var(--shadow-color);border-radius:18px;align-content:start;justify-items:stretch;padding:18px}.connected-apps-context-card strong{font-size:14px;line-height:1.2}.connected-apps-context-card div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;font-size:12px;display:grid}.connected-apps-context-card span{min-width:0;color:var(--text-on-primary);border-radius:7px;padding:8px 11px}.connected-apps-context-card .files{background:var(--accent-info)}.connected-apps-context-card .chat{background:var(--status-success)}.connected-apps-context-card .oauth{background:var(--status-warning)}.connected-apps-context-card .mcp{background:var(--action-primary)}.connected-apps-filters{flex-wrap:wrap;gap:10px;display:flex}.connected-apps-filters button{height:36px;color:var(--text-secondary);background:0 0;border:0;border-radius:999px;padding:0 17px;font-size:14px}.connected-apps-filters button:hover{background:var(--state-hover)}.connected-apps-filters button.active{background:var(--state-selected);color:var(--text-primary)}.connected-apps-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 44px;min-width:0;display:grid}.connected-app-row{min-width:0;min-height:88px;color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(0,1fr) max-content 20px;align-items:center;gap:14px;padding:8px 6px;transition:background-color .14s;display:grid}.connected-app-row:hover,.connected-app-row:focus-visible{background:var(--state-hover);outline:none}.connected-app-row>svg{color:var(--text-disabled)}.connected-app-row-main{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:16px;min-width:0;display:grid}.connected-app-icon{background:var(--surface-page);border-radius:999px;width:44px;height:44px}.connected-app-icon img{object-fit:contain;width:18px;height:18px;display:block}.connected-app-icon.app-google img,.connected-app-icon.app-slack img,.connected-app-icon.app-slack_oauth img,.connected-app-icon.app-microsoft_teams img,.connected-app-icon.app-microsoft_teams_oauth img{width:19px;height:19px}.connected-app-icon.app-mcp{background:color-mix(in srgb, var(--accent-info) 12%, var(--surface-panel))}.connected-app-icon.app-mcp img{width:22px;height:22px}.connected-app-copy,.connected-app-title{min-width:0;display:block}.connected-app-title{color:var(--text-primary);font-size:14px;font-weight:520;line-height:1.25}.connected-app-title strong,.connected-app-title span,.connected-app-copy>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.connected-app-title span{color:var(--text-muted);margin-top:1px;font-size:11px;font-weight:450}.connected-app-copy>span:nth-child(2){color:var(--text-muted);margin-top:3px;font-size:13px;line-height:1.25}.connected-app-capability-row{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.connected-app-capability-row span,.connected-app-dialog-capabilities span{border:1px solid var(--border-default);background:var(--surface-raised);min-width:0;max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:11px;line-height:1.2;overflow:hidden}.connected-app-status-pill{background:var(--state-hover);min-width:86px;color:var(--text-muted);text-align:center;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;line-height:1.2}.connected-app-status-pill.connected{background:color-mix(in srgb, var(--status-success) 13%, transparent);color:var(--status-success)}.connected-app-status-pill.disconnected{background:var(--surface-raised);color:var(--text-muted)}.connected-apps-empty{border:1px solid var(--border-default);min-height:80px;color:var(--text-muted);border-radius:8px;grid-column:1/-1;place-items:center;font-size:13px;display:grid}.connected-app-dialog-backdrop{z-index:80;background:var(--backdrop);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.connected-app-dialog{border:1px solid var(--border-default);background:var(--surface-floating);width:min(480px,100%);max-height:calc(100vh - 40px);color:var(--text-primary);box-shadow:0 26px 70px var(--shadow-color);border-radius:18px;gap:18px;padding:32px 24px 24px;display:grid;position:relative;overflow:auto}.connected-app-dialog-close{border:1px solid var(--border-default);background:var(--surface-raised);width:28px;height:28px;color:var(--text-secondary);border-radius:7px;place-items:center;padding:0;display:inline-grid;position:absolute;top:14px;right:14px}.connected-app-dialog-close:hover{background:var(--state-hover);color:var(--text-primary)}.connected-app-dialog-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.connected-app-dialog-identity,.connection-dots,.connected-app-approval,.connected-app-dialog-primary{justify-content:center;align-items:center;display:flex}.connected-app-dialog-identity{gap:14px;padding-top:2px}.openpond-mark{background:var(--surface-page);border-radius:10px;place-items:center;width:56px;height:56px;display:grid}.openpond-mark img{object-fit:contain;width:34px;height:34px}.connected-app-dialog-identity .connected-app-icon{border-radius:10px;width:56px;height:56px}.connected-app-dialog-identity .connected-app-icon img{width:25px;height:25px}.connection-dots{gap:5px}.connection-dots span{background:var(--state-selected);border-radius:999px;width:5px;height:5px}.connected-app-dialog h2{text-align:center;color:var(--text-primary);letter-spacing:0;margin:0;font-size:20px;line-height:1.2}.connected-app-approval{color:var(--status-success);gap:7px;font-size:14px}.connected-app-dialog-body{border:1px solid var(--border-default);border-radius:14px;overflow:hidden}.connected-app-dialog-body section{padding:14px 16px}.connected-app-dialog-body section+section{border-top:1px solid var(--border-default)}.connected-app-dialog-body h3{color:var(--text-primary);margin:0 0 6px;font-size:13px;font-weight:650}.connected-app-dialog-body p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.connected-app-dialog-capabilities{flex-wrap:wrap;gap:6px;display:flex}.connected-app-dialog-primary{background:var(--action-primary);height:38px;color:var(--text-on-primary);border:0;border-radius:999px;gap:7px;font-size:14px}.connected-app-dialog-primary:hover{background:var(--action-primary)}@media (width<=840px){.connected-apps-view{width:min(100% - 28px,680px);padding-top:24px}.connected-apps-header,.connected-apps-hero,.connected-apps-list{grid-template-columns:minmax(0,1fr)}.connected-app-row{grid-template-columns:minmax(0,1fr) 20px}.connected-app-status-pill{grid-column:1/-1;width:fit-content;margin-left:60px}.connected-apps-context-card{display:none}.connected-apps-hero h2{margin-top:30px}}
@@ -1 +1 @@
1
- import{m as e}from"./index-CM0IRu1U.js";import"./icons-c3vt7y6n.js";import{H as t,R as n,z as r}from"./training-model-data-wHvE7xL1.js";import{i,n as a,r as o,t as s}from"./presentation-BN_kIBPL.js";import{t as c}from"./image-CqKPwnBn.js";import{an as l}from"./App-BZuSv1XM.js";var u=e(),d=new Set([`c`,`cc`,`cpp`,`css`,`go`,`h`,`html`,`java`,`js`,`json`,`jsx`,`mdx`,`php`,`py`,`rb`,`rs`,`sh`,`sql`,`toml`,`ts`,`tsx`,`xml`,`yaml`,`yml`]),f=new Set([`csv`,`ods`,`tsv`,`xls`,`xlsm`,`xlsx`]),p=new Set([`7z`,`bz2`,`gz`,`rar`,`tar`,`tgz`,`xz`,`zip`]),m=new Set([`doc`,`docx`,`epub`,`md`,`odt`,`pdf`,`rtf`,`txt`]),h=new Set([`key`,`odp`,`ppt`,`pptx`]);function g(e){let t=e.mediaType.toLowerCase(),n=e.name.split(`.`).pop()?.toLowerCase()??``;return e.kind===`image`||t.startsWith(`image/`)?`image`:t.startsWith(`audio/`)?`audio`:t.startsWith(`video/`)?`video`:f.has(n)||t.includes(`spreadsheet`)||t.includes(`excel`)?`spreadsheet`:p.has(n)||t.includes(`zip`)||t.includes(`compressed`)?`archive`:h.has(n)||t.includes(`presentation`)||t.includes(`powerpoint`)?`presentation`:d.has(n)?`code`:e.kind===`text`||m.has(n)||t.startsWith(`text/`)||t===`application/pdf`||t.includes(`document`)||t.includes(`msword`)?`document`:`file`}function _(e){if(e.mediaType.toLowerCase()===`application/pdf`)return`PDF`;let t=g(e);return t===`spreadsheet`?`Spreadsheet`:t.charAt(0).toUpperCase()+t.slice(1)}function v(e){return`${e.toLocaleString()} ${e===1?`line`:`lines`}`}var y={archive:t,audio:i,code:r,document:l,file:n,image:c,presentation:s,spreadsheet:o,video:a};function b({attachment:e,...t}){let n=y[g(e)];return(0,u.jsx)(n,{...t})}export{_ as n,v as r,b as t};
1
+ import{m as e}from"./index-LXNhSUEL.js";import"./icons-CZxmQtZs.js";import{H as t,R as n,z as r}from"./training-model-data-CxR3xpmK.js";import{i,n as a,r as o,t as s}from"./presentation-B0S9v7ib.js";import{t as c}from"./image-BViGUAiq.js";import{an as l}from"./App-DmEA-Lia.js";var u=e(),d=new Set([`c`,`cc`,`cpp`,`css`,`go`,`h`,`html`,`java`,`js`,`json`,`jsx`,`mdx`,`php`,`py`,`rb`,`rs`,`sh`,`sql`,`toml`,`ts`,`tsx`,`xml`,`yaml`,`yml`]),f=new Set([`csv`,`ods`,`tsv`,`xls`,`xlsm`,`xlsx`]),p=new Set([`7z`,`bz2`,`gz`,`rar`,`tar`,`tgz`,`xz`,`zip`]),m=new Set([`doc`,`docx`,`epub`,`md`,`odt`,`pdf`,`rtf`,`txt`]),h=new Set([`key`,`odp`,`ppt`,`pptx`]);function g(e){let t=e.mediaType.toLowerCase(),n=e.name.split(`.`).pop()?.toLowerCase()??``;return e.kind===`image`||t.startsWith(`image/`)?`image`:t.startsWith(`audio/`)?`audio`:t.startsWith(`video/`)?`video`:f.has(n)||t.includes(`spreadsheet`)||t.includes(`excel`)?`spreadsheet`:p.has(n)||t.includes(`zip`)||t.includes(`compressed`)?`archive`:h.has(n)||t.includes(`presentation`)||t.includes(`powerpoint`)?`presentation`:d.has(n)?`code`:e.kind===`text`||m.has(n)||t.startsWith(`text/`)||t===`application/pdf`||t.includes(`document`)||t.includes(`msword`)?`document`:`file`}function _(e){if(e.mediaType.toLowerCase()===`application/pdf`)return`PDF`;let t=g(e);return t===`spreadsheet`?`Spreadsheet`:t.charAt(0).toUpperCase()+t.slice(1)}function v(e){return`${e.toLocaleString()} ${e===1?`line`:`lines`}`}var y={archive:t,audio:i,code:r,document:l,file:n,image:c,presentation:s,spreadsheet:o,video:a};function b({attachment:e,...t}){let n=y[g(e)];return(0,u.jsx)(n,{...t})}export{_ as n,v as r,b as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-CM0IRu1U.js";import"./icons-c3vt7y6n.js";import{t as r}from"./createLucideIcon-DF2VR6WA.js";import{N as i}from"./training-model-data-wHvE7xL1.js";import{t as a}from"./copy-CBFg6m0d.js";import{t as o}from"./x-D9GTV9ke.js";import{n as s}from"./AppToastContext-C-FsCKXW.js";import{Bt as c,en as l,on as u}from"./App-BZuSv1XM.js";import{t as d}from"./HtmlVisual-CH0tb3fv.js";import{S as f,t as p,x as m}from"./MainPane-DDO6diPt.js";var h=r(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),g=e(t(),1),_=n();function v({active:e,onBounds:t}){let n=(0,g.useRef)(null),r=(0,g.useRef)(null),i=(0,g.useRef)(null),a=(0,g.useCallback)(e=>{let n=e?`${e.x}:${e.y}:${e.width}:${e.height}`:`null`;r.current!==n&&(r.current=n,t(e))},[t]),o=(0,g.useCallback)(()=>{let t=n.current;if(!e||!t){a(null);return}let r=t.getBoundingClientRect(),i=Math.max(0,Math.round(r.width)),o=Math.max(0,Math.round(r.height));a(i===0||o===0?null:{x:Math.round(r.left),y:Math.round(r.top),width:i,height:o})},[e,a]),s=(0,g.useCallback)(()=>{i.current===null&&(i.current=window.requestAnimationFrame(()=>{i.current=null,o()}))},[o]);return(0,g.useLayoutEffect)(()=>{r.current=null,o();let t=n.current;if(!e||!t)return a(null),()=>a(null);let c=new ResizeObserver(s);return c.observe(t),window.addEventListener(`resize`,s),window.addEventListener(`scroll`,s,!0),()=>{i.current!==null&&(window.cancelAnimationFrame(i.current),i.current=null),c.disconnect(),window.removeEventListener(`resize`,s),window.removeEventListener(`scroll`,s,!0),a(null)}},[e,a,o,s]),(0,_.jsx)(`div`,{className:`browser-viewport`,ref:n,hidden:!e})}function y({available:e,busy:t,onCapture:n,onCancel:r}){let[i,a]=(0,g.useState)(!1),s=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(!i)return;let e=e=>{s.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return window.addEventListener(`pointerdown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`keydown`,t)}},[i]),(0,_.jsxs)(`div`,{className:`browser-menu-anchor`,ref:s,children:[(0,_.jsx)(`button`,{type:`button`,title:t?`Cancel snapshot`:`Take snapshot`,"aria-label":t?`Cancel snapshot`:`Take snapshot`,disabled:!e&&!t,"aria-haspopup":t?void 0:`menu`,"aria-expanded":i,onClick:()=>t?r():a(e=>!e),children:t?(0,_.jsx)(o,{size:15}):(0,_.jsx)(h,{size:15})}),i?(0,_.jsxs)(`div`,{className:`browser-options-menu browser-snapshot-menu`,role:`menu`,"aria-label":`Snapshot options`,children:[(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`page`)},children:`Full page snapshot`}),(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`node`)},children:`Select an element…`})]}):null]})}function b({image:e,onClose:t}){let n=s(),r=e.source?.length===64e3?`HTML excerpt`:`HTML`;async function c(){let t=`${e.selector.replace(/[^a-z0-9._-]+/gi,`-`).slice(0,80)||`snapshot`}.png`;if(window.openpond?.files?.saveImage){let r=await window.openpond.files.saveImage({url:e.dataUrl,suggestedName:t});!r.ok&&!r.canceled&&n?.(r.error??`Snapshot could not be saved.`,`error`)}else{let n=document.createElement(`a`);n.href=e.dataUrl,n.download=t,n.click()}}return(0,_.jsxs)(`section`,{className:`browser-snapshot-preview`,"aria-label":`Snapshot preview`,children:[(0,_.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,_.jsxs)(`span`,{children:[e.selector,` · `,e.width,` × `,e.height]}),e.source?(0,_.jsx)(`button`,{type:`button`,"aria-label":`Copy ${r}`,title:`Copy ${r}`,onClick:()=>void i(e.source),children:(0,_.jsx)(a,{size:15})}):null,(0,_.jsx)(`button`,{type:`button`,"aria-label":`Save snapshot PNG`,title:`Save snapshot PNG`,onClick:()=>void c(),children:(0,_.jsx)(u,{size:15})}),(0,_.jsx)(`button`,{type:`button`,"aria-label":`Close snapshot`,title:`Close snapshot`,onClick:t,children:(0,_.jsx)(o,{size:15})})]}),(0,_.jsx)(`div`,{className:`browser-snapshot-image`,children:(0,_.jsx)(`img`,{src:e.dataUrl,alt:`Snapshot of ${e.selector}`})}),e.source?(0,_.jsxs)(`details`,{children:[(0,_.jsx)(`summary`,{children:r}),(0,_.jsx)(`pre`,{children:e.source})]}):null]})}function x(e,t,n,r){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),u=(0,g.useRef)(0),d=(0,g.useRef)(null),f=(0,g.useCallback)(()=>{u.current++,d.current?.(),d.current=null,a(null)},[]);return(0,g.useEffect)(()=>(s(null),l(null),f),[e,t,n,f]),(0,g.useEffect)(()=>{if(i!==`node`)return;let e=e=>{e.key===`Escape`&&f()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,f]),{busy:i,image:o,error:c,capture:(0,g.useCallback)(async i=>{f();let o=u.current;s(null),l(null),a(i);try{let a=window.openpond?.browser;if(!a)throw Error(`Snapshots are available in the desktop app.`);let c;if(n){let e=r.current;if(!e)throw Error(`Wait for the HTML page to finish loading.`);d.current=()=>e.cancel();let t=await e.capture(i);if(o!==u.current)return;c=await a.captureHtml(t)}else{if(!t)throw Error(`Open a browser page before taking a snapshot.`);let n={conversationId:e,tabId:t};d.current=()=>{a.cancelCapture(n)},c=await a.capturePage({...n,mode:i})}if(o!==u.current)return;c.ok?s(c.image):c.canceled||l(c.error)}catch(e){o===u.current&&!(e instanceof DOMException&&e.name===`AbortError`)&&l(e instanceof Error?e.message:`Snapshot failed.`)}finally{o===u.current&&(a(null),d.current=null)}},[f,e,t,n,r]),cancel:f,close:()=>s(null)}}function S({conversationId:e,expanded:t,onResizeStart:n,connection:r=null,visualTabs:i}){let a=f(e),o=s(),[u,h]=(0,g.useState)({}),S=i?.tabs.find(e=>e.publicationId===i.activeId),C=(0,g.useRef)(null),w=x(e,a.activeTab?.id??null,S?.publicationId??null,C),T=(i?.tabs??[]).map(e=>({id:e.publicationId,url:`${e.output.title}.html`,title:e.output.title,faviconUrl:null,loading:!1,canGoBack:!1,canGoForward:!1,error:null})),E=T.find(e=>e.id===S?.publicationId),D=(0,g.useCallback)(t=>{window.openpond?.browser?.setBounds({conversationId:e,bounds:t})},[e]),O=(0,g.useCallback)(e=>{i?.showBrowser(),a.open(e,{explicitFile:!0}).catch(e=>o?.(e instanceof Error?e.message:`Could not open browser.`,`error`))},[a,i,o]),k=(0,g.useCallback)(()=>{window.confirm(`Clear shared browser data? Cookies, logins, cache, and site storage will be removed for all chats. This chat's browser tabs will also close.`)&&a.clearData()},[a]);return(0,_.jsxs)(`aside`,{className:`workspace-diff-panel browser-sidebar-panel ${t?`expanded`:``} ${w.busy===`node`||w.error?`has-capture-status`:``}`,"aria-label":`Browser`,children:[!t&&(0,_.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize browser panel`,onPointerDown:n}),(0,_.jsx)(p,{activeTabId:S?.publicationId??a.state.activeTabId,tabs:[...a.state.tabs,...T],onCloseTab:e=>{T.some(t=>t.id===e)?i?.close(e):a.closeTab(e)},onNewTab:()=>{i?.showBrowser(),a.newTab()},onSelectTab:e=>{T.some(t=>t.id===e)?i?.select(e):(i?.showBrowser(),a.selectTab(e))}}),(0,_.jsx)(m,{activeTab:E??a.activeTab,documentName:E?.url,available:a.available,snapshotActions:(0,_.jsx)(y,{available:!w.image&&!!(S?window.openpond?.browser?.captureHtml:a.activeTab&&!a.activeTab.loading&&window.openpond?.browser?.capturePage),busy:!!w.busy,onCapture:e=>void w.capture(e),onCancel:w.cancel}),onBack:()=>void a.back(),onClearData:k,onForward:()=>void a.forward(),onNavigate:O,onOpenExternal:()=>void a.openExternal(),onReload:()=>{S?h(e=>({...e,[S.publicationId]:(e[S.publicationId]??0)+1})):a.reload()},onStop:()=>void a.stop()}),w.busy===`node`?(0,_.jsx)(`p`,{className:`browser-snapshot-status`,role:`status`,children:`Hover to highlight an element, then click to capture it. Press Esc to cancel.`}):null,w.error?(0,_.jsx)(c,{error:w.error}):null,(0,_.jsxs)(`div`,{className:`browser-content`,children:[w.image?(0,_.jsx)(b,{image:w.image,onClose:w.close}):null,i?.tabs.map(e=>(0,_.jsx)(`div`,{className:`browser-visual-document`,role:`tabpanel`,"aria-label":e.output.title,hidden:!!w.image||e.publicationId!==S?.publicationId,children:(0,_.jsx)(d,{visual:e,connection:r,expanded:!0,snapshotRef:e.publicationId===S?.publicationId?C:void 0},u[e.publicationId]??0)},e.publicationId)),!S&&!a.available?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Desktop browser bridge unavailable.`})]}):!S&&a.state.tabs.length===0?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Enter a URL to open a browser tab for this conversation.`})]}):null,(0,_.jsx)(v,{active:!w.image&&!S&&a.available&&a.state.tabs.length>0,onBounds:D})]})]})}export{S as BrowserSidebar};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import"./icons-CZxmQtZs.js";import{t as r}from"./createLucideIcon-Bv-_eGcE.js";import{N as i}from"./training-model-data-CxR3xpmK.js";import{t as a}from"./copy-BGOhV6Pk.js";import{t as o}from"./x-B-_zJVOZ.js";import{n as s}from"./AppToastContext-D2788RqX.js";import{Bt as c,en as l,on as u}from"./App-DmEA-Lia.js";import{t as d}from"./HtmlVisual-CCuUkYT8.js";import{S as f,t as p,x as m}from"./MainPane-WOeodByM.js";var h=r(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),g=e(t(),1),_=n();function v({active:e,onBounds:t}){let n=(0,g.useRef)(null),r=(0,g.useRef)(null),i=(0,g.useRef)(null),a=(0,g.useCallback)(e=>{let n=e?`${e.x}:${e.y}:${e.width}:${e.height}`:`null`;r.current!==n&&(r.current=n,t(e))},[t]),o=(0,g.useCallback)(()=>{let t=n.current;if(!e||!t){a(null);return}let r=t.getBoundingClientRect(),i=Math.max(0,Math.round(r.width)),o=Math.max(0,Math.round(r.height));a(i===0||o===0?null:{x:Math.round(r.left),y:Math.round(r.top),width:i,height:o})},[e,a]),s=(0,g.useCallback)(()=>{i.current===null&&(i.current=window.requestAnimationFrame(()=>{i.current=null,o()}))},[o]);return(0,g.useLayoutEffect)(()=>{r.current=null,o();let t=n.current;if(!e||!t)return a(null),()=>a(null);let c=new ResizeObserver(s);return c.observe(t),window.addEventListener(`resize`,s),window.addEventListener(`scroll`,s,!0),()=>{i.current!==null&&(window.cancelAnimationFrame(i.current),i.current=null),c.disconnect(),window.removeEventListener(`resize`,s),window.removeEventListener(`scroll`,s,!0),a(null)}},[e,a,o,s]),(0,_.jsx)(`div`,{className:`browser-viewport`,ref:n,hidden:!e})}function y({available:e,busy:t,onCapture:n,onCancel:r}){let[i,a]=(0,g.useState)(!1),s=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(!i)return;let e=e=>{s.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return window.addEventListener(`pointerdown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`keydown`,t)}},[i]),(0,_.jsxs)(`div`,{className:`browser-menu-anchor`,ref:s,children:[(0,_.jsx)(`button`,{type:`button`,title:t?`Cancel snapshot`:`Take snapshot`,"aria-label":t?`Cancel snapshot`:`Take snapshot`,disabled:!e&&!t,"aria-haspopup":t?void 0:`menu`,"aria-expanded":i,onClick:()=>t?r():a(e=>!e),children:t?(0,_.jsx)(o,{size:15}):(0,_.jsx)(h,{size:15})}),i?(0,_.jsxs)(`div`,{className:`browser-options-menu browser-snapshot-menu`,role:`menu`,"aria-label":`Snapshot options`,children:[(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`page`)},children:`Full page snapshot`}),(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`node`)},children:`Select an element…`})]}):null]})}function b({image:e,onClose:t}){let n=s(),r=e.source?.length===64e3?`HTML excerpt`:`HTML`;async function c(){let t=`${e.selector.replace(/[^a-z0-9._-]+/gi,`-`).slice(0,80)||`snapshot`}.png`;if(window.openpond?.files?.saveImage){let r=await window.openpond.files.saveImage({url:e.dataUrl,suggestedName:t});!r.ok&&!r.canceled&&n?.(r.error??`Snapshot could not be saved.`,`error`)}else{let n=document.createElement(`a`);n.href=e.dataUrl,n.download=t,n.click()}}return(0,_.jsxs)(`section`,{className:`browser-snapshot-preview`,"aria-label":`Snapshot preview`,children:[(0,_.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,_.jsxs)(`span`,{children:[e.selector,` · `,e.width,` × `,e.height]}),e.source?(0,_.jsx)(`button`,{type:`button`,"aria-label":`Copy ${r}`,title:`Copy ${r}`,onClick:()=>void i(e.source),children:(0,_.jsx)(a,{size:15})}):null,(0,_.jsx)(`button`,{type:`button`,"aria-label":`Save snapshot PNG`,title:`Save snapshot PNG`,onClick:()=>void c(),children:(0,_.jsx)(u,{size:15})}),(0,_.jsx)(`button`,{type:`button`,"aria-label":`Close snapshot`,title:`Close snapshot`,onClick:t,children:(0,_.jsx)(o,{size:15})})]}),(0,_.jsx)(`div`,{className:`browser-snapshot-image`,children:(0,_.jsx)(`img`,{src:e.dataUrl,alt:`Snapshot of ${e.selector}`})}),e.source?(0,_.jsxs)(`details`,{children:[(0,_.jsx)(`summary`,{children:r}),(0,_.jsx)(`pre`,{children:e.source})]}):null]})}function x(e,t,n,r){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),u=(0,g.useRef)(0),d=(0,g.useRef)(null),f=(0,g.useCallback)(()=>{u.current++,d.current?.(),d.current=null,a(null)},[]);return(0,g.useEffect)(()=>(s(null),l(null),f),[e,t,n,f]),(0,g.useEffect)(()=>{if(i!==`node`)return;let e=e=>{e.key===`Escape`&&f()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,f]),{busy:i,image:o,error:c,capture:(0,g.useCallback)(async i=>{f();let o=u.current;s(null),l(null),a(i);try{let a=window.openpond?.browser;if(!a)throw Error(`Snapshots are available in the desktop app.`);let c;if(n){let e=r.current;if(!e)throw Error(`Wait for the HTML page to finish loading.`);d.current=()=>e.cancel();let t=await e.capture(i);if(o!==u.current)return;c=await a.captureHtml(t)}else{if(!t)throw Error(`Open a browser page before taking a snapshot.`);let n={conversationId:e,tabId:t};d.current=()=>{a.cancelCapture(n)},c=await a.capturePage({...n,mode:i})}if(o!==u.current)return;c.ok?s(c.image):c.canceled||l(c.error)}catch(e){o===u.current&&!(e instanceof DOMException&&e.name===`AbortError`)&&l(e instanceof Error?e.message:`Snapshot failed.`)}finally{o===u.current&&(a(null),d.current=null)}},[f,e,t,n,r]),cancel:f,close:()=>s(null)}}function S({conversationId:e,expanded:t,onResizeStart:n,connection:r=null,visualTabs:i}){let a=f(e),o=s(),[u,h]=(0,g.useState)({}),S=i?.tabs.find(e=>e.publicationId===i.activeId),C=(0,g.useRef)(null),w=x(e,a.activeTab?.id??null,S?.publicationId??null,C),T=(i?.tabs??[]).map(e=>({id:e.publicationId,url:`${e.output.title}.html`,title:e.output.title,faviconUrl:null,loading:!1,canGoBack:!1,canGoForward:!1,error:null})),E=T.find(e=>e.id===S?.publicationId),D=(0,g.useCallback)(t=>{window.openpond?.browser?.setBounds({conversationId:e,bounds:t})},[e]),O=(0,g.useCallback)(e=>{i?.showBrowser(),a.open(e,{explicitFile:!0}).catch(e=>o?.(e instanceof Error?e.message:`Could not open browser.`,`error`))},[a,i,o]),k=(0,g.useCallback)(()=>{window.confirm(`Clear shared browser data? Cookies, logins, cache, and site storage will be removed for all chats. This chat's browser tabs will also close.`)&&a.clearData()},[a]);return(0,_.jsxs)(`aside`,{className:`workspace-diff-panel browser-sidebar-panel ${t?`expanded`:``} ${w.busy===`node`||w.error?`has-capture-status`:``}`,"aria-label":`Browser`,children:[!t&&(0,_.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize browser panel`,onPointerDown:n}),(0,_.jsx)(p,{activeTabId:S?.publicationId??a.state.activeTabId,tabs:[...a.state.tabs,...T],onCloseTab:e=>{T.some(t=>t.id===e)?i?.close(e):a.closeTab(e)},onNewTab:()=>{i?.showBrowser(),a.newTab()},onSelectTab:e=>{T.some(t=>t.id===e)?i?.select(e):(i?.showBrowser(),a.selectTab(e))}}),(0,_.jsx)(m,{activeTab:E??a.activeTab,documentName:E?.url,available:a.available,snapshotActions:(0,_.jsx)(y,{available:!w.image&&!!(S?window.openpond?.browser?.captureHtml:a.activeTab&&!a.activeTab.loading&&window.openpond?.browser?.capturePage),busy:!!w.busy,onCapture:e=>void w.capture(e),onCancel:w.cancel}),onBack:()=>void a.back(),onClearData:k,onForward:()=>void a.forward(),onNavigate:O,onOpenExternal:()=>void a.openExternal(),onReload:()=>{S?h(e=>({...e,[S.publicationId]:(e[S.publicationId]??0)+1})):a.reload()},onStop:()=>void a.stop()}),w.busy===`node`?(0,_.jsx)(`p`,{className:`browser-snapshot-status`,role:`status`,children:`Hover to highlight an element, then click to capture it. Press Esc to cancel.`}):null,w.error?(0,_.jsx)(c,{error:w.error}):null,(0,_.jsxs)(`div`,{className:`browser-content`,children:[w.image?(0,_.jsx)(b,{image:w.image,onClose:w.close}):null,i?.tabs.map(e=>(0,_.jsx)(`div`,{className:`browser-visual-document`,role:`tabpanel`,"aria-label":e.output.title,hidden:!!w.image||e.publicationId!==S?.publicationId,children:(0,_.jsx)(d,{visual:e,connection:r,expanded:!0,snapshotRef:e.publicationId===S?.publicationId?C:void 0},u[e.publicationId]??0)},e.publicationId)),!S&&!a.available?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Desktop browser bridge unavailable.`})]}):!S&&a.state.tabs.length===0?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Enter a URL to open a browser tab for this conversation.`})]}):null,(0,_.jsx)(v,{active:!w.image&&!S&&a.available&&a.state.tabs.length>0,onBounds:D})]})]})}export{S as BrowserSidebar};